Et brud på bagudkompatibilitet i en populær NPM-pakke har forårsaget fejl i forskellige projekter

I NPM-repositoriet er der igen et stort nedbrud af projekter på grund af problemer i den nye version af en af de populære afhængigheder. Kilden til problemerne var en ny udgivelse af pakken mini-css-extract-plugin 2.5.0, der er designet til at udtrække CSS til separate filer. Pakken har mere end 10 millioner ugentlige downloads og bruges som direkte afhængighed af mere end 7.000 projekter.

I den nye version er der blevet foretaget ændringer, der bryder bagudkompatibiliteten ved import af biblioteket, hvilket resulterede i fejl ved forsøg på at anvende den tidligere tilladte og dokumenterede konstruktion «const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)», som ved opgradering til den nye version skulle erstattes med «const MiniCssExtractPlugin = require(«mini-css-extract-plugin»).default».

Problemet opstod i projekter, der ikke anvender en eksplicit versionbindende forbindelse ved tilslutning af afhængigheder. Som en midlertidig løsning anbefales det at fastlåse til den tidligere version 2.4.5 ved at tilføje ‘»overrides”: {«mini-css-extract-plugin”: «2.4.5»}’ i Yarn eller ved at bruge kommandoen «npm i -D —save-exact mini-css-extract-plugin@2.4.5» i NPM.

Blandt de berørte var brugere af den pakke, som Facebook udvikler, create-react-app, som tilslutter mini-css-extract-plugin som afhængighed. På grund af manglende versionbinding af mini-css-extract-plugin resulterede forsøg på at køre create-react-app i en fejlmeddelelse: «TypeError: MiniCssExtractPlugin is not a constructor». Problemet påvirkede også pakker som @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore osv.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster