oxlint
Version:
Linter for the JavaScript Oxidation Compiler
1,469 lines • 125 kB
JSON
{
"$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