- oxlint with react, react-hooks, typescript, import, unicorn plugins - oxfmt (no trailing commas, single quotes, sorted imports) - tsgo (typescript-go native preview) for fast typechecking - Fix all lint warnings: non-null assertions, unused expressions, stale closures - Scripts: lint, format, typecheck, check
44 lines
1.2 KiB
JSON
44 lines
1.2 KiB
JSON
{
|
|
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
|
"plugins": ["react", "react-hooks", "typescript", "import", "unicorn"],
|
|
"env": {
|
|
"browser": true,
|
|
"es2024": true
|
|
},
|
|
"rules": {
|
|
"no-unused-vars": "warn",
|
|
"no-console": "off",
|
|
|
|
"react/jsx-key": "error",
|
|
"react/jsx-no-duplicate-props": "error",
|
|
"react/jsx-no-undef": "error",
|
|
"react/no-children-prop": "error",
|
|
"react/no-danger-with-children": "error",
|
|
"react/no-direct-mutation-state": "error",
|
|
"react/no-string-refs": "error",
|
|
"react/require-render-return": "error",
|
|
|
|
"react-hooks/rules-of-hooks": "error",
|
|
"react-hooks/exhaustive-deps": "warn",
|
|
|
|
"typescript/no-explicit-any": "warn",
|
|
"typescript/no-non-null-assertion": "warn",
|
|
|
|
"import/no-cycle": "error",
|
|
"import/no-self-import": "error",
|
|
|
|
"unicorn/no-instanceof-array": "error",
|
|
"unicorn/no-typeof-undefined": "error"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["**/*.test.ts", "**/*.test.tsx"],
|
|
"rules": {
|
|
"typescript/no-explicit-any": "off",
|
|
"typescript/no-non-null-assertion": "off"
|
|
}
|
|
}
|
|
],
|
|
"ignorePatterns": ["node_modules", "dist", "src-tauri", "*.config.*"]
|
|
}
|