106 lines
3.0 KiB
JSON
106 lines
3.0 KiB
JSON
{
|
|
"$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/**"
|
|
]
|
|
}
|