Im NPM-Repository gibt es erneut einen weitreichenden Ausfall von Projekten aufgrund von Problemen in einer neuen Version eines beliebten Pakets. Die Quelle der Probleme ist die neue Version des Pakets mini-css-extract-plugin 2.5.0, das dazu dient, CSS in separate Dateien zu extrahieren. Das Paket hat mehr als 10 Millionen wöchentliche Downloads und wird als direkte AbhĂ€ngigkeit von ĂŒber 7.000 Projekten verwendet.
In der neuen Version wurden Ănderungen vorgenommen, die die AbwĂ€rtskompatibilitĂ€t beim Import der Bibliothek beeintrĂ€chtigen und zu Fehlerausgaben fĂŒhren, wenn versucht wird, die zuvor zulĂ€ssige und in der Dokumentation beschriebene Konstruktion âconst MiniCssExtractPlugin = require('mini-css-extract-plugin')â zu verwenden. Bei der Umstellung auf die neue Version musste diese durch âconst MiniCssExtractPlugin = require('mini-css-extract-plugin').defaultâ ersetzt werden.
Das Problem trat in Projekten auf, die keine explizite Bindung an die Versionsnummer bei der Einbindung von AbhĂ€ngigkeiten verwenden. Als vorĂŒbergehende Lösung wird empfohlen, die Bindung an die frĂŒhere Version 2.4.5 festzulegen, indem ââoverridesâ: {âmini-css-extract-pluginâ: â2.4.5â}â in Yarn hinzugefĂŒgt wird oder der Befehl ânpm i -D --save-exact mini-css-extract-plugin@2.4.5â in NPM verwendet wird.
Unter den Betroffenen befinden sich Nutzer des von Facebook entwickelten Pakets create-react-app, das mini-css-extract-plugin als AbhĂ€ngigkeit einbindet. Aufgrund des Fehlens einer Versionsbindung fĂŒhrten Versuche, create-react-app zu starten, zur Fehlermeldung "TypeError: MiniCssExtractPlugin is not a constructor". Auch Pakete wie @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore usw. waren betroffen.
Quelle: opennet.ru
