{ "root": true, "parser": "@typescript-eslint/parser", "parserOptions": { "tsconfigRootDir": ".", "project": ["./tsconfig.json"], "sourceType": "module" }, "env": { "es2020": true }, "plugins": [ "@typescript-eslint" ], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking" ], "rules": { "no-extra-parens": "off", "@typescript-eslint/no-extra-parens": "error", "semi": "off", "@typescript-eslint/semi": "error", "curly": "error", "indent": "off", "@typescript-eslint/indent": ["error", 4], "arrow-parens": ["error", "as-needed"], "@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-use-before-define": "off", "quotes": "off", "@typescript-eslint/quotes": ["error", "single"], "eol-last": ["error", "always"], "no-eq-null": "error", "no-unneeded-ternary": "error", "block-spacing": "error", "camelcase": "off", "@typescript-eslint/naming-convention": [ "error", { "selector": "default", "format": ["camelCase"] }, { "selector": "variable", "format": ["camelCase", "UPPER_CASE"] }, { "selector": "property", "format": ["camelCase", "UPPER_CASE"] }, { "selector": "enumMember", "format": ["UPPER_CASE"] }, { "selector": "parameter", "format": ["camelCase"] }, { "selector": "typeLike", "format": ["PascalCase"] } ], "comma-dangle": ["error", "never"], "func-call-spacing": "off", "@typescript-eslint/func-call-spacing": ["error", "never"], "function-call-argument-newline": ["error", "never"], "implicit-arrow-linebreak": ["error", "beside"], "linebreak-style": ["error", "unix"], "no-trailing-spaces": "error", "no-lonely-if": "error", "no-var": "error", "prefer-arrow-callback": "error", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/prefer-readonly": "error", "brace-style": "off", "@typescript-eslint/brace-style": "error", "dot-notation": "off", "@typescript-eslint/dot-notation": "error", "no-extra-semi": "off", "@typescript-eslint/no-extra-semi": "error", "@typescript-eslint/explicit-function-return-type": "error", "no-dupe-class-members": "off", "@typescript-eslint/no-dupe-class-members": "error" } }