{ "env": { "browser": true, "node": true, "es6": true, "es2017": true }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking" ], "parser": "@typescript-eslint/parser", "parserOptions": { "project": "./tsconfig.json" }, "plugins": ["@typescript-eslint"], "rules": { "eol-last": ["error", "never"], "semi": ["off", "never"], "brace-style": "off", "indent": "off", "space-before-function-paren": ["off", "never"], "@typescript-eslint/semi": ["error", "never"], "@typescript-eslint/brace-style": ["error", "1tbs", { "allowSingleLine": true }], "@typescript-eslint/indent": ["error", 2], "@typescript-eslint/space-before-function-paren": ["error", { "anonymous": "never", "named": "never", "asyncArrow": "always" }], "@typescript-eslint/no-var-requires": ["off"], "@typescript-eslint/no-empty-function": ["error", { "allow": [ "constructors" ] }], "@typescript-eslint/no-explicit-any": ["error"], "@typescript-eslint/ban-ts-ignore": ["off"], "@typescript-eslint/interface-name-prefix": ["off"], "@typescript-eslint/member-delimiter-style": ["error", { "multiline": { "delimiter": "none" }, "singleline": { "delimiter": "semi", "requireLast": false } }], "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-use-before-define": ["error", { "functions": false, "classes": false }], "prefer-arrow-callback": ["error", { "allowUnboundThis": true }], "no-multi-spaces": ["error", { "ignoreEOLComments": true }], "block-spacing": "error", "no-trailing-spaces": "error", "no-whitespace-before-property": "error", "no-constant-condition": ["error", { "checkLoops": false }], "space-before-blocks": "error", "spaced-comment": ["error", "always", { "line": { "markers": ["/"] }, "block": { "balanced": true, "exceptions": ["*"] } }], "arrow-spacing": "error" } }