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

Опубліковано випуск пакетного менеджера 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".

Ключові нововведення:

  • Робочі області (Робочі області), що дозволяють агрегувати в один пакет залежно від декількох пакетів для їх встановлення за один крок.
  • Автоматична установка peer-залежностей (Використовуються в плагінах для визначення базових пакетів, для роботи з якими розрахований поточний пакет, навіть якщо він безпосередньо в ньому не використовується). Peer-залежності вказуються у файлі package.json у секції "peerDependencies". Раніше подібні залежності встановлювалися розробниками вручну, але в NPM 7.0 реалізований алгоритм, що гарантує, що коректно певна peer-залежність знайдена на одному рівні або вище за залежний пакет у дереві node_modules.
  • Друга версія формату блокувань (package-lock v2) та підтримка файлу-блокування yarn.lock. Новий формат дозволяє реалізувати повторювані збирання і включає все, що необхідно для повного збирання дерева пакетів. NPM також тепер може використовувати файли yarn.lock як джерело метаданих пакета та інформації про блокування.
  • Проведено значний рефакторинг внутрішніх компонентів, націлений на поділ функціональності для спрощення супроводу та збільшення надійності. Наприклад, код для інспектування та керування деревом node_modules переміщений в окремий модуль Арборист.
  • Здійснено перехід на використання поля package.exports, який унеможливлює підключення внутрішніх модулів через виклик require().
  • Повністю переписаний пакет npx, який тепер використовує команду npm exec для запуску виконуваних файлів з пакетів.
  • Значно змінено висновок команди «npm audit», як при виведенні в форматі, що читається, так і при виборі режиму «-json».

Джерело: opennet.ru

Додати коментар або відгук