rilascio del gestore di pacchetti , inserito nella distribuzione di Node.js e utilizzato per la distribuzione di moduli in JavaScript. Il repository NPM gestisce oltre 1,3 milioni di pacchetti utilizzati da circa 12 milioni di sviluppatori. Si registrano circa 75 miliardi di download al mese. NPM 7.0 è stata la prima versione significativa rilasciata dopo di NPM Inc. da parte di GitHub. La nuova versione sarà inclusa nella distribuzione della prossima release della piattaforma , prevista per il 20 ottobre. Per installare NPM 7.0, senza attendere la nuova versione di Node.js, è possibile eseguire il comando «npm i -g npm@7».
:
- Worker spaces (), che consentono di aggregare in un'unica soluzione le dipendenze provenienti da più pacchetti per installarle in un solo passaggio.
- Installazione automatica (utilizzate nei plugin per definire i pacchetti di base con cui il pacchetto attuale è progettato per lavorare, anche se non è utilizzato direttamente). Le peer-dependencies sono indicate nel file package.json nella sezione «peerDependencies». In precedenza, tali dipendenze venivano installate manualmente dagli sviluppatori, ma in NPM 7.0 è stato implementato un algoritmo che garantisce che una peer-dependenza definita correttamente sia trovata a livello o superiore del pacchetto dipendente nell'albero node_modules.
- La seconda versione del formato di lock (package-lock v2) e il supporto per il file di lock yarn.lock. Il nuovo formato consente di realizzare build ripetibili e include tutto il necessario per una completa costruzione dell'albero dei pacchetti. NPM può ora utilizzare anche i file yarn.lock come fonte di metadati dei pacchetti e informazioni sui lock.
- È stata effettuata una significativa rifattorizzazione dei componenti interni, mirata a separare le funzionalità per semplificare la manutenzione e aumentare l'affidabilità. Ad esempio, il codice per ispezionare e gestire l'albero node_modules è stato spostato in un modulo separato .
- È stata effettuata una transizione all'uso del campo package.exports, che rende impossibile l'importazione di moduli interni attraverso la chiamata require().
- Il pacchetto , che ora utilizza il comando «npm exec» per eseguire file eseguibili dai pacchetti.
- È stata significativamente modificata l'uscita del comando «npm audit», sia nella visualizzazione in formato leggibile che nella modalità «—json».
Fonte: opennet.ru
