مشكلة مع eslint

لدي إضافة جديدة تفشل في اختبارات التدقيق:

Run if test -f .prettierrc.cjs; then
yarn run v1.22.22
$ /home/runner/work/discourse-multi-rating/discourse-multi-rating/node_modules/.bin/eslint --ext .js,.gjs,.js.es6 --no-error-on-unmatched-pattern test/javascripts assets/javascripts admin/assets/javascripts
خيار غير صالح '--ext' - ربما كنت تقصد '-c'؟
أنت تستخدم eslint.config.js، بعض علامات سطر الأوامر لم تعد متاحة. يرجى الاطلاع على https://eslint.org/docs/latest/use/command-line-interface للحصول على التفاصيل.
خطأ فشل الأمر برمز خروج 2.
info تفضل بزيارة https://yarnpkg.com/en/docs/cli/run للحصول على وثائق حول هذا الأمر.
خطأ: اكتملت العملية برمز خروج 2.

لا أرى --ext في شجرة المصدر الخاصة بي، لذا ربما يكون في @discourse/lint-configs/eslint")؟ لا أعرف أين أجد ذلك.

لا أرى ما أفعله بشكل خاطئ أو كيف لا يؤثر هذا على الكثير من الإضافات. :person_shrugging:

لقد رأيت هذا الخطأ في المكون الإضافي الخاص بي. اكتشفت أنه كان بسبب محاولتي تحديث ملف تكوين eslint من .eslintrc.cjs إلى أحدث تنسيق تكوين مسطح eslint.config.js عبر ترحيل eslint. لا يدعم eslint.config.js الخيار --ext (Command Line Interface Reference - ESLint - Pluggable JavaScript Linter)، لذا فإن تغيير الملف إلى .eslintrc.cjs الأقدم يجب أن يحل المشكلة.

هناك بعض التعليمات الإضافية حول كيفية إعداد ملفات التدقيق في lint-configs/lint-configs at main · discourse/lint-configs · GitHub

لإضافة بعض السياق، يستخدم @discourse/lint-configs الإصدار 8.57.0 من eslint، والذي لا يستخدم افتراضيًا التكوين المسطح الجديد Configuration Files - ESLint - Pluggable JavaScript Linter.

إعجابَين (2)

هذا هو الغريب. لا أرى eslint.confi.js في أي مكان على نظام الملفات الخاص بي (إذا كان عليّ الوثوق بـ locate، وبالتأكيد ليس في شجرة المصدر الخاصة بي).

هل تمكنت من جعله يعمل؟

هذا غريب… نعم، تمكنت من جعل جهازي يعمل.

أود التحقق من ملف package.json للتأكد من أن devDependencies يحتوي على "eslint": "8.57.0", وليس 9.x.x

نعم. :crying_cat_face: لقد لاحظت للتو أنه تم تغيير eslint و prettier في package.json. أقسم أنني قمت باستنساخها من الهيكل العظمي قبل دقيقة واحدة فقط. :person_shrugging:

الآن يعطيني أخطاء (حقيقية) في github، لكن لا يمكنني تشغيل estlint محليًا لأتمكن من إصلاح الأشياء.

إعجاب واحد (1)

جاي،

افعل:

yarn

ثم

yarn eslint --fix plugins/<my-plugin>

(بالطبع قم بتحديث “my plugin”)

كلاهما من دليل discourse

إعجابَين (2)

OMG. لقد تمكنت للتو من إصلاحه بطريقة كان من المستحيل تمامًا إعادة إنتاجها، لذا فهذا منقذ للحياة. والآن أضفته إلى ملفي السحري، لذا قد ينجح هذا في المرة القادمة

if [[ "$ARG" == 'fix-eslint' ]]
then
  cd ~/src/discourse-repos/discourse
  yarn
  for x in ~/plugins/*
  do
    yarn eslint --fix x
  done
fi
إعجابَين (2)

انتظر. هل تقول أن هذا سيقوم بتحديث eslint إلى الإصدار الصحيح؟ أو تشغيل eslint؟ أو أنه إذا قمت بتشغيله بهذه الطريقة، فسيكون الإصدار الصحيح؟