Az NPM-repoiban ismét tömeges leállás tapasztalható a projektekben, amely a népszerű függőség egyik legújabb verziójának problémáiból eredt. A problémák forrása a mini-css-extract-plugin 2.5.0 csomag új kiadása, amely a CSS fájlok különálló fájlokba történő kinyerésére szolgál. A csomag heti több mint 10 millió letöltéssel rendelkezik, és több mint 7 ezer projekt közvetlen függőségeként használják.
Az új verzióban olyan változtatások történtek, amelyek megsértették a visszafelé kompatibilitást a könyvtár importálásakor, és hibát okoztak a korábban engedélyezett és a dokumentációban leírt konstrukció használatakor: «const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)», amelyet az új verzióra való áttéréskor a következőre kellett cserélni: «const MiniCssExtractPlugin = require(«mini-css-extract-plugin»).default».
A probléma azokban a projektekben jelentkezett, amelyek nem alkalmazták kifejezetten a verziószámhoz való kötődést a függőségek csatlakoztatásakor. A probléma megoldására javasolták a régi 2.4.5 verzióra való visszakötést az ‘»overrides”: {«mini-css-extract-plugin»: «2.4.5»}’ kiegészítéssel a Yarn esetében, vagy a «npm i -D —save-exact mini-css-extract-plugin@2.4.5» parancs használatával az NPM-en.
A problémát megszenvedők között szerepelnek a Facebook által fejlesztett create-react-app csomag felhasználói, amely a mini-css-extract-plugin-t függőségként csatlakoztatja. A mini-css-extract-plugin verziószámához való kötődés hiánya miatt a create-react-app elindítási kísérletei a következő hibaüzenettel zárultak: «TypeError: MiniCssExtractPlugin is not a constructor». A probléma érintette a @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore és más csomagokat is.
Forrás: opennet.ru
