У меня есть новый плагин, который не проходит тесты линтера:
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
Invalid option '--ext' - perhaps you meant '-c'?
You're using eslint.config.js, some command line flags are no longer available. Please see https://eslint.org/docs/latest/use/command-line-interface for details.
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Process completed with exit code 2.
Я не вижу опции --ext в своём исходном коде, возможно, она находится в @discourse/lint-configs/eslint? Не знаю, где её найти.
Не понимаю, в чём моя ошибка и почему это не влияет на множество других плагинов.
Я сталкивался с этой ошибкой в своём плагине. Оказалось, что она возникла из-за попытки обновить файл конфигурации eslint с .eslintrc.cjs до актуального формата flat config eslint.config.js с помощью миграции eslint. Файл eslint.config.js не поддерживает опцию --ext (Command Line Interface Reference - ESLint - Pluggable JavaScript Linter), поэтому возврат к более старой версии .eslintrc.cjs должен решить проблему.
О боже. Я только что каким-то образом починил это так, что воспроизвести это было совершенно невозможно, так что это просто спасение. А теперь я добавил это в свой волшебный файл, так что в следующий раз это может сработать.
if [[ "$ARG" == 'fix-eslint' ]]
then
cd ~/src/discourse-repos/discourse
yarn
for x in ~/plugins/*
do
yarn eslint --fix x
done
fi
Погодите. Вы имеете в виду, что это обновит eslint до правильной версии? Или запустит eslint? Или что, если я запущу его таким образом, у меня будет нужная версия?