rilascio del gestore di pacchetti , incluso in Node.js e utilizzato per la distribuzione di moduli in JavaScript. Il repository NPM ospita oltre 1,3 milioni di pacchetti, utilizzati da circa 12 milioni di sviluppatori. Vengono registrati circa 75 miliardi di download al mese. NPM 7.0 è stato il primo rilascio significativo, creato dopo NPM Inc di GitHub. La nuova versione sarà inclusa nella prossima versione 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».
:
- Workspace (), che consentono di aggregare in un unico pacchetto le dipendenze provenienti da più pacchetti per installarle in un solo passaggio.
- Installazione automatica (utilizzati nei plugin per identificare i pacchetti di base per cui è stato progettato l'attuale pacchetto, anche se non è utilizzato direttamente in esso). Le dipendenze peer sono indicate nel file package.json nella sezione «peerDependencies». In passato, tali dipendenze venivano installate manualmente dagli sviluppatori, ma in NPM 7.0 è stato implementato un algoritmo che garantisce che una dipendenza peer correttamente definita venga trovata a un livello o superiore del pacchetto dipendente nell'albero node_modules.
- La seconda versione del formato dei blocchi (package-lock v2) e il supporto del file di blocco yarn.lock. Il nuovo formato consente di realizzare build ripetibili e include tutto il necessario per un'installazione completa dell'albero dei pacchetti. NPM ora può anche utilizzare i file yarn.lock come fonte di metadati del pacchetto e informazioni sui blocchi.
- È stata eseguita una significativa ristrutturazione 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 implementata la transizione all'utilizzo del campo package.exports, che rende impossibile il collegamento di moduli interni tramite la chiamata a require().
- Pacchetto completamente riscritto , che ora utilizza il comando «npm exec» per eseguire file eseguibili dai pacchetti.
- Uscita della command «npm audit» significativamente modificata, sia in formato leggibile che in modalità «—json».
Fonte: opennet.ru
