सैन फ्रांसिस्को/नई दिल्ली, 12 जून 2026 (IT Samachar डेस्क): GitHub ने npm v12 में आने वाले “breaking changes” का ऐलान किया है — सबसे बड़ा बदलाव यह कि npm install अब dependencies की preinstall, install और postinstall स्क्रिप्ट्स डिफॉल्ट रूप से नहीं चलाएगा। नया वर्जन जुलाई 2026 में रिलीज़ होने का अनुमान है। मक़सद: software supply chain हमलों के सबसे बड़े रास्ते को बंद करना।
यह बदलाव दुनिया भर के Node.js डेवलपर्स के वर्कफ़्लो पर सीधा असर डालेगा — भारत की IT सर्विस कंपनियों और स्टार्टअप्स पर भी, जहाँ JavaScript सबसे ज़्यादा इस्तेमाल होने वाली भाषाओं में है। npm पर एक compromised पैकेज अब तक dependency tree में कहीं भी बैठकर डेवलपर की मशीन या CI runner पर मनमाना कोड चला सकता था। v12 इस दरवाज़े पर ताला लगाता है।
क्या-क्या बदल रहा है npm v12 में
GitHub Changelog (9 जून) के अनुसार तीन डिफॉल्ट बदल रहे हैं। पहला — allowScripts डिफॉल्ट off: dependencies की lifecycle स्क्रिप्ट्स तभी चलेंगी जब प्रोजेक्ट में उन्हें साफ़ तौर पर allow किया गया हो। इसमें native node-gyp बिल्ड भी शामिल हैं — यानी binding.gyp वाला पैकेज बिना explicit स्क्रिप्ट के भी ब्लॉक होगा, क्योंकि npm उसके लिए implicit node-gyp rebuild चलाता है। git, file और link dependencies की prepare स्क्रिप्ट्स भी इसी तरह ब्लॉक होंगी।
दूसरा — –allow-git डिफॉल्ट none: npm install अब Git dependencies (direct या transitive) resolve नहीं करेगा जब तक –allow-git से अनुमति न दी जाए। यह उस रास्ते को बंद करता है जहाँ Git dependency की .npmrc फ़ाइल –ignore-scripts के बावजूद Git executable को override कर सकती थी। तीसरा — –allow-remote डिफॉल्ट none: https tarball जैसी remote URL dependencies भी अब बिना अनुमति resolve नहीं होंगी। –allow-file और –allow-directory के डिफॉल्ट v12 में नहीं बदल रहे।
GitHub ने वजह क्या बताई
“Install-time lifecycle स्क्रिप्ट्स npm इकोसिस्टम की सबसे बड़ी code-execution surface हैं।” — GitHub, कम्युनिटी डिस्कशन में
The Hacker News की 11 जून की रिपोर्ट के अनुसार GitHub ने कहा कि npm install हर transitive dependency की स्क्रिप्ट चलाता है, इसलिए tree में कहीं भी एक compromised पैकेज डेवलपर मशीन या CI runner पर arbitrary code चला सकता है।
“Script execution को opt-in बनाना यह रास्ता बंद करता है, और भरोसेमंद पैकेज एक कमांड दूर रहते हैं।” — GitHub का आधिकारिक बयान
संदर्भ भी अहम है: बीते महीनों में npm पर supply chain हमले लगातार बढ़े हैं। हाल की Sinobi रैनसमवेयर जैसी IT सप्लाई चेन घटनाएँ दिखा चुकी हैं कि हमलावर अब डेवलपर टूलिंग को ही हथियार बना रहे हैं। GitHub इससे पहले “min-release-age” सेटिंग भी ला चुका है, जो तय दिनों से नए पब्लिश हुए पैकेज वर्जन को reject करने देती है।
डेवलपर्स को अभी क्या करना चाहिए
GitHub की सलाह साफ़ है: npm 11.16.0 या नए वर्जन पर अपग्रेड करें — सभी v12 बदलाव वहाँ warning के रूप में पहले से मौजूद हैं। सामान्य install चलाकर warnings की समीक्षा करें। फिर npm approve-scripts –allow-scripts-pending कमांड से देखें कि किन पैकेजों में स्क्रिप्ट्स हैं, भरोसेमंद पैकेजों को npm approve-scripts से अनुमति दें और बाक़ी को npm deny-scripts से ब्लॉक करें। बनने वाली allowlist package.json में लिखी जाती है और उसे commit करना चाहिए।
अपग्रेड के बाद सिर्फ़ approved स्क्रिप्ट्स चलेंगी — जो approve नहीं हुईं, वे रुक जाएँगी। यानी जो टीमें तैयारी नहीं करेंगी, उनके build जुलाई में टूट सकते हैं।
ग़ौरतलब है कि install स्क्रिप्ट्स के जायज़ इस्तेमाल भी हैं — native मॉड्यूल compile करना, प्लेटफॉर्म-specific बाइनरी डाउनलोड करना या सेटअप स्टेप चलाना। इसीलिए GitHub ने इन्हें पूरी तरह हटाने के बजाय opt-in मॉडल चुना है: जिन पैकेजों पर टीम भरोसा करती है, उन्हें एक कमांड से allow किया जा सकता है। CSO Online ने अपनी रिपोर्ट में इसे वर्षों से लंबित सुधार बताया, जिसकी माँग सिक्योरिटी रिसर्चर्स कई बड़े npm हमलों के बाद से कर रहे थे।
भारतीय IT इंडस्ट्री पर असर
भारत के लिए यह बदलाव छोटा नहीं है। TCS, Infosys जैसी सर्विस कंपनियों से लेकर हज़ारों स्टार्टअप्स तक — Node.js आधारित प्रोजेक्ट्स में CI/CD पाइपलाइनें npm install पर टिकी हैं। electron, react-native और legacy build सिस्टम वाले प्रोजेक्ट, जहाँ native मॉड्यूल (node-gyp) आम हैं, सबसे पहले प्रभावित होंगे। DevOps टीमों को जुलाई से पहले अपने internal registries, lockfiles और pipeline इमेज अपडेट करनी होंगी। दूसरी तरफ़ सुरक्षा के लिहाज़ से यह राहत है — enterprise क्लाइंट्स के ऑडिट में npm supply chain जोखिम बार-बार उठने वाला मुद्दा रहा है, और opt-in मॉडल कंप्लायंस की कहानी आसान बनाता है।
मुख्य तथ्य
- npm v12 रिलीज़ अनुमान: जुलाई 2026
- डिफॉल्ट बंद: dependency की preinstall/install/postinstall स्क्रिप्ट्स, implicit node-gyp बिल्ड समेत
- नए डिफॉल्ट: –allow-git=none, –allow-remote=none
- तैयारी का रास्ता: npm 11.16.0+ पर warnings, फिर approve-scripts/deny-scripts से allowlist
- allowlist package.json में सेव होती है — commit करना ज़रूरी
आगे क्या?
अगले 30-90 दिनों में तीन चीज़ें देखने लायक़ होंगी। पहली — जुलाई में npm v12 की असल रिलीज़ तारीख़ और शुरुआती compatibility रिपोर्ट्स; node-red जैसे बड़े open-source प्रोजेक्ट पहले ही माइग्रेशन इश्यू खोल चुके हैं। दूसरी — pnpm और yarn की प्रतिक्रिया, जो पहले से स्क्रिप्ट-ब्लॉकिंग के अलग मॉडल अपनाते हैं — डिफॉल्ट-सिक्योर install अब इंडस्ट्री स्टैंडर्ड बनता दिख रहा है। तीसरी — GitHub की community discussion (#198547) में डेवलपर फ़ीडबैक, जिससे तय होगा कि v12 के डिफॉल्ट में कोई आख़िरी बदलाव होता है या नहीं।
स्रोत: GitHub Changelog, The Hacker News, BleepingComputer, CSO Online, GitHub Community Discussion #198547 (11 जून 2026 तक की रिपोर्टिंग)।





