Отключение правила eslint для определенного файла

Можно ли отключить правило eslint для всего файла? Что-то вроде:

// eslint-disable-file no-use-before-define 

(Аналогично eslint-disable-line.) Это случается со мной довольно часто, что в определенном файле я нарушаю определенное правило во многих местах, которые считаются ОК для этого файла, но я не хочу чтобы отключить правило для всего проекта, и я не хочу отключать другие правила для этого конкретного файла.

Ответ 1

Вы можете отключить/изменить определенное правило для файла, разместив конфигурации в верхней части файла.

/* eslint no-use-before-define: 0 */  // --> OFF

or

/* eslint no-use-before-define: 2 */  // --> ON

Дополнительная информация: http://eslint.org/docs/user-guide/configuring.html#configuring-rules

Ответ 3

Вы можете сказать ESLint игнорировать определенные файлы и каталоги, создав файл .eslintignore в корневом каталоге проектов:

.eslintignore

build/*.js
config/*.js
bower_components/foo/*.js

Модели игнорирования ведут себя согласно спецификации .gitignore. (Не забудьте перезапустить редактор.)

Ответ 4

Вы также можете отключить/включить правило, подобное этому:

/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */

Аналогично eslint-disable-line, как упоминалось в вопросе. Это может быть лучший метод, если вы не хотите восстанавливать сложную конфигурацию правила при повторном включении.

Ответ 5

Чтобы временно отключить предупреждения правил в вашем файле, используйте блочные комментарии в следующем формате:

/* eslint-disable */

Это отключит ESLint до

/* eslint-enable */

комментарий достигнут.

Вы можете прочитать больше об этой теме здесь.

Ответ 6

Принятый ответ не работал у меня (может быть, другая версия eslint...? Я использую eslint v3.19.0), но нашел решение со следующим...

В верхней части файла поместите следующее:

/* eslint-disable no-use-before-define */

Это отключит правило для всего файла

Ответ 7

Лучше добавить "переопределения" в ваш конфигурационный файл .eslintrc.js. Например, если вы хотите отключить правило camelcase для всех js файлов, оканчивающихся на Actions, добавьте этот код после области действия правил в .eslintrc.js.

"rules": {    
...........    
},
"overrides": [
 {
  "files": ["*Actions.js"],
     "rules": {
        "camelcase": "off"   
     }
 }
]

Ответ 8

Исходя из количества правил, которые вы хотите игнорировать (Все или Некоторые), и объема его отключения (Строка (и), Файл (ы), Везде), мы имеем 2 × 3 = 6 случаев.


1) Отключение "Все правила"

Случай 1.1: Вы хотите отключить "Все правила" для "Одной или нескольких строк"

Поместите /* eslint-disable-line */ в конец строки (строк) или /* eslint-disable-next-line */ прямо перед строкой.

Случай 1.2. Вы хотите отключить "Все правила" для "Один файл"

Поместите комментарий /* eslint-disable */ вверху файла.

Случай 1.3. Вы хотите отключить "Все правила" для "Некоторые файлы"

Есть 3 способа сделать это:

  1. Вы можете пойти с 1.2 и добавить /* eslint-disable */ поверх файлов, один за другим.
  2. Вы можете поместить имена файлов в .eslintignore. Это хорошо работает, особенно если у вас есть путь, который вы хотите игнорировать. (например, apidoc/**)
  3. Кроме того, если вы не хотите иметь отдельный файл .eslintignore, вы можете добавить "eslintIgnore": ["file1.js", "file2.js"] в package.json как здесь.

2) Отключение "некоторых правил"

Случай 2.1: Вы хотите отключить "Некоторые правила" для "Одной или нескольких строк"

Вы можете поместить /* eslint-disable-line quotes */ (заменить quotes вашими правилами) в конце строки (ей) или /* eslint-disable-next-line no-alert, quotes, semi */ перед строкой.

Случай 2.2: Вы хотите отключить "Некоторые правила" для "Один файл"

Поместите комментарий /* eslint-disable no-use-before-define */ вверху файла. Больше примеров здесь.

Случай 2.3: Вы хотите отключить "Некоторые правила" для "Некоторые файлы"

Это менее просто. Вы должны поместить их в объект "excludedFiles" раздела "overrides" вашего .eslintrc, как указано здесь.

Ответ 9

/*eslint-disable */

//suppress all warnings between comments
alert('foo');

/*eslint-enable */

это сработало для меня

Ответ 10

Вы можете просто поместить это, например, вверху файла:

/* eslint-disable no-console */

Ответ 11

Вы можете отключить определенное правило для файла, используя /*eslint [<rule: "off"], >]*/

/* eslint no-console: "off", no-mixed-operators: "off" */

Версия: [email protected]