Files
orca/config/oxlint-react-doctor.json
T

58 lines
2.3 KiB
JSON

{
"$schema": "../node_modules/oxlint/configuration_schema.json",
"plugins": [],
"categories": {
"correctness": "off",
"suspicious": "off",
"pedantic": "off",
"perf": "off",
"style": "off",
"restriction": "off",
"nursery": "off"
},
"jsPlugins": [{ "name": "react-doctor", "specifier": "oxlint-plugin-react-doctor" }],
"rules": {
"react-doctor/effect-needs-cleanup": "warn",
"react-doctor/no-array-index-as-key": "warn",
"react-doctor/no-adjust-state-on-prop-change": "warn",
"react-doctor/no-create-store-in-render": "warn",
"react-doctor/no-derived-state-effect": "warn",
// Derived-state checks already catch mount copies; hydration sentinels are intentional.
"react-doctor/no-initialize-state": "off",
// The native counterpart runs in the default scan and allows render props.
"react-doctor/no-unstable-nested-components": "off",
"react-doctor/no-side-effect-in-state-updater-function": "warn",
"react-doctor/zustand-no-fresh-selector-result": "warn",
"react-doctor/zustand-no-get-during-initialization": "warn",
"react-doctor/zustand-no-mutating-state": "warn",
"react-doctor/zustand-no-whole-store-destructure": "warn"
},
"overrides": [
{
// These processes have no React; linting them only pays AST transfer to JS.
// Paths outside config/ are matched absolute, so globs need a leading **/.
"files": [
"**/src/main/**",
"**/src/shared/**",
"**/src/preload/**",
"**/src/cli/**",
"**/src/wsl-guest/**",
"**/cloud/**"
],
"rules": {
"react-doctor/effect-needs-cleanup": "off",
"react-doctor/no-array-index-as-key": "off",
"react-doctor/no-adjust-state-on-prop-change": "off",
"react-doctor/no-create-store-in-render": "off",
"react-doctor/no-derived-state-effect": "off",
"react-doctor/no-side-effect-in-state-updater-function": "off",
"react-doctor/zustand-no-fresh-selector-result": "off",
"react-doctor/zustand-no-get-during-initialization": "off",
"react-doctor/zustand-no-mutating-state": "off",
"react-doctor/zustand-no-whole-store-destructure": "off"
}
}
],
"ignorePatterns": ["**/node_modules", "**/dist", "**/out"]
}