pnpm च्या कोअर टीमने व्हर्जन 12 चे अल्फा बिल्ड रिलीज केले आहे जे नेटिव्ह Rust बायनरी म्हणून चालते. हे सध्याच्या Node-आधारित व्हर्जनपेक्षा कित्येक पटीने जलद इन्स्टॉलेशन वेळेचे आश्वासन देते. हा बदल महत्त्वाचा आहे कारण यामुळे CI जॉब्स खूप वेगाने पूर्ण होतील.

हा पुनर्लेखन (rewrite) का महत्त्वाचा आहे

pnpm आधीच content-addressable store आणि strict node_modules लेआउट वापरून npm आणि Yarn पासून स्वतःला वेगळे करते. तरीही, प्रत्येक कमांडमध्ये अजूनही Node.js प्रोसेस सुरू होते, ज्यामुळे कोणत्याही फाईल कामापूर्वी एक ठराविक स्टार्टअप खर्च (startup cost) येतो. मुख्य काम करणारा कोड Rust मध्ये हलवून, टीमने तो बूटस्ट्रॅप टप्पा काढून टाकला आहे आणि Rust ची अनेक फाईल ऑपरेशन्स समांतर (parallel) चालवण्याची क्षमता वापरली आहे, जे एखादा सिंगल JavaScript थ्रेड करू शकत नाही.

दाव्यामागचे आकडे

pnpm टीमने दिलेल्या बेंचमार्कनुसार तीन सामान्य परिस्थितींमध्ये (scenarios) वेळेत मोठी घट दिसून आली आहे:

  • Warm install (repeat run): 381 ms वरून 12 ms पर्यंत.
  • No-cache install: 460 ms वरून 40 ms पर्यंत.
  • Clean install (full dependency tree): 6.5 s वरून 2.2 s पर्यंत.

Warm installs मध्ये झालेली 30× सुधारणा थेट जलद CI जॉब्स आणि डेव्हलपर्सना अधिक वेगाने फीडबॅक मिळवून देण्यास मदत करेल.

काय सारखेच राहील

हा पुनर्लेखन (rewrite) हा केवळ पोर्टिंग आहे, रीडिझाइन नाही. सर्व विद्यमान flags, lockfile फॉरमॅट आणि strict node_modules स्ट्रक्चरमध्ये कोणताही बदल केलेला नाही. प्रोजेक्ट्स पूर्वीप्रमाणेच pnpm install वापरू शकतात; एकमेव दृश्य फरक फक्त वेगाचा असेल. सार्वजनिक API मध्ये बदल होत नसल्यामुळे, मायग्रेशन प्रक्रिया अत्यंत सोपी असेल.

आता हे कसे वापरून पाहाल

हा बदल टप्प्याटप्प्याने केला जात आहे. सध्याच्या v11 लाइनमध्ये, डेव्हलपर्स “pacquet” backend flag सक्षम करून प्रायोगिक Rust backend वापरू शकतात. v12 मध्ये, पॅकेजेस मिळवण्यासाठी आणि त्यांना वर्कस्पेसमध्ये लिंक करण्यासाठी Rust इंजिन डीफॉल्ट असेल. अल्फा रिलीज next-12 टॅग अंतर्गत प्रकाशित करण्यात आली आहे; हे अद्याप प्रोडक्शन वापरासाठी शिफारसीय नाही, परंतु ज्यांना उत्सुकता आहे ते एका कमांडने ते इन्स्टॉल करून टेस्टिंग सुरू करू शकतात.

धोके आणि संभाव्य अडचणी

API पृष्ठभाग स्वच्छ असूनही, अल्फा बायनरीमध्ये नेहमीप्रमाणे काही मर्यादा असू शकतात: मर्यादित टेस्टिंग आणि संभाव्य edge-case regressions.

व्यापक कल (trend)

pnpm चा हा निर्णय फ्रंट-एंड टूलिंगमधील वाढत्या कल दर्शवतो. Biome आणि Oxc सारख्या प्रोजेक्ट्सनी देखील डेव्हलपर वर्कफ्लोमधील काही मिलीसेकंद वाचवण्यासाठी त्यांचे मुख्य घटक (core components) कंपाईल्ड लँग्वेजेसमध्ये पुन्हा लिहिले आहेत.