Skip to main content

# eslintBaseConfig

    eslintBaseConfig: {
      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;
         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)[];
         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;
      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)[];
      require-yield: number;
    } = baseRules;

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