Наскоро беше обявено пускането на новата версия на NPM мениджъра на пакети 7.0 , включен в дистрибуцията на Node.js и използван за разпространение на JavaScript модули .
Тази нова версия на NPM 7.0 се предлага с работни пространства (набор от функции в npm CLI), които осигуряват поддръжка за управление на множество пакети, в зависимост от инсталирането им в една стъпка.
Честит вторник с изданието! Днес е важен етап за екипа на npm CLI: официално пуснахме [email protected]. Ако ни следите през последната година или по-дълго, ще знаете, че работихме усилено, за да ви представим това издание.
Предлага се и автоматично инсталиране на зависимости от peer (използва се в плъгини за определяне на базовите пакети, с които текущият пакет е проектиран да работи, дори ако не се използва директно в него).
Правилните връзки на връзки за пакети вече се намират автоматично, тъй като преди разработчиците трябваше да ги инсталират ръчно.
Зависимостите от партньори са посочени във файла 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, което прави невъзможно свързването на вътрешни модули чрез call () повикване.
Напълно пренаписан npx пакет, който сега използва командата "npm exec" за стартиране на изпълними файлове от пакети.
Изходът на командата "npm audit" се е променил значително, както когато е генериран във формат, четим от човека, така и когато е избран режимът „–json“.
Изпълнение
Новата версия вече е достъпна за широката публика и можете бързо да актуализирате предишната версия или да инсталирате напълно тази нова версия.
И накрая, важно е да се знае, че хранилището на NPM обслужва над 1,3 милиона пакета, които се използват от около 12 милиона разработчици. На месец се записват около 75 милиарда изтегляния. NPM 7.0 беше първото значително издание, създадено след закупуването на NPM Inc от GitHub.
Новата версия ще бъде доставена с бъдеща версия 15 на платформата Node.js, насрочена за 20 октомври. За да инсталирате NPM 7.0, без да чакате нова версия на Node.js, можете да изпълните следната команда във вашия терминал:
npm i -g npm@7
Ако искате да научите повече за новата версия, можете да проверите подробностите в официалното съобщение.