Garbee/eslint-config

Typescript rule info dump

Opened this issue · 1 comments

Garbee commented

Script to get rules from ESLint Rules page.

Script for console
const tsRules = Array.from(tableNode.querySelectorAll('tbody tr')).map((row) => {
  const rule = row.querySelector('td:first-child a').textContent;
  const config = row.querySelector('td:nth-child(2)').title;
  const fixable = row.querySelector('td:nth-child(3)').title === 'fixable';
  const requiresTypeInfo = row.querySelector('td:nth-child(4)').hasAttribute('title');
  const extension = row.querySelector('td:nth-child(5)').hasAttribute('title');
  const formatting = row.querySelector('td:nth-child(6)').hasAttribute('title');
  const deprecated = row.querySelector('td:nth-child(7)').hasAttribute('title');

  return {
    rule,
    config,
    fixable,
    requiresTypeInfo,
    extension,
    formatting,
    deprecated,
  };
});

const nonDeprecatedRules = tsRules.filter((rule) => rule.deprecated === false);

const extensionGroups = Object.groupBy(nonDeprecatedRules, (rule) => {
  return rule.extension ? 'extension' : 'additional';
});

const additionalGroups = Object.groupBy(extensionGroups.additional, (rule) => {
  return rule.config === '' ? 'no-config' : rule.config;
});

const rules = {
  ...additionalGroups,
  'extension': extensionGroups.extension,
};

Base rules that are overridden:

Extension Base
const extensionBase = {
    "block-spacing": "off",
    "brace-style": "off",
    "class-methods-use-this": "off",
    "comma-dangle": "off",
    "comma-spacing": "off",
    "default-param-last": "off",
    "dot-notation": "off",
    "func-call-spacing": "off",
    "indent": "off",
    "init-declarations": "off",
    "key-spacing": "off",
    "keyword-spacing": "off",
    "lines-around-comment": "off",
    "lines-between-class-members": "off",
    "max-params": "off",
    "no-array-constructor": "off",
    "no-dupe-class-members": "off",
    "no-empty-function": "off",
    "no-extra-parens": "off",
    "no-extra-semi": "off",
    "no-implied-eval": "off",
    "no-invalid-this": "off",
    "no-loop-func": "off",
    "no-loss-of-precision": "off",
    "no-magic-numbers": "off",
    "no-redeclare": "off",
    "no-restricted-imports": "off",
    "no-shadow": "off",
    "no-throw-literal": "off",
    "no-unused-expressions": "off",
    "no-unused-vars": "off",
    "no-use-before-define": "off",
    "no-useless-constructor": "off",
    "object-curly-spacing": "off",
    "padding-line-between-statements": "off",
    "prefer-destructuring": "off",
    "quotes": "off",
    "require-await": "off",
    "return-await": "off",
    "semi": "off",
    "space-before-blocks": "off",
    "space-before-function-paren": "off",
    "space-infix-ops": "off",
};

Full rule breakdown:

Rules
const finalRules = {
    "stylistic": [
        {
            "rule": "@typescript-eslint/adjacent-overload-signatures",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/array-type",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/ban-tslint-comment",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/class-literal-property-style",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/consistent-generic-constructors",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/consistent-indexed-object-style",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/consistent-type-assertions",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/consistent-type-definitions",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-confusing-non-null-assertion",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-empty-interface",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-inferrable-types",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/non-nullable-type-assertion-style",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-for-of",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-function-type",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-namespace-keyword",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-nullish-coalescing",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-optional-chain",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-string-starts-ends-with",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        }
    ],
    "recommended": [
        {
            "rule": "@typescript-eslint/await-thenable",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/ban-ts-comment",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/ban-types",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-base-to-string",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-duplicate-enum-values",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-duplicate-type-constituents",
            "config": "recommended",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-explicit-any",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-extra-non-null-assertion",
            "config": "recommended",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-floating-promises",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-for-in-array",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-misused-new",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-misused-promises",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-namespace",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-non-null-asserted-optional-chain",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-redundant-type-constituents",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-this-alias",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unnecessary-type-assertion",
            "config": "recommended",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unnecessary-type-constraint",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-argument",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-assignment",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-call",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-declaration-merging",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-enum-comparison",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-member-access",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-return",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-var-requires",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-as-const",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/restrict-plus-operands",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/restrict-template-expressions",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/triple-slash-reference",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/unbound-method",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        }
    ],
    "no-config": [
        {
            "rule": "@typescript-eslint/consistent-type-exports",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/consistent-type-imports",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/explicit-function-return-type",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/explicit-member-accessibility",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/explicit-module-boundary-types",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/member-delimiter-style",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/member-ordering",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/method-signature-style",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/naming-convention",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-import-type-side-effects",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-require-imports",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unnecessary-qualifier",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unsafe-unary-minus",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-useless-empty-export",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/parameter-properties",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-enum-initializers",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-readonly",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-readonly-parameter-types",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-regexp-exec",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/promise-function-async",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/require-array-sort-compare",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/sort-type-constituents",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/strict-boolean-expressions",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/switch-exhaustiveness-check",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/type-annotation-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/typedef",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        }
    ],
    "strict": [
        {
            "rule": "@typescript-eslint/no-confusing-void-expression",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-dynamic-delete",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-extraneous-class",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-invalid-void-type",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-meaningless-void-operator",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-mixed-enums",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-non-null-asserted-nullish-coalescing",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-non-null-assertion",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unnecessary-boolean-literal-compare",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unnecessary-condition",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unnecessary-type-arguments",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-includes",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-literal-enum-member",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-reduce-type-parameter",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-return-this-type",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-ts-expect-error",
            "config": "strict",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/unified-signatures",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": false,
            "formatting": false,
            "deprecated": false
        }
    ],
    "extension": [
        {
            "rule": "@typescript-eslint/block-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/brace-style",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/class-methods-use-this",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/comma-dangle",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/comma-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/default-param-last",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/dot-notation",
            "config": "stylistic",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/func-call-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/indent",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/init-declarations",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/key-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/keyword-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/lines-around-comment",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/lines-between-class-members",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/max-params",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-array-constructor",
            "config": "recommended",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-dupe-class-members",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-empty-function",
            "config": "stylistic",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-extra-parens",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-extra-semi",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-implied-eval",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-invalid-this",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-loop-func",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-loss-of-precision",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-magic-numbers",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-redeclare",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-restricted-imports",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-shadow",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-throw-literal",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unused-expressions",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-unused-vars",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-use-before-define",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/no-useless-constructor",
            "config": "strict",
            "fixable": false,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/object-curly-spacing",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/padding-line-between-statements",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/prefer-destructuring",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": true,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/quotes",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/require-await",
            "config": "recommended",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/return-await",
            "config": "",
            "fixable": false,
            "requiresTypeInfo": true,
            "extension": true,
            "formatting": false,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/semi",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/space-before-blocks",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/space-before-function-paren",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        },
        {
            "rule": "@typescript-eslint/space-infix-ops",
            "config": "",
            "fixable": true,
            "requiresTypeInfo": false,
            "extension": true,
            "formatting": true,
            "deprecated": false
        }
    ]
};
Garbee commented

Add import/no-empty-named-blocks to error