{ "root": true, "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:markdown/recommended", "plugin:import/recommended", "plugin:import/typescript", "prettier" ], "env": { "browser": true, "node": false }, "ignorePatterns": [ "browserstack-browsers.js", "web-test-runner.config.js", "build", "coverage" ], "overrides": [ { "files": ["*.ts", "*.tsx"], "excludedFiles": ["README*/**"], "parserOptions": { "project": ["./tsconfig.json", "test/tsconfig.json"] }, "extends": [ "plugin:@typescript-eslint/recommended-requiring-type-checking" ], "rules": { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/no-unsafe-return": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/ban-types": "off", "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/no-redundant-type-constituents": "off" } }, { "files": ["test/unit/**/*.ts", "test/unit/*.tsx"], "env": { "browser": true, "node": true } }, { "files": ["examples/**/*.js"], "rules": { "import/no-unresolved": "off", "@typescript-eslint/explicit-module-boundary-types": "off" } }, { "files": ["*.js"], "excludedFiles": ["examples/**"], "extends": ["plugin:node/recommended"], "env": { "node": true, "browser": false }, "rules": { "@typescript-eslint/no-var-requires": "off" } }, { "files": ["README*md/*.tsx"], "rules": { "@typescript-eslint/no-unused-vars": "off", "import/no-unresolved": "off" } }, { "files": ["CHANGELOG.md/*"], "rules": { "@typescript-eslint/no-unused-vars": "off", "import/no-unresolved": "off", "node/no-missing-import": "off" } } ], "rules": { "max-statements-per-line": "error", "no-var": "error", "import/newline-after-import": "error", "import/no-default-export": "error" } }