aboutsummaryrefslogtreecommitdiffstats
path: root/tooling/oxlint/oxlint-react.json
diff options
context:
space:
mode:
authorxuatz <xzlow10@gmail.com>2025-06-22 20:29:30 +0900
committerGitHub <noreply@github.com>2025-06-22 12:29:30 +0100
commitd5e2973dce617f451e4eb07491b3a6874ea6ca47 (patch)
tree9e134ac8c0b263cec755068082ca61c9646efd21 /tooling/oxlint/oxlint-react.json
parent91a9d3c1aee04d77b2a2d022821f4a7a38e315f3 (diff)
downloadkarakeep-d5e2973dce617f451e4eb07491b3a6874ea6ca47.tar.zst
chore: migrate away from eslint to oxlint (#1642)
* chore: migrate away from eslint to oxlint * revert turbo task name lint * it seems like we can remove the seemingly default globals
Diffstat (limited to 'tooling/oxlint/oxlint-react.json')
-rw-r--r--tooling/oxlint/oxlint-react.json62
1 files changed, 62 insertions, 0 deletions
diff --git a/tooling/oxlint/oxlint-react.json b/tooling/oxlint/oxlint-react.json
new file mode 100644
index 00000000..dd5c4c01
--- /dev/null
+++ b/tooling/oxlint/oxlint-react.json
@@ -0,0 +1,62 @@
+{
+ "$schema": "../../node_modules/oxlint/configuration_schema.json",
+ "plugins": [
+ "react",
+ "jsx-a11y"
+ ],
+ "rules": {
+ "react/prop-types": "off",
+ "react/jsx-key": "warn",
+ "react/jsx-no-comment-textnodes": "warn",
+ "react/jsx-no-duplicate-props": "warn",
+ "react/jsx-no-target-blank": "warn",
+ "react/jsx-no-undef": "warn",
+ "react/no-children-prop": "warn",
+ "react/no-danger-with-children": "warn",
+ "react/no-direct-mutation-state": "warn",
+ "react/no-find-dom-node": "warn",
+ "react/no-is-mounted": "warn",
+ "react/no-render-return-value": "warn",
+ "react/no-string-refs": "warn",
+ "react/no-unescaped-entities": "warn",
+ "react/no-unknown-property": "warn",
+ "react/react-in-jsx-scope": "off",
+ "react-hooks/rules-of-hooks": "error",
+ "react-hooks/exhaustive-deps": "off",
+ "jsx-a11y/alt-text": "error",
+ "jsx-a11y/anchor-ambiguous-text": "off",
+ "jsx-a11y/anchor-has-content": "error",
+ "jsx-a11y/anchor-is-valid": "error",
+ "jsx-a11y/aria-activedescendant-has-tabindex": "error",
+ "jsx-a11y/aria-props": "error",
+ "jsx-a11y/aria-role": "error",
+ "jsx-a11y/aria-unsupported-elements": "error",
+ "jsx-a11y/autocomplete-valid": "error",
+ "jsx-a11y/click-events-have-key-events": "error",
+ "jsx-a11y/heading-has-content": "error",
+ "jsx-a11y/html-has-lang": "error",
+ "jsx-a11y/iframe-has-title": "off",
+ "jsx-a11y/img-redundant-alt": "error",
+ "jsx-a11y/label-has-associated-control": "off",
+ "jsx-a11y/media-has-caption": "error",
+ "jsx-a11y/mouse-events-have-key-events": "error",
+ "jsx-a11y/no-access-key": "error",
+ "jsx-a11y/no-autofocus": "off",
+ "jsx-a11y/no-distracting-elements": "error",
+ "jsx-a11y/no-noninteractive-tabindex": [
+ "error",
+ {
+ "tags": [],
+ "roles": [
+ "tabpanel"
+ ],
+ "allowExpressionValues": true
+ }
+ ],
+ "jsx-a11y/no-redundant-roles": "error",
+ "jsx-a11y/role-has-required-aria-props": "warn",
+ "jsx-a11y/role-supports-aria-props": "error",
+ "jsx-a11y/scope": "error",
+ "jsx-a11y/tabindex-no-positive": "error"
+ }
+}