أعتقد أن إصدارات الحزم المكتوبة بالتأكيد يجب ألا تتطابق مع إصدار الحزمة الحقيقية. على سبيل المثال ، في الوقت الذي أكتب فيه هذا العدد ، أحدث إصدار من lodash
هو '4.17.2 and the latest version of
@ types / Lodash is
4.14.43 . This probably means that the typings are for
Lodash -v4.14.43`. لذلك من المربك أننا نريد تغيير حزمة كتابة لأنه لا توجد طرق جيدة لزيادة حزمة الكتابة لأنه من المفترض أن يكون الإصدار الحقيقي من الحزمة. سيؤدي هذا إلى كسر تثبيت حزم npm في العديد من المشاريع.
أقترح أن حزم الكتابة لا تتبع الإصدارات الدقيقة للحزم الحقيقية. فمثلا:
نسخة لوداش: 4.14.43
@ أنواع / نسخة Lodash: 4.1.1
لكن في ملف d.ts ، يجب أن نكتب صراحةً إصدار حزمة Lodash المتوافقة.
كما يمكن أن يكون لدينا @types/lodash-3
إلخ للإصدار الأقدم من اللوداش
تتمثل سياسة أرقام الإصدارات في محاولة الاحتفاظ بالرقمين الأولين في سطر. @ أنواع / لوداش كونه 4.14.x يعني أنه يجب أن يعمل مع لوداش 4.14 وما فوق. يعكس الرقم الأخير تحديثات بنية الحزمة (IE: ربما قام شخص ما بعمل تعريف نوع أكثر دقة للتغييرات 4.14).
بالنظر إلى أن DT مدعوم من المجتمع ، يبدو أن أحد الأمور التالية يجب أن يكون صحيحًا:
أعتقد أنها # 2.
بالنسبة إلى @ types / Lodash-3 ، الطريقة التي يتم بها حل الوحدات ، ستحتاج إلى تنفيذ شيء مثل import * as _ from "lodash-3"
للأنواع المذكورة ليتم التقاطها.
شكرا لك على إجابتك الرائعة. يأتي هذا السؤال في ذهني لأن التحديث الأخير لطباعة اللوداش كسر الكود الخاص بي (https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c). على ما يبدو ، يجب أن نكتب المزيد من الاختبارات لطباعة اللوداش.
بالنسبة إلى السياق ، هذا الخيط الآخر يجعل الأمر يبدو كما لو أن سياسة محاولة الاحتفاظ بأرقام الإصدارات متزامنة إلى حد ما تتبعها بعض الحزم فقط.
التعليق الأكثر فائدة
تتمثل سياسة أرقام الإصدارات في محاولة الاحتفاظ بالرقمين الأولين في سطر. @ أنواع / لوداش كونه 4.14.x يعني أنه يجب أن يعمل مع لوداش 4.14 وما فوق. يعكس الرقم الأخير تحديثات بنية الحزمة (IE: ربما قام شخص ما بعمل تعريف نوع أكثر دقة للتغييرات 4.14).
بالنظر إلى أن DT مدعوم من المجتمع ، يبدو أن أحد الأمور التالية يجب أن يكون صحيحًا:
أعتقد أنها # 2.
بالنسبة إلى @ types / Lodash-3 ، الطريقة التي يتم بها حل الوحدات ، ستحتاج إلى تنفيذ شيء مثل
import * as _ from "lodash-3"
للأنواع المذكورة ليتم التقاطها.