Pegjs: Рабочая область пряжи

Созданный на 16 мар. 2018  ·  6Комментарии  ·  Источник: pegjs/pegjs

После 0.11 (но до 0.12 ) я планирую реорганизовать репозиторий в монорепозиторий с использованием рабочих пространств Yarn и повторно реализовать модуль pegjs в виде независимых модулей, которые в основном живут в @pegjs (с официальными грамматиками в @peg ).

Ниже приведен список модулей, которые я сейчас планирую внедрить, но он может измениться до выхода версии 0.12.

Модули

  • Обертки @pegjs/lib для последних функций ECMAScript, используемых PEG.js
  • @pegjs/util общий код, используемый в пакетах PEG.js
  • @pegjs/harness — набор модулей для упрощения тестирования PEG.js и подобных инструментов.
  • @pegjs/design библиотека функций и классов, помогающая создавать AST и спецификации
  • @pegjs/config управляет и, при необходимости, проверяет параметры, используемые PEG.js.
  • @pegjs/language ast классы, коды операций, базовый кодописатель и классы ошибок
  • @pegjs/parser анализатор грамматики PEG.js
  • Методы @pegjs/bytecode для работы с байт-кодом PEG.js
  • @pegjs/runtime среда выполнения для сгенерированного парсера
  • @pegjs/linter различные проходы, которые можно использовать для проверки источника грамматики или ast
  • @pegjs/javascript генератор кода ES5/ES20x для компилятора PEG.js
  • @pegjs/compiler запускает линтер и другие проходы перед созданием синтаксического анализатора.
  • @pegjs/core основная библиотека API
  • @pegjs/cli https://en.wikipedia.org/wiki/Command-line_interface
  • @pegjs/repl https://en.wikipedia.org/wiki/Read –eval–print_loop
  • @pegjs/выполнить #522

Интерфейсы

  • pegjs Автономный выпуск для Node.js, который указывает на последний второстепенный выпуск (например, 0.12.x )
  • @pegjs/browser версия браузера (в настоящее время пакет Bower)
  • @pegjs/x Нет плагинов, один проход, минимум опций и вариант только для скорости (вдохновлен #348)
  • @pegjs/e добавляет экспериментальные функции как в грамматику, так и в API (стенд для публичного использования).
feature task

Самый полезный комментарий

@StoneCypher Держите друга своей лошади 😆 Yarn — это просто альтернатива NPM, поэтому последующие пользователи могут иметь NPM, Yarn или многие другие, которые появляются, не беспокоясь о рабочих пространствах , потому что эта функция будет использоваться только root package.json ( "private": true ) в этом репозитории, все упомянутые выше подмодули будут независимыми модулями, опубликованными в NPM, которые разделяют разные части кода и просто облегчают жизнь мне или всем, кто разрабатывает и/или взлом компилятора PEG.js.

Кроме того, Rollup и Babel решают проблемы, отличные друг от друга и от Yarn:

  • Yarn — менеджер пакетов с поддержкой рабочей области.
  • Rollup — это такой же упаковщик, как и Browserify, только он удаляет тупиковый код.
  • Babel — транспилятор ES2018+ в ES*.

Все 6 Комментарий

означает ли это, что последующие пользователи должны переключиться на пряжу?

Пожалуйста, не перемещайте один из основных инструментов Интернета в нишевую экспериментальную стратегию сборки в другой инфраструктуре сборки, управляемой компанией, которой многие из нас не доверяют.

Пряжа умирает, а рабочие места плохо спроектированы

Большинство пользователей узлов не перейдут на пряжу вместо вас.

https://stackoverflow.com/questions/46947557/do-yarn-workspaces-work-with-npm-too

Я был бы рад помочь вам создать нормальную современную структуру сборки, которая не требует от всех переключения инструментов на материал Facebook, если вам нужна эта помощь.

Вы можете использовать rollup и babel (или любое количество других настроек), чтобы сделать простой ES5 без накладных расходов. Не требует полной новой инфраструктуры.

В процессе я мог бы добавить некоторые другие действительно важные вещи, такие как поддержка typescript и flowtype, поддержка модуля es6 и другие вещи.

@StoneCypher Держите друга своей лошади 😆 Yarn — это просто альтернатива NPM, поэтому последующие пользователи могут иметь NPM, Yarn или многие другие, которые появляются, не беспокоясь о рабочих пространствах , потому что эта функция будет использоваться только root package.json ( "private": true ) в этом репозитории, все упомянутые выше подмодули будут независимыми модулями, опубликованными в NPM, которые разделяют разные части кода и просто облегчают жизнь мне или всем, кто разрабатывает и/или взлом компилятора PEG.js.

Кроме того, Rollup и Babel решают проблемы, отличные друг от друга и от Yarn:

  • Yarn — менеджер пакетов с поддержкой рабочей области.
  • Rollup — это такой же упаковщик, как и Browserify, только он удаляет тупиковый код.
  • Babel — транспилятор ES2018+ в ES*.

пока это не заставляет меня заниматься пряжей

Итак, вы заставили меня заниматься пряжей. Несколько PR от других людей, которые вы отказались объединять, пытались вернуть его обратно, потому что yarn умирает, а инструмент низкого качества плохо работает в Windows.

yarn не имеет значения.

yarn предлагает значительный барьер — многие люди не будут устанавливать новый менеджер пакетов, чтобы помочь вам (я несколько раз отказывался, прежде чем сломаться), и многим другим людям это не разрешено из-за рабочей политики.

Поведение npm изменилось. yarn не поспевает. Поведение yarn теперь значительно отличается от ожиданий сообщества.

Кроме того, монорепозиторий не представляет никакой ценности, создает сложный дополнительный этап сборки, нарушает нормы и сбивает с толку потенциальных участников.

Все это было гораздо большим объемом работы, чем работа над функциями, которой вы не занимаетесь.

Я думаю, вы, возможно, запутались в природе моего возражения.

Это напрасная работа, из-за которой людям становится труднее присоединиться (не то чтобы это имело значение, поскольку в прошлом месяце вы сделали буквально невозможным для кого-либо вносить свой вклад в то, что вы теперь называете «вашим хобби-проектом», и ожидаете полной замены).

Это замедляет сборку и теряет новые инструменты, которые есть у npm , а у yarn нет.

Пряжа умирала в 2018 году. Сейчас 2020 год. Пряжа практически мертва.

Я не устанавливал его ни на один из моих компьютеров в течение многих лет. Мне пришлось переустановить его для вас.

Пожалуйста, пусть это снова будет нормальный проект с нормальными здоровыми шаблонами разработки, а не ваша собственная кодовая база с использованием дополнительных инструментов, которая работает без релиза три года, несмотря на чрезвычайно важные исправления кодовой базы в репозитории.

Да, я вижу, вы пытаетесь объяснить, что делает yarn , но все знают, что делает yarn .

Вы создали именно ту новую инфраструктуру, которую я просил вас не создавать два года назад, и сейчас вы выбрасываете ее именно по тем причинам, по которым я сказал, что она не будет работать.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги