Disponibile gestore di pacchetti NPM 7.0

pubblicato rilascio del gestore pacchetti NPM7.0, incluso con Node.js e utilizzato per distribuire moduli in JavaScript. Il repository NPM serve più di 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 creata dopo acquisto NPM Inc di GitHub. La nuova versione sarà inclusa nella fornitura di una futura versione della piattaforma Nodo.js 15, previsto per il 20 ottobre. Per installare NPM 7.0 senza attendere una nuova versione di Node.js, è possibile eseguire il comando “npm i -g npm@7”.

Chiave innovazioni:

  • Aree di lavoro (Aree di lavoro), consentendo di aggregare le dipendenze di diversi pacchetti in un unico pacchetto per installarli in un unico passaggio.
  • Installazione automatica dipendenze tra pari (utilizzato nei plugin per determinare i pacchetti base con cui è progettato per funzionare il pacchetto corrente, anche se non è utilizzato direttamente al suo interno). Le dipendenze peer sono specificate nel file package.json nella sezione "peerDependencies". In precedenza, tali dipendenze venivano installate manualmente dagli sviluppatori, ma NPM 7.0 implementa un algoritmo per garantire che una dipendenza peer definita correttamente venga trovata allo stesso livello o al di sopra del pacchetto dipendente nell'albero node_modules.
  • La seconda versione del formato di blocco (package-lock v2) e supporto per il file di blocco Yarn.lock. Il nuovo formato consente build ripetibili e include tutto il necessario per creare completamente un albero di pacchetti. NPM ora può anche utilizzare i file Yarn.lock come fonte di metadati del pacchetto e informazioni di blocco.
  • È stato effettuato un significativo refactoring dei componenti interni, volto a separare le funzionalità per semplificare la manutenzione e aumentare l'affidabilità. Ad esempio, il codice per l'ispezione e la gestione dell'albero node_modules è stato spostato in un modulo separato Arborist.
  • Siamo passati all'utilizzo del campo package.exports, che rende impossibile connettere i moduli interni tramite la chiamata require().
  • Il pacchetto è stato completamente riscritto NPX, che ora utilizza il comando "npm exec" per eseguire eseguibili dai pacchetti.
  • L'output del comando "npm audit" è stato modificato in modo significativo, sia quando l'output è in formato leggibile dall'uomo sia quando è selezionata la modalità "--json".

Fonte: opennet.ru

Aggiungi un commento