{ "env": { "browser": true, "node": true }, "parserOptions": { "ecmaVersion": 2018, "sourceType": "module", "ecmaFeatures": { "impliedStrict": true } }, "rules": { "indent": "off", "arrow-parens": [ "off", "as-needed" ], "brace-style": "off", "comma-spacing": "off", "space-infix-ops": "off", "comma-dangle": "off", "eqeqeq": [ "error", "smart" ], "import/order": "off", "no-eval": "warn", "no-new-wrappers": "warn", "no-trailing-spaces": "error", "no-unsafe-finally": "warn", "no-var": "error", "spaced-comment": "error", "semi": "warn", "no-restricted-syntax": [ "error", { "selector": "ExportDefaultDeclaration", "message": "Default exports are not allowed" } ], "no-throw-literal": "error", "key-spacing": "error", "object-curly-spacing": ["error", "always"], "array-bracket-spacing": "error", "space-in-parens": "error", "computed-property-spacing": "error", "prefer-const": ["error", { "destructuring": "all", "ignoreReadBeforeAssign": false }], "space-before-function-paren": "off", "func-call-spacing": "off", "no-multi-spaces": "error", "block-spacing": "error", "keyword-spacing": "off", "space-before-blocks": "error", "semi-spacing": "error" }, "overrides": [ { "files": ["**/*.ts", "**/*.tsx"], "parser": "@typescript-eslint/parser", "parserOptions": { "project": ["tsconfig.json", "tsconfig.commonjs.json"], "sourceType": "module" }, "plugins": [ "@typescript-eslint" ], "rules": { "@typescript-eslint/ban-types": "off", "@typescript-eslint/class-name-casing": "off", "@typescript-eslint/indent": [ "error", 4 ], "@typescript-eslint/member-delimiter-style": [ "off", { "multiline": { "delimiter": "none", "requireLast": true }, "singleline": { "delimiter": "semi", "requireLast": false } } ], "@typescript-eslint/prefer-namespace-keyword": "warn", "@typescript-eslint/quotes": [ "error", "single", { "avoidEscape": true, "allowTemplateLiterals": true } ], "@typescript-eslint/semi": [ "off", null ], "@typescript-eslint/type-annotation-spacing": "error", "@typescript-eslint/brace-style": [ "error", "1tbs", { "allowSingleLine": true } ], "@typescript-eslint/comma-spacing": "error", "@typescript-eslint/space-infix-ops": "error", "@typescript-eslint/space-before-function-paren": ["error", { "anonymous": "always", "named": "never", "asyncArrow": "always" }], "@typescript-eslint/func-call-spacing": ["error"], "@typescript-eslint/keyword-spacing": ["error"] } } ] }