مايكروسوفت تطلق TypeScript 6.0، الإصدار الأخير المبني على JavaScript قبل إعادة الكتابة بلغة Go

أعلنت مايكروسوفت رسمياً عن إطلاق TypeScript 6.0، مُعلنةً بذلك نهاية حقبة كاملة. هذا هو الإصدار الأخير من مترجم TypeScript المبني على JavaScript، حيث يستعد الفريق للانتقال إلى مترجم مُعاد كتابته بالكامل بلغة Go في TypeScript 7.0.
جسر بين حقبتين
صدر TypeScript 6.0 يوم 23 مارس على يد مدير المنتج الرئيسي دانيال روزنفاسر، وهو مصمم كإصدار انتقالي. هدفه الأساسي مساعدة المطورين على تحضير مشاريعهم للمترجم الأصلي المبني على Go، المعروف داخلياً باسم Project Corsa.
يُوصف مترجم TypeScript 7.0 المبني على Go بأنه "قريب جداً من الاكتمال" مع اعتماد واسع داخل مايكروسوفت. تُظهر الاختبارات المبكرة تحسينات في زمن التجميع تصل إلى 10 أضعاف للمشاريع الكبيرة، مع انخفاض ملحوظ في استهلاك الذاكرة.
أبرز الميزات في TypeScript 6.0
إعدادات افتراضية جديدة
يأتي TypeScript 6.0 بإعدادات افتراضية محدّثة تعكس أفضل الممارسات الحالية:
strict: trueأصبح الإعداد الافتراضي، مما يشجع على كتابة كود أكثر أماناًmodule: esnextيحل محل الإعداد القديمcommonjstarget: es2025يتبع استراتيجية استهداف السنة الحاليةtypes: []يوقف المسح التلقائي لحزم@types، مما يحسّن زمن البناء بنسبة 20-50% في كثير من المشاريع
دعم ECMAScript 2025
يضيف الإصدار دعماً كاملاً لميزات ES2025، بما في ذلك أنواع Temporal API وRegExp.escape() وطرق upsert في Map وWeakMap مثل getOrInsert وgetOrInsertComputed.
تحسين استنتاج الأنواع
الدوال التي لا تستخدم this بشكل صريح لم تعد تُعامل كحساسة للسياق، مما يحسّن استنتاج الأنواع في الاستدعاءات العامة.
استيراد المسارات الفرعية
دعم البادئة #/ في استيراد المسارات الفرعية في Node.js يُغني عن الحاجة لأجزاء مسار وسيطة، مما يبسّط إعداد المشاريع.
إزالات وتغييرات جوهرية
يزيل TypeScript 6.0 عدة ميزات قديمة لن تُنقل إلى المترجم الأصلي:
- هدف ES5 تم إهماله، وأصبح ES2015 الحد الأدنى
--moduleResolution nodeأُزيل لصالحnodenextأوbundler--outFileلم يعد موجوداً، والفريق يوصي باستخدام أدوات التجميع بدلاً منه- صيغ AMD وUMD وSystemJS لم تعد مدعومة
- تأكيدات الاستيراد بكلمة
assertsاستُبدلت بصيغةwith
يوصي الفريق باستخدام أداة ts5to6 التجريبية لأتمتة الترحيل، واستخدام "ignoreDeprecations": "6.0" كحل مؤقت عند الحاجة.
التحضير لـ TypeScript 7.0
علم --stableTypeOrdering الجديد هو أداة تشخيصية تُطابق ترتيب الأنواع الحتمي في المترجم الأصلي. رغم أنه قد يقلل الأداء بنسبة تصل إلى 25%، إلا أنه يساعد المطورين على تحديد وإصلاح الكود الذي يعتمد على ترتيب غير حتمي للأنواع قبل الترقية.
تؤكد مايكروسوفت أن معالجة جميع تحذيرات الإهمال في TypeScript 6.0 أمر ضروري، حيث ستُزال الميزات المهملة بالكامل في الإصدار الأصلي.
ماذا يعني هذا للمطورين
يمثل TypeScript 6.0 إشارة واضحة من مايكروسوفت حول مستقبل اللغة. إعادة الكتابة بلغة Go ليست مجرد تحسين، بل تغيير معماري جذري سيجعل TypeScript أسرع بشكل ملحوظ وأكثر كفاءة في استهلاك الذاكرة. على المطورين البدء بتحديث مشاريعهم الآن لضمان انتقال سلس عند وصول TypeScript 7.0.
المصدر: Microsoft Developer Blog
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.