{ "extends": [ "airbnb-base", "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", // "plugin:@typescript-eslint/recommended-requiring-type-checking", "airbnb-typescript-base" ], "parserOptions": { "ecmaVersion": 2019, "sourceType": "module", "project": "./tsconfig.json" }, "env": { "browser": true, "node": true, "es6": true }, "globals": { "ENV": "readonly" }, "rules": { "camelcase": "off", "comma-dangle": [ "error", "always-multiline" ], "curly": "error", "eqeqeq": "error", "guard-for-in": "error", "new-cap": "error", "no-caller": "error", "no-empty": "warn", "no-extra-boolean-cast": "warn", "no-multi-spaces": "error", "no-new": "error", "no-plusplus": "off", "no-trailing-spaces": "error", "no-underscore-dangle": "off", "no-unused-expressions": "error", "no-use-before-define": "warn", "quotes": [ "error", "single" ], "strict": "off", "wrap-iife": [ "error", "outside" ], "import/no-named-as-default": "off", "@typescript-eslint/restrict-template-expressions": "off", "@typescript-eslint/prefer-namespace-keyword": "off", // STYLE "brace-style": ["error", "1tbs"], "comma-spacing": ["error", { "before": false, "after": true }], "comma-style": ["error", "last"], "consistent-return": "error", "consistent-this": ["warn", "self"], "dot-notation": "error", "eol-last": "error", "func-call-spacing": [ "error", "never" ], "indent": ["error", 4, { "SwitchCase": 1 }], "@typescript-eslint/indent": ["error", 4], "key-spacing": ["warn", { "beforeColon": false, "afterColon": true }], "keyword-spacing": [ "error", { "after": true }], "max-len" : ["warn", 120], "max-params": ["error", 7], "new-parens": "error", "no-array-constructor": "error", "no-mixed-spaces-and-tabs": "error", "no-multiple-empty-lines": "error", "no-shadow": "error", "no-undef": "error", "padded-blocks": ["error", "never"], "semi-spacing": "error", "semi": ["error", "always"], "space-infix-ops": "error", "yoda": "error", "linebreak-style": "off" } }