أرى فرقًا كبيرًا في التكوين الافتراضي للتدقيق اللغوي، والطريقة التي يفترض أن يعمل بها.
يقوم التكوين الافتراضي بتثبيت حزمة eslint-config-discourse كاعتمادية تطوير:
https://www.npmjs.com/package/eslint-config-discourse
ومع ذلك، عندما أبحث عن الكود المصدري في https://github.com/discourse/eslint-config-discourse، تم إعادة توجيه المستودع إلى @discourse/lint-configs؛ وهي أيضًا حزمة ضمن المستودع الأحادي eslint-config-discourse. مع الاختبارات المضمنة، يفترض أن يكون eslint-config-discourse غلافًا، على ما أعتقد، ولكنه لا يعمل كما هو مفترض، على الأقل ليس في تجربتي:
تكوين التدقيق اللغوي الافتراضي
- إنشاء سمة جديدة باستخدام الأمر
discourse_theme new. - مراجعة تكوين التدقيق اللغوي الذي تم إنشاؤه:
أ..eslintrc
ب.{ "extends": "eslint-config-discourse", "globals": { "settings": "readonly", "themePrefix": "readonly" } }.template-lintrc.js:
ج.module.exports = { plugins: ["ember-template-lint-plugin-discourse"], extends: "discourse:recommended", };package.json{ "license": "MIT", "devDependencies": { "eslint-config-discourse": "latest" } } - تشغيل Prettier على الحزمة، وسوف تشتكي من ملفات
*.gjs:yarn prettier --check --write "{common,javascripts,desktop,mobile,test,scss}/**/*.{js,gjs,es6,scss}"خطأ: لم يتمكن من استنتاج محلل للملف ... .gjs
تكوين @discourse/lint-configs مباشرة
https://www.npmjs.com/package/@discourse/lint-configs
- تشغيل
yarn remove -D eslint-config-discourseلإلغاء تثبيت الحزمة. - تشغيل
yarn add -D @discourse/lint-configsللتثبيت كاعتمادية تطوير. - اتباع التعليمات لإنشاء ملفات تكوين التدقيق اللغوي:
أ. استبدال ملف.eslintrcبـ.eslintrc.cjs
ب. إضافة ملفmodule.exports = require("@discourse/lint-configs/eslint-theme");.prettierrc.cjs:
ج. استبدال ملفmodule.exports = require("@discourse/lint-configs/prettier");.template-lintrc.jsبـ.template-lintrc.cjs:module.exports = require("@discourse/lint-configs/template-lint"); - محاولة تشغيل Prettier مرة أخرى، وملاحظة أنه يعمل بدون أخطاء:
$ yarn prettier --check --write "{common,javascripts,desktop,mobile,test,scss}/**/*.{js,gjs,es6,scss}" جارٍ التحقق من التنسيق... جميع الملفات المطابقة تستخدم نمط كود Prettier! ✨ تم الانتهاء في 0.46 ثانية.
إذًا، هل يجب أن أفترض أن واجهة سطر أوامر discourse_theme قديمة، وأنه للمضي قدمًا يجب أن أستخدم خيار @discourse/lint-configs في مشروعاتي؟

