eslintConfig
eslintConfig: {
env: {
browser: boolean;
es2021: boolean;
jest: boolean;
node: boolean;
};
extends: string[];
ignorePatterns: string[];
overrides: {
files: string[];
rules: {
jest/valid-expect: string;
};
}[];
parser: string;
parserOptions: {
babelOptions: {
plugins: string[];
};
ecmaFeatures: {
jsx: boolean;
};
sourceType: string;
};
plugins: string[];
rules: {
arrow-body-style: (string | number)[];
class-methods-use-this: number;
complexity: (
| string
| {
max: number;
})[];
eslint-comments/disable-enable-pair: number;
import/extensions: (
| string
| number
| {
js: string;
json: string;
})[];
import/imports-first: number;
import/newline-after-import: number;
import/no-dynamic-require: number;
import/no-extraneous-dependencies: number;
import/no-named-as-default: number;
import/no-unresolved: (
| number
| {
caseSensitive: boolean;
caseSensitiveStrict: boolean;
})[];
import/no-webpack-loader-syntax: number;
import/prefer-default-export: number;
indent: (
| number
| {
SwitchCase: number;
})[];
jsdoc/require-jsdoc: number;
jsx-a11y/aria-props: number;
jsx-a11y/heading-has-content: number;
jsx-a11y/label-has-associated-control: (
| number
| {
controlComponents: string[];
})[];
jsx-a11y/label-has-for: number;
jsx-a11y/mouse-events-have-key-events: number;
jsx-a11y/role-has-required-aria-props: number;
jsx-a11y/role-supports-aria-props: number;
max-depth: (
| string
| {
max: number;
})[];
max-len: number;
max-lines: (
| string
| {
max: number;
skipComments: boolean;
})[];
max-lines-per-function: number;
max-nested-callbacks: (
| string
| {
max: number;
})[];
max-params: (
| string
| {
max: number;
})[];
max-statements: (
| string
| {
max: number;
})[];
newline-per-chained-call: number;
no-confusing-arrow: number;
no-console: number;
no-param-reassign: (
| string
| {
props: boolean;
})[];
no-unused-vars: number;
no-use-before-define: number;
prefer-template: number;
prettier/prettier: (string | __module)[];
react-hooks/rules-of-hooks: string;
react/destructuring-assignment: number;
react/forbid-prop-types: number;
react/function-component-definition: (
| number
| {
namedComponents: string;
})[];
react/jsx-closing-tag-location: number;
react/jsx-filename-extension: (
| number
| {
extensions: string[];
})[];
react/jsx-first-prop-new-line: (string | number)[];
react/jsx-no-target-blank: number;
react/jsx-props-no-spreading: number;
react/jsx-uses-vars: number;
react/react-in-jsx-scope: number;
react/require-default-props: number;
react/require-extension: number;
react/self-closing-comp: number;
react/sort-comp: number;
redux-saga/no-yield-in-race: number;
redux-saga/yield-effects: number;
require-yield: number;
};
settings: {
import/resolver: {
node: {
extensions: string[];
};
};
jest: {
version: number;
};
react: {
version: string;
};
};
};
Type Declaration
env
env: {
browser: boolean;
es2021: boolean;
jest: boolean;
node: boolean;
};
env.browser
browser: boolean = true;
env.es2021
es2021: boolean = true;
env.jest
jest: boolean = true;
env.node
node: boolean = true;
extends
extends: string[];
ignorePatterns
ignorePatterns: string[];
overrides
overrides: {
files: string[];
rules: {
jest/valid-expect: string;
};
}[];
parser
parser: string = "@babel/eslint-parser";
parserOptions
parserOptions: {
babelOptions: {
plugins: string[];
};
ecmaFeatures: {
jsx: boolean;
};
sourceType: string;
};
parserOptions.babelOptions
babelOptions: {
plugins: string[];
};
parserOptions.babelOptions.plugins
plugins: string[];
parserOptions.ecmaFeatures
ecmaFeatures: {
jsx: boolean;
};
parserOptions.ecmaFeatures.jsx
jsx: boolean = true;
parserOptions.sourceType
sourceType: string = "module";
plugins
plugins: string[] = basePlugins;
rules
rules: {
arrow-body-style: (string | number)[];
class-methods-use-this: number;
complexity: (
| string
| {
max: number;
})[];
eslint-comments/disable-enable-pair: number;
import/extensions: (
| string
| number
| {
js: string;
json: string;
})[];
import/imports-first: number;
import/newline-after-import: number;
import/no-dynamic-require: number;
import/no-extraneous-dependencies: number;
import/no-named-as-default: number;
import/no-unresolved: (
| number
| {
caseSensitive: boolean;
caseSensitiveStrict: boolean;
})[];
import/no-webpack-loader-syntax: number;
import/prefer-default-export: number;
indent: (
| number
| {
SwitchCase: number;
})[];
jsdoc/require-jsdoc: number;
jsx-a11y/aria-props: number;
jsx-a11y/heading-has-content: number;
jsx-a11y/label-has-associated-control: (
| number
| {
controlComponents: string[];
})[];
jsx-a11y/label-has-for: number;
jsx-a11y/mouse-events-have-key-events: number;
jsx-a11y/role-has-required-aria-props: number;
jsx-a11y/role-supports-aria-props: number;
max-depth: (
| string
| {
max: number;
})[];
max-len: number;
max-lines: (
| string
| {
max: number;
skipComments: boolean;
})[];
max-lines-per-function: number;
max-nested-callbacks: (
| string
| {
max: number;
})[];
max-params: (
| string
| {
max: number;
})[];
max-statements: (
| string
| {
max: number;
})[];
newline-per-chained-call: number;
no-confusing-arrow: number;
no-console: number;
no-param-reassign: (
| string
| {
props: boolean;
})[];
no-unused-vars: number;
no-use-before-define: number;
prefer-template: number;
prettier/prettier: (string | __module)[];
react-hooks/rules-of-hooks: string;
react/destructuring-assignment: number;
react/forbid-prop-types: number;
react/function-component-definition: (
| number
| {
namedComponents: string;
})[];
react/jsx-closing-tag-location: number;
react/jsx-filename-extension: (
| number
| {
extensions: string[];
})[];
react/jsx-first-prop-new-line: (string | number)[];
react/jsx-no-target-blank: number;
react/jsx-props-no-spreading: number;
react/jsx-uses-vars: number;
react/react-in-jsx-scope: number;
react/require-default-props: number;
react/require-extension: number;
react/self-closing-comp: number;
react/sort-comp: number;
redux-saga/no-yield-in-race: number;
redux-saga/yield-effects: number;
require-yield: number;
};
rules.arrow-body-style
arrow-body-style: (string | number)[];
rules.class-methods-use-this
class-methods-use-this: number = 0;
rules.complexity
complexity: (
| string
| {
max: number;
})[];
rules.eslint-comments/disable-enable-pair
eslint-comments/disable-enable-pair: number = 0;
rules.import/extensions
import/extensions: (
| string
| number
| {
js: string;
json: string;
})[];
rules.import/imports-first
import/imports-first: number = 0;
rules.import/newline-after-import
import/newline-after-import: number = 0;
rules.import/no-dynamic-require
import/no-dynamic-require: number = 0;
rules.import/no-extraneous-dependencies
import/no-extraneous-dependencies: number = 0;
rules.import/no-named-as-default
import/no-named-as-default: number = 0;
rules.import/no-unresolved
import/no-unresolved: (
| number
| {
caseSensitive: boolean;
caseSensitiveStrict: boolean;
})[];
rules.import/no-webpack-loader-syntax
import/no-webpack-loader-syntax: number = 0;
rules.import/prefer-default-export
import/prefer-default-export: number = 0;
rules.indent
indent: (
| number
| {
SwitchCase: number;
})[];
rules.jsdoc/require-jsdoc
jsdoc/require-jsdoc: number = 0;
rules.jsx-a11y/aria-props
jsx-a11y/aria-props: number = 2;
rules.jsx-a11y/heading-has-content
jsx-a11y/heading-has-content: number = 0;
rules.jsx-a11y/label-has-associated-control
jsx-a11y/label-has-associated-control: (
| number
| {
controlComponents: string[];
})[];
rules.jsx-a11y/label-has-for
jsx-a11y/label-has-for: number = 0;
rules.jsx-a11y/mouse-events-have-key-events
jsx-a11y/mouse-events-have-key-events: number = 2;
rules.jsx-a11y/role-has-required-aria-props
jsx-a11y/role-has-required-aria-props: number = 2;
rules.jsx-a11y/role-supports-aria-props
jsx-a11y/role-supports-aria-props: number = 2;
rules.max-depth
max-depth: (
| string
| {
max: number;
})[];
rules.max-len
max-len: number = 0;
rules.max-lines
max-lines: (
| string
| {
max: number;
skipComments: boolean;
})[];
rules.max-lines-per-function
max-lines-per-function: number = 0;
rules.max-nested-callbacks
max-nested-callbacks: (
| string
| {
max: number;
})[];
rules.max-params
max-params: (
| string
| {
max: number;
})[];
rules.max-statements
max-statements: (
| string
| {
max: number;
})[];
rules.newline-per-chained-call
newline-per-chained-call: number = 0;
rules.no-confusing-arrow
no-confusing-arrow: number = 0;
rules.no-console
no-console: number = 1;
rules.no-param-reassign
no-param-reassign: (
| string
| {
props: boolean;
})[];
rules.no-unused-vars
no-unused-vars: number = 2;
rules.no-use-before-define
no-use-before-define: number = 0;
rules.prefer-template
prefer-template: number = 2;
rules.prettier/prettier
prettier/prettier: (string | __module)[];
rules.react-hooks/rules-of-hooks
react-hooks/rules-of-hooks: string = "error";
rules.react/destructuring-assignment
react/destructuring-assignment: number = 0;
rules.react/forbid-prop-types
react/forbid-prop-types: number = 0;
rules.react/function-component-definition
react/function-component-definition: (
| number
| {
namedComponents: string;
})[];
rules.react/jsx-closing-tag-location
react/jsx-closing-tag-location: number = 0;
rules.react/jsx-filename-extension
react/jsx-filename-extension: (
| number
| {
extensions: string[];
})[];
rules.react/jsx-first-prop-new-line
react/jsx-first-prop-new-line: (string | number)[];
rules.react/jsx-no-target-blank
react/jsx-no-target-blank: number = 0;
rules.react/jsx-props-no-spreading
react/jsx-props-no-spreading: number = 0;
rules.react/jsx-uses-vars
react/jsx-uses-vars: number = 2;
rules.react/react-in-jsx-scope
react/react-in-jsx-scope: number = 0;
rules.react/require-default-props
react/require-default-props: number = 0;
rules.react/require-extension
react/require-extension: number = 0;
rules.react/self-closing-comp
react/self-closing-comp: number = 0;
rules.react/sort-comp
react/sort-comp: number = 0;
rules.redux-saga/no-yield-in-race
redux-saga/no-yield-in-race: number = 2;
rules.redux-saga/yield-effects
redux-saga/yield-effects: number = 2;
rules.require-yield
require-yield: number = 0;
settings
settings: {
import/resolver: {
node: {
extensions: string[];
};
};
jest: {
version: number;
};
react: {
version: string;
};
};
settings.import/resolver
import/resolver: {
node: {
extensions: string[];
};
};
settings.import/resolver.node
node: {
extensions: string[];
};
settings.import/resolver.node.extensions
extensions: string[];
settings.jest
jest: {
version: number;
};
settings.jest.version
version: number = 28;
settings.react
react: {
version: string;
};
settings.react.version
version: string = "detect";