Files
Reactive-Resume/.oxlintrc.json
T

108 lines
2.6 KiB
JSON

{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript", "unicorn", "oxc", "react", "jsx-a11y"],
"jsPlugins": ["@shadcn/lint"],
"categories": {
"correctness": "error"
},
"ignorePatterns": [
"**/.turbo/**",
"**/.output/**",
"**/dist/**",
"**/dist-prerender/**",
"**/.vercel/**",
"**/.wrangler/**",
"**/coverage/**",
"**/reports/**",
"**/routeTree.gen.ts"
],
"rules": {
"typescript/no-explicit-any": "error",
"require-await": "error",
"typescript/consistent-type-imports": [
"error",
{
"prefer": "type-imports",
"fixStyle": "separate-type-imports",
"disallowTypeAnnotations": false
}
],
"typescript/no-non-null-assertion": "error",
"no-restricted-imports": [
"error",
{
"patterns": [
{
"regex": "@reactive-resume/[^/]+/src(?:/|$)|(?:^|/)(?:apps|packages)/[^/]+/src(?:/|$)",
"message": "Use the workspace package export map instead of private src paths, including re-exports and dynamic imports."
},
{
"group": ["apps/**", "packages/**"],
"message": "Do not import another workspace by repository path; use an explicit package export."
}
]
}
],
"no-param-reassign": "error",
"typescript/prefer-as-const": "error",
"default-param-last": "error",
"typescript/prefer-enum-initializers": "error",
"react/self-closing-comp": "error",
"one-var": ["error", "never"],
"unicorn/prefer-number-properties": "error",
"typescript/no-inferrable-types": "error",
"no-else-return": "error",
"react/no-array-index-key": "off",
"react/exhaustive-deps": "warn",
"react/unsupported-syntax": "error",
"no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
],
"typescript/triple-slash-reference": [
"error",
{
"path": "always",
"types": "prefer-import",
"lib": "always"
}
],
"jsx-a11y/prefer-tag-over-role": "off",
"jsx-a11y/control-has-associated-label": "off",
"jsx-a11y/no-noninteractive-element-interactions": "off",
"jsx-a11y/no-autofocus": [
"error",
{
"ignoreNonDOM": true
}
],
"unicorn/no-new-array": "off",
"no-irregular-whitespace": [
"error",
{
"skipComments": true
}
],
"react/no-danger": "error",
"react/rules-of-hooks": "error"
},
"overrides": [
{
"files": ["**/*.test.{ts,tsx,mts,mjs}", "**/*.spec.{ts,tsx,mts,mjs}"],
"rules": {
"require-await": "off"
}
},
{
"files": ["tests/e2e/fixtures/test.ts"],
"rules": {
"react/rules-of-hooks": "off"
}
}
]
}