NPM aggiunge aree di lavoro per la gestione di più pacchetti

NPM 7.0.0, un aggiornamento al gestore dei pacchetti JavaScript, dovrebbe essere rilasciato questa settimana con Node.js 15, evidenziato da Workspaces.

Le aree di lavoro sono una funzionalità richiesta da tempo che offre a NPM una serie di funzionalità per gestire più pacchetti da un singolo pacchetto radice di primo livello. Guidare l'aggiunta di questa capacità è il desiderio di gestire più pacchetti che possono o non possono essere usati insieme.

Anche nella versione 7.0.0, NPM installa automaticamente le dipendenze peer. In precedenza, gli sviluppatori dovevano gestirli da soli. Un nuovo algoritmo di dipendenza peer garantisce che una dipendenza peer corrispondente in modo valido sia trovata nella posizione dipendente dal peer nell'albero node_modules o al di sopra di essa. Tieni presente che l'installazione automatica delle dipendenze peer potrebbe potenzialmente interrompere determinati flussi di lavoro.

Altre nuove funzionalità in NPM v7.0.0 includono:

  • Un nuovo formato di blocco dei pacchetti consentirà build riproducibili in modo deterministico e avrà ciò di cui NPM ha bisogno per creare l'albero dei pacchetti. L'interfaccia della riga di comando di NPM ora può utilizzare filato.lock come fonte di metadati del pacchetto e guida alla risoluzione.
  • Un refactoring degli interni di NPM, con un'enfasi sulla separazione delle preoccupazioni. Le modifiche interne hanno lo scopo di garantire che la base di codice NPM sia più affidabile nel tempo e più facile da mantenere. Con questo refactoring, l'ispezione e la gestione dell'albero node_modules è stata spostata, ad esempio, nel modulo Arborist. Si prevede che il refactoring comporterà consegne più rapide degli aggiornamenti di NPM.
  • In un cambiamento radicale, l'output di npm auditè cambiato in modo significativo sia nello stile leggibile dall'uomo che in quello di --jsonoutput.

Per provare subito NPM v7.0.0, gli sviluppatori possono installarlo eseguendolo npm i -g [email protected]sul proprio terminale. Nel tentativo di non interrompere i flussi di lavoro NPM, NPM v7.0.0 verrà distribuito nel tempo. Non sarà contrassegnato come latest. I flussi di lavoro non riceveranno NPM v7.0.0 per impostazione predefinita a meno che un utente non acceda eseguendo npm install -g [email protected]o installando Node.js 15.