UNPKG

oxlint

Version:

Linter for the JavaScript Oxidation Compiler

1,469 lines 125 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Oxlintrc", "description": "Oxlint Configuration File\n\nThis configuration is aligned with ESLint v8's configuration schema (`eslintrc.json`).\n\nUsage: `oxlint -c oxlintrc.json`\n\nExample\n\n`.oxlintrc.json`\n\n```json\n{\n\"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n\"plugins\": [\"import\", \"typescript\", \"unicorn\"],\n\"env\": {\n\"browser\": true\n},\n\"globals\": {\n\"foo\": \"readonly\"\n},\n\"settings\": {\n\"react\": {\n\"version\": \"18.2.0\"\n},\n\"custom\": { \"option\": true }\n},\n\"rules\": {\n\"eqeqeq\": \"warn\",\n\"import/no-cycle\": \"error\",\n\"react/self-closing-comp\": [\"error\", { \"html\": false }]\n},\n\"overrides\": [\n{\n\"files\": [\"*.test.ts\", \"*.spec.ts\"],\n\"rules\": {\n\"@typescript-eslint/no-explicit-any\": \"off\"\n}\n}\n]\n}\n```\n\n`oxlint.config.ts`\n\n```ts\nimport { defineConfig } from \"oxlint\";\n\nexport default defineConfig({\nplugins: [\"import\", \"typescript\", \"unicorn\"],\nenv: {\n\"browser\": true\n},\nglobals: {\n\"foo\": \"readonly\"\n},\nsettings: {\nreact: {\nversion: \"18.2.0\"\n},\ncustom: { option: true }\n},\nrules: {\n\"eqeqeq\": \"warn\",\n\"import/no-cycle\": \"error\",\n\"react/self-closing-comp\": [\"error\", { \"html\": false }]\n},\noverrides: [\n{\nfiles: [\"*.test.ts\", \"*.spec.ts\"],\nrules: {\n\"@typescript-eslint/no-explicit-any\": \"off\"\n}\n}\n]\n});\n```", "type": "object", "properties": { "$schema": { "description": "Schema URI for editor tooling.", "type": "string", "markdownDescription": "Schema URI for editor tooling." }, "categories": { "default": {}, "allOf": [ { "$ref": "#/definitions/OxlintCategories" } ] }, "env": { "description": "Environments enable and disable collections of global variables.", "default": { "builtin": true }, "allOf": [ { "$ref": "#/definitions/OxlintEnv" } ], "markdownDescription": "Environments enable and disable collections of global variables." }, "extends": { "description": "Paths of configuration files that this configuration file extends (inherits from). The files\nare resolved relative to the location of the configuration file that contains the `extends`\nproperty. The configuration files are merged from the first to the last, with the last file\noverriding the previous ones.", "type": "array", "items": { "type": "string" }, "markdownDescription": "Paths of configuration files that this configuration file extends (inherits from). The files\nare resolved relative to the location of the configuration file that contains the `extends`\nproperty. The configuration files are merged from the first to the last, with the last file\noverriding the previous ones." }, "globals": { "description": "Enabled or disabled specific global variables.", "default": {}, "allOf": [ { "$ref": "#/definitions/OxlintGlobals" } ], "markdownDescription": "Enabled or disabled specific global variables." }, "ignorePatterns": { "description": "Globs to ignore during linting. These are resolved from the configuration file path.", "default": [], "type": "array", "items": { "type": "string" }, "markdownDescription": "Globs to ignore during linting. These are resolved from the configuration file path." }, "jsPlugins": { "description": "JS plugins, allows usage of ESLint plugins with Oxlint.\n\nRead more about JS plugins in\n[the docs](https://oxc.rs/docs/guide/usage/linter/js-plugins.html).\n\nNote: JS plugins are in alpha and not subject to semver.\n\nExamples:\n\nBasic usage with a local plugin path.\n\n```json\n{\n\"jsPlugins\": [\"./custom-plugin.js\"],\n\"rules\": {\n\"custom/rule-name\": \"warn\"\n}\n}\n```\n\nBasic usage with a TypeScript plugin and a local plugin path.\n\nTypeScript plugin files are supported in the following environments:\n- Deno and Bun: TypeScript files are supported natively.\n- Node.js >=22.18.0 and Node.js ^20.19.0: TypeScript files are supported natively with built-in\ntype-stripping enabled by default.\n\nFor older Node.js versions, TypeScript plugins are not supported. Please use JavaScript plugins or upgrade your Node version.\n\n```json\n{\n\"jsPlugins\": [\"./custom-plugin.ts\"],\n\"rules\": {\n\"custom/rule-name\": \"warn\"\n}\n}\n```\n\nUsing a built-in Rust plugin alongside a JS plugin with the same name\nby giving the JS plugin an alias.\n\n```json\n{\n\"plugins\": [\"import\"],\n\"jsPlugins\": [\n{ \"name\": \"import-js\", \"specifier\": \"eslint-plugin-import\" }\n],\n\"rules\": {\n\"import/no-cycle\": \"error\",\n\"import-js/no-unresolved\": \"warn\"\n}\n}\n```", "anyOf": [ { "type": "null" }, { "type": "array", "items": { "$ref": "#/definitions/ExternalPluginEntry" }, "uniqueItems": true } ], "markdownDescription": "JS plugins, allows usage of ESLint plugins with Oxlint.\n\nRead more about JS plugins in\n[the docs](https://oxc.rs/docs/guide/usage/linter/js-plugins.html).\n\nNote: JS plugins are in alpha and not subject to semver.\n\nExamples:\n\nBasic usage with a local plugin path.\n\n```json\n{\n\"jsPlugins\": [\"./custom-plugin.js\"],\n\"rules\": {\n\"custom/rule-name\": \"warn\"\n}\n}\n```\n\nBasic usage with a TypeScript plugin and a local plugin path.\n\nTypeScript plugin files are supported in the following environments:\n- Deno and Bun: TypeScript files are supported natively.\n- Node.js >=22.18.0 and Node.js ^20.19.0: TypeScript files are supported natively with built-in\ntype-stripping enabled by default.\n\nFor older Node.js versions, TypeScript plugins are not supported. Please use JavaScript plugins or upgrade your Node version.\n\n```json\n{\n\"jsPlugins\": [\"./custom-plugin.ts\"],\n\"rules\": {\n\"custom/rule-name\": \"warn\"\n}\n}\n```\n\nUsing a built-in Rust plugin alongside a JS plugin with the same name\nby giving the JS plugin an alias.\n\n```json\n{\n\"plugins\": [\"import\"],\n\"jsPlugins\": [\n{ \"name\": \"import-js\", \"specifier\": \"eslint-plugin-import\" }\n],\n\"rules\": {\n\"import/no-cycle\": \"error\",\n\"import-js/no-unresolved\": \"warn\"\n}\n}\n```" }, "options": { "description": "Oxlint config options.", "allOf": [ { "$ref": "#/definitions/OxlintOptions" } ], "markdownDescription": "Oxlint config options." }, "overrides": { "description": "Add, remove, or otherwise reconfigure rules for specific files or groups of files.", "allOf": [ { "$ref": "#/definitions/OxlintOverrides" } ], "markdownDescription": "Add, remove, or otherwise reconfigure rules for specific files or groups of files." }, "plugins": { "description": "Enabled built-in plugins for Oxlint.\nYou can view the list of available plugins on\n[the website](https://oxc.rs/docs/guide/usage/linter/plugins.html#supported-plugins).\n\nNOTE: Setting the `plugins` field will overwrite the base set of plugins.\nThe `plugins` array should reflect all of the plugins you want to use.", "default": null, "allOf": [ { "$ref": "#/definitions/LintPlugins" } ], "markdownDescription": "Enabled built-in plugins for Oxlint.\nYou can view the list of available plugins on\n[the website](https://oxc.rs/docs/guide/usage/linter/plugins.html#supported-plugins).\n\nNOTE: Setting the `plugins` field will overwrite the base set of plugins.\nThe `plugins` array should reflect all of the plugins you want to use." }, "rules": { "description": "Example\n\n`.oxlintrc.json`\n\n```json\n{\n\"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n\"rules\": {\n\"eqeqeq\": \"warn\",\n\"import/no-cycle\": \"error\",\n\"prefer-const\": [\"error\", { \"ignoreReadBeforeAssign\": true }]\n}\n}\n```\n\nSee [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html) for the list of\nrules.", "default": {}, "allOf": [ { "$ref": "#/definitions/OxlintRules" } ], "markdownDescription": "Example\n\n`.oxlintrc.json`\n\n```json\n{\n\"$schema\": \"./node_modules/oxlint/configuration_schema.json\",\n\"rules\": {\n\"eqeqeq\": \"warn\",\n\"import/no-cycle\": \"error\",\n\"prefer-const\": [\"error\", { \"ignoreReadBeforeAssign\": true }]\n}\n}\n```\n\nSee [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html) for the list of\nrules." }, "settings": { "description": "Plugin-specific configuration for both built-in and custom plugins.\nThis includes settings for built-in plugins such as `react` and `jsdoc`\nas well as configuring settings for JS custom plugins loaded via `jsPlugins`.", "default": { "jsx-a11y": { "polymorphicPropName": null, "components": {}, "attributes": {} }, "next": { "rootDir": [] }, "react": { "formComponents": [], "linkComponents": [], "version": null, "componentWrapperFunctions": [] }, "jsdoc": { "ignorePrivate": false, "ignoreInternal": false, "ignoreReplacesDocs": true, "overrideReplacesDocs": true, "augmentsExtendsReplacesDocs": false, "implementsReplacesDocs": false, "exemptDestructuredRootsFromChecks": false, "tagNamePreference": {} }, "vitest": { "typecheck": false }, "jest": { "version": null } }, "allOf": [ { "$ref": "#/definitions/OxlintSettings" } ], "markdownDescription": "Plugin-specific configuration for both built-in and custom plugins.\nThis includes settings for built-in plugins such as `react` and `jsdoc`\nas well as configuring settings for JS custom plugins loaded via `jsPlugins`." } }, "additionalProperties": false, "allowComments": true, "allowTrailingCommas": true, "definitions": { "AllowWarnDeny": { "oneOf": [ { "description": "Oxlint rule.\n- \"allow\" or \"off\": Turn off the rule.\n- \"warn\": Turn the rule on as a warning (doesn't affect exit code).\n- \"error\" or \"deny\": Turn the rule on as an error (will exit with a failure code).", "type": "string", "enum": [ "allow", "off", "warn", "error", "deny" ], "markdownDescription": "Oxlint rule.\n- \"allow\" or \"off\": Turn off the rule.\n- \"warn\": Turn the rule on as a warning (doesn't affect exit code).\n- \"error\" or \"deny\": Turn the rule on as an error (will exit with a failure code)." }, { "description": "Oxlint rule.\n \n- 0: Turn off the rule.\n- 1: Turn the rule on as a warning (doesn't affect exit code).\n- 2: Turn the rule on as an error (will exit with a failure code).", "type": "integer", "format": "uint32", "maximum": 2.0, "minimum": 0.0, "markdownDescription": "Oxlint rule.\n \n- 0: Turn off the rule.\n- 1: Turn the rule on as a warning (doesn't affect exit code).\n- 2: Turn the rule on as an error (will exit with a failure code)." } ] }, "CustomComponent": { "anyOf": [ { "type": "string" }, { "type": "object", "required": [ "attribute", "name" ], "properties": { "attribute": { "type": "string" }, "name": { "type": "string" } } }, { "type": "object", "required": [ "attributes", "name" ], "properties": { "attributes": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" } } } ] }, "DummyRule": { "anyOf": [ { "$ref": "#/definitions/AllowWarnDeny" }, { "type": "array", "items": [ { "$ref": "#/definitions/AllowWarnDeny" } ], "additionalItems": true, "minItems": 1 } ] }, "DummyRuleMap": { "description": "See [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html)", "type": "object", "properties": { "accessor-pairs": { "$ref": "#/definitions/DummyRule" }, "array-callback-return": { "$ref": "#/definitions/DummyRule" }, "arrow-body-style": { "$ref": "#/definitions/DummyRule" }, "block-scoped-var": { "$ref": "#/definitions/DummyRule" }, "capitalized-comments": { "$ref": "#/definitions/DummyRule" }, "class-methods-use-this": { "$ref": "#/definitions/DummyRule" }, "complexity": { "$ref": "#/definitions/DummyRule" }, "constructor-super": { "$ref": "#/definitions/DummyRule" }, "curly": { "$ref": "#/definitions/DummyRule" }, "default-case": { "$ref": "#/definitions/DummyRule" }, "default-case-last": { "$ref": "#/definitions/DummyRule" }, "default-param-last": { "$ref": "#/definitions/DummyRule" }, "eqeqeq": { "$ref": "#/definitions/DummyRule" }, "for-direction": { "$ref": "#/definitions/DummyRule" }, "func-name-matching": { "$ref": "#/definitions/DummyRule" }, "func-names": { "$ref": "#/definitions/DummyRule" }, "func-style": { "$ref": "#/definitions/DummyRule" }, "getter-return": { "$ref": "#/definitions/DummyRule" }, "grouped-accessor-pairs": { "$ref": "#/definitions/DummyRule" }, "guard-for-in": { "$ref": "#/definitions/DummyRule" }, "id-length": { "$ref": "#/definitions/DummyRule" }, "id-match": { "$ref": "#/definitions/DummyRule" }, "import/consistent-type-specifier-style": { "$ref": "#/definitions/DummyRule" }, "import/default": { "$ref": "#/definitions/DummyRule" }, "import/export": { "$ref": "#/definitions/DummyRule" }, "import/exports-last": { "$ref": "#/definitions/DummyRule" }, "import/extensions": { "$ref": "#/definitions/DummyRule" }, "import/first": { "$ref": "#/definitions/DummyRule" }, "import/group-exports": { "$ref": "#/definitions/DummyRule" }, "import/max-dependencies": { "$ref": "#/definitions/DummyRule" }, "import/named": { "$ref": "#/definitions/DummyRule" }, "import/namespace": { "$ref": "#/definitions/DummyRule" }, "import/newline-after-import": { "$ref": "#/definitions/DummyRule" }, "import/no-absolute-path": { "$ref": "#/definitions/DummyRule" }, "import/no-amd": { "$ref": "#/definitions/DummyRule" }, "import/no-anonymous-default-export": { "$ref": "#/definitions/DummyRule" }, "import/no-commonjs": { "$ref": "#/definitions/DummyRule" }, "import/no-cycle": { "$ref": "#/definitions/DummyRule" }, "import/no-default-export": { "$ref": "#/definitions/DummyRule" }, "import/no-duplicates": { "$ref": "#/definitions/DummyRule" }, "import/no-dynamic-require": { "$ref": "#/definitions/DummyRule" }, "import/no-empty-named-blocks": { "$ref": "#/definitions/DummyRule" }, "import/no-mutable-exports": { "$ref": "#/definitions/DummyRule" }, "import/no-named-as-default": { "$ref": "#/definitions/DummyRule" }, "import/no-named-as-default-member": { "$ref": "#/definitions/DummyRule" }, "import/no-named-default": { "$ref": "#/definitions/DummyRule" }, "import/no-named-export": { "$ref": "#/definitions/DummyRule" }, "import/no-namespace": { "$ref": "#/definitions/DummyRule" }, "import/no-nodejs-modules": { "$ref": "#/definitions/DummyRule" }, "import/no-relative-parent-imports": { "$ref": "#/definitions/DummyRule" }, "import/no-self-import": { "$ref": "#/definitions/DummyRule" }, "import/no-unassigned-import": { "$ref": "#/definitions/DummyRule" }, "import/no-webpack-loader-syntax": { "$ref": "#/definitions/DummyRule" }, "import/prefer-default-export": { "$ref": "#/definitions/DummyRule" }, "import/unambiguous": { "$ref": "#/definitions/DummyRule" }, "init-declarations": { "$ref": "#/definitions/DummyRule" }, "jest/consistent-test-it": { "$ref": "#/definitions/DummyRule" }, "jest/expect-expect": { "$ref": "#/definitions/DummyRule" }, "jest/max-expects": { "$ref": "#/definitions/DummyRule" }, "jest/max-nested-describe": { "$ref": "#/definitions/DummyRule" }, "jest/no-alias-methods": { "$ref": "#/definitions/DummyRule" }, "jest/no-commented-out-tests": { "$ref": "#/definitions/DummyRule" }, "jest/no-conditional-expect": { "$ref": "#/definitions/DummyRule" }, "jest/no-conditional-in-test": { "$ref": "#/definitions/DummyRule" }, "jest/no-confusing-set-timeout": { "$ref": "#/definitions/DummyRule" }, "jest/no-deprecated-functions": { "$ref": "#/definitions/DummyRule" }, "jest/no-disabled-tests": { "$ref": "#/definitions/DummyRule" }, "jest/no-done-callback": { "$ref": "#/definitions/DummyRule" }, "jest/no-duplicate-hooks": { "$ref": "#/definitions/DummyRule" }, "jest/no-export": { "$ref": "#/definitions/DummyRule" }, "jest/no-focused-tests": { "$ref": "#/definitions/DummyRule" }, "jest/no-hooks": { "$ref": "#/definitions/DummyRule" }, "jest/no-identical-title": { "$ref": "#/definitions/DummyRule" }, "jest/no-interpolation-in-snapshots": { "$ref": "#/definitions/DummyRule" }, "jest/no-jasmine-globals": { "$ref": "#/definitions/DummyRule" }, "jest/no-large-snapshots": { "$ref": "#/definitions/DummyRule" }, "jest/no-mocks-import": { "$ref": "#/definitions/DummyRule" }, "jest/no-restricted-jest-methods": { "$ref": "#/definitions/DummyRule" }, "jest/no-restricted-matchers": { "$ref": "#/definitions/DummyRule" }, "jest/no-standalone-expect": { "$ref": "#/definitions/DummyRule" }, "jest/no-test-prefixes": { "$ref": "#/definitions/DummyRule" }, "jest/no-test-return-statement": { "$ref": "#/definitions/DummyRule" }, "jest/no-unneeded-async-expect-function": { "$ref": "#/definitions/DummyRule" }, "jest/no-untyped-mock-factory": { "$ref": "#/definitions/DummyRule" }, "jest/padding-around-after-all-blocks": { "$ref": "#/definitions/DummyRule" }, "jest/padding-around-test-blocks": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-called-with": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-comparison-matcher": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-each": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-ending-with-an-expect": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-equality-matcher": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-expect-assertions": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-expect-resolves": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-hooks-in-order": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-hooks-on-top": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-importing-jest-globals": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-jest-mocked": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-lowercase-title": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-mock-promise-shorthand": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-mock-return-shorthand": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-snapshot-hint": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-spy-on": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-strict-equal": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-to-be": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-to-contain": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-to-have-been-called": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-to-have-been-called-times": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-to-have-length": { "$ref": "#/definitions/DummyRule" }, "jest/prefer-todo": { "$ref": "#/definitions/DummyRule" }, "jest/require-hook": { "$ref": "#/definitions/DummyRule" }, "jest/require-to-throw-message": { "$ref": "#/definitions/DummyRule" }, "jest/require-top-level-describe": { "$ref": "#/definitions/DummyRule" }, "jest/valid-describe-callback": { "$ref": "#/definitions/DummyRule" }, "jest/valid-expect": { "$ref": "#/definitions/DummyRule" }, "jest/valid-expect-in-promise": { "$ref": "#/definitions/DummyRule" }, "jest/valid-title": { "$ref": "#/definitions/DummyRule" }, "jsdoc/check-access": { "$ref": "#/definitions/DummyRule" }, "jsdoc/check-property-names": { "$ref": "#/definitions/DummyRule" }, "jsdoc/check-tag-names": { "$ref": "#/definitions/DummyRule" }, "jsdoc/empty-tags": { "$ref": "#/definitions/DummyRule" }, "jsdoc/implements-on-classes": { "$ref": "#/definitions/DummyRule" }, "jsdoc/no-defaults": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-param": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-param-description": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-param-name": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-param-type": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-property": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-property-description": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-property-name": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-property-type": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-returns": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-returns-description": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-returns-type": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-throws-description": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-throws-type": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-yields": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-yields-description": { "$ref": "#/definitions/DummyRule" }, "jsdoc/require-yields-type": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/alt-text": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/anchor-ambiguous-text": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/anchor-has-content": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/anchor-is-valid": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/aria-activedescendant-has-tabindex": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/aria-props": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/aria-proptypes": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/aria-role": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/aria-unsupported-elements": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/autocomplete-valid": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/click-events-have-key-events": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/control-has-associated-label": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/heading-has-content": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/html-has-lang": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/iframe-has-title": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/img-redundant-alt": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/interactive-supports-focus": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/label-has-associated-control": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/lang": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/media-has-caption": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/mouse-events-have-key-events": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-access-key": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-aria-hidden-on-focusable": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-autofocus": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-distracting-elements": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-interactive-element-to-noninteractive-role": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-noninteractive-element-interactions": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-noninteractive-element-to-interactive-role": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-noninteractive-tabindex": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-redundant-roles": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/no-static-element-interactions": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/prefer-tag-over-role": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/role-has-required-aria-props": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/role-supports-aria-props": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/scope": { "$ref": "#/definitions/DummyRule" }, "jsx-a11y/tabindex-no-positive": { "$ref": "#/definitions/DummyRule" }, "logical-assignment-operators": { "$ref": "#/definitions/DummyRule" }, "max-classes-per-file": { "$ref": "#/definitions/DummyRule" }, "max-depth": { "$ref": "#/definitions/DummyRule" }, "max-lines": { "$ref": "#/definitions/DummyRule" }, "max-lines-per-function": { "$ref": "#/definitions/DummyRule" }, "max-nested-callbacks": { "$ref": "#/definitions/DummyRule" }, "max-params": { "$ref": "#/definitions/DummyRule" }, "max-statements": { "$ref": "#/definitions/DummyRule" }, "new-cap": { "$ref": "#/definitions/DummyRule" }, "nextjs/google-font-display": { "$ref": "#/definitions/DummyRule" }, "nextjs/google-font-preconnect": { "$ref": "#/definitions/DummyRule" }, "nextjs/inline-script-id": { "$ref": "#/definitions/DummyRule" }, "nextjs/next-script-for-ga": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-assign-module-variable": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-async-client-component": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-before-interactive-script-outside-document": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-css-tags": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-document-import-in-page": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-duplicate-head": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-head-element": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-head-import-in-document": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-html-link-for-pages": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-img-element": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-page-custom-font": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-script-component-in-head": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-styled-jsx-in-document": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-sync-scripts": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-title-in-document-head": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-typos": { "$ref": "#/definitions/DummyRule" }, "nextjs/no-unwanted-polyfillio": { "$ref": "#/definitions/DummyRule" }, "no-alert": { "$ref": "#/definitions/DummyRule" }, "no-array-constructor": { "$ref": "#/definitions/DummyRule" }, "no-async-promise-executor": { "$ref": "#/definitions/DummyRule" }, "no-await-in-loop": { "$ref": "#/definitions/DummyRule" }, "no-bitwise": { "$ref": "#/definitions/DummyRule" }, "no-caller": { "$ref": "#/definitions/DummyRule" }, "no-case-declarations": { "$ref": "#/definitions/DummyRule" }, "no-class-assign": { "$ref": "#/definitions/DummyRule" }, "no-compare-neg-zero": { "$ref": "#/definitions/DummyRule" }, "no-cond-assign": { "$ref": "#/definitions/DummyRule" }, "no-console": { "$ref": "#/definitions/DummyRule" }, "no-const-assign": { "$ref": "#/definitions/DummyRule" }, "no-constant-binary-expression": { "$ref": "#/definitions/DummyRule" }, "no-constant-condition": { "$ref": "#/definitions/DummyRule" }, "no-constructor-return": { "$ref": "#/definitions/DummyRule" }, "no-continue": { "$ref": "#/definitions/DummyRule" }, "no-control-regex": { "$ref": "#/definitions/DummyRule" }, "no-debugger": { "$ref": "#/definitions/DummyRule" }, "no-delete-var": { "$ref": "#/definitions/DummyRule" }, "no-div-regex": { "$ref": "#/definitions/DummyRule" }, "no-dupe-class-members": { "$ref": "#/definitions/DummyRule" }, "no-dupe-else-if": { "$ref": "#/definitions/DummyRule" }, "no-dupe-keys": { "$ref": "#/definitions/DummyRule" }, "no-duplicate-case": { "$ref": "#/definitions/DummyRule" }, "no-duplicate-imports": { "$ref": "#/definitions/DummyRule" }, "no-else-return": { "$ref": "#/definitions/DummyRule" }, "no-empty": { "$ref": "#/definitions/DummyRule" }, "no-empty-character-class": { "$ref": "#/definitions/DummyRule" }, "no-empty-function": { "$ref": "#/definitions/DummyRule" }, "no-empty-pattern": { "$ref": "#/definitions/DummyRule" }, "no-empty-static-block": { "$ref": "#/definitions/DummyRule" }, "no-eq-null": { "$ref": "#/definitions/DummyRule" }, "no-eval": { "$ref": "#/definitions/DummyRule" }, "no-ex-assign": { "$ref": "#/definitions/DummyRule" }, "no-extend-native": { "$ref": "#/definitions/DummyRule" }, "no-extra-bind": { "$ref": "#/definitions/DummyRule" }, "no-extra-boolean-cast": { "$ref": "#/definitions/DummyRule" }, "no-extra-label": { "$ref": "#/definitions/DummyRule" }, "no-fallthrough": { "$ref": "#/definitions/DummyRule" }, "no-func-assign": { "$ref": "#/definitions/DummyRule" }, "no-global-assign": { "$ref": "#/definitions/DummyRule" }, "no-implicit-coercion": { "$ref": "#/definitions/DummyRule" }, "no-implicit-globals": { "$ref": "#/definitions/DummyRule" }, "no-implied-eval": { "$ref": "#/definitions/DummyRule" }, "no-import-assign": { "$ref": "#/definitions/DummyRule" }, "no-inline-comments": { "$ref": "#/definitions/DummyRule" }, "no-inner-declarations": { "$ref": "#/definitions/DummyRule" }, "no-invalid-regexp": { "$ref": "#/definitions/DummyRule" }, "no-irregular-whitespace": { "$ref": "#/definitions/DummyRule" }, "no-iterator": { "$ref": "#/definitions/DummyRule" }, "no-label-var": { "$ref": "#/definitions/DummyRule" }, "no-labels": { "$ref": "#/definitions/DummyRule" }, "no-lone-blocks": { "$ref": "#/definitions/DummyRule" }, "no-lonely-if": { "$ref": "#/definitions/DummyRule" }, "no-loop-func": { "$ref": "#/definitions/DummyRule" }, "no-loss-of-precision": { "$ref": "#/definitions/DummyRule" }, "no-magic-numbers": { "$ref": "#/definitions/DummyRule" }, "no-misleading-character-class": { "$ref": "#/definitions/DummyRule" }, "no-multi-assign": { "$ref": "#/definitions/DummyRule" }, "no-multi-str": { "$ref": "#/definitions/DummyRule" }, "no-negated-condition": { "$ref": "#/definitions/DummyRule" }, "no-nested-ternary": { "$ref": "#/definitions/DummyRule" }, "no-new": { "$ref": "#/definitions/DummyRule" }, "no-new-func": { "$ref": "#/definitions/DummyRule" }, "no-new-native-nonconstructor": { "$ref": "#/definitions/DummyRule" }, "no-new-wrappers": { "$ref": "#/definitions/DummyRule" }, "no-nonoctal-decimal-escape": { "$ref": "#/definitions/DummyRule" }, "no-obj-calls": { "$ref": "#/definitions/DummyRule" }, "no-object-constructor": { "$ref": "#/definitions/DummyRule" }, "no-param-reassign": { "$ref": "#/definitions/DummyRule" }, "no-plusplus": { "$ref": "#/definitions/DummyRule" }, "no-promise-executor-return": { "$ref": "#/definitions/DummyRule" }, "no-proto": { "$ref": "#/definitions/DummyRule" }, "no-prototype-builtins": { "$ref": "#/definitions/DummyRule" }, "no-redeclare": { "$ref": "#/definitions/DummyRule" }, "no-regex-spaces": { "$ref": "#/definitions/DummyRule" }, "no-restricted-exports": { "$ref": "#/definitions/DummyRule" }, "no-restricted-globals": { "$ref": "#/definitions/DummyRule" }, "no-restricted-imports": { "$ref": "#/definitions/DummyRule" }, "no-restricted-properties": { "$ref": "#/definitions/DummyRule" }, "no-return-assign": { "$ref": "#/definitions/DummyRule" }, "no-script-url": { "$ref": "#/definitions/DummyRule" }, "no-self-assign": { "$ref": "#/definitions/DummyRule" }, "no-self-compare": { "$ref": "#/definitions/DummyRule" }, "no-sequences": { "$ref": "#/definitions/DummyRule" }, "no-setter-return": { "$ref": "#/definitions/DummyRule" }, "no-shadow": { "$ref": "#/definitions/DummyRule" }, "no-shadow-restricted-names": { "$ref": "#/definitions/DummyRule" }, "no-sparse-arrays": { "$ref": "#/definitions/DummyRule" }, "no-template-curly-in-string": { "$ref": "#/definitions/DummyRule" }, "no-ternary": { "$ref": "#/definitions/DummyRule" }, "no-this-before-super": { "$ref": "#/definitions/DummyRule" }, "no-throw-literal": { "$ref": "#/definitions/DummyRule" }, "no-unassigned-vars": { "$ref": "#/definitions/DummyRule" }, "no-undef": { "$ref": "#/definitions/DummyRule" }, "no-undefined": { "$ref": "#/definitions/DummyRule" }, "no-underscore-dangle": { "$ref": "#/definitions/DummyRule" }, "no-unexpected-multiline": { "$ref": "#/definitions/DummyRule" }, "no-unmodified-loop-condition": { "$ref": "#/definitions/DummyRule" }, "no-unneeded-ternary": { "$ref": "#/definitions/DummyRule" }, "no-unreachable": { "$ref": "#/definitions/DummyRule" }, "no-unsafe-finally": { "$ref": "#/definitions/DummyRule" }, "no-unsafe-negation": { "$ref": "#/definitions/DummyRule" }, "no-unsafe-optional-chaining": { "$ref": "#/definitions/DummyRule" }, "no-unused-expressions": { "$ref": "#/definitions/DummyRule" }, "no-unused-labels": { "$ref": "#/definitions/DummyRule" }, "no-unused-private-class-members": { "$ref": "#/definitions/DummyRule" }, "no-unused-vars": { "$ref": "#/definitions/DummyRule" }, "no-use-before-define": { "$ref": "#/definitions/DummyRule" }, "no-useless-assignment": { "$ref": "#/definitions/DummyRule" }, "no-useless-backreference": { "$ref": "#/definitions/DummyRule" }, "no-useless-call": { "$ref": "#/definitions/DummyRule" }, "no-useless-catch": { "$ref": "#/definitions/DummyRule" }, "no-useless-computed-key": { "$ref": "#/definitions/DummyRule" }, "no-useless-concat": { "$ref": "#/definitions/DummyRule" }, "no-useless-constructor": { "$ref": "#/definitions/DummyRule" }, "no-useless-escape": { "$ref": "#/definitions/DummyRule" }, "no-useless-rename": { "$ref": "#/definitions/DummyRule" }, "no-useless-return": { "$ref": "#/definitions/DummyRule" }, "no-var": { "$ref": "#/definitions/DummyRule" }, "no-void": { "$ref": "#/definitions/DummyRule" }, "no-warning-comments": { "$ref": "#/definitions/DummyRule" }, "no-with": { "$ref": "#/definitions/DummyRule" }, "node/callback-return": { "$ref": "#/definitions/DummyRule" }, "node/global-require": { "$ref": "#/definitions/DummyRule" }, "node/handle-callback-err": { "$ref": "#/definitions/DummyRule" }, "node/no-exports-assign": { "$ref": "#/definitions/DummyRule" }, "node/no-new-require": { "$ref": "#/definitions/DummyRule" }, "node/no-path-concat": { "$ref": "#/definitions/DummyRule" }, "node/no-process-env": { "$ref": "#/definitions/DummyRule" }, "object-shorthand": { "$ref": "#/definitions/DummyRule" }, "operator-assignment": { "$ref": "#/definitions/DummyRule" }, "oxc/approx-constant": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-array-method-on-arguments": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-bitwise-operator": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-char-at-comparison": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-comparison-sequence": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-min-max-func": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-object-literal-comparison": { "$ref": "#/definitions/DummyRule" }, "oxc/bad-replace-all-arg": { "$ref": "#/definitions/DummyRule" }, "oxc/branches-sharing-code": { "$ref": "#/definitions/DummyRule" }, "oxc/const-comparisons": { "$ref": "#/definitions/DummyRule" }, "oxc/double-comparisons": { "$ref": "#/definitions/DummyRule" }, "oxc/erasing-op": { "$ref": "#/definitions/DummyRule" }, "oxc/misrefactored-assign-op": { "$ref": "#/definitions/DummyRule" }, "oxc/missing-throw": { "$ref": "#/definitions/DummyRule" }, "oxc/no-accumulating-spread": { "$ref": "#/definitions/DummyRule" }, "oxc/no-async-await": { "$ref": "#/definitions/DummyRule" }, "oxc/no-async-endpoint-handlers": { "$ref": "#/definitions/DummyRule" }, "oxc/no-barrel-file": { "$ref": "#/definitions/DummyRule" }, "oxc/no-const-enum": { "$ref": "#/definitions/DummyRule" }, "oxc/no-map-spread": { "$ref": "#/definitions/DummyRule" }, "oxc/no-optional-chaining": { "$ref": "#/definitions/DummyRule" }, "oxc/no-rest-spread-properties": { "$ref": "#/definitions/DummyRule" }, "oxc/no-this-in-exported-function": { "$ref": "#/definitions/DummyRule" }, "oxc/number-arg-out-of-range": { "$ref": "#/definitions/DummyRule" }, "oxc/only-used-in-recursion": { "$ref": "#/definitions/DummyRule" }, "oxc/uninvoked-array-callback": { "$ref": "#/definitions/DummyRule" }, "prefer-arrow-callback": { "$ref": "#/definitions/DummyRule" }, "prefer-const": { "$ref": "#/definitions/DummyRule" }, "prefer-destructuring": { "$ref": "#/definitions/DummyRule" }, "prefer-exponentiation-operator": { "$ref": "#/definitions/DummyRule" }, "prefer-named-capture-group": { "$ref": "#/definitions/DummyRule" }, "prefer-numeric-literals": { "$ref": "#/definitions/DummyRule" }, "prefer-object-has-own": { "$ref": "#/definitions/DummyRule" }, "prefer-object-spread": { "$ref": "#/definitions/DummyRule" }, "prefer-promise-reject-errors": { "$ref": "#/definitions/DummyRule" }, "prefer-regex-literals": { "$ref": "#/definitions/DummyRule" }, "prefer-rest-params": { "$ref": "#/definitions/DummyRule" }, "prefer-spread": { "$ref": "#/definitions/DummyRule" }, "prefer-template": { "$ref": "#/definitions/DummyRule" }, "preserve-caught-error": { "$ref": "#/definitions/DummyRule" }, "promise/always-return": { "$ref": "#/definitions/DummyRule" }, "promise/avoid-new": { "$ref": "#/definitions/DummyRule" }, "promise/catch-or-return": { "$ref": "#/definitions/DummyRule" }, "promise/no-callback-in-promise": { "$ref": "#/definitions/DummyRule" }, "promise/no-multiple-resolved": { "$ref": "#/definitions/DummyRule" }, "promise/no-nesting": { "$ref": "#/definitions/DummyRule" }, "promise/no-new-statics": { "$ref": "#/definitions/DummyRule" }, "promise/no-promise-in-callback": { "$ref": "#/definitions/DummyRule" }, "promise/no-return-in-finally": { "$ref": "#/definitions/DummyRule" }, "promise/no-return-wrap": { "$ref": "#/definitions/DummyRule" }, "promise/param-names": { "$ref": "#/definitions/DummyRule" }, "promise/prefer-await-to-callbacks": { "$ref": "#/definitions/DummyRule" }, "promise/prefer-await-to-then": { "$ref": "#/definitions/DummyRule" }, "promise/prefer-catch": { "$ref": "#/definitions/DummyRule" }, "promise/spec-only": { "$ref": "#/definitions/DummyRule" }, "promise/valid-params": { "$ref": "#/definitions/DummyRule" }, "radix": { "$ref": "#/definitions/DummyRule" }, "react-perf/jsx-no-jsx-as-prop": { "$ref": "#/definitions/DummyRule" }, "react-perf/jsx-no-new-array-as-prop": { "$ref": "#/definitions/DummyRule" }, "react-perf/jsx-no-new-function-as-prop": { "$ref": "#/definitions/DummyRule" }, "react-perf/jsx-no-new-object-as-prop": { "$ref": "#/definitions/DummyRule" }, "react/button-has-type": { "$ref": "#/definitions/DummyRule" }, "react/checked-requires-onchange-or-readonly": { "$ref": "#/definitions/DummyRule" }, "react/display-name": { "$ref": "#/definitions/DummyRule" }, "react/exhaustive-deps": { "$ref": "#/definitions/DummyRule" }, "react/forbid-component-props": { "$ref": "#/definitions/DummyRule" }, "react/forbid-dom-props": { "$ref": "#/definitions/DummyRule" }, "react/forbid-elements": { "$ref": "#/definitions/DummyRule" }, "react/forward-ref-uses-ref": { "$ref": "#/definitions/DummyRule" }, "react/hook-use-state": { "$ref": "#/definitions/DummyRule" }, "react/iframe-missing-sandbox": { "$ref": "#/definitions/DummyRule" }, "react/jsx-boolean-value": { "$ref": "#/definitions/DummyRule" }, "react/jsx-curly-brace-presence": { "$ref": "#/d