Nel repository NPM si è verificato un altro significativo malfunzionamento dei progetti a causa di problemi con la nuova versione di una delle dipendenze più popolari. La fonte dei problemi è stato il nuovo rilascio del pacchetto mini-css-extract-plugin 2.5.0, progettato per estrarre il CSS in file separati. Questo pacchetto conta oltre 10 milioni di download settimanali ed è utilizzato come dipendenza diretta in oltre 7.000 progetti.
Nella nuova versione sono state apportate modifiche che violano la retrocompatibilità nell'importazione della libreria e portano a un errore quando si tenta di utilizzare la precedente sintassi valida e descritta nella documentazione «const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)», che nella transizione alla nuova versione deve essere sostituita con «const MiniCssExtractPlugin = require(«mini-css-extract-plugin»).default».
Il problema si è manifestato nei progetti che non applicano un esplicito riferimento al numero di versione durante il collegamento delle dipendenze. Come soluzione alternativa, si consiglia di fissare il riferimento alla versione precedente 2.4.5 aggiungendo ‘»overrides»: {«mini-css-extract-plugin»: «2.4.5»}’ in Yarn o utilizzando il comando «npm i -D —save-exact mini-css-extract-plugin@2.4.5» in NPM.
Tra gli utenti colpiti ci sono quelli del pacchetto create-react-app sviluppato da Facebook, che collega mini-css-extract-plugin come dipendenza. A causa dell'assenza di un riferimento al numero di versione di mini-css-extract-plugin, i tentativi di avviare create-react-app terminavano con l'errore «TypeError: MiniCssExtractPlugin is not a constructor». Il problema ha colpito anche i pacchetti @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, ecc.
Fonte: opennet.ru
