pnpm 10.12 (v10.12.1) एक प्रयोगात्मक वैश्विक आभासी स्टोर जोड़ता है जो निकट-तत्काल स्थानीय इंस्टॉलेशन के लिए है

pnpmJavaScriptMonoreposDevOps

मुख्य अपडेट

pnpm v10.12 (v10.12.1) एक प्रयोगात्मक "वैश्विक आभासी स्टोर" मोड प्रदान करता है जो निर्भरता सेट को उनके पूर्ण निर्भरता ग्राफ द्वारा हैश करके एक केंद्रीय स्टोर में संग्रहीत करता है और प्रोजेक्ट के node_modules को केवल उस साझा स्टोर के लिए सिम्लिंक्स में समाहित करता है। यह विभिन्न परियोजनाओं को समान निर्भरता ग्राफ़ों का पुन: उपयोग करने की अनुमति देता है बिना उन्हें स्थानीय रूप से फिर से अनपैक या पुनर्निर्माण किए, जिससे गर्म स्टोर वाले मशीनों पर निकट-तत्काल इंस्टॉलेशन होता है। सक्षम करना स्पष्ट है (pnpm-workspace.yaml में enableGlobalVirtualStore या pnpm config के माध्यम से) और यह सुविधा CI में स्वचालित रूप से अक्षम होती है जहां कैश आमतौर पर ठंडे होते हैं। (github.com)

यह क्यों महत्वपूर्ण है

उन इंजीनियरों के लिए जो कई रिपोजिटरी या बड़े मोनोरेपो का रखरखाव करते हैं, वैश्विक आभासी स्टोर स्थानीय पुनरावृत्ति की अर्थशास्त्र को बदल देता है: इंस्टॉलेशन और शाखाएँ बदलना जो पहले हजारों पैकेज फ़ाइलों को फिर से हाइड्रेट करते थे, अब ग्राफ़ों के मेल खाने पर सिम्लिंक ऑपरेशनों में कम किया जा सकता है, जिससे डेवलपर के प्रतीक्षा समय और CI गर्म-कैश लाभ में कटौती होती है। यह लंबे इंस्टॉलेशन चरणों से बचने के लिए सब कुछ कंटेनराइज करने का एक व्यावहारिक विकल्प भी है। योजना बनाने के लिए सावधानियों में सुविधा की प्रयोगात्मक स्थिति, साइड-इफेक्ट्स कैश कुंजी में परिवर्तन (पुराने कैश को अनदेखा किया जा सकता है, इसलिए एक बार पुनर्निर्माण की अपेक्षा करें), और यह तथ्य कि हार्ड लिंक और केंद्रीय स्टोर कुछ फ़ाइल सिस्टम पर विभिन्न अनुमति और भंडारण प्रभाव डालते हैं — इसलिए व्यापक रोलआउट से पहले डेवलपर छवियों पर मान्य करें। (github.com)

स्रोत

आगे पढ़ें