Вопрос или проблема
Я создаю файл .stylelintrc.cjs
в своем проекте.
Но этот файл не проверяется расширением eslint для vscode (если бы это работало, двойная кавычка была бы выделена красной волнистой линией, так как я настроил “одинарную кавычку”).
Затем я использую
npx eslint --debug ./.stylelintrc.cjs | less
Он говорит мне, что файл по умолчанию игнорируется.
Но в моем проекте ignorePattern файла .eslintrc.cjs
не имеет связанной настройки.
{
ignorePatterns: [
'node_modules',
'public',
'dist',
],
}
Затем я использую
npx eslint --print-config ./.stylelintrc.cjs | less
И здесь тоже нет, я думаю, это все собранные настройки, включая расширения.
{
"ignorePatterns": [
"**/node_modules/**",
"**/dist/**",
"**/build/**",
"**/coverage/**",
"**/public/**",
"*.min.js",
"*.min.css",
"*.json",
"node_modules",
"public",
"dist"
]
}
Так что, как определить, где файл .stylelintrc.cjs
игнорируется?
Или какие-то настройки рабочего пространства vscode переопределяют это?
Я не могу решить эту проблему.
Я искал в гугле, но не нашел похожих вопросов.
Eslint может автоматически игнорировать файлы/папки, начинающиеся с точки.
Подробности здесь https://github.com/eslint/eslint/issues/10089.
Но я, похоже, никогда не видел связанного описания в официальной документации.
Может быть, кто-то подскажет мне, где это написать?
Ответ или решение
Чтобы найти файл .stylelintrc.cjs
, который игнорируется ESLint, необходимо провести анализ как конфигураций ESLint, так и настроек самого Visual Studio Code (VSCode). Ниже приведены детальные инструкции для решения этой проблемы.
Шаг 1: Проверка конфигурации ESLint
-
Проверка файла
.eslintrc.cjs
: Убедитесь, что в вашем конфигурационном файле ESLint нет правил, исключающих.stylelintrc.cjs
. Вы упомянули, что в секцииignorePatterns
отсутствуют связанные с ним пики, поэтому этот шаг можно считать пройденным. -
Команда для отображения конфигурации: Используя команду
npx eslint --print-config ./.stylelintrc.cjs
, вы правильно определили текущую конфигурацию ESLint. Убедитесь, что в результате выполнения отсутствуют коды, которые могли бы исключать файлы или директории, начинающиеся с точки.
Шаг 2: Игнорирование файлов ESLint
Важно понимать, что ESLint по умолчанию игнорирует все файлы и папки, начинающиеся с точки. Это значит, что все файлы с именами в формате .filename
игнорируются без каких-либо дополнительных настроек.
- Подтверждение игнорирования: Вы можете использовать команду
npx eslint --debug ./.stylelintrc.cjs
, как вы уже делали, чтобы увидеть, подтвердить, что файл игнорируется по умолчанию. Эта проблема для ESLint является известной и документирована в проблеме на GitHub.
Шаг 3: Обходное решение
-
Переименование файла: Если вы хотите, чтобы ESLint проверял ваш
.stylelintrc.cjs
, переименуйте его в такой файл, который не начинается с точки. Например, вы можете использоватьstylelintrc.cjs
или добавить префикс к файлу, который не вызывает игнорирование. -
Проверка настроек VSCode: Параметры настройки VSCode также могут влиять на поведение ESLint. Проверьте настройки в файле
settings.json
. Убедитесь, что там нет специфических исключений или конфигураций, которые могли бы повлиять на обработку файлов ESLint.
{
"eslint.workingDirectories": [
"./",
// другие пути, которые могут игнорироваться
]
}
Заключение
Таким образом, файл .stylelintrc.cjs
не проходит в проверку ESLint из-за того, что все файлы, начинающиеся с точки, игнорируются по умолчанию. Чтобы избежать этой проблемы, рекомендуется переименовать файл или изменить вашу конфигурацию для работы с ESLint. Используйте указанные шаги для диагностики и устранения проблемы игнорирования, чтобы обеспечить корректную работу проверок в вашем проекте.
Если возникнут дополнительные вопросы, вы всегда можете обратиться к официальной документации ESLint или сообществу разработчиков для получения поддержки.