ESLint игнорирует конкретное правило для определенного каталога
Можно ли с помощью ESLint игнорировать одно конкретное правило для всего каталога?
В моем случае я хотел бы игнорировать import/prefer-default-export
для каталога с именем commonComponents
3 ответа
Конфигурация ESLint ( .eslintrc
) файлы являются иерархическими:
ESLint будет автоматически искать их в каталоге файла, который нужно пометить, и в последующих родительских каталогах вплоть до корневого каталога файловой системы. Эта опция полезна, когда вам нужны разные конфигурации для разных частей проекта или если вы хотите, чтобы другие могли использовать ESLint напрямую, не забывая передавать файл конфигурации.
Вы можете отключить import/prefer-default-export
Правило для commonComponents
каталог путем создания .eslintrc
файл со следующим содержимым в этом каталоге:
{
"rules": {
"import/prefer-default-export": "off"
}
}
Вы также можете использовать клавишу "переопределения" для объявления правил для различных шаблонов глобуса.
Ознакомьтесь с конфигурацией на основе шаблонов глобусов
Иногда требуется более точно контролируемая конфигурация, например, если конфигурация для файлов в одном и том же каталоге должна отличаться. Поэтому вы можете предоставить конфигурации в ключе переопределений, которые будут применяться только к файлам, которые соответствуют определенным шаблонам глобусов, используя тот же формат, который вы передаете в командной строке (например, app/**/*. Test.js).
Я использую это, чтобы удалить no-unused-expressions
правило из моих тестовых файлов вот так;
"overrides": [{
"files": [ "*.spec.js" ],
"rules": {
"no-unused-expressions": 0
}
}]
Если есть несколько каталогов, к которым вы хотите применить свои правила, то вы можете создавать различные конфигурации для разных целей. Например:
.eslintrc.json
для общего конфига.eslintrc-main.json
для основного линтинга и бегаeslint -c .eslintrc-main src test
.eslintrc-comp.json
для компонентов и запускаeslint -c .eslintrc-comp commonComponents fooBarComponent
Cretae .eslintignore и поместите в него пример исключенных папок:
node_modules/
functions/
dist/
Версия YAML:
rules:
no-unused-expressions: true
overrides:
- files: *-tests.js
rules:
no-unused-expressions: false