Një ndërprerje e përputhshmërisë së prapme në një paketë popullore NPM ka shkaktuar përplasje në projekte të ndryshme.

Depoja e NPM po përjeton një tjetër ndërprerje masive të projekteve për shkak të problemeve në versionin e ri të një prej varësive të njohura. Burimi i problemeve ishte lëshimi i ri i paketës mini-css-extract-plugin 2.5.0, i krijuar për të nxjerrë CSS në skedarë të veçantë. Paketa ka më shumë se 10 milionë shkarkime javore dhe përdoret si një varësi e drejtpërdrejtë nga më shumë se 7 mijë projekte.

Në versionin e ri, u bënë ndryshime që shkelën përputhshmërinë e prapambetur gjatë importimit të bibliotekës dhe çuan në një gabim gjatë përpjekjes për të përdorur të vlefshmen dhe të përshkruar më parë në konstruksionin e dokumentacionit "const MiniCssExtractPlugin = kerkoj('mini-css-extract-plugin') ”, i cili gjatë kalimit në versionin e ri duhej të zëvendësohej me “const MiniCssExtractPlugin = kerkoj(“mini-css-extract-plugin”).default”.

Problemi u shfaq në projekte që nuk lidheshin në mënyrë eksplicite me numrin e versionit kur përfshinin varësitë. Si zgjidhje, rekomandohet të rregulloni lidhjen me versionin e mëparshëm 2.4.5 duke shtuar '"overrides": {"mini-css-extract-plugin": "2.4.5"}' në Yarn ose duke përdorur komandën " npm i -D" --save-exact [email mbrojtur]" në MKPT.

Midis viktimave ishin përdorues të paketës Cre-react-app të zhvilluar nga Facebook, e cila lidh mini-css-extract-plugin si një varësi. Për shkak të mungesës së lidhjes me numrin e versionit të mini-css-extract-plugin, përpjekjet për të nisur Cre-react-app përfunduan me gabimin "TypeError: MiniCssExtractPlugin nuk është një konstruktor". Problemi preku gjithashtu paketat @wordpress/scripts, @auth0/auth0-spa-js, sql-formatter-gui, LedgerSMB, vip-go-mu-plugins, cybros, vue-cli, chore, etj.

Burimi: opennet.ru

Shto një koment