Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 98 additions & 69 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
],
"overrides": [
{
"files": ["**/*.{ts,tsx}"],
"files": [
"**/*.{ts,tsx}"
],
"rules": {
"@docusaurus/prefer-docusaurus-heading": "error",
"@docusaurus/no-html-links": "error",
"constructor-super": "error",
"for-direction": "error",
"getter-return": "error",
Expand Down Expand Up @@ -74,6 +74,7 @@
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-vars": "error",
"no-useless-assignment": "error",
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-escape": "error",
Expand Down Expand Up @@ -171,18 +172,85 @@
"allowRegExp": false
}
],
"typescript/return-await": ["error", "error-handling-correctness-only"],
"typescript/return-await": [
"error",
"error-handling-correctness-only"
],
"typescript/triple-slash-reference": "error",
"typescript/unbound-method": "error",
"typescript/unified-signatures": "error",
"typescript/use-unknown-in-catch-callback-variable": "error",
"import/named": "error",
"react/rules-of-hooks": "error",
"react/exhaustive-deps": "warn",
"react-x/error-boundaries": "error",
"react-x/exhaustive-deps": "warn",
"react-x/no-access-state-in-setstate": "error",
"react-x/no-array-index-key": "warn",
"react-x/no-children-count": "warn",
"react-x/no-children-for-each": "warn",
"react-x/no-children-map": "warn",
"react-x/no-children-only": "warn",
"react-x/no-children-to-array": "warn",
"react-x/no-clone-element": "warn",
"react-x/no-component-will-mount": "error",
"react-x/no-component-will-receive-props": "error",
"react-x/no-component-will-update": "error",
"react-x/no-context-provider": "warn",
"react-x/no-create-ref": "error",
"react-x/no-direct-mutation-state": "error",
"react-x/no-forward-ref": "warn",
"react-x/no-missing-key": "error",
"react-x/no-nested-component-definitions": "error",
"react-x/no-nested-lazy-component-declarations": "error",
"react-x/no-set-state-in-component-did-mount": "warn",
"react-x/no-set-state-in-component-did-update": "warn",
"react-x/no-set-state-in-component-will-update": "warn",
"react-x/no-unnecessary-use-prefix": "warn",
"react-x/no-unsafe-component-will-mount": "warn",
"react-x/no-unsafe-component-will-receive-props": "warn",
"react-x/no-unsafe-component-will-update": "warn",
"react-x/no-unused-class-component-members": "warn",
"react-x/no-unused-state": "warn",
"react-x/no-use-context": "warn",
"react-x/purity": "warn",
"react-x/rules-of-hooks": "error",
"react-x/set-state-in-effect": "warn",
"react-x/set-state-in-render": "error",
"react-x/static-components": "error",
"react-x/unsupported-syntax": "error",
"react-x/use-memo": "error",
"react-x/use-state": "warn",
"react-dom/no-dangerously-set-innerhtml": "warn",
"react-dom/no-dangerously-set-innerhtml-with-children": "error",
"react-dom/no-find-dom-node": "error",
"react-dom/no-flush-sync": "error",
"react-dom/no-hydrate": "error",
"react-dom/no-render": "error",
"react-dom/no-render-return-value": "error",
"react-dom/no-script-url": "warn",
"react-dom/no-unsafe-iframe-sandbox": "warn",
"react-dom/no-use-form-state": "error",
"react-dom/no-void-elements-with-children": "error",
"react-naming-convention/context-name": "warn",
"react-naming-convention/id-name": "warn",
"react-naming-convention/ref-name": "warn",
"react-jsx/no-children-prop": "warn",
"react-jsx/no-children-prop-with-children": "error",
"react-jsx/no-comment-textnodes": "warn",
"react-jsx/no-key-after-spread": "error",
"react-jsx/no-leaked-dollar": "warn",
"react-jsx/no-leaked-semicolon": "warn",
"react-jsx/no-namespace": "error",
"import/named": "off",
"import/namespace": "error",
"import/default": "error",
"import/export": "error",
"import/no-named-as-default": "warn",
"import/no-named-as-default-member": "warn",
"import/no-duplicates": "warn",
"react-perf/jsx-no-new-object-as-prop": "error",
"react-perf/jsx-no-new-array-as-prop": "error",
"react-perf/jsx-no-new-function-as-prop": "error",
"jsx-a11y/alt-text": "error",
"jsx-a11y/anchor-ambiguous-text": "off",
"jsx-a11y/anchor-has-content": "error",
Expand All @@ -208,7 +276,9 @@
"error",
{
"tags": [],
"roles": ["tabpanel"],
"roles": [
"tabpanel"
],
"allowExpressionValues": true
}
],
Expand All @@ -231,66 +301,6 @@
"jsx-a11y/role-supports-aria-props": "error",
"jsx-a11y/scope": "error",
"jsx-a11y/tabindex-no-positive": "error",
"react-dom/no-dangerously-set-innerhtml": "warn",
"react-dom/no-dangerously-set-innerhtml-with-children": "error",
"react-dom/no-find-dom-node": "error",
"react-dom/no-flush-sync": "error",
"react-dom/no-hydrate": "error",
"react-dom/no-render": "error",
"react-dom/no-render-return-value": "error",
"react-dom/no-script-url": "warn",
"react-dom/no-unsafe-iframe-sandbox": "warn",
"react-dom/no-use-form-state": "error",
"react-dom/no-void-elements-with-children": "error",
"react-perf/jsx-no-new-object-as-prop": "error",
"react-perf/jsx-no-new-array-as-prop": "error",
"react-perf/jsx-no-new-function-as-prop": "error",
"react-x/component-hook-factories": "error",
"react-x/error-boundaries": "error",
"react-x/exhaustive-deps": "warn",
"react-x/no-access-state-in-setstate": "error",
"react-x/no-array-index-key": "warn",
"react-x/no-children-count": "warn",
"react-x/no-children-for-each": "warn",
"react-x/no-children-map": "warn",
"react-x/no-children-only": "warn",
"react-x/no-children-to-array": "warn",
"react-x/no-clone-element": "warn",
"react-x/no-component-will-mount": "error",
"react-x/no-component-will-receive-props": "error",
"react-x/no-component-will-update": "error",
"react-x/no-context-provider": "warn",
"react-x/no-create-ref": "error",
"react-x/no-direct-mutation-state": "error",
"react-x/no-forward-ref": "warn",
"react-x/no-missing-key": "error",
"react-x/no-nested-component-definitions": "error",
"react-x/no-nested-lazy-component-declarations": "error",
"react-x/no-redundant-should-component-update": "error",
"react-x/no-set-state-in-component-did-mount": "warn",
"react-x/no-set-state-in-component-did-update": "warn",
"react-x/no-set-state-in-component-will-update": "warn",
"react-x/no-unnecessary-use-prefix": "warn",
"react-x/no-unsafe-component-will-mount": "warn",
"react-x/no-unsafe-component-will-receive-props": "warn",
"react-x/no-unsafe-component-will-update": "warn",
"react-x/no-unused-class-component-members": "warn",
"react-x/no-use-context": "warn",
"react-x/purity": "warn",
"react-x/rules-of-hooks": "error",
"react-x/set-state-in-effect": "warn",
"react-x/set-state-in-render": "error",
"react-x/unsupported-syntax": "error",
"react-x/use-memo": "error",
"react-x/use-state": "warn",
"react-x/no-class-component": "error",
"react-x/no-misused-capture-owner-stack": "error",
"react-x/no-unnecessary-use-callback": "warn",
"react-x/no-unnecessary-use-memo": "warn",
"react-x/no-unstable-context-value": "warn",
"react-x/no-unstable-default-props": "warn",
"react-x/no-unused-state": "warn",
"react-x/prefer-destructuring-assignment": "warn",
"no-negated-condition": "off",
"no-nested-ternary": "off",
"unicorn/catch-error-name": "error",
Expand All @@ -299,6 +309,7 @@
"unicorn/consistent-empty-array-spread": "error",
"unicorn/consistent-existence-index-check": "error",
"unicorn/consistent-function-scoping": "error",
"unicorn/consistent-template-literal-escape": "error",
"unicorn/custom-error-definition": "off",
"unicorn/empty-brace-spaces": "error",
"unicorn/error-message": "error",
Expand Down Expand Up @@ -349,6 +360,7 @@
"unicorn/no-useless-collection-argument": "error",
"unicorn/no-useless-error-capture-stack-trace": "error",
"unicorn/no-useless-fallback-in-spread": "error",
"unicorn/no-useless-iterator-to-array": "error",
"unicorn/no-useless-length-check": "error",
"unicorn/no-useless-promise-resolve-reject": "error",
"unicorn/no-useless-spread": "error",
Expand Down Expand Up @@ -377,6 +389,7 @@
"unicorn/prefer-dom-node-text-content": "error",
"unicorn/prefer-event-target": "error",
"unicorn/prefer-global-this": "error",
"unicorn/prefer-import-meta-properties": "off",
"unicorn/prefer-includes": "error",
"unicorn/prefer-keyboard-event-key": "error",
"unicorn/prefer-logical-operator-over-ternary": "error",
Expand Down Expand Up @@ -415,11 +428,27 @@
"unicorn/require-number-to-fixed-digits-argument": "error",
"unicorn/require-post-message-target-origin": "off",
"unicorn/switch-case-braces": "error",
"unicorn/switch-case-break-position": "error",
"unicorn/text-encoding-identifier-case": "error",
"unicorn/throw-new-error": "error"
"unicorn/throw-new-error": "error",
"@docusaurus/prefer-docusaurus-heading": "error",
"@docusaurus/no-html-links": "error",
},
"plugins": ["typescript", "import", "jsx-a11y", "react-perf", "unicorn"],
"jsPlugins": ["eslint-plugin-react-dom", "eslint-plugin-react-x", "@docusaurus/eslint-plugin"],
"plugins": [
"typescript",
"react",
"import",
"react-perf",
"jsx-a11y",
"unicorn"
],
"jsPlugins": [
"eslint-plugin-react-x",
"eslint-plugin-react-dom",
"eslint-plugin-react-naming-convention",
"eslint-plugin-react-jsx",
"@docusaurus/eslint-plugin"
],
"env": {
"es2026": true,
"es2020": true,
Expand Down
6 changes: 3 additions & 3 deletions mise.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tools]
node = "24.15.0"
pnpm = "10.33.3"
node = "26.1.0"
pnpm = "11.0.8"

