После 0.11 (но до 0.12 ) я планирую реорганизовать репозиторий в монорепозиторий с использованием рабочих пространств Yarn и повторно реализовать модуль pegjs в виде независимых модулей, которые в основном живут в @pegjs (с официальными грамматиками в @peg ).
Ниже приведен список модулей, которые я сейчас планирую внедрить, но он может измениться до выхода версии 0.12.
0.12.x
)означает ли это, что последующие пользователи должны переключиться на пряжу?
Пожалуйста, не перемещайте один из основных инструментов Интернета в нишевую экспериментальную стратегию сборки в другой инфраструктуре сборки, управляемой компанией, которой многие из нас не доверяют.
Пряжа умирает, а рабочие места плохо спроектированы
Большинство пользователей узлов не перейдут на пряжу вместо вас.
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:
пока это не заставляет меня заниматься пряжей
Итак, вы заставили меня заниматься пряжей. Несколько PR от других людей, которые вы отказались объединять, пытались вернуть его обратно, потому что yarn
умирает, а инструмент низкого качества плохо работает в Windows.
yarn
не имеет значения.
yarn
предлагает значительный барьер — многие люди не будут устанавливать новый менеджер пакетов, чтобы помочь вам (я несколько раз отказывался, прежде чем сломаться), и многим другим людям это не разрешено из-за рабочей политики.
Поведение npm
изменилось. yarn
не поспевает. Поведение yarn
теперь значительно отличается от ожиданий сообщества.
Кроме того, монорепозиторий не представляет никакой ценности, создает сложный дополнительный этап сборки, нарушает нормы и сбивает с толку потенциальных участников.
Все это было гораздо большим объемом работы, чем работа над функциями, которой вы не занимаетесь.
Я думаю, вы, возможно, запутались в природе моего возражения.
Это напрасная работа, из-за которой людям становится труднее присоединиться (не то чтобы это имело значение, поскольку в прошлом месяце вы сделали буквально невозможным для кого-либо вносить свой вклад в то, что вы теперь называете «вашим хобби-проектом», и ожидаете полной замены).
Это замедляет сборку и теряет новые инструменты, которые есть у npm
, а у yarn
нет.
Пряжа умирала в 2018 году. Сейчас 2020 год. Пряжа практически мертва.
Я не устанавливал его ни на один из моих компьютеров в течение многих лет. Мне пришлось переустановить его для вас.
Пожалуйста, пусть это снова будет нормальный проект с нормальными здоровыми шаблонами разработки, а не ваша собственная кодовая база с использованием дополнительных инструментов, которая работает без релиза три года, несмотря на чрезвычайно важные исправления кодовой базы в репозитории.
Да, я вижу, вы пытаетесь объяснить, что делает yarn
, но все знают, что делает yarn
.
Вы создали именно ту новую инфраструктуру, которую я просил вас не создавать два года назад, и сейчас вы выбрасываете ее именно по тем причинам, по которым я сказал, что она не будет работать.
Самый полезный комментарий
@StoneCypher Держите друга своей лошади 😆 Yarn — это просто альтернатива NPM, поэтому последующие пользователи могут иметь NPM, Yarn или многие другие, которые появляются, не беспокоясь о рабочих пространствах , потому что эта функция будет использоваться только root package.json (
"private": true
) в этом репозитории, все упомянутые выше подмодули будут независимыми модулями, опубликованными в NPM, которые разделяют разные части кода и просто облегчают жизнь мне или всем, кто разрабатывает и/или взлом компилятора PEG.js.Кроме того, Rollup и Babel решают проблемы, отличные друг от друга и от Yarn: