Rules in ESLint are grouped by category to help you understand their purpose.

No rules are enabled by default. The "extends": "eslint:recommended" property in a configuration file enables rules that report common problems, which have a check mark below.

The --fix option on the command line automatically fixes problems (currently mostly whitespace) reported by rules which have a wrench below.

Possible Errors

These rules relate to possible syntax or logic errors in JavaScript code:

Best Practices

These rules relate to better ways of doing things to help you avoid problems:

Strict Mode

These rules relate to strict mode directives:


These rules relate to variable declarations:

Node.js and CommonJS

These rules relate to code running in Node.js, or in browsers with CommonJS:

Stylistic Issues

These rules relate to style guidelines, and are therefore quite subjective:

ECMAScript 6

These rules relate to ES6, also known as ES2015:


These rules from older versions of ESLint have been replaced by newer rules:

Removed rule Replaced by
generator-star generator-star-spacing
global-strict strict
no-arrow-condition no-confusing-arrow and no-constant-condition
no-comma-dangle comma-dangle
no-empty-class no-empty-character-class
no-empty-label no-labels
no-extra-strict strict
no-reserved-keys quote-props
no-space-before-semi semi-spacing
no-wrap-func no-extra-parens
space-after-function-name space-before-function-paren
space-after-keywords keyword-spacing
space-before-function-parentheses space-before-function-paren
space-before-keywords keyword-spacing
space-in-brackets object-curly-spacing and array-bracket-spacing
space-return-throw-case keyword-spacing
space-unary-word-ops space-unary-ops
spaced-line-comment spaced-comment