Перейти к содержанию

Доступен пакетный менеджер NPM 7.0

Материал из Викиновостей, свободного источника новостей

13 октября 2020 года

Опубликован выпуск пакетного менеджера NPM 7.0, входящего в поставку Node.js и применяемого для распространения модулей на языке JavaScript. Репозиторий NPM обслуживает более 1.3 млн пакетов, которыми пользуются около 12 млн разработчиков. В месяц фиксируется около 75 миллиардов загрузок. NPM 7.0 стал первым значительным выпуском, сформированным после покупки NPM Inc компанией GitHub. Новая версия будет включена в поставку будущего выпуска платформы Node.js 15, который ожидается 20 октября. Для установки NPM 7.0 не дожидаясь новой версии Node.js можно выполнить команду "npm i -g npm@7".

Ключевые новшества:

  • Рабочие области (Workspaces), позволяющие агрегировать в один пакет зависимости из нескольких пакетов для их установки за один шаг.
  • Автоматическая установка peer-зависимостей (Архивная копия от 30 октября 2020 на Wayback Machine) (используются в плагинах для определения базовых пакетов, для работы с которыми рассчитан текущий пакет, даже если он напрямую в нём не используется). Peer-зависимости указываются в файле package.json в секции "peerDependencies". Ранее подобные зависимости устанавливались разработчиками вручную, но в NPM 7.0 реализован алгоритм, гарантирующий, что корректно определённая peer-зависимость найдена на одном уровне или выше зависимого пакета в дереве node_modules.
  • Вторая версия формата блокировок (package-lock v2) и поддержка файла-блокировки yarn.lock. Новый формат позволяет реализовать повторяемые сборки и включает всё, что необходимо для полной сборки дерева пакетов. NPM также теперь может использовать файлы yarn.lock в качестве источника метаданных пакета и информации о блокировках.
  • Проведён значительный рефакторинг внутренних компонентов, нацеленный на разделение функциональности для упрощения сопровождения и увеличения надёжности. Например, код для инспектирования и управления деревом node_modules перемещён в отдельный модуль Arborist.
  • Осуществлён переход на использование поля package.exports, который делает невозможным подключение внутренних модулей через вызов require().
  • Полностью переписан пакет npx, который теперь использует команду "npm exec" для запуска исполняемых файлов из пакетов.
  • Значительно изменён вывод команды "npm audit", как при выводе в читаемом формате, так и при выборе режима "--json".

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Доступен пакетный менеджер NPM 7.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.