Выпущен обновленный менеджер пакетов Npm V7.0.0 | Журнал "Вольт"
Сб. Окт 31st, 2020



OpenJS Foundation, некоммерческая организация, занимающаяся разработкой языка JavaScript, объявила о выпуске npm v7.0.0, новой версии диспетчера пакетов npm. Давайте подробно поговорим о новых возможностях этой версии npm.

Новая версия менеджера появится вместе с Node.js 15.0.0 во второй половине ноября, но любой желающий может установить npm v7.0.0 прямо сейчас – для этого нужно запустить npm i -g npm@7 в вашем терминале.

Новые возможности npm v7.0.0:

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

– Автоматическая установка одноранговых зависимостей: до этой версии разработчикам приходилось управлять своими одноранговыми зависимостями и вручную устанавливать их. Новый алгоритм, по которому будут работать одноранговые зависимости, позволит вам найти соответствующие одноранговые зависимости в ветке node_modules.

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

Внутренние изменения

Разработчики переработали внутреннюю структуру npm. Например, проверка и управление деревом node_modules перенесено в модуль Arborist. Подробнее об этом изменении и его последствиях читайте в блоге npmjs.

При этом OpenJS Foundation заявил в своем заявлении, что внутренние изменения npm гарантируют, что кодовая база этого продукта станет более надежной и простой в обслуживании с течением времени. В будущем это позволит быстрее выпускать обновленные версии CLI с меньшим количеством ошибок и более быстрыми циклами итераций.

В настоящее время нет модулей, которые работают с npm 6, но не могут поддерживать npm v7.0.0, отмечает OpenJS Foundation. Несмотря на это, автоматическая установка одноранговых зависимостей может нарушить определенные рабочие процессы.

Кроме того, npm v7.0.0 использует package.exportsчто делает невозможным использование require() с внутренностями npm. Еще одно изменение – npx был полностью переписан для использования команды npm exec… Из-за этого вводятся различные функциональные изменения, наиболее заметным из которых является сообщение о том, что модуль, который вы пытаетесь запустить, еще не установлен. Вы можете прочитать о других критических изменениях в npm 7.0.0 в блоге npmjs.com.


У Hexlet есть отличный курс командной строки, и пользователи могут пройти бесплатный курс по Git.



Source link

от volt

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *