- Node.js तकनीकी संचालन समिति (TSC) ने आधिकारिक मतदान के जरिए यह फैसला किया है कि Corepack को अब Node.js में शामिल करके वितरित नहीं किया जाएगा
- यह बदलाव Node.js 25 से लागू होगा, जबकि Node.js 24 और उससे नीचे के संस्करणों में इसे experimental feature के रूप में जारी रखा जाएगा
Corepack की भूमिका और सीमाएँ
- Corepack, Node.js 16.9.0 में पेश किया गया एक experimental tool है, जो Yarn और pnpm जैसे package manager को अलग से install किए बिना इस्तेमाल करने देता है
- यह प्रोजेक्ट में किसी खास package manager version को अनिवार्य करने में मदद करता है
- लेकिन उपयोगकर्ताओं में जागरूकता की कमी और इसके उद्देश्य को लेकर गलतफहमी के कारण इसका व्यापक उपयोग नहीं हुआ
- ऐसे package manager को Node.js में शामिल करने को लेकर भी संदेह रहा है, जिन्हें runtime से स्वतंत्र रूप से काम करना चाहिए
Corepack हटाने तक की प्रक्रिया
- Corepack के भविष्य को लेकर चर्चा कई वर्षों से चल रही थी, और नवंबर 2023 में इसे default रूप से enable करने का प्रस्ताव विवाद का कारण बना
- फरवरी 2024 में यह चिंता उठी कि Corepack का इस्तेमाल npm और Node.js के बीच के जुड़ाव को तोड़ने के साधन के रूप में किया जा सकता है
- मार्च 2024 में यह स्पष्ट किया गया कि npm आगे भी Node.js में शामिल रहेगा, लेकिन साथ ही Corepack को हटाने की संभावना भी सामने आई
- TSC ने इस फैसले को package maintenance working group (PMWG) को सौंप दिया
- PMWG ने हटाने के लिए यह roadmap पेश किया:
- Node.js download page पर nvm और fnm जैसे version management tool को प्रमुखता देना
- Corepack documentation को Node.js API documentation से अलग करके अलग repository में ले जाना
- अगली major release से Corepack को Node.js distribution से हटाना
- इस roadmap को PMWG के भीतर मजबूत समर्थन मिला और इसके बाद अंतिम मतदान हुआ
Corepack हटाने के फैसले के कारण
- कम अपनाने की दर: कई developer Corepack की बजाय अपनी पसंद के package manager को सीधे install करके इस्तेमाल करते हैं
- distribution से जुड़ी चिंताएँ: कुछ लोगों का मानना है कि Corepack का Node.js binary में शामिल होना ही अनावश्यक है
- दीर्घकालिक maintenance समस्या: Corepack के Node.js से अलग होने पर package manager अधिक स्वतंत्र रूप से विकसित हो सकेंगे
- मतदान के नतीजे में 'भविष्य में चरणबद्ध हटाने' वाला प्रस्ताव स्वीकार किया गया
- अन्य प्रस्तावों, जैसे default रूप से disabled स्थिति बनाए रखना, को पर्याप्त समर्थन नहीं मिला
- कुछ developer, जो npm के बजाय Corepack के जरिए pnpm इस्तेमाल करते थे, इस फैसले को पीछे हटना मानते हैं
- Node.js पक्ष ने जोर देकर कहा कि Corepack शुरू से ही स्थायी फीचर नहीं था और इसे अलग रखकर maintain करना अधिक उचित है
आगे क्या बदलेगा
- आगे चलकर Node.js में Corepack default रूप से शामिल नहीं होगा
- जरूरत होने पर इसे मैन्युअली इस कमांड से install करना होगा:
- Corepack इस्तेमाल करने वाले प्रोजेक्ट्स को अपने documentation और workflow अपडेट करने होंगे
- हालांकि, इस फैसले का मतलब Corepack का support समाप्त होना नहीं है, बल्कि केवल इतना है कि इसे Node.js से हटाया जाएगा
- Node.js 24.x के EOL होने तक Corepack का maintenance जारी रहेगा
Node.js और package manager का ऐतिहासिक संदर्भ
- पहले भी Node.js में क्या शामिल होना चाहिए, इस पर विवाद रहे हैं, और npm को शामिल करने का सवाल भी उनमें से एक था
- Yarn, pnpm जैसे वैकल्पिक package manager आने के बाद डेवलपर्स के पास कई विकल्प बने
- Corepack को हटाना Node.js distribution को अधिक सरल और हल्का बनाने की दिशा में एक कदम है
- यह runtime और package manager को अलग रखने की उस प्रवृत्ति से भी मेल खाता है, जो अन्य language ecosystem में देखी जा रही है
- डेवलपर्स को अब यह ध्यान में रखते हुए अपना development environment तैयार करना होगा कि भविष्य में Node.js के साथ Corepack शामिल नहीं होगा
अभी कोई टिप्पणी नहीं है.