{ "parser": "@typescript-eslint/parser", "env": { "es2021": true, "node": true }, "parserOptions": { "ecmaVersion": "latest", "sourceType": "module", "project": [ "tsconfig.json" ] }, "plugins": [ "eslint-plugin-import", "eslint-vertical-import", "unused-imports", "simple-import-sort", "@typescript-eslint", "@typescript-eslint/tslint" ], "rules": { "@typescript-eslint/consistent-type-definitions": "error", "@typescript-eslint/dot-notation": "off", "@typescript-eslint/explicit-member-accessibility": [ "error", { "accessibility": "explicit", "overrides": { "constructors": "no-public", "accessors": "off" } } ], "@typescript-eslint/indent": ["error", 2], "@typescript-eslint/member-delimiter-style": [ "error", { "multiline": { "delimiter": "semi", "requireLast": true }, "singleline": { "delimiter": "semi", "requireLast": false } } ], "@typescript-eslint/member-ordering": "error", "@typescript-eslint/explicit-function-return-type": "error", "@typescript-eslint/naming-convention": "error", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-empty-interface": "error", "@typescript-eslint/no-inferrable-types": [ "error", { "ignoreParameters": true } ], "@typescript-eslint/no-misused-new": "error", "@typescript-eslint/no-non-null-assertion": "error", "@typescript-eslint/no-shadow": [ "error", { "hoist": "all" } ], "@typescript-eslint/no-unused-expressions": "error", "@typescript-eslint/prefer-function-type": "error", "@typescript-eslint/quotes": [ "error", "single" ], "@typescript-eslint/semi": [ "error", "always" ], "@typescript-eslint/type-annotation-spacing": "error", "@typescript-eslint/unified-signatures": "error", "arrow-body-style": "error", "brace-style": [ "error", "1tbs" ], "template-curly-spacing": ["error", "always"], "semi": ["error", "always"], "quotes": ["error", "single"], "comma-dangle": [ "error", { "arrays": "always-multiline", "functions": "always-multiline", "objects": "always-multiline", "imports": "always-multiline", "exports": "always-multiline" } ], "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 2 }], "comma-spacing": ["error", { "before": false, "after": true }], "array-bracket-spacing": [ "error", "always", { "objectsInArrays": false } ], "array-element-newline": ["error", "consistent"], "array-bracket-newline": [ "error", { "multiline": true } ], "constructor-super": "error", "curly": "error", "dot-notation": "off", "eol-last": "error", "eqeqeq": [ "error", "smart" ], "eslint-vertical-import/vertical-import": 2, "guard-for-in": "error", "id-blacklist": "off", "id-match": "off", "import/no-deprecated": "warn", "indent": ["error", 2, { "SwitchCase": 1 }], "max-len": [ "error", { "code": 120 } ], "no-bitwise": "error", "no-caller": "error", "no-console": [ "error", { "allow": [ "log", "warn", "dir", "timeLog", "assert", "clear", "count", "countReset", "group", "groupEnd", "table", "dirxml", "error", "groupCollapsed", "Console", "profile", "profileEnd", "timeStamp", "context" ] } ], "no-debugger": "error", "no-empty": "off", "no-empty-function": "off", "no-eval": "error", "no-fallthrough": "error", "no-new-wrappers": "error", "no-restricted-imports": [ "error", "rxjs/Rx" ], "no-shadow": "error", "no-throw-literal": "error", "no-trailing-spaces": "error", "no-undef-init": "error", "no-underscore-dangle": "off", "no-unused-expressions": "error", "no-unused-labels": "error", "no-var": "error", "prefer-const": "error", "radix": "error", "spaced-comment": [ "error", "always", { "markers": [ "/" ] } ], "unused-imports/no-unused-imports": "error", "keyword-spacing": "error", "object-curly-spacing": ["error", "always"], "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", "no-multi-spaces": ["error"], "@typescript-eslint/tslint/config": [ "error", { "rules": { "import-spacing": true, "whitespace": [ true, "check-branch", "check-decl", "check-operator", "check-separator", "check-type" ] } } ] } }