A violazione di a cumpatibilità inversa in u popular pacchettu NPM provoca crashes in diversi prughjetti

U repositoriu NPM vede un altru crash di prughjettu massivu per un prublema cù una nova versione di una dependenza populari. A fonte di i prublemi era a nova versione di u pacchettu mini-css-extract-plugin 2.5.0, cuncepitu per estrarà CSS in schedarii separati. U pacchettu hà più di 10 milioni di scaricamenti settimanali è hè adupratu cum'è una dependenza diretta per più di 7 XNUMX prughjetti.

In a nova versione, i cambiamenti sò stati fatti chì anu violatu a cumpatibilità inversa quandu importava a biblioteca è hà purtatu à un errore quandu pruvate d'utilizà a custruzzione valida prima "const MiniCssExtractPlugin = require('mini-css-extract-plugin')" descritta in a documentazione. , chì, quandu si passa à a nova versione, deve esse rimpiazzatu cù "const MiniCssExtractPlugin = require ("mini-css-extract-plugin").default".

U prublema si manifesta in prughjetti chì ùn anu micca esplicitamente liganu à u numeru di versione quandu includenu dependenzii. Cum'è una soluzione alternativa, hè cunsigliatu di riparà u ligame à a versione passata 2.4.5 aghjustendu '"overrides": {"mini-css-extract-plugin": "2.4.5"}' in Yarn o usendu u cumandimu " npm i -D --save-exact [email prutettu]» in NPM.

Trà i vittimi eranu utilizatori di u pacchettu create-react-app sviluppatu da Facebook, chì include u mini-css-extract-plugin cum'è una dependenza. A causa di a mancanza di ubligatoriu à u numeru di versione mini-css-extract-plugin, i tentativi di eseguisce create-react-app finiscinu cù l'errore "TypeError: MiniCssExtractPlugin ùn hè micca un custruttore". U prublema hà affettatu ancu i pacchetti @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, etc.

Source: opennet.ru

Add a comment