verzia balíkového manažéra , súčasť balíka Node.js, ktorý sa používa na distribúciu modulov v jazyku JavaScript. Repozitár NPM spravuje viac ako 1,3 milióna balíkov, ktoré využíva približne 12 miliónov vývojárov. Za mesiac sa zaznamenáva okolo 75 miliárd stiahnutí. NPM 7.0 sa stal prvým významným vydaním, ktoré bolo vytvorené po spoločnosti NPM Inc, GitHub. Nová verzia bude zahrnutá v dodávke budúceho vydania platformy , ktoré sa očakáva 20. októbra. Na inštaláciu NPM 7.0, bez čakania na novú verziu Node.js, môžete vykonať príkaz „npm i -g npm@7“.
:
- Pracovné prostredia (), ktoré umožňujú agregovať závislosti z viacerých balíkov do jedného balíka pre ich inštaláciu v jednom kroku.
- Automatická inštalácia (používajú sa v pluginách na určenie základných balíkov, s ktorými je aktuálny balík určený na prácu, aj keď sa priamo v ňom nepoužíva). Peer závislosti sú uvedené v súbore package.json v sekcii „peerDependencies“. Predtým sa takéto závislosti inštalovali ručne vývojármi, ale v NPM 7.0 bol implementovaný algoritmus, ktorý zaručuje, že správne určená peer závislosť bola nájdená na tej istej úrovni alebo vyššie v strome node_modules.
- Druhá verzia formátu zámkov (package-lock v2) a podpora súboru yarn.lock. Nový formát umožňuje realizáciu opakovateľných zostavení a obsahuje všetko, čo je potrebné na kompletnú zostavu stromu balíkov. NPM teraz môže tiež využiť súbory yarn.lock ako zdroj metadát balíka a informácií o zámkoch.
- Prebehlo významné refaktorovanie vnútorných komponentov zamerané na rozdelenie funkčnosti, aby sa zjednodušila údržba a zvýšila spoľahlivosť. Napríklad kód na inspekciu a správu stromu node_modules bol presunutý do samostatného modulu .
- Prešlo sa na používanie poľa package.exports, ktoré znemožňuje pripojenie vnútorných modulov prostredníctvom volania require().
- Celý balík , ktorý teraz používa príkaz „npm exec“ na spustenie vykonávacích súborov z balíkov.
- Výrazne sa zmenil výstup príkazu „npm audit“, ako pri výstupe v čitateľskom formáte, tak aj pri výbere režimu „—json“.
Zdroj: opennet.ru
