TypeScript के नेटिव प्रीव्यू (10x तेज़ कंपाइलर) अब व्यापक रूप से उपलब्ध

TypeScriptटूलिंगप्रदर्शन

मुख्य अपडेट

TypeScript टीम ने नेटिव TypeScript प्रीव्यू (प्रोजेक्ट कॉर्सा) की व्यापक उपलब्धता प्रकाशित की है। एक नेटिव-कंपाइल्ड कंपाइलर (जिसे @typescript/native-preview के रूप में वितरित किया गया है और जिसका निष्पादन नाम tsgo है) और एक VS कोड "TypeScript (Native Preview)" एक्सटेंशन परीक्षण के लिए उपलब्ध हैं। नेटिव पोर्ट बड़े वास्तविक-विश्व कोडबेस पर टाइप-चेकिंग के लिए लगातार ~10x स्पीडअप दिखाता है और एक LSP-आधारित भाषा सेवा और एक नया API सतह लाता है (एक नेटिव Node मॉड्यूल, libsyncrpc, के साथ सिंक IPC परिदृश्यों के लिए)। ये प्रीव्यू TypeScript 7 बनने के लिए निर्धारित हैं लेकिन आज फीचर-अपूर्ण हैं (कुछ इमिट्स और संपादक सुविधाओं की कमी है)।

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

  • वास्तविक-विश्व डेवलपर प्रभाव: बड़े मोनोरेपोज़ पर टाइप-चेक समय मिनटों से सेकंड में गिरता है (ब्लॉग एक बड़े JSX कोडबेस पर ~72s से ~6–7s तक की गिरावट का प्रदर्शन करता है)। यह सीधे स्थानीय फीडबैक लूप, CI नौकरी की अवधि, और भारी TypeScript का उपयोग करने वाली टीमों के लिए डेवलपर उत्पादकता में सुधार करता है।
  • व्यावहारिक चेतावनियाँ: नेटिव प्रीव्यू वर्तमान में कई कमांड-लाइन और संपादक सुविधाओं को छोड़ता है (उदाहरण के लिए, कुछ इमिट-संबंधित फ्लैग, --build वर्कफ़्लोज़, ऑटो-इंपोर्ट, find-all-references, और नाम बदलना अभी भी लंबित हैं)। कुछ समाधान और डाउनलेवल लक्ष्यों से संबंधित जानबूझकर संगतता भिन्नताएँ भी हैं क्योंकि टीम भविष्य के TS6/TS7 डिप्रिकेशनों पर संरेखित होती है।
  • सुरक्षित रूप से मूल्यांकन कैसे करें: गैर-आवश्यक शाखाओं में प्रीव्यू का प्रयास करें और टाइप-चेक और CI समय दोनों को मापें। --noEmit जांच के लिए tsgo चलाने के लिए npm प्रीव्यू पैकेज का उपयोग करें, और यदि आप संपादक की प्रतिक्रियाशीलता का मूल्यांकन करना चाहते हैं तो VS कोड प्रीव्यू एक्सटेंशन स्थापित करें (एक्सटेंशन को अभी भी प्रयोगात्मक होने के दौरान स्पष्ट रूप से सक्षम करना होगा)। यदि आप वर्तमान में गायब इमिट या बिल्ड सुविधाओं पर निर्भर हैं तो प्रोडक्शन बिल्ड पाइपलाइनों को प्रीव्यू पर स्विच न करें—इसके बजाय गति को मान्य करने और किसी भी टाइप-चेक भिन्नताओं को जल्दी उजागर करने के लिए इसका उपयोग करें।
  • टूलिंग और माइग्रेशन के निहितार्थ: टूल लेखकों (लिंटर्स, बंडलर्स, tsserver-आधारित एकीकरणों के नवीनीकरण) से उम्मीद करें कि वे धीरे-धीरे कॉर्सा के API को अपनाएँगे या इसके लिए पुल बनाएँगे; बड़े कोडबेस वाली टीमों को अब परीक्षण शुरू करना चाहिए, फीडबैक प्रदान करना चाहिए, और जब नेटिव कंपाइलर डिफ़ॉल्ट बन जाए तो एक क्रमिक माइग्रेशन पथ की योजना बनानी चाहिए (टीम रात्रिकालीन प्रीव्यू और अंततः मुख्य typescript पैकेज में नाम परिवर्तन की योजना बना रही है)।

स्रोत

आगे पढ़ें