[settings]
experimental = true
Expand Down Expand Up @@ -79,4 +79,4 @@ run = "oxfmt --write src"
description = "Lints and formats the react codebase"
env._.path = "./node_modules/.bin"
dir = "{{ config_root }}"
run = [{"task" = "docs:lint"}, { "task" = "docs:format"}]
run = [{"task" = "docs:lint"}, { "task" = "docs:format"}]
30 changes: 16 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,28 @@
"@mdx-js/react": "^3.1.1",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
"react": "^19.2.5",
"react-dom": "^19.2.5"
"react": "^19.2.6",
"react-dom": "^19.2.6"
},
"devDependencies": {
"@docusaurus/eslint-plugin": "^3.10.0",
"@docusaurus/eslint-plugin": "^3.10.1",
"@docusaurus/module-type-aliases": "3.10.1",
"@docusaurus/types": "3.10.1",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"eslint": "^10.2.0",
"eslint-plugin-oxlint": "^1.59.0",
"eslint-plugin-react-dom": "^5.0.0",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-x": "^5.0.0",
"globals": "^17.4.0",
"oxfmt": "^0.47.0",
"oxlint": "^1.59.0",
"oxlint-tsgolint": "^0.22.0",
"eslint": "^10.3.0",
"eslint-plugin-oxlint": "^1.63.0",
"eslint-plugin-react-dom": "^5.7.4",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-jsx": "^5.7.4",
"eslint-plugin-react-naming-convention": "^5.7.4",
"eslint-plugin-react-x": "^5.7.4",
"globals": "^17.6.0",
"oxfmt": "^0.48.0",
"oxlint": "^1.63.0",
"oxlint-tsgolint": "^0.22.1",
"typescript": "^6.0.2",
"typescript-eslint": "^8.58.1"
"typescript-eslint": "^8.59.2"
},
"browserslist": {
"production": [
Expand All @@ -57,6 +59,6 @@
]
},
"engines": {
"node": ">=18.0"
"node": ">=24.0"
}
}
Loading