Handlebars.js: استخدم yargs بدلاً من المتفائل المهمل في الإصدار 4.x.

تم إنشاؤها على ٦ مارس ٢٠٢٠  ·  7تعليقات  ·  مصدر: handlebars-lang/handlebars.js

قبل تقديم المشكلات ، يرجى التحقق من النقاط التالية أولاً:

نحن نستخدم أحدث handlebars 4.7.3 ، لكننا لاحظنا أنه تم إهمال إحدى التبعيات optimist . هناك تذكرة للتبديل إلى yargs بدلاً من ذلك (https://github.com/wycats/handlebars.js/issues/1179) وتم إغلاقه مع العلاقات العامة المدمجة (https://github.com/ wycats / handlebars.js / pull / 1180). ومع ذلك ، فإن العلاقات العامة المدمجة ليست في الإصدار 4.x بعد. الرجاء إصلاح هذا في الإصدار 4.x.

التعليق الأكثر فائدة

حسنًا ، أعتقد أنه يمكننا أن نجربها. يبدو أن واجهة برمجة تطبيقات yargs تشبه واجهة برمجة التطبيقات المتفائلة. هل يريد أي شخص إنشاء علاقات عامة لـ 4.x؟

سأشعر بتحسن حقًا إذا كان هناك المزيد من الاختبارات التي تتحقق من أن CLI لا تزال تعمل بنفس الطريقة بعد الترحيل.

يوجد حاليا واحد فقط هنا . سيكون من الرائع إجراء بعض الاختبارات باستخدام معلمات مختلفة.

قم بإنشاء بعض الاختبارات ، وتحقق من أنها تعمل مع المتفائلين ، ثم انتقل إلى yargs ومعرفة ما إذا كانت لا تزال تعمل.

هل يمكن لأي شخص أن يفعل ذلك؟

ال 7 كومينتر

أعتقد أنه قد يكسر cli ، لذلك أفضل عدم التحديث في فرع 4.x.

أعمل أحيانًا على 5.0 في الماجستير ، ولكن نظرًا لأن هذا كله عمل تطوعي ولدي الكثير من الواجبات الأخرى ، لا يمكنني معرفة متى سيكون جاهزًا.

الانتقال من optimist إلى minimist أو yargs سيسمح أيضًا بالتخفيف بسهولة من ثغرة الأمان SNYK-JS-MINIMIST-559764 (التي تتطلب [email protected] ، والتي لا تناسب optimist الصورة مجموعة semver من minimist@~0.0.1 ).

سيكون هذا شيئًا أتخيله أن المقاود تريد الرجوع إلى فرع 4.x.

البديل الذي اقترحته هو تخفيف التبعيات في optimist ، ولكن نظرًا لأنه تم إهمالها ، أعتقد أن هناك فرصة كبيرة لعدم تلقي أي إصلاحات بعد الآن:

https://github.com/substack/node-optimist/pull/150


تحرير: الحل البديل أدناه ، باستخدام الغزل: https://github.com/wycats/handlebars.js/issues/1658#issuecomment -603768912

حسنًا ، أعتقد أنه يمكننا أن نجربها. يبدو أن واجهة برمجة تطبيقات yargs تشبه واجهة برمجة التطبيقات المتفائلة. هل يريد أي شخص إنشاء علاقات عامة لـ 4.x؟

سأشعر بتحسن حقًا إذا كان هناك المزيد من الاختبارات التي تتحقق من أن CLI لا تزال تعمل بنفس الطريقة بعد الترحيل.

يوجد حاليا واحد فقط هنا . سيكون من الرائع إجراء بعض الاختبارات باستخدام معلمات مختلفة.

قم بإنشاء بعض الاختبارات ، وتحقق من أنها تعمل مع المتفائلين ، ثم انتقل إلى yargs ومعرفة ما إذا كانت لا تزال تعمل.

هل يمكن لأي شخص أن يفعل ذلك؟

إذا كنت تستخدم Yarn ، فإليك الحل الآن حتى يتم إصلاح ذلك (ربما باستخدام # 1662):

أضف الدقة التالية إلى package.json وقم بتشغيل yarn .

  "resolutions": {
    "**/optimist/minimist": "0.2.1"
  }

سيؤدي هذا إلى إجبار جميع إصدارات optimist على استخدام [email protected] ، بغض النظر عن الحزمة التي تعتمد على optimist .

أحدث إصدار optimist (0.6.1 ، تم إصداره منذ 6 سنوات) يعتمد على نطاق إصدار ضعيف من minimist والذي يتسبب في أخطاء npm audit في المشاريع التي تعتمد على handlebars بشكل مباشر أو غير مباشر. إزالة optimist سيكون موضع تقدير كبير ، شكرا لك!

انظر # 1661

صدر في 4.7.4

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات