Отключить правила eslint для папки

182

Есть ли способ отключить определенные правила для папки? Например, я не хочу, чтобы мне требовались комментарии JSDoc для всех моих тестовых файлов в testпапке. Есть ли способ сделать это?

DevNebulae
источник
Кажется, eslint-babel игнорирует любые файлы и настройки .eslint-ignore.
ivanixmobile

Ответы:

304

Чтобы игнорировать какую-либо папку из правил eslint, мы можем создать файл .eslintignoreв корневом каталоге и добавить туда путь к папке, которую мы хотим опустить (так же, как и для .gitignore).

Вот пример из документации ESLint по игнорированию файлов и каталогов :

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js
YaTaras
источник
35
Это решение на самом деле не отвечает на оригинальный вопрос, который спрашивает, как отключить определенные правила для определенного каталога. Здесь вы отключаете все правила для указанных каталогов. Лучший ответ здесь: stackoverflow.com/a/41316801/882638
Эрикджо
3
Выдержка из документации ESLint « В дополнение к любым шаблонам в файле .eslintignore ESLint всегда игнорирует файлы в / node_modules / * и / bower_components / *. » Поэтому добавлять не нужно /node_modules, /distодного достаточно, чтобы исключить оба каталога , Также поддерживается шаблон glob при указании (под) каталогов.
ozanmuyes
Есть ли способ сделать это с vue.config.js или package.json?
Серж
3
Есть ли способ настроить, какие каталоги игнорировать в самом .eslintrc.jsonфайле конфигурации, чтобы нам не нужен еще один файл .estlint и мы могли наследовать значения игнорирования из eslint-config-myconfigобщей конфигурации?
Джошуа Пинтер
1
На это есть несколько похожих постов. Мне нужно было: --ignore-pathи / или --ignore-pattern, и я думаю, что также точно отвечает на этот вопрос.
Нил Гай Линдберг
50

Предыдущие ответы были в правильном направлении, но полный ответ для этого будет Отключение правил только для группы файлов , там вы найдете документацию, необходимую для отключения / включения правил для определенных папок (потому что в некоторых случаях вы не не хочу игнорировать все это, только отключить определенные правила). Пример:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}
Альберто Перес
источник
2
Этот ответ лучше, потому что вы можете отключить определенное правило для данного каталога. Вместо того, чтобы просто отключить все правила для каталога.
Шторм Мюллер
1
Это изначально не работает для меня. Убедитесь, что у вас нет .eslintrc.jsв этой папке с extends: "../.eslintrc.js"!
Флориан Вендельборн
2

YAML версия:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

Пример конкретных правил для тестов мокко:

Вы также можете установить конкретный env для папки, например так:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

Эта конфигурация исправит сообщение об ошибке describeи itне определено, только для вашей тестовой папки:

/myproject/test/init-tests.js
6: 1 ошибка «описать» не определена no-undef
9: 3 ошибка «это» не определена no-undef

A-312
источник