68 lines
1.9 KiB
JSON
68 lines
1.9 KiB
JSON
{
|
|
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
|
"plugins": [
|
|
"typescript",
|
|
"react",
|
|
"nextjs",
|
|
"oxc"
|
|
],
|
|
"categories": {
|
|
"correctness": "error"
|
|
},
|
|
"rules": {
|
|
"no-alert": "warn",
|
|
"no-console": ["warn", { "allow": ["warn", "error", "log"] }],
|
|
"no-debugger": "error",
|
|
"no-duplicate-imports": "error",
|
|
"no-var": "error",
|
|
"prefer-const": "error",
|
|
"typescript/no-explicit-any": "error",
|
|
"typescript/no-unsafe-assignment": "error",
|
|
"typescript/no-unsafe-member-access": "error",
|
|
"typescript/no-unsafe-call": "error",
|
|
"typescript/no-unsafe-return": "error",
|
|
"typescript/no-unsafe-argument": "error",
|
|
"typescript/no-floating-promises": "error",
|
|
"typescript/no-misused-promises": "error",
|
|
"typescript/await-thenable": "error",
|
|
"typescript/no-unnecessary-type-assertion": "error",
|
|
"typescript/prefer-nullish-coalescing": "warn",
|
|
"typescript/prefer-optional-chain": "warn",
|
|
"typescript/no-redundant-type-constituents": "error",
|
|
"typescript/no-non-null-assertion": "warn",
|
|
"typescript/no-unused-vars": [
|
|
"error",
|
|
{
|
|
"argsIgnorePattern": "^_",
|
|
"varsIgnorePattern": "^_",
|
|
"caughtErrorsIgnorePattern": "^_"
|
|
}
|
|
],
|
|
"nextjs/no-html-link-for-pages": "error",
|
|
"nextjs/no-img-element": "warn",
|
|
"react/rules-of-hooks": "error",
|
|
"react/exhaustive-deps": "warn",
|
|
"react/react-in-jsx-scope": "off",
|
|
"typescript/consistent-return": "off",
|
|
"typescript/no-unsafe-type-assertion": "off",
|
|
"typescript/no-unnecessary-template-expression": "off",
|
|
"typescript/no-unnecessary-type-conversion": "off"
|
|
},
|
|
"options": {
|
|
"typeAware": true
|
|
},
|
|
"env": {
|
|
"builtin": true,
|
|
"browser": true,
|
|
"node": true
|
|
},
|
|
"ignorePatterns": [
|
|
".next/**",
|
|
"out/**",
|
|
"build/**",
|
|
"next-env.d.ts",
|
|
"src/shared/ui/chart.tsx",
|
|
"src/shared/hooks/theme-message-listener.tsx"
|
|
]
|
|
}
|