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


182

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


Кажется, 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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.