TypeScript 7.0 Beta जारी - Go native porting से TS लगभग 10 गुना तेज

  • मौजूदा TypeScript compiler का Go में port किया गया नया native implementation
  • “beta” होने के बावजूद यह इतना stable बताया गया है कि इसे रोज़मर्रा के काम और CI में तुरंत आज़माया जा सकता है
  • नया codebase rewrite नहीं है, बल्कि मौजूदा implementation का व्यवस्थित port है
  • type check logic संरचनात्मक रूप से TypeScript 6.0 के समान है
  • TypeScript 6.0 की तुलना में कई बार लगभग 10 गुना तेज performance
  • native code performance + shared memory parallelization पर आधारित
  • Microsoft के अंदर और बाहर, लाखों LOC वाले codebase में पहले से उपयोग में
  • Bloomberg, Canva, Figma, Google, Linear, Notion, Slack, Vercel आदि के साथ pre-testing
  • सिर्फ CLI नहीं, editor experience भी अधिक हल्का और तेज बनाया गया

उपयोग का तरीका

  • फिलहाल इसे अलग package के रूप में install करना होगा
    • npm install -D @typescript/native-preview@beta
  • मौजूदा tsc की जगह tsgo चलाएं
    • npx tsgo --version
  • आगे stable version फिर से typescript package और tsc entrypoint के रूप में वितरित किया जाएगा

TypeScript 6.0 के साथ समानांतर उपयोग

  • 7.0 Beta को @typescript/native-preview + tsgo के रूप में उपलब्ध कराया गया है
  • मौजूदा tsc और tsgo को साथ-साथ चलाकर तुलना की जा सकती है
  • stable version में TS7 फिर से tsc नाम का उपयोग करेगा
  • TS6 compatibility के लिए @typescript/typescript6 package भी उपलब्ध है
  • TypeScript API पर निर्भर मौजूदा tools फिलहाल TS6 API के साथ चलते रह सकते हैं

महत्वपूर्ण सीमाएँ

  • 7.0 Beta production-ready के काफ़ी करीब है, लेकिन stable programmatic API अभी उपलब्ध नहीं है
  • stable API का लक्ष्य कम से कम TypeScript 7.1 के बाद, यानी कुछ महीनों में है
  • जो tools/plugins सीधे TypeScript API पर निर्भर हैं, उन्हें migration में सावधानी रखनी होगी

Parallelization

  • parsing, type check, emit जैसी कई stages को parallel किया गया है
  • type check worker की संख्या नियंत्रित करने के लिए --checkers option जोड़ा गया
  • project reference build को parallel करने के लिए --builders option जोड़ा गया
  • single-threaded execution के लिए --singleThreaded option जोड़ा गया
  • बड़े codebase और monorepo में इसका असर अधिक है, लेकिन parallelism बढ़ाने पर memory usage भी बढ़ सकता है

TypeScript 6.0 आधारित compatibility

  • TypeScript 7.0 का लक्ष्य TypeScript 6.0 के type check/CLI behavior के साथ compatibility रखना है
  • TS6 में clean compile होने वाला code, TS7 में भी उसी तरह compile होना लक्ष्य है
  • हालांकि TS6 के नए default values और deprecated features की सफ़ाई भी साथ लागू होती है
  • strict, module, rootDir, types आदि के default बदलाव मौजूदा project में असर दिखा सकते हैं
  • खासकर rootDir और types में बदलाव migration के समय जाँचना ज़रूरी है
  • पुराने target/module settings या deprecated options इस्तेमाल करने वाले project के लिए पहले TS6 migration करना recommended है

JavaScript/JSDoc बदलाव

  • JS support को TypeScript file analysis के तरीके के साथ और अधिक consistent बनाया गया है
  • कुछ JSDoc/Closure style syntax और पुराने JS pattern की special handling हटा दी गई है
  • JS + JSDoc आधारित codebase को अलग से verify करना होगा

Editor support

  • VS Code के लिए TypeScript Native Preview extension उपलब्ध है
  • CLI की ही तरह editor में भी वही performance improvements मिलते हैं
  • auto-import, hover, inlay hints, code lens, JSX linked editing आदि supported हैं
  • LSP आधारित होने के कारण दूसरे modern editors/tools में भी इसका उपयोग आसान है

आगे की योजना

  • अधिक efficient --watch implementation आने वाली है
  • JS files के declaration emit parity पर काम किया जाएगा
  • editor feature gap को कम किया जाएगा
  • stable programmatic API, TypeScript 7.1 के बाद आएगी
  • TypeScript 7.0 stable version का लक्ष्य लगभग 2 महीने के भीतर है
  • RC उसके कुछ हफ्ते पहले जारी किया जाएगा

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

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