{ "env": { "browser": true, "commonjs": true, "es2021": true, "node": true, "jest": true }, "parser": "@typescript-eslint/parser", "parserOptions": { "project": "tsconfig.json", "sourceType": "module" }, "plugins": [ "import" ], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended" ], "rules": { "linebreak-style": ["error", "unix"], "no-empty": 1, "no-useless-catch": 1, "no-prototype-builtins": 1, "no-constant-condition": 0, "no-useless-escape": 0, "no-console": "error", "no-restricted-globals": [ "error", { "name": "global", "message": "Use `globalThis` instead" }, { "name": "window", "message": "Use `globalThis` instead" } ], "require-yield": 0, "eqeqeq": ["error", "smart"], "spaced-comment": [ "warn", "always", { "line": { "exceptions": ["-"] }, "block": { "exceptions": ["*"] }, "markers": ["/"] } ], "capitalized-comments": [ "warn", "always", { "ignoreInlineComments": true, "ignoreConsecutiveComments": true } ], "curly": [ "error", "multi-line", "consistent" ], "import/order": [ "error", { "groups": [ "type", "builtin", "external", "internal", "index", "sibling", "parent", "object" ], "pathGroups": [ { "pattern": "@", "group": "internal" }, { "pattern": "@/**", "group": "internal" } ], "pathGroupsExcludedImportTypes": [ "type" ], "newlines-between": "never" } ], "@typescript-eslint/no-namespace": 0, "@typescript-eslint/no-explicit-any": 0, "@typescript-eslint/explicit-module-boundary-types": 0, "@typescript-eslint/no-unused-vars": [ "warn", { "varsIgnorePattern": "^_", "argsIgnorePattern": "^_" } ], "@typescript-eslint/no-inferrable-types": 0, "@typescript-eslint/no-non-null-assertion": 0, "@typescript-eslint/no-this-alias": 0, "@typescript-eslint/no-var-requires": 0, "@typescript-eslint/no-empty-function": 0, "@typescript-eslint/no-empty-interface": 0, "@typescript-eslint/consistent-type-imports": ["error"], "@typescript-eslint/consistent-type-exports": ["error"], "no-throw-literal": "off", "@typescript-eslint/no-throw-literal": "off", "@typescript-eslint/no-floating-promises": ["error", { "ignoreVoid": true, "ignoreIIFE": true }], "@typescript-eslint/no-misused-promises": ["error", { "checksVoidReturn": false }], "@typescript-eslint/await-thenable": ["error"], "@typescript-eslint/naming-convention": [ "error", { "selector": "default", "format": ["camelCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allowSingleOrDouble" }, { "selector": "function", "format": ["camelCase", "PascalCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allowSingleOrDouble" }, { "selector": "variable", "format": ["camelCase", "UPPER_CASE", "PascalCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allowSingleOrDouble" }, { "selector": "parameter", "format": ["camelCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allowSingleOrDouble" }, { "selector": "typeLike", "format": ["PascalCase"], "trailingUnderscore": "allowSingleOrDouble" }, { "selector": "enumMember", "format": ["PascalCase", "UPPER_CASE"] }, { "selector": "objectLiteralProperty", "format": null }, { "selector": "typeProperty", "format": null } ], "@typescript-eslint/ban-ts-comment": [ "error", { "ts-ignore": "allow-with-description" } ] } }