تم إطلاق TypeScript 5.0: ما يحتاج المطور معرفته
قدم فريق TypeScript إصدار الإصدار 5.0 - أول تحديث رئيسي في نظام الترقيم الجديد. بدلاً من الإصدارات 4.x المعتادة، قرر المطورون الانتقال إلى 5.0، للتأكيد على حجم التغييرات الداخلية. جلب الإصدار الجديد العديد من الميزات المنتظرة، بالإضافة إلى تسريع عمل المترجم بشكل كبير. سنستعرض التغييرات الرئيسية التي تستحق التنفيذ في مشاريعك اليوم.
الميزات الجديدة الرئيسية في TypeScript 5.0
- المزينات (المتوافقة مع ECMAScript) - يدعم TypeScript الآن المزينات القياسية المتوافقة مع اقتراح TC39. تبقى المزينات التجريبية القديمة للتوافق مع الإصدارات السابقة، لكن يُوصى للمشاريع الجديدة بالانتقال إلى الصيغة الجديدة.
- const type parameters - أصبح من الممكن تعريف الأدوية (Generics) باستخدام المُعدّل
const. يتيح ذلك استنتاج أنواع الحرف (literals) بشكل أكثر دقة، خاصة عند العمل مع المصفوفات والمجموعات (tuples). على سبيل المثال،const tuple = <const T,>(...args: T) => argsسيحافظ على الطول الدقيق للمجموعة. - تحسين الأداء - أصبح TypeScript 5.0 أسرع بفضل تحسين هياكل البيانات الداخلية وتقليل الحمل على جامع القمامة (garbage collector). في بعض المشاريع، زادت سرعة البناء بنسبة 10-25%.
- دعم تكوينات متعددة في مشروع واحد - أصبح من الممكن الآن تحديد عدة ملفات
tsconfig.jsonفي قسمreferencesدون تكرار الإعدادات. يبسط ذلك إدارة المستودعات الأحادية (monorepos) والهياكل المعمارية للخدمات المصغرة. - تحسين العمل مع enums - جميع قيم enum أصبحت الآن اتحادات لأنواع حرفية (literal types). يحسن ذلك التحقق من الأنواع والإكمال التلقائي في محررات الأكواد.
- استيرادات JSDoc - في ملفات JavaScript التي تستخدم
@typeو@param، أصبح من الممكن الآن استيراد الأنواع من ملفات أخرى عبرimport('./types').SomeType. يجعل ذلك كتابة الأنواع باستخدام JSDoc أكثر قوة بشكل ملحوظ.
ما الذي تغير في الصياغة والتوافق
لا يحتوي إصدار TypeScript 5.0 على تغييرات جذرية (breaking changes) للكود المكتوب بلغة TypeScript 4.9. ومع ذلك، يجدر الانتباه إلى عدة نقاط:
- تمت إزالة دعم النظام القديم للمزينات (إذا كنت لا تستخدم العلامة التجريبية
experimentalDecorators). - الملفات ذات الامتداد
.tsيمكنها الآن احتواء تصدير افتراضي (default export) للدوال غير المتزامنة (async functions) دون أغلفة إضافية. - تحسين التكامل مع Node.js ESM - يعالج TypeScript 5.0 الامتدادات
.mtsو.ctsبشكل صحيح.
كيفية التحديث إلى TypeScript 5.0
لا يتطلب التحديث جهوداً كبيرة. يكفي تنفيذ الأمر التالي في الطرفية (terminal):
npm install typescript@latest --save-devبعد التثبيت، يُوصى بفحص المشروع بحثاً عن الأخطاء باستخدام الأمر tsc --noEmit. إذا كنت تستخدم المزينات القديمة، أضف العلامة "experimentalDecorators": true في ملف tsconfig.json للحفاظ على التوافق.
الخاتمة
TypeScript 5.0 هو خطوة كبيرة إلى الأمام للنظام البيئي. المزينات الجديدة، const type parameters، والأداء المحسّن تجعله واحداً من أهم الإصدارات.