على مدى السنوات القليلة الماضية، كنا نبتعد عن صيغة Ember القديمة .extend({ ... }) ونتجه نحو صيغة الفئات الأصلية مثل class extends Foo {...}.
بينما لا تزال الصيغة القديمة مدعومة تقنيًا، فإن أدوات JavaScript الحديثة بما في ذلك بيئات التطوير المتكاملة، و Prettier 3.0، لا تدعم المُزخرفات في الصيغ القديمة المستندة إلى كائنات حرفية. في أحدث إصدار من تكوين التحليل الموصى به لدينا، سترى هذه الأخطاء عند استخدام الصيغة القديمة:
ESLint: error يجب استخدام فئات JavaScript الأصلية بدلاً من الفئات الكلاسيكية ember/no-classic-classes
Prettier: SyntaxError: لا يمكن استخدام المُزخرفات لتزيين خصائص الكائنات الحرفية
لذلك، إذا لم تكن قد قمت بذلك بالفعل، فقد حان الوقت لتحديث كود السمة والإضافات الخاص بك إلى الصيغة الجديدة. هناك شيئان رئيسيان لتحديثهما: تعريفات الفئات الجديدة، واستدعاءات modifyClass.
تعريفات الفئات
يمكن إنجاز الكثير من العمل باستخدام ember-native-class-codemod. من داخل مستودع السمة/الإضافة الخاص بك، قم بتشغيل:
NO_TELEMETRY=true npx ember-native-class-codemod@4.1.1 --no-classic-decorator **/*.js
سيؤدي هذا إلى تشغيل ملفاتك وتحويلها إلى صيغة الفئات الأصلية الجديدة. في بعض الأحيان سيطلب منك التدخل يدويًا. قم دائمًا بمراجعة تغييرات الكود التي يجريها - فهي ليست مثالية.
إذا كان لديك العديد من السمات/الإضافات لتحديثها، فقد تكون مهتمًا بـ برنامجنا النصي للطلبات الجماعية.
استدعاءات modifyClass
إذا كنت تستخدم المُزخرفات داخل استدعاءات modifyClass، فأنت بحاجة إلى استخدام الصيغة الجديدة المستندة إلى الفئات الأصلية. لمزيد من المعلومات حول ذلك، تحقق من التوثيق. أثناء إجراء هذه التغييرات، يرجى مراعاة القيود الموثقة.