Configure options below — the preview updates in real time.

General

Top-level configuration object metadata.

A custom identifier for this configuration object. Used in error messages and the config inspector (e.g. myApp/recommended).

Language Options

Settings related to how JavaScript is configured for linting.

Sets the ECMAScript version for syntax and global variables.

Indicates the execution mode of the file (module, script, or commonjs).

Global variables injected into the linting environment. Values: "readonly", "writable", or "off".

Custom parser package name (e.g. @typescript-eslint/parser). Leave empty for default Espree parser.

Enable JSXEnables JSX syntax parsing.
Allow Global ReturnAllows return statements in the global scope.
Implied Strict ModeEnables global strict mode (ecmaVersion >= 5).
Allow Reserved WordsAllows reserved words as identifiers (only valid when ecmaVersion is 3).

Linter Options

Settings related to the ESLint execution process.

Reports warnings/errors when eslint-disable comments are unnecessary.

Reports warnings/errors for unused inline configuration comments.

Disable Inline ConfigDisallows inline configuration comments like /* eslint-disable */.

Rules

Configure the severity of commonly used ESLint rules. Values: off, warn, error.

Disallow the use of console.

Disallow the use of debugger.

Disallow duplicate case labels in switch statements.

Disallow empty block statements.

Disallow unnecessary boolean casts.

Disallow unreachable code after return, throw, continue, or break.

Disallow negating the left operand of relational operators.

Enforce consistent brace style for all control statements.

Require the use of === and !==.

Disallow the use of eval().

Disallow the use of eval()-like methods.

Disallow throwing literals as exceptions.

Require using Error objects as Promise rejection reasons.

Disallow unused variables.

Disallow the use of variables before they are defined.

Disallow variable declarations from shadowing outer scope variables.

Disallow the use of undeclared variables.

Require let or const instead of var.

Require const declarations for variables that are never reassigned.

Require using arrow functions for callbacks.

Require template literals instead of string concatenation.

Disallow duplicate module imports.

Require or disallow method and property shorthand syntax for objects.

Require destructuring from arrays and/or objects.

Require rest parameters instead of arguments.

Require spread operators instead of .apply().

Files & Ignores

Glob patterns to include or exclude from linting.

Glob patterns for files this config applies to.

Glob patterns for files to ignore.

Processor to extract JavaScript from non-JS files (e.g. Markdown, HTML, Vue). Use "pluginName/processorName" format.

Plugins

Third-party plugins to load. Add plugin package names (without eslint-plugin- prefix if applicable).

Plugin package names to import and register (e.g. @typescript-eslint, import, react).

Settings

Shared settings supplied to every rule (e.g. React version, import resolver).

Key-value pairs passed to all rules (e.g. react.version: detect).