قبل تقديم المشكلات ، يرجى التحقق من النقاط التالية أولاً:
نحن نستخدم أحدث 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.
أعتقد أنه قد يكسر 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
التعليق الأكثر فائدة
حسنًا ، أعتقد أنه يمكننا أن نجربها. يبدو أن واجهة برمجة تطبيقات yargs تشبه واجهة برمجة التطبيقات المتفائلة. هل يريد أي شخص إنشاء علاقات عامة لـ 4.x؟
سأشعر بتحسن حقًا إذا كان هناك المزيد من الاختبارات التي تتحقق من أن CLI لا تزال تعمل بنفس الطريقة بعد الترحيل.
يوجد حاليا واحد فقط هنا . سيكون من الرائع إجراء بعض الاختبارات باستخدام معلمات مختلفة.
قم بإنشاء بعض الاختبارات ، وتحقق من أنها تعمل مع المتفائلين ، ثم انتقل إلى yargs ومعرفة ما إذا كانت لا تزال تعمل.
هل يمكن لأي شخص أن يفعل ذلك؟