You can disable ESLint for a single line, a block of code, or an entire file. Wherever possible, specify the rule or rules you wish to disable.
Disable ESLint for a single line
Use the eslint-disable-line
and eslint-disable-next-line
directives to disable linting for a specific line.
const bad_string = 'nope' // eslint-disable-line camelcase
// eslint-disable-next-line no-array-constructor
const badArray = Array(100)
Disable ESLint for a block
Use the eslint-disable
and eslint-enable
directives to disable linting for a block of code.
/* eslint-disable no-await-in-loop, no-console */
for (const count = 0; count < 10; count++) {
console.log(`Processing ${count}`)
await doThing(count)
}
/* eslint-enable no-await-in-loop, no-console */
Disable ESLint for an entire file
There are several ways to disable linting for an entire file.
Use a block directive
The simplest option is to place a block directive at the start of the file.
/* eslint-disable complexity */
function theHorror(x) {
if (true) {
return x
} else if (false) {
return x + 1
} else {
return x + 2
}
}
Use an “ignore” file
Create a .eslintignore
file in the root of your project containing the files to ignore, one per line. ESLint supports .gitignore
-style patterns, exclusions, and so forth.
build/*.js
!build/special.js
Note that this disables all rules for the specified files.
Use a configuration file
ESLint supports an absurd array of configuration files. To further complicate matters you can place these files in nested directories, causing the configuration to cascade. Don’t do that.