NPM repozitorijs piedzīvo kārtējo masveida projektu pārtraukumu vienas no populārās atkarības jaunajās versijās radušos problēmu dēļ. Problēmu avots bija jaunais mini-css-extract-plugin 2.5.0 pakotnes laidiens, kas paredzēts CSS izvilkšanai atsevišķos failos. Pakotnei ir vairāk nekā 10 miljoni nedēļas lejupielāžu, un tā tiek izmantota kā tieša atkarība no vairāk nekā 7 tūkstošiem projektu.
Jaunajā versijā tika veiktas izmaiņas, kas, importējot bibliotēku, pārkāpa atpakaļejošu saderību un izraisīja kļūdu, mēģinot izmantot iepriekš derīgo un dokumentācijā aprakstīto konstrukciju “const MiniCssExtractPlugin = request('mini-css-extract-plugin') ”, kas, pārejot uz jauno versiju, bija jāaizstāj ar “const MiniCssExtractPlugin = request(“mini-css-extract-plugin”).default”.
Problēma izpaudās projektos, kas, iekļaujot atkarības, nebija tieši saistīti ar versijas numuru. Kā risinājums ir ieteicams labot saiti uz iepriekšējo versiju 2.4.5, pievienojot '"overrides": {"mini-css-extract-plugin": "2.4.5"}' Yarn vai izmantojot komandu " npm i -D" --saglabāt-precīzi [e-pasts aizsargāts]" NPM.
Starp upuriem bija Facebook izstrādātās pakotnes Create-React-app lietotāji, kas savieno mini-css-extract-plugin kā atkarību. Tā kā nav saistīšanas ar mini-css-extract-plugin versijas numuru, mēģinājumi palaist lietotni Create-react beidzās ar kļūdu “TypeError: MiniCssExtractPlugin is not a constructor”. Problēma skāra arī pakotnes @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore utt.
Avots: opennet.ru