Нужен ли Lerna в рабочих пространствах NPM 7.0.0?

Нужен ли Lerna с рабочими пространствами NPM 7.0.0?

У меня действительно нет опыта работы с этой новой функцией npm.

Npm/rfcs пишет по этому поводу:

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

Также доступна альтернатива поддержки только аспекта установки (или начальной загрузки, как его называет Лерна) этого предложения, следуя менее многофункциональному подходу, но позволяющему достичь основной цели улучшения пользовательского опыта управления несколькими дочерними пакетами, но Судя по всем отзывам, собранным на этапе исследования этого RFC, эта альтернатива гораздо менее желательна для сообщества вовлеченных сопровождающих.

Рад каждому ответу и пояснению :)


person Markus Guder    schedule 19.11.2020    source источник


Ответы (1)


Вышел NPM 7, и он поддерживает рабочие пространства. они также продолжат развивать этот домен в следующих выпусках,

С учетом сказанного, lerna имеет гораздо больше высокоуровневых функций, чем рабочие пространства npm7 или yarn, кроме того, yarn заявил, что они никогда не будут пытаться заменить такие инструменты, как lerna, а намерены реализовать основную логику обработки рабочих пространств, таких как установка зависимостей дочерних пакетов и символических ссылок на пакеты. Я ожидаю, что npm сделает то же самое.

Отличным примером является команда: lerna changed, которая дает вам список пакетов, которые изменились с момента последнего выпуска с тегами, это может быть чрезвычайно полезно для CI/CD. вы можете изучить дополнительные команды, предоставляемые lerna.

Единственная команда на сегодняшний день, поддерживаемая npm7, связанная с рабочими пространствами, на самом деле npm i / npm ci, которая не нова, но она заботится о вложенных пакетах и ​​символических ссылках.

Я написал статью, в которой более подробно рассматривается конфигурация на случай, если вы захотите перейдите в монорепозиторий с помощью npm7, поэтому работа без lerna, безусловно, вариант, вам, вероятно, потребуется больше работы над Сторона CI/CD по сравнению с lerna и самостоятельно добавить несколько сценариев разработки, которые повлияют на вложенные пакеты. Также IMO lerna больше подходит для разработки библиотек, а не приложений.

person jony89    schedule 20.11.2020