Available ang manager ng package ng NPM 7.0

Nai-publish paglabas ng manager ng package NPM 7.0, kasama sa Node.js at ginamit upang ipamahagi ang mga module sa JavaScript. Ang repositoryo ng NPM ay naghahatid ng higit sa 1.3 milyong mga pakete, na ginagamit ng humigit-kumulang 12 milyong mga developer. Humigit-kumulang 75 bilyong pag-download ang naitala bawat buwan. Ang NPM 7.0 ay ang unang makabuluhang release na nabuo pagkatapos pamimili NPM Inc ng GitHub. Ang bagong bersyon ay isasama sa paghahatid ng hinaharap na paglabas ng platform Node.js 15, na inaasahang sa Oktubre 20. Upang i-install ang NPM 7.0 nang hindi naghihintay ng bagong bersyon ng Node.js, maaari mong patakbuhin ang command na β€œnpm i -g npm@7”.

Susi mga inobasyon:

  • Mga workspace (Mga Workspace), na nagpapahintulot sa iyo na pagsama-samahin ang mga dependency mula sa ilang mga pakete sa isang pakete upang mai-install ang mga ito sa isang hakbang.
  • Awtomatikong pag-install peer dependencies (ginagamit sa mga plugin upang matukoy ang mga base package na idinisenyo upang gumana ang kasalukuyang package, kahit na hindi ito direktang ginagamit dito). Ang mga peer dependency ay tinukoy sa package.json file sa seksyong "peerDependencies". Dati, ang mga naturang dependency ay manu-manong na-install ng mga developer, ngunit ang NPM 7.0 ay nagpapatupad ng isang algorithm upang matiyak na ang isang wastong tinukoy na peer dependency ay matatagpuan sa parehong antas o sa itaas ng dependent package sa node_modules tree.
  • Ang pangalawang bersyon ng format ng lock (package-lock v2) at suporta para sa yarn.lock lock file. Ang bagong format ay nagbibigay-daan para sa mga paulit-ulit na build at kasama ang lahat ng kailangan para ganap na makabuo ng package tree. Maaari na ring gamitin ng NPM ang mga yarn.lock file bilang pinagmumulan ng metadata ng package at impormasyon sa pag-lock.
  • Ang makabuluhang refactoring ng mga panloob na bahagi ay isinagawa, na naglalayong paghiwalayin ang pag-andar upang gawing simple ang pagpapanatili at dagdagan ang pagiging maaasahan. Halimbawa, ang code para sa pag-inspeksyon at pamamahala ng node_modules tree ay inilipat sa isang hiwalay na module Arborist.
  • Lumipat kami sa paggamit ng field na package.exports, na ginagawang imposibleng ikonekta ang mga panloob na module sa pamamagitan ng require() na tawag.
  • Ang pakete ay ganap na muling isinulat npx, na ngayon ay gumagamit ng command na "npm exec" upang magpatakbo ng mga executable mula sa mga package.
  • Ang output ng command na "npm audit" ay makabuluhang nabago, parehong kapag ang output sa format na nababasa ng tao at kapag napili ang "--json" mode.

Pinagmulan: opennet.ru

Magdagdag ng komento