Yarn — менеджер пакетов для ноды — выпустили вторую версию. И, похоже, парни серьёзно вознамерились изменить статус-кво в экосистеме ноды, а то и вообще в пакетных менеджерах. Удаляйте все свои картинки про гигабайтные мамки node_modules, убирайте yarn install
из скриптов CI, мы начинаем очередную великую JavaScript-смуту. Если вкратце:
- Режим Plug'n'Play стал дефолтным, а node_modules — вторичным, через плагин.
- Сделали плагин и воркфлоу для монореп — может и lerna будет не нужна.
- Встроили свой мини-шелл, чтобы скрипты пакета без этих ваших cross-env в винде запускать.
- Добавили пролог для проверки правил между воркспейсами.
- npx опять же свой запилили.
Если вы не хотите обновлять все ваши проекты, просто запустите
yarn policies set-version ^1
(смотри legacy.yarnpkg.com/en/docs/cli/policies) в репозиториях, которые должны остаться на Yarn 1 и закомитьте результат. Тогда Yarn будет использовать локальные бинарники Yarn 1 вместо глобальных так что все в команде будут использовать одну версию!