كنت أبحث عن طريقة للتحقق من ملفات Handlebars في Discourse. لقد وجدت أمرًا يبدو أنه يعمل، لكنه لا يُجري أي تغييرات ولا يُظهر أي مشكلات.
yarn ember-template-lint --fix path/to/files
لست متأكدًا مما إذا كان من المفترض أن يعمل هذا الأمر في هذه المرحلة.
كنت أبحث عن طريقة للتحقق من ملفات Handlebars في Discourse. لقد وجدت أمرًا يبدو أنه يعمل، لكنه لا يُجري أي تغييرات ولا يُظهر أي مشكلات.
yarn ember-template-lint --fix path/to/files
لست متأكدًا مما إذا كان من المفترض أن يعمل هذا الأمر في هذه المرحلة.
يجب أن يكون الأمر الصحيح هو yarn ember-template-lint <dir>.
شكرًا لك. لكنه لا يبدو أنه يُرجع أي شيء. لقد حاولت تشغيله على ملف تالف، لكنه لا يعرض الأخطاء ولا يقوم بإصلاحها.
@cvx لقد طبقت ذلك للتو على سير عمل الإضافة لدينا — هل هناك شيء خاص يجب علينا فعله لاستخدامه؟
لا حاجة لسحر
لكن تأكد من تشغيل الأمر في الدليل الجذري لـ Discourse. لقد حدث لي هذا عدة مرات بالفعل.
مقارنة:
# في [discourse]/app/assets/javascripts
$ yarn ember-template-lint .
✨ تم بنجاح في 2.57 ثانية.
# في [discourse]
$ yarn ember-template-lint app/assets/javascripts
app/assets/javascripts/discourse/app/templates/tags.hbs
4:0 error استخدام غير متوقع لـ {{debugger}}. no-debugger
4:0 error استخدام الأقواس الثلاثية غير آمن no-triple-curlies
3:15 error محاذاة غير صحيحة لـ `d-section` التي تبدأ في L1:C0. كان من المتوقع أن ينتهي `{{/d-section}}` في L3:C15 بمحاذاة 0، لكنه وُجد عند 1. block-indentation
2:4 error محاذاة غير صحيحة لـ `{{outlet}}` التي تبدأ في L2:C4. كان من المتوقع أن تكون `{{outlet}}` بمحاذاة 2، لكنها وُجدت عند 4. block-indentation
1:23 error يجب استخدام علامات التنصيص المزدوجة في القوالب quotes
✖ 5 مشكلات (5 أخطاء، 0 تحذيرات)
error فشل الأمر مع رمز خروج 1.
أيضًا، ضع في اعتبارك أنه سيستخدم إعدادنا (.template-lintrc.js)، لذا قد لا يُبلغ عن جميع المشكلات المتوقعة لأن بعض القواعد معطلة حاليًا.
@justin لقد أدركت للتو أن سير عمل GitHub Actions الخاص بنا للمكونات الإضافية لا يشارك هذا الإعداد حاليًا. يجب أن نغير ذلك في وقت ما. ![]()
هل سيعمل هذا في plugins/؟ أنا أراهن أن هذا هو المكان الذي يهتم @fzngagan باستخدامه فيه.
إذا كان الإضافة موجودة في مجلد plugins، بالتأكيد! ![]()
$ yarn ember-template-lint plugins
plugins/poll/assets/javascripts/discourse/templates/modal/poll-breakdown.hbs
1:22 error يجب استخدام علامات اقتباس مزدوجة في القوالب quotes
أنا متأكد إلى حد كبير أنني أقوم بنفس الشيء، لكنني سأحاول مرة أخرى وأخبرك.
لا يمكن لـ Ember Template Lint إصلاح كل شيء، تمامًا مثل ESLint، وفي الواقع يمكن لـ Ember Template Lint إصلاح عدد قليل جدًا من الأمور، على عكس ESLint.
سيقوم في الغالب بالإبلاغ عن الأخطاء، لكنك ستحتاج إلى إصلاحها يدويًا.
إليك ما جربته.
لقد جربت كسر قاعدة باستخدام discourse نفسه. نجح
لقد جربت كسر قاعدة باستخدام إضافة discourse-custom-wizard التي كانت موجودة في مجلد discourse كرابط رمزي. لم ينجح
لقد جربت نفس الشيء مع إضافة poll التي هي جزء من مستودع discourse. كما جربت ذلك مع إضافات أخرى تأتي مع discourse. نجح
لقد جربت كسر قاعدة باستخدام إضافة discourse-custom-wizard مرة أخرى، هذه المرة بنسخها إلى مجلد الإضافات في discourse. لم ينجح
لقد جربت كسر قاعدة باستخدام إضافة discourse-assign بوضع المجلد في مجلد الإضافات. لم ينجح
آه، نعم. المشكلة هي أن ember-template-lint يأخذ ملف .gitignore في الحسبان تلقائيًا. وبالتالي، يتم تجاهل الإضافات غير المدمجة.
لذلك، لتشغيل فحص القوالب على جميع الإضافات:
yarn ember-template-lint --no-ignore-pattern plugins
# أو أي مجلد آخر، مثل إضافة واحدة:
yarn ember-template-lint --no-ignore-pattern plugins/discourse-calendar
شكرًا لك. يعمل بشكل رائع.
شكرًا لك! أيضًا، هل توجد طريقة لجعلها تصلح الأشياء تلقائيًا؟ لقد حاولت إضافة --fix دون جدوى.
يعمل، ولكن: