{ "env": { "node": true, "mocha": true, "es6": true }, "extends": [ "eslint:recommended", "plugin:import/recommended", "plugin:import/typescript", "plugin:@typescript-eslint/recommended" ], "parser": "@typescript-eslint/parser", "plugins": [ "@typescript-eslint", "only-warn", "import" ], "ignorePatterns": [ "*.js", "*.d.ts" ], "rules": { "@typescript-eslint/no-empty-interface": "off", "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/member-delimiter-style": [ "warn", { "multiline": { "delimiter": "comma", "requireLast": false }, "singleline": { "delimiter": "comma", "requireLast": false }, "multilineDetection": "brackets", "overrides": { "interface": { "multiline": { "delimiter": "semi", "requireLast": true }, "singleline": { "delimiter": "semi", "requireLast": false } } } } ], "@typescript-eslint/explicit-module-boundary-types": [ "warn", { "allowArgumentsExplicitlyTypedAsAny": true } ], "@typescript-eslint/semi": "warn", "import/first": "warn", "import/no-duplicates": "warn", "import/no-unresolved": "off", // The src directory is not used for compiled files "import/no-self-import": "warn", "import/extensions": [ "warn", "always" ], "import/order": [ "warn", { "newlines-between": "ignore", "alphabetize": { "order": "asc", "caseInsensitive": true } } ], "semi": "off", // Using @typescript-eslint/semi instead "no-else-return": "warn", "no-trailing-spaces": "warn", "eqeqeq": "warn", "template-curly-spacing": "warn", "no-template-curly-in-string": "warn", "object-curly-spacing": [ "warn", "always" ], "array-bracket-spacing": [ "warn", "always" ], "linebreak-style": [ "warn", "unix" ], "quotes": [ "warn", "single" ], "eol-last": [ "warn", "always" ], "indent": [ "warn", 4, { "SwitchCase": 1 } ], "no-empty": [ "warn", { "allowEmptyCatch": true } ], "no-multiple-empty-lines": [ "warn", { "max": 999, "maxEOF": 0 } ] } }