NPM 7.0 надходить із автоматичним встановленням залежностей тощо

Нещодавно було анонсовано випуск нової версії менеджера пакетів NPM 7.0 , що входить до дистрибутиву Node.js та використовується для розповсюдження модулів JavaScript .

Ця нова версія NPM 7.0 постачається з робочими просторами (набором функцій у npm CLI), які забезпечують підтримку керування кількома пакетами, залежно від встановлення кількох пакетів за один крок.

З вівторковим релізом! Сьогоднішній день знаменує собою важливу подію для команди npm CLI: ми офіційно випустили [email protected]. Якщо ви слідкували за нами протягом останнього року або й довше, ви знаєте, що ми наполегливо працювали, щоб представити вам цей реліз.

Також передбачено автоматичне встановлення залежностей між вузлами (використовується в плагінах для визначення базових пакетів, з якими призначений поточний пакет, навіть якщо він не використовується безпосередньо в ньому).

Належні однорангові залежності для пакетів тепер знаходяться автоматично, оскільки раніше розробникам доводилося встановлювати їх вручну.

Залежності вузлів вказані у файлі package.json у розділі "peerDependencies". NPM 7.0 реалізує алгоритм, який гарантує, що правильно визначена залежність вузла знаходиться на рівні залежного пакета або вище нього в дереві node_modules.

Наша цілеспрямованість та рішучість перевершили останні 3 місяці, коли ми підбирали каденцію щотижневого випуску та починали розглядати помилки / коментарі під час наших бета-версій / rc.

Як я вже згадував раніше, у нас є ще багато можливостей для вдосконалення, але ми вважаємо, що кліп сьогодні знаходиться у дуже стабільному місці і готовий до використання. npm v7 буде поставлятися з Node.js v15 (PR, щоб розпочати роботу незабаром), і ми сподіваємось продовжувати темпи змін / вдосконалення, наближаючись до цього останнього кварталу року.

Крім того, представлено другу версію формату блокування (package-lock v2) та підтримку файлу блокування yarn.lock.

Формат блокування пакетів переглянуто, і тепер він, очевидно, містить усе, що потрібно npm, щоб повністю створити дерево пакетів. Поки що файли yarn.lock, очевидно, ігнорувались, оскільки V7 клієнт npm також може читати з них метадані пакету та інформацію про роздільну здатність.

Новий формат дозволяє повторювані збірки та включає все необхідне для створення повного дерева пакетів.

Крім того, згадується, що, незважаючи на масштабний ремонт внутрішніх елементів npm, команда невтомно працювала, щоб забезпечити мінімальні збої в роботі більшості робочих процесів.

Було проведено значний рефакторинг внутрішніх компонентів з метою розділення функціональності для спрощення обслуговування та підвищення надійності.

Наприклад, код для перевірки та управління деревом node_modules був переміщений в окремий модуль Arborist.

Переведено на використання поля package.exports, що унеможливлює підключення внутрішніх модулів через виклик require ().
Повністю переписаний пакет npx, який тепер використовує команду "npm exec" для запуску виконуваних файлів із пакетів.

Результат роботи команди "npm audit" суттєво змінився як при створенні у зручному для читання форматі, так і при виборі режиму "–json".

Виконувати

Нова версія тепер доступна для широкої громадськості, і ви можете швидко оновити попередню версію або повністю встановити цю нову версію.

Нарешті, важливо знати, що сховище 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

Якщо ви хочете дізнатися більше про випущену нову версію, ви можете перевірити деталі в офіційному оголошенні.

Посилання це.


Додати як пріоритетне джерело в Google