{ "plugins": ["typescript"], "env": { "browser": true, "esnext": true, "node": true }, "globals": { "describe": "readonly", "it": "readonly", "test": "readonly", "expect": "readonly", "beforeEach": "readonly", "afterEach": "readonly", "beforeAll": "readonly", "afterAll": "readonly", "vi": "readonly" }, "categories": { "correctness": "error", "suspicious": "error", "perf": "warn" }, "ignorePatterns": [ "**/_generated/**", "**/dist/**", "**/coverage/**", "**/node_modules/**", "**/pkg/**", "**/.next/**", "**/*.min.js", "docs/snippets/**/*.ts" ], "rules": { "no-console": "off", "no-debugger": "error", "prefer-const": "error", "eqeqeq": ["error", "always", { "null": "ignore" }], "no-unused-vars": "off", "no-underscore-dangle": "off", "@typescript-eslint/no-unused-vars": "warn", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/no-non-null-assertion": "error", "@typescript-eslint/consistent-type-imports": "error" }, "overrides": [ { "files": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx", "**/tests/**"], "rules": { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-non-null-assertion": "off", "no-unused-vars": "off" } } ] }