npm 7 будет поставляться с Node.js 15


Следующая версия npm, v7, завершена и будет поставляться с Node.js v15 на этой неделе. В новом выпуске добавлено несколько функций, запрошенных разработчиками, включая поддержку рабочих областей.

npm — это менеджер пакетов для JavaScript и менеджер пакетов по умолчанию для Node.js, асинхронной среды выполнения JavaScript, управляемой событиями, построенной на движке Chrome V8 JavaScript. Новый выпуск Node.js имеет ряд улучшений и дополнений и включает клиент пакета npm.

Основная цель улучшений в npm — включить инструменты, которые управляют вашими пакетами за вас. По словам команды npm, в некоторых случаях его более ранние версии:

«как бы разводят руками и заставляют вас исправлять вещи самостоятельно. Но npm — это менеджер пакетов! Он не должен заставлять вас управлять пакетами, это его работа!»

Улучшения в новом выпуске призваны преодолеть это.

Первое изменение — поддержка рабочих областей. Они добавляют набор функций к npm CLI, которые обеспечивают поддержку управления несколькими пакетами из одного корневого пакета верхнего уровня.

Второе улучшение — лучшая поддержка одноранговых зависимостей. В новом выпуске автоматически устанавливаются одноранговые зависимости: до npm 7 разработчикам требовалось управлять своими собственными одноранговыми зависимостями и устанавливать их. Новый алгоритм одноранговых зависимостей гарантирует, что корректно совпадающая одноранговая зависимость будет найдена в или выше однорангового зависимого местоположения в дереве node_modules.

Также была добавлена поддержка package-lock v2 и yarn.lock: новый формат package-lock разблокирует возможность делать детерминированно воспроизводимые сборки и включает все, что потребуется npm для полного построения дерева пакетов. До npm 7 файлы yarn.lock игнорировались, теперь npm cli может использовать yarn.lock в качестве источника метаданных пакета и руководства по разрешению.

Команда разработчиков говорит, что они знают, что npm 7 — это большое изменение, и стараются не нарушить миллионы рабочих процессов, использующих npm, особенно в производственной среде. По этой причине npm 7.0.0. не будет помечен как последний; ваши рабочие процессы не получат npm v7.0.0 по умолчанию, если вы не включите его, запустив npm install -g npm @ 7 или не установив Node.js 15.


Добавить комментарий