{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript", "oxc", "promise"],
"categories": { "correctness": "error" },
"options": { "reportUnusedDisableDirectives": "error" },
"rules": {
"array-callback-return": "error",
"eqeqeq": ["error", "always", { "null": "ignore" }],
"no-empty": "error",
"no-fallthrough": "off",
"no-self-compare": "error",
"no-template-curly-in-string": "error",
"no-promise-executor-return": "error",
"no-throw-literal": "error",
"prefer-promise-reject-errors": "error",
"typescript/ban-ts-comment": [
"error",
{
"ts-ignore": true,
"ts-nocheck": true,
"ts-expect-error": "allow-with-description",
"ts-check": false,
"minimumDescriptionLength": 3
}
],
"typescript/no-explicit-any": "error",
"typescript/no-require-imports": "error",
"promise/catch-or-return": ["error", { "allowThen": true, "allowFinally": true }],
"promise/no-multiple-resolved": "error",
"promise/no-callback-in-promise": "off"
},
"ignorePatterns": ["node_modules/", "dist/", "artifacts/", "ios/", "android/", "/native/"],
"overrides": [
{
"files": ["scripts/**/*.mjs", "test/**/*.mjs"],
"env": { "node": true },
"rules": {
"no-undef": "error",
"no-fallthrough": "error"
}
},
{
"files": ["src/**", "packages/**", "demo/**", "app/**", "scripts/templates/**"],
"rules": {
"no-restricted-imports": [
"error",
{
"patterns": [
{
"group": [
"react",
"react/**",
"react-dom",
"react-dom/**",
"react-native",
"react-native/**",
"react-reconciler",
"react-reconciler/**",
"solid-js/web",
"solid-js/web/**"
],
"message": "Use Solid core and the native renderer/components, not React/RN JS or the DOM renderer."
}
]
}
]
}
},
{
"files": ["test/types/**"],
"rules": {
"no-unused-vars": "off",
"no-unused-expressions": "off"
}
}
]
}