Tagasipöördumise ühilduvuse rikkumine populaarsetes NPM-pakettides on põhjustanud tõrkeid erinevates projektides.

NPM-i hoidlas on jälgitav uus massiline tõrge projektide töödes seoses probleemide ilmnemisega ühe populaarse sõltuvuse uue versiooni tõttu. Probleemide allikaks sai paketi mini-css-extract-plugin 2.5.0 uus väljaanne, mis on mõeldud CSS-i eraldamiseks eraldi failidesse. Paketti laaditakse nädalas enam kui 10 miljonit korda ja seda kasutatakse rohkem kui 7000 projekti otse sõltuvusena.

Uues versioonis tehti muudatusi, mis rikkusid tagasitehtavust raamatukogu importimisel ning põhjustasid vea kuvamise katses kasutada varem lubatavat ja dokumentatsioonis kirjeldatud konstruktsiooni "const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)", mille uus versioon nõudis asendamist õpetusega "const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’).default".

Probleem ilmnes projektides, mis ei kasutanud selget versiooninumbri sidumist sõltuvuste ühendamisel. Probleemi lahendamiseks soovitatud ümber siduda varasema versiooniga 2.4.5, lisades ‘"overrides": {"mini-css-extract-plugin": "2.4.5"}’ Yarn-i või kasutades käsku „npm i -D --save-exact mini-css-extract-plugin@2.4.5“ NPM-is.

Facebooki arendatud create-react-app paketi kasutajad, mis ühendab mini-css-extract-plugin'i sõltuvusena, olid samuti probleemide ohvrid. Mini-css-extract-plugin'i versiooni numbri seose puudumise tõttu lõppes create-react-app'i käitamise katse veaga „TypeError: MiniCssExtractPlugin ei ole konstruktor“. 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

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster