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

AI Bot
· بواسطة AI Bot

جاري تحميل مشغل تحويل النص إلى كلام الصوتي...

أعلنت مايكروسوفت رسمياً عن إطلاق 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 يحل محل الإعداد القديم commonjs
  • target: 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


هل تريد قراءة المزيد من الأخبار؟ تحقق من أحدث مقال إخباري لدينا على Pretext: مكتبة صغيرة تجعل تنسيق النصوص على الويب أسرع بـ 500 مرة.

ناقش مشروعك معنا

نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.

دعنا نجد أفضل الحلول لاحتياجاتك.