До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Код

Вышел обновленный менеджер пакетов npm v7.0.0

Время чтения статьи ~2 минуты 11
Вышел обновленный менеджер пакетов npm v7.0.0 главное изображение

Некоммерческая организация 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:

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

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

— package-lock v2 и поддержка yarn.lock: новый формат package-lock откроет возможность делать детерминированно воспроизводимые сборки, а также включает в себя все, что необходимо npm для полного построения дерева пакетов. При этом до npm v7.0.0 файлы yarn.lock просто игнорировались, теперь же менеджер может использовать yarn.lock в качестве источника метаданных пакета и resolution guidance.

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

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

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

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

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


На Хекслете есть большой курс по работе с командной строкой, также пользователи могут пройти бесплатный курс по работе с Git.

Аватар пользователя Svet Ivanov
Svet Ivanov 14 октября 2020
11
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября