{ "$schema": "./node_modules/oxlint/configuration_schema.json", "plugins": ["typescript", "import", "unicorn", "promise"], "jsPlugins": ["@e18e/eslint-plugin"], "categories": { "correctness": "error", "suspicious": "warn", "perf": "warn" }, "rules": { "no-await-in-loop": "off", "no-unused-vars": [ "warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" } ], "unicorn/filename-case": "off", "unicorn/prevent-abbreviations": "off", "unicorn/no-null": "off", "unicorn/prefer-add-event-listener": "off", "typescript/no-unsafe-type-assertion": "warn", "typescript/unbound-method": "off", "typescript/no-unnecessary-boolean-literal-compare": "off", "import/no-named-as-default": "off", "import/no-unassigned-import": [ "warn", { "allow": ["**/*.css", "@testing-library/react", "vitest-browser-react"] } ], "e18e/prefer-array-at": "error", "e18e/prefer-array-fill": "error", "e18e/prefer-includes": "error", "e18e/prefer-array-to-reversed": "error", "e18e/prefer-array-to-sorted": "error", "e18e/prefer-array-to-spliced": "error", "e18e/prefer-nullish-coalescing": "error", "e18e/prefer-object-has-own": "error", "e18e/prefer-spread-syntax": "error", "e18e/prefer-url-canparse": "error", "e18e/ban-dependencies": "error", "e18e/prefer-array-from-map": "error", "e18e/prefer-timer-args": "error", "e18e/prefer-date-now": "error", "e18e/prefer-regex-test": "error", "e18e/prefer-array-some": "error", "e18e/prefer-static-regex": "error" }, "overrides": [ { "files": ["**/*.test.ts", "**/*.test.tsx", "**/tests/**/*.ts", "**/tests/**/*.tsx"], "rules": { "typescript/no-unsafe-type-assertion": "off", "typescript/no-unnecessary-type-assertion": "off", "unicorn/consistent-function-scoping": "off", "e18e/prefer-static-regex": "off" } }, { "files": [ "**/database/repositories/content.ts", "**/database/repositories/comment.ts", "**/database/repositories/user.ts", "**/mcp/server.ts", "**/client/index.ts", "**/client/transport.ts", "**/client/portable-text.ts", "**/cli/**/*.ts", "**/api/handlers/api-tokens.ts", "**/api/handlers/device-flow.ts", "**/api/handlers/oauth-authorization.ts", "**/api/handlers/comments.ts", "**/routes/api/oauth/token.ts", "**/routes/api/comments/**/*.ts", "**/routes/api/admin/comments/**/*.ts", "**/routes/api/plugins/**/*.ts", "**/plugins/hooks.ts", "**/plugins/context.ts", "**/plugins/cron.ts", "**/plugins/define-plugin.ts", "**/plugins/request-meta.ts", "**/seed/load.ts", "**/comments/notifications.ts", "**/astro/integration/index.ts", "packages/plugins/**/*.ts", "packages/plugins/**/*.tsx", "packages/blocks/**/*.tsx", "packages/admin/**/*.tsx" ], "rules": { "typescript/no-unsafe-type-assertion": "off" } } ], "ignorePatterns": [ "**/dist/**", "**/node_modules/**", "**/*.d.ts", "skills/**/scaffold/**", ".opencode/skills/**/scaffold/**", ".claude/skills/**/scaffold/**" ] }