La violazione della compatibilità retroattiva in un popolare pacchetto NPM ha portato a malfunzionamenti in vari progetti

Nel repository NPM si sta verificando un altro grande malfunzionamento dei progetti a causa di problemi sorti nella nuova versione di una delle dipendenze più popolari. La fonte dei problemi è stata la nuova versione del pacchetto mini-css-extract-plugin 2.5.0, progettato per estrarre il CSS in file separati. Il pacchetto conta oltre 10 milioni di download settimanali ed è utilizzato come dipendenza diretta da più di 7.000 progetti.

Nella nuova versione sono state apportate modifiche che violano la compatibilità retroattiva durante l'importazione della libreria causando il rilascio di un errore quando si tenta di utilizzare la costruzione precedentemente consentita e descritta nella documentazione “const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)”, che con il passaggio alla nuova versione deve essere sostituita con “const MiniCssExtractPlugin = require(«mini-css-extract-plugin»).default”.

Il problema si è manifestato in progetti che non applicano un vincolo esplicito al numero di versione durante il collegamento delle dipendenze. Come soluzione temporanea, si consiglia di fissare il vincolo alla versione precedente 2.4.5 aggiungendo ‘»overrides”: {«mini-css-extract-plugin»: «2.4.5»}’ in Yarn oppure utilizzando il comando “npm i -D —save-exact mini-css-extract-plugin@2.4.5” in NPM.

Tra gli utenti colpiti ci sono gli utilizzatori del pacchetto create-react-app sviluppato da Facebook, che collega mini-css-extract-plugin come dipendenza. A causa della mancanza di vincoli sulla 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 anche interessato i pacchetti @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, ecc.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster