From d5e2973dce617f451e4eb07491b3a6874ea6ca47 Mon Sep 17 00:00:00 2001 From: xuatz Date: Sun, 22 Jun 2025 20:29:30 +0900 Subject: 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 --- tooling/oxlint/oxlint-react.json | 62 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tooling/oxlint/oxlint-react.json (limited to 'tooling/oxlint/oxlint-react.json') 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" + } +} -- cgit v1.2.3-70-g09d2