Даступны пакетны мэнэджар NPM 7.0

Апублікаваны выпуск пакетнага мэнэджэра НПМ 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

Дадаць каментар