NPM-i hoidlas toimub taas laialdane süsteemihäire, mis on põhjustatud probleemidest ühe populaarse sõltuvuse uue versiooniga. Probleemide allikaks osutus mini-css-extract-plugin paketi 2.5.0 uus väljaanne, mis on mõeldud CSS-i eraldamiseks eraldi failidesse. Sellel paketil on üle 10 miljoni iganädalase allalaadimise ja seda kasutatakse otsese sõltuvusena enam kui 7000 projektis.
Uues versioonis tehti muudatusi, mis rikuvad tagasipöörduvat ühilduvust teegiga importimisel ja põhjustavad viga, kui proovida kasutada varem lubatud ja dokumentatsioonis kirjeldatud süntaksit „const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)“, mille uue versiooni kasutamisel tuli asendada süntaksiga „const MiniCssExtractPlugin = require(„mini-css-extract-plugin“).default“.
Probleem ilmnes projektides, mis ei rakendanud versiooniahnust sõltuvuste lisamisel. Probleemi lahendamiseks on soovitatav fikseerida sõltuvus eelmise versiooniga 2.4.5, lisades ‘”overrides”: {“mini-css-extract-plugin”: “2.4.5”}’ Yarni või kasutades käsku „npm i -D —save-exact mini-css-extract-plugin@2.4.5” NPM-is.
Vaatamata kahjustustele on ettevõtte Facebook arendatava create-react-app paketi kasutajad, mis integreerib mini-css-extract-plugin sõltuvusena, samuti mõjutatud. Mini-css-extract-plugin versiooninumbri fikseerimise puudumise tõttu lõppesid create-react-app-i käivitamisproovimised veaga „TypeError: MiniCssExtractPlugin is not a constructor“. Probleem mõjutas ka pakette @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore jne.
Allikas: opennet.ru
