Prekinitev združljivosti za nazaj v priljubljenem paketu NPM je povzročila zrušitve v različnih projektih.

Repozitorij NPM doživlja še en velik izpad projektov zaradi težav v novi različici ene od priljubljenih odvisnosti. Vir težav je bila nova izdaja paketa mini-css-extract-plugin 2.5.0, namenjenega ekstrahiranju CSS v ločene datoteke. Paket ima več kot 10 milijonov tedenskih prenosov in se uporablja kot neposredna odvisnost pri več kot 7 tisoč projektih.

V novi različici so bile izvedene spremembe, ki so kršile združljivost za nazaj pri uvozu knjižnice in vodile do napake pri poskusu uporabe predhodno veljavne in v dokumentaciji opisane konstrukcije “const MiniCssExtractPlugin = require('mini-css-extract-plugin') «, ki ga je bilo treba ob prehodu na novo različico zamenjati z »const MiniCssExtractPlugin = require(»mini-css-extract-plugin«).default«.

Težava se je pokazala v projektih, ki se pri vključevanju odvisnosti niso izrecno vezali na številko različice. Kot rešitev je priporočljivo, da popravite povezavo do prejšnje različice 2.4.5 z dodajanjem '"overrides": {"mini-css-extract-plugin": "2.4.5"}' v Yarn ali z uporabo ukaza " npm i -D" --save-exact [e-pošta zaščitena]« v NPM.

Med žrtvami so bili uporabniki paketa create-react-app, ki ga je razvil Facebook, ki povezuje mini-css-extract-plugin kot odvisnost. Zaradi pomanjkanja vezave na številko različice vtičnika mini-css-extract-plugin so se poskusi zagona aplikacije create-react-app končali z napako »TypeError: MiniCssExtractPlugin is not a constructor«. Težava je vplivala tudi na pakete @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vtičnike vip-go-mu-plugins, cybros, vue-cli, chore itd.

Vir: opennet.ru

Dodaj komentar