مشهور NPM پيڪيج ۾ پسمانده مطابقت جي ڀڃڪڙي مختلف منصوبن ۾ حادثن جو سبب بڻجندي آهي

NPM مخزن هڪ مشهور انحصار جي نئين ورزن ۾ مسئلن جي ڪري منصوبن جي هڪ ٻي وڏي بندش جو تجربو ڪري رهيو آهي. مسئلن جو ذريعو mini-css-extract-plugin 2.5.0 پيڪيج جو نئون رليز هو، CSS کي الڳ فائلن ۾ ڪڍڻ لاءِ ٺهيل هو. پيڪيج ۾ 10 ملين کان وڌيڪ هفتيوار ڊائون لوڊ آهن ۽ 7 هزار کان وڌيڪ منصوبن تي سڌي انحصار طور استعمال ڪيو ويندو آهي.

نئين ورزن ۾، تبديليون ڪيون ويون جيڪي لئبرري کي درآمد ڪرڻ وقت پسمانده مطابقت جي خلاف ورزي ڪن ٿيون ۽ غلطي جو سبب بڻيون جڏهن استعمال ڪرڻ جي ڪوشش ڪئي اڳئين صحيح ۽ بيان ڪيل دستاويز جي تعمير ۾ بيان ڪيل “const MiniCssExtractPlugin = require('mini-css-extract-plugin') ”، جنهن کي جڏهن نئين ورزن ۾ تبديل ڪرڻ جي ضرورت آهي ته ”const MiniCssExtractPlugin = گهربل(“mini-css-extract-plugin”).default“ سان تبديل ڪيو وڃي.

مسئلو پاڻ کي پروجيڪٽ ۾ ظاهر ڪيو آهي جيڪو واضح طور تي ورزن نمبر تي پابند نه آهي جڏهن انحصار شامل آهي. ڪم ڪار جي طور تي، اڳئين ورزن 2.4.5 جي لنڪ کي درست ڪرڻ جي صلاح ڏني وئي آهي يارن ۾ '"overrides": {"mini-css-extract-plugin": "2.4.5"}' شامل ڪندي يا ڪمانڊ استعمال ڪندي " npm i -D" - محفوظ ڪريو-صحيح [ايميل محفوظ ٿيل]"NPM ۾.

متاثرين ۾ فيس بوڪ پاران ٺاهيل ري ايڪٽ-ايپ پيڪيج جا استعمال ڪندڙ هئا، جيڪو مني-سي ايس ايس-ايڪٽر-پلگ ان کي انحصار طور ڳنڍي ٿو. mini-css-extract-plugin ورجن نمبر تي پابند نه هجڻ جي ڪري، تخليق-رد عمل-ايپ لانچ ڪرڻ جي ڪوشش غلطي سان ختم ٿي وئي “TypeError: MiniCssExtractPlugin is not constructor”. مسئلو پڻ متاثر ڪيو پيڪيجز @wordpress/scripts، @auth0/auth0-spa-js، sql-formatter-gui، LedgerSMB، vip-go-mu-plugins، cybros، vue-cli، chore، وغيره.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو