Есть ли преимущества использования Lerna с рабочими пространствами Yarn? - PullRequest
0 голосов
/ 05 сентября 2018

Мы находимся в процессе миграции нашего монорепо на использование Lerna .

Lerna поддерживает как NPM, так и Yarn, а также позволяет конфигурировать использование с рабочими пространствами Yarn. Мне неясно, имеет ли рабочее пространство Lerna с Yarn какие-либо явные преимущества перед Lerna с NPM. Во многих публикациях утверждается, что Лерна делает из коробки более или менее то же самое, что и рабочие пространства пряжи.

Есть ли какие-либо преимущества в использовании Lerna с рабочими пространствами Yarn, в отличие от Lerna с NPM?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

После некоторого исследования я обнаружил следующие различия:

  1. Использование NPM приводит к созданию файла package-lock.json для каждого пакета, где при использовании Yarn создается только one в корневом каталоге проекта.
  2. Рабочие пространства пряжи, кажется, лучше поддерживают разрешение возможных конфликтов в дереве зависимостей (учитывая, что зависимости объявлены в модуле, где они используются, см. эту проблему )
0 голосов
/ 05 сентября 2018

Насколько я знаю, у NPM нет механизма, сравнимого с пряжей workspaces.

Рабочие пространства Lerna + Yarn начинают сиять при разработке библиотеки, в отличие от приложения, однако я обнаружил, что даже с приложением эта комбинация может улучшить работу локального разработчика, предоставляя такие удобства, как управление выпусками и возможность чтобы легко определять и запускать «корневые» сценарии для всех или для выбора «области» пакетов в проекте.

...