• 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 करना होगा:
    • npm install -g corepack
  • 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 शामिल नहीं होगा

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.