mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-03 10:13:47 +10:00
108 lines
2.6 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|
|
}
|