выпуск пакетного менеджера , входящего в поставку Node.js и применяемого для распространения модулей на языке JavaScript. Репозиторий NPM обслуживает более 1.3 млн пакетов, которыми пользуются около 12 млн разработчиков. В месяц фиксируется около 75 миллиардов загрузок. NPM 7.0 стал первым значительным выпуском, сформированным после NPM Inc компанией GitHub. Новая версия будет включена в поставку будущего выпуска платформы , который ожидается 20 октября. Для установки NPM 7.0, не дожидаясь новой версии Node.js, можно выполнить команду «npm i -g npm@7».
:
- Рабочие области (), позволяющие агрегировать в один пакет зависимости из нескольких пакетов для их установки за один шаг.
- Автоматическая установка (используются в плагинах для определения базовых пакетов, для работы с которыми рассчитан текущий пакет, даже если он напрямую в нём не используется). Peer-зависимости указываются в файле package.json в секции «peerDependencies». Ранее подобные зависимости устанавливались разработчиками вручную, но в NPM 7.0 реализован алгоритм, гарантирующий, что корректно определённая peer-зависимость найдена на одном уровне или выше зависимого пакета в дереве node_modules.
- Вторая версия формата блокировок (package-lock v2) и поддержка файла-блокировки yarn.lock. Новый формат позволяет реализовать повторяемые сборки и включает всё, что необходимо для полной сборки дерева пакетов. NPM также теперь может использовать файлы yarn.lock в качестве источника метаданных пакета и информации о блокировках.
- Проведён значительный рефакторинг внутренних компонентов, нацеленный на разделение функциональности для упрощения сопровождения и увеличения надёжности. Например, код для инспектирования и управления деревом node_modules перемещён в отдельный модуль .
- Осуществлён переход на использование поля package.exports, который делает невозможным подключение внутренних модулей через вызов require().
- Полностью переписан пакет , который теперь использует команду «npm exec» для запуска исполняемых файлов из пакетов.
- Значительно изменён вывод команды «npm audit», как при выводе в читаемом формате, так и при выборе режима «—json».
Աղբյուր: opennet.ru
