TypeScript 7.0 Beta जारी
(devblogs.microsoft.com)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 फिर से
typescriptpackage औरtscentrypoint के रूप में वितरित किया जाएगा
TypeScript 6.0 के साथ समानांतर उपयोग
- 7.0 Beta को
@typescript/native-preview+tsgoके रूप में उपलब्ध कराया गया है - मौजूदा
tscऔरtsgoको साथ-साथ चलाकर तुलना की जा सकती है - stable version में TS7 फिर से
tscनाम का उपयोग करेगा - TS6 compatibility के लिए
@typescript/typescript6package भी उपलब्ध है - 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 की संख्या नियंत्रित करने के लिए
--checkersoption जोड़ा गया - project reference build को parallel करने के लिए
--buildersoption जोड़ा गया - single-threaded execution के लिए
--singleThreadedoption जोड़ा गया - बड़े 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
--watchimplementation आने वाली है - JS files के declaration emit parity पर काम किया जाएगा
- editor feature gap को कम किया जाएगा
- stable programmatic API, TypeScript 7.1 के बाद आएगी
- TypeScript 7.0 stable version का लक्ष्य लगभग 2 महीने के भीतर है
- RC उसके कुछ हफ्ते पहले जारी किया जाएगा
अभी कोई टिप्पणी नहीं है.