{ "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended" ], "ignorePatterns": [ "**/*.js", "dist/**", "build/**" ], "parser": "@typescript-eslint/parser", "parserOptions": { "project": ["./tsconfig.json", "./tsconfig.test.json"] }, "plugins": [ "@typescript-eslint", "@stylistic/ts" ], "root": true, "rules": { "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/explicit-module-boundary-types": [ "warn", { "allowArgumentsExplicitlyTypedAsAny": true } ], "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-namespace": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-this-alias": "off", "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/no-unused-vars": [ "warn", { "args": "after-used", "argsIgnorePattern": "^_", "ignoreRestSiblings": true, "vars": "all" } ], "@stylistic/ts/quotes": [ "warn", "single" ], "@stylistic/ts/semi": [ "warn", "never" ], "array-bracket-spacing": [ "warn", "never" ], "array-element-newline": [ "warn", "consistent" ], "arrow-spacing": "warn", "comma-dangle": [ "warn", { "arrays": "always-multiline", "exports": "always-multiline", "functions": "only-multiline", "imports": "always-multiline", "objects": "always-multiline" } ], "no-useless-rename": "warn", "@stylistic/ts/no-extra-parens": "warn", "comma-spacing": [ "warn", { "after": true, "before": false } ], "eol-last": [ "warn", "never" ], "for-direction": "off", "function-call-argument-newline": [ "warn", "consistent" ], "@stylistic/ts/indent": [ "warn", 2, { "SwitchCase": 1, "flatTernaryExpressions": true } ], "require-yield": "off", "no-case-declarations": "off", "no-console": [ "warn", { "allow": [ "info", "warn", "error", "time", "timeEnd", "group", "groupEnd" ] } ], "no-constant-condition": [ "warn" ], "no-inner-declarations": "off", "no-multiple-empty-lines": [ "warn", { "max": 2, "maxEOF": 0 } ], "no-trailing-spaces": "warn", "object-curly-newline": [ "warn", { "ExportDeclaration": { "minProperties": 4, "multiline": true }, "ImportDeclaration": "never", "ObjectExpression": { "multiline": true }, "ObjectPattern": { "multiline": true } } ], "object-curly-spacing": [ "warn", "always" ], "padding-line-between-statements": [ "warn", { "blankLine": "never", "next": "import", "prev": "import" } ], "space-before-function-paren": [ "warn", { "anonymous": "always", "asyncArrow": "always", "named": "never" } ], "prefer-const": ["warn"] } }