{ "root": true, "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:import/recommended", "plugin:import/typescript" ], "rules": { "@typescript-eslint/no-explicit-any": 0, "@typescript-eslint/no-unused-vars": 1, "@typescript-eslint/no-empty-interface": 0, "@typescript-eslint/no-namespace": 0, "@typescript-eslint/func-call-spacing": 2, "@typescript-eslint/quotes": ["warn", "double"], "@typescript-eslint/brace-style": ["warn", "1tbs"], "@typescript-eslint/naming-convention": [ "warn", { "selector": "default", "format": ["camelCase"], "leadingUnderscore": "allow" }, { "selector": "typeLike", "format": ["PascalCase"] }, { "selector": "objectLiteralProperty", "format": ["PascalCase", "camelCase"], "leadingUnderscore": "allow" }, { "selector": "typeProperty", "format": ["PascalCase", "camelCase"], "leadingUnderscore": "allow" }, { "selector": "enumMember", "format": ["UPPER_CASE"] } ], "@typescript-eslint/indent": ["warn", 2], "@typescript-eslint/no-unused-expressions": [ "warn", { "allowShortCircuit": false, "allowTernary": false } ], "@typescript-eslint/keyword-spacing": [ "warn", { "before": true, "after": true } ], "@typescript-eslint/explicit-module-boundary-types": [ "warn", { "allowArgumentsExplicitlyTypedAsAny": true } ], "sort-imports": [ "error", { "ignoreCase": false, "ignoreDeclarationSort": true, // don"t want to sort import lines, use eslint-plugin-import instead "ignoreMemberSort": false, "memberSyntaxSortOrder": ["none", "all", "multiple", "single"], "allowSeparatedGroups": true } ], "import/no-unresolved": "error", "import/order": [ "error", { "groups": [ "builtin", "external", "internal", ["sibling", "parent"], "index", "unknown" ], "newlines-between": "always", "alphabetize": { "order": "asc", "caseInsensitive": true } } ] }, "settings": { "import/resolver": { "typescript": { "project": "./tsconfig.json" } } }, "overrides": [ { "files": ["*.mjs", "*.ts"], "env": { "node": true } } ] }