Im NPM-Repository gibt es einen weiteren massiven Ausfall von Projekten aufgrund von Problemen in einer neuen Version eines der beliebten AbhÀngigkeiten. Die Quelle der Probleme ist die neue Version des Pakets mini-css-extract-plugin 2.5.0, das zum Extrahieren von CSS in separate Dateien gedacht ist. Das Paket hat mehr als 10 Millionen wöchentliche Downloads und wird als direkte AbhÀngigkeit in mehr als 7.000 Projekten verwendet.
In der neuen Version wurden Ănderungen vorgenommen, die die AbwĂ€rtskompatibilitĂ€t beim Import der Bibliothek verletzten und zu einem Fehler fĂŒhrten, wenn versucht wurde, die zuvor erlaubte und in der Dokumentation beschriebene Konstruktion âconst MiniCssExtractPlugin = require(âmini-css-extract-pluginâ)â zu verwenden, die beim Wechsel zur neuen Version durch âconst MiniCssExtractPlugin = require(âmini-css-extract-pluginâ).defaultâ ersetzt werden musste.
Das Problem trat in Projekten auf, die keine explizite Versionsbindung beim Einbinden von AbhĂ€ngigkeiten verwendeten. Als Workaround wird empfohlen, die Bindung an die frĂŒhere Version 2.4.5 zu fixieren, indem â»overrides»: {«mini-css-extract-plugin»: «2.4.5»}â in Yarn hinzugefĂŒgt oder der Befehl ânpm i -D âsave-exact mini-css-extract-plugin@2.4.5â in NPM verwendet wird.
Zu den Betroffenen gehören Benutzer des von Facebook entwickelten Pakets create-react-app, das mini-css-extract-plugin als AbhĂ€ngigkeit einbindet. Aufgrund der fehlenden Bindung an die Versionsnummer mini-css-extract-plugin endeten Versuche, create-react-app zu starten, mit dem Fehler âTypeError: MiniCssExtractPlugin is not a constructorâ. Das Problem betraf auch die Pakete @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore usw.
Quelle: opennet.ru
