diff --git a/.vitepress/data/rules.json b/.vitepress/data/rules.json index f8d710dfbf7..c4005d0b0c0 100644 --- a/.vitepress/data/rules.json +++ b/.vitepress/data/rules.json @@ -1,534 +1,264 @@ [ { - "scope": "import", - "value": "consistent-type-specifier-style", - "category": "style", - "type_aware": false, - "fix": "conditional_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/consistent-type-specifier-style.html" - }, - { - "scope": "import", - "value": "default", - "category": "correctness", + "scope": "eslint", + "value": "accessor-pairs", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/default.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/accessor-pairs.html" }, { - "scope": "import", - "value": "export", - "category": "nursery", + "scope": "eslint", + "value": "array-callback-return", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/export.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/array-callback-return.html" }, { - "scope": "import", - "value": "exports-last", + "scope": "eslint", + "value": "arrow-body-style", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/exports-last.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/arrow-body-style.html" }, { - "scope": "import", - "value": "extensions", - "category": "restriction", + "scope": "eslint", + "value": "block-scoped-var", + "category": "suspicious", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/extensions.html" - }, - { - "scope": "import", - "value": "first", - "category": "style", - "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/first.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/block-scoped-var.html" }, { - "scope": "import", - "value": "group-exports", + "scope": "eslint", + "value": "capitalized-comments", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/group-exports.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/capitalized-comments.html" }, { - "scope": "import", - "value": "max-dependencies", - "category": "pedantic", + "scope": "eslint", + "value": "class-methods-use-this", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/max-dependencies.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/class-methods-use-this.html" }, { - "scope": "import", - "value": "named", - "category": "nursery", + "scope": "eslint", + "value": "complexity", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/named.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/complexity.html" }, { - "scope": "import", - "value": "namespace", + "scope": "eslint", + "value": "constructor-super", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/namespace.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/constructor-super.html" }, { - "scope": "import", - "value": "no-absolute-path", - "category": "suspicious", + "scope": "eslint", + "value": "curly", + "category": "style", "type_aware": false, - "fix": "pending", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-absolute-path.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/curly.html" }, { - "scope": "import", - "value": "no-amd", + "scope": "eslint", + "value": "default-case", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-amd.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-case.html" }, { - "scope": "import", - "value": "no-anonymous-default-export", + "scope": "eslint", + "value": "default-case-last", "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-anonymous-default-export.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-case-last.html" }, { - "scope": "import", - "value": "no-commonjs", - "category": "restriction", + "scope": "eslint", + "value": "default-param-last", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-commonjs.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-param-last.html" }, { - "scope": "import", - "value": "no-cycle", - "category": "restriction", + "scope": "eslint", + "value": "eqeqeq", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "conditional_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-cycle.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/eqeqeq.html" }, { - "scope": "import", - "value": "no-default-export", - "category": "restriction", + "scope": "eslint", + "value": "for-direction", + "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-default-export.html" + "fix": "fixable_dangerous_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/for-direction.html" }, { - "scope": "import", - "value": "no-duplicates", + "scope": "eslint", + "value": "func-names", "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_safe_fix_or_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-duplicates.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/func-names.html" }, { - "scope": "import", - "value": "no-dynamic-require", - "category": "restriction", + "scope": "eslint", + "value": "func-style", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-dynamic-require.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/func-style.html" }, { - "scope": "import", - "value": "no-empty-named-blocks", - "category": "suspicious", + "scope": "eslint", + "value": "getter-return", + "category": "nursery", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-empty-named-blocks.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/getter-return.html" }, { - "scope": "import", - "value": "no-mutable-exports", + "scope": "eslint", + "value": "grouped-accessor-pairs", "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-mutable-exports.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/grouped-accessor-pairs.html" }, { - "scope": "import", - "value": "no-named-as-default", - "category": "suspicious", + "scope": "eslint", + "value": "guard-for-in", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-as-default.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/guard-for-in.html" }, { - "scope": "import", - "value": "no-named-as-default-member", - "category": "suspicious", + "scope": "eslint", + "value": "id-length", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-as-default-member.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/id-length.html" }, { - "scope": "import", - "value": "no-named-default", + "scope": "eslint", + "value": "init-declarations", "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-default.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/init-declarations.html" }, { - "scope": "import", - "value": "no-named-export", - "category": "style", + "scope": "eslint", + "value": "max-classes-per-file", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-export.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-classes-per-file.html" }, { - "scope": "import", - "value": "no-namespace", - "category": "style", + "scope": "eslint", + "value": "max-depth", + "category": "pedantic", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-namespace.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-depth.html" }, { - "scope": "import", - "value": "no-self-import", - "category": "suspicious", + "scope": "eslint", + "value": "max-lines", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-self-import.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines.html" }, { - "scope": "import", - "value": "no-unassigned-import", - "category": "suspicious", + "scope": "eslint", + "value": "max-lines-per-function", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-unassigned-import.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines-per-function.html" }, { - "scope": "import", - "value": "no-webpack-loader-syntax", - "category": "restriction", + "scope": "eslint", + "value": "max-nested-callbacks", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-webpack-loader-syntax.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-nested-callbacks.html" }, { - "scope": "import", - "value": "prefer-default-export", + "scope": "eslint", + "value": "max-params", "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/prefer-default-export.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-params.html" }, { - "scope": "import", - "value": "unambiguous", - "category": "restriction", + "scope": "eslint", + "value": "max-statements", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/unambiguous.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-statements.html" }, { "scope": "eslint", - "value": "accessor-pairs", - "category": "pedantic", + "value": "new-cap", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/accessor-pairs.html" - }, - { - "scope": "eslint", - "value": "array-callback-return", - "category": "pedantic", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/array-callback-return.html" - }, - { - "scope": "eslint", - "value": "arrow-body-style", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/arrow-body-style.html" - }, - { - "scope": "eslint", - "value": "block-scoped-var", - "category": "suspicious", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/block-scoped-var.html" - }, - { - "scope": "eslint", - "value": "capitalized-comments", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/capitalized-comments.html" - }, - { - "scope": "eslint", - "value": "class-methods-use-this", - "category": "restriction", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/class-methods-use-this.html" - }, - { - "scope": "eslint", - "value": "complexity", - "category": "restriction", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/complexity.html" - }, - { - "scope": "eslint", - "value": "constructor-super", - "category": "correctness", - "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/constructor-super.html" - }, - { - "scope": "eslint", - "value": "curly", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/curly.html" - }, - { - "scope": "eslint", - "value": "default-case", - "category": "restriction", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-case.html" - }, - { - "scope": "eslint", - "value": "default-case-last", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-case-last.html" - }, - { - "scope": "eslint", - "value": "default-param-last", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/default-param-last.html" - }, - { - "scope": "eslint", - "value": "eqeqeq", - "category": "pedantic", - "type_aware": false, - "fix": "conditional_dangerous_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/eqeqeq.html" - }, - { - "scope": "eslint", - "value": "for-direction", - "category": "correctness", - "type_aware": false, - "fix": "fixable_dangerous_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/for-direction.html" - }, - { - "scope": "eslint", - "value": "func-names", - "category": "style", - "type_aware": false, - "fix": "conditional_safe_fix_or_suggestion", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/func-names.html" - }, - { - "scope": "eslint", - "value": "func-style", - "category": "style", - "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/func-style.html" - }, - { - "scope": "eslint", - "value": "getter-return", - "category": "nursery", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/getter-return.html" - }, - { - "scope": "eslint", - "value": "grouped-accessor-pairs", - "category": "style", - "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/grouped-accessor-pairs.html" - }, - { - "scope": "eslint", - "value": "guard-for-in", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/guard-for-in.html" - }, - { - "scope": "eslint", - "value": "id-length", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/id-length.html" - }, - { - "scope": "eslint", - "value": "init-declarations", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/init-declarations.html" - }, - { - "scope": "eslint", - "value": "max-classes-per-file", - "category": "pedantic", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-classes-per-file.html" - }, - { - "scope": "eslint", - "value": "max-depth", - "category": "pedantic", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-depth.html" - }, - { - "scope": "eslint", - "value": "max-lines", - "category": "pedantic", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines.html" - }, - { - "scope": "eslint", - "value": "max-lines-per-function", - "category": "pedantic", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-lines-per-function.html" - }, - { - "scope": "eslint", - "value": "max-nested-callbacks", - "category": "pedantic", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-nested-callbacks.html" - }, - { - "scope": "eslint", - "value": "max-params", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-params.html" - }, - { - "scope": "eslint", - "value": "max-statements", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/max-statements.html" - }, - { - "scope": "eslint", - "value": "new-cap", - "category": "style", - "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/new-cap.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/new-cap.html" }, { "scope": "eslint", @@ -1567,19 +1297,28 @@ }, { "scope": "eslint", - "value": "prefer-destructuring", + "value": "prefer-const", "category": "style", "type_aware": false, "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/prefer-destructuring.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/prefer-const.html" }, { "scope": "eslint", - "value": "prefer-exponentiation-operator", + "value": "prefer-destructuring", "category": "style", "type_aware": false, - "fix": "pending", + "fix": "conditional_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/prefer-destructuring.html" + }, + { + "scope": "eslint", + "value": "prefer-exponentiation-operator", + "category": "style", + "type_aware": false, + "fix": "fixable_fix", "default": false, "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.html" }, @@ -1764,3865 +1503,4207 @@ "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/yoda.html" }, { - "scope": "typescript", - "value": "adjacent-overload-signatures", + "scope": "import", + "value": "consistent-type-specifier-style", "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/adjacent-overload-signatures.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/consistent-type-specifier-style.html" }, { - "scope": "typescript", - "value": "array-type", - "category": "style", + "scope": "import", + "value": "default", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/array-type.html" - }, - { - "scope": "typescript", - "value": "await-thenable", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/await-thenable.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/default.html" }, { - "scope": "typescript", - "value": "ban-ts-comment", - "category": "pedantic", + "scope": "import", + "value": "export", + "category": "nursery", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-ts-comment.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/export.html" }, { - "scope": "typescript", - "value": "ban-tslint-comment", + "scope": "import", + "value": "exports-last", "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-tslint-comment.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/exports-last.html" }, { - "scope": "typescript", - "value": "ban-types", - "category": "pedantic", + "scope": "import", + "value": "extensions", + "category": "restriction", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-types.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/extensions.html" }, { - "scope": "typescript", - "value": "consistent-generic-constructors", + "scope": "import", + "value": "first", "category": "style", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-generic-constructors.html" - }, - { - "scope": "typescript", - "value": "consistent-indexed-object-style", - "category": "style", - "type_aware": false, - "fix": "conditional_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-indexed-object-style.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/first.html" }, { - "scope": "typescript", - "value": "consistent-type-definitions", + "scope": "import", + "value": "group-exports", "category": "style", "type_aware": false, - "fix": "conditional_dangerous_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-type-definitions.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/group-exports.html" }, { - "scope": "typescript", - "value": "consistent-type-imports", - "category": "style", + "scope": "import", + "value": "max-dependencies", + "category": "pedantic", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-type-imports.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/max-dependencies.html" }, { - "scope": "typescript", - "value": "explicit-function-return-type", - "category": "restriction", + "scope": "import", + "value": "named", + "category": "nursery", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-function-return-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/named.html" }, { - "scope": "typescript", - "value": "explicit-module-boundary-types", - "category": "restriction", + "scope": "import", + "value": "namespace", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-module-boundary-types.html" - }, - { - "scope": "typescript", - "value": "no-array-delete", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-array-delete.html" - }, - { - "scope": "typescript", - "value": "no-base-to-string", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-base-to-string.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/namespace.html" }, { - "scope": "typescript", - "value": "no-confusing-non-null-assertion", + "scope": "import", + "value": "no-absolute-path", "category": "suspicious", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-confusing-non-null-assertion.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-absolute-path.html" }, { - "scope": "typescript", - "value": "no-confusing-void-expression", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "import", + "value": "no-amd", + "category": "restriction", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-amd.html" }, { - "scope": "typescript", - "value": "no-deprecated", - "category": "pedantic", - "type_aware": true, + "scope": "import", + "value": "no-anonymous-default-export", + "category": "style", + "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-deprecated.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-anonymous-default-export.html" }, { - "scope": "typescript", - "value": "no-duplicate-enum-values", - "category": "correctness", + "scope": "import", + "value": "no-commonjs", + "category": "restriction", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-duplicate-enum-values.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-commonjs.html" }, { - "scope": "typescript", - "value": "no-duplicate-type-constituents", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents.html" + "scope": "import", + "value": "no-cycle", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-cycle.html" }, { - "scope": "typescript", - "value": "no-dynamic-delete", + "scope": "import", + "value": "no-default-export", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-dynamic-delete.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-default-export.html" }, { - "scope": "typescript", - "value": "no-empty-interface", + "scope": "import", + "value": "no-duplicates", "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-interface.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-duplicates.html" }, { - "scope": "typescript", - "value": "no-empty-object-type", + "scope": "import", + "value": "no-dynamic-require", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-object-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-dynamic-require.html" }, { - "scope": "typescript", - "value": "no-explicit-any", - "category": "restriction", + "scope": "import", + "value": "no-empty-named-blocks", + "category": "suspicious", "type_aware": false, - "fix": "conditional_fix", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-explicit-any.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-empty-named-blocks.html" }, { - "scope": "typescript", - "value": "no-extra-non-null-assertion", - "category": "correctness", + "scope": "import", + "value": "no-mutable-exports", + "category": "style", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-extra-non-null-assertion.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-mutable-exports.html" }, { - "scope": "typescript", - "value": "no-extraneous-class", + "scope": "import", + "value": "no-named-as-default", "category": "suspicious", "type_aware": false, - "fix": "fixable_dangerous_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-extraneous-class.html" - }, - { - "scope": "typescript", - "value": "no-floating-promises", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-floating-promises.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-as-default.html" }, { - "scope": "typescript", - "value": "no-for-in-array", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-for-in-array.html" + "scope": "import", + "value": "no-named-as-default-member", + "category": "suspicious", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-as-default-member.html" }, { - "scope": "typescript", - "value": "no-implied-eval", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-implied-eval.html" - }, - { - "scope": "typescript", - "value": "no-import-type-side-effects", - "category": "restriction", + "scope": "import", + "value": "no-named-default", + "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-import-type-side-effects.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-default.html" }, { - "scope": "typescript", - "value": "no-inferrable-types", + "scope": "import", + "value": "no-named-export", "category": "style", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-inferrable-types.html" - }, - { - "scope": "typescript", - "value": "no-meaningless-void-operator", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-named-export.html" }, { - "scope": "typescript", - "value": "no-misused-new", - "category": "correctness", + "scope": "import", + "value": "no-namespace", + "category": "style", "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-misused-new.html" - }, - { - "scope": "typescript", - "value": "no-misused-promises", - "category": "pedantic", - "type_aware": true, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-misused-promises.html" - }, - { - "scope": "typescript", - "value": "no-misused-spread", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-misused-spread.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-namespace.html" }, { - "scope": "typescript", - "value": "no-mixed-enums", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "import", + "value": "no-nodejs-modules", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-mixed-enums.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-nodejs-modules.html" }, { - "scope": "typescript", - "value": "no-namespace", + "scope": "import", + "value": "no-relative-parent-imports", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-namespace.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-relative-parent-imports.html" }, { - "scope": "typescript", - "value": "no-non-null-asserted-nullish-coalescing", - "category": "restriction", + "scope": "import", + "value": "no-self-import", + "category": "suspicious", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-non-null-asserted-nullish-coalescing.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-self-import.html" }, { - "scope": "typescript", - "value": "no-non-null-asserted-optional-chain", - "category": "correctness", + "scope": "import", + "value": "no-unassigned-import", + "category": "suspicious", "type_aware": false, - "fix": "fixable_suggestion", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-non-null-asserted-optional-chain.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-unassigned-import.html" }, { - "scope": "typescript", - "value": "no-non-null-assertion", + "scope": "import", + "value": "no-webpack-loader-syntax", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-non-null-assertion.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/no-webpack-loader-syntax.html" }, { - "scope": "typescript", - "value": "no-redundant-type-constituents", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents.html" + "scope": "import", + "value": "prefer-default-export", + "category": "style", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/prefer-default-export.html" }, { - "scope": "typescript", - "value": "no-require-imports", + "scope": "import", + "value": "unambiguous", "category": "restriction", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-require-imports.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/import/unambiguous.html" }, { - "scope": "typescript", - "value": "no-restricted-types", - "category": "restriction", + "scope": "jest", + "value": "consistent-test-it", + "category": "style", "type_aware": false, - "fix": "fixable_safe_fix_or_suggestion", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-restricted-types.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/consistent-test-it.html" }, { - "scope": "typescript", - "value": "no-this-alias", + "scope": "jest", + "value": "expect-expect", "category": "correctness", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-this-alias.html" - }, - { - "scope": "typescript", - "value": "no-unnecessary-boolean-literal-compare", - "category": "suspicious", - "type_aware": true, - "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/expect-expect.html" }, { - "scope": "typescript", - "value": "no-unnecessary-parameter-property-assignment", - "category": "correctness", + "scope": "jest", + "value": "max-expects", + "category": "style", "type_aware": false, - "fix": "fixable_suggestion", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-parameter-property-assignment.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/max-expects.html" }, { - "scope": "typescript", - "value": "no-unnecessary-template-expression", - "category": "suspicious", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "max-nested-describe", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/max-nested-describe.html" }, { - "scope": "typescript", - "value": "no-unnecessary-type-arguments", - "category": "suspicious", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-alias-methods", + "category": "style", + "type_aware": false, + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-alias-methods.html" }, { - "scope": "typescript", - "value": "no-unnecessary-type-assertion", + "scope": "jest", + "value": "no-commented-out-tests", "category": "suspicious", - "type_aware": true, - "fix": "pending", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-commented-out-tests.html" }, { - "scope": "typescript", - "value": "no-unnecessary-type-constraint", - "category": "suspicious", + "scope": "jest", + "value": "no-conditional-expect", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-constraint.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-conditional-expect.html" }, { - "scope": "typescript", - "value": "no-unsafe-argument", + "scope": "jest", + "value": "no-conditional-in-test", "category": "pedantic", - "type_aware": true, - "fix": "pending", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-argument.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-conditional-in-test.html" }, { - "scope": "typescript", - "value": "no-unsafe-assignment", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-confusing-set-timeout", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-confusing-set-timeout.html" }, { - "scope": "typescript", - "value": "no-unsafe-call", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-deprecated-functions", + "category": "style", + "type_aware": false, + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-call.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-deprecated-functions.html" }, { - "scope": "typescript", - "value": "no-unsafe-declaration-merging", + "scope": "jest", + "value": "no-disabled-tests", "category": "correctness", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-declaration-merging.html" - }, - { - "scope": "typescript", - "value": "no-unsafe-enum-comparison", - "category": "suspicious", - "type_aware": true, - "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-enum-comparison.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-disabled-tests.html" }, { - "scope": "typescript", - "value": "no-unsafe-function-type", - "category": "pedantic", + "scope": "jest", + "value": "no-done-callback", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-function-type.html" - }, - { - "scope": "typescript", - "value": "no-unsafe-member-access", - "category": "pedantic", - "type_aware": true, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access.html" - }, - { - "scope": "typescript", - "value": "no-unsafe-return", - "category": "pedantic", - "type_aware": true, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-return.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-done-callback.html" }, { - "scope": "typescript", - "value": "no-unsafe-type-assertion", - "category": "suspicious", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-duplicate-hooks", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-duplicate-hooks.html" }, { - "scope": "typescript", - "value": "no-unsafe-unary-minus", + "scope": "jest", + "value": "no-export", "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus.html" + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-export.html" }, { - "scope": "typescript", - "value": "no-useless-empty-export", + "scope": "jest", + "value": "no-focused-tests", "category": "correctness", "type_aware": false, "fix": "fixable_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-useless-empty-export.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-focused-tests.html" }, { - "scope": "typescript", - "value": "no-var-requires", - "category": "restriction", + "scope": "jest", + "value": "no-hooks", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-var-requires.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-hooks.html" }, { - "scope": "typescript", - "value": "no-wrapper-object-types", - "category": "correctness", + "scope": "jest", + "value": "no-identical-title", + "category": "style", "type_aware": false, - "fix": "fixable_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-wrapper-object-types.html" - }, - { - "scope": "typescript", - "value": "non-nullable-type-assertion-style", - "category": "restriction", - "type_aware": true, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-identical-title.html" }, { - "scope": "typescript", - "value": "only-throw-error", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-interpolation-in-snapshots", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/only-throw-error.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-interpolation-in-snapshots.html" }, { - "scope": "typescript", - "value": "prefer-as-const", - "category": "correctness", + "scope": "jest", + "value": "no-jasmine-globals", + "category": "style", "type_aware": false, "fix": "conditional_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-as-const.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-jasmine-globals.html" }, { - "scope": "typescript", - "value": "prefer-enum-initializers", - "category": "pedantic", + "scope": "jest", + "value": "no-large-snapshots", + "category": "style", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-enum-initializers.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-large-snapshots.html" }, { - "scope": "typescript", - "value": "prefer-for-of", + "scope": "jest", + "value": "no-mocks-import", "category": "style", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-for-of.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-mocks-import.html" }, { - "scope": "typescript", - "value": "prefer-function-type", + "scope": "jest", + "value": "no-restricted-jest-methods", "category": "style", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-function-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-restricted-jest-methods.html" }, { - "scope": "typescript", - "value": "prefer-includes", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-restricted-matchers", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-includes.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-restricted-matchers.html" }, { - "scope": "typescript", - "value": "prefer-literal-enum-member", - "category": "restriction", + "scope": "jest", + "value": "no-standalone-expect", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-literal-enum-member.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-standalone-expect.html" }, { - "scope": "typescript", - "value": "prefer-namespace-keyword", + "scope": "jest", + "value": "no-test-prefixes", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-namespace-keyword.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-test-prefixes.html" }, { - "scope": "typescript", - "value": "prefer-nullish-coalescing", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-test-return-statement", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-test-return-statement.html" }, { - "scope": "typescript", - "value": "prefer-optional-chain", - "category": "nursery", - "type_aware": true, + "scope": "jest", + "value": "no-unneeded-async-expect-function", + "category": "style", + "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-optional-chain.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-unneeded-async-expect-function.html" }, { - "scope": "typescript", - "value": "prefer-promise-reject-errors", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "no-untyped-mock-factory", + "category": "style", + "type_aware": false, + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-untyped-mock-factory.html" }, { - "scope": "typescript", - "value": "prefer-reduce-type-parameter", + "scope": "jest", + "value": "padding-around-test-blocks", "category": "style", - "type_aware": true, - "fix": "pending", + "type_aware": false, + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/padding-around-test-blocks.html" }, { - "scope": "typescript", - "value": "prefer-return-this-type", + "scope": "jest", + "value": "prefer-called-with", "category": "style", - "type_aware": true, - "fix": "pending", + "type_aware": false, + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-return-this-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-called-with.html" }, { - "scope": "typescript", - "value": "prefer-ts-expect-error", - "category": "pedantic", + "scope": "jest", + "value": "prefer-comparison-matcher", + "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-ts-expect-error.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-comparison-matcher.html" }, { - "scope": "typescript", - "value": "promise-function-async", - "category": "restriction", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "prefer-each", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/promise-function-async.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-each.html" }, { - "scope": "typescript", - "value": "related-getter-setter-pairs", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "prefer-equality-matcher", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-equality-matcher.html" }, { - "scope": "typescript", - "value": "require-array-sort-compare", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/require-array-sort-compare.html" + "scope": "jest", + "value": "prefer-expect-resolves", + "category": "style", + "type_aware": false, + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-expect-resolves.html" }, { - "scope": "typescript", - "value": "require-await", - "category": "pedantic", - "type_aware": true, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/require-await.html" - }, - { - "scope": "typescript", - "value": "restrict-plus-operands", - "category": "pedantic", - "type_aware": true, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/restrict-plus-operands.html" - }, - { - "scope": "typescript", - "value": "restrict-template-expressions", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/restrict-template-expressions.html" - }, - { - "scope": "typescript", - "value": "return-await", - "category": "pedantic", - "type_aware": true, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/return-await.html" - }, - { - "scope": "typescript", - "value": "strict-boolean-expressions", - "category": "pedantic", - "type_aware": true, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.html" - }, - { - "scope": "typescript", - "value": "switch-exhaustiveness-check", - "category": "pedantic", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "prefer-hooks-in-order", + "category": "style", + "type_aware": false, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/switch-exhaustiveness-check.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-hooks-in-order.html" }, { - "scope": "typescript", - "value": "triple-slash-reference", - "category": "correctness", + "scope": "jest", + "value": "prefer-hooks-on-top", + "category": "style", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/triple-slash-reference.html" - }, - { - "scope": "typescript", - "value": "unbound-method", - "category": "correctness", - "type_aware": true, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/unbound-method.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-hooks-on-top.html" }, { - "scope": "typescript", - "value": "use-unknown-in-catch-callback-variable", - "category": "restriction", - "type_aware": true, - "fix": "pending", + "scope": "jest", + "value": "prefer-jest-mocked", + "category": "style", + "type_aware": false, + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-jest-mocked.html" }, { "scope": "jest", - "value": "consistent-test-it", + "value": "prefer-lowercase-title", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/consistent-test-it.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-lowercase-title.html" }, { "scope": "jest", - "value": "expect-expect", - "category": "correctness", + "value": "prefer-mock-promise-shorthand", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/expect-expect.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-mock-promise-shorthand.html" }, { "scope": "jest", - "value": "max-expects", + "value": "prefer-spy-on", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/max-expects.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-spy-on.html" }, { "scope": "jest", - "value": "max-nested-describe", + "value": "prefer-strict-equal", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/max-nested-describe.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-strict-equal.html" }, { "scope": "jest", - "value": "no-alias-methods", + "value": "prefer-to-be", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-alias-methods.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-be.html" }, { "scope": "jest", - "value": "no-commented-out-tests", - "category": "suspicious", + "value": "prefer-to-contain", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-commented-out-tests.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-contain.html" }, { "scope": "jest", - "value": "no-conditional-expect", - "category": "correctness", + "value": "prefer-to-have-been-called", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-conditional-expect.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-have-been-called.html" }, { "scope": "jest", - "value": "no-conditional-in-test", - "category": "pedantic", + "value": "prefer-to-have-been-called-times", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-conditional-in-test.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-have-been-called-times.html" }, { "scope": "jest", - "value": "no-confusing-set-timeout", + "value": "prefer-to-have-length", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-confusing-set-timeout.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-have-length.html" }, { "scope": "jest", - "value": "no-deprecated-functions", + "value": "prefer-todo", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-deprecated-functions.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-todo.html" }, { "scope": "jest", - "value": "no-disabled-tests", - "category": "correctness", + "value": "require-hook", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-disabled-tests.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/require-hook.html" }, { "scope": "jest", - "value": "no-done-callback", - "category": "style", + "value": "require-to-throw-message", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-done-callback.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/require-to-throw-message.html" }, { "scope": "jest", - "value": "no-duplicate-hooks", + "value": "require-top-level-describe", "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-duplicate-hooks.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/require-top-level-describe.html" }, { "scope": "jest", - "value": "no-export", + "value": "valid-describe-callback", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-export.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/valid-describe-callback.html" }, { "scope": "jest", - "value": "no-focused-tests", + "value": "valid-expect", "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-focused-tests.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/valid-expect.html" }, { "scope": "jest", - "value": "no-hooks", - "category": "style", + "value": "valid-title", + "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-hooks.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/valid-title.html" }, { - "scope": "jest", - "value": "no-identical-title", - "category": "style", + "scope": "jsdoc", + "value": "check-access", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-identical-title.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/check-access.html" }, { - "scope": "jest", - "value": "no-interpolation-in-snapshots", - "category": "style", + "scope": "jsdoc", + "value": "check-property-names", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-interpolation-in-snapshots.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/check-property-names.html" }, { - "scope": "jest", - "value": "no-jasmine-globals", - "category": "style", + "scope": "jsdoc", + "value": "check-tag-names", + "category": "correctness", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-jasmine-globals.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/check-tag-names.html" }, { - "scope": "jest", - "value": "no-large-snapshots", - "category": "style", + "scope": "jsdoc", + "value": "empty-tags", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-large-snapshots.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/empty-tags.html" }, { - "scope": "jest", - "value": "no-mocks-import", - "category": "style", + "scope": "jsdoc", + "value": "implements-on-classes", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-mocks-import.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/implements-on-classes.html" }, { - "scope": "jest", - "value": "no-restricted-jest-methods", - "category": "style", + "scope": "jsdoc", + "value": "no-defaults", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-restricted-jest-methods.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/no-defaults.html" }, { - "scope": "jest", - "value": "no-restricted-matchers", - "category": "style", + "scope": "jsdoc", + "value": "require-param", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-restricted-matchers.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param.html" }, { - "scope": "jest", - "value": "no-standalone-expect", - "category": "correctness", + "scope": "jsdoc", + "value": "require-param-description", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-standalone-expect.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param-description.html" }, { - "scope": "jest", - "value": "no-test-prefixes", - "category": "style", + "scope": "jsdoc", + "value": "require-param-name", + "category": "pedantic", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-test-prefixes.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param-name.html" }, { - "scope": "jest", - "value": "no-test-return-statement", - "category": "style", + "scope": "jsdoc", + "value": "require-param-type", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-test-return-statement.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param-type.html" }, { - "scope": "jest", - "value": "no-untyped-mock-factory", - "category": "style", + "scope": "jsdoc", + "value": "require-property", + "category": "correctness", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/no-untyped-mock-factory.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property.html" }, { - "scope": "jest", - "value": "padding-around-test-blocks", - "category": "style", + "scope": "jsdoc", + "value": "require-property-description", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/padding-around-test-blocks.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property-description.html" }, { - "scope": "jest", - "value": "prefer-called-with", - "category": "style", + "scope": "jsdoc", + "value": "require-property-name", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-called-with.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property-name.html" }, { - "scope": "jest", - "value": "prefer-comparison-matcher", - "category": "style", + "scope": "jsdoc", + "value": "require-property-type", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-comparison-matcher.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property-type.html" }, { - "scope": "jest", - "value": "prefer-each", - "category": "style", + "scope": "jsdoc", + "value": "require-returns", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-each.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-returns.html" }, { - "scope": "jest", - "value": "prefer-equality-matcher", - "category": "style", + "scope": "jsdoc", + "value": "require-returns-description", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-equality-matcher.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-returns-description.html" }, { - "scope": "jest", - "value": "prefer-expect-resolves", - "category": "style", + "scope": "jsdoc", + "value": "require-returns-type", + "category": "pedantic", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-expect-resolves.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-returns-type.html" }, { - "scope": "jest", - "value": "prefer-hooks-in-order", - "category": "style", + "scope": "jsdoc", + "value": "require-yields", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-hooks-in-order.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-yields.html" }, { - "scope": "jest", - "value": "prefer-hooks-on-top", - "category": "style", + "scope": "jsx_a11y", + "value": "alt-text", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-hooks-on-top.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/alt-text.html" }, { - "scope": "jest", - "value": "prefer-jest-mocked", - "category": "style", + "scope": "jsx_a11y", + "value": "anchor-ambiguous-text", + "category": "restriction", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-jest-mocked.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/anchor-ambiguous-text.html" }, { - "scope": "jest", - "value": "prefer-lowercase-title", - "category": "style", + "scope": "jsx_a11y", + "value": "anchor-has-content", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "conditional_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-lowercase-title.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/anchor-has-content.html" }, { - "scope": "jest", - "value": "prefer-mock-promise-shorthand", - "category": "style", + "scope": "jsx_a11y", + "value": "anchor-is-valid", + "category": "correctness", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-mock-promise-shorthand.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/anchor-is-valid.html" }, { - "scope": "jest", - "value": "prefer-spy-on", - "category": "style", + "scope": "jsx_a11y", + "value": "aria-activedescendant-has-tabindex", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-spy-on.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-activedescendant-has-tabindex.html" }, { - "scope": "jest", - "value": "prefer-strict-equal", - "category": "style", + "scope": "jsx_a11y", + "value": "aria-props", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-strict-equal.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-props.html" }, { - "scope": "jest", - "value": "prefer-to-be", - "category": "style", + "scope": "jsx_a11y", + "value": "aria-proptypes", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-be.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-proptypes.html" }, { - "scope": "jest", - "value": "prefer-to-contain", - "category": "style", + "scope": "jsx_a11y", + "value": "aria-role", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-contain.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-role.html" }, { - "scope": "jest", - "value": "prefer-to-have-been-called", - "category": "style", + "scope": "jsx_a11y", + "value": "aria-unsupported-elements", + "category": "correctness", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-have-been-called.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-unsupported-elements.html" }, { - "scope": "jest", - "value": "prefer-to-have-been-called-times", - "category": "style", + "scope": "jsx_a11y", + "value": "autocomplete-valid", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-have-been-called-times.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/autocomplete-valid.html" }, { - "scope": "jest", - "value": "prefer-to-have-length", - "category": "style", + "scope": "jsx_a11y", + "value": "click-events-have-key-events", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-to-have-length.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/click-events-have-key-events.html" }, { - "scope": "jest", - "value": "prefer-todo", - "category": "style", + "scope": "jsx_a11y", + "value": "heading-has-content", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/prefer-todo.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/heading-has-content.html" }, { - "scope": "jest", - "value": "require-hook", - "category": "style", + "scope": "jsx_a11y", + "value": "html-has-lang", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/require-hook.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/html-has-lang.html" }, { - "scope": "jest", - "value": "require-to-throw-message", + "scope": "jsx_a11y", + "value": "iframe-has-title", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/require-to-throw-message.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/iframe-has-title.html" }, { - "scope": "jest", - "value": "require-top-level-describe", - "category": "style", + "scope": "jsx_a11y", + "value": "img-redundant-alt", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/require-top-level-describe.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/img-redundant-alt.html" }, { - "scope": "jest", - "value": "valid-describe-callback", + "scope": "jsx_a11y", + "value": "label-has-associated-control", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/valid-describe-callback.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/label-has-associated-control.html" }, { - "scope": "jest", - "value": "valid-expect", + "scope": "jsx_a11y", + "value": "lang", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/valid-expect.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/lang.html" }, { - "scope": "jest", - "value": "valid-title", + "scope": "jsx_a11y", + "value": "media-has-caption", "category": "correctness", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jest/valid-title.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/media-has-caption.html" }, { - "scope": "react", - "value": "button-has-type", - "category": "restriction", + "scope": "jsx_a11y", + "value": "mouse-events-have-key-events", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/button-has-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/mouse-events-have-key-events.html" }, { - "scope": "react", - "value": "checked-requires-onchange-or-readonly", - "category": "pedantic", + "scope": "jsx_a11y", + "value": "no-access-key", + "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/checked-requires-onchange-or-readonly.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-access-key.html" }, { - "scope": "react", - "value": "display-name", - "category": "pedantic", + "scope": "jsx_a11y", + "value": "no-aria-hidden-on-focusable", + "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/display-name.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-aria-hidden-on-focusable.html" }, { - "scope": "react", - "value": "exhaustive-deps", + "scope": "jsx_a11y", + "value": "no-autofocus", "category": "correctness", "type_aware": false, - "fix": "fixable_dangerous_fix_or_suggestion", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-deps.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-autofocus.html" }, { - "scope": "react", - "value": "forbid-dom-props", - "category": "restriction", + "scope": "jsx_a11y", + "value": "no-distracting-elements", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-dom-props.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-distracting-elements.html" }, { - "scope": "react", - "value": "forbid-elements", - "category": "restriction", + "scope": "jsx_a11y", + "value": "no-noninteractive-tabindex", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-elements.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-noninteractive-tabindex.html" }, { - "scope": "react", - "value": "forward-ref-uses-ref", + "scope": "jsx_a11y", + "value": "no-redundant-roles", "category": "correctness", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/forward-ref-uses-ref.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-redundant-roles.html" }, { - "scope": "react", - "value": "iframe-missing-sandbox", - "category": "suspicious", + "scope": "jsx_a11y", + "value": "no-static-element-interactions", + "category": "nursery", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/iframe-missing-sandbox.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-static-element-interactions.html" }, { - "scope": "react", - "value": "jsx-boolean-value", - "category": "style", + "scope": "jsx_a11y", + "value": "prefer-tag-over-role", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-boolean-value.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/prefer-tag-over-role.html" }, { - "scope": "react", - "value": "jsx-curly-brace-presence", - "category": "style", + "scope": "jsx_a11y", + "value": "role-has-required-aria-props", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-curly-brace-presence.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/role-has-required-aria-props.html" }, { - "scope": "react", - "value": "jsx-filename-extension", - "category": "restriction", + "scope": "jsx_a11y", + "value": "role-supports-aria-props", + "category": "correctness", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-filename-extension.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/role-supports-aria-props.html" }, { - "scope": "react", - "value": "jsx-fragments", - "category": "style", + "scope": "jsx_a11y", + "value": "scope", + "category": "correctness", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-fragments.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/scope.html" }, { - "scope": "react", - "value": "jsx-handler-names", - "category": "style", + "scope": "jsx_a11y", + "value": "tabindex-no-positive", + "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "fixable_dangerous_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-handler-names.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/tabindex-no-positive.html" }, { - "scope": "react", - "value": "jsx-key", + "scope": "nextjs", + "value": "google-font-display", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-key.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/google-font-display.html" }, { - "scope": "react", - "value": "jsx-max-depth", - "category": "style", + "scope": "nextjs", + "value": "google-font-preconnect", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-max-depth.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/google-font-preconnect.html" }, { - "scope": "react", - "value": "jsx-no-comment-textnodes", - "category": "suspicious", + "scope": "nextjs", + "value": "inline-script-id", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-comment-textnodes.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/inline-script-id.html" }, { - "scope": "react", - "value": "jsx-no-duplicate-props", + "scope": "nextjs", + "value": "next-script-for-ga", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-duplicate-props.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/next-script-for-ga.html" }, { - "scope": "react", - "value": "jsx-no-script-url", - "category": "suspicious", + "scope": "nextjs", + "value": "no-assign-module-variable", + "category": "correctness", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-script-url.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-assign-module-variable.html" }, { - "scope": "react", - "value": "jsx-no-target-blank", - "category": "pedantic", + "scope": "nextjs", + "value": "no-async-client-component", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-target-blank.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-async-client-component.html" }, { - "scope": "react", - "value": "jsx-no-undef", + "scope": "nextjs", + "value": "no-before-interactive-script-outside-document", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-undef.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-before-interactive-script-outside-document.html" }, { - "scope": "react", - "value": "jsx-no-useless-fragment", - "category": "pedantic", + "scope": "nextjs", + "value": "no-css-tags", + "category": "correctness", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-useless-fragment.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-css-tags.html" }, { - "scope": "react", - "value": "jsx-pascal-case", - "category": "style", + "scope": "nextjs", + "value": "no-document-import-in-page", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-pascal-case.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-document-import-in-page.html" }, { - "scope": "react", - "value": "jsx-props-no-spread-multi", + "scope": "nextjs", + "value": "no-duplicate-head", "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-props-no-spread-multi.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-duplicate-head.html" }, { - "scope": "react", - "value": "jsx-props-no-spreading", - "category": "style", + "scope": "nextjs", + "value": "no-head-element", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-props-no-spreading.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-head-element.html" }, { - "scope": "react", - "value": "no-array-index-key", - "category": "perf", + "scope": "nextjs", + "value": "no-head-import-in-document", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-array-index-key.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-head-import-in-document.html" }, { - "scope": "react", - "value": "no-children-prop", + "scope": "nextjs", + "value": "no-html-link-for-pages", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-children-prop.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-html-link-for-pages.html" }, { - "scope": "react", - "value": "no-danger", - "category": "restriction", + "scope": "nextjs", + "value": "no-img-element", + "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-danger.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-img-element.html" }, { - "scope": "react", - "value": "no-danger-with-children", + "scope": "nextjs", + "value": "no-page-custom-font", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-danger-with-children.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-page-custom-font.html" }, { - "scope": "react", - "value": "no-did-mount-set-state", + "scope": "nextjs", + "value": "no-script-component-in-head", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-did-mount-set-state.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-script-component-in-head.html" }, { - "scope": "react", - "value": "no-direct-mutation-state", + "scope": "nextjs", + "value": "no-styled-jsx-in-document", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-direct-mutation-state.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-styled-jsx-in-document.html" }, { - "scope": "react", - "value": "no-find-dom-node", + "scope": "nextjs", + "value": "no-sync-scripts", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-find-dom-node.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-sync-scripts.html" }, { - "scope": "react", - "value": "no-is-mounted", + "scope": "nextjs", + "value": "no-title-in-document-head", "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-is-mounted.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-title-in-document-head.html" }, { - "scope": "react", - "value": "no-namespace", - "category": "suspicious", + "scope": "nextjs", + "value": "no-typos", + "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-namespace.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-typos.html" }, { - "scope": "react", - "value": "no-redundant-should-component-update", - "category": "style", - "type_aware": false, + "scope": "nextjs", + "value": "no-unwanted-polyfillio", + "category": "correctness", + "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-redundant-should-component-update.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-unwanted-polyfillio.html" }, { - "scope": "react", - "value": "no-render-return-value", - "category": "correctness", + "scope": "node", + "value": "global-require", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-render-return-value.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/global-require.html" }, { - "scope": "react", - "value": "no-set-state", + "scope": "node", + "value": "no-exports-assign", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-set-state.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/no-exports-assign.html" }, { - "scope": "react", - "value": "no-string-refs", - "category": "correctness", + "scope": "node", + "value": "no-new-require", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-string-refs.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/no-new-require.html" }, { - "scope": "react", - "value": "no-this-in-sfc", - "category": "correctness", + "scope": "node", + "value": "no-process-env", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-this-in-sfc.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/no-process-env.html" }, { - "scope": "react", - "value": "no-unescaped-entities", - "category": "pedantic", + "scope": "oxc", + "value": "approx-constant", + "category": "suspicious", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-unescaped-entities.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/approx-constant.html" }, { - "scope": "react", - "value": "no-unknown-property", + "scope": "oxc", + "value": "bad-array-method-on-arguments", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-array-method-on-arguments.html" + }, + { + "scope": "oxc", + "value": "bad-bitwise-operator", "category": "restriction", "type_aware": false, - "fix": "pending", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-unknown-property.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-bitwise-operator.html" }, { - "scope": "react", - "value": "no-unsafe", + "scope": "oxc", + "value": "bad-char-at-comparison", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-unsafe.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-char-at-comparison.html" }, { - "scope": "react", - "value": "no-will-update-set-state", + "scope": "oxc", + "value": "bad-comparison-sequence", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-will-update-set-state.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-comparison-sequence.html" }, { - "scope": "react", - "value": "only-export-components", - "category": "restriction", + "scope": "oxc", + "value": "bad-min-max-func", + "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/only-export-components.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-min-max-func.html" }, { - "scope": "react", - "value": "prefer-es6-class", - "category": "style", + "scope": "oxc", + "value": "bad-object-literal-comparison", + "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/prefer-es6-class.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-object-literal-comparison.html" }, { - "scope": "react", - "value": "react-in-jsx-scope", - "category": "suspicious", + "scope": "oxc", + "value": "bad-replace-all-arg", + "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/react-in-jsx-scope.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-replace-all-arg.html" }, { - "scope": "react", - "value": "require-render-return", + "scope": "oxc", + "value": "branches-sharing-code", "category": "nursery", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/require-render-return.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/branches-sharing-code.html" }, { - "scope": "react", - "value": "rules-of-hooks", - "category": "pedantic", + "scope": "oxc", + "value": "const-comparisons", + "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/rules-of-hooks.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/const-comparisons.html" }, { - "scope": "react", - "value": "self-closing-comp", - "category": "style", + "scope": "oxc", + "value": "double-comparisons", + "category": "correctness", "type_aware": false, "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/self-closing-comp.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/double-comparisons.html" }, { - "scope": "react", - "value": "state-in-constructor", - "category": "style", + "scope": "oxc", + "value": "erasing-op", + "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/state-in-constructor.html" + "fix": "fixable_dangerous_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/erasing-op.html" }, { - "scope": "react", - "value": "style-prop-object", + "scope": "oxc", + "value": "misrefactored-assign-op", "category": "suspicious", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/style-prop-object.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/misrefactored-assign-op.html" }, { - "scope": "react", - "value": "void-dom-elements-no-children", + "scope": "oxc", + "value": "missing-throw", "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/void-dom-elements-no-children.html" + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/missing-throw.html" }, { - "scope": "react_perf", - "value": "jsx-no-jsx-as-prop", + "scope": "oxc", + "value": "no-accumulating-spread", "category": "perf", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-jsx-as-prop.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-accumulating-spread.html" }, { - "scope": "react_perf", - "value": "jsx-no-new-array-as-prop", - "category": "perf", + "scope": "oxc", + "value": "no-async-await", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-new-array-as-prop.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-async-await.html" }, { - "scope": "react_perf", - "value": "jsx-no-new-function-as-prop", - "category": "perf", + "scope": "oxc", + "value": "no-async-endpoint-handlers", + "category": "suspicious", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-new-function-as-prop.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-async-endpoint-handlers.html" }, { - "scope": "react_perf", - "value": "jsx-no-new-object-as-prop", - "category": "perf", + "scope": "oxc", + "value": "no-barrel-file", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-new-object-as-prop.html" - }, - { - "scope": "unicorn", - "value": "catch-error-name", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/catch-error-name.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-barrel-file.html" }, { - "scope": "unicorn", - "value": "consistent-assert", - "category": "pedantic", + "scope": "oxc", + "value": "no-const-enum", + "category": "restriction", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-assert.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-const-enum.html" }, { - "scope": "unicorn", - "value": "consistent-date-clone", - "category": "style", + "scope": "oxc", + "value": "no-map-spread", + "category": "perf", "type_aware": false, - "fix": "fixable_fix", + "fix": "conditional_safe_fix_or_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-date-clone.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-map-spread.html" }, { - "scope": "unicorn", - "value": "consistent-empty-array-spread", - "category": "pedantic", + "scope": "oxc", + "value": "no-optional-chaining", + "category": "restriction", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-empty-array-spread.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-optional-chaining.html" }, { - "scope": "unicorn", - "value": "consistent-existence-index-check", - "category": "style", + "scope": "oxc", + "value": "no-rest-spread-properties", + "category": "restriction", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-existence-index-check.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-rest-spread-properties.html" }, { - "scope": "unicorn", - "value": "consistent-function-scoping", + "scope": "oxc", + "value": "no-this-in-exported-function", "category": "suspicious", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-function-scoping.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-this-in-exported-function.html" }, { - "scope": "unicorn", - "value": "empty-brace-spaces", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/empty-brace-spaces.html" - }, - { - "scope": "unicorn", - "value": "error-message", - "category": "style", + "scope": "oxc", + "value": "number-arg-out-of-range", + "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/error-message.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/number-arg-out-of-range.html" }, { - "scope": "unicorn", - "value": "escape-case", - "category": "pedantic", + "scope": "oxc", + "value": "only-used-in-recursion", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/escape-case.html" + "fix": "fixable_dangerous_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/only-used-in-recursion.html" }, { - "scope": "unicorn", - "value": "explicit-length-check", - "category": "pedantic", + "scope": "oxc", + "value": "uninvoked-array-callback", + "category": "correctness", "type_aware": false, - "fix": "conditional_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/explicit-length-check.html" + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/uninvoked-array-callback.html" }, { - "scope": "unicorn", - "value": "filename-case", - "category": "style", + "scope": "promise", + "value": "always-return", + "category": "suspicious", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/filename-case.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/always-return.html" }, { - "scope": "unicorn", - "value": "new-for-builtins", - "category": "pedantic", + "scope": "promise", + "value": "avoid-new", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/new-for-builtins.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/avoid-new.html" }, { - "scope": "unicorn", - "value": "no-abusive-eslint-disable", + "scope": "promise", + "value": "catch-or-return", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-abusive-eslint-disable.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/catch-or-return.html" }, { - "scope": "unicorn", - "value": "no-accessor-recursion", - "category": "suspicious", + "scope": "promise", + "value": "no-callback-in-promise", + "category": "correctness", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-accessor-recursion.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-callback-in-promise.html" }, { - "scope": "unicorn", - "value": "no-anonymous-default-export", - "category": "restriction", + "scope": "promise", + "value": "no-multiple-resolved", + "category": "suspicious", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-anonymous-default-export.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-multiple-resolved.html" }, { - "scope": "unicorn", - "value": "no-array-callback-reference", - "category": "pedantic", + "scope": "promise", + "value": "no-nesting", + "category": "style", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-callback-reference.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-nesting.html" }, { - "scope": "unicorn", - "value": "no-array-for-each", - "category": "restriction", + "scope": "promise", + "value": "no-new-statics", + "category": "correctness", "type_aware": false, - "fix": "pending", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-for-each.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-new-statics.html" }, { - "scope": "unicorn", - "value": "no-array-method-this-argument", - "category": "style", + "scope": "promise", + "value": "no-promise-in-callback", + "category": "suspicious", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-method-this-argument.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-promise-in-callback.html" }, { - "scope": "unicorn", - "value": "no-array-reduce", - "category": "restriction", + "scope": "promise", + "value": "no-return-in-finally", + "category": "nursery", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-reduce.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-return-in-finally.html" }, { - "scope": "unicorn", - "value": "no-array-reverse", - "category": "suspicious", + "scope": "promise", + "value": "no-return-wrap", + "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-reverse.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-return-wrap.html" }, { - "scope": "unicorn", - "value": "no-array-sort", - "category": "suspicious", + "scope": "promise", + "value": "param-names", + "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-sort.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/param-names.html" }, { - "scope": "unicorn", - "value": "no-await-expression-member", + "scope": "promise", + "value": "prefer-await-to-callbacks", "category": "style", "type_aware": false, - "fix": "fixable_dangerous_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-await-expression-member.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/prefer-await-to-callbacks.html" }, { - "scope": "unicorn", - "value": "no-await-in-promise-methods", - "category": "correctness", + "scope": "promise", + "value": "prefer-await-to-then", + "category": "style", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-await-in-promise-methods.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/prefer-await-to-then.html" }, { - "scope": "unicorn", - "value": "no-console-spaces", + "scope": "promise", + "value": "prefer-catch", "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-console-spaces.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/prefer-catch.html" }, { - "scope": "unicorn", - "value": "no-document-cookie", + "scope": "promise", + "value": "spec-only", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-document-cookie.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/spec-only.html" }, { - "scope": "unicorn", - "value": "no-empty-file", + "scope": "promise", + "value": "valid-params", "category": "correctness", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-empty-file.html" - }, - { - "scope": "unicorn", - "value": "no-hex-escape", - "category": "pedantic", - "type_aware": false, - "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-hex-escape.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/valid-params.html" }, { - "scope": "unicorn", - "value": "no-immediate-mutation", - "category": "pedantic", + "scope": "react", + "value": "button-has-type", + "category": "restriction", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-immediate-mutation.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/button-has-type.html" }, { - "scope": "unicorn", - "value": "no-instanceof-array", + "scope": "react", + "value": "checked-requires-onchange-or-readonly", "category": "pedantic", "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-instanceof-array.html" - }, - { - "scope": "unicorn", - "value": "no-instanceof-builtins", - "category": "suspicious", - "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-instanceof-builtins.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/checked-requires-onchange-or-readonly.html" }, { - "scope": "unicorn", - "value": "no-invalid-fetch-options", - "category": "correctness", + "scope": "react", + "value": "display-name", + "category": "pedantic", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-invalid-fetch-options.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/display-name.html" }, { - "scope": "unicorn", - "value": "no-invalid-remove-event-listener", + "scope": "react", + "value": "exhaustive-deps", "category": "correctness", "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-invalid-remove-event-listener.html" - }, - { - "scope": "unicorn", - "value": "no-length-as-slice-end", - "category": "restriction", - "type_aware": false, - "fix": "fixable_fix", + "fix": "fixable_dangerous_fix_or_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-length-as-slice-end.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-deps.html" }, { - "scope": "unicorn", - "value": "no-lonely-if", - "category": "pedantic", + "scope": "react", + "value": "forbid-dom-props", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-lonely-if.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-dom-props.html" }, { - "scope": "unicorn", - "value": "no-magic-array-flat-depth", + "scope": "react", + "value": "forbid-elements", "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-magic-array-flat-depth.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-elements.html" }, { - "scope": "unicorn", - "value": "no-negation-in-equality-check", - "category": "pedantic", + "scope": "react", + "value": "forward-ref-uses-ref", + "category": "correctness", "type_aware": false, "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-negation-in-equality-check.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/forward-ref-uses-ref.html" }, { - "scope": "unicorn", - "value": "no-nested-ternary", + "scope": "react", + "value": "iframe-missing-sandbox", + "category": "suspicious", + "type_aware": false, + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/iframe-missing-sandbox.html" + }, + { + "scope": "react", + "value": "jsx-boolean-value", "category": "style", "type_aware": false, - "fix": "conditional_fix", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-nested-ternary.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-boolean-value.html" }, { - "scope": "unicorn", - "value": "no-new-array", - "category": "correctness", + "scope": "react", + "value": "jsx-curly-brace-presence", + "category": "style", "type_aware": false, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-new-array.html" + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-curly-brace-presence.html" }, { - "scope": "unicorn", - "value": "no-new-buffer", - "category": "pedantic", + "scope": "react", + "value": "jsx-filename-extension", + "category": "restriction", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-new-buffer.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-filename-extension.html" }, { - "scope": "unicorn", - "value": "no-null", + "scope": "react", + "value": "jsx-fragments", "category": "style", "type_aware": false, - "fix": "conditional_dangerous_fix", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-null.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-fragments.html" }, { - "scope": "unicorn", - "value": "no-object-as-default-parameter", - "category": "pedantic", + "scope": "react", + "value": "jsx-handler-names", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-object-as-default-parameter.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-handler-names.html" }, { - "scope": "unicorn", - "value": "no-process-exit", - "category": "restriction", + "scope": "react", + "value": "jsx-key", + "category": "correctness", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-process-exit.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-key.html" }, { - "scope": "unicorn", - "value": "no-single-promise-in-promise-methods", - "category": "correctness", + "scope": "react", + "value": "jsx-max-depth", + "category": "style", "type_aware": false, - "fix": "conditional_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-single-promise-in-promise-methods.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-max-depth.html" }, { - "scope": "unicorn", - "value": "no-static-only-class", - "category": "pedantic", + "scope": "react", + "value": "jsx-no-comment-textnodes", + "category": "suspicious", "type_aware": false, - "fix": "fixable_dangerous_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-static-only-class.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-comment-textnodes.html" }, { - "scope": "unicorn", - "value": "no-thenable", + "scope": "react", + "value": "jsx-no-duplicate-props", "category": "correctness", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-thenable.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-duplicate-props.html" }, { - "scope": "unicorn", - "value": "no-this-assignment", - "category": "pedantic", + "scope": "react", + "value": "jsx-no-script-url", + "category": "suspicious", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-this-assignment.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-script-url.html" }, { - "scope": "unicorn", - "value": "no-typeof-undefined", + "scope": "react", + "value": "jsx-no-target-blank", "category": "pedantic", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-typeof-undefined.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-target-blank.html" }, { - "scope": "unicorn", - "value": "no-unnecessary-array-flat-depth", - "category": "pedantic", + "scope": "react", + "value": "jsx-no-undef", + "category": "correctness", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-array-flat-depth.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-undef.html" }, { - "scope": "unicorn", - "value": "no-unnecessary-array-splice-count", + "scope": "react", + "value": "jsx-no-useless-fragment", "category": "pedantic", "type_aware": false, - "fix": "fixable_fix", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-array-splice-count.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-no-useless-fragment.html" }, { - "scope": "unicorn", - "value": "no-unnecessary-await", - "category": "correctness", + "scope": "react", + "value": "jsx-pascal-case", + "category": "style", "type_aware": false, - "fix": "conditional_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-await.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-pascal-case.html" }, { - "scope": "unicorn", - "value": "no-unnecessary-slice-end", - "category": "pedantic", + "scope": "react", + "value": "jsx-props-no-spread-multi", + "category": "correctness", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-slice-end.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-props-no-spread-multi.html" }, { - "scope": "unicorn", - "value": "no-unreadable-array-destructuring", + "scope": "react", + "value": "jsx-props-no-spreading", "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unreadable-array-destructuring.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-props-no-spreading.html" }, { - "scope": "unicorn", - "value": "no-unreadable-iife", - "category": "pedantic", + "scope": "react", + "value": "no-array-index-key", + "category": "perf", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unreadable-iife.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-array-index-key.html" }, { - "scope": "unicorn", - "value": "no-useless-collection-argument", - "category": "style", + "scope": "react", + "value": "no-children-prop", + "category": "correctness", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-collection-argument.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-children-prop.html" }, { - "scope": "unicorn", - "value": "no-useless-error-capture-stack-trace", + "scope": "react", + "value": "no-danger", "category": "restriction", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-error-capture-stack-trace.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-danger.html" }, { - "scope": "unicorn", - "value": "no-useless-fallback-in-spread", + "scope": "react", + "value": "no-danger-with-children", "category": "correctness", "type_aware": false, - "fix": "conditional_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-fallback-in-spread.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-danger-with-children.html" }, { - "scope": "unicorn", - "value": "no-useless-length-check", + "scope": "react", + "value": "no-did-mount-set-state", "category": "correctness", "type_aware": false, - "fix": "pending", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-length-check.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-did-mount-set-state.html" }, { - "scope": "unicorn", - "value": "no-useless-promise-resolve-reject", - "category": "pedantic", + "scope": "react", + "value": "no-direct-mutation-state", + "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-promise-resolve-reject.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-direct-mutation-state.html" }, { - "scope": "unicorn", - "value": "no-useless-spread", + "scope": "react", + "value": "no-find-dom-node", "category": "correctness", "type_aware": false, - "fix": "fixable_dangerous_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-spread.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-find-dom-node.html" }, { - "scope": "unicorn", - "value": "no-useless-switch-case", - "category": "pedantic", + "scope": "react", + "value": "no-is-mounted", + "category": "correctness", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-switch-case.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-is-mounted.html" }, { - "scope": "unicorn", - "value": "no-useless-undefined", - "category": "pedantic", + "scope": "react", + "value": "no-multi-comp", + "category": "restriction", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-undefined.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-multi-comp.html" }, { - "scope": "unicorn", - "value": "no-zero-fractions", - "category": "style", + "scope": "react", + "value": "no-namespace", + "category": "suspicious", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-zero-fractions.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-namespace.html" }, { - "scope": "unicorn", - "value": "number-literal-case", + "scope": "react", + "value": "no-redundant-should-component-update", "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/number-literal-case.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-redundant-should-component-update.html" }, { - "scope": "unicorn", - "value": "numeric-separators-style", + "scope": "react", + "value": "no-render-return-value", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-render-return-value.html" + }, + { + "scope": "react", + "value": "no-set-state", + "category": "style", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-set-state.html" + }, + { + "scope": "react", + "value": "no-string-refs", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-string-refs.html" + }, + { + "scope": "react", + "value": "no-this-in-sfc", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-this-in-sfc.html" + }, + { + "scope": "react", + "value": "no-unescaped-entities", + "category": "pedantic", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-unescaped-entities.html" + }, + { + "scope": "react", + "value": "no-unknown-property", + "category": "restriction", + "type_aware": false, + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-unknown-property.html" + }, + { + "scope": "react", + "value": "no-unsafe", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-unsafe.html" + }, + { + "scope": "react", + "value": "no-will-update-set-state", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/no-will-update-set-state.html" + }, + { + "scope": "react", + "value": "only-export-components", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/only-export-components.html" + }, + { + "scope": "react", + "value": "prefer-es6-class", + "category": "style", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/prefer-es6-class.html" + }, + { + "scope": "react", + "value": "react-in-jsx-scope", + "category": "suspicious", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/react-in-jsx-scope.html" + }, + { + "scope": "react", + "value": "require-render-return", + "category": "nursery", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/require-render-return.html" + }, + { + "scope": "react", + "value": "rules-of-hooks", + "category": "pedantic", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/rules-of-hooks.html" + }, + { + "scope": "react", + "value": "self-closing-comp", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/numeric-separators-style.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/self-closing-comp.html" }, { - "scope": "unicorn", - "value": "prefer-add-event-listener", + "scope": "react", + "value": "state-in-constructor", + "category": "style", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/state-in-constructor.html" + }, + { + "scope": "react", + "value": "style-prop-object", "category": "suspicious", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-add-event-listener.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/style-prop-object.html" }, { - "scope": "unicorn", - "value": "prefer-array-find", + "scope": "react", + "value": "void-dom-elements-no-children", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react/void-dom-elements-no-children.html" + }, + { + "scope": "react_perf", + "value": "jsx-no-jsx-as-prop", "category": "perf", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-find.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-jsx-as-prop.html" }, { - "scope": "unicorn", - "value": "prefer-array-flat", - "category": "pedantic", + "scope": "react_perf", + "value": "jsx-no-new-array-as-prop", + "category": "perf", "type_aware": false, - "fix": "conditional_dangerous_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-flat.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-new-array-as-prop.html" }, { - "scope": "unicorn", - "value": "prefer-array-flat-map", + "scope": "react_perf", + "value": "jsx-no-new-function-as-prop", "category": "perf", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-flat-map.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-new-function-as-prop.html" }, { - "scope": "unicorn", - "value": "prefer-array-index-of", + "scope": "react_perf", + "value": "jsx-no-new-object-as-prop", + "category": "perf", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/react_perf/jsx-no-new-object-as-prop.html" + }, + { + "scope": "typescript", + "value": "adjacent-overload-signatures", "category": "style", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-index-of.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/adjacent-overload-signatures.html" }, { - "scope": "unicorn", - "value": "prefer-array-some", - "category": "pedantic", + "scope": "typescript", + "value": "array-type", + "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-some.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/array-type.html" }, { - "scope": "unicorn", - "value": "prefer-at", + "scope": "typescript", + "value": "await-thenable", + "category": "correctness", + "type_aware": true, + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/await-thenable.html" + }, + { + "scope": "typescript", + "value": "ban-ts-comment", "category": "pedantic", "type_aware": false, - "fix": "fixable_dangerous_fix", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-at.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-ts-comment.html" }, { - "scope": "unicorn", - "value": "prefer-bigint-literals", + "scope": "typescript", + "value": "ban-tslint-comment", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-bigint-literals.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-tslint-comment.html" }, { - "scope": "unicorn", - "value": "prefer-blob-reading-methods", + "scope": "typescript", + "value": "ban-types", "category": "pedantic", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-blob-reading-methods.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-types.html" }, { - "scope": "unicorn", - "value": "prefer-class-fields", + "scope": "typescript", + "value": "consistent-generic-constructors", "category": "style", "type_aware": false, - "fix": "conditional_safe_fix_or_suggestion", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-class-fields.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-generic-constructors.html" }, { - "scope": "unicorn", - "value": "prefer-classlist-toggle", + "scope": "typescript", + "value": "consistent-indexed-object-style", "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-classlist-toggle.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-indexed-object-style.html" }, { - "scope": "unicorn", - "value": "prefer-code-point", - "category": "pedantic", + "scope": "typescript", + "value": "consistent-type-definitions", + "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "conditional_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-code-point.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-type-definitions.html" }, { - "scope": "unicorn", - "value": "prefer-date-now", + "scope": "typescript", + "value": "consistent-type-imports", + "category": "style", + "type_aware": false, + "fix": "conditional_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-type-imports.html" + }, + { + "scope": "typescript", + "value": "explicit-function-return-type", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-function-return-type.html" + }, + { + "scope": "typescript", + "value": "explicit-module-boundary-types", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-module-boundary-types.html" + }, + { + "scope": "typescript", + "value": "no-array-delete", + "category": "correctness", + "type_aware": true, + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-array-delete.html" + }, + { + "scope": "typescript", + "value": "no-base-to-string", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-base-to-string.html" + }, + { + "scope": "typescript", + "value": "no-confusing-non-null-assertion", + "category": "suspicious", + "type_aware": false, + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-confusing-non-null-assertion.html" + }, + { + "scope": "typescript", + "value": "no-confusing-void-expression", + "category": "pedantic", + "type_aware": true, + "fix": "fixable_safe_fix_or_suggestion", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression.html" + }, + { + "scope": "typescript", + "value": "no-deprecated", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-deprecated.html" + }, + { + "scope": "typescript", + "value": "no-duplicate-enum-values", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-duplicate-enum-values.html" + }, + { + "scope": "typescript", + "value": "no-duplicate-type-constituents", + "category": "correctness", + "type_aware": true, + "fix": "fixable_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents.html" + }, + { + "scope": "typescript", + "value": "no-dynamic-delete", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-dynamic-delete.html" + }, + { + "scope": "typescript", + "value": "no-empty-interface", + "category": "style", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-interface.html" + }, + { + "scope": "typescript", + "value": "no-empty-object-type", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-object-type.html" + }, + { + "scope": "typescript", + "value": "no-explicit-any", + "category": "restriction", + "type_aware": false, + "fix": "conditional_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-explicit-any.html" + }, + { + "scope": "typescript", + "value": "no-extra-non-null-assertion", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-extra-non-null-assertion.html" + }, + { + "scope": "typescript", + "value": "no-extraneous-class", + "category": "suspicious", + "type_aware": false, + "fix": "fixable_dangerous_suggestion", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-extraneous-class.html" + }, + { + "scope": "typescript", + "value": "no-floating-promises", + "category": "correctness", + "type_aware": true, + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-floating-promises.html" + }, + { + "scope": "typescript", + "value": "no-for-in-array", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-for-in-array.html" + }, + { + "scope": "typescript", + "value": "no-implied-eval", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-implied-eval.html" + }, + { + "scope": "typescript", + "value": "no-import-type-side-effects", + "category": "restriction", + "type_aware": false, + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-import-type-side-effects.html" + }, + { + "scope": "typescript", + "value": "no-inferrable-types", + "category": "style", + "type_aware": false, + "fix": "fixable_suggestion", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-inferrable-types.html" + }, + { + "scope": "typescript", + "value": "no-meaningless-void-operator", + "category": "correctness", + "type_aware": true, + "fix": "fixable_safe_fix_or_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator.html" + }, + { + "scope": "typescript", + "value": "no-misused-new", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-misused-new.html" + }, + { + "scope": "typescript", + "value": "no-misused-promises", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-misused-promises.html" + }, + { + "scope": "typescript", + "value": "no-misused-spread", + "category": "correctness", + "type_aware": true, + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-misused-spread.html" + }, + { + "scope": "typescript", + "value": "no-mixed-enums", "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-mixed-enums.html" + }, + { + "scope": "typescript", + "value": "no-namespace", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-namespace.html" + }, + { + "scope": "typescript", + "value": "no-non-null-asserted-nullish-coalescing", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-non-null-asserted-nullish-coalescing.html" + }, + { + "scope": "typescript", + "value": "no-non-null-asserted-optional-chain", + "category": "correctness", + "type_aware": false, + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-non-null-asserted-optional-chain.html" + }, + { + "scope": "typescript", + "value": "no-non-null-assertion", + "category": "restriction", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-non-null-assertion.html" + }, + { + "scope": "typescript", + "value": "no-redundant-type-constituents", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents.html" + }, + { + "scope": "typescript", + "value": "no-require-imports", + "category": "restriction", + "type_aware": false, + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-require-imports.html" + }, + { + "scope": "typescript", + "value": "no-restricted-types", + "category": "restriction", + "type_aware": false, + "fix": "fixable_safe_fix_or_suggestion", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-restricted-types.html" + }, + { + "scope": "typescript", + "value": "no-this-alias", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-this-alias.html" + }, + { + "scope": "typescript", + "value": "no-unnecessary-boolean-literal-compare", + "category": "suspicious", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare.html" + }, + { + "scope": "typescript", + "value": "no-unnecessary-parameter-property-assignment", + "category": "correctness", + "type_aware": false, + "fix": "fixable_suggestion", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-parameter-property-assignment.html" + }, + { + "scope": "typescript", + "value": "no-unnecessary-template-expression", + "category": "suspicious", + "type_aware": true, + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression.html" + }, + { + "scope": "typescript", + "value": "no-unnecessary-type-arguments", + "category": "suspicious", + "type_aware": true, + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments.html" + }, + { + "scope": "typescript", + "value": "no-unnecessary-type-assertion", + "category": "suspicious", + "type_aware": true, + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion.html" + }, + { + "scope": "typescript", + "value": "no-unnecessary-type-constraint", + "category": "suspicious", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-constraint.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-argument", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-argument.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-assignment", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-call", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-call.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-declaration-merging", + "category": "correctness", + "type_aware": false, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-declaration-merging.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-enum-comparison", + "category": "suspicious", + "type_aware": true, + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-enum-comparison.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-function-type", + "category": "pedantic", + "type_aware": false, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-function-type.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-member-access", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-return", + "category": "pedantic", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-return.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-type-assertion", + "category": "suspicious", + "type_aware": true, + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion.html" + }, + { + "scope": "typescript", + "value": "no-unsafe-unary-minus", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus.html" + }, + { + "scope": "typescript", + "value": "no-useless-empty-export", + "category": "correctness", "type_aware": false, "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-date-now.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-useless-empty-export.html" }, { - "scope": "unicorn", - "value": "prefer-default-parameters", - "category": "style", + "scope": "typescript", + "value": "no-var-requires", + "category": "restriction", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-default-parameters.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-var-requires.html" }, { - "scope": "unicorn", - "value": "prefer-dom-node-append", - "category": "pedantic", + "scope": "typescript", + "value": "no-wrapper-object-types", + "category": "correctness", "type_aware": false, "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-append.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-wrapper-object-types.html" }, { - "scope": "unicorn", - "value": "prefer-dom-node-dataset", - "category": "pedantic", - "type_aware": false, - "fix": "pending", + "scope": "typescript", + "value": "non-nullable-type-assertion-style", + "category": "restriction", + "type_aware": true, + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-dataset.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.html" }, { - "scope": "unicorn", - "value": "prefer-dom-node-remove", + "scope": "typescript", + "value": "only-throw-error", "category": "pedantic", - "type_aware": false, + "type_aware": true, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-remove.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/only-throw-error.html" }, { - "scope": "unicorn", - "value": "prefer-dom-node-text-content", - "category": "style", + "scope": "typescript", + "value": "prefer-as-const", + "category": "correctness", "type_aware": false, "fix": "conditional_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-text-content.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-as-const.html" }, { - "scope": "unicorn", - "value": "prefer-event-target", + "scope": "typescript", + "value": "prefer-enum-initializers", "category": "pedantic", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-event-target.html" - }, - { - "scope": "unicorn", - "value": "prefer-global-this", - "category": "style", - "type_aware": false, "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-global-this.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-enum-initializers.html" }, { - "scope": "unicorn", - "value": "prefer-includes", + "scope": "typescript", + "value": "prefer-for-of", "category": "style", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-includes.html" - }, - { - "scope": "unicorn", - "value": "prefer-keyboard-event-key", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-keyboard-event-key.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-for-of.html" }, { - "scope": "unicorn", - "value": "prefer-logical-operator-over-ternary", + "scope": "typescript", + "value": "prefer-function-type", "category": "style", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-logical-operator-over-ternary.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-function-type.html" }, { - "scope": "unicorn", - "value": "prefer-math-min-max", + "scope": "typescript", + "value": "prefer-includes", "category": "pedantic", - "type_aware": false, + "type_aware": true, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-math-min-max.html" - }, - { - "scope": "unicorn", - "value": "prefer-math-trunc", - "category": "pedantic", - "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-math-trunc.html" - }, - { - "scope": "unicorn", - "value": "prefer-modern-dom-apis", - "category": "style", - "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-modern-dom-apis.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-includes.html" }, { - "scope": "unicorn", - "value": "prefer-modern-math-apis", + "scope": "typescript", + "value": "prefer-literal-enum-member", "category": "restriction", "type_aware": false, - "fix": "pending", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-modern-math-apis.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-literal-enum-member.html" }, { - "scope": "unicorn", - "value": "prefer-native-coercion-functions", - "category": "pedantic", + "scope": "typescript", + "value": "prefer-namespace-keyword", + "category": "correctness", "type_aware": false, - "fix": "pending", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-native-coercion-functions.html" + "fix": "fixable_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-namespace-keyword.html" }, { - "scope": "unicorn", - "value": "prefer-negative-index", - "category": "style", - "type_aware": false, + "scope": "typescript", + "value": "prefer-nullish-coalescing", + "category": "pedantic", + "type_aware": true, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-negative-index.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing.html" }, { - "scope": "unicorn", - "value": "prefer-node-protocol", - "category": "restriction", - "type_aware": false, - "fix": "fixable_fix", + "scope": "typescript", + "value": "prefer-optional-chain", + "category": "nursery", + "type_aware": true, + "fix": "fixable_dangerous_fix_or_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-node-protocol.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-optional-chain.html" }, { - "scope": "unicorn", - "value": "prefer-number-properties", - "category": "restriction", - "type_aware": false, - "fix": "fixable_dangerous_fix", + "scope": "typescript", + "value": "prefer-promise-reject-errors", + "category": "pedantic", + "type_aware": true, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-number-properties.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors.html" }, { - "scope": "unicorn", - "value": "prefer-object-from-entries", + "scope": "typescript", + "value": "prefer-reduce-type-parameter", "category": "style", - "type_aware": false, - "fix": "pending", + "type_aware": true, + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-object-from-entries.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter.html" }, { - "scope": "unicorn", - "value": "prefer-optional-catch-binding", + "scope": "typescript", + "value": "prefer-return-this-type", "category": "style", - "type_aware": false, + "type_aware": true, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-optional-catch-binding.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-return-this-type.html" }, { - "scope": "unicorn", - "value": "prefer-prototype-methods", + "scope": "typescript", + "value": "prefer-ts-expect-error", "category": "pedantic", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-prototype-methods.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-ts-expect-error.html" }, { - "scope": "unicorn", - "value": "prefer-query-selector", - "category": "pedantic", - "type_aware": false, + "scope": "typescript", + "value": "promise-function-async", + "category": "restriction", + "type_aware": true, "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-query-selector.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/promise-function-async.html" }, { - "scope": "unicorn", - "value": "prefer-reflect-apply", - "category": "style", - "type_aware": false, - "fix": "pending", + "scope": "typescript", + "value": "related-getter-setter-pairs", + "category": "pedantic", + "type_aware": true, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-reflect-apply.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs.html" }, { - "scope": "unicorn", - "value": "prefer-regexp-test", - "category": "pedantic", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-regexp-test.html" + "scope": "typescript", + "value": "require-array-sort-compare", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/require-array-sort-compare.html" }, { - "scope": "unicorn", - "value": "prefer-response-static-json", - "category": "style", - "type_aware": false, - "fix": "fixable_suggestion", + "scope": "typescript", + "value": "require-await", + "category": "pedantic", + "type_aware": true, + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-response-static-json.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/require-await.html" }, { - "scope": "unicorn", - "value": "prefer-set-has", - "category": "perf", - "type_aware": false, - "fix": "fixable_dangerous_fix", + "scope": "typescript", + "value": "restrict-plus-operands", + "category": "pedantic", + "type_aware": true, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-set-has.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/restrict-plus-operands.html" }, { - "scope": "unicorn", - "value": "prefer-set-size", + "scope": "typescript", + "value": "restrict-template-expressions", "category": "correctness", - "type_aware": false, - "fix": "fixable_fix", + "type_aware": true, + "fix": "none", "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-set-size.html" - }, - { - "scope": "unicorn", - "value": "prefer-spread", - "category": "style", - "type_aware": false, - "fix": "conditional_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-spread.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/restrict-template-expressions.html" }, { - "scope": "unicorn", - "value": "prefer-string-raw", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", + "scope": "typescript", + "value": "return-await", + "category": "pedantic", + "type_aware": true, + "fix": "fixable_safe_fix_or_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-raw.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/return-await.html" }, { - "scope": "unicorn", - "value": "prefer-string-replace-all", + "scope": "typescript", + "value": "strict-boolean-expressions", "category": "pedantic", - "type_aware": false, - "fix": "fixable_fix", + "type_aware": true, + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-replace-all.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.html" }, { - "scope": "unicorn", - "value": "prefer-string-slice", + "scope": "typescript", + "value": "switch-exhaustiveness-check", "category": "pedantic", - "type_aware": false, - "fix": "fixable_fix", + "type_aware": true, + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-slice.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/switch-exhaustiveness-check.html" }, { - "scope": "unicorn", - "value": "prefer-string-starts-ends-with", + "scope": "typescript", + "value": "triple-slash-reference", "category": "correctness", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-starts-ends-with.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/triple-slash-reference.html" }, { - "scope": "unicorn", - "value": "prefer-string-trim-start-end", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-trim-start-end.html" + "scope": "typescript", + "value": "unbound-method", + "category": "correctness", + "type_aware": true, + "fix": "none", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/unbound-method.html" }, { - "scope": "unicorn", - "value": "prefer-structured-clone", - "category": "style", - "type_aware": false, + "scope": "typescript", + "value": "use-unknown-in-catch-callback-variable", + "category": "restriction", + "type_aware": true, "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-structured-clone.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.html" }, { "scope": "unicorn", - "value": "prefer-top-level-await", - "category": "pedantic", + "value": "catch-error-name", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-top-level-await.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/catch-error-name.html" }, { "scope": "unicorn", - "value": "prefer-type-error", + "value": "consistent-assert", "category": "pedantic", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-type-error.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-assert.html" }, { "scope": "unicorn", - "value": "require-array-join-separator", + "value": "consistent-date-clone", "category": "style", "type_aware": false, - "fix": "conditional_fix", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-array-join-separator.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-date-clone.html" }, { "scope": "unicorn", - "value": "require-module-attributes", - "category": "style", + "value": "consistent-empty-array-spread", + "category": "pedantic", "type_aware": false, "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-module-attributes.html" - }, - { - "scope": "unicorn", - "value": "require-module-specifiers", - "category": "suspicious", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-module-specifiers.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-empty-array-spread.html" }, { "scope": "unicorn", - "value": "require-number-to-fixed-digits-argument", - "category": "pedantic", + "value": "consistent-existence-index-check", + "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-number-to-fixed-digits-argument.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-existence-index-check.html" }, { "scope": "unicorn", - "value": "require-post-message-target-origin", + "value": "consistent-function-scoping", "category": "suspicious", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-post-message-target-origin.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/consistent-function-scoping.html" }, { "scope": "unicorn", - "value": "switch-case-braces", + "value": "empty-brace-spaces", "category": "style", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/switch-case-braces.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/empty-brace-spaces.html" }, { "scope": "unicorn", - "value": "text-encoding-identifier-case", + "value": "error-message", "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/text-encoding-identifier-case.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/error-message.html" }, { "scope": "unicorn", - "value": "throw-new-error", - "category": "style", + "value": "escape-case", + "category": "pedantic", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/throw-new-error.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/escape-case.html" }, { - "scope": "jsx_a11y", - "value": "alt-text", - "category": "correctness", + "scope": "unicorn", + "value": "explicit-length-check", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/alt-text.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/explicit-length-check.html" }, { - "scope": "jsx_a11y", - "value": "anchor-ambiguous-text", - "category": "restriction", + "scope": "unicorn", + "value": "filename-case", + "category": "style", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/anchor-ambiguous-text.html" - }, - { - "scope": "jsx_a11y", - "value": "anchor-has-content", - "category": "correctness", - "type_aware": false, - "fix": "conditional_suggestion", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/anchor-has-content.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/filename-case.html" }, { - "scope": "jsx_a11y", - "value": "anchor-is-valid", - "category": "correctness", + "scope": "unicorn", + "value": "new-for-builtins", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/anchor-is-valid.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/new-for-builtins.html" }, { - "scope": "jsx_a11y", - "value": "aria-activedescendant-has-tabindex", - "category": "correctness", + "scope": "unicorn", + "value": "no-abusive-eslint-disable", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-activedescendant-has-tabindex.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-abusive-eslint-disable.html" }, { - "scope": "jsx_a11y", - "value": "aria-props", - "category": "correctness", + "scope": "unicorn", + "value": "no-accessor-recursion", + "category": "suspicious", "type_aware": false, - "fix": "conditional_fix", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-props.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-accessor-recursion.html" }, { - "scope": "jsx_a11y", - "value": "aria-proptypes", - "category": "correctness", + "scope": "unicorn", + "value": "no-anonymous-default-export", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-proptypes.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-anonymous-default-export.html" }, { - "scope": "jsx_a11y", - "value": "aria-role", - "category": "correctness", + "scope": "unicorn", + "value": "no-array-callback-reference", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-role.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-callback-reference.html" }, { - "scope": "jsx_a11y", - "value": "aria-unsupported-elements", - "category": "correctness", + "scope": "unicorn", + "value": "no-array-for-each", + "category": "restriction", "type_aware": false, - "fix": "fixable_fix", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/aria-unsupported-elements.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-for-each.html" }, { - "scope": "jsx_a11y", - "value": "autocomplete-valid", - "category": "correctness", + "scope": "unicorn", + "value": "no-array-method-this-argument", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/autocomplete-valid.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-method-this-argument.html" }, { - "scope": "jsx_a11y", - "value": "click-events-have-key-events", - "category": "correctness", + "scope": "unicorn", + "value": "no-array-reduce", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/click-events-have-key-events.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-reduce.html" }, { - "scope": "jsx_a11y", - "value": "heading-has-content", - "category": "correctness", + "scope": "unicorn", + "value": "no-array-reverse", + "category": "suspicious", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/heading-has-content.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-reverse.html" }, { - "scope": "jsx_a11y", - "value": "html-has-lang", - "category": "correctness", + "scope": "unicorn", + "value": "no-array-sort", + "category": "suspicious", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/html-has-lang.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-array-sort.html" }, { - "scope": "jsx_a11y", - "value": "iframe-has-title", - "category": "correctness", + "scope": "unicorn", + "value": "no-await-expression-member", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/iframe-has-title.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-await-expression-member.html" }, { - "scope": "jsx_a11y", - "value": "img-redundant-alt", + "scope": "unicorn", + "value": "no-await-in-promise-methods", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/img-redundant-alt.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-await-in-promise-methods.html" }, { - "scope": "jsx_a11y", - "value": "label-has-associated-control", - "category": "correctness", + "scope": "unicorn", + "value": "no-console-spaces", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/label-has-associated-control.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-console-spaces.html" }, { - "scope": "jsx_a11y", - "value": "lang", - "category": "correctness", + "scope": "unicorn", + "value": "no-document-cookie", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/lang.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-document-cookie.html" }, { - "scope": "jsx_a11y", - "value": "media-has-caption", + "scope": "unicorn", + "value": "no-empty-file", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/media-has-caption.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-empty-file.html" }, { - "scope": "jsx_a11y", - "value": "mouse-events-have-key-events", - "category": "correctness", + "scope": "unicorn", + "value": "no-hex-escape", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/mouse-events-have-key-events.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-hex-escape.html" }, { - "scope": "jsx_a11y", - "value": "no-access-key", - "category": "correctness", + "scope": "unicorn", + "value": "no-immediate-mutation", + "category": "pedantic", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-access-key.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-immediate-mutation.html" }, { - "scope": "jsx_a11y", - "value": "no-aria-hidden-on-focusable", - "category": "correctness", + "scope": "unicorn", + "value": "no-instanceof-array", + "category": "pedantic", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-aria-hidden-on-focusable.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-instanceof-array.html" }, { - "scope": "jsx_a11y", - "value": "no-autofocus", - "category": "correctness", + "scope": "unicorn", + "value": "no-instanceof-builtins", + "category": "suspicious", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-autofocus.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-instanceof-builtins.html" }, { - "scope": "jsx_a11y", - "value": "no-distracting-elements", + "scope": "unicorn", + "value": "no-invalid-fetch-options", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-distracting-elements.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-invalid-fetch-options.html" }, { - "scope": "jsx_a11y", - "value": "no-noninteractive-tabindex", + "scope": "unicorn", + "value": "no-invalid-remove-event-listener", "category": "correctness", "type_aware": false, "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-noninteractive-tabindex.html" + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-invalid-remove-event-listener.html" }, { - "scope": "jsx_a11y", - "value": "no-redundant-roles", - "category": "correctness", + "scope": "unicorn", + "value": "no-length-as-slice-end", + "category": "restriction", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-redundant-roles.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-length-as-slice-end.html" }, { - "scope": "jsx_a11y", - "value": "no-static-element-interactions", - "category": "nursery", + "scope": "unicorn", + "value": "no-lonely-if", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/no-static-element-interactions.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-lonely-if.html" }, { - "scope": "jsx_a11y", - "value": "prefer-tag-over-role", - "category": "correctness", + "scope": "unicorn", + "value": "no-magic-array-flat-depth", + "category": "restriction", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/prefer-tag-over-role.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-magic-array-flat-depth.html" }, { - "scope": "jsx_a11y", - "value": "role-has-required-aria-props", - "category": "correctness", + "scope": "unicorn", + "value": "no-negation-in-equality-check", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/role-has-required-aria-props.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-negation-in-equality-check.html" }, { - "scope": "jsx_a11y", - "value": "role-supports-aria-props", - "category": "correctness", + "scope": "unicorn", + "value": "no-nested-ternary", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/role-supports-aria-props.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-nested-ternary.html" }, { - "scope": "jsx_a11y", - "value": "scope", + "scope": "unicorn", + "value": "no-new-array", "category": "correctness", "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/scope.html" + "fix": "pending", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-new-array.html" }, { - "scope": "jsx_a11y", - "value": "tabindex-no-positive", - "category": "correctness", + "scope": "unicorn", + "value": "no-new-buffer", + "category": "pedantic", "type_aware": false, - "fix": "fixable_dangerous_suggestion", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsx_a11y/tabindex-no-positive.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-new-buffer.html" }, { - "scope": "oxc", - "value": "approx-constant", - "category": "suspicious", + "scope": "unicorn", + "value": "no-null", + "category": "style", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "conditional_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/approx-constant.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-null.html" }, { - "scope": "oxc", - "value": "bad-array-method-on-arguments", - "category": "correctness", + "scope": "unicorn", + "value": "no-object-as-default-parameter", + "category": "pedantic", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-array-method-on-arguments.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-object-as-default-parameter.html" }, { - "scope": "oxc", - "value": "bad-bitwise-operator", + "scope": "unicorn", + "value": "no-process-exit", "category": "restriction", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-bitwise-operator.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-process-exit.html" }, { - "scope": "oxc", - "value": "bad-char-at-comparison", + "scope": "unicorn", + "value": "no-single-promise-in-promise-methods", "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-char-at-comparison.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-single-promise-in-promise-methods.html" }, { - "scope": "oxc", - "value": "bad-comparison-sequence", - "category": "correctness", + "scope": "unicorn", + "value": "no-static-only-class", + "category": "pedantic", "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-comparison-sequence.html" + "fix": "fixable_dangerous_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-static-only-class.html" }, { - "scope": "oxc", - "value": "bad-min-max-func", + "scope": "unicorn", + "value": "no-thenable", "category": "correctness", "type_aware": false, "fix": "none", "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-min-max-func.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-thenable.html" }, { - "scope": "oxc", - "value": "bad-object-literal-comparison", - "category": "correctness", + "scope": "unicorn", + "value": "no-this-assignment", + "category": "pedantic", "type_aware": false, "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-object-literal-comparison.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-this-assignment.html" }, { - "scope": "oxc", - "value": "bad-replace-all-arg", - "category": "correctness", + "scope": "unicorn", + "value": "no-typeof-undefined", + "category": "pedantic", "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/bad-replace-all-arg.html" + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-typeof-undefined.html" }, { - "scope": "oxc", - "value": "branches-sharing-code", - "category": "nursery", + "scope": "unicorn", + "value": "no-unnecessary-array-flat-depth", + "category": "pedantic", + "type_aware": false, + "fix": "fixable_suggestion", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-array-flat-depth.html" + }, + { + "scope": "unicorn", + "value": "no-unnecessary-array-splice-count", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/branches-sharing-code.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-array-splice-count.html" }, { - "scope": "oxc", - "value": "const-comparisons", + "scope": "unicorn", + "value": "no-unnecessary-await", "category": "correctness", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/const-comparisons.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-await.html" }, { - "scope": "oxc", - "value": "double-comparisons", - "category": "correctness", + "scope": "unicorn", + "value": "no-unnecessary-slice-end", + "category": "pedantic", "type_aware": false, "fix": "fixable_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/double-comparisons.html" + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unnecessary-slice-end.html" }, { - "scope": "oxc", - "value": "erasing-op", - "category": "correctness", + "scope": "unicorn", + "value": "no-unreadable-array-destructuring", + "category": "style", "type_aware": false, - "fix": "fixable_dangerous_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/erasing-op.html" + "fix": "none", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unreadable-array-destructuring.html" }, { - "scope": "oxc", - "value": "misrefactored-assign-op", - "category": "suspicious", + "scope": "unicorn", + "value": "no-unreadable-iife", + "category": "pedantic", "type_aware": false, - "fix": "fixable_suggestion", + "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/misrefactored-assign-op.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-unreadable-iife.html" }, { - "scope": "oxc", - "value": "missing-throw", - "category": "correctness", + "scope": "unicorn", + "value": "no-useless-collection-argument", + "category": "style", "type_aware": false, "fix": "fixable_suggestion", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/missing-throw.html" - }, - { - "scope": "oxc", - "value": "no-accumulating-spread", - "category": "perf", - "type_aware": false, - "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-accumulating-spread.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-collection-argument.html" }, { - "scope": "oxc", - "value": "no-async-await", + "scope": "unicorn", + "value": "no-useless-error-capture-stack-trace", "category": "restriction", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-async-await.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-error-capture-stack-trace.html" }, { - "scope": "oxc", - "value": "no-async-endpoint-handlers", - "category": "suspicious", + "scope": "unicorn", + "value": "no-useless-fallback-in-spread", + "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-async-endpoint-handlers.html" + "fix": "conditional_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-fallback-in-spread.html" }, { - "scope": "oxc", - "value": "no-barrel-file", - "category": "restriction", + "scope": "unicorn", + "value": "no-useless-length-check", + "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-barrel-file.html" + "fix": "pending", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-length-check.html" }, { - "scope": "oxc", - "value": "no-const-enum", - "category": "restriction", + "scope": "unicorn", + "value": "no-useless-promise-resolve-reject", + "category": "pedantic", "type_aware": false, "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-const-enum.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-promise-resolve-reject.html" }, { - "scope": "oxc", - "value": "no-map-spread", - "category": "perf", + "scope": "unicorn", + "value": "no-useless-spread", + "category": "correctness", "type_aware": false, - "fix": "conditional_safe_fix_or_suggestion", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-map-spread.html" + "fix": "fixable_dangerous_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-spread.html" }, { - "scope": "oxc", - "value": "no-optional-chaining", - "category": "restriction", + "scope": "unicorn", + "value": "no-useless-switch-case", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-optional-chaining.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-switch-case.html" }, { - "scope": "oxc", - "value": "no-rest-spread-properties", - "category": "restriction", + "scope": "unicorn", + "value": "no-useless-undefined", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-rest-spread-properties.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-useless-undefined.html" }, { - "scope": "oxc", - "value": "no-this-in-exported-function", - "category": "suspicious", + "scope": "unicorn", + "value": "no-zero-fractions", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/no-this-in-exported-function.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/no-zero-fractions.html" }, { - "scope": "oxc", - "value": "number-arg-out-of-range", - "category": "correctness", + "scope": "unicorn", + "value": "number-literal-case", + "category": "style", "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/number-arg-out-of-range.html" + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/number-literal-case.html" }, { - "scope": "oxc", - "value": "only-used-in-recursion", - "category": "correctness", + "scope": "unicorn", + "value": "numeric-separators-style", + "category": "style", "type_aware": false, - "fix": "fixable_dangerous_fix", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/only-used-in-recursion.html" + "fix": "fixable_fix", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/numeric-separators-style.html" }, { - "scope": "oxc", - "value": "uninvoked-array-callback", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-add-event-listener", + "category": "suspicious", "type_aware": false, - "fix": "none", - "default": true, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/oxc/uninvoked-array-callback.html" + "fix": "pending", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-add-event-listener.html" }, { - "scope": "nextjs", - "value": "google-font-display", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-array-find", + "category": "perf", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/google-font-display.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-find.html" }, { - "scope": "nextjs", - "value": "google-font-preconnect", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-array-flat", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "conditional_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/google-font-preconnect.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-flat.html" }, { - "scope": "nextjs", - "value": "inline-script-id", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-array-flat-map", + "category": "perf", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/inline-script-id.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-flat-map.html" }, { - "scope": "nextjs", - "value": "next-script-for-ga", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-array-index-of", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/next-script-for-ga.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-index-of.html" }, { - "scope": "nextjs", - "value": "no-assign-module-variable", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-array-some", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-assign-module-variable.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-array-some.html" }, { - "scope": "nextjs", - "value": "no-async-client-component", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-at", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-async-client-component.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-at.html" }, { - "scope": "nextjs", - "value": "no-before-interactive-script-outside-document", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-bigint-literals", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-before-interactive-script-outside-document.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-bigint-literals.html" }, { - "scope": "nextjs", - "value": "no-css-tags", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-blob-reading-methods", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-css-tags.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-blob-reading-methods.html" }, { - "scope": "nextjs", - "value": "no-document-import-in-page", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-class-fields", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_safe_fix_or_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-document-import-in-page.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-class-fields.html" }, { - "scope": "nextjs", - "value": "no-duplicate-head", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-classlist-toggle", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-duplicate-head.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-classlist-toggle.html" }, { - "scope": "nextjs", - "value": "no-head-element", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-code-point", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-head-element.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-code-point.html" }, { - "scope": "nextjs", - "value": "no-head-import-in-document", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-date-now", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-head-import-in-document.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-date-now.html" }, { - "scope": "nextjs", - "value": "no-html-link-for-pages", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-default-parameters", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-html-link-for-pages.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-default-parameters.html" }, { - "scope": "nextjs", - "value": "no-img-element", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-dom-node-append", + "category": "pedantic", "type_aware": false, - "fix": "pending", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-img-element.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-append.html" }, { - "scope": "nextjs", - "value": "no-page-custom-font", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-dom-node-dataset", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-page-custom-font.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-dataset.html" }, { - "scope": "nextjs", - "value": "no-script-component-in-head", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-dom-node-remove", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-script-component-in-head.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-remove.html" }, { - "scope": "nextjs", - "value": "no-styled-jsx-in-document", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-dom-node-text-content", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-styled-jsx-in-document.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-dom-node-text-content.html" }, { - "scope": "nextjs", - "value": "no-sync-scripts", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-event-target", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-sync-scripts.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-event-target.html" }, { - "scope": "nextjs", - "value": "no-title-in-document-head", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-global-this", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-title-in-document-head.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-global-this.html" }, { - "scope": "nextjs", - "value": "no-typos", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-includes", + "category": "style", "type_aware": false, "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-typos.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-includes.html" }, { - "scope": "nextjs", - "value": "no-unwanted-polyfillio", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-keyboard-event-key", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/nextjs/no-unwanted-polyfillio.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-keyboard-event-key.html" }, { - "scope": "jsdoc", - "value": "check-access", - "category": "restriction", + "scope": "unicorn", + "value": "prefer-logical-operator-over-ternary", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/check-access.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-logical-operator-over-ternary.html" }, { - "scope": "jsdoc", - "value": "check-property-names", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-math-min-max", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/check-property-names.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-math-min-max.html" }, { - "scope": "jsdoc", - "value": "check-tag-names", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-math-trunc", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/check-tag-names.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-math-trunc.html" }, { - "scope": "jsdoc", - "value": "empty-tags", - "category": "restriction", + "scope": "unicorn", + "value": "prefer-modern-dom-apis", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/empty-tags.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-modern-dom-apis.html" }, { - "scope": "jsdoc", - "value": "implements-on-classes", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-modern-math-apis", + "category": "restriction", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/implements-on-classes.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-modern-math-apis.html" }, { - "scope": "jsdoc", - "value": "no-defaults", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-native-coercion-functions", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/no-defaults.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-native-coercion-functions.html" }, { - "scope": "jsdoc", - "value": "require-param", - "category": "pedantic", + "scope": "unicorn", + "value": "prefer-negative-index", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-negative-index.html" }, { - "scope": "jsdoc", - "value": "require-param-description", - "category": "pedantic", + "scope": "unicorn", + "value": "prefer-node-protocol", + "category": "restriction", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param-description.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-node-protocol.html" }, { - "scope": "jsdoc", - "value": "require-param-name", - "category": "pedantic", + "scope": "unicorn", + "value": "prefer-number-properties", + "category": "restriction", "type_aware": false, - "fix": "none", + "fix": "fixable_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param-name.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-number-properties.html" }, { - "scope": "jsdoc", - "value": "require-param-type", - "category": "pedantic", + "scope": "unicorn", + "value": "prefer-object-from-entries", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-param-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-object-from-entries.html" }, { - "scope": "jsdoc", - "value": "require-property", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-optional-catch-binding", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-optional-catch-binding.html" }, { - "scope": "jsdoc", - "value": "require-property-description", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-prototype-methods", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property-description.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-prototype-methods.html" }, { - "scope": "jsdoc", - "value": "require-property-name", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-query-selector", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property-name.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-query-selector.html" }, { - "scope": "jsdoc", - "value": "require-property-type", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-reflect-apply", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "pending", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-property-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-reflect-apply.html" }, { - "scope": "jsdoc", - "value": "require-returns", + "scope": "unicorn", + "value": "prefer-regexp-test", "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-returns.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-regexp-test.html" }, { - "scope": "jsdoc", - "value": "require-returns-description", - "category": "pedantic", + "scope": "unicorn", + "value": "prefer-response-static-json", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-returns-description.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-response-static-json.html" }, { - "scope": "jsdoc", - "value": "require-returns-type", - "category": "pedantic", + "scope": "unicorn", + "value": "prefer-set-has", + "category": "perf", "type_aware": false, - "fix": "none", + "fix": "fixable_dangerous_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-returns-type.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-set-has.html" }, { - "scope": "jsdoc", - "value": "require-yields", + "scope": "unicorn", + "value": "prefer-set-size", "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/jsdoc/require-yields.html" + "fix": "fixable_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-set-size.html" }, { - "scope": "promise", - "value": "always-return", - "category": "suspicious", + "scope": "unicorn", + "value": "prefer-spread", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/always-return.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-spread.html" }, { - "scope": "promise", - "value": "avoid-new", + "scope": "unicorn", + "value": "prefer-string-raw", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/avoid-new.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-raw.html" }, { - "scope": "promise", - "value": "catch-or-return", - "category": "restriction", + "scope": "unicorn", + "value": "prefer-string-replace-all", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/catch-or-return.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-replace-all.html" }, { - "scope": "promise", - "value": "no-callback-in-promise", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-string-slice", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-callback-in-promise.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-slice.html" }, { - "scope": "promise", - "value": "no-multiple-resolved", - "category": "suspicious", + "scope": "unicorn", + "value": "prefer-string-starts-ends-with", + "category": "correctness", "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-multiple-resolved.html" + "fix": "fixable_fix", + "default": true, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-starts-ends-with.html" }, { - "scope": "promise", - "value": "no-nesting", + "scope": "unicorn", + "value": "prefer-string-trim-start-end", "category": "style", "type_aware": false, - "fix": "pending", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-nesting.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-string-trim-start-end.html" }, { - "scope": "promise", - "value": "no-new-statics", - "category": "correctness", + "scope": "unicorn", + "value": "prefer-structured-clone", + "category": "style", "type_aware": false, - "fix": "fixable_fix", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-new-statics.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-structured-clone.html" }, { - "scope": "promise", - "value": "no-promise-in-callback", - "category": "suspicious", + "scope": "unicorn", + "value": "prefer-top-level-await", + "category": "pedantic", "type_aware": false, "fix": "none", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-promise-in-callback.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-top-level-await.html" }, { - "scope": "promise", - "value": "no-return-in-finally", - "category": "nursery", + "scope": "unicorn", + "value": "prefer-type-error", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-return-in-finally.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/prefer-type-error.html" }, { - "scope": "promise", - "value": "no-return-wrap", + "scope": "unicorn", + "value": "require-array-join-separator", "category": "style", "type_aware": false, - "fix": "pending", + "fix": "conditional_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/no-return-wrap.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-array-join-separator.html" }, { - "scope": "promise", - "value": "param-names", + "scope": "unicorn", + "value": "require-module-attributes", "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_suggestion", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/param-names.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-module-attributes.html" }, { - "scope": "promise", - "value": "prefer-await-to-callbacks", - "category": "style", + "scope": "unicorn", + "value": "require-module-specifiers", + "category": "suspicious", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/prefer-await-to-callbacks.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-module-specifiers.html" }, { - "scope": "promise", - "value": "prefer-await-to-then", - "category": "style", + "scope": "unicorn", + "value": "require-number-to-fixed-digits-argument", + "category": "pedantic", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/prefer-await-to-then.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-number-to-fixed-digits-argument.html" }, { - "scope": "promise", - "value": "prefer-catch", + "scope": "unicorn", + "value": "require-post-message-target-origin", + "category": "suspicious", + "type_aware": false, + "fix": "fixable_suggestion", + "default": false, + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/require-post-message-target-origin.html" + }, + { + "scope": "unicorn", + "value": "switch-case-braces", "category": "style", "type_aware": false, - "fix": "pending", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/prefer-catch.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/switch-case-braces.html" }, { - "scope": "promise", - "value": "spec-only", - "category": "restriction", + "scope": "unicorn", + "value": "text-encoding-identifier-case", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/spec-only.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/text-encoding-identifier-case.html" }, { - "scope": "promise", - "value": "valid-params", - "category": "correctness", + "scope": "unicorn", + "value": "throw-new-error", + "category": "style", "type_aware": false, - "fix": "none", + "fix": "fixable_fix", "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/promise/valid-params.html" + "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/throw-new-error.html" }, { "scope": "vitest", @@ -5678,15 +5759,6 @@ "default": false, "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/vitest/no-import-node-test.html" }, - { - "scope": "vitest", - "value": "no-unneeded-async-expect-function", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/vitest/no-unneeded-async-expect-function.html" - }, { "scope": "vitest", "value": "prefer-called-once", @@ -5759,42 +5831,6 @@ "default": false, "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/vitest/warn-todo.html" }, - { - "scope": "node", - "value": "global-require", - "category": "style", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/global-require.html" - }, - { - "scope": "node", - "value": "no-exports-assign", - "category": "style", - "type_aware": false, - "fix": "fixable_fix", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/no-exports-assign.html" - }, - { - "scope": "node", - "value": "no-new-require", - "category": "restriction", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/no-new-require.html" - }, - { - "scope": "node", - "value": "no-process-env", - "category": "restriction", - "type_aware": false, - "fix": "none", - "default": false, - "docs_url": "https://oxc.rs/docs/guide/usage/linter/rules/node/no-process-env.html" - }, { "scope": "vue", "value": "define-emits-declaration", diff --git a/src/docs/guide/usage/formatter/generated-cli.md b/src/docs/guide/usage/formatter/generated-cli.md index 71857d2684c..da773adcb6b 100644 --- a/src/docs/guide/usage/formatter/generated-cli.md +++ b/src/docs/guide/usage/formatter/generated-cli.md @@ -11,7 +11,7 @@ search: false - **` --init`** — Initialize `.oxfmtrc.json` with default values - **` --migrate`**=_`SOURCE`_ — - Migrate configuration to `.oxfmtrc.json` from specified source Available sources: prettier + Migrate configuration to `.oxfmtrc.json` from specified source Available sources: prettier, biome - **` --lsp`** — Start language server protocol (LSP) server - **` --stdin-filepath`**=_`PATH`_ — diff --git a/src/docs/guide/usage/linter/rules/eslint/capitalized-comments.md b/src/docs/guide/usage/linter/rules/eslint/capitalized-comments.md index 965346dce73..aa4b5121634 100644 --- a/src/docs/guide/usage/linter/rules/eslint/capitalized-comments.md +++ b/src/docs/guide/usage/linter/rules/eslint/capitalized-comments.md @@ -43,52 +43,86 @@ Examples of **correct** code for this rule with the default `"always"` option: ## Configuration -This rule accepts a configuration object with the following properties: +Configuration for the capitalized-comments rule. -### block +The first element specifies whether comments should `"always"` or `"never"` +begin with a capital letter. The second element is an optional object +containing additional options. + +### The 1st option + +type: `"always" | "never"` + +### The 2nd option + +This option is an object with the following properties: + +#### block type: `object` -#### block.ignoreConsecutiveComments +Configuration options specific to block comments. + +##### block.ignoreConsecutiveComments type: `boolean` -#### block.ignoreInlineComments +If true, consecutive comments will be ignored after the first comment. + +##### block.ignoreInlineComments type: `boolean` -#### block.ignorePattern +If true, inline comments (comments in the middle of code) will be ignored. + +##### block.ignorePattern type: `string` -### ignoreConsecutiveComments +A regex pattern. Comments that match the pattern will not cause violations. + +#### ignoreConsecutiveComments type: `boolean` -### ignoreInlineComments +If true, consecutive comments will be ignored after the first comment. + +#### ignoreInlineComments type: `boolean` -### ignorePattern +If true, inline comments (comments in the middle of code) will be ignored. + +#### ignorePattern type: `string` -### line +A regex pattern. Comments that match the pattern will not cause violations. + +#### line type: `object` -#### line.ignoreConsecutiveComments +Configuration options specific to line comments. + +##### line.ignoreConsecutiveComments type: `boolean` -#### line.ignoreInlineComments +If true, consecutive comments will be ignored after the first comment. + +##### line.ignoreInlineComments type: `boolean` -#### line.ignorePattern +If true, inline comments (comments in the middle of code) will be ignored. + +##### line.ignorePattern type: `string` +A regex pattern. Comments that match the pattern will not cause violations. + ## How to use To **enable** this rule using the config file or in the CLI, you can use: diff --git a/src/docs/guide/usage/linter/rules/eslint/curly.md b/src/docs/guide/usage/linter/rules/eslint/curly.md index c32fc968526..7dbe84637ca 100644 --- a/src/docs/guide/usage/linter/rules/eslint/curly.md +++ b/src/docs/guide/usage/linter/rules/eslint/curly.md @@ -224,28 +224,39 @@ if (foo) { ## Configuration -This rule accepts a configuration object with the following properties: +Configuration for the curly rule, specified as an array of one or two elements. -### consistent +Examples: -type: `boolean` +- `["all"]` - Require braces in all cases (default) +- `["multi"]` - Require braces only for multi-statement blocks +- `["multi-line"]` - Require braces for multi-line blocks +- `["multi-or-nest"]` - Require braces for nested or multi-line blocks +- `["multi", "consistent"]` - Multi mode with consistent braces in if-else chains -default: `false` +### The 1st option -Whether to enforce consistent use of curly braces in if-else chains. +type: `"all" | "multi" | "multi-line" | "multi-or-nest"` -### curlyType +The enforcement type for the curly rule. -type: `"all" | "multi" | "multi-line" | "multi-or-nest"` +#### `"all"` + +Require braces in all cases (default) + +#### `"multi"` -default: `"all"` +Require braces only when there are multiple statements in the block + +#### `"multi-line"` + +Require braces when the block spans multiple lines + +#### `"multi-or-nest"` -Which type of curly brace enforcement to use. +Require braces when the block is nested or spans multiple lines -- `"all"`: require braces in all cases -- `"multi"`: require braces only for multi-statement blocks -- `"multi-line"`: require braces only for multi-line blocks -- `"multi-or-nest"`: require braces for multi-line blocks or when nested +### The 2nd option ## How to use diff --git a/src/docs/guide/usage/linter/rules/eslint/no-restricted-imports.md b/src/docs/guide/usage/linter/rules/eslint/no-restricted-imports.md index bba6bacd6b0..8b05150cafa 100644 --- a/src/docs/guide/usage/linter/rules/eslint/no-restricted-imports.md +++ b/src/docs/guide/usage/linter/rules/eslint/no-restricted-imports.md @@ -34,7 +34,7 @@ and provide a higher maintenance cost of two dependencies when one would suffice Examples of **incorrect** code for this rule: ```js -/*eslint no-restricted-imports: ["error", "disallowed-import"]"*/ +/* no-restricted-imports: ["error", "disallowed-import"] */ import foo from "disallowed-import"; export * from "disallowed-import"; @@ -43,7 +43,7 @@ export * from "disallowed-import"; Examples of **correct** code for this rule: ```js -/*eslint no-restricted-imports: ["error", "fs"]*/ +/* no-restricted-imports: ["error", "fs"] */ import crypto from "crypto"; export * from "bar"; @@ -58,10 +58,10 @@ The custom message will be displayed as a help text for the user. Examples of **incorrect** code for this rule: ```js -/*eslint no-restricted-imports: ["error", { +/* no-restricted-imports: ["error", { "name": "disallowed-import", "message": "Please use 'allowed-import' instead" -}]*/ +}] */ import foo from "disallowed-import"; ``` @@ -77,7 +77,7 @@ This is an object option whose value is an array containing the names of the mod Examples of **incorrect** code for `paths`: ```js -/*eslint no-restricted-imports: ["error", { "paths": ["cluster"] }]*/ +/* no-restricted-imports: ["error", { "paths": ["cluster"] }] */ import cluster from "cluster"; ``` @@ -107,13 +107,13 @@ Specifying `"default"` string inside the `importNames` array will restrict the d Examples of **incorrect** code for this rule: ```js -/*eslint no-restricted-imports: ["error", { paths: [{ +/* no-restricted-imports: ["error", { paths: [{ "name": "foo", "importNames": ["default"] }, { "name": "bar", "importNames": ["Baz"] -}]}]*/ +}]}] */ import DisallowedObject from "foo"; import { Baz } from "far"; @@ -129,11 +129,11 @@ Note: `allowImportNames` cannot be used in combination with `importNames`. Examples of **incorrect** code for this rule: ```js -/*eslint no-restricted-imports: ["error", { paths: [{ +/* no-restricted-imports: ["error", { paths: [{ "name": "foo", "allowImportNames": ["AllowedObject"], "message": "Please use only 'AllowedObject' from 'foo'." -}]}]*/ +}]}] */ import { DisallowedObject } from "foo"; ``` @@ -145,10 +145,10 @@ Whether to allow type-only imports for a path. Default: `false`. Examples of **incorrect** code for this rule: ```typescript -/*eslint no-restricted-imports: ["error", { paths: [{ +/* no-restricted-imports: ["error", { paths: [{ "name": "foo", "allowTypeImports": true -}]}]*/ +}]}] */ import foo from "import-foo"; export { Foo } from "import-foo"; @@ -157,10 +157,10 @@ export { Foo } from "import-foo"; Examples of **correct** code for this rule: ```typescript -/*eslint no-restricted-imports: ["error", { paths: [{ +/* no-restricted-imports: ["error", { paths: [{ "name": "foo", "allowTypeImports": true -}]}]*/ +}]}] */ import type foo from "import-foo"; export type { Foo } from "import-foo"; @@ -204,7 +204,7 @@ You can also use regular expressions to restrict modules (see the `regex` option Examples of **incorrect** code for `patterns` option: ```js -/*eslint no-restricted-imports: ["error", { "patterns": ["lodash/*"] }]*/ +/* no-restricted-imports: ["error", { "patterns": ["lodash/*"] }] */ import pick from "lodash/pick"; ``` @@ -212,7 +212,7 @@ import pick from "lodash/pick"; Examples of **correct** code for `patterns` option: ```js -/*eslint no-restricted-imports: ["error", { "patterns": ["crypto/*"] }]*/ +/* no-restricted-imports: ["error", { "patterns": ["crypto/*"] }] */ import crypto from "crypto"; ``` @@ -227,10 +227,10 @@ Either of the `group` or `regex` properties is required when using the `patterns Examples of **incorrect** code for `group` option: ```js -/*eslint no-restricted-imports: ["error", { patterns: [{ +/* no-restricted-imports: ["error", { patterns: [{ group: ["lodash/*"], message: "Please use the default import from 'lodash' instead." -}]}]*/ +}]}] */ import pick from "lodash/pick"; ``` @@ -247,9 +247,9 @@ like Lookahead and Lookbehinds. Examples of **incorrect** code for `regex` option: ```js -/*eslint no-restricted-imports: ["error", { patterns: [{ +/* no-restricted-imports: ["error", { patterns: [{ regex: "@app/(api|enums).*", -}]}]*/ +}]}] */ import Foo from "@app/api"; import Bar from "@app/api/bar"; @@ -271,11 +271,11 @@ In this case, the specified names apply only to the associated `group` or `regex Examples of **incorrect** code for `importNames` in `patterns`: ```js -/*eslint no-restricted-imports: ["error", { patterns: [{ +/* no-restricted-imports: ["error", { patterns: [{ group: ["utils/*"], importNames: ['isEmpty'], message: "Use 'isEmpty' from lodash instead." -}]}]*/ +}]}] */ import { isEmpty } from "utils/collection-utils"; ``` @@ -294,11 +294,11 @@ This option allows you to use regex patterns to restrict import names. Examples of **incorrect** code for `importNamePattern` option: ```js -/*eslint no-restricted-imports: ["error", { patterns: [{ +/* no-restricted-imports: ["error", { patterns: [{ group: ["foo/*"], importNamePattern: '^(is|has)', message: "Use 'is*' and 'has*' functions from baz/bar instead" -}]}]*/ +}]}] */ import { isSomething, hasSomething } from "foo/bar"; ``` @@ -322,10 +322,10 @@ Note: `allowImportNamePattern` cannot be used in combination with `importNames`, Examples of **incorrect** code for `allowImportNamePattern` option: ```js -/*eslint no-restricted-imports: ["error", { patterns: [{ +/* no-restricted-imports: ["error", { patterns: [{ group: ["utils/*"], allowImportNamePattern: '^has' -}]}]*/ +}]}] */ import { isEmpty } from "utils/collection-utils"; ``` @@ -333,10 +333,10 @@ import { isEmpty } from "utils/collection-utils"; Examples of **correct** code for `allowImportNamePattern` option: ```js -/*eslint no-restricted-imports: ["error", { patterns: [{ +/* no-restricted-imports: ["error", { patterns: [{ group: ["utils/*"], allowImportNamePattern: '^is' -}]}]*/ +}]}] */ import { isEmpty } from "utils/collection-utils"; ``` diff --git a/src/docs/guide/usage/linter/rules/eslint/prefer-const.md b/src/docs/guide/usage/linter/rules/eslint/prefer-const.md new file mode 100644 index 00000000000..523e6bb8025 --- /dev/null +++ b/src/docs/guide/usage/linter/rules/eslint/prefer-const.md @@ -0,0 +1,109 @@ +--- +title: "eslint/prefer-const" +category: "Style" +default: false +type_aware: false +fix: "conditional_fix" +--- + + + + + + + +### What it does + +Requires `const` declarations for variables that are never +reassigned after their initial declaration. + +### Why is this bad? + +If a variable is never reassigned, using the `const` declaration is better. +`const` declaration tells readers, "this variable is never reassigned," reducing cognitive load and improving maintainability. + +### Examples + +Examples of **incorrect** code for this rule: + +```js +let a = 3; +console.log(a); + +let b; +b = 0; +console.log(b); + +for (let i in [1, 2, 3]) { + console.log(i); +} +``` + +Examples of **correct** code for this rule: + +```js +const a = 0; + +let a; +a = 0; +a = 1; + +let a; +if (true) { + a = 0; +} + +for (const i in [1, 2, 3]) { + console.log(i); +} +``` + +## Configuration + +### destructuring + +type: `"any" | "all"` + +#### `"any"` + +Warn if any of the variables in a destructuring assignment should be `const`. + +#### `"all"` + +Only warn if all variables in a destructuring assignment should be `const`. Otherwise, ignore them. + +### ignoreReadBeforeAssign + +type: `boolean` + +default: `false` + +If `true`, the rule will not report variables that are read before their initial assignment. +This is mainly useful for preventing conflicts with the `typescript/no-use-before-define` rule. + +## How to use + +To **enable** this rule using the config file or in the CLI, you can use: + +::: code-group + +```json [Config (.oxlintrc.json)] +{ + "rules": { + "prefer-const": "error" + } +} +``` + +```bash [CLI] +oxlint --deny prefer-const +``` + +::: + +## References + +- Rule Source diff --git a/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md b/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md index 2cbe540823c..62b14e9eff3 100644 --- a/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md +++ b/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md @@ -3,7 +3,7 @@ title: "eslint/prefer-exponentiation-operator" category: "Style" default: false type_aware: false -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/import/no-duplicates.md b/src/docs/guide/usage/linter/rules/import/no-duplicates.md index f23f63ebec5..3d81be8fe12 100644 --- a/src/docs/guide/usage/linter/rules/import/no-duplicates.md +++ b/src/docs/guide/usage/linter/rules/import/no-duplicates.md @@ -54,6 +54,23 @@ import type { d } from "foo"; // `prefer-inline` is true This rule accepts a configuration object with the following properties: +### considerQueryString + +type: `boolean` + +default: `false` + +When set to `true`, the rule will consider the query string part of the import path +when determining if imports are duplicates. This is useful when using loaders like +webpack that use query strings to configure how a module should be loaded. + +Examples of **correct** code with this option set to `true`: + +```javascript +import x from "./bar?optionX"; +import y from "./bar?optionY"; +``` + ### preferInline type: `boolean` diff --git a/src/docs/guide/usage/linter/rules/import/no-nodejs-modules.md b/src/docs/guide/usage/linter/rules/import/no-nodejs-modules.md new file mode 100644 index 00000000000..1927010879f --- /dev/null +++ b/src/docs/guide/usage/linter/rules/import/no-nodejs-modules.md @@ -0,0 +1,87 @@ +--- +title: "import/no-nodejs-modules" +category: "Style" +default: false +type_aware: false +fix: "none" +--- + + + + + + + +### What it does + +Forbid the use of Node.js builtin modules. Can be useful for client-side web projects that do not have access to those modules. + +### Why is this bad? + +Node.js builtins (e.g. `fs`, `path`, `crypto`) are not available in browsers, so importing them in client bundles causes runtime failures or forces bundlers to inject heavy polyfills/shims. +This increases bundle size, can leak server-only logic to the client, and may hide environment mismatches until production. + +### Examples + +Examples of **incorrect** code for this rule: + +```js +import fs from "fs"; +import path from "path"; + +var fs = require("fs"); +var path = require("path"); +``` + +Examples of **correct** code for this rule: + +```js +import _ from "lodash"; +import foo from "foo"; +import foo from "./foo"; + +var _ = require("lodash"); +var foo = require("foo"); +var foo = require("./foo"); + +/* eslint import/no-nodejs-modules: ["error", {"allow": ["path"]}] */ +import path from "path"; +``` + +## Configuration + +This rule accepts a configuration object with the following properties: + +### allow + +type: `string[]` + +Array of names of allowed modules. Defaults to an empty array. + +## How to use + +To **enable** this rule using the config file or in the CLI, you can use: + +::: code-group + +```json [Config (.oxlintrc.json)] +{ + "plugins": ["import"], + "rules": { + "import/no-nodejs-modules": "error" + } +} +``` + +```bash [CLI] +oxlint --deny import/no-nodejs-modules --import-plugin +``` + +::: + +## References + +- Rule Source diff --git a/src/docs/guide/usage/linter/rules/import/no-relative-parent-imports.md b/src/docs/guide/usage/linter/rules/import/no-relative-parent-imports.md new file mode 100644 index 00000000000..68652f962a3 --- /dev/null +++ b/src/docs/guide/usage/linter/rules/import/no-relative-parent-imports.md @@ -0,0 +1,71 @@ +--- +title: "import/no-relative-parent-imports" +category: "Restriction" +default: false +type_aware: false +fix: "none" +--- + + + + + + + +### What it does + +Forbids importing modules from parent directories using relative paths. + +### Why is this bad? + +This restriction enforces tree-like folder structures instead of complex +graph-like structures, making large codebases easier to maintain. +Dependencies flow in one direction (parent to child), which clarifies +module relationships. + +### Examples + +Examples of **incorrect** code for this rule: + +```javascript +import foo from "../bar"; +import foo from "../../utils/helper"; +const baz = require("../config"); +export { qux } from "../shared"; +``` + +Examples of **correct** code for this rule: + +```javascript +import foo from "lodash"; +import a from "./lib/a"; +import b from "./b"; +``` + +## How to use + +To **enable** this rule using the config file or in the CLI, you can use: + +::: code-group + +```json [Config (.oxlintrc.json)] +{ + "plugins": ["import"], + "rules": { + "import/no-relative-parent-imports": "error" + } +} +``` + +```bash [CLI] +oxlint --deny import/no-relative-parent-imports --import-plugin +``` + +::: + +## References + +- Rule Source diff --git a/src/docs/guide/usage/linter/rules/import/no-unassigned-import.md b/src/docs/guide/usage/linter/rules/import/no-unassigned-import.md index 2c2e7b7612a..0ed1731987b 100644 --- a/src/docs/guide/usage/linter/rules/import/no-unassigned-import.md +++ b/src/docs/guide/usage/linter/rules/import/no-unassigned-import.md @@ -64,7 +64,7 @@ default: `[]` A list of glob patterns to allow unassigned imports for specific modules. For example: -`{ "allow": ["*.css"] }` will allow unassigned imports for any module ending with `.css`. +`{ "allow": ["**/*.css"] }` will allow unassigned imports for any module ending with `.css`. ## How to use diff --git a/src/docs/guide/usage/linter/rules/vitest/no-unneeded-async-expect-function.md b/src/docs/guide/usage/linter/rules/jest/no-unneeded-async-expect-function.md similarity index 70% rename from src/docs/guide/usage/linter/rules/vitest/no-unneeded-async-expect-function.md rename to src/docs/guide/usage/linter/rules/jest/no-unneeded-async-expect-function.md index de655b411cb..f35788f406c 100644 --- a/src/docs/guide/usage/linter/rules/vitest/no-unneeded-async-expect-function.md +++ b/src/docs/guide/usage/linter/rules/jest/no-unneeded-async-expect-function.md @@ -1,5 +1,5 @@ --- -title: "vitest/no-unneeded-async-expect-function" +title: "jest/no-unneeded-async-expect-function" category: "Style" default: false type_aware: false @@ -10,7 +10,7 @@ fix: "fixable_fix" @@ -43,6 +43,17 @@ Examples of **correct** code for this rule: await expect(doSomethingAsync()).rejects.toThrow(); ``` +This rule is compatible with [eslint-plugin-vitest](https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-unneeded-async-expect-function.md), +to use it, add the following configuration to your `.oxlintrc.json`: + +```json +{ + "rules": { + "vitest/no-unneeded-async-expect-function": "error" + } +} +``` + ## How to use To **enable** this rule using the config file or in the CLI, you can use: @@ -51,15 +62,15 @@ To **enable** this rule using the config file or in the CLI, you can use: ```json [Config (.oxlintrc.json)] { - "plugins": ["vitest"], + "plugins": ["jest"], "rules": { - "vitest/no-unneeded-async-expect-function": "error" + "jest/no-unneeded-async-expect-function": "error" } } ``` ```bash [CLI] -oxlint --deny vitest/no-unneeded-async-expect-function --vitest-plugin +oxlint --deny jest/no-unneeded-async-expect-function --jest-plugin ``` ::: diff --git a/src/docs/guide/usage/linter/rules/jest/prefer-spy-on.md b/src/docs/guide/usage/linter/rules/jest/prefer-spy-on.md index 18da0d58da3..7d3b492ddf5 100644 --- a/src/docs/guide/usage/linter/rules/jest/prefer-spy-on.md +++ b/src/docs/guide/usage/linter/rules/jest/prefer-spy-on.md @@ -3,7 +3,7 @@ title: "jest/prefer-spy-on" category: "Style" default: false type_aware: false -fix: "fixable_fix" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/react/jsx-boolean-value.md b/src/docs/guide/usage/linter/rules/react/jsx-boolean-value.md index d9adcc34238..4773fc14e70 100644 --- a/src/docs/guide/usage/linter/rules/react/jsx-boolean-value.md +++ b/src/docs/guide/usage/linter/rules/react/jsx-boolean-value.md @@ -21,49 +21,89 @@ Enforce a consistent boolean attribute style in your code. ### Why is this bad? -In JSX, you can set a boolean attribute to `true` or omit it. This rule will enforce a consistent style for boolean attributes. +In JSX, you can set a boolean attribute to `true` or omit it. +This rule will enforce a consistent style for boolean attributes. ### Examples -Examples of **incorrect** code for this rule: +Examples of **incorrect** code for this rule with default `"never"` mode: ```jsx const Hello = ; ``` -Examples of **correct** code for this rule: +Examples of **correct** code for this rule with default `"never"` mode: + +```jsx +const Hello = ; + +const Foo = ; +``` + +Examples of **incorrect** code for this rule with `"always"` mode: ```jsx const Hello = ; ``` +Examples of **correct** code for this rule with `"always"` mode: + +```jsx +const Hello = ; +``` + ## Configuration -This rule accepts a configuration object with the following properties: +### The 1st option -### assumeUndefinedIsFalse +type: `"always" | "never"` -type: `boolean` +#### `"always"` -default: `false` +All boolean attributes must have explicit values. -If true, treats `prop={false}` as equivalent to the prop being undefined +#### `"never"` -### enforceBooleanAttribute +All boolean attributes must omit values that are set to `true`. -type: `"always" | "never"` +### The 2nd option -default: `"never"` +This option is an object with the following properties: + +#### always + +type: `string[]` + +default: `[]` + +List of attribute names that should always have explicit boolean values. +Only necessary when main mode is `"never"`. + +#### assumeUndefinedIsFalse + +type: `boolean` + +default: `false` + +If `true`, treats `prop={false}` as equivalent to the prop being `undefined`. +When combined with `"never"` mode, this will enforce that the attribute is omitted entirely. + +```jsx +// With "assumeUndefinedIsFalse": true +; // Incorrect +; // Correct +``` -Enforce boolean attributes to always or never have a value. +This option does nothing in `"always"` mode. -### exceptions +#### never type: `string[]` default: `[]` -List of attribute names to exclude from the rule. +List of attribute names that should never have explicit boolean values. +Only necessary when main mode is `"always"`. ## How to use diff --git a/src/docs/guide/usage/linter/rules/react/jsx-no-undef.md b/src/docs/guide/usage/linter/rules/react/jsx-no-undef.md index 7ae1119cdd9..dd4a3d701fc 100644 --- a/src/docs/guide/usage/linter/rules/react/jsx-no-undef.md +++ b/src/docs/guide/usage/linter/rules/react/jsx-no-undef.md @@ -17,7 +17,10 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin ### What it does -Disallow undeclared variables in JSX +Disallow undeclared variables in JSX. + +Note that this rule is generally unnecessary if you are using TypeScript, as +TypeScript will catch undeclared variables for you. ### Why is this bad? diff --git a/src/docs/guide/usage/linter/rules/react/no-is-mounted.md b/src/docs/guide/usage/linter/rules/react/no-is-mounted.md index 42492f47d83..72280704d6d 100644 --- a/src/docs/guide/usage/linter/rules/react/no-is-mounted.md +++ b/src/docs/guide/usage/linter/rules/react/no-is-mounted.md @@ -17,12 +17,12 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin ### What it does -This rule prevents using `isMounted` in classes. +This rule prevents using `isMounted` in class components. ### Why is this bad? -`isMounted` is an anti-pattern, is not available when using classes, -and it is on its way to being officially deprecated. +`isMounted` is an anti-pattern, and is not available +when using classes or function components. ### Examples diff --git a/src/docs/guide/usage/linter/rules/react/no-multi-comp.md b/src/docs/guide/usage/linter/rules/react/no-multi-comp.md new file mode 100644 index 00000000000..21c81f9f311 --- /dev/null +++ b/src/docs/guide/usage/linter/rules/react/no-multi-comp.md @@ -0,0 +1,88 @@ +--- +title: "react/no-multi-comp" +category: "Restriction" +default: false +type_aware: false +fix: "none" +--- + + + + + + + +### What it does + +Prevents multiple React components from being defined in the same file. + +### Why is this bad? + +Declaring multiple components in a single file can make it harder to navigate +and maintain the codebase. Each component should ideally be in its own file +for better organization and reusability. + +### Examples + +Examples of **incorrect** code for this rule: + +```jsx +function Foo({ name }) { + return
Hello {name}
; +} + +function Bar({ name }) { + return
Hello again {name}
; +} +``` + +Examples of **correct** code for this rule: + +```jsx +function Foo({ name }) { + return
Hello {name}
; +} +``` + +## Configuration + +### ignoreStateless + +type: `boolean` + +default: `false` + +When `true`, the rule will ignore stateless components and will allow you to have multiple +stateless components in the same file. Or one stateful component and one-or-more stateless +components in the same file. + +Stateless basically just means function components, including those created via +`memo` and `forwardRef`. + +## How to use + +To **enable** this rule using the config file or in the CLI, you can use: + +::: code-group + +```json [Config (.oxlintrc.json)] +{ + "plugins": ["react"], + "rules": { + "react/no-multi-comp": "error" + } +} +``` + +```bash [CLI] +oxlint --deny react/no-multi-comp --react-plugin +``` + +::: + +## References + +- Rule Source diff --git a/src/docs/guide/usage/linter/rules/react/no-string-refs.md b/src/docs/guide/usage/linter/rules/react/no-string-refs.md index e9442aa2788..142c7d9e3c8 100644 --- a/src/docs/guide/usage/linter/rules/react/no-string-refs.md +++ b/src/docs/guide/usage/linter/rules/react/no-string-refs.md @@ -17,11 +17,14 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin ### What it does -This rule prevents using string literals in ref attributes. +This rule prevents using the deprecated behavior of string literals in ref attributes. ### Why is this bad? -Using string literals in ref attributes is deprecated in React. +Using string literals in ref attributes has been deprecated since React 16.3.0. + +String refs are [removed entirely in React 19](https://react.dev/blog/2024/04/25/react-19-upgrade-guide#removed-string-refs), +and so this rule can be disabled if on React 19+. ### Examples diff --git a/src/docs/guide/usage/linter/rules/react/prefer-es6-class.md b/src/docs/guide/usage/linter/rules/react/prefer-es6-class.md index 3dae791d9bc..0cd5dbb85e7 100644 --- a/src/docs/guide/usage/linter/rules/react/prefer-es6-class.md +++ b/src/docs/guide/usage/linter/rules/react/prefer-es6-class.md @@ -17,8 +17,11 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin ### What it does -React offers you two ways to create traditional components: using the ES5 -create-react-class module or the new ES2015 class system. +React offers you two ways to create traditional components: using the +`create-react-class` package or the newer ES2015 class system. + +Note that function components are preferred over class components in modern React, +and it is _especially_ discouraged to use `createReactClass` in modern React. ### Why is this bad? @@ -26,7 +29,7 @@ This rule enforces a consistent React class style. ### Examples -Examples of **incorrect** code for this rule: +Examples of **incorrect** code for this rule by default: ```jsx var Hello = createReactClass({ @@ -42,11 +45,11 @@ This rule accepts one of the following string values: ### `"always"` -Always prefer ES6 class-style components +Always prefer ES2015 class-style components. ### `"never"` -Do not allow ES6 class-style +Do not allow ES2015 class-style, prefer `createReactClass`. ## How to use diff --git a/src/docs/guide/usage/linter/rules/typescript/await-thenable.md b/src/docs/guide/usage/linter/rules/typescript/await-thenable.md index deb9b292079..9e596fa2f1d 100644 --- a/src/docs/guide/usage/linter/rules/typescript/await-thenable.md +++ b/src/docs/guide/usage/linter/rules/typescript/await-thenable.md @@ -3,7 +3,7 @@ title: "typescript/await-thenable" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/consistent-generic-constructors.md b/src/docs/guide/usage/linter/rules/typescript/consistent-generic-constructors.md index 0b34ba58738..66610def626 100644 --- a/src/docs/guide/usage/linter/rules/typescript/consistent-generic-constructors.md +++ b/src/docs/guide/usage/linter/rules/typescript/consistent-generic-constructors.md @@ -3,7 +3,7 @@ title: "typescript/consistent-generic-constructors" category: "Style" default: false type_aware: false -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-array-delete.md b/src/docs/guide/usage/linter/rules/typescript/no-array-delete.md index f9289531ed6..431d8eaa3ec 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-array-delete.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-array-delete.md @@ -3,7 +3,7 @@ title: "typescript/no-array-delete" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-base-to-string.md b/src/docs/guide/usage/linter/rules/typescript/no-base-to-string.md index 5a00beaff1e..6e7f302d4f1 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-base-to-string.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-base-to-string.md @@ -3,7 +3,7 @@ title: "typescript/no-base-to-string" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression.md b/src/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression.md index 19181f66e13..2b237a530e4 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression.md @@ -3,7 +3,7 @@ title: "typescript/no-confusing-void-expression" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "fixable_safe_fix_or_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents.md b/src/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents.md index 5e892ef0325..ed0408dfb53 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents.md @@ -3,7 +3,7 @@ title: "typescript/no-duplicate-type-constituents" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-floating-promises.md b/src/docs/guide/usage/linter/rules/typescript/no-floating-promises.md index 5819874e72c..cb1b8ba862c 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-floating-promises.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-floating-promises.md @@ -3,7 +3,7 @@ title: "typescript/no-floating-promises" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-for-in-array.md b/src/docs/guide/usage/linter/rules/typescript/no-for-in-array.md index 614fd7fc5d3..aac13df7c11 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-for-in-array.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-for-in-array.md @@ -3,7 +3,7 @@ title: "typescript/no-for-in-array" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-implied-eval.md b/src/docs/guide/usage/linter/rules/typescript/no-implied-eval.md index 66900f108e3..80f0d9e5151 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-implied-eval.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-implied-eval.md @@ -3,7 +3,7 @@ title: "typescript/no-implied-eval" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator.md b/src/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator.md index c65469a5b35..6715f2610fe 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator.md @@ -3,7 +3,7 @@ title: "typescript/no-meaningless-void-operator" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "fixable_safe_fix_or_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-misused-promises.md b/src/docs/guide/usage/linter/rules/typescript/no-misused-promises.md index cbaff5bd875..7ebdbd2485a 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-misused-promises.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-misused-promises.md @@ -3,7 +3,7 @@ title: "typescript/no-misused-promises" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-misused-spread.md b/src/docs/guide/usage/linter/rules/typescript/no-misused-spread.md index a7a30a054df..2d8bba1bcdc 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-misused-spread.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-misused-spread.md @@ -3,7 +3,7 @@ title: "typescript/no-misused-spread" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-mixed-enums.md b/src/docs/guide/usage/linter/rules/typescript/no-mixed-enums.md index f5dc9398e78..f736ad6f5a9 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-mixed-enums.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-mixed-enums.md @@ -3,7 +3,7 @@ title: "typescript/no-mixed-enums" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents.md b/src/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents.md index 126d7c4007d..aba95fba7b8 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents.md @@ -3,7 +3,7 @@ title: "typescript/no-redundant-type-constituents" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare.md b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare.md index 576607fd15c..11b183d36cf 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare.md @@ -3,7 +3,7 @@ title: "typescript/no-unnecessary-boolean-literal-compare" category: "Suspicious" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments.md b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments.md index 0ccc0cc8e27..d02679b4d6d 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments.md @@ -3,7 +3,7 @@ title: "typescript/no-unnecessary-type-arguments" category: "Suspicious" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion.md b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion.md index deba82c8c5d..578c1426b7b 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion.md @@ -3,7 +3,7 @@ title: "typescript/no-unnecessary-type-assertion" category: "Suspicious" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-argument.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-argument.md index fdb1d2173ad..b1846608803 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-argument.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-argument.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-argument" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment.md index ae21f8845f5..0bedad98f68 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-assignment" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-call.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-call.md index 9e3ff44c864..333d18c5e56 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-call.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-call.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-call" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access.md index 69d49d864ac..db245bbf162 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-member-access" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-return.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-return.md index ff50aa75468..66ad24594c2 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-return.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-return.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-return" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion.md index edaf641ea65..837b006ccae 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-type-assertion" category: "Suspicious" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus.md b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus.md index 3e0d588802d..d115bfcb29f 100644 --- a/src/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus.md +++ b/src/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus.md @@ -3,7 +3,7 @@ title: "typescript/no-unsafe-unary-minus" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.md b/src/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.md index ca7d6b0e8e9..3b301c3c8d2 100644 --- a/src/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.md +++ b/src/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.md @@ -3,7 +3,7 @@ title: "typescript/non-nullable-type-assertion-style" category: "Restriction" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md b/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md index 71e9a17c34b..16d7b21e79b 100644 --- a/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md +++ b/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md @@ -3,7 +3,7 @@ title: "typescript/only-throw-error" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-includes.md b/src/docs/guide/usage/linter/rules/typescript/prefer-includes.md index 74f0bb67f02..4a257cf1e3c 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-includes.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-includes.md @@ -3,7 +3,7 @@ title: "typescript/prefer-includes" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-namespace-keyword.md b/src/docs/guide/usage/linter/rules/typescript/prefer-namespace-keyword.md index 37f74e63ba5..d95cbf293cc 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-namespace-keyword.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-namespace-keyword.md @@ -1,7 +1,7 @@ --- title: "typescript/prefer-namespace-keyword" -category: "Style" -default: false +category: "Correctness" +default: true type_aware: false fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing.md b/src/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing.md index 400cc35704d..59cfe56f864 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing.md @@ -3,7 +3,7 @@ title: "typescript/prefer-nullish-coalescing" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-optional-chain.md b/src/docs/guide/usage/linter/rules/typescript/prefer-optional-chain.md index 0624faaa03a..14a4cc06b51 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-optional-chain.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-optional-chain.md @@ -3,7 +3,7 @@ title: "typescript/prefer-optional-chain" category: "Nursery" default: false type_aware: true -fix: "fixable_fix" +fix: "fixable_dangerous_fix_or_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors.md b/src/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors.md index 362b4a32bc4..6b17b6b2cfe 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors.md @@ -3,7 +3,7 @@ title: "typescript/prefer-promise-reject-errors" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter.md b/src/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter.md index 8ab615c7241..22e501fb22e 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter.md @@ -3,7 +3,7 @@ title: "typescript/prefer-reduce-type-parameter" category: "Style" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/prefer-return-this-type.md b/src/docs/guide/usage/linter/rules/typescript/prefer-return-this-type.md index 674903a262a..c3bd6b75c48 100644 --- a/src/docs/guide/usage/linter/rules/typescript/prefer-return-this-type.md +++ b/src/docs/guide/usage/linter/rules/typescript/prefer-return-this-type.md @@ -3,7 +3,7 @@ title: "typescript/prefer-return-this-type" category: "Style" default: false type_aware: true -fix: "pending" +fix: "fixable_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/promise-function-async.md b/src/docs/guide/usage/linter/rules/typescript/promise-function-async.md index 1919efef53f..d18fd3da966 100644 --- a/src/docs/guide/usage/linter/rules/typescript/promise-function-async.md +++ b/src/docs/guide/usage/linter/rules/typescript/promise-function-async.md @@ -3,7 +3,7 @@ title: "typescript/promise-function-async" category: "Restriction" default: false type_aware: true -fix: "pending" +fix: "conditional_fix" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs.md b/src/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs.md index 1dc65c466fb..b7356a5f81c 100644 --- a/src/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs.md +++ b/src/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs.md @@ -3,7 +3,7 @@ title: "typescript/related-getter-setter-pairs" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/require-array-sort-compare.md b/src/docs/guide/usage/linter/rules/typescript/require-array-sort-compare.md index fa29c3b4770..09f31c89284 100644 --- a/src/docs/guide/usage/linter/rules/typescript/require-array-sort-compare.md +++ b/src/docs/guide/usage/linter/rules/typescript/require-array-sort-compare.md @@ -3,7 +3,7 @@ title: "typescript/require-array-sort-compare" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/restrict-plus-operands.md b/src/docs/guide/usage/linter/rules/typescript/restrict-plus-operands.md index c1a63791457..26acb784014 100644 --- a/src/docs/guide/usage/linter/rules/typescript/restrict-plus-operands.md +++ b/src/docs/guide/usage/linter/rules/typescript/restrict-plus-operands.md @@ -3,7 +3,7 @@ title: "typescript/restrict-plus-operands" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/restrict-template-expressions.md b/src/docs/guide/usage/linter/rules/typescript/restrict-template-expressions.md index c63cac1eecf..56374503c38 100644 --- a/src/docs/guide/usage/linter/rules/typescript/restrict-template-expressions.md +++ b/src/docs/guide/usage/linter/rules/typescript/restrict-template-expressions.md @@ -3,7 +3,7 @@ title: "typescript/restrict-template-expressions" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/return-await.md b/src/docs/guide/usage/linter/rules/typescript/return-await.md index 895e5021ed5..a37f78e4b11 100644 --- a/src/docs/guide/usage/linter/rules/typescript/return-await.md +++ b/src/docs/guide/usage/linter/rules/typescript/return-await.md @@ -3,7 +3,7 @@ title: "typescript/return-await" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "fixable_safe_fix_or_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.md b/src/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.md index 4f0255bfe5c..5796963a62a 100644 --- a/src/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.md +++ b/src/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions.md @@ -3,7 +3,7 @@ title: "typescript/strict-boolean-expressions" category: "Pedantic" default: false type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/unbound-method.md b/src/docs/guide/usage/linter/rules/typescript/unbound-method.md index 907e7a7f3e7..f004b4a20c4 100644 --- a/src/docs/guide/usage/linter/rules/typescript/unbound-method.md +++ b/src/docs/guide/usage/linter/rules/typescript/unbound-method.md @@ -3,7 +3,7 @@ title: "typescript/unbound-method" category: "Correctness" default: true type_aware: true -fix: "pending" +fix: "none" --- diff --git a/src/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.md b/src/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.md index 8fea4cfea7b..adb0123bed3 100644 --- a/src/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.md +++ b/src/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.md @@ -3,7 +3,7 @@ title: "typescript/use-unknown-in-catch-callback-variable" category: "Restriction" default: false type_aware: true -fix: "pending" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/unicorn/prefer-modern-dom-apis.md b/src/docs/guide/usage/linter/rules/unicorn/prefer-modern-dom-apis.md index d039d2e8b59..2d26cf27cb1 100644 --- a/src/docs/guide/usage/linter/rules/unicorn/prefer-modern-dom-apis.md +++ b/src/docs/guide/usage/linter/rules/unicorn/prefer-modern-dom-apis.md @@ -3,7 +3,7 @@ title: "unicorn/prefer-modern-dom-apis" category: "Style" default: false type_aware: false -fix: "pending" +fix: "fixable_suggestion" --- diff --git a/src/docs/guide/usage/linter/rules/version.data.js b/src/docs/guide/usage/linter/rules/version.data.js index 79cd2d2859a..bdc5f4960b0 100644 --- a/src/docs/guide/usage/linter/rules/version.data.js +++ b/src/docs/guide/usage/linter/rules/version.data.js @@ -1,5 +1,5 @@ export default { load() { - return "2b9d11542bf96e68b25fc33dc12d4e169e0945d4"; + return "17532090849cc1e3223d205267e95ab0edb7297f"; }, }; diff --git a/src/docs/guide/usage/rule-count.data.js b/src/docs/guide/usage/rule-count.data.js index 3f4eb032a73..27e774cfa23 100644 --- a/src/docs/guide/usage/rule-count.data.js +++ b/src/docs/guide/usage/rule-count.data.js @@ -1,5 +1,5 @@ export default { load() { - return 661; + return 665; }, };