vydání správce balíčků , který je součástí dodávky Node.js a používá se k distribuci modulů v jazyce JavaScript. Repozitář NPM spravuje více než 1,3 milionu balíčků, které využívá přibližně 12 milionů vývojářů. Měsíčně se eviduje přibližně 75 miliard stažení. NPM 7.0 se stal prvním významným vydáním, které bylo vytvořeno po společností GitHub. Nová verze bude součástí dodávky budoucího vydání platformy , které se očekává 20. října. Pro instalaci NPM 7.0, aniž byste museli čekat na novou verzi Node.js, můžete provést příkaz „npm i -g npm@7“.
:
- Pracovní prostor (), který umožňuje agregovat závislosti z několika balíčků do jednoho balíčku pro jejich instalaci v jednom kroku.
- Automatická instalace (používaných v pluginech pro definování základních balíčků, pro které je aktuální balíček navržen, i když není přímo používán). Peer-závislosti jsou uvedeny v souboru package.json v sekci „peerDependencies“. Dříve byly takové závislosti instalovány vývojáři ručně, ale v NPM 7.0 byl implementován algoritmus, který zajišťuje, že správně definovaná peer-závislost je nalezena na stejné úrovni nebo výše závislého balíčku v hierarchii node_modules.
- Druhá verze formátu blokací (package-lock v2) a podpora souboru blokací yarn.lock. Nový formát umožňuje realizaci opakovatelných sestavení a zahrnuje vše, co je potřebné pro kompletní sestavení stromu balíčků. NPM také nyní může používat soubory yarn.lock jako zdroj metadat balíčku a informací o blokacích.
- Byl proveden významný refaktor vnitřních komponent, zaměřený na rozdělení funkcionality pro usnadnění údržby a zvýšení spolehlivosti. Například kód pro inspekci a správu stromu node_modules byl přesunut do samostatného modulu .
- Byl proveden přechod na použití pole package.exports, což znemožňuje import interních modulů prostřednictvím volání require().
- Byl kompletně přepsán balíček , který nyní používá příkaz „npm exec“ pro spuštění spustitelných souborů z balíčků.
- Výrazně se změnilo výstupní zobrazení příkazu „npm audit“, jak v čitelném formátu, tak při výběru režimu „—json“.
Zdroj: opennet.ru
