Skip to main content

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";