Biome Configuration Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Configuration",
"description": "The configuration contained in `biome.json` or `biome.jsonc`.",
"type": "object",
"properties": {
"$schema": {
"description": "The JSON Schema used to validate the configuration and provide editor completion. Biome\nemits a diagnostic when a `biomejs.dev` schema URL specifies a version that differs from the\nrunning CLI version.",
"anyOf": [{ "$ref": "#/$defs/Schema" }, { "type": "null" }]
},
"assist": {
"description": "The assist configuration.",
"anyOf": [{ "$ref": "#/$defs/AssistConfiguration" }, { "type": "null" }]
},
"css": {
"description": "Configuration specific to CSS.",
"anyOf": [{ "$ref": "#/$defs/CssConfiguration" }, { "type": "null" }]
},
"extends": {
"description": "Extends the current configuration with settings from one or more other Biome configurations.\nUse `\"//\"` in a nested configuration to extend the root configuration at any nesting depth.\nUse an array to extend configurations by relative path or installed package specifier.\n\nBiome merges configurations from left to right. Later configurations take precedence for\nsingle-value options, list entries are combined, and the current file is applied last.",
"anyOf": [{ "$ref": "#/$defs/Extends" }, { "type": "null" }]
},
"files": {
"description": "Configures which files Biome can discover and process.",
"anyOf": [{ "$ref": "#/$defs/FilesConfiguration" }, { "type": "null" }]
},
"formatter": {
"description": "Configures formatting for selected files.",
"anyOf": [
{ "$ref": "#/$defs/FormatterConfiguration" },
{ "type": "null" }
]
},
"graphql": {
"description": "Configuration specific to GraphQL.",
"anyOf": [{ "$ref": "#/$defs/GraphqlConfiguration" }, { "type": "null" }]
},
"grit": {
"description": "Configuration specific to GritQL.",
"anyOf": [{ "$ref": "#/$defs/GritConfiguration" }, { "type": "null" }]
},
"html": {
"description": "Configuration specific to HTML.",
"anyOf": [{ "$ref": "#/$defs/HtmlConfiguration" }, { "type": "null" }]
},
"javascript": {
"description": "Configuration specific to JavaScript.",
"anyOf": [{ "$ref": "#/$defs/JsConfiguration" }, { "type": "null" }]
},
"json": {
"description": "Configuration specific to JSON.",
"anyOf": [{ "$ref": "#/$defs/JsonConfiguration" }, { "type": "null" }]
},
"linter": {
"description": "The linter configuration.",
"anyOf": [{ "$ref": "#/$defs/LinterConfiguration" }, { "type": "null" }]
},
"markdown": {
"description": "Configuration specific to Markdown.",
"anyOf": [{ "$ref": "#/$defs/MarkdownConfiguration" }, { "type": "null" }]
},
"overrides": {
"description": "Configures settings for files selected by each override. When multiple overrides configure\nthe same single-value setting, the last matching override takes precedence.",
"anyOf": [{ "$ref": "#/$defs/Overrides" }, { "type": "null" }]
},
"plugins": {
"description": "A list of GritQL plugins to load.",
"anyOf": [{ "$ref": "#/$defs/Plugins" }, { "type": "null" }]
},
"root": {
"description": "Marks whether this file is the root configuration for a Biome project. The root configuration\nestablishes the project's base settings, while `false` marks a configuration found inside the\nproject as nested rather than a second project root.\n\nDefaults to `true`. Biome implicitly treats `root` as `false` when a nested configuration uses\n`\"extends\": \"//\"`. All other nested configurations must explicitly set `root` to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"tailwind": {
"description": "Configures how Biome recognizes Tailwind class strings.",
"anyOf": [{ "$ref": "#/$defs/TailwindConfiguration" }, { "type": "null" }]
},
"vcs": {
"description": "The version control integration configuration.",
"anyOf": [{ "$ref": "#/$defs/VcsConfiguration" }, { "type": "null" }]
},
"yaml": {
"description": "Configuration specific to YAML.",
"anyOf": [{ "$ref": "#/$defs/YamlConfiguration" }, { "type": "null" }]
}
},
"additionalProperties": false,
"allowTrailingCommas": true,
"$defs": {
"A11y": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noAccessKey": {
"description": "Disallow the accesskey attribute.\nSee https://biomejs.dev/linter/rules/no-access-key",
"anyOf": [
{ "$ref": "#/$defs/NoAccessKeyConfiguration" },
{ "type": "null" }
]
},
"noAmbiguousAnchorText": {
"description": "Disallow ambiguous anchor descriptions.\nSee https://biomejs.dev/linter/rules/no-ambiguous-anchor-text",
"anyOf": [
{ "$ref": "#/$defs/NoAmbiguousAnchorTextConfiguration" },
{ "type": "null" }
]
},
"noAriaHiddenOnFocusable": {
"description": "Enforce that aria-hidden=\"true\" is not set on focusable elements.\nSee https://biomejs.dev/linter/rules/no-aria-hidden-on-focusable",
"anyOf": [
{ "$ref": "#/$defs/NoAriaHiddenOnFocusableConfiguration" },
{ "type": "null" }
]
},
"noAriaUnsupportedElements": {
"description": "Disallow ARIA attributes on elements that cannot use them.\nSee https://biomejs.dev/linter/rules/no-aria-unsupported-elements",
"anyOf": [
{ "$ref": "#/$defs/NoAriaUnsupportedElementsConfiguration" },
{ "type": "null" }
]
},
"noAutofocus": {
"description": "Enforce that the autofocus attribute is not used on elements.\nSee https://biomejs.dev/linter/rules/no-autofocus",
"anyOf": [
{ "$ref": "#/$defs/NoAutofocusConfiguration" },
{ "type": "null" }
]
},
"noDistractingElements": {
"description": "Enforces that no distracting elements are used.\nSee https://biomejs.dev/linter/rules/no-distracting-elements",
"anyOf": [
{ "$ref": "#/$defs/NoDistractingElementsConfiguration" },
{ "type": "null" }
]
},
"noHeaderScope": {
"description": "The scope prop should be used only on \\<th> elements.\nSee https://biomejs.dev/linter/rules/no-header-scope",
"anyOf": [
{ "$ref": "#/$defs/NoHeaderScopeConfiguration" },
{ "type": "null" }
]
},
"noInteractiveElementToNoninteractiveRole": {
"description": "Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.\nSee https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role",
"anyOf": [
{
"$ref": "#/$defs/NoInteractiveElementToNoninteractiveRoleConfiguration"
},
{ "type": "null" }
]
},
"noLabelWithoutControl": {
"description": "Enforce that a label element or component has a text label and an associated input.\nSee https://biomejs.dev/linter/rules/no-label-without-control",
"anyOf": [
{ "$ref": "#/$defs/NoLabelWithoutControlConfiguration" },
{ "type": "null" }
]
},
"noNoninteractiveElementInteractions": {
"description": "Disallow use event handlers on non-interactive elements.\nSee https://biomejs.dev/linter/rules/no-noninteractive-element-interactions",
"anyOf": [
{
"$ref": "#/$defs/NoNoninteractiveElementInteractionsConfiguration"
},
{ "type": "null" }
]
},
"noNoninteractiveElementToInteractiveRole": {
"description": "Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.\nSee https://biomejs.dev/linter/rules/no-noninteractive-element-to-interactive-role",
"anyOf": [
{
"$ref": "#/$defs/NoNoninteractiveElementToInteractiveRoleConfiguration"
},
{ "type": "null" }
]
},
"noNoninteractiveTabindex": {
"description": "Require a negative integer tabindex on non-interactive elements.\nSee https://biomejs.dev/linter/rules/no-noninteractive-tabindex",
"anyOf": [
{ "$ref": "#/$defs/NoNoninteractiveTabindexConfiguration" },
{ "type": "null" }
]
},
"noPositiveTabindex": {
"description": "Disallow positive values for the tabindex attribute.\nSee https://biomejs.dev/linter/rules/no-positive-tabindex",
"anyOf": [
{ "$ref": "#/$defs/NoPositiveTabindexConfiguration" },
{ "type": "null" }
]
},
"noRedundantAlt": {
"description": "Enforce img alt prop does not contain the word \"image\", \"picture\", or \"photo\".\nSee https://biomejs.dev/linter/rules/no-redundant-alt",
"anyOf": [
{ "$ref": "#/$defs/NoRedundantAltConfiguration" },
{ "type": "null" }
]
},
"noRedundantRoles": {
"description": "Enforce explicit role property is not the same as implicit/default role property on an element.\nSee https://biomejs.dev/linter/rules/no-redundant-roles",
"anyOf": [
{ "$ref": "#/$defs/NoRedundantRolesConfiguration" },
{ "type": "null" }
]
},
"noStaticElementInteractions": {
"description": "Require an appropriate role when a non-interactive element has event handlers.\nSee https://biomejs.dev/linter/rules/no-static-element-interactions",
"anyOf": [
{ "$ref": "#/$defs/NoStaticElementInteractionsConfiguration" },
{ "type": "null" }
]
},
"noSvgWithoutTitle": {
"description": "Require a supported labeling pattern for non-decorative SVG elements.\nSee https://biomejs.dev/linter/rules/no-svg-without-title",
"anyOf": [
{ "$ref": "#/$defs/NoSvgWithoutTitleConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useAltText": {
"description": "Enforce that all elements that require alternative text have meaningful information to relay back to the end user.\nSee https://biomejs.dev/linter/rules/use-alt-text",
"anyOf": [
{ "$ref": "#/$defs/UseAltTextConfiguration" },
{ "type": "null" }
]
},
"useAnchorContent": {
"description": "Enforce that anchors have content and that the content is accessible to screen readers.\nSee https://biomejs.dev/linter/rules/use-anchor-content",
"anyOf": [
{ "$ref": "#/$defs/UseAnchorContentConfiguration" },
{ "type": "null" }
]
},
"useAriaActivedescendantWithTabindex": {
"description": "Enforce that tabindex is assigned to non-interactive HTML elements with aria-activedescendant.\nSee https://biomejs.dev/linter/rules/use-aria-activedescendant-with-tabindex",
"anyOf": [
{
"$ref": "#/$defs/UseAriaActivedescendantWithTabindexConfiguration"
},
{ "type": "null" }
]
},
"useAriaPropsForRole": {
"description": "Enforce that elements with ARIA roles must have all required ARIA attributes for that role.\nSee https://biomejs.dev/linter/rules/use-aria-props-for-role",
"anyOf": [
{ "$ref": "#/$defs/UseAriaPropsForRoleConfiguration" },
{ "type": "null" }
]
},
"useAriaPropsSupportedByRole": {
"description": "Enforce that ARIA properties are valid for the roles that are supported by the element.\nSee https://biomejs.dev/linter/rules/use-aria-props-supported-by-role",
"anyOf": [
{ "$ref": "#/$defs/UseAriaPropsSupportedByRoleConfiguration" },
{ "type": "null" }
]
},
"useButtonType": {
"description": "Require an explicit, valid type on every \\<button>.\nSee https://biomejs.dev/linter/rules/use-button-type",
"anyOf": [
{ "$ref": "#/$defs/UseButtonTypeConfiguration" },
{ "type": "null" }
]
},
"useFocusableInteractive": {
"description": "Elements with an interactive role and interaction handlers must be focusable.\nSee https://biomejs.dev/linter/rules/use-focusable-interactive",
"anyOf": [
{ "$ref": "#/$defs/UseFocusableInteractiveConfiguration" },
{ "type": "null" }
]
},
"useGenericFontNames": {
"description": "Require a generic fallback in font-family lists.\nSee https://biomejs.dev/linter/rules/use-generic-font-names",
"anyOf": [
{ "$ref": "#/$defs/UseGenericFontNamesConfiguration" },
{ "type": "null" }
]
},
"useHeadingContent": {
"description": "Enforce that heading elements (h1, h2, etc.) have content and that the content is accessible to screen readers.\nSee https://biomejs.dev/linter/rules/use-heading-content",
"anyOf": [
{ "$ref": "#/$defs/UseHeadingContentConfiguration" },
{ "type": "null" }
]
},
"useHtmlLang": {
"description": "Require a lang attribute on the \\<html> element.\nSee https://biomejs.dev/linter/rules/use-html-lang",
"anyOf": [
{ "$ref": "#/$defs/UseHtmlLangConfiguration" },
{ "type": "null" }
]
},
"useIframeTitle": {
"description": "Require a title on every \\<iframe>.\nSee https://biomejs.dev/linter/rules/use-iframe-title",
"anyOf": [
{ "$ref": "#/$defs/UseIframeTitleConfiguration" },
{ "type": "null" }
]
},
"useKeyWithClickEvents": {
"description": "Enforce elements with a click event handler to also have at least one keyboard event handler.\nSee https://biomejs.dev/linter/rules/use-key-with-click-events",
"anyOf": [
{ "$ref": "#/$defs/UseKeyWithClickEventsConfiguration" },
{ "type": "null" }
]
},
"useKeyWithMouseEvents": {
"description": "Require keyboard equivalents for mouse hover events.\nSee https://biomejs.dev/linter/rules/use-key-with-mouse-events",
"anyOf": [
{ "$ref": "#/$defs/UseKeyWithMouseEventsConfiguration" },
{ "type": "null" }
]
},
"useMediaCaption": {
"description": "Enforces that audio and video elements must have a track for captions.\nSee https://biomejs.dev/linter/rules/use-media-caption",
"anyOf": [
{ "$ref": "#/$defs/UseMediaCaptionConfiguration" },
{ "type": "null" }
]
},
"useSemanticElements": {
"description": "Enforces using semantic DOM elements over the ARIA role property.\nSee https://biomejs.dev/linter/rules/use-semantic-elements",
"anyOf": [
{ "$ref": "#/$defs/UseSemanticElementsConfiguration" },
{ "type": "null" }
]
},
"useValidAnchor": {
"description": "Require anchors to provide a real navigation destination.\nSee https://biomejs.dev/linter/rules/use-valid-anchor",
"anyOf": [
{ "$ref": "#/$defs/UseValidAnchorConfiguration" },
{ "type": "null" }
]
},
"useValidAriaProps": {
"description": "Disallow unknown aria-* attributes.\nSee https://biomejs.dev/linter/rules/use-valid-aria-props",
"anyOf": [
{ "$ref": "#/$defs/UseValidAriaPropsConfiguration" },
{ "type": "null" }
]
},
"useValidAriaRole": {
"description": "Elements with ARIA roles must use a valid, non-abstract ARIA role.\nSee https://biomejs.dev/linter/rules/use-valid-aria-role",
"anyOf": [
{ "$ref": "#/$defs/UseValidAriaRoleConfiguration" },
{ "type": "null" }
]
},
"useValidAriaValues": {
"description": "Enforce that ARIA state and property values are valid.\nSee https://biomejs.dev/linter/rules/use-valid-aria-values",
"anyOf": [
{ "$ref": "#/$defs/UseValidAriaValuesConfiguration" },
{ "type": "null" }
]
},
"useValidAutocomplete": {
"description": "Use valid values for the autocomplete attribute on input elements.\nSee https://biomejs.dev/linter/rules/use-valid-autocomplete",
"anyOf": [
{ "$ref": "#/$defs/UseValidAutocompleteConfiguration" },
{ "type": "null" }
]
},
"useValidLang": {
"description": "Require a supported language tag on the \\<html> element.\nSee https://biomejs.dev/linter/rules/use-valid-lang",
"anyOf": [
{ "$ref": "#/$defs/UseValidLangConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"Accessibility": {
"type": "string",
"enum": ["noPublic", "explicit", "none"]
},
"Actions": {
"type": "object",
"properties": {
"preset": {
"description": "Selects the baseline set of assist actions. `recommended` enables Biome's\nrecommended actions, `all` enables all actions, and `none` starts with no actions\nenabled. Group presets and explicit action settings override this preset.\nDefaults to `recommended`.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables Biome's recommended assist actions across all action groups.\nDefaults to `true`.",
"type": ["boolean", "null"]
},
"source": {
"description": "Configures source-level actions such as organizing imports and sorting declarations. These actions are exposed through editor source actions and through CLI checking and application.",
"anyOf": [{ "$ref": "#/$defs/Source" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"ArrowParentheses": {
"oneOf": [
{
"description": "Always prints parentheses around arrow-function parameters.",
"type": "string",
"const": "always"
},
{
"description": "Omits parentheses when an arrow function has one parameter and the syntax permits it.",
"type": "string",
"const": "asNeeded"
}
]
},
"AssistConfiguration": {
"type": "object",
"properties": {
"actions": {
"description": "The assist-action configuration.",
"anyOf": [{ "$ref": "#/$defs/Actions" }, { "type": "null" }]
},
"enabled": {
"description": "Enables configured assist actions in the CLI and editor integrations. Defaults to `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns selecting files on which assist actions can run. If omitted, all files\nselected by `files.includes` remain eligible for assist actions. An empty list selects no\nfiles. This option can only narrow the files selected by `files.includes`.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
}
},
"additionalProperties": false
},
"AttributePosition": {
"description": "Controls attribute placement in HTML-like languages.",
"oneOf": [
{
"description": "Places attributes automatically and wraps them when needed.",
"type": "string",
"const": "auto"
},
{
"description": "Places each attribute on its own line when an element has multiple attributes.",
"type": "string",
"const": "multiline"
}
]
},
"AvailabilityNamed": {
"description": "Named Baseline availability tiers.",
"oneOf": [
{
"description": "Warn on anything not Baseline widely available (default).",
"type": "string",
"const": "widely"
},
{
"description": "Warn on anything not at least Baseline newly available.",
"type": "string",
"const": "newly"
}
]
},
"AvailabilityTarget": {
"description": "The Baseline availability level to target.\n\n- `\"widely\"` – warn on anything not Baseline widely available.\n- `\"newly\"` – warn on anything not at least Baseline newly available.\n- A year (e.g. `2023`) – warn on anything whose `baseline_low_date` is after\n that year (i.e. became newly available after that year).",
"anyOf": [
{
"description": "A named tier: `\"widely\"` or `\"newly\"`.",
"$ref": "#/$defs/AvailabilityNamed"
},
{
"description": "A year cutoff (e.g. `2023`).",
"type": "integer",
"format": "uint16",
"maximum": 65535,
"minimum": 0
}
]
},
"BlockLangOptions": {
"description": "The checks for one top-level block.",
"type": "object",
"properties": {
"allowNoLang": {
"description": "When `true`, the block may also omit the `lang` attribute.\n\nOnly applies when `lang` is set. Defaults to `false`.",
"type": ["boolean", "null"]
},
"lang": {
"description": "The values allowed for the `lang` attribute of the block, such as `[\"ts\"]`.\n\nWhen set, it must contain at least one value. Values must match exactly,\nso `\"ts\"` doesn't allow `lang=\"TS\"`. When omitted, the `lang` attribute\nof the block isn't checked.",
"type": ["array", "null"],
"items": { "type": "string" },
"minItems": 1
},
"required": {
"description": "When `true`, every component must contain at least one block with this\ntag name.\n\nWorks with or without `lang`. Defaults to `false`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"Bool": { "type": "boolean" },
"BracketSameLine": {
"description": "Controls the placement of the closing bracket for multiline HTML and JSX opening tags. Biome\nplaces the bracket at the end of the last attribute line when enabled and on its own line after\nthe last attribute when disabled. This option also affects self-closing HTML elements, but\nself-closing JSX elements are unaffected.",
"type": "boolean"
},
"BracketSpacing": { "type": "boolean" },
"CheckInputType": {
"oneOf": [
{
"description": "Don't check the input type",
"type": "string",
"const": "off"
},
{
"description": "Check the input type (case-insensitive)",
"type": "string",
"const": "loose"
},
{
"description": "Check the input type (case-sensitive)",
"type": "string",
"const": "strict"
}
]
},
"CompilationMode": {
"description": "Controls which functions React Compiler analyzes.",
"oneOf": [
{
"description": "Analyze functions that follow React conventions: components\n(capitalized functions that create JSX or call hooks) and hooks\n(`use`-prefixed functions).",
"type": "string",
"const": "infer"
},
{
"description": "Analyze only functions annotated with a `\"use memo\"` directive.",
"type": "string",
"const": "annotation"
},
{
"description": "Analyze every function. This can report React-specific diagnostics in\nnon-React code, such as utility functions that update module-level\nstate.",
"type": "string",
"const": "all"
}
]
},
"Complexity": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noAdjacentSpacesInRegex": {
"description": "Disallow unclear usage of consecutive space characters in regular expression literals.\nSee https://biomejs.dev/linter/rules/no-adjacent-spaces-in-regex",
"anyOf": [
{ "$ref": "#/$defs/NoAdjacentSpacesInRegexConfiguration" },
{ "type": "null" }
]
},
"noArguments": {
"description": "Disallow the use of arguments.\nSee https://biomejs.dev/linter/rules/no-arguments",
"anyOf": [
{ "$ref": "#/$defs/NoArgumentsConfiguration" },
{ "type": "null" }
]
},
"noBannedTypes": {
"description": "Disallow primitive type aliases and misleading types.\nSee https://biomejs.dev/linter/rules/no-banned-types",
"anyOf": [
{ "$ref": "#/$defs/NoBannedTypesConfiguration" },
{ "type": "null" }
]
},
"noCommaOperator": {
"description": "Disallow comma operator.\nSee https://biomejs.dev/linter/rules/no-comma-operator",
"anyOf": [
{ "$ref": "#/$defs/NoCommaOperatorConfiguration" },
{ "type": "null" }
]
},
"noDivRegex": {
"description": "Disallow equal signs explicitly at the beginning of regular expressions.\nSee https://biomejs.dev/linter/rules/no-div-regex",
"anyOf": [
{ "$ref": "#/$defs/NoDivRegexConfiguration" },
{ "type": "null" }
]
},
"noEmptyTypeParameters": {
"description": "Disallow empty type parameters in type aliases and interfaces.\nSee https://biomejs.dev/linter/rules/no-empty-type-parameters",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyTypeParametersConfiguration" },
{ "type": "null" }
]
},
"noExcessiveCognitiveComplexity": {
"description": "Disallow functions that exceed a given Cognitive Complexity score.\nSee https://biomejs.dev/linter/rules/no-excessive-cognitive-complexity",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveCognitiveComplexityConfiguration" },
{ "type": "null" }
]
},
"noExcessiveLinesPerFunction": {
"description": "Restrict the number of lines of code in a function.\nSee https://biomejs.dev/linter/rules/no-excessive-lines-per-function",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveLinesPerFunctionConfiguration" },
{ "type": "null" }
]
},
"noExcessiveNestedCallbacks": {
"description": "Enforce a maximum depth that callbacks can be nested.\nSee https://biomejs.dev/linter/rules/no-excessive-nested-callbacks",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveNestedCallbacksConfiguration" },
{ "type": "null" }
]
},
"noExcessiveNestedTestSuites": {
"description": "This rule enforces a maximum depth to nested describe() in test files.\nSee https://biomejs.dev/linter/rules/no-excessive-nested-test-suites",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveNestedTestSuitesConfiguration" },
{ "type": "null" }
]
},
"noExcessiveSelectorClasses": {
"description": "Limit the number of classes in a selector.\nSee https://biomejs.dev/linter/rules/no-excessive-selector-classes",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveSelectorClassesConfiguration" },
{ "type": "null" }
]
},
"noExtraBooleanCast": {
"description": "Disallow unnecessary boolean casts.\nSee https://biomejs.dev/linter/rules/no-extra-boolean-cast",
"anyOf": [
{ "$ref": "#/$defs/NoExtraBooleanCastConfiguration" },
{ "type": "null" }
]
},
"noFlatMapIdentity": {
"description": "Disallow to use unnecessary callback on flatMap.\nSee https://biomejs.dev/linter/rules/no-flat-map-identity",
"anyOf": [
{ "$ref": "#/$defs/NoFlatMapIdentityConfiguration" },
{ "type": "null" }
]
},
"noForEach": {
"description": "Prefer for...of statement instead of Array.forEach.\nSee https://biomejs.dev/linter/rules/no-for-each",
"anyOf": [
{ "$ref": "#/$defs/NoForEachConfiguration" },
{ "type": "null" }
]
},
"noImplicitCoercions": {
"description": "Encourage use of explicit type conversion functions over their shorthand counterparts.\nSee https://biomejs.dev/linter/rules/no-implicit-coercions",
"anyOf": [
{ "$ref": "#/$defs/NoImplicitCoercionsConfiguration" },
{ "type": "null" }
]
},
"noImportantStyles": {
"description": "Disallow !important declarations.\nSee https://biomejs.dev/linter/rules/no-important-styles",
"anyOf": [
{ "$ref": "#/$defs/NoImportantStylesConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightUselessAwait": {
"description": "Disallow unnecessary await for Playwright methods that don't return promises.\nSee https://biomejs.dev/linter/rules/no-playwright-useless-await",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightUselessAwaitConfiguration" },
{ "type": "null" }
]
},
"noRedundantDefaultExport": {
"description": "Checks if a default export exports the same symbol as a named export.\nSee https://biomejs.dev/linter/rules/no-redundant-default-export",
"anyOf": [
{ "$ref": "#/$defs/NoRedundantDefaultExportConfiguration" },
{ "type": "null" }
]
},
"noStaticOnlyClass": {
"description": "This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.\nSee https://biomejs.dev/linter/rules/no-static-only-class",
"anyOf": [
{ "$ref": "#/$defs/NoStaticOnlyClassConfiguration" },
{ "type": "null" }
]
},
"noThisInStatic": {
"description": "Disallow this and super in static contexts.\nSee https://biomejs.dev/linter/rules/no-this-in-static",
"anyOf": [
{ "$ref": "#/$defs/NoThisInStaticConfiguration" },
{ "type": "null" }
]
},
"noUnnecessaryTemplateExpression": {
"description": "Disallow unnecessary template expressions.\nSee https://biomejs.dev/linter/rules/no-unnecessary-template-expression",
"anyOf": [
{ "$ref": "#/$defs/NoUnnecessaryTemplateExpressionConfiguration" },
{ "type": "null" }
]
},
"noUselessCatch": {
"description": "Disallow unnecessary catch clauses.\nSee https://biomejs.dev/linter/rules/no-useless-catch",
"anyOf": [
{ "$ref": "#/$defs/NoUselessCatchConfiguration" },
{ "type": "null" }
]
},
"noUselessCatchBinding": {
"description": "Disallow unused error parameters in catch clauses.\nSee https://biomejs.dev/linter/rules/no-useless-catch-binding",
"anyOf": [
{ "$ref": "#/$defs/NoUselessCatchBindingConfiguration" },
{ "type": "null" }
]
},
"noUselessConstructor": {
"description": "Disallow unnecessary constructors.\nSee https://biomejs.dev/linter/rules/no-useless-constructor",
"anyOf": [
{ "$ref": "#/$defs/NoUselessConstructorConfiguration" },
{ "type": "null" }
]
},
"noUselessContinue": {
"description": "Avoid using unnecessary continue.\nSee https://biomejs.dev/linter/rules/no-useless-continue",
"anyOf": [
{ "$ref": "#/$defs/NoUselessContinueConfiguration" },
{ "type": "null" }
]
},
"noUselessEmptyExport": {
"description": "Disallow empty exports that don't change anything in a module file.\nSee https://biomejs.dev/linter/rules/no-useless-empty-export",
"anyOf": [
{ "$ref": "#/$defs/NoUselessEmptyExportConfiguration" },
{ "type": "null" }
]
},
"noUselessEscapeInRegex": {
"description": "Disallow unnecessary escape sequence in regular expression literals.\nSee https://biomejs.dev/linter/rules/no-useless-escape-in-regex",
"anyOf": [
{ "$ref": "#/$defs/NoUselessEscapeInRegexConfiguration" },
{ "type": "null" }
]
},
"noUselessFragments": {
"description": "Disallow unnecessary JSX fragments.\nSee https://biomejs.dev/linter/rules/no-useless-fragments",
"anyOf": [
{ "$ref": "#/$defs/NoUselessFragmentsConfiguration" },
{ "type": "null" }
]
},
"noUselessLabel": {
"description": "Disallow unnecessary labels.\nSee https://biomejs.dev/linter/rules/no-useless-label",
"anyOf": [
{ "$ref": "#/$defs/NoUselessLabelConfiguration" },
{ "type": "null" }
]
},
"noUselessLoneBlockStatements": {
"description": "Disallow unnecessary nested block statements.\nSee https://biomejs.dev/linter/rules/no-useless-lone-block-statements",
"anyOf": [
{ "$ref": "#/$defs/NoUselessLoneBlockStatementsConfiguration" },
{ "type": "null" }
]
},
"noUselessRename": {
"description": "Disallow renaming import, export, and destructured assignments to the same name.\nSee https://biomejs.dev/linter/rules/no-useless-rename",
"anyOf": [
{ "$ref": "#/$defs/NoUselessRenameConfiguration" },
{ "type": "null" }
]
},
"noUselessReturn": {
"description": "Disallow redundant return statements.\nSee https://biomejs.dev/linter/rules/no-useless-return",
"anyOf": [
{ "$ref": "#/$defs/NoUselessReturnConfiguration" },
{ "type": "null" }
]
},
"noUselessStringConcat": {
"description": "Disallow unnecessary concatenation of string or template literals.\nSee https://biomejs.dev/linter/rules/no-useless-string-concat",
"anyOf": [
{ "$ref": "#/$defs/NoUselessStringConcatConfiguration" },
{ "type": "null" }
]
},
"noUselessStringRaw": {
"description": "Disallow unnecessary String.raw function in template string literals without any escape sequence.\nSee https://biomejs.dev/linter/rules/no-useless-string-raw",
"anyOf": [
{ "$ref": "#/$defs/NoUselessStringRawConfiguration" },
{ "type": "null" }
]
},
"noUselessSwitchCase": {
"description": "Disallow useless case in switch statements.\nSee https://biomejs.dev/linter/rules/no-useless-switch-case",
"anyOf": [
{ "$ref": "#/$defs/NoUselessSwitchCaseConfiguration" },
{ "type": "null" }
]
},
"noUselessTernary": {
"description": "Disallow ternary operators when simpler alternatives exist.\nSee https://biomejs.dev/linter/rules/no-useless-ternary",
"anyOf": [
{ "$ref": "#/$defs/NoUselessTernaryConfiguration" },
{ "type": "null" }
]
},
"noUselessThisAlias": {
"description": "Disallow aliases for this when this can be used directly.\nSee https://biomejs.dev/linter/rules/no-useless-this-alias",
"anyOf": [
{ "$ref": "#/$defs/NoUselessThisAliasConfiguration" },
{ "type": "null" }
]
},
"noUselessTypeConstraint": {
"description": "Disallow using any or unknown as type constraint.\nSee https://biomejs.dev/linter/rules/no-useless-type-constraint",
"anyOf": [
{ "$ref": "#/$defs/NoUselessTypeConstraintConfiguration" },
{ "type": "null" }
]
},
"noUselessUndefined": {
"description": "Disallow the use of useless undefined.\nSee https://biomejs.dev/linter/rules/no-useless-undefined",
"anyOf": [
{ "$ref": "#/$defs/NoUselessUndefinedConfiguration" },
{ "type": "null" }
]
},
"noUselessUndefinedInitialization": {
"description": "Disallow initializing variables to undefined.\nSee https://biomejs.dev/linter/rules/no-useless-undefined-initialization",
"anyOf": [
{ "$ref": "#/$defs/NoUselessUndefinedInitializationConfiguration" },
{ "type": "null" }
]
},
"noVoid": {
"description": "Disallow the use of void operators, which is not a familiar operator.\nSee https://biomejs.dev/linter/rules/no-void",
"anyOf": [
{ "$ref": "#/$defs/NoVoidConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useArrayFind": {
"description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result.\nSee https://biomejs.dev/linter/rules/use-array-find",
"anyOf": [
{ "$ref": "#/$defs/UseArrayFindConfiguration" },
{ "type": "null" }
]
},
"useArraySome": {
"description": "Prefer Array.prototype.some() over verbose existence checks.\nSee https://biomejs.dev/linter/rules/use-array-some",
"anyOf": [
{ "$ref": "#/$defs/UseArraySomeConfiguration" },
{ "type": "null" }
]
},
"useArrowFunction": {
"description": "Use arrow functions over function expressions.\nSee https://biomejs.dev/linter/rules/use-arrow-function",
"anyOf": [
{ "$ref": "#/$defs/UseArrowFunctionConfiguration" },
{ "type": "null" }
]
},
"useDateNow": {
"description": "Use Date.now() to get the number of milliseconds since the Unix Epoch.\nSee https://biomejs.dev/linter/rules/use-date-now",
"anyOf": [
{ "$ref": "#/$defs/UseDateNowConfiguration" },
{ "type": "null" }
]
},
"useFlatMap": {
"description": "Promotes the use of .flatMap() when map().flat() are used together.\nSee https://biomejs.dev/linter/rules/use-flat-map",
"anyOf": [
{ "$ref": "#/$defs/UseFlatMapConfiguration" },
{ "type": "null" }
]
},
"useIndexOf": {
"description": "Prefer Array#{indexOf,lastIndexOf}() over Array#{findIndex,findLastIndex}() when looking for the index of an item.\nSee https://biomejs.dev/linter/rules/use-index-of",
"anyOf": [
{ "$ref": "#/$defs/UseIndexOfConfiguration" },
{ "type": "null" }
]
},
"useLiteralKeys": {
"description": "Enforce the usage of a literal access to properties over computed property access.\nSee https://biomejs.dev/linter/rules/use-literal-keys",
"anyOf": [
{ "$ref": "#/$defs/UseLiteralKeysConfiguration" },
{ "type": "null" }
]
},
"useMathMinMax": {
"description": "Prefer Math.min() and Math.max() over ternaries for simple comparisons.\nSee https://biomejs.dev/linter/rules/use-math-min-max",
"anyOf": [
{ "$ref": "#/$defs/UseMathMinMaxConfiguration" },
{ "type": "null" }
]
},
"useMaxParams": {
"description": "Enforce a maximum number of parameters in function definitions.\nSee https://biomejs.dev/linter/rules/use-max-params",
"anyOf": [
{ "$ref": "#/$defs/UseMaxParamsConfiguration" },
{ "type": "null" }
]
},
"useNumericLiterals": {
"description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals.\nSee https://biomejs.dev/linter/rules/use-numeric-literals",
"anyOf": [
{ "$ref": "#/$defs/UseNumericLiteralsConfiguration" },
{ "type": "null" }
]
},
"useOptionalChain": {
"description": "Enforce using concise optional chain instead of chained logical expressions.\nSee https://biomejs.dev/linter/rules/use-optional-chain",
"anyOf": [
{ "$ref": "#/$defs/UseOptionalChainConfiguration" },
{ "type": "null" }
]
},
"useRegexLiterals": {
"description": "Enforce the use of the regular expression literals instead of the RegExp constructor if possible.\nSee https://biomejs.dev/linter/rules/use-regex-literals",
"anyOf": [
{ "$ref": "#/$defs/UseRegexLiteralsConfiguration" },
{ "type": "null" }
]
},
"useRegexpTest": {
"description": "Enforce the use of RegExp.prototype.test() over String.prototype.match() and RegExp.prototype.exec() in boolean contexts.\nSee https://biomejs.dev/linter/rules/use-regexp-test",
"anyOf": [
{ "$ref": "#/$defs/UseRegexpTestConfiguration" },
{ "type": "null" }
]
},
"useSimpleNumberKeys": {
"description": "Disallow number literal object member names which are not base 10 or use underscore as separator.\nSee https://biomejs.dev/linter/rules/use-simple-number-keys",
"anyOf": [
{ "$ref": "#/$defs/UseSimpleNumberKeysConfiguration" },
{ "type": "null" }
]
},
"useSimplifiedLogicExpression": {
"description": "Discard redundant terms from logical expressions.\nSee https://biomejs.dev/linter/rules/use-simplified-logic-expression",
"anyOf": [
{ "$ref": "#/$defs/UseSimplifiedLogicExpressionConfiguration" },
{ "type": "null" }
]
},
"useWhile": {
"description": "Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.\nSee https://biomejs.dev/linter/rules/use-while",
"anyOf": [
{ "$ref": "#/$defs/UseWhileConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"ComponentDefinitionStyle": {
"oneOf": [
{
"description": "Enforce function declarations.",
"type": "string",
"const": "functionDeclaration"
},
{
"description": "Enforce function expressions assigned to a component binding.",
"type": "string",
"const": "functionExpression"
},
{
"description": "Enforce arrow functions assigned to a component binding.",
"type": "string",
"const": "arrowFunction"
}
]
},
"ConsistentArrayType": {
"oneOf": [
{
"description": "`ItemType[]`",
"type": "string",
"const": "shorthand"
},
{
"description": "`Array<ItemType>`",
"type": "string",
"const": "generic"
}
]
},
"ConsistentTypeDefinition": {
"oneOf": [
{
"description": "Prefer using `interface` for object type definitions",
"type": "string",
"const": "interface"
},
{
"description": "Prefer using `type` for object type definitions",
"type": "string",
"const": "type"
}
]
},
"Convention": {
"type": "object",
"properties": {
"formats": {
"description": "String cases to enforce",
"$ref": "#/$defs/Formats"
},
"match": {
"description": "Regular expression to enforce",
"anyOf": [{ "$ref": "#/$defs/Regex" }, { "type": "null" }]
},
"selector": {
"description": "Declarations concerned by this convention",
"$ref": "#/$defs/Selector"
}
},
"additionalProperties": false
},
"Correctness": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noBeforeInteractiveScriptOutsideDocument": {
"description": "Prevent usage of next/script's beforeInteractive strategy outside of pages/_document.js in a Next.js project.\nSee https://biomejs.dev/linter/rules/no-before-interactive-script-outside-document",
"anyOf": [
{
"$ref": "#/$defs/NoBeforeInteractiveScriptOutsideDocumentConfiguration"
},
{ "type": "null" }
]
},
"noChildrenProp": {
"description": "Prevent passing of children as props.\nSee https://biomejs.dev/linter/rules/no-children-prop",
"anyOf": [
{ "$ref": "#/$defs/NoChildrenPropConfiguration" },
{ "type": "null" }
]
},
"noComponentHookFactories": {
"description": "Disallows defining React components or custom hooks inside other functions.\nSee https://biomejs.dev/linter/rules/no-component-hook-factories",
"anyOf": [
{ "$ref": "#/$defs/NoComponentHookFactoriesConfiguration" },
{ "type": "null" }
]
},
"noConstAssign": {
"description": "Prevents from having const variables being re-assigned.\nSee https://biomejs.dev/linter/rules/no-const-assign",
"anyOf": [
{ "$ref": "#/$defs/NoConstAssignConfiguration" },
{ "type": "null" }
]
},
"noConstantCondition": {
"description": "Disallow constant expressions in conditions.\nSee https://biomejs.dev/linter/rules/no-constant-condition",
"anyOf": [
{ "$ref": "#/$defs/NoConstantConditionConfiguration" },
{ "type": "null" }
]
},
"noConstantMathMinMaxClamp": {
"description": "Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.\nSee https://biomejs.dev/linter/rules/no-constant-math-min-max-clamp",
"anyOf": [
{ "$ref": "#/$defs/NoConstantMathMinMaxClampConfiguration" },
{ "type": "null" }
]
},
"noConstructorReturn": {
"description": "Disallow returning a value from a constructor.\nSee https://biomejs.dev/linter/rules/no-constructor-return",
"anyOf": [
{ "$ref": "#/$defs/NoConstructorReturnConfiguration" },
{ "type": "null" }
]
},
"noDuplicateArgumentNames": {
"description": "Require unique argument names for fields and directives.\nSee https://biomejs.dev/linter/rules/no-duplicate-argument-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateArgumentNamesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateAttributes": {
"description": "Disallow duplication of attributes.\nSee https://biomejs.dev/linter/rules/no-duplicate-attributes",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateAttributesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateEnumValueNames": {
"description": "Disallow duplicate names in GraphQL enums.\nSee https://biomejs.dev/linter/rules/no-duplicate-enum-value-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateEnumValueNamesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateFieldDefinitionNames": {
"description": "Require all fields of a type to be unique.\nSee https://biomejs.dev/linter/rules/no-duplicate-field-definition-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateFieldDefinitionNamesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateInputFieldNames": {
"description": "Require fields within an input object to be unique.\nSee https://biomejs.dev/linter/rules/no-duplicate-input-field-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateInputFieldNamesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateVariableNames": {
"description": "Require all variable definitions to be unique.\nSee https://biomejs.dev/linter/rules/no-duplicate-variable-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateVariableNamesConfiguration" },
{ "type": "null" }
]
},
"noEmptyCharacterClassInRegex": {
"description": "Disallow empty character classes in regular expression literals.\nSee https://biomejs.dev/linter/rules/no-empty-character-class-in-regex",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyCharacterClassInRegexConfiguration" },
{ "type": "null" }
]
},
"noEmptyPattern": {
"description": "Disallow empty object and array destructuring patterns.\nSee https://biomejs.dev/linter/rules/no-empty-pattern",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyPatternConfiguration" },
{ "type": "null" }
]
},
"noGlobalDirnameFilename": {
"description": "Disallow the use of __dirname and __filename in the global scope.\nSee https://biomejs.dev/linter/rules/no-global-dirname-filename",
"anyOf": [
{ "$ref": "#/$defs/NoGlobalDirnameFilenameConfiguration" },
{ "type": "null" }
]
},
"noGlobalObjectCalls": {
"description": "Disallow calling global object properties as functions.\nSee https://biomejs.dev/linter/rules/no-global-object-calls",
"anyOf": [
{ "$ref": "#/$defs/NoGlobalObjectCallsConfiguration" },
{ "type": "null" }
]
},
"noInnerDeclarations": {
"description": "Disallow function and var declarations that are accessible outside their block.\nSee https://biomejs.dev/linter/rules/no-inner-declarations",
"anyOf": [
{ "$ref": "#/$defs/NoInnerDeclarationsConfiguration" },
{ "type": "null" }
]
},
"noInvalidBuiltinInstantiation": {
"description": "Ensure that builtins are correctly instantiated.\nSee https://biomejs.dev/linter/rules/no-invalid-builtin-instantiation",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidBuiltinInstantiationConfiguration" },
{ "type": "null" }
]
},
"noInvalidConstructorSuper": {
"description": "Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.\nSee https://biomejs.dev/linter/rules/no-invalid-constructor-super",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidConstructorSuperConfiguration" },
{ "type": "null" }
]
},
"noInvalidDirectionInLinearGradient": {
"description": "Disallow non-standard directions in linear gradients.\nSee https://biomejs.dev/linter/rules/no-invalid-direction-in-linear-gradient",
"anyOf": [
{
"$ref": "#/$defs/NoInvalidDirectionInLinearGradientConfiguration"
},
{ "type": "null" }
]
},
"noInvalidGridAreas": {
"description": "Disallow invalid named areas in CSS grid templates.\nSee https://biomejs.dev/linter/rules/no-invalid-grid-areas",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidGridAreasConfiguration" },
{ "type": "null" }
]
},
"noInvalidPositionAtImportRule": {
"description": "Disallow @import after other rules.\nSee https://biomejs.dev/linter/rules/no-invalid-position-at-import-rule",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidPositionAtImportRuleConfiguration" },
{ "type": "null" }
]
},
"noInvalidUseBeforeDeclaration": {
"description": "Disallow the use of variables, function parameters, classes, and enums before their declaration.\nSee https://biomejs.dev/linter/rules/no-invalid-use-before-declaration",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidUseBeforeDeclarationConfiguration" },
{ "type": "null" }
]
},
"noJsxNamespace": {
"description": "Disallow JSX namespace syntax.\nSee https://biomejs.dev/linter/rules/no-jsx-namespace",
"anyOf": [
{ "$ref": "#/$defs/NoJsxNamespaceConfiguration" },
{ "type": "null" }
]
},
"noMissingVarFunction": {
"description": "Require var() when using a declared CSS custom property.\nSee https://biomejs.dev/linter/rules/no-missing-var-function",
"anyOf": [
{ "$ref": "#/$defs/NoMissingVarFunctionConfiguration" },
{ "type": "null" }
]
},
"noNestedComponentDefinitions": {
"description": "Disallows defining React components inside other components.\nSee https://biomejs.dev/linter/rules/no-nested-component-definitions",
"anyOf": [
{ "$ref": "#/$defs/NoNestedComponentDefinitionsConfiguration" },
{ "type": "null" }
]
},
"noNextAsyncClientComponent": {
"description": "Prevent client components from being async functions.\nSee https://biomejs.dev/linter/rules/no-next-async-client-component",
"anyOf": [
{ "$ref": "#/$defs/NoNextAsyncClientComponentConfiguration" },
{ "type": "null" }
]
},
"noNodejsModules": {
"description": "Forbid the use of Node.js builtin modules.\nSee https://biomejs.dev/linter/rules/no-nodejs-modules",
"anyOf": [
{ "$ref": "#/$defs/NoNodejsModulesConfiguration" },
{ "type": "null" }
]
},
"noNonoctalDecimalEscape": {
"description": "Disallow \\8 and \\9 escape sequences in string literals.\nSee https://biomejs.dev/linter/rules/no-nonoctal-decimal-escape",
"anyOf": [
{ "$ref": "#/$defs/NoNonoctalDecimalEscapeConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightMissingAwait": {
"description": "Enforce Playwright async APIs to be awaited or returned.\nSee https://biomejs.dev/linter/rules/no-playwright-missing-await",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightMissingAwaitConfiguration" },
{ "type": "null" }
]
},
"noPrecisionLoss": {
"description": "Disallow literal numbers that lose precision.\nSee https://biomejs.dev/linter/rules/no-precision-loss",
"anyOf": [
{ "$ref": "#/$defs/NoPrecisionLossConfiguration" },
{ "type": "null" }
]
},
"noPrivateImports": {
"description": "Restrict imports of private exports.\nSee https://biomejs.dev/linter/rules/no-private-imports",
"anyOf": [
{ "$ref": "#/$defs/NoPrivateImportsConfiguration" },
{ "type": "null" }
]
},
"noProcessGlobal": {
"description": "Disallow the use of process global.\nSee https://biomejs.dev/linter/rules/no-process-global",
"anyOf": [
{ "$ref": "#/$defs/NoProcessGlobalConfiguration" },
{ "type": "null" }
]
},
"noQwikUseVisibleTask": {
"description": "Disallow useVisibleTask$() functions in Qwik components.\nSee https://biomejs.dev/linter/rules/no-qwik-use-visible-task",
"anyOf": [
{ "$ref": "#/$defs/NoQwikUseVisibleTaskConfiguration" },
{ "type": "null" }
]
},
"noReactNativeRawText": {
"description": "Disallow raw text outside \\<Text> components in React Native.\nSee https://biomejs.dev/linter/rules/no-react-native-raw-text",
"anyOf": [
{ "$ref": "#/$defs/NoReactNativeRawTextConfiguration" },
{ "type": "null" }
]
},
"noReactPropAssignments": {
"description": "Disallow assigning to React component props.\nSee https://biomejs.dev/linter/rules/no-react-prop-assignments",
"anyOf": [
{ "$ref": "#/$defs/NoReactPropAssignmentsConfiguration" },
{ "type": "null" }
]
},
"noRenderReturnValue": {
"description": "Prevent the usage of the return value of React.render.\nSee https://biomejs.dev/linter/rules/no-render-return-value",
"anyOf": [
{ "$ref": "#/$defs/NoRenderReturnValueConfiguration" },
{ "type": "null" }
]
},
"noRestrictedElements": {
"description": "Disallow the use of configured elements.\nSee https://biomejs.dev/linter/rules/no-restricted-elements",
"anyOf": [
{ "$ref": "#/$defs/NoRestrictedElementsConfiguration" },
{ "type": "null" }
]
},
"noSelfAssign": {
"description": "Disallow assignments where both sides are exactly the same.\nSee https://biomejs.dev/linter/rules/no-self-assign",
"anyOf": [
{ "$ref": "#/$defs/NoSelfAssignConfiguration" },
{ "type": "null" }
]
},
"noSetterReturn": {
"description": "Disallow returning a value from a setter.\nSee https://biomejs.dev/linter/rules/no-setter-return",
"anyOf": [
{ "$ref": "#/$defs/NoSetterReturnConfiguration" },
{ "type": "null" }
]
},
"noSolidDestructuredProps": {
"description": "Disallow destructuring props inside JSX components in Solid projects.\nSee https://biomejs.dev/linter/rules/no-solid-destructured-props",
"anyOf": [
{ "$ref": "#/$defs/NoSolidDestructuredPropsConfiguration" },
{ "type": "null" }
]
},
"noStringCaseMismatch": {
"description": "Disallow comparison of expressions modifying the string case with non-compliant value.\nSee https://biomejs.dev/linter/rules/no-string-case-mismatch",
"anyOf": [
{ "$ref": "#/$defs/NoStringCaseMismatchConfiguration" },
{ "type": "null" }
]
},
"noSwitchDeclarations": {
"description": "Disallow declarations directly inside switch clauses.\nSee https://biomejs.dev/linter/rules/no-switch-declarations",
"anyOf": [
{ "$ref": "#/$defs/NoSwitchDeclarationsConfiguration" },
{ "type": "null" }
]
},
"noUndeclaredDependencies": {
"description": "Disallow the use of dependencies that aren't specified in the package.json.\nSee https://biomejs.dev/linter/rules/no-undeclared-dependencies",
"anyOf": [
{ "$ref": "#/$defs/NoUndeclaredDependenciesConfiguration" },
{ "type": "null" }
]
},
"noUndeclaredVariables": {
"description": "Prevents the usage of variables that haven't been declared inside the document.\nSee https://biomejs.dev/linter/rules/no-undeclared-variables",
"anyOf": [
{ "$ref": "#/$defs/NoUndeclaredVariablesConfiguration" },
{ "type": "null" }
]
},
"noUnknownFunction": {
"description": "Disallow unrecognized CSS value functions.\nSee https://biomejs.dev/linter/rules/no-unknown-function",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownFunctionConfiguration" },
{ "type": "null" }
]
},
"noUnknownMediaFeatureName": {
"description": "Disallow unrecognized feature names in media queries.\nSee https://biomejs.dev/linter/rules/no-unknown-media-feature-name",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownMediaFeatureNameConfiguration" },
{ "type": "null" }
]
},
"noUnknownProperty": {
"description": "Disallow unrecognized CSS properties.\nSee https://biomejs.dev/linter/rules/no-unknown-property",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownPropertyConfiguration" },
{ "type": "null" }
]
},
"noUnknownPseudoClass": {
"description": "Disallow unrecognized pseudo-class selectors.\nSee https://biomejs.dev/linter/rules/no-unknown-pseudo-class",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownPseudoClassConfiguration" },
{ "type": "null" }
]
},
"noUnknownPseudoElement": {
"description": "Disallow unrecognized pseudo-element selectors.\nSee https://biomejs.dev/linter/rules/no-unknown-pseudo-element",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownPseudoElementConfiguration" },
{ "type": "null" }
]
},
"noUnknownTypeSelector": {
"description": "Disallow unrecognized element names in type selectors.\nSee https://biomejs.dev/linter/rules/no-unknown-type-selector",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownTypeSelectorConfiguration" },
{ "type": "null" }
]
},
"noUnknownUnit": {
"description": "Disallow unrecognized CSS units.\nSee https://biomejs.dev/linter/rules/no-unknown-unit",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownUnitConfiguration" },
{ "type": "null" }
]
},
"noUnmatchableAnbSelector": {
"description": "Disallow An+B formulas that cannot select an element.\nSee https://biomejs.dev/linter/rules/no-unmatchable-anb-selector",
"anyOf": [
{ "$ref": "#/$defs/NoUnmatchableAnbSelectorConfiguration" },
{ "type": "null" }
]
},
"noUnreachable": {
"description": "Disallow code that can never run.\nSee https://biomejs.dev/linter/rules/no-unreachable",
"anyOf": [
{ "$ref": "#/$defs/NoUnreachableConfiguration" },
{ "type": "null" }
]
},
"noUnreachableSuper": {
"description": "Ensures the super() constructor is called exactly once on every code path in a class constructor before this is accessed if the class has a superclass.\nSee https://biomejs.dev/linter/rules/no-unreachable-super",
"anyOf": [
{ "$ref": "#/$defs/NoUnreachableSuperConfiguration" },
{ "type": "null" }
]
},
"noUnresolvedImports": {
"description": "Warn when importing non-existing exports.\nSee https://biomejs.dev/linter/rules/no-unresolved-imports",
"anyOf": [
{ "$ref": "#/$defs/NoUnresolvedImportsConfiguration" },
{ "type": "null" }
]
},
"noUnsafeFinally": {
"description": "Disallow control flow statements in finally blocks.\nSee https://biomejs.dev/linter/rules/no-unsafe-finally",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeFinallyConfiguration" },
{ "type": "null" }
]
},
"noUnsafeOptionalChaining": {
"description": "Disallow optional chaining where undefined is not a valid result.\nSee https://biomejs.dev/linter/rules/no-unsafe-optional-chaining",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeOptionalChainingConfiguration" },
{ "type": "null" }
]
},
"noUnusedFunctionParameters": {
"description": "Disallow unused function parameters.\nSee https://biomejs.dev/linter/rules/no-unused-function-parameters",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedFunctionParametersConfiguration" },
{ "type": "null" }
]
},
"noUnusedImports": {
"description": "Disallow unused imports.\nSee https://biomejs.dev/linter/rules/no-unused-imports",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedImportsConfiguration" },
{ "type": "null" }
]
},
"noUnusedInstantiation": {
"description": "Disallow new operators outside of assignments or comparisons.\nSee https://biomejs.dev/linter/rules/no-unused-instantiation",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedInstantiationConfiguration" },
{ "type": "null" }
]
},
"noUnusedLabels": {
"description": "Disallow unused labels.\nSee https://biomejs.dev/linter/rules/no-unused-labels",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedLabelsConfiguration" },
{ "type": "null" }
]
},
"noUnusedPrivateClassMembers": {
"description": "Disallow unused private class members.\nSee https://biomejs.dev/linter/rules/no-unused-private-class-members",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedPrivateClassMembersConfiguration" },
{ "type": "null" }
]
},
"noUnusedVariables": {
"description": "Disallow unused variables.\nSee https://biomejs.dev/linter/rules/no-unused-variables",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedVariablesConfiguration" },
{ "type": "null" }
]
},
"noVoidElementsWithChildren": {
"description": "Disallow children on HTML void elements.\nSee https://biomejs.dev/linter/rules/no-void-elements-with-children",
"anyOf": [
{ "$ref": "#/$defs/NoVoidElementsWithChildrenConfiguration" },
{ "type": "null" }
]
},
"noVoidTypeReturn": {
"description": "Disallow returning a value from a function with the return type 'void'.\nSee https://biomejs.dev/linter/rules/no-void-type-return",
"anyOf": [
{ "$ref": "#/$defs/NoVoidTypeReturnConfiguration" },
{ "type": "null" }
]
},
"noVueDataObjectDeclaration": {
"description": "Enforce that Vue component data options are declared as functions.\nSee https://biomejs.dev/linter/rules/no-vue-data-object-declaration",
"anyOf": [
{ "$ref": "#/$defs/NoVueDataObjectDeclarationConfiguration" },
{ "type": "null" }
]
},
"noVueDuplicateKeys": {
"description": "Disallow duplicate keys in Vue component data, methods, computed properties, and other options.\nSee https://biomejs.dev/linter/rules/no-vue-duplicate-keys",
"anyOf": [
{ "$ref": "#/$defs/NoVueDuplicateKeysConfiguration" },
{ "type": "null" }
]
},
"noVueImportCompilerMacros": {
"description": "Disallow importing Vue compiler macros.\nSee https://biomejs.dev/linter/rules/no-vue-import-compiler-macros",
"anyOf": [
{ "$ref": "#/$defs/NoVueImportCompilerMacrosConfiguration" },
{ "type": "null" }
]
},
"noVueRefAsOperand": {
"description": "Disallow the use of value wrapped by ref()(Composition API) as operand.\nSee https://biomejs.dev/linter/rules/no-vue-ref-as-operand",
"anyOf": [
{ "$ref": "#/$defs/NoVueRefAsOperandConfiguration" },
{ "type": "null" }
]
},
"noVueReservedKeys": {
"description": "Disallow reserved keys in Vue component data and computed properties.\nSee https://biomejs.dev/linter/rules/no-vue-reserved-keys",
"anyOf": [
{ "$ref": "#/$defs/NoVueReservedKeysConfiguration" },
{ "type": "null" }
]
},
"noVueReservedProps": {
"description": "Disallow reserved names to be used as props.\nSee https://biomejs.dev/linter/rules/no-vue-reserved-props",
"anyOf": [
{ "$ref": "#/$defs/NoVueReservedPropsConfiguration" },
{ "type": "null" }
]
},
"noVueSetupPropsReactivityLoss": {
"description": "Disallow destructuring of props passed to setup in Vue projects.\nSee https://biomejs.dev/linter/rules/no-vue-setup-props-reactivity-loss",
"anyOf": [
{ "$ref": "#/$defs/NoVueSetupPropsReactivityLossConfiguration" },
{ "type": "null" }
]
},
"noVueVIfWithVFor": {
"description": "Disallow using v-if and v-for directives on the same element.\nSee https://biomejs.dev/linter/rules/no-vue-v-if-with-v-for",
"anyOf": [
{ "$ref": "#/$defs/NoVueVIfWithVForConfiguration" },
{ "type": "null" }
]
},
"noVueVOnNumberValues": {
"description": "Disallow deprecated number modifiers on Vue v-on directives.\nSee https://biomejs.dev/linter/rules/no-vue-v-on-number-values",
"anyOf": [
{ "$ref": "#/$defs/NoVueVOnNumberValuesConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useExhaustiveDependencies": {
"description": "Enforce correct dependency usage within React hooks.\nSee https://biomejs.dev/linter/rules/use-exhaustive-dependencies",
"anyOf": [
{ "$ref": "#/$defs/UseExhaustiveDependenciesConfiguration" },
{ "type": "null" }
]
},
"useGraphqlNamedOperations": {
"description": "Require a name for every explicit GraphQL operation definition.\nSee https://biomejs.dev/linter/rules/use-graphql-named-operations",
"anyOf": [
{ "$ref": "#/$defs/UseGraphqlNamedOperationsConfiguration" },
{ "type": "null" }
]
},
"useHookAtTopLevel": {
"description": "Enforce that all React hooks are being called from the Top Level component functions.\nSee https://biomejs.dev/linter/rules/use-hook-at-top-level",
"anyOf": [
{ "$ref": "#/$defs/UseHookAtTopLevelConfiguration" },
{ "type": "null" }
]
},
"useImageSize": {
"description": "Enforces that \\<img> elements have both width and height attributes.\nSee https://biomejs.dev/linter/rules/use-image-size",
"anyOf": [
{ "$ref": "#/$defs/UseImageSizeConfiguration" },
{ "type": "null" }
]
},
"useImportExtensions": {
"description": "Enforce file extensions for relative imports.\nSee https://biomejs.dev/linter/rules/use-import-extensions",
"anyOf": [
{ "$ref": "#/$defs/UseImportExtensionsConfiguration" },
{ "type": "null" }
]
},
"useInlineScriptId": {
"description": "Enforce id attribute on next/script components with inline content or dangerouslySetInnerHTML.\nSee https://biomejs.dev/linter/rules/use-inline-script-id",
"anyOf": [
{ "$ref": "#/$defs/UseInlineScriptIdConfiguration" },
{ "type": "null" }
]
},
"useIsNan": {
"description": "Require calls to isNaN() when checking for NaN.\nSee https://biomejs.dev/linter/rules/use-is-nan",
"anyOf": [
{ "$ref": "#/$defs/UseIsNanConfiguration" },
{ "type": "null" }
]
},
"useJsonImportAttributes": {
"description": "Enforces the use of with { type: \"json\" } for JSON module imports.\nSee https://biomejs.dev/linter/rules/use-json-import-attributes",
"anyOf": [
{ "$ref": "#/$defs/UseJsonImportAttributesConfiguration" },
{ "type": "null" }
]
},
"useJsxKeyInIterable": {
"description": "Disallow missing key props in iterators/collection literals.\nSee https://biomejs.dev/linter/rules/use-jsx-key-in-iterable",
"anyOf": [
{ "$ref": "#/$defs/UseJsxKeyInIterableConfiguration" },
{ "type": "null" }
]
},
"useLoneAnonymousOperation": {
"description": "Disallow an anonymous operation in a document with other operations.\nSee https://biomejs.dev/linter/rules/use-lone-anonymous-operation",
"anyOf": [
{ "$ref": "#/$defs/UseLoneAnonymousOperationConfiguration" },
{ "type": "null" }
]
},
"useParseIntRadix": {
"description": "Enforce the consistent use of the radix argument when using parseInt().\nSee https://biomejs.dev/linter/rules/use-parse-int-radix",
"anyOf": [
{ "$ref": "#/$defs/UseParseIntRadixConfiguration" },
{ "type": "null" }
]
},
"usePlaywrightValidDescribeCallback": {
"description": "Enforce valid describe() callback.\nSee https://biomejs.dev/linter/rules/use-playwright-valid-describe-callback",
"anyOf": [
{
"$ref": "#/$defs/UsePlaywrightValidDescribeCallbackConfiguration"
},
{ "type": "null" }
]
},
"useQwikClasslist": {
"description": "Prefer using the class prop as a classlist over the classnames helper.\nSee https://biomejs.dev/linter/rules/use-qwik-classlist",
"anyOf": [
{ "$ref": "#/$defs/UseQwikClasslistConfiguration" },
{ "type": "null" }
]
},
"useQwikLoaderLocation": {
"description": "Enforce that Qwik loader functions are declared in the correct location.\nSee https://biomejs.dev/linter/rules/use-qwik-loader-location",
"anyOf": [
{ "$ref": "#/$defs/UseQwikLoaderLocationConfiguration" },
{ "type": "null" }
]
},
"useQwikMethodUsage": {
"description": "Disallow use* hooks outside of component$ or other use* hooks in Qwik applications.\nSee https://biomejs.dev/linter/rules/use-qwik-method-usage",
"anyOf": [
{ "$ref": "#/$defs/UseQwikMethodUsageConfiguration" },
{ "type": "null" }
]
},
"useQwikValidLexicalScope": {
"description": "Disallow unserializable expressions in Qwik dollar ($) scopes.\nSee https://biomejs.dev/linter/rules/use-qwik-valid-lexical-scope",
"anyOf": [
{ "$ref": "#/$defs/UseQwikValidLexicalScopeConfiguration" },
{ "type": "null" }
]
},
"useReactAsyncServerFunction": {
"description": "Require functions with the \"use server\" directive to be async.\nSee https://biomejs.dev/linter/rules/use-react-async-server-function",
"anyOf": [
{ "$ref": "#/$defs/UseReactAsyncServerFunctionConfiguration" },
{ "type": "null" }
]
},
"useReactNativePlatformComponents": {
"description": "Ensure that platform-specific React Native components are only imported in files named for that platform.\nSee https://biomejs.dev/linter/rules/use-react-native-platform-components",
"anyOf": [
{ "$ref": "#/$defs/UseReactNativePlatformComponentsConfiguration" },
{ "type": "null" }
]
},
"useSingleJsDocAsterisk": {
"description": "Enforce JSDoc comment lines to start with a single asterisk, except for the first one.\nSee https://biomejs.dev/linter/rules/use-single-js-doc-asterisk",
"anyOf": [
{ "$ref": "#/$defs/UseSingleJsDocAsteriskConfiguration" },
{ "type": "null" }
]
},
"useUniqueElementIds": {
"description": "Disallow static id values on elements outside SVG contexts.\nSee https://biomejs.dev/linter/rules/use-unique-element-ids",
"anyOf": [
{ "$ref": "#/$defs/UseUniqueElementIdsConfiguration" },
{ "type": "null" }
]
},
"useValidForDirection": {
"description": "Enforce \"for\" loop update clause moving the counter in the right direction.\nSee https://biomejs.dev/linter/rules/use-valid-for-direction",
"anyOf": [
{ "$ref": "#/$defs/UseValidForDirectionConfiguration" },
{ "type": "null" }
]
},
"useValidTypeof": {
"description": "This rule checks that the result of a typeof expression is compared to a valid value.\nSee https://biomejs.dev/linter/rules/use-valid-typeof",
"anyOf": [
{ "$ref": "#/$defs/UseValidTypeofConfiguration" },
{ "type": "null" }
]
},
"useVueVForKey": {
"description": "Enforce that elements using v-for also specify a unique key.\nSee https://biomejs.dev/linter/rules/use-vue-v-for-key",
"anyOf": [
{ "$ref": "#/$defs/UseVueVForKeyConfiguration" },
{ "type": "null" }
]
},
"useVueValidTemplateRoot": {
"description": "Enforce valid Vue \\<template> root usage.\nSee https://biomejs.dev/linter/rules/use-vue-valid-template-root",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidTemplateRootConfiguration" },
{ "type": "null" }
]
},
"useVueValidVBind": {
"description": "Forbids v-bind directives with missing values or invalid modifiers.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-bind",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVBindConfiguration" },
{ "type": "null" }
]
},
"useVueValidVCloak": {
"description": "Enforce valid v-cloak Vue directives.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-cloak",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVCloakConfiguration" },
{ "type": "null" }
]
},
"useVueValidVElse": {
"description": "Enforce valid usage of v-else.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-else",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVElseConfiguration" },
{ "type": "null" }
]
},
"useVueValidVElseIf": {
"description": "Enforce valid v-else-if directives.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-else-if",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVElseIfConfiguration" },
{ "type": "null" }
]
},
"useVueValidVFor": {
"description": "Enforces valid v-for directives in Vue templates.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-for",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVForConfiguration" },
{ "type": "null" }
]
},
"useVueValidVHtml": {
"description": "Enforce valid v-html directives.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-html",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVHtmlConfiguration" },
{ "type": "null" }
]
},
"useVueValidVIf": {
"description": "Enforces valid v-if usage for Vue templates.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-if",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVIfConfiguration" },
{ "type": "null" }
]
},
"useVueValidVOn": {
"description": "Enforce valid v-on directives with proper arguments, modifiers, and handlers.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-on",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVOnConfiguration" },
{ "type": "null" }
]
},
"useVueValidVOnce": {
"description": "Enforce valid v-once Vue directives.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-once",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVOnceConfiguration" },
{ "type": "null" }
]
},
"useVueValidVPre": {
"description": "Enforce valid v-pre Vue directives.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-pre",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVPreConfiguration" },
{ "type": "null" }
]
},
"useVueValidVText": {
"description": "Enforce valid v-text Vue directives.\nSee https://biomejs.dev/linter/rules/use-vue-valid-v-text",
"anyOf": [
{ "$ref": "#/$defs/UseVueValidVTextConfiguration" },
{ "type": "null" }
]
},
"useYield": {
"description": "Require generator functions to contain yield.\nSee https://biomejs.dev/linter/rules/use-yield",
"anyOf": [
{ "$ref": "#/$defs/UseYieldConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"CssAssistConfiguration": {
"description": "Options that change how CSS assist behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables assist actions for CSS.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"CssConfiguration": {
"description": "Options applied to CSS and languages that extend it.\n\nLanguage-specific settings take precedence over corresponding global settings. Global settings\napply when their language-specific counterparts are omitted, unless stated otherwise.",
"type": "object",
"properties": {
"assist": {
"description": "CSS assist options.",
"anyOf": [
{ "$ref": "#/$defs/CssAssistConfiguration" },
{ "type": "null" }
],
"default": null
},
"formatter": {
"description": "CSS formatter options.",
"anyOf": [
{ "$ref": "#/$defs/CssFormatterConfiguration" },
{ "type": "null" }
],
"default": null
},
"globals": {
"description": "Reserved for future CSS analyzer support. This option currently has no effect.",
"type": ["array", "null"],
"items": { "type": "string" },
"uniqueItems": true
},
"linter": {
"description": "CSS linter options.",
"anyOf": [
{ "$ref": "#/$defs/CssLinterConfiguration" },
{ "type": "null" }
],
"default": null
},
"parser": {
"description": "CSS parsing options.",
"anyOf": [
{ "$ref": "#/$defs/CssParserConfiguration" },
{ "type": "null" }
],
"default": null
}
},
"additionalProperties": false
},
"CssFormatterConfiguration": {
"description": "Options that change how the CSS formatter behaves.",
"type": "object",
"properties": {
"delimiterSpacing": {
"description": "Controls spaces inside CSS parentheses and square brackets when their content fits on one\nline. When enabled, `rgb(0, 0, 0)` becomes `rgb( 0, 0, 0 )` and `[data-attr]` becomes\n`[ data-attr ]`. Empty delimiters are unchanged.\n\nIf unset, inherits the global delimiter spacing setting.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the formatter for CSS and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentStyle": {
"description": "The indent style applied to CSS and languages that extend it. If unset, inherits the global\nindentation style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The indentation width applied to CSS and languages that extend it. If unset, inherits the\nglobal indentation width.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The line ending applied to CSS and languages that extend it. If unset, inherits the global\nline ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "The preferred maximum line width for CSS and languages that extend it. If unset, inherits\nthe global line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"quoteStyle": {
"description": "Selects the preferred quote style for CSS strings. Biome may use the alternate quote when\nthat avoids additional escaping. Quotes in `@charset` rules are currently preserved.\nDefaults to `double`.",
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. If unset, inherits the global\ntrailing newline setting.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"CssLinterConfiguration": {
"description": "Options that change how the CSS linter behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the linter for CSS.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"CssParserConfiguration": {
"description": "Options that change how the CSS parser behaves.",
"type": "object",
"properties": {
"allowWrongLineComments": {
"description": "Enables `//` line comments in plain CSS. Standard CSS treats `//` as delimiter characters\nrather than as a comment, and SCSS accepts `//` comments independently of this option.\nDefaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"cssModules": {
"description": "Enables CSS Modules-specific syntax such as `:local`, `:global`, `composes`, and `@value`.\nWhen unset, Biome enables this syntax automatically for files whose names end in\n`.module.css` or `.module.scss; otherwise, it defaults to `false`. Enable it explicitly when CSS Module files\nuse another naming convention.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"tailwindDirectives": {
"description": "Enables parsing Tailwind CSS 4.0 directives and functions, including `@theme`, `@utility`,\n`@variant`, `@source`, and `@apply`. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }],
"default": null
}
},
"additionalProperties": false
},
"CustomRestrictedElements": {
"description": "Elements to restrict. Each key is the element name, and the value is the message to show when the element is used.",
"type": "object",
"additionalProperties": { "type": "string" },
"minProperties": 1
},
"CustomRestrictedType": {
"anyOf": [
{ "type": "string" },
{ "$ref": "#/$defs/CustomRestrictedTypeOptions" }
]
},
"CustomRestrictedTypeOptions": {
"type": "object",
"properties": {
"message": { "type": "string", "default": "" },
"use": { "type": ["string", "null"], "default": null }
},
"additionalProperties": false
},
"DeclarationStyle": {
"oneOf": [
{
"description": "defineProps<{...}>()",
"type": "string",
"const": "type"
},
{
"description": "defineProps({...})",
"type": "string",
"const": "runtime"
}
]
},
"DelimiterSpacing": {
"description": "Whether to insert spaces inside delimiters (after the opening delimiter and before the closing\ndelimiter), such as parentheses, brackets, angle brackets, and template literal interpolations.\nSpaces are not added before the opening delimiter, and empty delimiters are not affected.\nOnly applies when the content fits on a single line; when content breaks across multiple lines,\nno extra spaces are added. The specific delimiters affected depend on the language.",
"type": "boolean"
},
"DependencyAvailability": {
"oneOf": [
{
"description": "This type of dependency will be always available or unavailable.",
"type": "boolean"
},
{
"description": "This type of dependency will be available only if the linted file matches any of the globs.",
"type": "array",
"items": { "type": "string" },
"minItems": 1
}
]
},
"DestructuringConfig": {
"type": "object",
"properties": {
"array": { "type": ["boolean", "null"] },
"object": { "type": ["boolean", "null"] }
},
"additionalProperties": false
},
"EventHyphenation": {
"oneOf": [
{
"description": "Event names must be hyphenated, e.g. `custom-event`.",
"type": "string",
"const": "always"
},
{
"description": "Event names must not contain hyphens, e.g. `customEvent`.",
"type": "string",
"const": "never"
}
]
},
"Expand": {
"oneOf": [
{
"description": "Objects are expanded when the first property has a leading newline. Arrays remain on one\nline if they fit.",
"type": "string",
"const": "auto"
},
{
"description": "Objects and arrays are always expanded.",
"type": "string",
"const": "always"
},
{
"description": "Objects and arrays remain on one line if they fit.",
"type": "string",
"const": "never"
}
]
},
"Extends": {
"description": "Extends the current configuration with settings from other Biome configurations. `//` extends the root configuration from any nesting depth. A list extends configurations by relative path or installed package specifier. Biome merges list entries from left to right: later configurations take precedence for single-value options, list entries are combined, and the current configuration is applied last.",
"oneOf": [
{ "type": "array", "items": { "type": "string" } },
{ "type": "string", "const": "//" }
]
},
"FilenameCase": {
"description": "Supported cases for file names.",
"oneOf": [
{ "description": "camelCase", "type": "string", "const": "camelCase" },
{
"description": "Match an export name",
"type": "string",
"const": "export"
},
{
"description": "kebab-case",
"type": "string",
"const": "kebab-case"
},
{
"description": "PascalCase",
"type": "string",
"const": "PascalCase"
},
{ "description": "snake_case", "type": "string", "const": "snake_case" }
]
},
"FilenameCases": {
"type": "array",
"items": { "$ref": "#/$defs/FilenameCase" },
"uniqueItems": true
},
"FilesConfiguration": {
"description": "The file handling configuration.",
"type": "object",
"properties": {
"experimentalScannerIgnores": {
"description": "**Deprecated:** Please use _force-ignore syntax_ in `files.includes`\ninstead: <https://biomejs.dev/reference/configuration/#filesincludes>\n\nFile or directory names that the scanner ignores unconditionally while crawling. Each value\nmatches a complete path component, not a glob. Ignored files are not added to the module graph,\nso types are not inferred from them.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreUnknown": {
"description": "Prevents Biome from emitting diagnostics for unrecognized file types. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns selecting which files and directories Biome can process. If omitted,\nthis option does not further restrict the supported files Biome can process. An empty list\nselects no files. Biome ignores files under `node_modules` even when they match a pattern.\n\nThe scanner uses these patterns and, when enabled, VCS ignore files while discovering nested\nconfiguration and ignore files. When enabled rules use the `project` or `types` domains, it\nalso indexes source files and project dependencies. It may still discover required metadata or\nindex excluded source files needed for analysis. A pattern beginning with `!!` prevents the\nscanner from indexing matching paths. Patterns are evaluated in order, and a pattern beginning\nwith `!` excludes matches.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"maxSize": {
"description": "The maximum source-file size in bytes. Biome skips larger files and emits a warning\ndiagnostic. Defaults to `1 MiB`.",
"anyOf": [{ "$ref": "#/$defs/MaxSize" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"FixKind": {
"description": "Used to identify the kind of code action emitted by a rule",
"oneOf": [
{
"description": "The rule doesn't emit code actions.",
"type": "string",
"const": "none"
},
{
"description": "The rule emits a code action that is safe to apply. Usually these fixes don't change the semantic of the program.",
"type": "string",
"const": "safe"
},
{
"description": "The rule emits a code action that is _unsafe_ to apply. Usually these fixes remove comments, or change\nthe semantic of the program.",
"type": "string",
"const": "unsafe"
}
]
},
"Format": {
"description": "Supported cases.",
"type": "string",
"enum": ["camelCase", "CONSTANT_CASE", "PascalCase", "snake_case"]
},
"Formats": {
"type": "array",
"items": { "$ref": "#/$defs/Format" },
"uniqueItems": true
},
"FormatterConfiguration": {
"description": "Configures formatting for selected files.",
"type": "object",
"properties": {
"attributePosition": {
"description": "The attribute position style in HTML-like languages. Defaults to `auto`.",
"anyOf": [{ "$ref": "#/$defs/AttributePosition" }, { "type": "null" }]
},
"bracketSameLine": {
"description": "Controls the placement of the closing bracket for multiline HTML and JSX opening tags. Biome\nplaces the bracket at the end of the last attribute line when enabled and on its own line when\ndisabled. This also affects self-closing HTML elements, but self-closing JSX elements are\nunaffected. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"bracketSpacing": {
"description": "Controls spaces inside braces in supported single-line structures. The affected structures\nvary by language. Defaults to `true`.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }]
},
"delimiterSpacing": {
"description": "Controls spaces immediately inside supported delimiters when their content fits on one line.\nIt doesn't add spaces before opening delimiters or inside empty delimiters.\n\nThe affected delimiters vary by language. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the formatter. Defaults to `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"expand": {
"description": "Controls whether arrays and objects are formatted on one line or multiple lines.\n\n`auto` formats objects on multiple lines if the first property has a newline, and arrays on\none line if they fit.\n\n`always` formats arrays and objects on multiple lines.\n\n`never` formats arrays and objects on one line if they fit.\n\nDefaults to `auto`.\n\nWhen formatting `package.json`, Biome uses `always` unless configured otherwise.",
"anyOf": [{ "$ref": "#/$defs/Expand" }, { "type": "null" }]
},
"formatWithErrors": {
"description": "Allows formatting files that contain syntax errors when set to `true`. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns selecting files to format. If omitted, all files selected by\n`files.includes` remain eligible for formatting. An empty list selects no files. This option\ncan only narrow the files selected by `files.includes`.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"indentStyle": {
"description": "Uses tabs or spaces for indentation. Defaults to `tab`.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "Sets the indentation width. With space indentation, this is the number of spaces emitted per\nindentation level. With tab indentation, Biome emits one tab per level and uses this value as\nthe tab's display width when calculating line length. Accepted values are `0` through `24`.\nDefaults to `2`.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "Selects the line ending. `auto` uses the platform convention. Defaults to `lf`.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "Sets the preferred maximum line width used when deciding where to wrap code. Some content,\nsuch as long unbreakable strings, may still exceed this width. Accepted values are `1` through\n`320`. Defaults to `80`.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. Defaults to `true`. Disabling\nthis option can cause compatibility problems with other tools.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
},
"useEditorconfig": {
"description": "Controls whether Biome loads formatter settings from an `.editorconfig` file. Biome reads\n`indent_style`, `indent_size`, `end_of_line`, and `insert_final_newline`. Settings in\n`biome.json` or `biome.jsonc` take precedence. Biome loads only one `.editorconfig`. Nested\ncascading configurations and the EditorConfig `root` property are not supported. Defaults to\n`false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"FunctionStyle": {
"description": "The required form for function definitions: `\"expression\"` or `\"declaration\"`.",
"oneOf": [
{
"description": "Require function expressions assigned to variables. This is the default.",
"type": "string",
"const": "expression"
},
{
"description": "Require function declarations, subject to the rule's exceptions.",
"type": "string",
"const": "declaration"
}
]
},
"Glob": {
"description": "Matches case-sensitive paths with `/` separators. Supports `*` within a path segment,\nsegment-only `**`, brace alternatives such as `{js,ts}`, backslash escaping, and leading `!` or\n`!!` negation. Does not support `?`, character classes, nested brace alternatives, partial\nglobstars, or consecutive globstars.",
"type": "string"
},
"GraphqlAssistConfiguration": {
"description": "Options that change how GraphQL assist behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables assist actions for GraphQL. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }],
"default": null
}
},
"additionalProperties": false
},
"GraphqlConfiguration": {
"description": "Options applied to GraphQL files.\n\nLanguage-specific settings take precedence over corresponding global settings. Global settings\napply when their language-specific counterparts are omitted, unless stated otherwise.",
"type": "object",
"properties": {
"assist": {
"description": "GraphQL assist options.",
"anyOf": [
{ "$ref": "#/$defs/GraphqlAssistConfiguration" },
{ "type": "null" }
]
},
"formatter": {
"description": "GraphQL formatter options.",
"anyOf": [
{ "$ref": "#/$defs/GraphqlFormatterConfiguration" },
{ "type": "null" }
]
},
"linter": {
"description": "GraphQL linter options.",
"anyOf": [
{ "$ref": "#/$defs/GraphqlLinterConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"GraphqlFormatterConfiguration": {
"description": "Options that change how the GraphQL formatter behaves.",
"type": "object",
"properties": {
"bracketSpacing": {
"description": "Controls spaces inside the braces of single-line GraphQL object values. Biome formats\n`{name: \"Biome\"}` when disabled and `{ name: \"Biome\" }` when enabled. If unset, inherits the\nglobal bracket spacing setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }],
"default": null
},
"enabled": {
"description": "Enables or disables the formatter for GraphQL.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }],
"default": null
},
"indentStyle": {
"description": "The indent style applied to GraphQL files. If unset, inherits the global indentation style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }],
"default": null
},
"indentWidth": {
"description": "The indentation width applied to GraphQL files. If unset, inherits the global indentation\nwidth.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }],
"default": null
},
"lineEnding": {
"description": "The line ending applied to GraphQL files. If unset, inherits the global line ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }],
"default": null
},
"lineWidth": {
"description": "The preferred maximum line width for GraphQL files. If unset, inherits the global line\nwidth.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }],
"default": null
},
"quoteStyle": {
"description": "Reserved for future formatter support. The current formatter preserves standard\ndouble-quoted GraphQL strings and does not use this setting.",
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }],
"default": null
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. If unset, inherits the global\ntrailing newline setting.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"GraphqlLinterConfiguration": {
"description": "Options that change how the GraphQL linter behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the linter for GraphQL.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }],
"default": null
}
},
"additionalProperties": false
},
"GritAssistConfiguration": {
"description": "Options that change how GritQL assist behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables assist actions for GritQL.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"GritConfiguration": {
"description": "Options applied to GritQL files.\n\nLanguage-specific settings take precedence over corresponding global settings. Global settings\napply when their language-specific counterparts are omitted, unless stated otherwise.",
"type": "object",
"properties": {
"assist": {
"description": "GritQL assist options.",
"anyOf": [
{ "$ref": "#/$defs/GritAssistConfiguration" },
{ "type": "null" }
]
},
"formatter": {
"description": "GritQL formatter options.",
"anyOf": [
{ "$ref": "#/$defs/GritFormatterConfiguration" },
{ "type": "null" }
]
},
"linter": {
"description": "GritQL linter options.",
"anyOf": [
{ "$ref": "#/$defs/GritLinterConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"GritFormatterConfiguration": {
"description": "Options that change how the GritQL formatter behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the formatter for GritQL.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentStyle": {
"description": "The indent style applied to GritQL files. If unset, inherits the global indentation style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The indentation width applied to GritQL files. If unset, inherits the global indentation\nwidth.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The line ending applied to GritQL files. If unset, inherits the global line ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "The preferred maximum line width for GritQL files. If unset, inherits the global line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. If unset, inherits the global\ntrailing newline setting.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"GritLinterConfiguration": {
"description": "Options that change how the GritQL linter behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the linter for GritQL.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"GroupMatcher": {
"anyOf": [
{ "$ref": "#/$defs/ImportMatcher" },
{ "$ref": "#/$defs/SourceMatcher" }
]
},
"GroupPlainConfiguration": {
"oneOf": [
{
"description": "Disables all rules in the group.",
"type": "string",
"const": "off"
},
{
"description": "Enables all rules in the group using each rule's individual default severity.",
"type": "string",
"const": "on"
},
{
"description": "Enables all rules in the group with information severity.",
"type": "string",
"const": "info"
},
{
"description": "Enables all rules in the group with warning severity.",
"type": "string",
"const": "warn"
},
{
"description": "Enables all rules in the group with error severity.",
"type": "string",
"const": "error"
}
]
},
"Hook": {
"type": "object",
"properties": {
"closureIndex": {
"description": "The \"position\" of the closure function, starting from zero.\n\nFor example, for React's `useEffect()` hook, the closure index is 0.",
"type": ["integer", "null"],
"format": "uint8",
"default": null,
"maximum": 255,
"minimum": 0
},
"dependenciesIndex": {
"description": "The \"position\" of the array of dependencies, starting from zero.\n\nFor example, for React's `useEffect()` hook, the dependencies index is 1.",
"type": ["integer", "null"],
"format": "uint8",
"default": null,
"maximum": 255,
"minimum": 0
},
"name": {
"description": "The name of the hook.",
"type": "string",
"default": ""
},
"stableResult": {
"description": "Whether the result of the hook is stable.\n\nSet to `true` to mark the identity of the hook's return value as stable,\nor use a number/an array of numbers to mark the \"positions\" in the\nreturn array as stable.\n\nFor example, for React's `useRef()` hook the value would be `true`,\nwhile for `useState()` it would be `[1]`.",
"anyOf": [{ "$ref": "#/$defs/StableHookResult" }, { "type": "null" }],
"default": null
}
},
"additionalProperties": false
},
"HtmlAssistConfiguration": {
"description": "Options that change how HTML assist behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables assist actions for HTML and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"HtmlConfiguration": {
"description": "Options applied to HTML and languages that extend it.\n\nFull HTML support and the HTML formatter are experimental. Biome aims to minimize breaking\nchanges, but bug fixes and new features may change formatting output or diagnostics.\n\nLanguage-specific settings take precedence over corresponding global settings. Global settings\napply when their language-specific counterparts are omitted, unless stated otherwise.",
"type": "object",
"properties": {
"assist": {
"description": "HTML assist options.",
"anyOf": [
{ "$ref": "#/$defs/HtmlAssistConfiguration" },
{ "type": "null" }
]
},
"experimentalFullSupportEnabled": {
"description": "Enables Biome's experimental full support for `.html`, `.vue`, `.svelte`, and `.astro` files.\nIn this mode, Biome parses the complete document and can analyze or format its markup and\nsupported embedded languages.\n\nWhen disabled, `.vue`, `.svelte`, and `.astro` files use legacy handling, which extracts their\nJavaScript or TypeScript portions and leaves the rest unchanged. This option selects how\nthese files are processed. It does not enable the HTML formatter. Set\n`html.formatter.enabled` to `true` to format complete HTML, Vue, Svelte, and Astro files.\nDefaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"formatter": {
"description": "HTML formatter options.",
"anyOf": [
{ "$ref": "#/$defs/HtmlFormatterConfiguration" },
{ "type": "null" }
]
},
"linter": {
"description": "HTML linter options.",
"anyOf": [
{ "$ref": "#/$defs/HtmlLinterConfiguration" },
{ "type": "null" }
]
},
"parser": {
"description": "HTML parsing options.",
"anyOf": [
{ "$ref": "#/$defs/HtmlParserConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"HtmlFormatterConfiguration": {
"description": "Options that change how the HTML formatter behaves.",
"type": "object",
"properties": {
"attributePosition": {
"description": "The attribute position style in HTML elements. If unset, inherits the global attribute\nposition setting.",
"anyOf": [{ "$ref": "#/$defs/AttributePosition" }, { "type": "null" }]
},
"bracketSameLine": {
"description": "Controls the placement of the closing bracket for multiline HTML opening tags. Biome places\nthe bracket at the end of the last attribute line when enabled and on its own line after the\nlast attribute when disabled. This option also affects self-closing HTML elements. If unset,\ninherits the global `bracketSameLine` setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the formatter for HTML and languages that extend it. The formatter is\nexperimental and disabled by default. Formatting complete HTML, Vue, Svelte, and Astro files\nrequires `html.experimentalFullSupportEnabled` to be `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentScriptAndStyle": {
"description": "Controls whether the content of `<script>` and `<style>` tags is indented by one level in\nHTML, Vue, Svelte, and Astro files. Defaults to `false`.",
"anyOf": [
{ "$ref": "#/$defs/IndentScriptAndStyle" },
{ "type": "null" }
]
},
"indentStyle": {
"description": "The indent style applied to HTML and languages that extend it. If unset, inherits the global\nindentation style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The indentation width applied to HTML and languages that extend it. If unset, inherits the\nglobal indentation width.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The line ending applied to HTML and languages that extend it. If unset, inherits the global\nline ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "The preferred maximum line width for HTML and languages that extend it. If unset, inherits\nthe global line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"selfCloseVoidElements": {
"description": "Controls whether void elements are self-closed. Defaults to `never`.",
"anyOf": [
{ "$ref": "#/$defs/SelfCloseVoidElements" },
{ "type": "null" }
]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. Unlike other language-specific\ntrailing newline settings, this option defaults to `true` instead of inheriting the global\nsetting.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
},
"whitespaceSensitivity": {
"description": "Controls how the formatter treats whitespace around text and child elements in HTML, Vue,\nSvelte, and Astro markup. The `ignore` setting should be used only when whitespace cannot\naffect rendered output. Defaults to `css`.",
"anyOf": [
{ "$ref": "#/$defs/WhitespaceSensitivity" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"HtmlLinterConfiguration": {
"description": "Options that change how the HTML linter behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the linter for HTML and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"HtmlParserConfiguration": {
"description": "Options that change how the HTML parser behaves.",
"type": "object",
"properties": {
"interpolation": {
"description": "Enables double-curly interpolation expressions such as `{{ expression }}` in `.html` files.\nDefaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"vue": {
"description": "Enables parsing Vue syntax (`v-if`, `v-bind`, etc.) in `.html` files. Enabling this option\nalso enables `interpolation` implicitly.\n\nBiome will already automatically enable Vue parsing in `.vue` files, so you probably don't need\nto enable this option. This only affects `.html` files, and does not change how `.vue`, `.svelte`,\nor `.astro` files are parsed. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"IgnoreClassesWithImplements": {
"description": "Controls how `useThisInClassMethods` treats classes that implement interfaces.",
"oneOf": [
{
"description": "Check members in classes that implement interfaces the same way as any other class.",
"type": "string",
"const": "none"
},
{
"description": "Ignore every eligible instance member in classes that implement at least one interface.",
"type": "string",
"const": "all"
},
{
"description": "Ignore only public eligible members in classes that implement at least one interface.\n\nProtected and private members in those classes are still checked.",
"type": "string",
"const": "public-fields"
}
]
},
"IgnorePrimitives": {
"oneOf": [
{
"description": "When true, ignore all primitive types.",
"type": "boolean"
},
{
"description": "Ignore specific primitive types.",
"type": "object",
"properties": {
"bigint": { "type": "boolean" },
"boolean": { "type": "boolean" },
"number": { "type": "boolean" },
"string": { "type": "boolean" }
},
"additionalProperties": false
}
]
},
"ImportGroup": {
"anyOf": [
{ "type": "null" },
{ "$ref": "#/$defs/GroupMatcher" },
{ "type": "array", "items": { "$ref": "#/$defs/GroupMatcher" } }
]
},
"ImportGroups": {
"type": "array",
"items": { "$ref": "#/$defs/ImportGroup" }
},
"ImportMatcher": {
"type": "object",
"properties": {
"kind": {
"anyOf": [
{ "$ref": "#/$defs/NegatableImportKindMatcher" },
{ "type": "null" }
]
},
"source": {
"anyOf": [{ "$ref": "#/$defs/SourcesMatcher" }, { "type": "null" }]
},
"type": { "type": ["boolean", "null"] }
}
},
"ImportSourceGlob": {
"description": "Glob to match against import sources.",
"$ref": "#/$defs/Glob"
},
"IndentScriptAndStyle": {
"description": "Controls whether the content of `<script>` and `<style>` tags is indented by one level in HTML,\nVue, Svelte, and Astro files.",
"type": "boolean"
},
"IndentStyle": {
"oneOf": [
{
"description": "Uses tabs for indentation.",
"type": "string",
"const": "tab"
},
{
"description": "Uses spaces for indentation.",
"type": "string",
"const": "space"
}
]
},
"IndentWidth": {
"description": "Sets the indentation width. With space indentation, this is the number of spaces emitted per\nindentation level. With tab indentation, Biome emits one tab per level and uses this value as the\ntab's display width when calculating line length.\n\nAccepted values range from 0 through 24.",
"type": "integer",
"format": "uint8",
"maximum": 24,
"minimum": 0
},
"JsAssistConfiguration": {
"description": "Assist options specific to the JavaScript assist",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables assist actions for JavaScript and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsConfiguration": {
"description": "Options applied to JavaScript, TypeScript, JSX, TSX, and supported languages that embed\nJavaScript.\n\nLanguage-specific settings take precedence over corresponding global settings. Global settings\napply when their language-specific counterparts are omitted, unless stated otherwise.",
"type": "object",
"properties": {
"assist": {
"description": "JavaScript assist options.",
"anyOf": [
{ "$ref": "#/$defs/JsAssistConfiguration" },
{ "type": "null" }
]
},
"experimentalEmbeddedSnippetsEnabled": {
"description": "Enables experimental parsing, formatting, linting, diagnostics, and fixes for CSS and\nGraphQL snippets embedded in JavaScript and TypeScript template literals.\n\nBiome recognizes CSS in `css` and `styled` templates and GraphQL in `gql` and `graphql`\ntemplates or calls. Templates containing interpolations are not currently supported.\nDefaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"formatter": {
"description": "JavaScript formatter options.",
"anyOf": [
{ "$ref": "#/$defs/JsFormatterConfiguration" },
{ "type": "null" }
]
},
"globals": {
"description": "A list of additional names that Biome's JavaScript linter treats as predefined global\nbindings.\n\nUse this for globals supplied by a runtime, framework, or external script that are not\ndeclared in the source file.",
"type": ["array", "null"],
"items": { "type": "string" },
"uniqueItems": true
},
"jsxRuntime": {
"description": "Configures how the analyzer accounts for imports used by JSX. This option does not transform\nJSX or select a runtime for a build tool. Defaults to `transparent`.",
"anyOf": [{ "$ref": "#/$defs/JsxRuntime" }, { "type": "null" }]
},
"linter": {
"description": "JavaScript linter options.",
"anyOf": [
{ "$ref": "#/$defs/JsLinterConfiguration" },
{ "type": "null" }
]
},
"parser": {
"description": "JavaScript parser options.",
"anyOf": [
{ "$ref": "#/$defs/JsParserConfiguration" },
{ "type": "null" }
]
},
"resolver": {
"description": "JavaScript module and dependency resolver options.",
"anyOf": [
{ "$ref": "#/$defs/JsResolverConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"JsFormatterConfiguration": {
"description": "Formatting options specific to JavaScript and languages that extend it.",
"type": "object",
"properties": {
"arrowParentheses": {
"description": "Controls parentheses around arrow-function parameters. `always` always prints parentheses,\nwhile `asNeeded` omits them when an arrow function has one parameter and the syntax permits\nit. Defaults to `always`.",
"anyOf": [{ "$ref": "#/$defs/ArrowParentheses" }, { "type": "null" }]
},
"attributePosition": {
"description": "The attribute position style in JSX elements. If unset, inherits the global attribute\nposition setting.",
"anyOf": [{ "$ref": "#/$defs/AttributePosition" }, { "type": "null" }]
},
"bracketSameLine": {
"description": "Controls the placement of the closing bracket for multiline JSX opening tags. Biome places\nthe bracket at the end of the last attribute line when enabled and on its own line after the\nlast attribute when disabled. Self-closing JSX elements are unaffected. If unset, inherits\nthe global bracket placement setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"bracketSpacing": {
"description": "Controls spaces inside the braces of single-line object literals. Biome formats `{value: 1}`\nwhen disabled and `{ value: 1 }` when enabled. If unset, inherits the global bracket spacing\nsetting.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }]
},
"delimiterSpacing": {
"description": "Controls spaces immediately inside supported JavaScript and TypeScript delimiters when their\ncontent fits on one line. This affects parentheses, square brackets, template\ninterpolations, TypeScript angle brackets, and JSX expression braces. Empty delimiters are\nunchanged.\n\nIt also controls spacing after logical NOT operators. In a chain of logical NOT operators,\nonly the final operator receives a following space. Biome doesn't add spaces before opening\ndelimiters.\n\nIf unset, inherits the global delimiter spacing setting.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the formatter for JavaScript and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"expand": {
"description": "Uses the same `auto`, `always`, and `never` behavior as the global expansion setting.\n\nIf unset, inherits the global expansion setting.",
"anyOf": [{ "$ref": "#/$defs/Expand" }, { "type": "null" }]
},
"indentStyle": {
"description": "The indent style applied to JavaScript and languages that extend it. If unset, inherits the\nglobal indentation style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The indentation width applied to JavaScript and languages that extend it. If unset,\ninherits the global indentation width.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"jsxQuoteStyle": {
"description": "Selects the preferred quote style for JSX attribute values. Defaults to `double`.",
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }]
},
"lineEnding": {
"description": "The line ending applied to JavaScript and languages that extend it. If unset, inherits the\nglobal line ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "The preferred maximum line width applied to JavaScript and languages that extend it. If\nunset, inherits the global line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"operatorLinebreak": {
"description": "When breaking binary expressions into multiple lines, whether to break them before or after\nthe binary operator. Defaults to `after`.",
"anyOf": [{ "$ref": "#/$defs/OperatorLinebreak" }, { "type": "null" }]
},
"quoteProperties": {
"description": "Controls whether quotes around object property names are preserved. `asNeeded` removes\nquotes when the property name is valid without them, while `preserve` keeps quotes around\nproperty names that were quoted in the input. Defaults to `asNeeded` in configuration\n(`as-needed` on the CLI).",
"anyOf": [{ "$ref": "#/$defs/QuoteProperties" }, { "type": "null" }]
},
"quoteStyle": {
"description": "Selects the preferred quote style for JavaScript and TypeScript string literals. Biome may\nuse the alternate quote when that avoids additional escaping. Defaults to `double`.",
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }]
},
"semicolons": {
"description": "Prints semicolons after every statement or only where needed to avoid automatic semicolon\ninsertion hazards. Defaults to `always`.",
"anyOf": [{ "$ref": "#/$defs/Semicolons" }, { "type": "null" }]
},
"trailingCommas": {
"description": "Controls trailing commas in multiline comma-separated structures. `all` adds trailing commas\nwherever syntax permits, including function parameters and calls. `es5` adds them only in\nconstructs supported by ES5, such as array and object literals, and excludes function\nparameters, function calls, and TypeScript type parameters. `none` removes trailing commas.\nDefaults to `all`.",
"anyOf": [{ "$ref": "#/$defs/JsTrailingCommas" }, { "type": "null" }]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. If unset, inherits the global\ntrailing newline setting.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsLinterConfiguration": {
"description": "Linter options specific to the JavaScript linter",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the linter for JavaScript and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsParserConfiguration": {
"description": "Options that change how the JavaScript parser behaves.",
"type": "object",
"properties": {
"jsxEverywhere": {
"description": "Controls whether `.js`, `.mjs`, and `.cjs` files may contain JSX syntax. Disabling this\noption causes JSX in those files to raise a diagnostic. Defaults to `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"unsafeParameterDecoratorsEnabled": {
"description": "Enables parsing decorators on class parameters. This syntax belongs to an old experimental\nproposal and may change. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsResolverConfiguration": {
"description": "Resolver options specific to JavaScript files",
"type": "object",
"properties": {
"experimentalPnpmCatalogs": {
"description": "Enables pnpm workspace catalog resolution for JavaScript package manifests.\n\nOpt-in:\n- Set `javascript.resolver.experimentalPnpmCatalogs` to `true`.\n\nScope:\n- Resolves `catalog:` and `catalog:<name>` dependency versions from\n `package.json`.\n- Applies to `dependencies`, `devDependencies`, and `peerDependencies`.\n\nFail-safe behavior:\n- If `pnpm-workspace.yaml` is missing, unreadable, or cannot be parsed,\n Biome silently falls back to the default behavior (as if this option\n were disabled).\n- Unknown keys and unsupported value shapes in `pnpm-workspace.yaml` are\n ignored.\n\nLimitations:\n- Only `pnpm-workspace.yaml` is read.\n- Biome only reads top-level `catalog` / `catalogs` mappings and scalar\n string entries.\n\nDefaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsTrailingCommas": {
"description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures for JavaScript/TypeScript files.",
"type": "string",
"enum": ["all", "es5", "none"]
},
"JsonAssistConfiguration": {
"description": "Assist options specific to the JSON linter",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables assist actions for JSON and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsonConfiguration": {
"description": "Options applied to JSON, JSONC, and recognized JSON-based configuration files.\n\nLanguage-specific settings take precedence over corresponding global settings. Global settings\napply when their language-specific counterparts are omitted, unless stated otherwise.",
"type": "object",
"properties": {
"assist": {
"description": "Assist options",
"anyOf": [
{ "$ref": "#/$defs/JsonAssistConfiguration" },
{ "type": "null" }
]
},
"formatter": {
"description": "Formatting options",
"anyOf": [
{ "$ref": "#/$defs/JsonFormatterConfiguration" },
{ "type": "null" }
]
},
"linter": {
"description": "Linting options",
"anyOf": [
{ "$ref": "#/$defs/JsonLinterConfiguration" },
{ "type": "null" }
]
},
"parser": {
"description": "Parsing options",
"anyOf": [
{ "$ref": "#/$defs/JsonParserConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"JsonFileReadAs": {
"oneOf": [
{
"description": "Read JSON files with the `'utf8'` encoding, so `JSON.parse()` receives a string.",
"type": "string",
"const": "string"
},
{
"description": "Read JSON files without an encoding, so `JSON.parse()` receives a `Buffer`.",
"type": "string",
"const": "buffer"
}
]
},
"JsonFormatterConfiguration": {
"type": "object",
"properties": {
"bracketSpacing": {
"description": "Whether to insert spaces inside braces in object literals. If unset, inherits the global\nbracket spacing setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }]
},
"delimiterSpacing": {
"description": "Controls spaces inside JSON square brackets when their content fits on one line. When\nenabled, `[1, 2, 3]` becomes `[ 1, 2, 3 ]`. Empty brackets are unchanged.\n\nIf unset, inherits the global delimiter spacing setting.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the formatter for JSON and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"expand": {
"description": "Uses the same `auto`, `always`, and `never` behavior as the global expansion setting.\n\nIf unset, inherits the global expansion setting.\n\nWhen formatting `package.json`, Biome uses `always` unless configured otherwise.",
"anyOf": [{ "$ref": "#/$defs/Expand" }, { "type": "null" }]
},
"indentStyle": {
"description": "The indent style applied to JSON and languages that extend it. If unset, inherits the global\nindentation style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The indentation width applied to JSON and languages that extend it. If unset, inherits the\nglobal indentation width.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The line ending applied to JSON and languages that extend it. If unset, inherits the global\nline ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "The preferred maximum line width applied to JSON and languages that extend it. If unset,\ninherits the global line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"trailingCommas": {
"description": "Controls trailing commas in multiline JSON arrays and objects. `none` removes trailing\ncommas, while `all` adds them wherever the JSON formatter supports them. Use `all` only for\nJSON variants that allow trailing commas, and ensure `json.parser.allowTrailingCommas` is\nenabled or automatically detected for those files. Defaults to `none`.",
"anyOf": [
{ "$ref": "#/$defs/JsonTrailingCommas" },
{ "type": "null" }
]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file. If unset, inherits the global\ntrailing newline setting.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsonLinterConfiguration": {
"description": "Linter options specific to the JSON linter",
"type": "object",
"properties": {
"enabled": {
"description": "Enables or disables the linter for JSON and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsonParserConfiguration": {
"description": "Options that change how the JSON parser behaves.",
"type": "object",
"properties": {
"allowComments": {
"description": "Controls whether comments are allowed in files parsed as JSON. When unset, Biome follows the\nfile type's default behavior. An explicit value overrides that behavior, except that\n`biome.jsonc` always allows comments.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"allowTrailingCommas": {
"description": "Controls whether trailing commas are allowed in files parsed as JSON. When unset, Biome\nfollows the file type's default behavior. An explicit value overrides that behavior, except\nthat `biome.jsonc` always allows trailing commas.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsonTrailingCommas": {
"description": "Controls trailing commas in multiline JSON arrays and objects. Use `all` only for JSON variants that allow trailing commas, and ensure `json.parser.allowTrailingCommas` is enabled or automatically detected for those files.",
"type": "string",
"enum": ["none", "all"]
},
"JsxRuntime": {
"description": "How Biome's analyzer accounts for imports used by JSX.",
"oneOf": [
{
"description": "An automatic or native JSX environment that doesn't require an in-scope factory import.",
"type": "string",
"const": "transparent"
},
{
"description": "A classic React environment that requires the React import, or custom JSX factory imports\nconfigured in `tsconfig.json`.\n\nCorresponds to the `react` value for the `jsx` option in TypeScript's\n`tsconfig.json`.\n\nThis option should only be necessary if you cannot upgrade to a React\nversion that supports the new JSX runtime. For more information about\nthe old vs. new JSX runtime, please see:\n<https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html>",
"type": "string",
"const": "reactClassic"
}
]
},
"Kind": {
"oneOf": [
{
"type": "string",
"enum": [
"class",
"enum",
"interface",
"enumMember",
"importNamespace",
"exportNamespace",
"variable",
"const",
"let",
"using",
"var",
"catchParameter",
"indexParameter",
"exportAlias",
"importAlias",
"classGetter",
"classSetter",
"classMethod",
"objectLiteralProperty",
"objectLiteralGetter",
"objectLiteralSetter",
"objectLiteralMethod",
"typeAlias"
]
},
{ "description": "All kinds", "type": "string", "const": "any" },
{
"description": "All type definitions: classes, enums, interfaces, and type aliases",
"type": "string",
"const": "typeLike"
},
{
"description": "Named function declarations and expressions",
"type": "string",
"const": "function"
},
{
"description": "TypeScript namespaces, import and export namespaces",
"type": "string",
"const": "namespaceLike"
},
{
"description": "TypeScript mamespaces",
"type": "string",
"const": "namespace"
},
{
"description": "All function parameters, but parameter properties",
"type": "string",
"const": "functionParameter"
},
{
"description": "All generic type parameters",
"type": "string",
"const": "typeParameter"
},
{
"description": "All class members: properties, methods, getters, and setters",
"type": "string",
"const": "classMember"
},
{
"description": "All class properties, including parameter properties",
"type": "string",
"const": "classProperty"
},
{
"description": "All object literal members: properties, methods, getters, and setters",
"type": "string",
"const": "objectLiteralMember"
},
{
"description": "All members defined in type alaises and interfaces",
"type": "string",
"const": "typeMember"
},
{
"description": "All getters defined in type alaises and interfaces",
"type": "string",
"const": "typeGetter"
},
{
"description": "All properties defined in type alaises and interfaces",
"type": "string",
"const": "typeProperty"
},
{
"description": "All setters defined in type alaises and interfaces",
"type": "string",
"const": "typeSetter"
},
{
"description": "All methods defined in type alaises and interfaces",
"type": "string",
"const": "typeMethod"
}
]
},
"LineEnding": {
"oneOf": [
{
"description": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos",
"type": "string",
"const": "lf"
},
{
"description": "Carriage Return + Line Feed characters (\\r\\n), common on Windows",
"type": "string",
"const": "crlf"
},
{
"description": "Carriage Return character only (\\r), used very rarely",
"type": "string",
"const": "cr"
},
{
"description": "Automatically use CRLF on Windows and LF on other platforms",
"type": "string",
"const": "auto"
}
]
},
"LineWidth": {
"description": "Sets the preferred maximum line width used when deciding where to wrap code. Some content, such\nas long unbreakable strings, may still exceed this width.\n\nAccepted values range from 1 through 320.",
"type": "integer",
"format": "uint16",
"maximum": 320,
"minimum": 1
},
"LinterConfiguration": {
"type": "object",
"properties": {
"domains": {
"description": "Configures rules associated with a framework, library, project-wide analysis, or type\nanalysis. Keys are domain names and values are `all`, `recommended`, or `none`.\nEnabling rules from the `project` or `types` domains activates project and dependency\nscanning. The `types` domain also enables type-aware resolution.",
"anyOf": [{ "$ref": "#/$defs/RuleDomains" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the linter. Defaults to `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns selecting files to lint. If omitted, all files selected by\n`files.includes` remain eligible for linting. An empty list selects no files. This option can\nonly narrow the files selected by `files.includes`.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"rules": {
"description": "The lint-rule configuration.",
"anyOf": [{ "$ref": "#/$defs/Rules" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"MarkdownConfiguration": {
"description": "Options applied to Markdown files",
"type": "object",
"properties": {
"analyzeEmbeds": {
"description": "Runs the linter and assist actions on the code inside fenced code blocks, frontmatter, and\nHTML blocks, with the rules and actions of the code's language. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"formatter": {
"description": "Formatter options",
"anyOf": [
{ "$ref": "#/$defs/MarkdownFormatterConfiguration" },
{ "type": "null" }
]
},
"linter": {
"description": "Linter options",
"anyOf": [
{ "$ref": "#/$defs/MarkdownLinterConfiguration" },
{ "type": "null" }
]
},
"parser": {
"description": "Parsing options",
"anyOf": [
{ "$ref": "#/$defs/MarkdownParserConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"MarkdownFormatterConfiguration": {
"description": "Options that change how the Markdown formatter behaves",
"type": "object",
"properties": {
"enabled": {
"description": "Control the formatter for Markdown (and its super languages) files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"formatEmbeds": {
"description": "Formats the code inside fenced code blocks, frontmatter, and HTML blocks with the formatter\nof the code's language. Defaults to `true`.\n\nA block with a syntax error stays as written, and Biome still formats the rest of the file.\n\nWhen this option is `false`, Biome keeps every block as written.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentStyle": {
"description": "The indent style applied to Markdown files.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The size of the indentation applied to Markdown files. Defaults to 2.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The type of line ending applied to Markdown (and its super languages) files. `auto` uses CRLF on Windows and LF on other platforms.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "What's the max width of a line applied to Markdown files. Defaults to 80.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"proseWrap": {
"description": "Controls whether Biome keeps, adds, or removes line breaks in Markdown paragraphs.\n\nManual line breaks are always kept. In Markdown, a manual line break is created by ending a\nline with two spaces or a backslash.",
"anyOf": [{ "$ref": "#/$defs/ProseWrap" }, { "type": "null" }]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- https://thoughtbot.com/blog/no-newline-at-end-of-file\n- https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804\n- https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files\n\nDisable the option at your own risk.\n\nDefaults to true.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"MarkdownLinterConfiguration": {
"description": "Options that change how the Markdown linter behaves",
"type": "object",
"properties": {
"enabled": {
"description": "Control the linter for Markdown files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"MarkdownParserConfiguration": {
"description": "Options that change how the Markdown parser behaves",
"type": "object",
"properties": {
"cjkFriendlyEmphasis": {
"description": "Recognizes bold, italic, and strikethrough markers placed directly next to Chinese, Japanese, or Korean text. Defaults to `false`.\n\nStandard Markdown doesn't treat `**テスト。**テスト` as bold text, because the closing `**`\nis between a punctuation mark and a letter with no space around it. Languages that don't\nput spaces between words run into this often. When enabled, Biome follows the\n[CommonMark CJK-friendly amendments](https://github.com/tats-u/markdown-cjk-friendly/blob/main/specification.md)\nand treats such text as bold or italic. The option applies to `*`, `_`, and `~~` markers.\nAfter a variation selector (an invisible character that picks a glyph style for the\ncharacter before it), Biome classifies a marker by the character before the selector.\n\nThe option can also change markers that aren't next to Chinese, Japanese, or Korean text,\nbecause a marker that can now open or close formatting can take another marker's partner\nin the same paragraph, heading, or table cell. For example, standard Markdown shows\n`**テスト。**テスト a**` with `テスト a` in bold. With the option enabled, `テスト。` is bold\nand the last `**` is shown as written.\n\nThe formatter and the linter both use this reading of the document. Enable the option only\nwhen the tool that renders your Markdown also supports these amendments. Otherwise, Biome\ntreats as bold some text that your renderer shows with literal `**`, and formatting can\nchange what your renderer shows. For example, the option makes `__` after a variation\nselector a bold marker, and the formatter rewrites it as `**`, which standard Markdown\nshows as bold even where it showed the original `__` as written.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"frontmatter": {
"description": "Enables parsing frontmatter at the start of the file. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"gfm": {
"description": "Enables GitHub Flavored Markdown extensions. Defaults to `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"MaxSize": { "type": "integer", "format": "uint64", "minimum": 1 },
"MethodSignatureStyle": {
"oneOf": [
{
"description": "Enforce use of property-style signatures (`methodName: (args) => returnType`).",
"type": "string",
"const": "property"
},
{
"description": "Enforce use of method-style signatures (`methodName(args): returnType`).",
"type": "string",
"const": "method"
}
]
},
"Modifiers": {
"type": "array",
"items": { "$ref": "#/$defs/RestrictedModifier" },
"uniqueItems": true
},
"NegatableImportKindMatcher": {
"type": "string",
"enum": ["bare", "!bare"]
},
"NegatablePredefinedSourceMatcher": {
"type": "string",
"enum": [
":ALIAS:",
":BUN:",
":NODE:",
":PACKAGE:",
":PACKAGE_WITH_PROTOCOL:",
":PATH:",
":STYLE:",
":URL:",
"!:ALIAS:",
"!:BUN:",
"!:NODE:",
"!:PACKAGE:",
"!:PACKAGE_WITH_PROTOCOL:",
"!:PATH:",
"!:STYLE:",
"!:URL:"
]
},
"NoAccessKeyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAccessKeyOptions" }
]
},
"NoAccessKeyOptions": { "type": "object", "additionalProperties": false },
"NoAccidentalBitwiseOperatorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAccidentalBitwiseOperatorsOptions" }
]
},
"NoAccidentalBitwiseOperatorsOptions": {
"type": "object",
"additionalProperties": false
},
"NoAccumulatingSpreadConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAccumulatingSpreadOptions" }
]
},
"NoAccumulatingSpreadOptions": {
"type": "object",
"additionalProperties": false
},
"NoAdjacentSpacesInRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAdjacentSpacesInRegexOptions" }
]
},
"NoAdjacentSpacesInRegexOptions": {
"type": "object",
"additionalProperties": false
},
"NoAlertConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAlertOptions" }
]
},
"NoAlertOptions": { "type": "object", "additionalProperties": false },
"NoAmbiguousAnchorTextConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAmbiguousAnchorTextOptions" }
]
},
"NoAmbiguousAnchorTextOptions": {
"type": "object",
"properties": {
"words": {
"description": "It allows users to modify the strings that can be checked for in the anchor text. Useful for specifying other words in other languages",
"type": ["array", "null"],
"default": null,
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoApproximativeNumericConstantConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoApproximativeNumericConstantOptions" }
]
},
"NoApproximativeNumericConstantOptions": {
"type": "object",
"additionalProperties": false
},
"NoArgumentsCallerOrCalleeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoArgumentsCallerOrCalleeOptions" }
]
},
"NoArgumentsCallerOrCalleeOptions": {
"type": "object",
"additionalProperties": false
},
"NoArgumentsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoArgumentsOptions" }
]
},
"NoArgumentsOptions": { "type": "object", "additionalProperties": false },
"NoAriaHiddenOnFocusableConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAriaHiddenOnFocusableOptions" }
]
},
"NoAriaHiddenOnFocusableOptions": {
"type": "object",
"additionalProperties": false
},
"NoAriaUnsupportedElementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAriaUnsupportedElementsOptions" }
]
},
"NoAriaUnsupportedElementsOptions": {
"type": "object",
"additionalProperties": false
},
"NoArrayIndexKeyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoArrayIndexKeyOptions" }
]
},
"NoArrayIndexKeyOptions": {
"type": "object",
"additionalProperties": false
},
"NoAssignInExpressionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAssignInExpressionsOptions" }
]
},
"NoAssignInExpressionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoAstroConflictingSetDirectivesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAstroConflictingSetDirectivesOptions" }
]
},
"NoAstroConflictingSetDirectivesOptions": {
"type": "object",
"additionalProperties": false
},
"NoAstroSetHtmlDirectiveConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAstroSetHtmlDirectiveOptions" }
]
},
"NoAstroSetHtmlDirectiveOptions": {
"type": "object",
"additionalProperties": false
},
"NoAsyncPromiseExecutorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAsyncPromiseExecutorOptions" }
]
},
"NoAsyncPromiseExecutorOptions": {
"type": "object",
"additionalProperties": false
},
"NoAutofocusConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAutofocusOptions" }
]
},
"NoAutofocusOptions": { "type": "object", "additionalProperties": false },
"NoAwaitInLoopsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoAwaitInLoopsOptions" }
]
},
"NoAwaitInLoopsOptions": {
"type": "object",
"additionalProperties": false
},
"NoBannedTypesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBannedTypesOptions" }
]
},
"NoBannedTypesOptions": { "type": "object", "additionalProperties": false },
"NoBarrelFileConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBarrelFileOptions" }
]
},
"NoBarrelFileOptions": { "type": "object", "additionalProperties": false },
"NoBaseToStringConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBaseToStringOptions" }
]
},
"NoBaseToStringOptions": {
"type": "object",
"properties": {
"ignoredTypeNames": {
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoBeforeInteractiveScriptOutsideDocumentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{
"$ref": "#/$defs/RuleWithNoBeforeInteractiveScriptOutsideDocumentOptions"
}
]
},
"NoBeforeInteractiveScriptOutsideDocumentOptions": {
"type": "object",
"additionalProperties": false
},
"NoBiomeFirstExceptionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBiomeFirstExceptionOptions" }
]
},
"NoBiomeFirstExceptionOptions": {
"type": "object",
"additionalProperties": false
},
"NoBitwiseOperatorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBitwiseOperatorsOptions" }
]
},
"NoBitwiseOperatorsOptions": {
"type": "object",
"properties": {
"allow": {
"description": "Allows a list of bitwise operators to be used as exceptions.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoBlankTargetConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBlankTargetOptions" }
]
},
"NoBlankTargetOptions": {
"type": "object",
"properties": {
"allowDomains": {
"description": "List of domains where `target=\"_blank\"` is allowed without\n`rel=\"noopener\"`.",
"type": "array",
"items": { "type": "string" }
},
"allowNoReferrer": {
"description": "Whether `noreferrer` is allowed in addition to `noopener`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoBunModulesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoBunModulesOptions" }
]
},
"NoBunModulesOptions": { "type": "object", "additionalProperties": false },
"NoCatchAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoCatchAssignOptions" }
]
},
"NoCatchAssignOptions": { "type": "object", "additionalProperties": false },
"NoChildrenPropConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoChildrenPropOptions" }
]
},
"NoChildrenPropOptions": {
"type": "object",
"additionalProperties": false
},
"NoClassAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoClassAssignOptions" }
]
},
"NoClassAssignOptions": { "type": "object", "additionalProperties": false },
"NoCommaOperatorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoCommaOperatorOptions" }
]
},
"NoCommaOperatorOptions": {
"type": "object",
"additionalProperties": false
},
"NoCommentTextConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoCommentTextOptions" }
]
},
"NoCommentTextOptions": { "type": "object", "additionalProperties": false },
"NoCommonJsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoCommonJsOptions" }
]
},
"NoCommonJsOptions": { "type": "object", "additionalProperties": false },
"NoCompareNegZeroConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoCompareNegZeroOptions" }
]
},
"NoCompareNegZeroOptions": {
"type": "object",
"additionalProperties": false
},
"NoComponentHookFactoriesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoComponentHookFactoriesOptions" }
]
},
"NoComponentHookFactoriesOptions": {
"type": "object",
"additionalProperties": false
},
"NoConditionalExpectConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConditionalExpectOptions" }
]
},
"NoConditionalExpectOptions": {
"type": "object",
"additionalProperties": false
},
"NoConfusingLabelsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConfusingLabelsOptions" }
]
},
"NoConfusingLabelsOptions": {
"type": "object",
"properties": {
"allowedLabels": {
"description": "A list of (non-confusing) labels that should be allowed",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoConfusingVoidTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConfusingVoidTypeOptions" }
]
},
"NoConfusingVoidTypeOptions": {
"type": "object",
"additionalProperties": false
},
"NoConsoleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConsoleOptions" }
]
},
"NoConsoleOptions": {
"type": "object",
"properties": {
"allow": {
"description": "Allowed calls on the console object.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoConstAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConstAssignOptions" }
]
},
"NoConstAssignOptions": { "type": "object", "additionalProperties": false },
"NoConstEnumConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConstEnumOptions" }
]
},
"NoConstEnumOptions": { "type": "object", "additionalProperties": false },
"NoConstantBinaryExpressionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConstantBinaryExpressionsOptions" }
]
},
"NoConstantBinaryExpressionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoConstantConditionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConstantConditionOptions" }
]
},
"NoConstantConditionOptions": {
"type": "object",
"additionalProperties": false
},
"NoConstantMathMinMaxClampConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConstantMathMinMaxClampOptions" }
]
},
"NoConstantMathMinMaxClampOptions": {
"type": "object",
"additionalProperties": false
},
"NoConstructorReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoConstructorReturnOptions" }
]
},
"NoConstructorReturnOptions": {
"type": "object",
"additionalProperties": false
},
"NoContinueConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoContinueOptions" }
]
},
"NoContinueOptions": { "type": "object", "additionalProperties": false },
"NoControlCharactersInRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoControlCharactersInRegexOptions" }
]
},
"NoControlCharactersInRegexOptions": {
"type": "object",
"additionalProperties": false
},
"NoDangerouslySetInnerHtmlConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDangerouslySetInnerHtmlOptions" }
]
},
"NoDangerouslySetInnerHtmlOptions": {
"type": "object",
"additionalProperties": false
},
"NoDangerouslySetInnerHtmlWithChildrenConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{
"$ref": "#/$defs/RuleWithNoDangerouslySetInnerHtmlWithChildrenOptions"
}
]
},
"NoDangerouslySetInnerHtmlWithChildrenOptions": {
"type": "object",
"additionalProperties": false
},
"NoDebuggerConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDebuggerOptions" }
]
},
"NoDebuggerOptions": { "type": "object", "additionalProperties": false },
"NoDefaultExportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDefaultExportOptions" }
]
},
"NoDefaultExportOptions": {
"type": "object",
"additionalProperties": false
},
"NoDeleteConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDeleteOptions" }
]
},
"NoDeleteOptions": { "type": "object", "additionalProperties": false },
"NoDeprecatedImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDeprecatedImportsOptions" }
]
},
"NoDeprecatedImportsOptions": {
"type": "object",
"additionalProperties": false
},
"NoDeprecatedMediaTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDeprecatedMediaTypeOptions" }
]
},
"NoDeprecatedMediaTypeOptions": {
"type": "object",
"properties": {
"allow": {
"description": "Media types to allow (case-insensitive).",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoDescendingSpecificityConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDescendingSpecificityOptions" }
]
},
"NoDescendingSpecificityOptions": {
"type": "object",
"additionalProperties": false
},
"NoDistractingElementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDistractingElementsOptions" }
]
},
"NoDistractingElementsOptions": {
"type": "object",
"additionalProperties": false
},
"NoDivRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDivRegexOptions" }
]
},
"NoDivRegexOptions": { "type": "object", "additionalProperties": false },
"NoDocumentCookieConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDocumentCookieOptions" }
]
},
"NoDocumentCookieOptions": {
"type": "object",
"additionalProperties": false
},
"NoDocumentImportInPageConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDocumentImportInPageOptions" }
]
},
"NoDocumentImportInPageOptions": {
"type": "object",
"additionalProperties": false
},
"NoDoneCallbackConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDoneCallbackOptions" }
]
},
"NoDoneCallbackOptions": {
"type": "object",
"additionalProperties": false
},
"NoDoubleComparisonConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDoubleComparisonOptions" }
]
},
"NoDoubleComparisonOptions": {
"type": "object",
"additionalProperties": false
},
"NoDoubleEqualsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDoubleEqualsOptions" }
]
},
"NoDoubleEqualsOptions": {
"type": "object",
"properties": {
"ignoreNull": {
"description": "If `true`, an exception is made when comparing with `null`, as it's often relied on to check\nboth for `null` or `undefined`.\n\nIf `false`, no such exception will be made.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoDrizzleDeleteWithoutWhereConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDrizzleDeleteWithoutWhereOptions" }
]
},
"NoDrizzleDeleteWithoutWhereOptions": {
"type": "object",
"properties": {
"drizzleObjectName": {
"description": "List of variable names to consider as Drizzle ORM instances.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoDrizzleUpdateWithoutWhereConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDrizzleUpdateWithoutWhereOptions" }
]
},
"NoDrizzleUpdateWithoutWhereOptions": {
"type": "object",
"properties": {
"drizzleObjectName": {
"description": "List of variable names to consider as Drizzle ORM instances.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoDuplicateArgumentNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateArgumentNamesOptions" }
]
},
"NoDuplicateArgumentNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateAtImportRulesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateAtImportRulesOptions" }
]
},
"NoDuplicateAtImportRulesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateAttributesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateAttributesOptions" }
]
},
"NoDuplicateAttributesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateCaseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateCaseOptions" }
]
},
"NoDuplicateCaseOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateClassMembersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateClassMembersOptions" }
]
},
"NoDuplicateClassMembersOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithNoDuplicateClassesOptions" }
]
},
"NoDuplicateClassesOptions": {
"description": "Options for the `noDuplicateClasses` assist action.\n\nControls which JSX attributes and utility functions are checked for duplicate classes.",
"type": "object",
"properties": {
"attributes": {
"description": "Additional attributes whose classes are checked for duplicates.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"functions": {
"description": "Names of the functions or tagged templates whose classes are checked for\nduplicates.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoDuplicateCustomPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateCustomPropertiesOptions" }
]
},
"NoDuplicateCustomPropertiesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateDependenciesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateDependenciesOptions" }
]
},
"NoDuplicateDependenciesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateElseIfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateElseIfOptions" }
]
},
"NoDuplicateElseIfOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateEnumValueNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateEnumValueNamesOptions" }
]
},
"NoDuplicateEnumValueNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateEnumValuesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateEnumValuesOptions" }
]
},
"NoDuplicateEnumValuesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateFieldDefinitionNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateFieldDefinitionNamesOptions" }
]
},
"NoDuplicateFieldDefinitionNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateFieldsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateFieldsOptions" }
]
},
"NoDuplicateFieldsOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateFontNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateFontNamesOptions" }
]
},
"NoDuplicateFontNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateGraphqlOperationNameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateGraphqlOperationNameOptions" }
]
},
"NoDuplicateGraphqlOperationNameOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateInputFieldNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateInputFieldNamesOptions" }
]
},
"NoDuplicateInputFieldNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateJsxPropsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateJsxPropsOptions" }
]
},
"NoDuplicateJsxPropsOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateMapKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateMapKeysOptions" }
]
},
"NoDuplicateMapKeysOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateObjectKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateObjectKeysOptions" }
]
},
"NoDuplicateObjectKeysOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateParametersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateParametersOptions" }
]
},
"NoDuplicateParametersOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicatePropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicatePropertiesOptions" }
]
},
"NoDuplicatePropertiesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateSelectorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateSelectorsOptions" }
]
},
"NoDuplicateSelectorsKeyframeBlockConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateSelectorsKeyframeBlockOptions" }
]
},
"NoDuplicateSelectorsKeyframeBlockOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateSelectorsOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateTestHooksConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateTestHooksOptions" }
]
},
"NoDuplicateTestHooksOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicateVariableNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicateVariableNamesOptions" }
]
},
"NoDuplicateVariableNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoDuplicatedSpreadPropsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDuplicatedSpreadPropsOptions" }
]
},
"NoDuplicatedSpreadPropsOptions": {
"type": "object",
"additionalProperties": false
},
"NoDynamicNamespaceImportAccessConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoDynamicNamespaceImportAccessOptions" }
]
},
"NoDynamicNamespaceImportAccessOptions": {
"type": "object",
"additionalProperties": false
},
"NoEmptyBlockConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyBlockOptions" }
]
},
"NoEmptyBlockOptions": { "type": "object", "additionalProperties": false },
"NoEmptyBlockStatementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyBlockStatementsOptions" }
]
},
"NoEmptyBlockStatementsOptions": {
"type": "object",
"additionalProperties": false
},
"NoEmptyCharacterClassInRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyCharacterClassInRegexOptions" }
]
},
"NoEmptyCharacterClassInRegexOptions": {
"type": "object",
"additionalProperties": false
},
"NoEmptyInterfaceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyInterfaceOptions" }
]
},
"NoEmptyInterfaceOptions": {
"type": "object",
"additionalProperties": false
},
"NoEmptyObjectKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyObjectKeysOptions" }
]
},
"NoEmptyObjectKeysOptions": {
"type": "object",
"additionalProperties": false
},
"NoEmptyPatternConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyPatternOptions" }
]
},
"NoEmptyPatternOptions": {
"type": "object",
"additionalProperties": false
},
"NoEmptySourceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptySourceOptions" }
]
},
"NoEmptySourceOptions": {
"type": "object",
"properties": {
"allowComments": {
"description": "Whether comments are considered meaningful",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoEmptyTypeParametersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEmptyTypeParametersOptions" }
]
},
"NoEmptyTypeParametersOptions": {
"type": "object",
"additionalProperties": false
},
"NoEnumConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEnumOptions" }
]
},
"NoEnumOptions": { "type": "object", "additionalProperties": false },
"NoEqualsToNullConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEqualsToNullOptions" }
]
},
"NoEqualsToNullOptions": {
"type": "object",
"additionalProperties": false
},
"NoEvolvingTypesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoEvolvingTypesOptions" }
]
},
"NoEvolvingTypesOptions": {
"type": "object",
"additionalProperties": false
},
"NoExcessiveClassesPerFileConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveClassesPerFileOptions" }
]
},
"NoExcessiveClassesPerFileOptions": {
"type": "object",
"properties": {
"maxClasses": {
"description": "The maximum number of classes allowed in a file.",
"type": ["integer", "null"],
"format": "uint16",
"maximum": 65535,
"minimum": 1
}
},
"additionalProperties": false
},
"NoExcessiveCognitiveComplexityConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveCognitiveComplexityOptions" }
]
},
"NoExcessiveCognitiveComplexityOptions": {
"type": "object",
"properties": {
"maxAllowedComplexity": {
"description": "The maximum complexity score that we allow. Anything higher is considered excessive.",
"type": ["integer", "null"],
"format": "uint8",
"maximum": 255,
"minimum": 1
}
},
"additionalProperties": false
},
"NoExcessiveLinesPerFileConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveLinesPerFileOptions" }
]
},
"NoExcessiveLinesPerFileOptions": {
"type": "object",
"properties": {
"maxLines": {
"description": "The maximum number of lines allowed in a file.",
"type": ["integer", "null"],
"format": "uint16",
"maximum": 65535,
"minimum": 1
},
"skipBlankLines": {
"description": "When this option is set to `true`, blank lines are not counted towards the maximum line limit.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoExcessiveLinesPerFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveLinesPerFunctionOptions" }
]
},
"NoExcessiveLinesPerFunctionOptions": {
"type": "object",
"properties": {
"maxLines": {
"description": "The maximum number of lines allowed in a function body.",
"type": ["integer", "null"],
"format": "uint16",
"maximum": 65535,
"minimum": 1
},
"skipBlankLines": {
"description": "When this options is set to `true`, blank lines in the function body are not counted towards the maximum line limit.",
"type": ["boolean", "null"]
},
"skipIifes": {
"description": "When this option is set to `true`, Immediately Invoked Function Expressions (IIFEs) are not checked for the maximum line limit.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoExcessiveNestedCallbacksConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveNestedCallbacksOptions" }
]
},
"NoExcessiveNestedCallbacksOptions": {
"type": "object",
"properties": {
"max": {
"description": "Maximum callback nesting depth allowed (default: 5)",
"type": ["integer", "null"],
"format": "uint8",
"maximum": 255,
"minimum": 0
}
},
"additionalProperties": false
},
"NoExcessiveNestedTestSuitesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveNestedTestSuitesOptions" }
]
},
"NoExcessiveNestedTestSuitesOptions": {
"type": "object",
"additionalProperties": false
},
"NoExcessiveSelectorClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveSelectorClassesOptions" }
]
},
"NoExcessiveSelectorClassesOptions": {
"type": "object",
"properties": {
"maxClasses": {
"description": "The maximum number of class selectors allowed in a single selector.\n\nThis option is required to enable the rule.\nUse `0` to disallow class selectors entirely.",
"type": ["integer", "null"],
"format": "uint16",
"maximum": 65535,
"minimum": 0
}
},
"additionalProperties": false
},
"NoExcessiveStatementsPerFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExcessiveStatementsPerFunctionOptions" }
]
},
"NoExcessiveStatementsPerFunctionOptions": {
"type": "object",
"properties": {
"ignoreTopLevelFunctions": {
"description": "When this option is set to `true`, a function that isn't nested in another function is\nnot checked, as long as it's the only such function in the file (default: false).",
"type": ["boolean", "null"]
},
"max": {
"description": "The maximum number of statements allowed in a function (default: 10).",
"type": ["integer", "null"],
"format": "uint16",
"maximum": 65535,
"minimum": 0
}
},
"additionalProperties": false
},
"NoExplicitAnyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExplicitAnyOptions" }
]
},
"NoExplicitAnyOptions": { "type": "object", "additionalProperties": false },
"NoExportedImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExportedImportsOptions" }
]
},
"NoExportedImportsOptions": {
"type": "object",
"additionalProperties": false
},
"NoExportsInTestConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExportsInTestOptions" }
]
},
"NoExportsInTestOptions": {
"type": "object",
"additionalProperties": false
},
"NoExtendNativeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExtendNativeOptions" }
]
},
"NoExtendNativeOptions": {
"description": "Options for the `noExtendNative` rule.",
"type": "object",
"properties": {
"ignore": {
"description": "Built-in names to ignore. Extending the prototype of an ignored\nname will not trigger this rule.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoExtraBooleanCastConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExtraBooleanCastOptions" }
]
},
"NoExtraBooleanCastOptions": {
"type": "object",
"additionalProperties": false
},
"NoExtraNonNullAssertionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoExtraNonNullAssertionOptions" }
]
},
"NoExtraNonNullAssertionOptions": {
"type": "object",
"additionalProperties": false
},
"NoFallthroughSwitchClauseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoFallthroughSwitchClauseOptions" }
]
},
"NoFallthroughSwitchClauseOptions": {
"type": "object",
"additionalProperties": false
},
"NoFlatMapIdentityConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoFlatMapIdentityOptions" }
]
},
"NoFlatMapIdentityOptions": {
"type": "object",
"additionalProperties": false
},
"NoFloatingPromisesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoFloatingPromisesOptions" }
]
},
"NoFloatingPromisesOptions": {
"type": "object",
"additionalProperties": false
},
"NoFocusedTestsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoFocusedTestsOptions" }
]
},
"NoFocusedTestsOptions": {
"type": "object",
"additionalProperties": false
},
"NoForEachConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoForEachOptions" }
]
},
"NoForEachOptions": {
"type": "object",
"properties": {
"allowedIdentifiers": {
"description": "A list of variable names allowed for `forEach` calls.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoForInConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoForInOptions" }
]
},
"NoForInOptions": { "type": "object", "additionalProperties": false },
"NoFunctionAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoFunctionAssignOptions" }
]
},
"NoFunctionAssignOptions": {
"type": "object",
"additionalProperties": false
},
"NoGlobalAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoGlobalAssignOptions" }
]
},
"NoGlobalAssignOptions": {
"type": "object",
"additionalProperties": false
},
"NoGlobalDirnameFilenameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoGlobalDirnameFilenameOptions" }
]
},
"NoGlobalDirnameFilenameOptions": {
"type": "object",
"additionalProperties": false
},
"NoGlobalEvalConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoGlobalEvalOptions" }
]
},
"NoGlobalEvalOptions": { "type": "object", "additionalProperties": false },
"NoGlobalIsFiniteConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoGlobalIsFiniteOptions" }
]
},
"NoGlobalIsFiniteOptions": {
"type": "object",
"additionalProperties": false
},
"NoGlobalIsNanConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoGlobalIsNanOptions" }
]
},
"NoGlobalIsNanOptions": { "type": "object", "additionalProperties": false },
"NoGlobalObjectCallsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoGlobalObjectCallsOptions" }
]
},
"NoGlobalObjectCallsOptions": {
"type": "object",
"additionalProperties": false
},
"NoHeadElementConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoHeadElementOptions" }
]
},
"NoHeadElementOptions": { "type": "object", "additionalProperties": false },
"NoHeadImportInDocumentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoHeadImportInDocumentOptions" }
]
},
"NoHeadImportInDocumentOptions": {
"type": "object",
"additionalProperties": false
},
"NoHeaderScopeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoHeaderScopeOptions" }
]
},
"NoHeaderScopeOptions": { "type": "object", "additionalProperties": false },
"NoHexColorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoHexColorsOptions" }
]
},
"NoHexColorsOptions": { "type": "object", "additionalProperties": false },
"NoIdenticalTestTitleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoIdenticalTestTitleOptions" }
]
},
"NoIdenticalTestTitleOptions": {
"type": "object",
"additionalProperties": false
},
"NoImgElementConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImgElementOptions" }
]
},
"NoImgElementOptions": { "type": "object", "additionalProperties": false },
"NoImplicitAnyLetConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImplicitAnyLetOptions" }
]
},
"NoImplicitAnyLetOptions": {
"type": "object",
"additionalProperties": false
},
"NoImplicitBooleanConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImplicitBooleanOptions" }
]
},
"NoImplicitBooleanOptions": {
"type": "object",
"additionalProperties": false
},
"NoImplicitCoercionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImplicitCoercionsOptions" }
]
},
"NoImplicitCoercionsOptions": {
"type": "object",
"properties": {
"allowDoubleNegation": {
"description": "Whether to allow implicitly coercing values to booleans via `!!value`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoImpliedEvalConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImpliedEvalOptions" }
]
},
"NoImpliedEvalOptions": { "type": "object", "additionalProperties": false },
"NoImportAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImportAssignOptions" }
]
},
"NoImportAssignOptions": {
"type": "object",
"additionalProperties": false
},
"NoImportCyclesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImportCyclesOptions" }
]
},
"NoImportCyclesOptions": {
"type": "object",
"properties": {
"ignoreTypes": {
"description": "Ignores type-only imports when finding an import cycle. A type-only import (`import type`)\nwill be removed by the compiler, so it cuts an import cycle at runtime. Note that named type\nimports (`import { type Foo }`) aren't considered as type-only because it's not removed by\nthe compiler if the `verbatimModuleSyntax` option is enabled. Enabled by default.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoImportantInKeyframeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImportantInKeyframeOptions" }
]
},
"NoImportantInKeyframeOptions": {
"type": "object",
"additionalProperties": false
},
"NoImportantStylesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoImportantStylesOptions" }
]
},
"NoImportantStylesOptions": {
"type": "object",
"additionalProperties": false
},
"NoIncrementDecrementConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoIncrementDecrementOptions" }
]
},
"NoIncrementDecrementOptions": {
"type": "object",
"properties": {
"allowForLoopAfterthoughts": {
"description": "Allows unary operators ++ and -- in the afterthought (final expression) of a for loop.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoInferrableTypesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInferrableTypesOptions" }
]
},
"NoInferrableTypesOptions": {
"type": "object",
"additionalProperties": false
},
"NoInlineStylesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInlineStylesOptions" }
]
},
"NoInlineStylesOptions": {
"type": "object",
"additionalProperties": false
},
"NoInnerDeclarationsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInnerDeclarationsOptions" }
]
},
"NoInnerDeclarationsOptions": {
"type": "object",
"additionalProperties": false
},
"NoInteractiveElementToNoninteractiveRoleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{
"$ref": "#/$defs/RuleWithNoInteractiveElementToNoninteractiveRoleOptions"
}
]
},
"NoInteractiveElementToNoninteractiveRoleOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidBuiltinInstantiationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidBuiltinInstantiationOptions" }
]
},
"NoInvalidBuiltinInstantiationOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidConstructorSuperConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidConstructorSuperOptions" }
]
},
"NoInvalidConstructorSuperOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidDirectionInLinearGradientConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidDirectionInLinearGradientOptions" }
]
},
"NoInvalidDirectionInLinearGradientOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidFileInputAcceptConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidFileInputAcceptOptions" }
]
},
"NoInvalidFileInputAcceptOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidGridAreasConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidGridAreasOptions" }
]
},
"NoInvalidGridAreasOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidPositionAtImportRuleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidPositionAtImportRuleOptions" }
]
},
"NoInvalidPositionAtImportRuleOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidPropertyInitValueConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidPropertyInitValueOptions" }
]
},
"NoInvalidPropertyInitValueOptions": {
"type": "object",
"additionalProperties": false
},
"NoInvalidThisConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidThisOptions" }
]
},
"NoInvalidThisOptions": { "type": "object", "additionalProperties": false },
"NoInvalidUseBeforeDeclarationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoInvalidUseBeforeDeclarationOptions" }
]
},
"NoInvalidUseBeforeDeclarationOptions": {
"type": "object",
"additionalProperties": false
},
"NoIrregularWhitespaceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoIrregularWhitespaceOptions" }
]
},
"NoIrregularWhitespaceOptions": {
"type": "object",
"additionalProperties": false
},
"NoJsRestrictedPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoJsRestrictedPropertiesOptions" }
]
},
"NoJsRestrictedPropertiesOptions": {
"type": "object",
"properties": {
"entries": {
"description": "Restriction entries for object/property access.\n\nEach entry can describe one of these cases:\n\n- exact object/property match:\n `{ \"object\": \"require\", \"property\": \"ensure\" }`\n- property-wide restriction with allowed objects:\n `{ \"property\": \"__defineGetter__\", \"allowObjects\": [\"Object\"] }`\n- object-wide restriction with allowed properties:\n `{ \"object\": \"arguments\", \"allowProperties\": [\"length\"] }`",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/RestrictedPropertyEntry" }
}
},
"additionalProperties": false
},
"NoJsonUnsafeValuesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoJsonUnsafeValuesOptions" }
]
},
"NoJsonUnsafeValuesOptions": {
"type": "object",
"additionalProperties": false
},
"NoJsxLeakedDollarConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoJsxLeakedDollarOptions" }
]
},
"NoJsxLeakedDollarOptions": {
"type": "object",
"additionalProperties": false
},
"NoJsxLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoJsxLiteralsOptions" }
]
},
"NoJsxLiteralsOptions": {
"type": "object",
"properties": {
"allowedStrings": {
"description": "An array of strings that won't trigger the rule. Surrounding whitespace is ignored.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreProps": {
"description": "When enabled, strings inside props are always ignored",
"type": ["boolean", "null"]
},
"noStrings": {
"description": "When enabled, also flag string literals inside JSX expressions and attributes",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoJsxNamespaceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoJsxNamespaceOptions" }
]
},
"NoJsxNamespaceOptions": {
"type": "object",
"additionalProperties": false
},
"NoJsxPropsBindConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoJsxPropsBindOptions" }
]
},
"NoJsxPropsBindOptions": {
"type": "object",
"additionalProperties": false
},
"NoLabelVarConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoLabelVarOptions" }
]
},
"NoLabelVarOptions": { "type": "object", "additionalProperties": false },
"NoLabelWithoutControlConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoLabelWithoutControlOptions" }
]
},
"NoLabelWithoutControlOptions": {
"type": "object",
"properties": {
"inputComponents": {
"description": "Array of component names that should be considered the same as an `input` element.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"labelAttributes": {
"description": "Array of attributes that should be treated as the `label` accessible text content.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"labelComponents": {
"description": "Array of component names that should be considered the same as a `label` element.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoLeakedRenderConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoLeakedRenderOptions" }
]
},
"NoLeakedRenderOptions": { "type": "object" },
"NoLoopFuncConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoLoopFuncOptions" }
]
},
"NoLoopFuncOptions": { "type": "object", "additionalProperties": false },
"NoMagicNumbersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMagicNumbersOptions" }
]
},
"NoMagicNumbersOptions": {
"type": "object",
"additionalProperties": false
},
"NoMeaninglessVoidOperatorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMeaninglessVoidOperatorOptions" }
]
},
"NoMeaninglessVoidOperatorOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisleadingCharacterClassConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisleadingCharacterClassOptions" }
]
},
"NoMisleadingCharacterClassOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisleadingInstantiatorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisleadingInstantiatorOptions" }
]
},
"NoMisleadingInstantiatorOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisleadingReturnTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisleadingReturnTypeOptions" }
]
},
"NoMisleadingReturnTypeOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisplacedAssertionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisplacedAssertionOptions" }
]
},
"NoMisplacedAssertionOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisplacedListElementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisplacedListElementsOptions" }
]
},
"NoMisplacedListElementsOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisrefactoredShorthandAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisrefactoredShorthandAssignOptions" }
]
},
"NoMisrefactoredShorthandAssignOptions": {
"type": "object",
"additionalProperties": false
},
"NoMissingVarFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMissingVarFunctionOptions" }
]
},
"NoMissingVarFunctionOptions": {
"type": "object",
"additionalProperties": false
},
"NoMisusedPromisesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMisusedPromisesOptions" }
]
},
"NoMisusedPromisesOptions": {
"type": "object",
"additionalProperties": false
},
"NoMultiAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMultiAssignOptions" }
]
},
"NoMultiAssignOptions": { "type": "object", "additionalProperties": false },
"NoMultilineStringConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoMultilineStringOptions" }
]
},
"NoMultilineStringOptions": {
"type": "object",
"additionalProperties": false
},
"NoNamespaceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNamespaceOptions" }
]
},
"NoNamespaceImportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNamespaceImportOptions" }
]
},
"NoNamespaceImportOptions": {
"type": "object",
"additionalProperties": false
},
"NoNamespaceOptions": { "type": "object", "additionalProperties": false },
"NoNegationElseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNegationElseOptions" }
]
},
"NoNegationElseOptions": {
"type": "object",
"additionalProperties": false
},
"NoNegationInEqualityCheckConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNegationInEqualityCheckOptions" }
]
},
"NoNegationInEqualityCheckOptions": {
"type": "object",
"additionalProperties": false
},
"NoNestedComponentDefinitionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNestedComponentDefinitionsOptions" }
]
},
"NoNestedComponentDefinitionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoNestedPromisesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNestedPromisesOptions" }
]
},
"NoNestedPromisesOptions": {
"type": "object",
"additionalProperties": false
},
"NoNestedSwitchConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNestedSwitchOptions" }
]
},
"NoNestedSwitchOptions": {
"type": "object",
"additionalProperties": false
},
"NoNestedTemplateLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNestedTemplateLiteralsOptions" }
]
},
"NoNestedTemplateLiteralsOptions": {
"type": "object",
"additionalProperties": false
},
"NoNestedTernaryConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNestedTernaryOptions" }
]
},
"NoNestedTernaryOptions": {
"type": "object",
"additionalProperties": false
},
"NoNextAsyncClientComponentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNextAsyncClientComponentOptions" }
]
},
"NoNextAsyncClientComponentOptions": {
"type": "object",
"additionalProperties": false
},
"NoNodejsModulesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNodejsModulesOptions" }
]
},
"NoNodejsModulesOptions": {
"type": "object",
"additionalProperties": false
},
"NoNonNullAssertedOptionalChainConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNonNullAssertedOptionalChainOptions" }
]
},
"NoNonNullAssertedOptionalChainOptions": {
"type": "object",
"additionalProperties": false
},
"NoNonNullAssertionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNonNullAssertionOptions" }
]
},
"NoNonNullAssertionOptions": {
"type": "object",
"additionalProperties": false
},
"NoNonScalableViewportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNonScalableViewportOptions" }
]
},
"NoNonScalableViewportOptions": {
"type": "object",
"additionalProperties": false
},
"NoNoninteractiveElementInteractionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNoninteractiveElementInteractionsOptions" }
]
},
"NoNoninteractiveElementInteractionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoNoninteractiveElementToInteractiveRoleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{
"$ref": "#/$defs/RuleWithNoNoninteractiveElementToInteractiveRoleOptions"
}
]
},
"NoNoninteractiveElementToInteractiveRoleOptions": {
"type": "object",
"additionalProperties": false
},
"NoNoninteractiveTabindexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNoninteractiveTabindexOptions" }
]
},
"NoNoninteractiveTabindexOptions": {
"type": "object",
"additionalProperties": false
},
"NoNonoctalDecimalEscapeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoNonoctalDecimalEscapeOptions" }
]
},
"NoNonoctalDecimalEscapeOptions": {
"type": "object",
"additionalProperties": false
},
"NoObjectConstructorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoObjectConstructorOptions" }
]
},
"NoObjectConstructorOptions": {
"type": "object",
"additionalProperties": false
},
"NoObsoleteTagsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoObsoleteTagsOptions" }
]
},
"NoObsoleteTagsOptions": {
"type": "object",
"additionalProperties": false
},
"NoOctalConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoOctalOptions" }
]
},
"NoOctalEscapeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoOctalEscapeOptions" }
]
},
"NoOctalEscapeOptions": { "type": "object", "additionalProperties": false },
"NoOctalOptions": { "type": "object", "additionalProperties": false },
"NoParameterAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoParameterAssignOptions" }
]
},
"NoParameterAssignOptions": {
"type": "object",
"properties": {
"propertyAssignment": {
"description": "Whether to report an error when a dependency is listed in the dependencies array but isn't used. Defaults to `allow`.",
"anyOf": [
{ "$ref": "#/$defs/PropertyAssignmentMode" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"NoParameterPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoParameterPropertiesOptions" }
]
},
"NoParameterPropertiesOptions": {
"type": "object",
"additionalProperties": false
},
"NoParametersOnlyUsedInRecursionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoParametersOnlyUsedInRecursionOptions" }
]
},
"NoParametersOnlyUsedInRecursionOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightElementHandleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightElementHandleOptions" }
]
},
"NoPlaywrightElementHandleOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightEvalConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightEvalOptions" }
]
},
"NoPlaywrightEvalOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightForceOptionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightForceOptionOptions" }
]
},
"NoPlaywrightForceOptionOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightMissingAwaitConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightMissingAwaitOptions" }
]
},
"NoPlaywrightMissingAwaitOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightNetworkidleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightNetworkidleOptions" }
]
},
"NoPlaywrightNetworkidleOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightPagePauseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightPagePauseOptions" }
]
},
"NoPlaywrightPagePauseOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightUselessAwaitConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightUselessAwaitOptions" }
]
},
"NoPlaywrightUselessAwaitOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightWaitForNavigationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightWaitForNavigationOptions" }
]
},
"NoPlaywrightWaitForNavigationOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightWaitForSelectorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightWaitForSelectorOptions" }
]
},
"NoPlaywrightWaitForSelectorOptions": {
"type": "object",
"additionalProperties": false
},
"NoPlaywrightWaitForTimeoutConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPlaywrightWaitForTimeoutOptions" }
]
},
"NoPlaywrightWaitForTimeoutOptions": {
"type": "object",
"additionalProperties": false
},
"NoPositiveTabindexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPositiveTabindexOptions" }
]
},
"NoPositiveTabindexOptions": {
"type": "object",
"additionalProperties": false
},
"NoPrecisionLossConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPrecisionLossOptions" }
]
},
"NoPrecisionLossOptions": {
"type": "object",
"additionalProperties": false
},
"NoPrivateImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPrivateImportsOptions" }
]
},
"NoPrivateImportsOptions": {
"type": "object",
"properties": {
"defaultVisibility": {
"description": "The default visibility to assume for symbols without visibility tag.\n\nDefault: **public**.",
"anyOf": [{ "$ref": "#/$defs/Visibility" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"NoProcessEnvConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoProcessEnvOptions" }
]
},
"NoProcessEnvOptions": { "type": "object", "additionalProperties": false },
"NoProcessExitConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoProcessExitOptions" }
]
},
"NoProcessExitOptions": { "type": "object", "additionalProperties": false },
"NoProcessGlobalConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoProcessGlobalOptions" }
]
},
"NoProcessGlobalOptions": {
"type": "object",
"additionalProperties": false
},
"NoPromiseExecutorReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPromiseExecutorReturnOptions" }
]
},
"NoPromiseExecutorReturnOptions": {
"type": "object",
"additionalProperties": false
},
"NoProtoConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoProtoOptions" }
]
},
"NoProtoOptions": { "type": "object", "additionalProperties": false },
"NoPrototypeBuiltinsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoPrototypeBuiltinsOptions" }
]
},
"NoPrototypeBuiltinsOptions": {
"type": "object",
"additionalProperties": false
},
"NoQuickfixBiomeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoQuickfixBiomeOptions" }
]
},
"NoQuickfixBiomeOptions": {
"type": "object",
"properties": {
"additionalPaths": {
"description": "A list of additional JSON files that should be checked.",
"type": "array",
"default": [],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoQwikUseVisibleTaskConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoQwikUseVisibleTaskOptions" }
]
},
"NoQwikUseVisibleTaskOptions": {
"type": "object",
"additionalProperties": false
},
"NoReExportAllConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReExportAllOptions" }
]
},
"NoReExportAllOptions": { "type": "object", "additionalProperties": false },
"NoReactForwardRefConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactForwardRefOptions" }
]
},
"NoReactForwardRefOptions": {
"type": "object",
"additionalProperties": false
},
"NoReactNativeDeepImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactNativeDeepImportsOptions" }
]
},
"NoReactNativeDeepImportsOptions": {
"type": "object",
"additionalProperties": false
},
"NoReactNativeLiteralColorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactNativeLiteralColorsOptions" }
]
},
"NoReactNativeLiteralColorsOptions": {
"type": "object",
"additionalProperties": false
},
"NoReactNativeRawTextConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactNativeRawTextOptions" }
]
},
"NoReactNativeRawTextOptions": {
"type": "object",
"properties": {
"skip": {
"description": "Names of additional components that are allowed to contain raw text.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoReactObjectTypeAsDefaultPropConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactObjectTypeAsDefaultPropOptions" }
]
},
"NoReactObjectTypeAsDefaultPropOptions": {
"type": "object",
"additionalProperties": false
},
"NoReactPropAssignmentsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactPropAssignmentsOptions" }
]
},
"NoReactPropAssignmentsOptions": {
"type": "object",
"additionalProperties": false
},
"NoReactSpecificPropsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactSpecificPropsOptions" }
]
},
"NoReactSpecificPropsOptions": {
"type": "object",
"additionalProperties": false
},
"NoReactStringRefsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReactStringRefsOptions" }
]
},
"NoReactStringRefsOptions": {
"type": "object",
"additionalProperties": false
},
"NoRedeclareConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRedeclareOptions" }
]
},
"NoRedeclareOptions": { "type": "object", "additionalProperties": false },
"NoRedundantAltConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRedundantAltOptions" }
]
},
"NoRedundantAltOptions": {
"type": "object",
"additionalProperties": false
},
"NoRedundantDefaultExportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRedundantDefaultExportOptions" }
]
},
"NoRedundantDefaultExportOptions": {
"type": "object",
"additionalProperties": false
},
"NoRedundantRolesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRedundantRolesOptions" }
]
},
"NoRedundantRolesOptions": {
"type": "object",
"properties": {
"ignoreElements": {
"description": "Array of element names that the rule should ignore.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoRedundantUseStrictConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRedundantUseStrictOptions" }
]
},
"NoRedundantUseStrictOptions": {
"type": "object",
"additionalProperties": false
},
"NoRenderReturnValueConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRenderReturnValueOptions" }
]
},
"NoRenderReturnValueOptions": {
"type": "object",
"additionalProperties": false
},
"NoRestrictedDependenciesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRestrictedDependenciesOptions" }
]
},
"NoRestrictedDependenciesOptions": {
"type": "object",
"additionalProperties": false
},
"NoRestrictedElementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRestrictedElementsOptions" }
]
},
"NoRestrictedElementsOptions": {
"type": "object",
"properties": {
"elements": {
"description": "Elements to restrict.\nEach key is the element name, and the value is the message to show when the element is used.",
"anyOf": [
{ "$ref": "#/$defs/CustomRestrictedElements" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"NoRestrictedGlobalsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRestrictedGlobalsOptions" }
]
},
"NoRestrictedGlobalsOptions": {
"type": "object",
"properties": {
"deniedGlobals": {
"description": "A list of names that should trigger the rule",
"type": ["object", "null"],
"additionalProperties": { "type": "string" }
}
},
"additionalProperties": false
},
"NoRestrictedImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRestrictedImportsOptions" }
]
},
"NoRestrictedImportsOptions": {
"type": "object",
"properties": {
"paths": {
"description": "A list of import paths that should trigger the rule.",
"type": ["object", "null"],
"additionalProperties": { "$ref": "#/$defs/Paths" }
},
"patterns": {
"description": "gitignore-style patterns that should trigger the rule.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/Patterns" }
}
},
"additionalProperties": false
},
"NoRestrictedTypesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRestrictedTypesOptions" }
]
},
"NoRestrictedTypesOptions": {
"type": "object",
"properties": {
"types": {
"type": ["object", "null"],
"additionalProperties": { "$ref": "#/$defs/CustomRestrictedType" }
}
},
"additionalProperties": false
},
"NoReturnAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReturnAssignOptions" }
]
},
"NoReturnAssignOptions": {
"type": "object",
"additionalProperties": false
},
"NoReturnInFinallyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoReturnInFinallyOptions" }
]
},
"NoReturnInFinallyOptions": {
"type": "object",
"additionalProperties": false
},
"NoRootTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoRootTypeOptions" }
]
},
"NoRootTypeOptions": {
"type": "object",
"properties": {
"disallow": {
"description": "A list of disallowed root types (e.g. \"mutation\" and/or \"subscription\").\nThe values of the list are case-insensitive.",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoScriptUrlConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoScriptUrlOptions" }
]
},
"NoScriptUrlOptions": { "type": "object", "additionalProperties": false },
"NoSecretsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSecretsOptions" }
]
},
"NoSecretsOptions": {
"type": "object",
"properties": {
"entropyThreshold": {
"description": "Set entropy threshold (default is 41).",
"type": ["integer", "null"],
"format": "uint16",
"maximum": 65535,
"minimum": 0
}
},
"additionalProperties": false
},
"NoSelfAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSelfAssignOptions" }
]
},
"NoSelfAssignOptions": { "type": "object", "additionalProperties": false },
"NoSelfCompareConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSelfCompareOptions" }
]
},
"NoSelfCompareOptions": { "type": "object", "additionalProperties": false },
"NoSelfImportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSelfImportOptions" }
]
},
"NoSelfImportOptions": { "type": "object", "additionalProperties": false },
"NoSetterReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSetterReturnOptions" }
]
},
"NoSetterReturnOptions": {
"type": "object",
"additionalProperties": false
},
"NoShadowConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoShadowOptions" }
]
},
"NoShadowOptions": {
"type": "object",
"properties": {
"ignoreFunctionTypeParameterNameValueShadow": {
"description": "Ignore parameter names in function type annotations.\n\nFunction type parameters (e.g. `(x: string) => void`) only create\nbindings within the type scope and rarely cause confusion.\n\nDefaults to `true`.",
"type": ["boolean", "null"]
},
"ignoreTypeValueShadow": {
"description": "Ignore cases where a type and a value share the same name.\n\nTypes and values live in separate namespaces in TypeScript, so a\nvariable named `Foo` and a `type Foo` cannot collide at runtime.\n\nDefaults to `true`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoShadowRestrictedNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoShadowRestrictedNamesOptions" }
]
},
"NoShadowRestrictedNamesOptions": {
"type": "object",
"additionalProperties": false
},
"NoShorthandPropertyOverridesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoShorthandPropertyOverridesOptions" }
]
},
"NoShorthandPropertyOverridesOptions": {
"type": "object",
"additionalProperties": false
},
"NoShoutyConstantsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoShoutyConstantsOptions" }
]
},
"NoShoutyConstantsOptions": {
"type": "object",
"additionalProperties": false
},
"NoSkippedTestsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSkippedTestsOptions" }
]
},
"NoSkippedTestsOptions": {
"type": "object",
"additionalProperties": false
},
"NoSolidDestructuredPropsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSolidDestructuredPropsOptions" }
]
},
"NoSolidDestructuredPropsOptions": {
"type": "object",
"additionalProperties": false
},
"NoSparseArrayConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSparseArrayOptions" }
]
},
"NoSparseArrayOptions": { "type": "object", "additionalProperties": false },
"NoStaticElementInteractionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoStaticElementInteractionsOptions" }
]
},
"NoStaticElementInteractionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoStaticOnlyClassConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoStaticOnlyClassOptions" }
]
},
"NoStaticOnlyClassOptions": {
"type": "object",
"additionalProperties": false
},
"NoStringCaseMismatchConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoStringCaseMismatchOptions" }
]
},
"NoStringCaseMismatchOptions": {
"type": "object",
"additionalProperties": false
},
"NoSubstrConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSubstrOptions" }
]
},
"NoSubstrOptions": { "type": "object", "additionalProperties": false },
"NoSuspiciousSemicolonInJsxConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSuspiciousSemicolonInJsxOptions" }
]
},
"NoSuspiciousSemicolonInJsxOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteAddEventListenerConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteAddEventListenerOptions" }
]
},
"NoSvelteAddEventListenerOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteAtDebugTagsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteAtDebugTagsOptions" }
]
},
"NoSvelteAtDebugTagsOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteAtHtmlTagsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteAtHtmlTagsOptions" }
]
},
"NoSvelteAtHtmlTagsOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteExportLetConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteExportLetOptions" }
]
},
"NoSvelteExportLetOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteInspectConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteInspectOptions" }
]
},
"NoSvelteInspectOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteLegacyConstConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteLegacyConstOptions" }
]
},
"NoSvelteLegacyConstOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteObjectInTextMustachesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteObjectInTextMustachesOptions" }
]
},
"NoSvelteObjectInTextMustachesOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvelteUnnecessaryStateWrapConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteUnnecessaryStateWrapOptions" }
]
},
"NoSvelteUnnecessaryStateWrapOptions": {
"type": "object",
"properties": {
"additionalReactiveClasses": {
"description": "Additional class names to treat as already reactive (beyond the built-in `svelte/reactivity` classes).",
"type": ["array", "null"],
"items": { "type": "string" }
},
"allowReassign": {
"description": "When `true`, allows `$state()` wrapping for variables that are reassigned after declaration.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoSvelteUselessDerivedByConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteUselessDerivedByOptions" }
]
},
"NoSvelteUselessDerivedByOptions": {
"type": "object",
"additionalProperties": false
},
"NoSvgWithoutTitleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvgWithoutTitleOptions" }
]
},
"NoSvgWithoutTitleOptions": {
"type": "object",
"additionalProperties": false
},
"NoSwitchDeclarationsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSwitchDeclarationsOptions" }
]
},
"NoSwitchDeclarationsOptions": {
"type": "object",
"additionalProperties": false
},
"NoSyncScriptsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSyncScriptsOptions" }
]
},
"NoSyncScriptsOptions": { "type": "object", "additionalProperties": false },
"NoTailwindArbitraryValueConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTailwindArbitraryValueOptions" }
]
},
"NoTailwindArbitraryValueOptions": {
"type": "object",
"properties": {
"allowedCategories": {
"description": "Categories of utilities that may use arbitrary values. Defaults to an empty list.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/TailwindUtilityCategory" }
},
"allowedClasses": {
"description": "Classes that may use arbitrary values, such as `w-[320px]`. Defaults to an empty list.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoTailwindLegacyUtilitiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTailwindLegacyUtilitiesOptions" }
]
},
"NoTailwindLegacyUtilitiesOptions": {
"type": "object",
"additionalProperties": false
},
"NoTailwindRawColorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTailwindRawColorsOptions" }
]
},
"NoTailwindRawColorsOptions": {
"type": "object",
"properties": {
"allowedColors": {
"description": "Exact palette colors to allow, such as `slate-950` or `pink-500`. Defaults to none.",
"type": ["array", "null"],
"items": { "type": "string" },
"uniqueItems": true
}
},
"additionalProperties": false
},
"NoTailwindRestyledComponentsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTailwindRestyledComponentsOptions" }
]
},
"NoTailwindRestyledComponentsOptions": {
"type": "object",
"properties": {
"allow": {
"description": "Additional component-specific exceptions. Defaults to an empty list.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/TailwindComponentAllowance" }
}
},
"additionalProperties": false
},
"NoTemplateCurlyInStringConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTemplateCurlyInStringOptions" }
]
},
"NoTemplateCurlyInStringOptions": {
"type": "object",
"additionalProperties": false
},
"NoTernaryConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTernaryOptions" }
]
},
"NoTernaryOptions": { "type": "object", "additionalProperties": false },
"NoThenPropertyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoThenPropertyOptions" }
]
},
"NoThenPropertyOptions": {
"type": "object",
"additionalProperties": false
},
"NoThisInStaticConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoThisInStaticOptions" }
]
},
"NoThisInStaticOptions": {
"type": "object",
"additionalProperties": false
},
"NoThisOutsideOfClassConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoThisOutsideOfClassOptions" }
]
},
"NoThisOutsideOfClassOptions": {
"type": "object",
"additionalProperties": false
},
"NoTopLevelLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTopLevelLiteralsOptions" }
]
},
"NoTopLevelLiteralsOptions": {
"type": "object",
"additionalProperties": false
},
"NoTsIgnoreConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoTsIgnoreOptions" }
]
},
"NoTsIgnoreOptions": { "type": "object", "additionalProperties": false },
"NoUnassignedVariablesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnassignedVariablesOptions" }
]
},
"NoUnassignedVariablesOptions": {
"type": "object",
"additionalProperties": false
},
"NoUndeclaredClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUndeclaredClassesOptions" }
]
},
"NoUndeclaredClassesOptions": {
"description": "Options for the `noUndeclaredClasses` rule.",
"type": "object",
"additionalProperties": false
},
"NoUndeclaredCustomPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUndeclaredCustomPropertiesOptions" }
]
},
"NoUndeclaredCustomPropertiesOptions": {
"type": "object",
"additionalProperties": false
},
"NoUndeclaredDependenciesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUndeclaredDependenciesOptions" }
]
},
"NoUndeclaredDependenciesOptions": {
"type": "object",
"properties": {
"bundleDependencies": {
"description": "If set to `false`, then the rule will show an error when `bundleDependencies` are imported. Defaults to `true`.",
"anyOf": [
{ "$ref": "#/$defs/DependencyAvailability" },
{ "type": "null" }
]
},
"devDependencies": {
"description": "If set to `false`, then the rule will show an error when `devDependencies` are imported. Defaults to `true`.",
"anyOf": [
{ "$ref": "#/$defs/DependencyAvailability" },
{ "type": "null" }
]
},
"optionalDependencies": {
"description": "If set to `false`, then the rule will show an error when `optionalDependencies` are imported. Defaults to `true`.",
"anyOf": [
{ "$ref": "#/$defs/DependencyAvailability" },
{ "type": "null" }
]
},
"peerDependencies": {
"description": "If set to `false`, then the rule will show an error when `peerDependencies` are imported. Defaults to `true`.",
"anyOf": [
{ "$ref": "#/$defs/DependencyAvailability" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"NoUndeclaredEnvVarsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUndeclaredEnvVarsOptions" }
]
},
"NoUndeclaredEnvVarsOptions": {
"type": "object",
"properties": {
"allowedEnvVars": {
"description": "Environment variables that should always be allowed.\nUse this to specify environment variables that are always available\nin your environment, even when not declared in turbo.json.\nSupports regular expressions, e.g. `[\"MY_ENV_.*\"]`.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/Regex" }
}
},
"additionalProperties": false
},
"NoUndeclaredVariablesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUndeclaredVariablesOptions" }
]
},
"NoUndeclaredVariablesOptions": {
"type": "object",
"properties": {
"checkTypes": {
"description": "Check undeclared types.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoUnknownAtRulesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownAtRulesOptions" }
]
},
"NoUnknownAtRulesOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "A list of unknown at-rule names to ignore (case-insensitive).",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoUnknownAttributeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownAttributeOptions" }
]
},
"NoUnknownAttributeOptions": {
"type": "object",
"properties": {
"ignore": { "type": ["array", "null"], "items": { "type": "string" } }
},
"additionalProperties": false
},
"NoUnknownFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownFunctionOptions" }
]
},
"NoUnknownFunctionOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "A list of unknown function names to ignore (case-insensitive).",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoUnknownMediaFeatureNameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownMediaFeatureNameOptions" }
]
},
"NoUnknownMediaFeatureNameOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnknownPropertyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownPropertyOptions" }
]
},
"NoUnknownPropertyOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "A list of unknown property names to ignore (case-insensitive).",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoUnknownPseudoClassConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownPseudoClassOptions" }
]
},
"NoUnknownPseudoClassOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "A list of unknown pseudo-class names to ignore (case-insensitive).",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoUnknownPseudoElementConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownPseudoElementOptions" }
]
},
"NoUnknownPseudoElementOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "A list of unknown pseudo-element names to ignore (case-insensitive).",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoUnknownTypeSelectorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownTypeSelectorOptions" }
]
},
"NoUnknownTypeSelectorOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnknownUnitConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnknownUnitOptions" }
]
},
"NoUnknownUnitOptions": { "type": "object", "additionalProperties": false },
"NoUnmatchableAnbSelectorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnmatchableAnbSelectorOptions" }
]
},
"NoUnmatchableAnbSelectorOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnmodifiedLoopConditionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnmodifiedLoopConditionOptions" }
]
},
"NoUnmodifiedLoopConditionOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnnecessaryConditionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnnecessaryConditionsOptions" }
]
},
"NoUnnecessaryConditionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnnecessaryTemplateExpressionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnnecessaryTemplateExpressionOptions" }
]
},
"NoUnnecessaryTemplateExpressionOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnreachableConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnreachableOptions" }
]
},
"NoUnreachableOptions": { "type": "object", "additionalProperties": false },
"NoUnreachableSuperConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnreachableSuperOptions" }
]
},
"NoUnreachableSuperOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnresolvedImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnresolvedImportsOptions" }
]
},
"NoUnresolvedImportsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeDeclarationMergingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeDeclarationMergingOptions" }
]
},
"NoUnsafeDeclarationMergingOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeFinallyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeFinallyOptions" }
]
},
"NoUnsafeFinallyOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeIframeSandboxConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeIframeSandboxOptions" }
]
},
"NoUnsafeIframeSandboxOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeNegationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeNegationOptions" }
]
},
"NoUnsafeNegationOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeOptionalChainingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeOptionalChainingOptions" }
]
},
"NoUnsafeOptionalChainingOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafePlusOperandsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafePlusOperandsOptions" }
]
},
"NoUnsafePlusOperandsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeTypeAssertionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeTypeAssertionOptions" }
]
},
"NoUnsafeTypeAssertionOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnsafeUnaryMinusConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnsafeUnaryMinusOptions" }
]
},
"NoUnsafeUnaryMinusOptions": {
"type": "object",
"additionalProperties": false
},
"NoUntrustedLicensesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUntrustedLicensesOptions" }
]
},
"NoUntrustedLicensesOptions": {
"type": "object",
"properties": {
"allow": {
"description": "Additional license identifiers to trust, beyond valid SPDX identifiers.\n\nUseful for custom or proprietary licenses that are not part of the SPDX\nstandard but are acceptable in your project.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"deny": {
"description": "License identifiers to explicitly deny, even if they are valid SPDX identifiers.\n\nUse this to block specific licenses that your project or organization can't use (e.g.,\ncopyleft licenses in a proprietary project).",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreDeprecated": {
"description": "When `true`, deprecated SPDX license identifiers are accepted.\nWhen `false`, deprecated licenses are flagged as untrusted.\nDefaults to `false`.",
"type": ["boolean", "null"]
},
"requireFsfLibre": {
"description": "When `true`, only licenses recognized as free/libre by the Free Software\nFoundation (FSF) are trusted. Licenses in the `allow` list bypass this check.\nDefaults to `false`.",
"type": ["boolean", "null"]
},
"requireOsiApproved": {
"description": "When `true`, only licenses approved by the Open Source Initiative (OSI)\nare trusted. Licenses in the `allow` list bypass this check.\nDefaults to `false`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoUnusedClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedClassesOptions" }
]
},
"NoUnusedClassesOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedExpressionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedExpressionsOptions" }
]
},
"NoUnusedExpressionsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedFunctionParametersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedFunctionParametersOptions" }
]
},
"NoUnusedFunctionParametersOptions": {
"type": "object",
"properties": {
"ignoreRestSiblings": {
"description": "Whether to ignore unused variables from an object destructuring with a spread.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoUnusedImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedImportsOptions" }
]
},
"NoUnusedImportsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedInstantiationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedInstantiationOptions" }
]
},
"NoUnusedInstantiationOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedLabelsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedLabelsOptions" }
]
},
"NoUnusedLabelsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedPrivateClassMembersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedPrivateClassMembersOptions" }
]
},
"NoUnusedPrivateClassMembersOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedTemplateLiteralConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedTemplateLiteralOptions" }
]
},
"NoUnusedTemplateLiteralOptions": {
"type": "object",
"additionalProperties": false
},
"NoUnusedVariablesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnusedVariablesOptions" }
]
},
"NoUnusedVariablesOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "An object defining ignored identifiers for different language constructs.",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedVariablesOptionsIgnore" },
{ "type": "null" }
]
},
"ignoreRestSiblings": {
"description": "Whether to ignore unused variables from an object destructuring with a spread.",
"type": ["boolean", "null"]
},
"ignoreUsingDeclarations": {
"description": "Whether to ignore unused variables declared with `using` or `await using`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"NoUnusedVariablesOptionsIgnore": {
"type": "object",
"properties": {
"*": {
"description": "An array of identifiers to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"class": {
"description": "An array of class names to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"function": {
"description": "An array of function names to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"interface": {
"description": "An array of interface names to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"typeAlias": {
"description": "An array of type aliases to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"typeParameter": {
"description": "An array of type parameters to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"variable": {
"description": "An array of variable names to ignore. Use \"*\" to ignore all identifiers.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoUnwantedPolyfillioConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUnwantedPolyfillioOptions" }
]
},
"NoUnwantedPolyfillioOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessAssignmentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessAssignmentOptions" }
]
},
"NoUselessAssignmentOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessCatchBindingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessCatchBindingOptions" }
]
},
"NoUselessCatchBindingOptions": {
"description": "Options for the `noUselessCatchBinding` rule.\nCurrently empty; reserved for future extensions (e.g. allowlist of names).",
"type": "object",
"additionalProperties": false
},
"NoUselessCatchConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessCatchOptions" }
]
},
"NoUselessCatchOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessConstructorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessConstructorOptions" }
]
},
"NoUselessConstructorOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessContinueConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessContinueOptions" }
]
},
"NoUselessContinueOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessDateGetTimeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessDateGetTimeOptions" }
]
},
"NoUselessDateGetTimeOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessElseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessElseOptions" }
]
},
"NoUselessElseOptions": { "type": "object", "additionalProperties": false },
"NoUselessEmptyExportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessEmptyExportOptions" }
]
},
"NoUselessEmptyExportOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessEscapeInRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessEscapeInRegexOptions" }
]
},
"NoUselessEscapeInRegexOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessEscapeInStringConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessEscapeInStringOptions" }
]
},
"NoUselessEscapeInStringOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessFragmentsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessFragmentsOptions" }
]
},
"NoUselessFragmentsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessLabelConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessLabelOptions" }
]
},
"NoUselessLabelOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessLoneBlockStatementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessLoneBlockStatementsOptions" }
]
},
"NoUselessLoneBlockStatementsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessRegexBackrefsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessRegexBackrefsOptions" }
]
},
"NoUselessRegexBackrefsOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessRenameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessRenameOptions" }
]
},
"NoUselessRenameOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessReturnOptions" }
]
},
"NoUselessReturnOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessStringConcatConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessStringConcatOptions" }
]
},
"NoUselessStringConcatOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessStringRawConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessStringRawOptions" }
]
},
"NoUselessStringRawOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessSwitchCaseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessSwitchCaseOptions" }
]
},
"NoUselessSwitchCaseOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessTernaryConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessTernaryOptions" }
]
},
"NoUselessTernaryOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessThisAliasConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessThisAliasOptions" }
]
},
"NoUselessThisAliasOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessTypeConstraintConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessTypeConstraintOptions" }
]
},
"NoUselessTypeConstraintOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessTypeConversionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessTypeConversionOptions" }
]
},
"NoUselessTypeConversionOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessUndefinedConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessUndefinedOptions" }
]
},
"NoUselessUndefinedInitializationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoUselessUndefinedInitializationOptions" }
]
},
"NoUselessUndefinedInitializationOptions": {
"type": "object",
"additionalProperties": false
},
"NoUselessUndefinedOptions": {
"type": "object",
"additionalProperties": false
},
"NoValueAtRuleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoValueAtRuleOptions" }
]
},
"NoValueAtRuleOptions": { "type": "object", "additionalProperties": false },
"NoVarConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVarOptions" }
]
},
"NoVarOptions": { "type": "object", "additionalProperties": false },
"NoVoidConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVoidOptions" }
]
},
"NoVoidElementsWithChildrenConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVoidElementsWithChildrenOptions" }
]
},
"NoVoidElementsWithChildrenOptions": {
"type": "object",
"additionalProperties": false
},
"NoVoidOptions": { "type": "object", "additionalProperties": false },
"NoVoidTypeReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVoidTypeReturnOptions" }
]
},
"NoVoidTypeReturnOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueArrowFuncInWatchConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueArrowFuncInWatchOptions" }
]
},
"NoVueArrowFuncInWatchOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueBooleanDefaultConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueBooleanDefaultOptions" }
]
},
"NoVueBooleanDefaultOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueDataObjectDeclarationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueDataObjectDeclarationOptions" }
]
},
"NoVueDataObjectDeclarationOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueDeprecatedScopedSlotsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueDeprecatedScopedSlotsOptions" }
]
},
"NoVueDeprecatedScopedSlotsOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueDuplicateKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueDuplicateKeysOptions" }
]
},
"NoVueDuplicateKeysOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueImportCompilerMacrosConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueImportCompilerMacrosOptions" }
]
},
"NoVueImportCompilerMacrosOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueOptionsApiConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueOptionsApiOptions" }
]
},
"NoVueOptionsApiOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueRefAsOperandConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueRefAsOperandOptions" }
]
},
"NoVueRefAsOperandOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueRequiredPropWithDefaultConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueRequiredPropWithDefaultOptions" }
]
},
"NoVueRequiredPropWithDefaultOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueReservedKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueReservedKeysOptions" }
]
},
"NoVueReservedKeysOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueReservedPropsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueReservedPropsOptions" }
]
},
"NoVueReservedPropsOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueRootVIfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueRootVIfOptions" }
]
},
"NoVueRootVIfOptions": { "type": "object", "additionalProperties": false },
"NoVueSetupPropsReactivityLossConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueSetupPropsReactivityLossOptions" }
]
},
"NoVueSetupPropsReactivityLossOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueUndeclaredDirectivesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueUndeclaredDirectivesOptions" }
]
},
"NoVueUndeclaredDirectivesOptions": {
"type": "object",
"properties": {
"globals": {
"description": "Names of directives registered globally with `app.directive(...)`,\nwritten in kebab-case without the `v-` prefix, such as\n`click-outside` for `v-click-outside`.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"NoVueVHtmlConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueVHtmlOptions" }
]
},
"NoVueVHtmlOptions": { "type": "object", "additionalProperties": false },
"NoVueVIfWithVForConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueVIfWithVForOptions" }
]
},
"NoVueVIfWithVForOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueVOnNumberValuesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueVOnNumberValuesOptions" }
]
},
"NoVueVOnNumberValuesOptions": {
"type": "object",
"additionalProperties": false
},
"NoVueVTextConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueVTextOptions" }
]
},
"NoVueVTextOptions": { "type": "object", "additionalProperties": false },
"NoWithConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoWithOptions" }
]
},
"NoWithOptions": { "type": "object", "additionalProperties": false },
"NoXorAsExponentiationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoXorAsExponentiationOptions" }
]
},
"NoXorAsExponentiationOptions": {
"type": "object",
"additionalProperties": false
},
"NoYodaExpressionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoYodaExpressionOptions" }
]
},
"NoYodaExpressionOptions": {
"type": "object",
"additionalProperties": false
},
"NoZeroFractionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoZeroFractionsOptions" }
]
},
"NoZeroFractionsOptions": {
"type": "object",
"additionalProperties": false
},
"NormalizationForm": {
"oneOf": [
{
"description": "Canonical Decomposition followed by Canonical Composition",
"type": "string",
"const": "NFC"
},
{
"description": "Canonical Decomposition",
"type": "string",
"const": "NFD"
},
{
"description": "Compatibility Decomposition followed by Canonical Composition",
"type": "string",
"const": "NFKC"
},
{
"description": "Compatibility Decomposition",
"type": "string",
"const": "NFKD"
}
]
},
"NormalizedGlob": {
"description": "Matches case-sensitive paths with `/` separators. Supports `*` within a path segment,\nsegment-only `**`, brace alternatives such as `{js,ts}`, backslash escaping, and leading `!` or\n`!!` negation. Does not support `?`, character classes, nested brace alternatives, partial\nglobstars, or consecutive globstars. Leading `./` sequences are removed before parsing.",
"type": "string"
},
"NumericLiteralSeparatorOptions": {
"type": "object",
"properties": {
"groupLength": {
"description": "Number of digits between separators.",
"type": ["integer", "null"],
"format": "uint8",
"maximum": 255,
"minimum": 1
},
"minimumDigits": {
"description": "Minimum number of digits required before adding separators.",
"type": ["integer", "null"],
"format": "uint8",
"maximum": 255,
"minimum": 0
}
},
"additionalProperties": false
},
"Nursery": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noAccidentalBitwiseOperators": {
"description": "Disallow bitwise operators where a logical operator was likely intended.\nSee https://biomejs.dev/linter/rules/no-accidental-bitwise-operators",
"anyOf": [
{ "$ref": "#/$defs/NoAccidentalBitwiseOperatorsConfiguration" },
{ "type": "null" }
]
},
"noArgumentsCallerOrCallee": {
"description": "Disallow the use of arguments.caller and arguments.callee.\nSee https://biomejs.dev/linter/rules/no-arguments-caller-or-callee",
"anyOf": [
{ "$ref": "#/$defs/NoArgumentsCallerOrCalleeConfiguration" },
{ "type": "null" }
]
},
"noAstroConflictingSetDirectives": {
"description": "Disallow conflicting content sources on Astro elements.\nSee https://biomejs.dev/linter/rules/no-astro-conflicting-set-directives",
"anyOf": [
{ "$ref": "#/$defs/NoAstroConflictingSetDirectivesConfiguration" },
{ "type": "null" }
]
},
"noAstroSetHtmlDirective": {
"description": "Disallow the use of Astro's set:html directive.\nSee https://biomejs.dev/linter/rules/no-astro-set-html-directive",
"anyOf": [
{ "$ref": "#/$defs/NoAstroSetHtmlDirectiveConfiguration" },
{ "type": "null" }
]
},
"noBaseToString": {
"description": "Require stringification to avoid values that only use the default object representation.\nSee https://biomejs.dev/linter/rules/no-base-to-string",
"anyOf": [
{ "$ref": "#/$defs/NoBaseToStringConfiguration" },
{ "type": "null" }
]
},
"noBunModules": {
"description": "Forbid the use of Bun builtin modules.\nSee https://biomejs.dev/linter/rules/no-bun-modules",
"anyOf": [
{ "$ref": "#/$defs/NoBunModulesConfiguration" },
{ "type": "null" }
]
},
"noDoubleComparison": {
"description": "Disallow two comparisons of the same values that can be combined into one.\nSee https://biomejs.dev/linter/rules/no-double-comparison",
"anyOf": [
{ "$ref": "#/$defs/NoDoubleComparisonConfiguration" },
{ "type": "null" }
]
},
"noDuplicateMapKeys": {
"description": "Disallow two keys with the same name inside YAML maps.\nSee https://biomejs.dev/linter/rules/no-duplicate-map-keys",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateMapKeysConfiguration" },
{ "type": "null" }
]
},
"noExcessiveStatementsPerFunction": {
"description": "Enforce a maximum number of statements allowed in a function.\nSee https://biomejs.dev/linter/rules/no-excessive-statements-per-function",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveStatementsPerFunctionConfiguration" },
{ "type": "null" }
]
},
"noExtendNative": {
"description": "Disallow extending the prototype of built-in objects.\nSee https://biomejs.dev/linter/rules/no-extend-native",
"anyOf": [
{ "$ref": "#/$defs/NoExtendNativeConfiguration" },
{ "type": "null" }
]
},
"noFloatingPromises": {
"description": "Require Promise-like statements to be handled appropriately.\nSee https://biomejs.dev/linter/rules/no-floating-promises",
"anyOf": [
{ "$ref": "#/$defs/NoFloatingPromisesConfiguration" },
{ "type": "null" }
]
},
"noImpliedEval": {
"description": "Disallow the use of eval()-like methods.\nSee https://biomejs.dev/linter/rules/no-implied-eval",
"anyOf": [
{ "$ref": "#/$defs/NoImpliedEvalConfiguration" },
{ "type": "null" }
]
},
"noInvalidFileInputAccept": {
"description": "Disallow invalid accept values on file inputs.\nSee https://biomejs.dev/linter/rules/no-invalid-file-input-accept",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidFileInputAcceptConfiguration" },
{ "type": "null" }
]
},
"noInvalidPropertyInitValue": {
"description": "Checks that the initial-value of an @property rule follows the value format declared by its syntax.\nSee https://biomejs.dev/linter/rules/no-invalid-property-init-value",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidPropertyInitValueConfiguration" },
{ "type": "null" }
]
},
"noInvalidThis": {
"description": "Disallow this in places where it is undefined.\nSee https://biomejs.dev/linter/rules/no-invalid-this",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidThisConfiguration" },
{ "type": "null" }
]
},
"noJsRestrictedProperties": {
"description": "Disallow specific object properties.\nSee https://biomejs.dev/linter/rules/no-js-restricted-properties",
"anyOf": [
{ "$ref": "#/$defs/NoJsRestrictedPropertiesConfiguration" },
{ "type": "null" }
]
},
"noJsonUnsafeValues": {
"description": "Disallow unsafe JSON values that may cause interoperability issues.\nSee https://biomejs.dev/linter/rules/no-json-unsafe-values",
"anyOf": [
{ "$ref": "#/$defs/NoJsonUnsafeValuesConfiguration" },
{ "type": "null" }
]
},
"noMeaninglessVoidOperator": {
"description": "Disallow void when it does not discard a call's return value or a thenable.\nSee https://biomejs.dev/linter/rules/no-meaningless-void-operator",
"anyOf": [
{ "$ref": "#/$defs/NoMeaninglessVoidOperatorConfiguration" },
{ "type": "null" }
]
},
"noMisleadingReturnType": {
"description": "Detect return type annotations that are misleadingly wider than what the implementation actually returns.\nSee https://biomejs.dev/linter/rules/no-misleading-return-type",
"anyOf": [
{ "$ref": "#/$defs/NoMisleadingReturnTypeConfiguration" },
{ "type": "null" }
]
},
"noMisplacedListElements": {
"description": "Require \\<li> elements with an HTML element parent to be children of \\<ul>, \\<ol>, or \\<menu>.\nSee https://biomejs.dev/linter/rules/no-misplaced-list-elements",
"anyOf": [
{ "$ref": "#/$defs/NoMisplacedListElementsConfiguration" },
{ "type": "null" }
]
},
"noMisusedPromises": {
"description": "Disallow Promises to be used in places where they are almost certainly a mistake.\nSee https://biomejs.dev/linter/rules/no-misused-promises",
"anyOf": [
{ "$ref": "#/$defs/NoMisusedPromisesConfiguration" },
{ "type": "null" }
]
},
"noNegationInEqualityCheck": {
"description": "Disallow negated expressions on the left side of an equality check.\nSee https://biomejs.dev/linter/rules/no-negation-in-equality-check",
"anyOf": [
{ "$ref": "#/$defs/NoNegationInEqualityCheckConfiguration" },
{ "type": "null" }
]
},
"noNestedSwitch": {
"description": "Disallow switch statements inside other switch statements.\nSee https://biomejs.dev/linter/rules/no-nested-switch",
"anyOf": [
{ "$ref": "#/$defs/NoNestedSwitchConfiguration" },
{ "type": "null" }
]
},
"noNestedTemplateLiterals": {
"description": "Disallow template literals inside other template literals.\nSee https://biomejs.dev/linter/rules/no-nested-template-literals",
"anyOf": [
{ "$ref": "#/$defs/NoNestedTemplateLiteralsConfiguration" },
{ "type": "null" }
]
},
"noNonScalableViewport": {
"description": "Disallow disabling zoom with user-scalable=no in the \\<meta name=\"viewport\"> element.\nSee https://biomejs.dev/linter/rules/no-non-scalable-viewport",
"anyOf": [
{ "$ref": "#/$defs/NoNonScalableViewportConfiguration" },
{ "type": "null" }
]
},
"noObjectConstructor": {
"description": "Disallow calling Object without arguments to create an empty object.\nSee https://biomejs.dev/linter/rules/no-object-constructor",
"anyOf": [
{ "$ref": "#/$defs/NoObjectConstructorConfiguration" },
{ "type": "null" }
]
},
"noObsoleteTags": {
"description": "Disallow obsolete HTML elements.\nSee https://biomejs.dev/linter/rules/no-obsolete-tags",
"anyOf": [
{ "$ref": "#/$defs/NoObsoleteTagsConfiguration" },
{ "type": "null" }
]
},
"noOctal": {
"description": "Disallow numbers written with an extra leading zero.\nSee https://biomejs.dev/linter/rules/no-octal",
"anyOf": [
{ "$ref": "#/$defs/NoOctalConfiguration" },
{ "type": "null" }
]
},
"noProcessExit": {
"description": "Disallow the use of process.exit().\nSee https://biomejs.dev/linter/rules/no-process-exit",
"anyOf": [
{ "$ref": "#/$defs/NoProcessExitConfiguration" },
{ "type": "null" }
]
},
"noPromiseExecutorReturn": {
"description": "Disallow returning values from the function passed to new Promise().\nSee https://biomejs.dev/linter/rules/no-promise-executor-return",
"anyOf": [
{ "$ref": "#/$defs/NoPromiseExecutorReturnConfiguration" },
{ "type": "null" }
]
},
"noReactObjectTypeAsDefaultProp": {
"description": "Disallow array, object, and function values as default props in React components.\nSee https://biomejs.dev/linter/rules/no-react-object-type-as-default-prop",
"anyOf": [
{ "$ref": "#/$defs/NoReactObjectTypeAsDefaultPropConfiguration" },
{ "type": "null" }
]
},
"noRestrictedDependencies": {
"description": "Disallow dependencies that are known to have better alternatives.\nSee https://biomejs.dev/linter/rules/no-restricted-dependencies",
"anyOf": [
{ "$ref": "#/$defs/NoRestrictedDependenciesConfiguration" },
{ "type": "null" }
]
},
"noReturnInFinally": {
"description": "Disallow return statements in Promise.prototype.finally() callbacks.\nSee https://biomejs.dev/linter/rules/no-return-in-finally",
"anyOf": [
{ "$ref": "#/$defs/NoReturnInFinallyConfiguration" },
{ "type": "null" }
]
},
"noSelfImport": {
"description": "Forbid a module from importing itself.\nSee https://biomejs.dev/linter/rules/no-self-import",
"anyOf": [
{ "$ref": "#/$defs/NoSelfImportConfiguration" },
{ "type": "null" }
]
},
"noSvelteAddEventListener": {
"description": "Disallow addEventListener in Svelte files.\nSee https://biomejs.dev/linter/rules/no-svelte-add-event-listener",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteAddEventListenerConfiguration" },
{ "type": "null" }
]
},
"noSvelteAtDebugTags": {
"description": "Disallow the use of Svelte's {@debug} tag.\nSee https://biomejs.dev/linter/rules/no-svelte-at-debug-tags",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteAtDebugTagsConfiguration" },
{ "type": "null" }
]
},
"noSvelteAtHtmlTags": {
"description": "Disallow the use of Svelte's {@html} tag.\nSee https://biomejs.dev/linter/rules/no-svelte-at-html-tags",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteAtHtmlTagsConfiguration" },
{ "type": "null" }
]
},
"noSvelteExportLet": {
"description": "Disallow declaring Svelte component props with export let.\nSee https://biomejs.dev/linter/rules/no-svelte-export-let",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteExportLetConfiguration" },
{ "type": "null" }
]
},
"noSvelteInspect": {
"description": "Disallow the use of the $inspect rune.\nSee https://biomejs.dev/linter/rules/no-svelte-inspect",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteInspectConfiguration" },
{ "type": "null" }
]
},
"noSvelteLegacyConst": {
"description": "Disallow legacy Svelte {@const} tags.\nSee https://biomejs.dev/linter/rules/no-svelte-legacy-const",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteLegacyConstConfiguration" },
{ "type": "null" }
]
},
"noSvelteObjectInTextMustaches": {
"description": "Disallow objects, arrays, functions, and classes in Svelte text mustaches.\nSee https://biomejs.dev/linter/rules/no-svelte-object-in-text-mustaches",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteObjectInTextMustachesConfiguration" },
{ "type": "null" }
]
},
"noSvelteUnnecessaryStateWrap": {
"description": "Disallow unnecessary $state wrapping of reactive classes.\nSee https://biomejs.dev/linter/rules/no-svelte-unnecessary-state-wrap",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteUnnecessaryStateWrapConfiguration" },
{ "type": "null" }
]
},
"noSvelteUselessDerivedBy": {
"description": "Disallow $derived.by() when $derived() is sufficient.\nSee https://biomejs.dev/linter/rules/no-svelte-useless-derived-by",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteUselessDerivedByConfiguration" },
{ "type": "null" }
]
},
"noTailwindArbitraryValue": {
"description": "Disallow arbitrary values in Tailwind CSS utility classes.\nSee https://biomejs.dev/linter/rules/no-tailwind-arbitrary-value",
"anyOf": [
{ "$ref": "#/$defs/NoTailwindArbitraryValueConfiguration" },
{ "type": "null" }
]
},
"noTailwindLegacyUtilities": {
"description": "Disallow Tailwind CSS utility classes that Tailwind CSS only keeps for backward compatibility.\nSee https://biomejs.dev/linter/rules/no-tailwind-legacy-utilities",
"anyOf": [
{ "$ref": "#/$defs/NoTailwindLegacyUtilitiesConfiguration" },
{ "type": "null" }
]
},
"noTailwindRawColors": {
"description": "Disallow Tailwind CSS utility classes that use raw palette colors.\nSee https://biomejs.dev/linter/rules/no-tailwind-raw-colors",
"anyOf": [
{ "$ref": "#/$defs/NoTailwindRawColorsConfiguration" },
{ "type": "null" }
]
},
"noTailwindRestyledComponents": {
"description": "Disallow Tailwind utilities that override the appearance of components.\nSee https://biomejs.dev/linter/rules/no-tailwind-restyled-components",
"anyOf": [
{ "$ref": "#/$defs/NoTailwindRestyledComponentsConfiguration" },
{ "type": "null" }
]
},
"noThisOutsideOfClass": {
"description": "Disallow this outside of classes.\nSee https://biomejs.dev/linter/rules/no-this-outside-of-class",
"anyOf": [
{ "$ref": "#/$defs/NoThisOutsideOfClassConfiguration" },
{ "type": "null" }
]
},
"noUndeclaredClasses": {
"description": "Reports CSS class names in HTML class attributes that are not defined in any \\<style> block or linked stylesheet available to the file.\nSee https://biomejs.dev/linter/rules/no-undeclared-classes",
"anyOf": [
{ "$ref": "#/$defs/NoUndeclaredClassesConfiguration" },
{ "type": "null" }
]
},
"noUndeclaredCustomProperties": {
"description": "Disallow undeclared CSS custom properties in inline styles.\nSee https://biomejs.dev/linter/rules/no-undeclared-custom-properties",
"anyOf": [
{ "$ref": "#/$defs/NoUndeclaredCustomPropertiesConfiguration" },
{ "type": "null" }
]
},
"noUnmodifiedLoopCondition": {
"description": "Disallow loop conditions whose variables are never modified in the loop.\nSee https://biomejs.dev/linter/rules/no-unmodified-loop-condition",
"anyOf": [
{ "$ref": "#/$defs/NoUnmodifiedLoopConditionConfiguration" },
{ "type": "null" }
]
},
"noUnsafeIframeSandbox": {
"description": "Disallow allow-scripts together with allow-same-origin in an iframe sandbox.\nSee https://biomejs.dev/linter/rules/no-unsafe-iframe-sandbox",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeIframeSandboxConfiguration" },
{ "type": "null" }
]
},
"noUnsafePlusOperands": {
"description": "Disallow + operations with operands that are known to be unsafe.\nSee https://biomejs.dev/linter/rules/no-unsafe-plus-operands",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafePlusOperandsConfiguration" },
{ "type": "null" }
]
},
"noUnsafeTypeAssertion": {
"description": "Disallow TypeScript type assertions other than const assertions.\nSee https://biomejs.dev/linter/rules/no-unsafe-type-assertion",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeTypeAssertionConfiguration" },
{ "type": "null" }
]
},
"noUnsafeUnaryMinus": {
"description": "Require the operand of unary - to be a number or a bigint.\nSee https://biomejs.dev/linter/rules/no-unsafe-unary-minus",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeUnaryMinusConfiguration" },
{ "type": "null" }
]
},
"noUnusedClasses": {
"description": "Reports CSS class selectors that are never referenced in any JSX or HTML file.\nSee https://biomejs.dev/linter/rules/no-unused-classes",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedClassesConfiguration" },
{ "type": "null" }
]
},
"noUselessAssignment": {
"description": "Disallow assignments whose value is never read.\nSee https://biomejs.dev/linter/rules/no-useless-assignment",
"anyOf": [
{ "$ref": "#/$defs/NoUselessAssignmentConfiguration" },
{ "type": "null" }
]
},
"noUselessDateGetTime": {
"description": "Disallow calling .getTime() on a date before passing it to the Date constructor.\nSee https://biomejs.dev/linter/rules/no-useless-date-get-time",
"anyOf": [
{ "$ref": "#/$defs/NoUselessDateGetTimeConfiguration" },
{ "type": "null" }
]
},
"noUselessTypeConversion": {
"description": "Disallow type conversions that do not change the type of an expression.\nSee https://biomejs.dev/linter/rules/no-useless-type-conversion",
"anyOf": [
{ "$ref": "#/$defs/NoUselessTypeConversionConfiguration" },
{ "type": "null" }
]
},
"noVueBooleanDefault": {
"description": "Disallow default values for Boolean props in Vue components.\nSee https://biomejs.dev/linter/rules/no-vue-boolean-default",
"anyOf": [
{ "$ref": "#/$defs/NoVueBooleanDefaultConfiguration" },
{ "type": "null" }
]
},
"noVueDeprecatedScopedSlots": {
"description": "Disallow the deprecated Vue $scopedSlots API.\nSee https://biomejs.dev/linter/rules/no-vue-deprecated-scoped-slots",
"anyOf": [
{ "$ref": "#/$defs/NoVueDeprecatedScopedSlotsConfiguration" },
{ "type": "null" }
]
},
"noVueRequiredPropWithDefault": {
"description": "Disallow props that are both required and have a default value.\nSee https://biomejs.dev/linter/rules/no-vue-required-prop-with-default",
"anyOf": [
{ "$ref": "#/$defs/NoVueRequiredPropWithDefaultConfiguration" },
{ "type": "null" }
]
},
"noVueRootVIf": {
"description": "Disallow v-if on the root element of a Vue component template.\nSee https://biomejs.dev/linter/rules/no-vue-root-v-if",
"anyOf": [
{ "$ref": "#/$defs/NoVueRootVIfConfiguration" },
{ "type": "null" }
]
},
"noVueUndeclaredDirectives": {
"description": "Disallow custom Vue directives that are not declared.\nSee https://biomejs.dev/linter/rules/no-vue-undeclared-directives",
"anyOf": [
{ "$ref": "#/$defs/NoVueUndeclaredDirectivesConfiguration" },
{ "type": "null" }
]
},
"noVueVHtml": {
"description": "Disallow the use of Vue's v-html directive.\nSee https://biomejs.dev/linter/rules/no-vue-v-html",
"anyOf": [
{ "$ref": "#/$defs/NoVueVHtmlConfiguration" },
{ "type": "null" }
]
},
"noVueVText": {
"description": "Disallow the use of Vue's v-text directive.\nSee https://biomejs.dev/linter/rules/no-vue-v-text",
"anyOf": [
{ "$ref": "#/$defs/NoVueVTextConfiguration" },
{ "type": "null" }
]
},
"noXorAsExponentiation": {
"description": "Disallow the bitwise XOR operator where exponentiation was likely intended.\nSee https://biomejs.dev/linter/rules/no-xor-as-exponentiation",
"anyOf": [
{ "$ref": "#/$defs/NoXorAsExponentiationConfiguration" },
{ "type": "null" }
]
},
"noZeroFractions": {
"description": "Disallow number literals with zero fractions or dangling dots.\nSee https://biomejs.dev/linter/rules/no-zero-fractions",
"anyOf": [
{ "$ref": "#/$defs/NoZeroFractionsConfiguration" },
{ "type": "null" }
]
},
"useAstroClientOnlyDirectiveValue": {
"description": "Require a value for Astro's client:only directive.\nSee https://biomejs.dev/linter/rules/use-astro-client-only-directive-value",
"anyOf": [
{ "$ref": "#/$defs/UseAstroClientOnlyDirectiveValueConfiguration" },
{ "type": "null" }
]
},
"useAwaitThenable": {
"description": "Enforce that await is only used on Promise values.\nSee https://biomejs.dev/linter/rules/use-await-thenable",
"anyOf": [
{ "$ref": "#/$defs/UseAwaitThenableConfiguration" },
{ "type": "null" }
]
},
"useBetterDomTraversing": {
"description": "Prefer modern DOM traversal APIs over positional indexes and chained walks.\nSee https://biomejs.dev/linter/rules/use-better-dom-traversing",
"anyOf": [
{ "$ref": "#/$defs/UseBetterDomTraversingConfiguration" },
{ "type": "null" }
]
},
"useBigintLiterals": {
"description": "Enforce the use of bigint literals over the BigInt() constructor.\nSee https://biomejs.dev/linter/rules/use-bigint-literals",
"anyOf": [
{ "$ref": "#/$defs/UseBigintLiteralsConfiguration" },
{ "type": "null" }
]
},
"useCapitalizedConstructors": {
"description": "Require constructor names to begin with a capital letter.\nSee https://biomejs.dev/linter/rules/use-capitalized-constructors",
"anyOf": [
{ "$ref": "#/$defs/UseCapitalizedConstructorsConfiguration" },
{ "type": "null" }
]
},
"useConsistentBlockLang": {
"description": "Enforce which languages the top-level blocks of Vue and Svelte components use.\nSee https://biomejs.dev/linter/rules/use-consistent-block-lang",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentBlockLangConfiguration" },
{ "type": "null" }
]
},
"useConsistentFunctionStyle": {
"description": "Enforce consistent use of function declarations or expressions assigned to variables.\nSee https://biomejs.dev/linter/rules/use-consistent-function-style",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentFunctionStyleConfiguration" },
{ "type": "null" }
]
},
"useConsistentHeadingLevel": {
"description": "Enforce that all heading levels are consistent and ordered.\nSee https://biomejs.dev/linter/rules/use-consistent-heading-level",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentHeadingLevelConfiguration" },
{ "type": "null" }
]
},
"useConsistentJsonFileRead": {
"description": "Enforce a consistent way of reading JSON files before passing them to JSON.parse().\nSee https://biomejs.dev/linter/rules/use-consistent-json-file-read",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentJsonFileReadConfiguration" },
{ "type": "null" }
]
},
"useConsistentObjectKeys": {
"description": "Enforce JSON keys with consistent Unicode representation.\nSee https://biomejs.dev/linter/rules/use-consistent-object-keys",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentObjectKeysConfiguration" },
{ "type": "null" }
]
},
"useControlLabel": {
"description": "Enforce that interactive control elements have an accessible label.\nSee https://biomejs.dev/linter/rules/use-control-label",
"anyOf": [
{ "$ref": "#/$defs/UseControlLabelConfiguration" },
{ "type": "null" }
]
},
"useDisposables": {
"description": "Detects a disposable object assigned to a variable without using or await using syntax.\nSee https://biomejs.dev/linter/rules/use-disposables",
"anyOf": [
{ "$ref": "#/$defs/UseDisposablesConfiguration" },
{ "type": "null" }
]
},
"useExhaustiveSwitchCases": {
"description": "Require switch-case statements to be exhaustive.\nSee https://biomejs.dev/linter/rules/use-exhaustive-switch-cases",
"anyOf": [
{ "$ref": "#/$defs/UseExhaustiveSwitchCasesConfiguration" },
{ "type": "null" }
]
},
"useExplicitReturnType": {
"description": "Require explicit return types on functions and class methods.\nSee https://biomejs.dev/linter/rules/use-explicit-return-type",
"anyOf": [
{ "$ref": "#/$defs/UseExplicitReturnTypeConfiguration" },
{ "type": "null" }
]
},
"useExplicitType": {
"description": "Enforce types in functions, methods, variables, and parameters.\nSee https://biomejs.dev/linter/rules/use-explicit-type",
"anyOf": [
{ "$ref": "#/$defs/UseExplicitTypeConfiguration" },
{ "type": "null" }
]
},
"useFencedCodeLanguage": {
"description": "Enforce that fenced code blocks specify a code tag (language).\nSee https://biomejs.dev/linter/rules/use-fenced-code-language",
"anyOf": [
{ "$ref": "#/$defs/UseFencedCodeLanguageConfiguration" },
{ "type": "null" }
]
},
"useFlatMathMinMax": {
"description": "Prefer flat Math.min() and Math.max() calls over nested calls of the same method.\nSee https://biomejs.dev/linter/rules/use-flat-math-min-max",
"anyOf": [
{ "$ref": "#/$defs/UseFlatMathMinMaxConfiguration" },
{ "type": "null" }
]
},
"useIncludes": {
"description": "Prefer Array#includes() over Array#indexOf(), Array#lastIndexOf(), and Array#some() when checking for existence or non-existence.\nSee https://biomejs.dev/linter/rules/use-includes",
"anyOf": [
{ "$ref": "#/$defs/UseIncludesConfiguration" },
{ "type": "null" }
]
},
"useLayeredStyles": {
"description": "Enforce style rules to be defined within a cascade layer.\nSee https://biomejs.dev/linter/rules/use-layered-styles",
"anyOf": [
{ "$ref": "#/$defs/UseLayeredStylesConfiguration" },
{ "type": "null" }
]
},
"useLogicalProperties": {
"description": "Prefer logical CSS properties over physical properties.\nSee https://biomejs.dev/linter/rules/use-logical-properties",
"anyOf": [
{ "$ref": "#/$defs/UseLogicalPropertiesConfiguration" },
{ "type": "null" }
]
},
"useLowercaseTestTitle": {
"description": "Require test and test suite titles to start with a lowercase letter.\nSee https://biomejs.dev/linter/rules/use-lowercase-test-title",
"anyOf": [
{ "$ref": "#/$defs/UseLowercaseTestTitleConfiguration" },
{ "type": "null" }
]
},
"useMatchingFunctionName": {
"description": "Require function names to match the name of the variable or property they are assigned to.\nSee https://biomejs.dev/linter/rules/use-matching-function-name",
"anyOf": [
{ "$ref": "#/$defs/UseMatchingFunctionNameConfiguration" },
{ "type": "null" }
]
},
"useModernMathApis": {
"description": "Use modern Math APIs for common mathematical operations.\nSee https://biomejs.dev/linter/rules/use-modern-math-apis",
"anyOf": [
{ "$ref": "#/$defs/UseModernMathApisConfiguration" },
{ "type": "null" }
]
},
"useNamedFunction": {
"description": "Require function expressions to have a name.\nSee https://biomejs.dev/linter/rules/use-named-function",
"anyOf": [
{ "$ref": "#/$defs/UseNamedFunctionConfiguration" },
{ "type": "null" }
]
},
"useNamedLayer": {
"description": "Disallow anonymous cascade layers.\nSee https://biomejs.dev/linter/rules/use-named-layer",
"anyOf": [
{ "$ref": "#/$defs/UseNamedLayerConfiguration" },
{ "type": "null" }
]
},
"useNullishCoalescing": {
"description": "Enforce using the nullish coalescing operator (??) instead of logical or (||).\nSee https://biomejs.dev/linter/rules/use-nullish-coalescing",
"anyOf": [
{ "$ref": "#/$defs/UseNullishCoalescingConfiguration" },
{ "type": "null" }
]
},
"usePromiseRejectErrors": {
"description": "Require Error objects as Promise rejection reasons.\nSee https://biomejs.dev/linter/rules/use-promise-reject-errors",
"anyOf": [
{ "$ref": "#/$defs/UsePromiseRejectErrorsConfiguration" },
{ "type": "null" }
]
},
"useReactCompiler": {
"description": "Validate files with React Compiler.\nSee https://biomejs.dev/linter/rules/use-react-compiler",
"anyOf": [
{ "$ref": "#/$defs/UseReactCompilerConfiguration" },
{ "type": "null" }
]
},
"useReactFunctionComponentDefinition": {
"description": "Enforce a specific function type for React function components.\nSee https://biomejs.dev/linter/rules/use-react-function-component-definition",
"anyOf": [
{
"$ref": "#/$defs/UseReactFunctionComponentDefinitionConfiguration"
},
{ "type": "null" }
]
},
"useReactNamingConvention": {
"description": "Enforces naming conventions for React createContext, useId, and useRef.\nSee https://biomejs.dev/linter/rules/use-react-naming-convention",
"anyOf": [
{ "$ref": "#/$defs/UseReactNamingConventionConfiguration" },
{ "type": "null" }
]
},
"useRegexpExec": {
"description": "Enforce RegExp#exec over String#match if no global flag is provided.\nSee https://biomejs.dev/linter/rules/use-regexp-exec",
"anyOf": [
{ "$ref": "#/$defs/UseRegexpExecConfiguration" },
{ "type": "null" }
]
},
"useSimplifiedBooleanReturn": {
"description": "Return conditions directly instead of using if statements that only return true or false.\nSee https://biomejs.dev/linter/rules/use-simplified-boolean-return",
"anyOf": [
{ "$ref": "#/$defs/UseSimplifiedBooleanReturnConfiguration" },
{ "type": "null" }
]
},
"useSingleTopLevelHeading": {
"description": "Enforce that a Markdown document has a single top-level heading.\nSee https://biomejs.dev/linter/rules/use-single-top-level-heading",
"anyOf": [
{ "$ref": "#/$defs/UseSingleTopLevelHeadingConfiguration" },
{ "type": "null" }
]
},
"useStrictBooleanExpressions": {
"description": "Require unambiguous boolean expressions in conditions.\nSee https://biomejs.dev/linter/rules/use-strict-boolean-expressions",
"anyOf": [
{ "$ref": "#/$defs/UseStrictBooleanExpressionsConfiguration" },
{ "type": "null" }
]
},
"useStringStartsEndsWith": {
"description": "Prefer String#startsWith() and String#endsWith() over verbose prefix and suffix checks.\nSee https://biomejs.dev/linter/rules/use-string-starts-ends-with",
"anyOf": [
{ "$ref": "#/$defs/UseStringStartsEndsWithConfiguration" },
{ "type": "null" }
]
},
"useSvelteKitResolve": {
"description": "Require internal navigation in SvelteKit apps to use paths built with resolve().\nSee https://biomejs.dev/linter/rules/use-svelte-kit-resolve",
"anyOf": [
{ "$ref": "#/$defs/UseSvelteKitResolveConfiguration" },
{ "type": "null" }
]
},
"useSvelteKitRuneImports": {
"description": "Require importing SvelteKit's app state from $app/state instead of $app/stores.\nSee https://biomejs.dev/linter/rules/use-svelte-kit-rune-imports",
"anyOf": [
{ "$ref": "#/$defs/UseSvelteKitRuneImportsConfiguration" },
{ "type": "null" }
]
},
"useSvelteReactiveClasses": {
"description": "Require the reactive classes from svelte/reactivity instead of built-in objects that are modified.\nSee https://biomejs.dev/linter/rules/use-svelte-reactive-classes",
"anyOf": [
{ "$ref": "#/$defs/UseSvelteReactiveClassesConfiguration" },
{ "type": "null" }
]
},
"useSvelteRequireEachKey": {
"description": "Require keyed {#each} blocks in Svelte templates.\nSee https://biomejs.dev/linter/rules/use-svelte-require-each-key",
"anyOf": [
{ "$ref": "#/$defs/UseSvelteRequireEachKeyConfiguration" },
{ "type": "null" }
]
},
"useSvelteShorthandDirective": {
"description": "Enforce the shorthand syntax for Svelte bind:, class:, and style: directives.\nSee https://biomejs.dev/linter/rules/use-svelte-shorthand-directive",
"anyOf": [
{ "$ref": "#/$defs/UseSvelteShorthandDirectiveConfiguration" },
{ "type": "null" }
]
},
"useTailwindShorthandClasses": {
"description": "Enforce using fewer Tailwind utilities instead of multiple utilities that are functionally the same.\nSee https://biomejs.dev/linter/rules/use-tailwind-shorthand-classes",
"anyOf": [
{ "$ref": "#/$defs/UseTailwindShorthandClassesConfiguration" },
{ "type": "null" }
]
},
"useTailwindSortedClasses": {
"description": "Enforce the sorting of Tailwind CSS classes.\nSee https://biomejs.dev/linter/rules/use-tailwind-sorted-classes",
"anyOf": [
{ "$ref": "#/$defs/UseTailwindSortedClassesConfiguration" },
{ "type": "null" }
]
},
"useTailwindStaticClassStrings": {
"description": "Require complete, statically written class names.\nSee https://biomejs.dev/linter/rules/use-tailwind-static-class-strings",
"anyOf": [
{ "$ref": "#/$defs/UseTailwindStaticClassStringsConfiguration" },
{ "type": "null" }
]
},
"useTopLevelHeading": {
"description": "Require Markdown documents to start with a top-level heading.\nSee https://biomejs.dev/linter/rules/use-top-level-heading",
"anyOf": [
{ "$ref": "#/$defs/UseTopLevelHeadingConfiguration" },
{ "type": "null" }
]
},
"useUnaryMinus": {
"description": "Enforce the use of the unary minus operator over multiplying or dividing by -1.\nSee https://biomejs.dev/linter/rules/use-unary-minus",
"anyOf": [
{ "$ref": "#/$defs/UseUnaryMinusConfiguration" },
{ "type": "null" }
]
},
"useValidTestTitle": {
"description": "Enforce valid titles for unit test cases and test suites.\nSee https://biomejs.dev/linter/rules/use-valid-test-title",
"anyOf": [
{ "$ref": "#/$defs/UseValidTestTitleConfiguration" },
{ "type": "null" }
]
},
"useVueBaseImport": {
"description": "Enforce importing Vue's public entry point instead of internal Vue packages.\nSee https://biomejs.dev/linter/rules/use-vue-base-import",
"anyOf": [
{ "$ref": "#/$defs/UseVueBaseImportConfiguration" },
{ "type": "null" }
]
},
"useVueConsistentEventHyphenation": {
"description": "Enforce a consistent hyphenation style for event names in v-on directives on custom components.\nSee https://biomejs.dev/linter/rules/use-vue-consistent-event-hyphenation",
"anyOf": [
{ "$ref": "#/$defs/UseVueConsistentEventHyphenationConfiguration" },
{ "type": "null" }
]
},
"useVueMatchingComponentFileName": {
"description": "Enforce that the name of a Vue component matches its file name.\nSee https://biomejs.dev/linter/rules/use-vue-matching-component-file-name",
"anyOf": [
{ "$ref": "#/$defs/UseVueMatchingComponentFileNameConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"ObjectPropertySyntax": {
"oneOf": [
{
"description": "`{foo: foo}`",
"type": "string",
"const": "explicit"
},
{ "description": "`{foo}`", "type": "string", "const": "shorthand" }
]
},
"OperatorLinebreak": {
"oneOf": [
{
"description": "The operator is placed after the expression",
"type": "string",
"const": "after"
},
{
"description": "The operator is placed before the expression",
"type": "string",
"const": "before"
}
]
},
"OrganizeImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithOrganizeImportsOptions" }
]
},
"OrganizeImportsOptions": {
"type": "object",
"properties": {
"groups": {
"description": "Groups to change how imports and exports are sorted.",
"anyOf": [{ "$ref": "#/$defs/ImportGroups" }, { "type": "null" }]
},
"identifierOrder": {
"description": "Order used for sorting identifiers within imports and exports.\n\nDefault: `natural`.",
"anyOf": [{ "$ref": "#/$defs/SortOrder" }, { "type": "null" }]
},
"sortBareImports": {
"description": "If `true`, bare imports such as `import \"module\"` are sorted with other imports.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"OverrideAssistConfiguration": {
"type": "object",
"properties": {
"actions": {
"description": "The assist-action configuration for matched files.",
"anyOf": [{ "$ref": "#/$defs/Actions" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables assist actions for matched files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverrideFilesConfiguration": {
"type": "object",
"properties": {
"maxSize": {
"description": "The maximum source-file size in bytes for matched files.",
"anyOf": [{ "$ref": "#/$defs/MaxSize" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverrideFormatterConfiguration": {
"type": "object",
"properties": {
"attributePosition": {
"description": "The attribute position style in HTML-like languages.",
"anyOf": [{ "$ref": "#/$defs/AttributePosition" }, { "type": "null" }]
},
"bracketSameLine": {
"description": "Controls the placement of the closing bracket for multiline HTML and JSX opening tags. Biome\nplaces the bracket at the end of the last attribute line when enabled and on its own line when\ndisabled. This also affects self-closing HTML elements, but self-closing JSX elements are\nunaffected.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"bracketSpacing": {
"description": "Controls spaces inside braces in supported single-line structures. The affected structures\nvary by language.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }]
},
"delimiterSpacing": {
"description": "Controls spaces immediately inside supported delimiters when their content fits on one line.\nIt doesn't add spaces before opening delimiters or inside empty delimiters.\n\nThe affected delimiters vary by language. If unset, uses the configured formatter setting.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the formatter for matched files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"expand": {
"description": "Controls whether arrays and objects are formatted on one line or multiple lines.\n\n`auto` formats objects on multiple lines if the first property has a newline, and arrays on\none line if they fit.\n\n`always` formats arrays and objects on multiple lines.\n\n`never` formats arrays and objects on one line if they fit.\n\nIf unset, uses the configured formatter setting.\n\nWhen formatting `package.json`, Biome uses `always` unless configured otherwise.",
"anyOf": [{ "$ref": "#/$defs/Expand" }, { "type": "null" }]
},
"formatWithErrors": {
"description": "Allows formatting matched files that contain syntax errors.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentSize": {
"description": "The indentation width. Deprecated, use `indentWidth` instead.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"indentStyle": {
"description": "Uses tabs or spaces for indentation.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "Sets the indentation width. With space indentation, this is the number of spaces emitted per\nindentation level. With tab indentation, Biome emits one tab per level and uses this value as\nthe tab's display width when calculating line length. Accepted values are `0` through `24`.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The line ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "Sets the preferred maximum line width used when deciding where to wrap code. Some content,\nsuch as long unbreakable strings, may still exceed this width. Accepted values are `1` through\n`320`.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"trailingCommas": {
"description": "Prints trailing commas wherever possible in multiline comma-separated structures. This is a\nlegacy override option. Prefer `javascript.formatter.trailingCommas`.",
"anyOf": [{ "$ref": "#/$defs/JsTrailingCommas" }, { "type": "null" }]
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of matched files. Disabling this option can\ncause compatibility problems with other tools.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverrideGlobs": { "type": "array", "items": { "$ref": "#/$defs/Glob" } },
"OverrideLinterConfiguration": {
"type": "object",
"properties": {
"domains": {
"description": "The lint-domain configuration for matched files.",
"anyOf": [{ "$ref": "#/$defs/RuleDomains" }, { "type": "null" }]
},
"enabled": {
"description": "Enables or disables the linter for matched files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"rules": {
"description": "The lint-rule configuration for matched files.",
"anyOf": [{ "$ref": "#/$defs/Rules" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverridePattern": {
"type": "object",
"properties": {
"assist": {
"description": "Assist settings for matched files.",
"anyOf": [
{ "$ref": "#/$defs/OverrideAssistConfiguration" },
{ "type": "null" }
]
},
"css": {
"description": "CSS-specific settings for matched files.",
"anyOf": [{ "$ref": "#/$defs/CssConfiguration" }, { "type": "null" }]
},
"files": {
"description": "File-handling settings for matched files.",
"anyOf": [
{ "$ref": "#/$defs/OverrideFilesConfiguration" },
{ "type": "null" }
]
},
"formatter": {
"description": "Formatter settings for matched files.",
"anyOf": [
{ "$ref": "#/$defs/OverrideFormatterConfiguration" },
{ "type": "null" }
]
},
"graphql": {
"description": "GraphQL-specific settings for matched files.",
"anyOf": [
{ "$ref": "#/$defs/GraphqlConfiguration" },
{ "type": "null" }
]
},
"grit": {
"description": "GritQL-specific settings for matched files.",
"anyOf": [{ "$ref": "#/$defs/GritConfiguration" }, { "type": "null" }]
},
"html": {
"description": "HTML-specific settings for matched files.",
"anyOf": [{ "$ref": "#/$defs/HtmlConfiguration" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns selecting the files to which this override applies. If omitted, the\noverride applies to every file. An empty list applies to no files.",
"anyOf": [{ "$ref": "#/$defs/OverrideGlobs" }, { "type": "null" }]
},
"javascript": {
"description": "JavaScript-specific settings for matched files.",
"anyOf": [{ "$ref": "#/$defs/JsConfiguration" }, { "type": "null" }]
},
"json": {
"description": "JSON-specific settings for matched files.",
"anyOf": [{ "$ref": "#/$defs/JsonConfiguration" }, { "type": "null" }]
},
"linter": {
"description": "Linter settings for matched files.",
"anyOf": [
{ "$ref": "#/$defs/OverrideLinterConfiguration" },
{ "type": "null" }
]
},
"markdown": {
"description": "Specific configuration for the Markdown language",
"anyOf": [
{ "$ref": "#/$defs/MarkdownConfiguration" },
{ "type": "null" }
]
},
"plugins": {
"description": "Additional plugins for matched files.",
"anyOf": [{ "$ref": "#/$defs/Plugins" }, { "type": "null" }]
},
"yaml": {
"description": "Specific configuration for the YAML language",
"anyOf": [{ "$ref": "#/$defs/YamlConfiguration" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"Overrides": {
"description": "Configures settings for files selected by each override. When multiple overrides configure the\nsame single-value setting, the last matching override takes precedence.",
"type": "array",
"items": { "$ref": "#/$defs/OverridePattern" }
},
"PathOptions": {
"type": "object",
"properties": {
"allowImportNames": {
"description": "Names of the exported members that allowed to be not be used.",
"type": "array",
"items": { "type": "string" }
},
"importNames": {
"description": "Names of the exported members that should not be used.",
"type": "array",
"items": { "type": "string" }
},
"message": {
"description": "The message to display when this module is imported.",
"type": "string"
}
},
"additionalProperties": false
},
"Paths": {
"anyOf": [
{
"description": "The message to display when this module is imported.",
"type": "string"
},
{
"description": "Additional options to configure the message and allowed/disallowed import names.",
"$ref": "#/$defs/PathOptions"
}
]
},
"PatternOptions": {
"type": "object",
"properties": {
"group": {
"description": "An array of gitignore-style patterns.",
"anyOf": [{ "$ref": "#/$defs/SourcesMatcher" }, { "type": "null" }]
},
"importNamePattern": {
"description": "A regex pattern for import names to forbid within the matched modules.",
"anyOf": [{ "$ref": "#/$defs/Regex" }, { "type": "null" }]
},
"invertImportNamePattern": {
"description": "If true, the matched patterns in the importNamePattern will be allowed. Defaults to `false`.",
"type": "boolean",
"default": false
},
"message": {
"description": "A custom message for diagnostics related to this pattern.",
"type": ["string", "null"]
}
},
"additionalProperties": false
},
"Patterns": { "anyOf": [{ "$ref": "#/$defs/PatternOptions" }] },
"Performance": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noAccumulatingSpread": {
"description": "Disallow the use of spread (...) syntax on accumulators.\nSee https://biomejs.dev/linter/rules/no-accumulating-spread",
"anyOf": [
{ "$ref": "#/$defs/NoAccumulatingSpreadConfiguration" },
{ "type": "null" }
]
},
"noAwaitInLoops": {
"description": "Disallow await inside loops.\nSee https://biomejs.dev/linter/rules/no-await-in-loops",
"anyOf": [
{ "$ref": "#/$defs/NoAwaitInLoopsConfiguration" },
{ "type": "null" }
]
},
"noBarrelFile": {
"description": "Disallow the use of barrel file.\nSee https://biomejs.dev/linter/rules/no-barrel-file",
"anyOf": [
{ "$ref": "#/$defs/NoBarrelFileConfiguration" },
{ "type": "null" }
]
},
"noDelete": {
"description": "Disallow the use of the delete operator.\nSee https://biomejs.dev/linter/rules/no-delete",
"anyOf": [
{ "$ref": "#/$defs/NoDeleteConfiguration" },
{ "type": "null" }
]
},
"noDynamicNamespaceImportAccess": {
"description": "Disallow accessing namespace imports dynamically.\nSee https://biomejs.dev/linter/rules/no-dynamic-namespace-import-access",
"anyOf": [
{ "$ref": "#/$defs/NoDynamicNamespaceImportAccessConfiguration" },
{ "type": "null" }
]
},
"noImgElement": {
"description": "Prevent usage of \\<img> element in a Next.js project.\nSee https://biomejs.dev/linter/rules/no-img-element",
"anyOf": [
{ "$ref": "#/$defs/NoImgElementConfiguration" },
{ "type": "null" }
]
},
"noJsxPropsBind": {
"description": "Disallow .bind(), arrow functions, or function expressions in JSX props.\nSee https://biomejs.dev/linter/rules/no-jsx-props-bind",
"anyOf": [
{ "$ref": "#/$defs/NoJsxPropsBindConfiguration" },
{ "type": "null" }
]
},
"noNamespaceImport": {
"description": "Disallow the use of namespace imports.\nSee https://biomejs.dev/linter/rules/no-namespace-import",
"anyOf": [
{ "$ref": "#/$defs/NoNamespaceImportConfiguration" },
{ "type": "null" }
]
},
"noReExportAll": {
"description": "Avoid re-export all.\nSee https://biomejs.dev/linter/rules/no-re-export-all",
"anyOf": [
{ "$ref": "#/$defs/NoReExportAllConfiguration" },
{ "type": "null" }
]
},
"noSyncScripts": {
"description": "Disallow external scripts that block HTML parsing.\nSee https://biomejs.dev/linter/rules/no-sync-scripts",
"anyOf": [
{ "$ref": "#/$defs/NoSyncScriptsConfiguration" },
{ "type": "null" }
]
},
"noUnwantedPolyfillio": {
"description": "Prevent duplicate polyfills from Polyfill.io.\nSee https://biomejs.dev/linter/rules/no-unwanted-polyfillio",
"anyOf": [
{ "$ref": "#/$defs/NoUnwantedPolyfillioConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useDomNodeTextContent": {
"description": "Prefer .textContent over .innerText for DOM node text.\nSee https://biomejs.dev/linter/rules/use-dom-node-text-content",
"anyOf": [
{ "$ref": "#/$defs/UseDomNodeTextContentConfiguration" },
{ "type": "null" }
]
},
"useGoogleFontPreconnect": {
"description": "Ensure the preconnect attribute is used when using Google Fonts.\nSee https://biomejs.dev/linter/rules/use-google-font-preconnect",
"anyOf": [
{ "$ref": "#/$defs/UseGoogleFontPreconnectConfiguration" },
{ "type": "null" }
]
},
"useSolidForComponent": {
"description": "Enforce using Solid's \\<For /> component for mapping an array to JSX elements.\nSee https://biomejs.dev/linter/rules/use-solid-for-component",
"anyOf": [
{ "$ref": "#/$defs/UseSolidForComponentConfiguration" },
{ "type": "null" }
]
},
"useTopLevelRegex": {
"description": "Require regex literals to be declared at the top level.\nSee https://biomejs.dev/linter/rules/use-top-level-regex",
"anyOf": [
{ "$ref": "#/$defs/UseTopLevelRegexConfiguration" },
{ "type": "null" }
]
},
"useVueVapor": {
"description": "Enforce opting in to Vue Vapor mode in \\<script setup> blocks.\nSee https://biomejs.dev/linter/rules/use-vue-vapor",
"anyOf": [
{ "$ref": "#/$defs/UseVueVaporConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"PluginConfiguration": {
"description": "Configuration for one GritQL plugin.\n\nCan be either a path or package name string, or an object with options:\n\n```json\n{\n \"plugins\": [\n \"simple-plugin.grit\",\n \"@scope/biome-plugin\",\n { \"path\": \"scoped-plugin.grit\", \"includes\": [\"src/**/*.ts\"] },\n { \"path\": \"./local-plugin.grit\", \"includes\": [\"src/**/*.ts\"], \"resolutionKind\": \"config\" }\n ]\n}\n```",
"anyOf": [
{
"description": "A path or installed package name.",
"type": "string"
},
{
"description": "A plugin path with optional file filters.",
"$ref": "#/$defs/PluginWithOptions"
}
]
},
"PluginResolvePath": {
"oneOf": [
{
"description": "Resolve relative paths and package names from the consuming project.",
"type": "string",
"const": "project"
},
{
"description": "Resolve relative paths and package names from the configuration file\nthat declared the plugin.",
"type": "string",
"const": "config"
}
]
},
"PluginWithOptions": {
"description": "Plugin reference with additional options.",
"type": "object",
"properties": {
"includes": {
"description": "A list of glob patterns selecting files on which the plugin can run. Include a positive\npattern before exclusions such as `!**/*.test.ts`. If omitted, the plugin runs on every\nsupported file processed by the linter. An empty list matches no files.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"path": {
"description": "The path or installed package name.",
"type": "string"
},
"resolutionKind": {
"description": "Controls how the plugin is resolved.\n\nThis only affects plugin resolution. It does not change how `includes`\nare interpreted.\n\nWhen omitted, relative paths and package names are resolved from the\nconsuming project.",
"anyOf": [{ "$ref": "#/$defs/PluginResolvePath" }, { "type": "null" }]
}
},
"additionalProperties": false,
"required": ["path"]
},
"Plugins": {
"type": "array",
"items": { "$ref": "#/$defs/PluginConfiguration" }
},
"PresetConfig": {
"description": "A preset configuration for enabling a set of rules.",
"type": "string",
"enum": ["recommended", "all", "none"]
},
"PropertyAssignmentMode": {
"description": "Specifies whether property assignments on function parameters are allowed or denied.",
"oneOf": [
{
"description": "Allows property assignments on function parameters.\nThis is the default behavior, enabling flexibility in parameter usage.",
"type": "string",
"const": "allow"
},
{
"description": "Disallows property assignments on function parameters.\nEnforces stricter immutability to prevent unintended side effects.",
"type": "string",
"const": "deny"
}
]
},
"ProseWrap": {
"description": "Controls whether Biome keeps, adds, or removes line breaks in Markdown paragraphs.\n\nManual line breaks are always kept. In Markdown, a manual line break is created by ending a\nline with two spaces or a backslash.",
"oneOf": [
{
"description": "Keep line breaks as written in the source file. This is the default.",
"type": "string",
"const": "preserve"
},
{
"description": "Wrap paragraphs to fit the configured `lineWidth`.",
"type": "string",
"const": "always"
},
{
"description": "Remove line breaks from paragraphs so that each paragraph is on one line.",
"type": "string",
"const": "never"
}
]
},
"QuoteProperties": {
"oneOf": [
{
"description": "Removes quotes when the property name is valid without them.",
"type": "string",
"const": "asNeeded"
},
{
"description": "Preserves quotes around property names that were quoted in the input.",
"type": "string",
"const": "preserve"
}
]
},
"QuoteStyle": { "type": "string", "enum": ["double", "single"] },
"Regex": { "type": "string" },
"RestrictedModifier": {
"type": "string",
"enum": ["abstract", "private", "protected", "readonly", "static"]
},
"RestrictedPropertyEntry": {
"type": "object",
"properties": {
"allowObjects": {
"description": "Objects that are allowed when `property` is restricted globally.\n\nExample:\n`{ \"property\": \"__defineGetter__\", \"allowObjects\": [\"Object\"] }`",
"type": "array",
"items": { "type": "string" }
},
"allowProperties": {
"description": "Properties that are allowed when `object` is restricted globally.\n\nExample:\n`{ \"object\": \"arguments\", \"allowProperties\": [\"length\"] }`",
"type": "array",
"items": { "type": "string" }
},
"message": {
"description": "Optional custom note appended to the diagnostic.",
"type": ["string", "null"]
},
"object": {
"description": "Object name to restrict.\n\nExample: `\"require\"` or `\"Object\"`.",
"type": ["string", "null"]
},
"property": {
"description": "Property name to restrict.\n\nExample: `\"ensure\"` or `\"__defineGetter__\"`.",
"type": ["string", "null"]
}
},
"additionalProperties": false
},
"RuleAssistPlainConfiguration": {
"oneOf": [
{
"description": "Disables the assist rule.",
"type": "string",
"const": "off"
},
{
"description": "Enables the assist rule.",
"type": "string",
"const": "on"
}
]
},
"RuleAssistWithNoDuplicateClassesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateClassesOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithOrganizeImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/OrganizeImportsOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedAttributesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedAttributesOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedEnumMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedEnumMembersOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedInterfaceMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedInterfaceMembersOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedKeysOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedPackageJsonOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedPackageJsonOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedPropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedSelectionSetOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedSelectionSetOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleAssistWithUseSortedTypeFieldsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedTypeFieldsOptions" }
},
"additionalProperties": false,
"required": ["level", "options"]
},
"RuleDomainValue": {
"oneOf": [
{
"description": "Enables all rules in the domain.",
"type": "string",
"const": "all"
},
{
"description": "Disables the domain.",
"type": "string",
"const": "none"
},
{
"description": "Enables the domain's recommended non-nursery rules.",
"type": "string",
"const": "recommended"
}
]
},
"RuleDomains": {
"type": "object",
"properties": {
"astro": { "$ref": "#/$defs/RuleDomainValue" },
"drizzle": { "$ref": "#/$defs/RuleDomainValue" },
"next": { "$ref": "#/$defs/RuleDomainValue" },
"playwright": { "$ref": "#/$defs/RuleDomainValue" },
"project": { "$ref": "#/$defs/RuleDomainValue" },
"qwik": { "$ref": "#/$defs/RuleDomainValue" },
"react": { "$ref": "#/$defs/RuleDomainValue" },
"reactNative": { "$ref": "#/$defs/RuleDomainValue" },
"solid": { "$ref": "#/$defs/RuleDomainValue" },
"svelte": { "$ref": "#/$defs/RuleDomainValue" },
"tailwind": { "$ref": "#/$defs/RuleDomainValue" },
"test": { "$ref": "#/$defs/RuleDomainValue" },
"turborepo": { "$ref": "#/$defs/RuleDomainValue" },
"types": { "$ref": "#/$defs/RuleDomainValue" },
"vue": { "$ref": "#/$defs/RuleDomainValue" }
},
"additionalProperties": false
},
"RulePlainConfiguration": {
"oneOf": [
{
"description": "Disables the rule.",
"type": "string",
"const": "off"
},
{
"description": "Enables the rule using its individual default severity.",
"type": "string",
"const": "on"
},
{
"description": "Enables the rule and emits diagnostics with information severity.",
"type": "string",
"const": "info"
},
{
"description": "Enables the rule and emits diagnostics with warning severity.",
"type": "string",
"const": "warn"
},
{
"description": "Enables the rule and emits diagnostics with error severity.",
"type": "string",
"const": "error"
}
]
},
"RuleWithNoAccessKeyOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAccessKeyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAccidentalBitwiseOperatorsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAccidentalBitwiseOperatorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAccumulatingSpreadOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAccumulatingSpreadOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAdjacentSpacesInRegexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAdjacentSpacesInRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAlertOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAlertOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAmbiguousAnchorTextOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAmbiguousAnchorTextOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoApproximativeNumericConstantOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoApproximativeNumericConstantOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoArgumentsCallerOrCalleeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoArgumentsCallerOrCalleeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoArgumentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoArgumentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAriaHiddenOnFocusableOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAriaHiddenOnFocusableOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAriaUnsupportedElementsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAriaUnsupportedElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoArrayIndexKeyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoArrayIndexKeyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAssignInExpressionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAssignInExpressionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAstroConflictingSetDirectivesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAstroConflictingSetDirectivesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAstroSetHtmlDirectiveOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAstroSetHtmlDirectiveOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAsyncPromiseExecutorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAsyncPromiseExecutorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAutofocusOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAutofocusOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAwaitInLoopsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAwaitInLoopsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBannedTypesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBannedTypesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBarrelFileOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBarrelFileOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBaseToStringOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBaseToStringOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBeforeInteractiveScriptOutsideDocumentOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoBeforeInteractiveScriptOutsideDocumentOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBiomeFirstExceptionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBiomeFirstExceptionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBitwiseOperatorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBitwiseOperatorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBlankTargetOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBlankTargetOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoBunModulesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBunModulesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoCatchAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoCatchAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoChildrenPropOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoChildrenPropOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoClassAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoClassAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoCommaOperatorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoCommaOperatorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoCommentTextOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoCommentTextOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoCommonJsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoCommonJsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoCompareNegZeroOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoCompareNegZeroOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoComponentHookFactoriesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoComponentHookFactoriesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConditionalExpectOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConditionalExpectOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConfusingLabelsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConfusingLabelsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConfusingVoidTypeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConfusingVoidTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConsoleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConsoleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstAssignOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstEnumOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstEnumOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstantBinaryExpressionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstantBinaryExpressionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstantConditionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstantConditionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstantMathMinMaxClampOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstantMathMinMaxClampOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstructorReturnOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstructorReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoContinueOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoContinueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoControlCharactersInRegexOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoControlCharactersInRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDangerouslySetInnerHtmlOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDangerouslySetInnerHtmlOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDangerouslySetInnerHtmlWithChildrenOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoDangerouslySetInnerHtmlWithChildrenOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDebuggerOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDebuggerOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDefaultExportOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDefaultExportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDeleteOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDeleteOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDeprecatedImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDeprecatedImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDeprecatedMediaTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDeprecatedMediaTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDescendingSpecificityOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDescendingSpecificityOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDistractingElementsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDistractingElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDivRegexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDivRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDocumentCookieOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDocumentCookieOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDocumentImportInPageOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDocumentImportInPageOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDoneCallbackOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDoneCallbackOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDoubleComparisonOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDoubleComparisonOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDoubleEqualsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDoubleEqualsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDrizzleDeleteWithoutWhereOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDrizzleDeleteWithoutWhereOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDrizzleUpdateWithoutWhereOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDrizzleUpdateWithoutWhereOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateArgumentNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateArgumentNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateAtImportRulesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateAtImportRulesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateAttributesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateAttributesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateCaseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateCaseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateClassMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateClassMembersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateCustomPropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateCustomPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateDependenciesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateDependenciesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateElseIfOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateElseIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateEnumValueNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateEnumValueNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateEnumValuesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateEnumValuesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateFieldDefinitionNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateFieldDefinitionNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateFieldsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateFieldsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateFontNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateFontNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateGraphqlOperationNameOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateGraphqlOperationNameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateInputFieldNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateInputFieldNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateJsxPropsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateJsxPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateMapKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateMapKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateObjectKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateObjectKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateParametersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateParametersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicatePropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicatePropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateSelectorsKeyframeBlockOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoDuplicateSelectorsKeyframeBlockOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateSelectorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateSelectorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateTestHooksOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateTestHooksOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicateVariableNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateVariableNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDuplicatedSpreadPropsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicatedSpreadPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDynamicNamespaceImportAccessOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDynamicNamespaceImportAccessOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyBlockOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyBlockOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyBlockStatementsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyBlockStatementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyCharacterClassInRegexOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyCharacterClassInRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyInterfaceOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyInterfaceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyObjectKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyObjectKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyPatternOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyPatternOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptySourceOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptySourceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEmptyTypeParametersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEmptyTypeParametersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEnumOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEnumOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEqualsToNullOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEqualsToNullOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoEvolvingTypesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoEvolvingTypesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveClassesPerFileOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveClassesPerFileOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveCognitiveComplexityOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveCognitiveComplexityOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveLinesPerFileOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveLinesPerFileOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveLinesPerFunctionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveLinesPerFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveNestedCallbacksOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveNestedCallbacksOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveNestedTestSuitesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveNestedTestSuitesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveSelectorClassesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveSelectorClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExcessiveStatementsPerFunctionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExcessiveStatementsPerFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExplicitAnyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExplicitAnyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExportedImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExportedImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExportsInTestOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExportsInTestOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExtendNativeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExtendNativeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExtraBooleanCastOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExtraBooleanCastOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExtraNonNullAssertionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExtraNonNullAssertionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFallthroughSwitchClauseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFallthroughSwitchClauseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFlatMapIdentityOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFlatMapIdentityOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFloatingPromisesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFloatingPromisesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFocusedTestsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFocusedTestsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoForEachOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoForEachOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoForInOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoForInOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFunctionAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFunctionAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalDirnameFilenameOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalDirnameFilenameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalEvalOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalEvalOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalIsFiniteOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalIsFiniteOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalIsNanOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalIsNanOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalObjectCallsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalObjectCallsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoHeadElementOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoHeadElementOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoHeadImportInDocumentOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoHeadImportInDocumentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoHeaderScopeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoHeaderScopeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoHexColorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoHexColorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoIdenticalTestTitleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoIdenticalTestTitleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImgElementOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImgElementOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImplicitAnyLetOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImplicitAnyLetOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImplicitBooleanOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImplicitBooleanOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImplicitCoercionsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImplicitCoercionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImpliedEvalOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImpliedEvalOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImportAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImportAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImportCyclesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImportCyclesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImportantInKeyframeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImportantInKeyframeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImportantStylesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImportantStylesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoIncrementDecrementOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoIncrementDecrementOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInferrableTypesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInferrableTypesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInlineStylesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInlineStylesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInnerDeclarationsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInnerDeclarationsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInteractiveElementToNoninteractiveRoleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoInteractiveElementToNoninteractiveRoleOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidBuiltinInstantiationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidBuiltinInstantiationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidConstructorSuperOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidConstructorSuperOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidDirectionInLinearGradientOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoInvalidDirectionInLinearGradientOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidFileInputAcceptOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidFileInputAcceptOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidGridAreasOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidGridAreasOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidPositionAtImportRuleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidPositionAtImportRuleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidPropertyInitValueOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidPropertyInitValueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidThisOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidThisOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidUseBeforeDeclarationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInvalidUseBeforeDeclarationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoIrregularWhitespaceOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoIrregularWhitespaceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoJsRestrictedPropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoJsRestrictedPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoJsonUnsafeValuesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoJsonUnsafeValuesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoJsxLeakedDollarOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoJsxLeakedDollarOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoJsxLiteralsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoJsxLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoJsxNamespaceOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoJsxNamespaceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoJsxPropsBindOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoJsxPropsBindOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoLabelVarOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoLabelVarOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoLabelWithoutControlOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoLabelWithoutControlOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoLeakedRenderOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoLeakedRenderOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoLoopFuncOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoLoopFuncOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMagicNumbersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMagicNumbersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMeaninglessVoidOperatorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMeaninglessVoidOperatorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisleadingCharacterClassOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisleadingCharacterClassOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisleadingInstantiatorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisleadingInstantiatorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisleadingReturnTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisleadingReturnTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisplacedAssertionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisplacedAssertionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisplacedListElementsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisplacedListElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisrefactoredShorthandAssignOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisrefactoredShorthandAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMissingVarFunctionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMissingVarFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMisusedPromisesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMisusedPromisesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMultiAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMultiAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoMultilineStringOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoMultilineStringOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNamespaceImportOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNamespaceImportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNamespaceOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNamespaceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNegationElseOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNegationElseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNegationInEqualityCheckOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNegationInEqualityCheckOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNestedComponentDefinitionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNestedComponentDefinitionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNestedPromisesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNestedPromisesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNestedSwitchOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNestedSwitchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNestedTemplateLiteralsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNestedTemplateLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNestedTernaryOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNestedTernaryOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNextAsyncClientComponentOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNextAsyncClientComponentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNodejsModulesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNodejsModulesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNonNullAssertedOptionalChainOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNonNullAssertedOptionalChainOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNonNullAssertionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNonNullAssertionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNonScalableViewportOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNonScalableViewportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNoninteractiveElementInteractionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoNoninteractiveElementInteractionsOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNoninteractiveElementToInteractiveRoleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoNoninteractiveElementToInteractiveRoleOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNoninteractiveTabindexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNoninteractiveTabindexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNonoctalDecimalEscapeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNonoctalDecimalEscapeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoObjectConstructorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoObjectConstructorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoObsoleteTagsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoObsoleteTagsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoOctalEscapeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoOctalEscapeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoOctalOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoOctalOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoParameterAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoParameterAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoParameterPropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoParameterPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoParametersOnlyUsedInRecursionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoParametersOnlyUsedInRecursionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightElementHandleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightElementHandleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightEvalOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightEvalOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightForceOptionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightForceOptionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightMissingAwaitOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightMissingAwaitOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightNetworkidleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightNetworkidleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightPagePauseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightPagePauseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightUselessAwaitOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightUselessAwaitOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightWaitForNavigationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightWaitForNavigationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightWaitForSelectorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightWaitForSelectorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightWaitForTimeoutOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPlaywrightWaitForTimeoutOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPositiveTabindexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPositiveTabindexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPrecisionLossOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPrecisionLossOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPrivateImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPrivateImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoProcessEnvOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoProcessEnvOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoProcessExitOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoProcessExitOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoProcessGlobalOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoProcessGlobalOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPromiseExecutorReturnOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPromiseExecutorReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoProtoOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoProtoOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPrototypeBuiltinsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPrototypeBuiltinsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoQuickfixBiomeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoQuickfixBiomeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoQwikUseVisibleTaskOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoQwikUseVisibleTaskOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReExportAllOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReExportAllOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactForwardRefOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactForwardRefOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactNativeDeepImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactNativeDeepImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactNativeLiteralColorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactNativeLiteralColorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactNativeRawTextOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactNativeRawTextOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactObjectTypeAsDefaultPropOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactObjectTypeAsDefaultPropOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactPropAssignmentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactPropAssignmentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactSpecificPropsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactSpecificPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactStringRefsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactStringRefsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRedeclareOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRedeclareOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRedundantAltOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRedundantAltOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRedundantDefaultExportOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRedundantDefaultExportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRedundantRolesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRedundantRolesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRedundantUseStrictOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRedundantUseStrictOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRenderReturnValueOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRenderReturnValueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRestrictedDependenciesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRestrictedDependenciesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRestrictedElementsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRestrictedElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRestrictedGlobalsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRestrictedGlobalsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRestrictedImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRestrictedImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRestrictedTypesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRestrictedTypesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReturnAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReturnAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReturnInFinallyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReturnInFinallyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRootTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRootTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoScriptUrlOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoScriptUrlOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSecretsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSecretsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSelfAssignOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSelfAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSelfCompareOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSelfCompareOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSelfImportOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSelfImportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSetterReturnOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSetterReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoShadowOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoShadowOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoShadowRestrictedNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoShadowRestrictedNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoShorthandPropertyOverridesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoShorthandPropertyOverridesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoShoutyConstantsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoShoutyConstantsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSkippedTestsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSkippedTestsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSolidDestructuredPropsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSolidDestructuredPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSparseArrayOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSparseArrayOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoStaticElementInteractionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoStaticElementInteractionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoStaticOnlyClassOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoStaticOnlyClassOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoStringCaseMismatchOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoStringCaseMismatchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSubstrOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSubstrOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSuspiciousSemicolonInJsxOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSuspiciousSemicolonInJsxOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteAddEventListenerOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteAddEventListenerOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteAtDebugTagsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteAtDebugTagsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteAtHtmlTagsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteAtHtmlTagsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteExportLetOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteExportLetOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteInspectOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteInspectOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteLegacyConstOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteLegacyConstOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteObjectInTextMustachesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteObjectInTextMustachesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteUnnecessaryStateWrapOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteUnnecessaryStateWrapOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteUselessDerivedByOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteUselessDerivedByOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvgWithoutTitleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvgWithoutTitleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSwitchDeclarationsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSwitchDeclarationsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSyncScriptsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSyncScriptsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTailwindArbitraryValueOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTailwindArbitraryValueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTailwindLegacyUtilitiesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTailwindLegacyUtilitiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTailwindRawColorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTailwindRawColorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTailwindRestyledComponentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTailwindRestyledComponentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTemplateCurlyInStringOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTemplateCurlyInStringOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTernaryOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTernaryOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoThenPropertyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoThenPropertyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoThisInStaticOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoThisInStaticOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoThisOutsideOfClassOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoThisOutsideOfClassOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTopLevelLiteralsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTopLevelLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoTsIgnoreOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoTsIgnoreOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnassignedVariablesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnassignedVariablesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUndeclaredClassesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUndeclaredClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUndeclaredCustomPropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUndeclaredCustomPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUndeclaredDependenciesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUndeclaredDependenciesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUndeclaredEnvVarsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUndeclaredEnvVarsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUndeclaredVariablesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUndeclaredVariablesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownAtRulesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownAtRulesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownAttributeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownAttributeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownFunctionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownMediaFeatureNameOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownMediaFeatureNameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownPropertyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownPropertyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownPseudoClassOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownPseudoClassOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownPseudoElementOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownPseudoElementOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownTypeSelectorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownTypeSelectorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnknownUnitOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnknownUnitOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnmatchableAnbSelectorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnmatchableAnbSelectorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnmodifiedLoopConditionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnmodifiedLoopConditionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnnecessaryConditionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnnecessaryConditionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnnecessaryTemplateExpressionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnnecessaryTemplateExpressionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnreachableOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnreachableOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnreachableSuperOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnreachableSuperOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnresolvedImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnresolvedImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeDeclarationMergingOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeDeclarationMergingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeFinallyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeFinallyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeIframeSandboxOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeIframeSandboxOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeNegationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeNegationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeOptionalChainingOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeOptionalChainingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafePlusOperandsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafePlusOperandsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeTypeAssertionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeTypeAssertionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnsafeUnaryMinusOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnsafeUnaryMinusOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUntrustedLicensesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUntrustedLicensesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedClassesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedExpressionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedExpressionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedFunctionParametersOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedFunctionParametersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedImportsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedInstantiationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedInstantiationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedLabelsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedLabelsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedPrivateClassMembersOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedPrivateClassMembersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedTemplateLiteralOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedTemplateLiteralOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedVariablesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedVariablesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnwantedPolyfillioOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnwantedPolyfillioOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessAssignmentOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessAssignmentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessCatchBindingOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessCatchBindingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessCatchOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessCatchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessConstructorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessConstructorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessContinueOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessContinueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessDateGetTimeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessDateGetTimeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessElseOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessElseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessEmptyExportOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessEmptyExportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessEscapeInRegexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessEscapeInRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessEscapeInStringOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessEscapeInStringOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessFragmentsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessFragmentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessLabelOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessLabelOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessLoneBlockStatementsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessLoneBlockStatementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessRegexBackrefsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessRegexBackrefsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessRenameOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessRenameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessReturnOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessStringConcatOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessStringConcatOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessStringRawOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessStringRawOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessSwitchCaseOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessSwitchCaseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessTernaryOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessTernaryOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessThisAliasOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessThisAliasOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessTypeConstraintOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessTypeConstraintOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessTypeConversionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessTypeConversionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessUndefinedInitializationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessUndefinedInitializationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessUndefinedOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessUndefinedOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoValueAtRuleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoValueAtRuleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVarOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVarOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVoidElementsWithChildrenOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVoidElementsWithChildrenOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVoidOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVoidOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVoidTypeReturnOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVoidTypeReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueArrowFuncInWatchOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueArrowFuncInWatchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueBooleanDefaultOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueBooleanDefaultOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueDataObjectDeclarationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueDataObjectDeclarationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueDeprecatedScopedSlotsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueDeprecatedScopedSlotsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueDuplicateKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueDuplicateKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueImportCompilerMacrosOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueImportCompilerMacrosOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueOptionsApiOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueOptionsApiOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueRefAsOperandOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueRefAsOperandOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueRequiredPropWithDefaultOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueRequiredPropWithDefaultOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueReservedKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueReservedKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueReservedPropsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueReservedPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueRootVIfOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueRootVIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueSetupPropsReactivityLossOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueSetupPropsReactivityLossOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueUndeclaredDirectivesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueUndeclaredDirectivesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueVHtmlOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueVHtmlOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueVIfWithVForOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueVIfWithVForOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueVOnNumberValuesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueVOnNumberValuesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueVTextOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueVTextOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoWithOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoWithOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoXorAsExponentiationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoXorAsExponentiationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoYodaExpressionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoYodaExpressionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoZeroFractionsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoZeroFractionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAdjacentOverloadSignaturesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAdjacentOverloadSignaturesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAltTextOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAltTextOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAnchorContentOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAnchorContentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAriaActivedescendantWithTabindexOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UseAriaActivedescendantWithTabindexOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAriaPropsForRoleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAriaPropsForRoleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAriaPropsSupportedByRoleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAriaPropsSupportedByRoleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseArrayFindOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArrayFindOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseArrayLiteralsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArrayLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseArraySomeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArraySomeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseArraySortCompareOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArraySortCompareOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseArrowFunctionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArrowFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAsConstAssertionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAsConstAssertionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAstroClientOnlyDirectiveValueOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAstroClientOnlyDirectiveValueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAtIndexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAtIndexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAwaitOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAwaitOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAwaitThenableOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseAwaitThenableOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseBaselineOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseBaselineOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseBetterDomTraversingOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseBetterDomTraversingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseBigintLiteralsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseBigintLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseBiomeIgnoreFolderOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseBiomeIgnoreFolderOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseBlockStatementsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseBlockStatementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseButtonTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseButtonTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseCapitalizedConstructorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseCapitalizedConstructorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseCollapsedElseIfOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseCollapsedElseIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseCollapsedIfOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseCollapsedIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseComponentExportOnlyModulesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseComponentExportOnlyModulesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentArrayTypeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentArrayTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentArrowReturnOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentArrowReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentBlockLangOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentBlockLangOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentBuiltinInstantiationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UseConsistentBuiltinInstantiationOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentCurlyBracesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentCurlyBracesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentEnumValueTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentEnumValueTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentFunctionStyleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentFunctionStyleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentGraphqlDescriptionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentGraphqlDescriptionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentHeadingLevelOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentHeadingLevelOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentJsonFileReadOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentJsonFileReadOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentMemberAccessibilityOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentMemberAccessibilityOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentMethodSignaturesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentMethodSignaturesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentObjectDefinitionsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentObjectDefinitionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentObjectKeysOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentObjectKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentTestItOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentTestItOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentTypeDefinitionsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentTypeDefinitionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConstOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConstOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseControlLabelOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseControlLabelOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDateNowOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDateNowOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDefaultParameterLastOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDefaultParameterLastOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDefaultSwitchClauseLastOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDefaultSwitchClauseLastOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDefaultSwitchClauseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDefaultSwitchClauseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDeprecatedDateOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDeprecatedDateOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDeprecatedReasonOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDeprecatedReasonOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDestructuringOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDestructuringOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDisposablesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDisposablesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDomNodeTextContentOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDomNodeTextContentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDomQuerySelectorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDomQuerySelectorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseEnumInitializersOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseEnumInitializersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseErrorCauseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseErrorCauseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseErrorMessageOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseErrorMessageOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExhaustiveDependenciesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExhaustiveDependenciesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExhaustiveSwitchCasesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExhaustiveSwitchCasesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExpectOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExpectOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExplicitLengthCheckOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExplicitLengthCheckOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExplicitReturnTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExplicitReturnTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExplicitTypeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExplicitTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExponentiationOperatorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExponentiationOperatorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExportTypeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExportTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExportsLastOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExportsLastOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFencedCodeLanguageOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFencedCodeLanguageOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFilenamingConventionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFilenamingConventionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFlatMapOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFlatMapOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFlatMathMinMaxOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFlatMathMinMaxOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFocusableInteractiveOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFocusableInteractiveOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseForOfOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseForOfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFragmentSyntaxOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFragmentSyntaxOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGenericFontNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGenericFontNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGetterReturnOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGetterReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGlobalThisOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGlobalThisOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGoogleFontDisplayOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGoogleFontDisplayOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGoogleFontPreconnectOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGoogleFontPreconnectOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGraphqlNamedOperationsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGraphqlNamedOperationsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGraphqlNamingConventionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGraphqlNamingConventionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGroupedAccessorPairsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGroupedAccessorPairsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGuardForInOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGuardForInOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseHeadingContentOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseHeadingContentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseHookAtTopLevelOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseHookAtTopLevelOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseHtmlLangOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseHtmlLangOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIframeSandboxOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIframeSandboxOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIframeTitleOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIframeTitleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseImageSizeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseImageSizeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseImportExtensionsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseImportExtensionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseImportTypeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseImportTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseImportsFirstOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseImportsFirstOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIncludesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIncludesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIndexOfOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIndexOfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseInlineScriptIdOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseInlineScriptIdOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseInputNameOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseInputNameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIsArrayOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIsArrayOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIsNanOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIsNanOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIterableCallbackReturnOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIterableCallbackReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseJsonImportAttributesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseJsonImportAttributesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseJsxKeyInIterableOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseJsxKeyInIterableOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseKeyWithClickEventsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseKeyWithClickEventsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseKeyWithMouseEventsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseKeyWithMouseEventsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLayeredStylesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLayeredStylesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLiteralEnumMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLiteralEnumMembersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLiteralKeysOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLiteralKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLogicalPropertiesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLogicalPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLoneAnonymousOperationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLoneAnonymousOperationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLoneExecutableDefinitionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLoneExecutableDefinitionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLowercaseTestTitleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLowercaseTestTitleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseMatchingFunctionNameOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseMatchingFunctionNameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseMathMinMaxOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseMathMinMaxOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseMaxParamsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseMaxParamsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseMediaCaptionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseMediaCaptionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseModernMathApisOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseModernMathApisOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNamedCaptureGroupOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamedCaptureGroupOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNamedFunctionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamedFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNamedLayerOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamedLayerOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNamespaceKeywordOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamespaceKeywordOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNamingConventionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamingConventionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNodeAssertStrictOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNodeAssertStrictOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNodejsImportProtocolOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNodejsImportProtocolOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNullishCoalescingOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNullishCoalescingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumberNamespaceOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumberNamespaceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumberToFixedDigitsArgumentOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumberToFixedDigitsArgumentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumericLiteralsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumericLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumericSeparatorsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumericSeparatorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseObjectSpreadOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseObjectSpreadOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseOptionalChainOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseOptionalChainOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseParseIntRadixOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseParseIntRadixOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUsePlaywrightValidDescribeCallbackOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UsePlaywrightValidDescribeCallbackOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUsePromiseRejectErrorsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UsePromiseRejectErrorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseQwikClasslistOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseQwikClasslistOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseQwikLoaderLocationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseQwikLoaderLocationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseQwikMethodUsageOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseQwikMethodUsageOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseQwikValidLexicalScopeOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseQwikValidLexicalScopeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReactAsyncServerFunctionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReactAsyncServerFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReactCompilerOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReactCompilerOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReactFunctionComponentDefinitionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UseReactFunctionComponentDefinitionOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReactFunctionComponentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReactFunctionComponentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReactNamingConventionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReactNamingConventionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReactNativePlatformComponentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReactNativePlatformComponentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReadonlyClassPropertiesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReadonlyClassPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReduceTypeParameterOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReduceTypeParameterOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseRegexLiteralsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseRegexLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseRegexpExecOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseRegexpExecOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseRegexpTestOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseRegexpTestOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseRequiredScriptsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseRequiredScriptsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseScopedStylesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseScopedStylesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSelfClosingElementsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSelfClosingElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSemanticElementsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSemanticElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseShorthandAssignOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseShorthandAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseShorthandFunctionTypeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseShorthandFunctionTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSimpleNumberKeysOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSimpleNumberKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSimplifiedBooleanReturnOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSimplifiedBooleanReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSimplifiedLogicExpressionOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSimplifiedLogicExpressionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSingleJsDocAsteriskOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSingleJsDocAsteriskOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSingleTopLevelHeadingOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSingleTopLevelHeadingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSingleVarDeclaratorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSingleVarDeclaratorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSolidForComponentOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSolidForComponentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSpreadOverApplyOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSpreadOverApplyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStaticResponseMethodsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStaticResponseMethodsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStrictBooleanExpressionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStrictBooleanExpressionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStrictModeOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStrictModeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStringStartsEndsWithOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStringStartsEndsWithOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSvelteKitResolveOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSvelteKitResolveOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSvelteKitRuneImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSvelteKitRuneImportsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSvelteReactiveClassesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSvelteReactiveClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSvelteRequireEachKeyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSvelteRequireEachKeyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSvelteShorthandDirectiveOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSvelteShorthandDirectiveOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSymbolDescriptionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSymbolDescriptionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTailwindShorthandClassesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTailwindShorthandClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTailwindSortedClassesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTailwindSortedClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTailwindStaticClassStringsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTailwindStaticClassStringsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTemplateOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTemplateOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTestHooksInOrderOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTestHooksInOrderOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTestHooksOnTopOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTestHooksOnTopOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseThisInClassMethodsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseThisInClassMethodsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseThrowNewErrorOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseThrowNewErrorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseThrowOnlyErrorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseThrowOnlyErrorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTopLevelHeadingOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTopLevelHeadingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTopLevelRegexOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTopLevelRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTrimStartEndOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTrimStartEndOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseUnaryMinusOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseUnaryMinusOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseUnicodeRegexOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseUnicodeRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseUnifiedTypeSignaturesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseUnifiedTypeSignaturesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseUniqueElementIdsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseUniqueElementIdsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidAnchorOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidAnchorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidAriaPropsOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidAriaPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidAriaRoleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidAriaRoleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidAriaValuesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidAriaValuesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidAutocompleteOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidAutocompleteOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidForDirectionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidForDirectionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidLangOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidLangOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidTestTitleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidTestTitleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidTypeofOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidTypeofOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVarsOnTopOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVarsOnTopOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueBaseImportOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueBaseImportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueConsistentDefinePropsDeclarationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UseVueConsistentDefinePropsDeclarationOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueConsistentEventHyphenationOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueConsistentEventHyphenationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueConsistentVBindStyleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueConsistentVBindStyleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueConsistentVOnStyleOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueConsistentVOnStyleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueDefineMacrosOrderOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueDefineMacrosOrderOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueHyphenatedAttributesOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueHyphenatedAttributesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueMatchingComponentFileNameOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueMatchingComponentFileNameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueMultiWordComponentNamesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueMultiWordComponentNamesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueNextTickPromiseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueNextTickPromiseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueVForKeyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueVForKeyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidTemplateRootOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidTemplateRootOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVBindOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVBindOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVCloakOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVCloakOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVElseIfOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVElseIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVElseOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVElseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVForOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVForOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVHtmlOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVHtmlOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVIfOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVOnOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVOnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVOnceOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVOnceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVPreOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVPreOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVTextOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVTextOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueVaporOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueVaporOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseWhileOptions": {
"type": "object",
"properties": {
"fix": {
"description": "Controls the applicability of the rule's fix. `none` suppresses the fix, while `safe` and `unsafe` reclassify its applicability. This setting does not change the fix itself.",
"anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }]
},
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseWhileOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseYieldOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseYieldOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"Rules": {
"type": "object",
"properties": {
"a11y": {
"anyOf": [{ "$ref": "#/$defs/SeverityOrA11y" }, { "type": "null" }]
},
"complexity": {
"anyOf": [
{ "$ref": "#/$defs/SeverityOrComplexity" },
{ "type": "null" }
]
},
"correctness": {
"anyOf": [
{ "$ref": "#/$defs/SeverityOrCorrectness" },
{ "type": "null" }
]
},
"nursery": {
"anyOf": [{ "$ref": "#/$defs/SeverityOrNursery" }, { "type": "null" }]
},
"performance": {
"anyOf": [
{ "$ref": "#/$defs/SeverityOrPerformance" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules. `recommended` enables Biome's recommended\nnon-nursery rules, `all` enables all non-nursery rules, and `none` starts with no\nrules enabled. Group-level settings and explicit rule settings override this\npreset. Defaults to `recommended`.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables Biome's recommended non-nursery rules. Defaults to `true`.\n\n**Deprecated:** This option will be removed in the next major version. Use\n`linter.rules.preset` instead, or run `biome migrate` to update the configuration.",
"type": ["boolean", "null"]
},
"security": {
"anyOf": [
{ "$ref": "#/$defs/SeverityOrSecurity" },
{ "type": "null" }
]
},
"style": {
"anyOf": [{ "$ref": "#/$defs/SeverityOrStyle" }, { "type": "null" }]
},
"suspicious": {
"anyOf": [
{ "$ref": "#/$defs/SeverityOrSuspicious" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"Schema": { "type": "string" },
"Scope": { "type": "string", "enum": ["any", "global"] },
"Security": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noBlankTarget": {
"description": "Disallow target=\"_blank\" attribute without rel=\"noopener\".\nSee https://biomejs.dev/linter/rules/no-blank-target",
"anyOf": [
{ "$ref": "#/$defs/NoBlankTargetConfiguration" },
{ "type": "null" }
]
},
"noDangerouslySetInnerHtml": {
"description": "Disallow React's dangerouslySetInnerHTML property.\nSee https://biomejs.dev/linter/rules/no-dangerously-set-inner-html",
"anyOf": [
{ "$ref": "#/$defs/NoDangerouslySetInnerHtmlConfiguration" },
{ "type": "null" }
]
},
"noDangerouslySetInnerHtmlWithChildren": {
"description": "Report when a DOM element or a component uses both children and dangerouslySetInnerHTML prop.\nSee https://biomejs.dev/linter/rules/no-dangerously-set-inner-html-with-children",
"anyOf": [
{
"$ref": "#/$defs/NoDangerouslySetInnerHtmlWithChildrenConfiguration"
},
{ "type": "null" }
]
},
"noGlobalEval": {
"description": "Disallow the use of global eval().\nSee https://biomejs.dev/linter/rules/no-global-eval",
"anyOf": [
{ "$ref": "#/$defs/NoGlobalEvalConfiguration" },
{ "type": "null" }
]
},
"noScriptUrl": {
"description": "Disallow javascript: URLs in HTML.\nSee https://biomejs.dev/linter/rules/no-script-url",
"anyOf": [
{ "$ref": "#/$defs/NoScriptUrlConfiguration" },
{ "type": "null" }
]
},
"noSecrets": {
"description": "Disallow usage of sensitive data such as API keys and tokens.\nSee https://biomejs.dev/linter/rules/no-secrets",
"anyOf": [
{ "$ref": "#/$defs/NoSecretsConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useIframeSandbox": {
"description": "Require the sandbox attribute on \\<iframe> elements.\nSee https://biomejs.dev/linter/rules/use-iframe-sandbox",
"anyOf": [
{ "$ref": "#/$defs/UseIframeSandboxConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"Selector": {
"type": "object",
"properties": {
"kind": { "description": "Declaration kind", "$ref": "#/$defs/Kind" },
"modifiers": {
"description": "Modifiers used on the declaration",
"$ref": "#/$defs/Modifiers"
},
"scope": {
"description": "Scope of the declaration",
"$ref": "#/$defs/Scope"
}
},
"additionalProperties": false
},
"SelfCloseVoidElements": {
"description": "Controls whether HTML void elements such as `<img>` and `<input>` include a slash before `>`.",
"oneOf": [
{
"description": "Removes the slash, for example `<img src=\"image.png\">`.",
"type": "string",
"const": "never"
},
{
"description": "Adds the slash, for example `<img src=\"image.png\" />`.",
"type": "string",
"const": "always"
}
]
},
"Semicolons": { "type": "string", "enum": ["always", "asNeeded"] },
"SeverityOrA11y": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/A11y" }
]
},
"SeverityOrComplexity": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Complexity" }
]
},
"SeverityOrCorrectness": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Correctness" }
]
},
"SeverityOrNursery": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Nursery" }
]
},
"SeverityOrPerformance": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Performance" }
]
},
"SeverityOrSecurity": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Security" }
]
},
"SeverityOrStyle": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Style" }
]
},
"SeverityOrSuspicious": {
"anyOf": [
{ "$ref": "#/$defs/GroupPlainConfiguration" },
{ "$ref": "#/$defs/Suspicious" }
]
},
"SortOrder": { "type": "string", "enum": ["natural", "lexicographic"] },
"Source": {
"description": "Configures one group of assist actions.",
"type": "object",
"properties": {
"noDuplicateClasses": {
"description": "Remove repeated CSS class names from HTML class attributes.\nSee https://biomejs.dev/assist/actions/no-duplicate-classes",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateClassesConfiguration" },
{ "type": "null" }
]
},
"organizeImports": {
"description": "Organize imports and exports in JavaScript and TypeScript files.\nSee https://biomejs.dev/assist/actions/organize-imports",
"anyOf": [
{ "$ref": "#/$defs/OrganizeImportsConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of assist actions for this group. `recommended` enables\nthe group's recommended actions, `all` enables all actions in the group, and\n`none` starts with no actions enabled in the group. Explicit action settings\noverride this group preset, which overrides `assist.actions.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended actions in this group. The group's `preset`\nsetting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useSortedAttributes": {
"description": "Sort HTML attributes and framework directives into a consistent order.\nSee https://biomejs.dev/assist/actions/use-sorted-attributes",
"anyOf": [
{ "$ref": "#/$defs/UseSortedAttributesConfiguration" },
{ "type": "null" }
]
},
"useSortedEnumMembers": {
"description": "Sort GraphQL enum values in natural order.\nSee https://biomejs.dev/assist/actions/use-sorted-enum-members",
"anyOf": [
{ "$ref": "#/$defs/UseSortedEnumMembersConfiguration" },
{ "type": "null" }
]
},
"useSortedInterfaceMembers": {
"description": "Sort named members of a TypeScript interface.\nSee https://biomejs.dev/assist/actions/use-sorted-interface-members",
"anyOf": [
{ "$ref": "#/$defs/UseSortedInterfaceMembersConfiguration" },
{ "type": "null" }
]
},
"useSortedKeys": {
"description": "Sort keys in a JSON object.\nSee https://biomejs.dev/assist/actions/use-sorted-keys",
"anyOf": [
{ "$ref": "#/$defs/UseSortedKeysConfiguration" },
{ "type": "null" }
]
},
"useSortedPackageJson": {
"description": "Organize package.json fields according to established conventions.\nSee https://biomejs.dev/assist/actions/use-sorted-package-json",
"anyOf": [
{ "$ref": "#/$defs/UseSortedPackageJsonConfiguration" },
{ "type": "null" }
]
},
"useSortedProperties": {
"description": "Sort CSS properties and nested rules into a consistent order.\nSee https://biomejs.dev/assist/actions/use-sorted-properties",
"anyOf": [
{ "$ref": "#/$defs/UseSortedPropertiesConfiguration" },
{ "type": "null" }
]
},
"useSortedSelectionSet": {
"description": "Sort selections inside GraphQL operations and fragments.\nSee https://biomejs.dev/assist/actions/use-sorted-selection-set",
"anyOf": [
{ "$ref": "#/$defs/UseSortedSelectionSetConfiguration" },
{ "type": "null" }
]
},
"useSortedTypeFields": {
"description": "Sort fields in GraphQL type definitions by name.\nSee https://biomejs.dev/assist/actions/use-sorted-type-fields",
"anyOf": [
{ "$ref": "#/$defs/UseSortedTypeFieldsConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"SourceMatcher": {
"anyOf": [
{ "$ref": "#/$defs/NegatablePredefinedSourceMatcher" },
{ "$ref": "#/$defs/ImportSourceGlob" }
]
},
"SourcesMatcher": {
"anyOf": [
{ "$ref": "#/$defs/SourceMatcher" },
{ "type": "array", "items": { "$ref": "#/$defs/SourceMatcher" } }
]
},
"StableHookResult": {
"oneOf": [
{
"description": "Whether the hook has a stable result.",
"type": "boolean"
},
{
"description": "Used to indicate the hook returns an array and some of its indices have stable identities.",
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"maximum": 255,
"minimum": 0
},
"minItems": 1
},
{
"description": "Used to indicate the hook returns an object and some of its properties have stable identities.",
"type": "array",
"items": { "type": "string" },
"minItems": 1
}
]
},
"Style": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noCommonJs": {
"description": "Disallow use of CommonJs module system in favor of ESM style imports.\nSee https://biomejs.dev/linter/rules/no-common-js",
"anyOf": [
{ "$ref": "#/$defs/NoCommonJsConfiguration" },
{ "type": "null" }
]
},
"noContinue": {
"description": "Disallow continue statements.\nSee https://biomejs.dev/linter/rules/no-continue",
"anyOf": [
{ "$ref": "#/$defs/NoContinueConfiguration" },
{ "type": "null" }
]
},
"noDefaultExport": {
"description": "Disallow default exports.\nSee https://biomejs.dev/linter/rules/no-default-export",
"anyOf": [
{ "$ref": "#/$defs/NoDefaultExportConfiguration" },
{ "type": "null" }
]
},
"noDescendingSpecificity": {
"description": "Disallow lower-specificity selectors after higher-specificity selectors.\nSee https://biomejs.dev/linter/rules/no-descending-specificity",
"anyOf": [
{ "$ref": "#/$defs/NoDescendingSpecificityConfiguration" },
{ "type": "null" }
]
},
"noDoneCallback": {
"description": "Disallow using a callback in asynchronous tests and hooks.\nSee https://biomejs.dev/linter/rules/no-done-callback",
"anyOf": [
{ "$ref": "#/$defs/NoDoneCallbackConfiguration" },
{ "type": "null" }
]
},
"noEnum": {
"description": "Disallow TypeScript enum.\nSee https://biomejs.dev/linter/rules/no-enum",
"anyOf": [
{ "$ref": "#/$defs/NoEnumConfiguration" },
{ "type": "null" }
]
},
"noExcessiveClassesPerFile": {
"description": "Enforce a maximum number of classes per file.\nSee https://biomejs.dev/linter/rules/no-excessive-classes-per-file",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveClassesPerFileConfiguration" },
{ "type": "null" }
]
},
"noExcessiveLinesPerFile": {
"description": "Restrict the number of lines in a file.\nSee https://biomejs.dev/linter/rules/no-excessive-lines-per-file",
"anyOf": [
{ "$ref": "#/$defs/NoExcessiveLinesPerFileConfiguration" },
{ "type": "null" }
]
},
"noExportedImports": {
"description": "Disallow exporting an imported variable.\nSee https://biomejs.dev/linter/rules/no-exported-imports",
"anyOf": [
{ "$ref": "#/$defs/NoExportedImportsConfiguration" },
{ "type": "null" }
]
},
"noHeadElement": {
"description": "Prevent usage of \\<head> element in a Next.js project.\nSee https://biomejs.dev/linter/rules/no-head-element",
"anyOf": [
{ "$ref": "#/$defs/NoHeadElementConfiguration" },
{ "type": "null" }
]
},
"noHexColors": {
"description": "Disallow hex colors.\nSee https://biomejs.dev/linter/rules/no-hex-colors",
"anyOf": [
{ "$ref": "#/$defs/NoHexColorsConfiguration" },
{ "type": "null" }
]
},
"noImplicitBoolean": {
"description": "Disallow implicit true values on JSX boolean attributes.\nSee https://biomejs.dev/linter/rules/no-implicit-boolean",
"anyOf": [
{ "$ref": "#/$defs/NoImplicitBooleanConfiguration" },
{ "type": "null" }
]
},
"noIncrementDecrement": {
"description": "Disallows the usage of the unary operators ++ and --.\nSee https://biomejs.dev/linter/rules/no-increment-decrement",
"anyOf": [
{ "$ref": "#/$defs/NoIncrementDecrementConfiguration" },
{ "type": "null" }
]
},
"noInferrableTypes": {
"description": "Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.\nSee https://biomejs.dev/linter/rules/no-inferrable-types",
"anyOf": [
{ "$ref": "#/$defs/NoInferrableTypesConfiguration" },
{ "type": "null" }
]
},
"noInlineStyles": {
"description": "Disallow the use of inline styles.\nSee https://biomejs.dev/linter/rules/no-inline-styles",
"anyOf": [
{ "$ref": "#/$defs/NoInlineStylesConfiguration" },
{ "type": "null" }
]
},
"noJsxLiterals": {
"description": "Disallow string literals inside JSX elements.\nSee https://biomejs.dev/linter/rules/no-jsx-literals",
"anyOf": [
{ "$ref": "#/$defs/NoJsxLiteralsConfiguration" },
{ "type": "null" }
]
},
"noMagicNumbers": {
"description": "Reports usage of \"magic numbers\" — numbers used directly instead of being assigned to named constants.\nSee https://biomejs.dev/linter/rules/no-magic-numbers",
"anyOf": [
{ "$ref": "#/$defs/NoMagicNumbersConfiguration" },
{ "type": "null" }
]
},
"noMultiAssign": {
"description": "Disallow use of chained assignment expressions.\nSee https://biomejs.dev/linter/rules/no-multi-assign",
"anyOf": [
{ "$ref": "#/$defs/NoMultiAssignConfiguration" },
{ "type": "null" }
]
},
"noMultilineString": {
"description": "Disallow creating multiline strings by escaping newlines.\nSee https://biomejs.dev/linter/rules/no-multiline-string",
"anyOf": [
{ "$ref": "#/$defs/NoMultilineStringConfiguration" },
{ "type": "null" }
]
},
"noNamespace": {
"description": "Disallow the use of TypeScript's namespaces.\nSee https://biomejs.dev/linter/rules/no-namespace",
"anyOf": [
{ "$ref": "#/$defs/NoNamespaceConfiguration" },
{ "type": "null" }
]
},
"noNegationElse": {
"description": "Disallow negation in the condition of an if statement if it has an else clause.\nSee https://biomejs.dev/linter/rules/no-negation-else",
"anyOf": [
{ "$ref": "#/$defs/NoNegationElseConfiguration" },
{ "type": "null" }
]
},
"noNestedTernary": {
"description": "Disallow nested ternary expressions.\nSee https://biomejs.dev/linter/rules/no-nested-ternary",
"anyOf": [
{ "$ref": "#/$defs/NoNestedTernaryConfiguration" },
{ "type": "null" }
]
},
"noNonNullAssertion": {
"description": "Disallow non-null assertions using the ! postfix operator.\nSee https://biomejs.dev/linter/rules/no-non-null-assertion",
"anyOf": [
{ "$ref": "#/$defs/NoNonNullAssertionConfiguration" },
{ "type": "null" }
]
},
"noParameterAssign": {
"description": "Disallow reassigning function parameters.\nSee https://biomejs.dev/linter/rules/no-parameter-assign",
"anyOf": [
{ "$ref": "#/$defs/NoParameterAssignConfiguration" },
{ "type": "null" }
]
},
"noParameterProperties": {
"description": "Disallow the use of parameter properties in class constructors.\nSee https://biomejs.dev/linter/rules/no-parameter-properties",
"anyOf": [
{ "$ref": "#/$defs/NoParameterPropertiesConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightElementHandle": {
"description": "Disallow usage of element handles (page.$() and page.$$()).\nSee https://biomejs.dev/linter/rules/no-playwright-element-handle",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightElementHandleConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightEval": {
"description": "Disallow usage of page.$eval() and page.$$eval().\nSee https://biomejs.dev/linter/rules/no-playwright-eval",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightEvalConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightWaitForSelector": {
"description": "Disallow using page.waitForSelector().\nSee https://biomejs.dev/linter/rules/no-playwright-wait-for-selector",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightWaitForSelectorConfiguration" },
{ "type": "null" }
]
},
"noProcessEnv": {
"description": "Disallow the use of process.env.\nSee https://biomejs.dev/linter/rules/no-process-env",
"anyOf": [
{ "$ref": "#/$defs/NoProcessEnvConfiguration" },
{ "type": "null" }
]
},
"noReactNativeLiteralColors": {
"description": "Disallow color literals in React Native styles.\nSee https://biomejs.dev/linter/rules/no-react-native-literal-colors",
"anyOf": [
{ "$ref": "#/$defs/NoReactNativeLiteralColorsConfiguration" },
{ "type": "null" }
]
},
"noRestrictedGlobals": {
"description": "This rule allows you to specify global variable names that you don’t want to use in your application.\nSee https://biomejs.dev/linter/rules/no-restricted-globals",
"anyOf": [
{ "$ref": "#/$defs/NoRestrictedGlobalsConfiguration" },
{ "type": "null" }
]
},
"noRestrictedImports": {
"description": "Disallow specified modules when loaded by import or require.\nSee https://biomejs.dev/linter/rules/no-restricted-imports",
"anyOf": [
{ "$ref": "#/$defs/NoRestrictedImportsConfiguration" },
{ "type": "null" }
]
},
"noRestrictedTypes": {
"description": "Disallow user defined types.\nSee https://biomejs.dev/linter/rules/no-restricted-types",
"anyOf": [
{ "$ref": "#/$defs/NoRestrictedTypesConfiguration" },
{ "type": "null" }
]
},
"noRootType": {
"description": "Disallow configured GraphQL root operation types.\nSee https://biomejs.dev/linter/rules/no-root-type",
"anyOf": [
{ "$ref": "#/$defs/NoRootTypeConfiguration" },
{ "type": "null" }
]
},
"noShoutyConstants": {
"description": "Disallow constants whose string value is the same as their uppercase name.\nSee https://biomejs.dev/linter/rules/no-shouty-constants",
"anyOf": [
{ "$ref": "#/$defs/NoShoutyConstantsConfiguration" },
{ "type": "null" }
]
},
"noSubstr": {
"description": "Enforce the use of String.slice() over String.substr() and String.substring().\nSee https://biomejs.dev/linter/rules/no-substr",
"anyOf": [
{ "$ref": "#/$defs/NoSubstrConfiguration" },
{ "type": "null" }
]
},
"noTernary": {
"description": "Disallow ternary operators.\nSee https://biomejs.dev/linter/rules/no-ternary",
"anyOf": [
{ "$ref": "#/$defs/NoTernaryConfiguration" },
{ "type": "null" }
]
},
"noTopLevelLiterals": {
"description": "Require the JSON top-level value to be an array or object.\nSee https://biomejs.dev/linter/rules/no-top-level-literals",
"anyOf": [
{ "$ref": "#/$defs/NoTopLevelLiteralsConfiguration" },
{ "type": "null" }
]
},
"noUnusedTemplateLiteral": {
"description": "Disallow template literals if interpolation and special-character handling are not needed.\nSee https://biomejs.dev/linter/rules/no-unused-template-literal",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedTemplateLiteralConfiguration" },
{ "type": "null" }
]
},
"noUselessElse": {
"description": "Disallow else block when the if block breaks early.\nSee https://biomejs.dev/linter/rules/no-useless-else",
"anyOf": [
{ "$ref": "#/$defs/NoUselessElseConfiguration" },
{ "type": "null" }
]
},
"noValueAtRule": {
"description": "Disallow the @value rule in CSS Modules.\nSee https://biomejs.dev/linter/rules/no-value-at-rule",
"anyOf": [
{ "$ref": "#/$defs/NoValueAtRuleConfiguration" },
{ "type": "null" }
]
},
"noVueOptionsApi": {
"description": "Disallow the use of Vue Options API.\nSee https://biomejs.dev/linter/rules/no-vue-options-api",
"anyOf": [
{ "$ref": "#/$defs/NoVueOptionsApiConfiguration" },
{ "type": "null" }
]
},
"noYodaExpression": {
"description": "Disallow the use of yoda expressions.\nSee https://biomejs.dev/linter/rules/no-yoda-expression",
"anyOf": [
{ "$ref": "#/$defs/NoYodaExpressionConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useArrayLiterals": {
"description": "Disallow Array constructors.\nSee https://biomejs.dev/linter/rules/use-array-literals",
"anyOf": [
{ "$ref": "#/$defs/UseArrayLiteralsConfiguration" },
{ "type": "null" }
]
},
"useAsConstAssertion": {
"description": "Enforce the use of as const over literal type and type annotation.\nSee https://biomejs.dev/linter/rules/use-as-const-assertion",
"anyOf": [
{ "$ref": "#/$defs/UseAsConstAssertionConfiguration" },
{ "type": "null" }
]
},
"useAtIndex": {
"description": "Use at() instead of integer index access.\nSee https://biomejs.dev/linter/rules/use-at-index",
"anyOf": [
{ "$ref": "#/$defs/UseAtIndexConfiguration" },
{ "type": "null" }
]
},
"useBlockStatements": {
"description": "Requires following curly brace conventions.\nSee https://biomejs.dev/linter/rules/use-block-statements",
"anyOf": [
{ "$ref": "#/$defs/UseBlockStatementsConfiguration" },
{ "type": "null" }
]
},
"useCollapsedElseIf": {
"description": "Enforce using else if instead of nested if in else clauses.\nSee https://biomejs.dev/linter/rules/use-collapsed-else-if",
"anyOf": [
{ "$ref": "#/$defs/UseCollapsedElseIfConfiguration" },
{ "type": "null" }
]
},
"useCollapsedIf": {
"description": "Enforce using single if instead of nested if clauses.\nSee https://biomejs.dev/linter/rules/use-collapsed-if",
"anyOf": [
{ "$ref": "#/$defs/UseCollapsedIfConfiguration" },
{ "type": "null" }
]
},
"useComponentExportOnlyModules": {
"description": "Enforce declaring components only within modules that export React Components exclusively.\nSee https://biomejs.dev/linter/rules/use-component-export-only-modules",
"anyOf": [
{ "$ref": "#/$defs/UseComponentExportOnlyModulesConfiguration" },
{ "type": "null" }
]
},
"useConsistentArrayType": {
"description": "Require consistently using either T\\[] or Array\\<T>.\nSee https://biomejs.dev/linter/rules/use-consistent-array-type",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentArrayTypeConfiguration" },
{ "type": "null" }
]
},
"useConsistentArrowReturn": {
"description": "Enforce consistent arrow function bodies.\nSee https://biomejs.dev/linter/rules/use-consistent-arrow-return",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentArrowReturnConfiguration" },
{ "type": "null" }
]
},
"useConsistentBuiltinInstantiation": {
"description": "Enforce the use of new for all builtins, except String, Number and Boolean.\nSee https://biomejs.dev/linter/rules/use-consistent-builtin-instantiation",
"anyOf": [
{
"$ref": "#/$defs/UseConsistentBuiltinInstantiationConfiguration"
},
{ "type": "null" }
]
},
"useConsistentCurlyBraces": {
"description": "This rule enforces consistent use of curly braces inside JSX attributes and JSX children.\nSee https://biomejs.dev/linter/rules/use-consistent-curly-braces",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentCurlyBracesConfiguration" },
{ "type": "null" }
]
},
"useConsistentEnumValueType": {
"description": "Disallow enums from having both number and string members.\nSee https://biomejs.dev/linter/rules/use-consistent-enum-value-type",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentEnumValueTypeConfiguration" },
{ "type": "null" }
]
},
"useConsistentGraphqlDescriptions": {
"description": "Require one description style throughout a GraphQL schema.\nSee https://biomejs.dev/linter/rules/use-consistent-graphql-descriptions",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentGraphqlDescriptionsConfiguration" },
{ "type": "null" }
]
},
"useConsistentMemberAccessibility": {
"description": "Require consistent accessibility modifiers on class properties and methods.\nSee https://biomejs.dev/linter/rules/use-consistent-member-accessibility",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentMemberAccessibilityConfiguration" },
{ "type": "null" }
]
},
"useConsistentMethodSignatures": {
"description": "Enforce one syntax for functions declared in interfaces and type aliases.\nSee https://biomejs.dev/linter/rules/use-consistent-method-signatures",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentMethodSignaturesConfiguration" },
{ "type": "null" }
]
},
"useConsistentObjectDefinitions": {
"description": "Require the consistent declaration of object literals.\nSee https://biomejs.dev/linter/rules/use-consistent-object-definitions",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentObjectDefinitionsConfiguration" },
{ "type": "null" }
]
},
"useConsistentTestIt": {
"description": "Enforce consistent use of it or test for test functions.\nSee https://biomejs.dev/linter/rules/use-consistent-test-it",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentTestItConfiguration" },
{ "type": "null" }
]
},
"useConsistentTypeDefinitions": {
"description": "Enforce type definitions to consistently use either interface or type.\nSee https://biomejs.dev/linter/rules/use-consistent-type-definitions",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentTypeDefinitionsConfiguration" },
{ "type": "null" }
]
},
"useConst": {
"description": "Require const declarations for variables that are only assigned once.\nSee https://biomejs.dev/linter/rules/use-const",
"anyOf": [
{ "$ref": "#/$defs/UseConstConfiguration" },
{ "type": "null" }
]
},
"useDefaultParameterLast": {
"description": "Enforce default function parameters and optional function parameters to be last.\nSee https://biomejs.dev/linter/rules/use-default-parameter-last",
"anyOf": [
{ "$ref": "#/$defs/UseDefaultParameterLastConfiguration" },
{ "type": "null" }
]
},
"useDefaultSwitchClause": {
"description": "Require the default clause in switch statements.\nSee https://biomejs.dev/linter/rules/use-default-switch-clause",
"anyOf": [
{ "$ref": "#/$defs/UseDefaultSwitchClauseConfiguration" },
{ "type": "null" }
]
},
"useDeprecatedReason": {
"description": "Require a reason when using the @deprecated directive.\nSee https://biomejs.dev/linter/rules/use-deprecated-reason",
"anyOf": [
{ "$ref": "#/$defs/UseDeprecatedReasonConfiguration" },
{ "type": "null" }
]
},
"useDestructuring": {
"description": "Require destructuring from arrays and/or objects.\nSee https://biomejs.dev/linter/rules/use-destructuring",
"anyOf": [
{ "$ref": "#/$defs/UseDestructuringConfiguration" },
{ "type": "null" }
]
},
"useDomQuerySelector": {
"description": "Prefer querySelector() and querySelectorAll() over older DOM query APIs.\nSee https://biomejs.dev/linter/rules/use-dom-query-selector",
"anyOf": [
{ "$ref": "#/$defs/UseDomQuerySelectorConfiguration" },
{ "type": "null" }
]
},
"useEnumInitializers": {
"description": "Require that each enum member value be explicitly initialized.\nSee https://biomejs.dev/linter/rules/use-enum-initializers",
"anyOf": [
{ "$ref": "#/$defs/UseEnumInitializersConfiguration" },
{ "type": "null" }
]
},
"useErrorCause": {
"description": "Enforce that new Error() is thrown with the original error as cause.\nSee https://biomejs.dev/linter/rules/use-error-cause",
"anyOf": [
{ "$ref": "#/$defs/UseErrorCauseConfiguration" },
{ "type": "null" }
]
},
"useExplicitLengthCheck": {
"description": "Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.\nSee https://biomejs.dev/linter/rules/use-explicit-length-check",
"anyOf": [
{ "$ref": "#/$defs/UseExplicitLengthCheckConfiguration" },
{ "type": "null" }
]
},
"useExponentiationOperator": {
"description": "Disallow the use of Math.pow in favor of the ** operator.\nSee https://biomejs.dev/linter/rules/use-exponentiation-operator",
"anyOf": [
{ "$ref": "#/$defs/UseExponentiationOperatorConfiguration" },
{ "type": "null" }
]
},
"useExportType": {
"description": "Promotes the use of export type for types.\nSee https://biomejs.dev/linter/rules/use-export-type",
"anyOf": [
{ "$ref": "#/$defs/UseExportTypeConfiguration" },
{ "type": "null" }
]
},
"useExportsLast": {
"description": "Require that all exports are declared after all non-export statements.\nSee https://biomejs.dev/linter/rules/use-exports-last",
"anyOf": [
{ "$ref": "#/$defs/UseExportsLastConfiguration" },
{ "type": "null" }
]
},
"useFilenamingConvention": {
"description": "Enforce naming conventions for JavaScript and TypeScript filenames.\nSee https://biomejs.dev/linter/rules/use-filenaming-convention",
"anyOf": [
{ "$ref": "#/$defs/UseFilenamingConventionConfiguration" },
{ "type": "null" }
]
},
"useForOf": {
"description": "Prefer using for...of loops over standard for loops where possible.\nSee https://biomejs.dev/linter/rules/use-for-of",
"anyOf": [
{ "$ref": "#/$defs/UseForOfConfiguration" },
{ "type": "null" }
]
},
"useFragmentSyntax": {
"description": "This rule enforces the use of \\<>...\\</> over \\<Fragment>...\\</Fragment>.\nSee https://biomejs.dev/linter/rules/use-fragment-syntax",
"anyOf": [
{ "$ref": "#/$defs/UseFragmentSyntaxConfiguration" },
{ "type": "null" }
]
},
"useGlobalThis": {
"description": "Enforce the use of globalThis over window, self, and global.\nSee https://biomejs.dev/linter/rules/use-global-this",
"anyOf": [
{ "$ref": "#/$defs/UseGlobalThisConfiguration" },
{ "type": "null" }
]
},
"useGraphqlNamingConvention": {
"description": "Require uppercase names for GraphQL enum values.\nSee https://biomejs.dev/linter/rules/use-graphql-naming-convention",
"anyOf": [
{ "$ref": "#/$defs/UseGraphqlNamingConventionConfiguration" },
{ "type": "null" }
]
},
"useGroupedAccessorPairs": {
"description": "Enforce that getters and setters for the same property are adjacent in class and object definitions.\nSee https://biomejs.dev/linter/rules/use-grouped-accessor-pairs",
"anyOf": [
{ "$ref": "#/$defs/UseGroupedAccessorPairsConfiguration" },
{ "type": "null" }
]
},
"useImportType": {
"description": "Promotes the use of import type for types.\nSee https://biomejs.dev/linter/rules/use-import-type",
"anyOf": [
{ "$ref": "#/$defs/UseImportTypeConfiguration" },
{ "type": "null" }
]
},
"useImportsFirst": {
"description": "Enforce that all imports appear at the top of the module.\nSee https://biomejs.dev/linter/rules/use-imports-first",
"anyOf": [
{ "$ref": "#/$defs/UseImportsFirstConfiguration" },
{ "type": "null" }
]
},
"useInputName": {
"description": "Require mutation arguments to be named input.\nSee https://biomejs.dev/linter/rules/use-input-name",
"anyOf": [
{ "$ref": "#/$defs/UseInputNameConfiguration" },
{ "type": "null" }
]
},
"useLiteralEnumMembers": {
"description": "Require all enum members to be literal values.\nSee https://biomejs.dev/linter/rules/use-literal-enum-members",
"anyOf": [
{ "$ref": "#/$defs/UseLiteralEnumMembersConfiguration" },
{ "type": "null" }
]
},
"useLoneExecutableDefinition": {
"description": "Require one executable GraphQL definition per file.\nSee https://biomejs.dev/linter/rules/use-lone-executable-definition",
"anyOf": [
{ "$ref": "#/$defs/UseLoneExecutableDefinitionConfiguration" },
{ "type": "null" }
]
},
"useNamedCaptureGroup": {
"description": "Enforce using named capture groups in regular expression.\nSee https://biomejs.dev/linter/rules/use-named-capture-group",
"anyOf": [
{ "$ref": "#/$defs/UseNamedCaptureGroupConfiguration" },
{ "type": "null" }
]
},
"useNamingConvention": {
"description": "Enforce naming conventions for everything across a codebase.\nSee https://biomejs.dev/linter/rules/use-naming-convention",
"anyOf": [
{ "$ref": "#/$defs/UseNamingConventionConfiguration" },
{ "type": "null" }
]
},
"useNodeAssertStrict": {
"description": "Prefer node:assert/strict over node:assert.\nSee https://biomejs.dev/linter/rules/use-node-assert-strict",
"anyOf": [
{ "$ref": "#/$defs/UseNodeAssertStrictConfiguration" },
{ "type": "null" }
]
},
"useNodejsImportProtocol": {
"description": "Enforces using the node: protocol for Node.js builtin modules.\nSee https://biomejs.dev/linter/rules/use-nodejs-import-protocol",
"anyOf": [
{ "$ref": "#/$defs/UseNodejsImportProtocolConfiguration" },
{ "type": "null" }
]
},
"useNumberNamespace": {
"description": "Use the Number properties instead of global ones.\nSee https://biomejs.dev/linter/rules/use-number-namespace",
"anyOf": [
{ "$ref": "#/$defs/UseNumberNamespaceConfiguration" },
{ "type": "null" }
]
},
"useNumericSeparators": {
"description": "Enforce the use of numeric separators in numeric literals.\nSee https://biomejs.dev/linter/rules/use-numeric-separators",
"anyOf": [
{ "$ref": "#/$defs/UseNumericSeparatorsConfiguration" },
{ "type": "null" }
]
},
"useObjectSpread": {
"description": "Prefer object spread over Object.assign() when constructing new objects.\nSee https://biomejs.dev/linter/rules/use-object-spread",
"anyOf": [
{ "$ref": "#/$defs/UseObjectSpreadConfiguration" },
{ "type": "null" }
]
},
"useReactFunctionComponents": {
"description": "Enforce that components are defined as functions and never as classes.\nSee https://biomejs.dev/linter/rules/use-react-function-components",
"anyOf": [
{ "$ref": "#/$defs/UseReactFunctionComponentsConfiguration" },
{ "type": "null" }
]
},
"useReadonlyClassProperties": {
"description": "Enforce marking instance properties as readonly if they are never modified outside the constructor, and static properties as readonly if they are never reassigned.\nSee https://biomejs.dev/linter/rules/use-readonly-class-properties",
"anyOf": [
{ "$ref": "#/$defs/UseReadonlyClassPropertiesConfiguration" },
{ "type": "null" }
]
},
"useReduceTypeParameter": {
"description": "Enforce using a type parameter on Array#reduce instead of casting the initial value.\nSee https://biomejs.dev/linter/rules/use-reduce-type-parameter",
"anyOf": [
{ "$ref": "#/$defs/UseReduceTypeParameterConfiguration" },
{ "type": "null" }
]
},
"useSelfClosingElements": {
"description": "Prevent extra closing tags for components without children.\nSee https://biomejs.dev/linter/rules/use-self-closing-elements",
"anyOf": [
{ "$ref": "#/$defs/UseSelfClosingElementsConfiguration" },
{ "type": "null" }
]
},
"useShorthandAssign": {
"description": "Require assignment operator shorthand where possible.\nSee https://biomejs.dev/linter/rules/use-shorthand-assign",
"anyOf": [
{ "$ref": "#/$defs/UseShorthandAssignConfiguration" },
{ "type": "null" }
]
},
"useShorthandFunctionType": {
"description": "Enforce using function types instead of object type with call signatures.\nSee https://biomejs.dev/linter/rules/use-shorthand-function-type",
"anyOf": [
{ "$ref": "#/$defs/UseShorthandFunctionTypeConfiguration" },
{ "type": "null" }
]
},
"useSingleVarDeclarator": {
"description": "Disallow multiple variable declarations in the same variable statement.\nSee https://biomejs.dev/linter/rules/use-single-var-declarator",
"anyOf": [
{ "$ref": "#/$defs/UseSingleVarDeclaratorConfiguration" },
{ "type": "null" }
]
},
"useSpreadOverApply": {
"description": "Enforce the use of the spread operator over .apply().\nSee https://biomejs.dev/linter/rules/use-spread-over-apply",
"anyOf": [
{ "$ref": "#/$defs/UseSpreadOverApplyConfiguration" },
{ "type": "null" }
]
},
"useSymbolDescription": {
"description": "Require a description parameter for the Symbol().\nSee https://biomejs.dev/linter/rules/use-symbol-description",
"anyOf": [
{ "$ref": "#/$defs/UseSymbolDescriptionConfiguration" },
{ "type": "null" }
]
},
"useTemplate": {
"description": "Prefer template literals over string concatenation.\nSee https://biomejs.dev/linter/rules/use-template",
"anyOf": [
{ "$ref": "#/$defs/UseTemplateConfiguration" },
{ "type": "null" }
]
},
"useTestHooksInOrder": {
"description": "Enforce that test lifecycle hooks are declared in the order they execute.\nSee https://biomejs.dev/linter/rules/use-test-hooks-in-order",
"anyOf": [
{ "$ref": "#/$defs/UseTestHooksInOrderConfiguration" },
{ "type": "null" }
]
},
"useTestHooksOnTop": {
"description": "Enforce that lifecycle hooks appear before any test cases in the same block.\nSee https://biomejs.dev/linter/rules/use-test-hooks-on-top",
"anyOf": [
{ "$ref": "#/$defs/UseTestHooksOnTopConfiguration" },
{ "type": "null" }
]
},
"useThisInClassMethods": {
"description": "Enforce that class methods utilize this.\nSee https://biomejs.dev/linter/rules/use-this-in-class-methods",
"anyOf": [
{ "$ref": "#/$defs/UseThisInClassMethodsConfiguration" },
{ "type": "null" }
]
},
"useThrowNewError": {
"description": "Require new when throwing an error.\nSee https://biomejs.dev/linter/rules/use-throw-new-error",
"anyOf": [
{ "$ref": "#/$defs/UseThrowNewErrorConfiguration" },
{ "type": "null" }
]
},
"useThrowOnlyError": {
"description": "Disallow throwing non-Error values.\nSee https://biomejs.dev/linter/rules/use-throw-only-error",
"anyOf": [
{ "$ref": "#/$defs/UseThrowOnlyErrorConfiguration" },
{ "type": "null" }
]
},
"useTrimStartEnd": {
"description": "Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().\nSee https://biomejs.dev/linter/rules/use-trim-start-end",
"anyOf": [
{ "$ref": "#/$defs/UseTrimStartEndConfiguration" },
{ "type": "null" }
]
},
"useUnicodeRegex": {
"description": "Enforce the use of the u or v flag for regular expressions.\nSee https://biomejs.dev/linter/rules/use-unicode-regex",
"anyOf": [
{ "$ref": "#/$defs/UseUnicodeRegexConfiguration" },
{ "type": "null" }
]
},
"useUnifiedTypeSignatures": {
"description": "Disallow overload signatures that can be unified into a single signature.\nSee https://biomejs.dev/linter/rules/use-unified-type-signatures",
"anyOf": [
{ "$ref": "#/$defs/UseUnifiedTypeSignaturesConfiguration" },
{ "type": "null" }
]
},
"useVarsOnTop": {
"description": "Require var declarations to appear at the top of their containing scope.\nSee https://biomejs.dev/linter/rules/use-vars-on-top",
"anyOf": [
{ "$ref": "#/$defs/UseVarsOnTopConfiguration" },
{ "type": "null" }
]
},
"useVueConsistentDefinePropsDeclaration": {
"description": "Enforce a consistent declaration style for Vue's defineProps macro.\nSee https://biomejs.dev/linter/rules/use-vue-consistent-define-props-declaration",
"anyOf": [
{
"$ref": "#/$defs/UseVueConsistentDefinePropsDeclarationConfiguration"
},
{ "type": "null" }
]
},
"useVueConsistentVBindStyle": {
"description": "Enforce a consistent style for v-bind in Vue templates.\nSee https://biomejs.dev/linter/rules/use-vue-consistent-v-bind-style",
"anyOf": [
{ "$ref": "#/$defs/UseVueConsistentVBindStyleConfiguration" },
{ "type": "null" }
]
},
"useVueConsistentVOnStyle": {
"description": "Enforce a consistent style for v-on in Vue templates.\nSee https://biomejs.dev/linter/rules/use-vue-consistent-v-on-style",
"anyOf": [
{ "$ref": "#/$defs/UseVueConsistentVOnStyleConfiguration" },
{ "type": "null" }
]
},
"useVueDefineMacrosOrder": {
"description": "Enforce specific order of Vue compiler macros.\nSee https://biomejs.dev/linter/rules/use-vue-define-macros-order",
"anyOf": [
{ "$ref": "#/$defs/UseVueDefineMacrosOrderConfiguration" },
{ "type": "null" }
]
},
"useVueHyphenatedAttributes": {
"description": "Disallow uppercase letters in Vue template attribute names.\nSee https://biomejs.dev/linter/rules/use-vue-hyphenated-attributes",
"anyOf": [
{ "$ref": "#/$defs/UseVueHyphenatedAttributesConfiguration" },
{ "type": "null" }
]
},
"useVueMultiWordComponentNames": {
"description": "Enforce multi-word component names in Vue components.\nSee https://biomejs.dev/linter/rules/use-vue-multi-word-component-names",
"anyOf": [
{ "$ref": "#/$defs/UseVueMultiWordComponentNamesConfiguration" },
{ "type": "null" }
]
},
"useVueNextTickPromise": {
"description": "Enforces Promise syntax when using Vue nextTick.\nSee https://biomejs.dev/linter/rules/use-vue-next-tick-promise",
"anyOf": [
{ "$ref": "#/$defs/UseVueNextTickPromiseConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"Suspicious": {
"description": "Configures all rules in one lint group.",
"type": "object",
"properties": {
"noAlert": {
"description": "Disallow the use of alert, confirm, and prompt.\nSee https://biomejs.dev/linter/rules/no-alert",
"anyOf": [
{ "$ref": "#/$defs/NoAlertConfiguration" },
{ "type": "null" }
]
},
"noApproximativeNumericConstant": {
"description": "Use standard constants instead of approximated literals.\nSee https://biomejs.dev/linter/rules/no-approximative-numeric-constant",
"anyOf": [
{ "$ref": "#/$defs/NoApproximativeNumericConstantConfiguration" },
{ "type": "null" }
]
},
"noArrayIndexKey": {
"description": "Discourage the usage of Array index in keys.\nSee https://biomejs.dev/linter/rules/no-array-index-key",
"anyOf": [
{ "$ref": "#/$defs/NoArrayIndexKeyConfiguration" },
{ "type": "null" }
]
},
"noAssignInExpressions": {
"description": "Disallow assignments in expressions.\nSee https://biomejs.dev/linter/rules/no-assign-in-expressions",
"anyOf": [
{ "$ref": "#/$defs/NoAssignInExpressionsConfiguration" },
{ "type": "null" }
]
},
"noAsyncPromiseExecutor": {
"description": "Disallows using an async function as a Promise executor.\nSee https://biomejs.dev/linter/rules/no-async-promise-executor",
"anyOf": [
{ "$ref": "#/$defs/NoAsyncPromiseExecutorConfiguration" },
{ "type": "null" }
]
},
"noBiomeFirstException": {
"description": "Disallow ineffective ordering in files.includes patterns.\nSee https://biomejs.dev/linter/rules/no-biome-first-exception",
"anyOf": [
{ "$ref": "#/$defs/NoBiomeFirstExceptionConfiguration" },
{ "type": "null" }
]
},
"noBitwiseOperators": {
"description": "Disallow bitwise operators.\nSee https://biomejs.dev/linter/rules/no-bitwise-operators",
"anyOf": [
{ "$ref": "#/$defs/NoBitwiseOperatorsConfiguration" },
{ "type": "null" }
]
},
"noCatchAssign": {
"description": "Disallow reassigning exceptions in catch clauses.\nSee https://biomejs.dev/linter/rules/no-catch-assign",
"anyOf": [
{ "$ref": "#/$defs/NoCatchAssignConfiguration" },
{ "type": "null" }
]
},
"noClassAssign": {
"description": "Disallow reassigning class members.\nSee https://biomejs.dev/linter/rules/no-class-assign",
"anyOf": [
{ "$ref": "#/$defs/NoClassAssignConfiguration" },
{ "type": "null" }
]
},
"noCommentText": {
"description": "Prevent comments from being inserted as text nodes.\nSee https://biomejs.dev/linter/rules/no-comment-text",
"anyOf": [
{ "$ref": "#/$defs/NoCommentTextConfiguration" },
{ "type": "null" }
]
},
"noCompareNegZero": {
"description": "Disallow comparing against -0.\nSee https://biomejs.dev/linter/rules/no-compare-neg-zero",
"anyOf": [
{ "$ref": "#/$defs/NoCompareNegZeroConfiguration" },
{ "type": "null" }
]
},
"noConditionalExpect": {
"description": "Disallow conditional expect() calls inside tests.\nSee https://biomejs.dev/linter/rules/no-conditional-expect",
"anyOf": [
{ "$ref": "#/$defs/NoConditionalExpectConfiguration" },
{ "type": "null" }
]
},
"noConfusingLabels": {
"description": "Disallow labeled statements that are not loops.\nSee https://biomejs.dev/linter/rules/no-confusing-labels",
"anyOf": [
{ "$ref": "#/$defs/NoConfusingLabelsConfiguration" },
{ "type": "null" }
]
},
"noConfusingVoidType": {
"description": "Disallow void type outside of generic or return types.\nSee https://biomejs.dev/linter/rules/no-confusing-void-type",
"anyOf": [
{ "$ref": "#/$defs/NoConfusingVoidTypeConfiguration" },
{ "type": "null" }
]
},
"noConsole": {
"description": "Disallow the use of console.\nSee https://biomejs.dev/linter/rules/no-console",
"anyOf": [
{ "$ref": "#/$defs/NoConsoleConfiguration" },
{ "type": "null" }
]
},
"noConstEnum": {
"description": "Disallow TypeScript const enum.\nSee https://biomejs.dev/linter/rules/no-const-enum",
"anyOf": [
{ "$ref": "#/$defs/NoConstEnumConfiguration" },
{ "type": "null" }
]
},
"noConstantBinaryExpressions": {
"description": "Disallow expressions where the operation doesn't affect the value.\nSee https://biomejs.dev/linter/rules/no-constant-binary-expressions",
"anyOf": [
{ "$ref": "#/$defs/NoConstantBinaryExpressionsConfiguration" },
{ "type": "null" }
]
},
"noControlCharactersInRegex": {
"description": "Prevents from having control characters and some escape sequences that match control characters in regular expression literals.\nSee https://biomejs.dev/linter/rules/no-control-characters-in-regex",
"anyOf": [
{ "$ref": "#/$defs/NoControlCharactersInRegexConfiguration" },
{ "type": "null" }
]
},
"noDebugger": {
"description": "Disallow the use of debugger.\nSee https://biomejs.dev/linter/rules/no-debugger",
"anyOf": [
{ "$ref": "#/$defs/NoDebuggerConfiguration" },
{ "type": "null" }
]
},
"noDeprecatedImports": {
"description": "Restrict imports of deprecated exports.\nSee https://biomejs.dev/linter/rules/no-deprecated-imports",
"anyOf": [
{ "$ref": "#/$defs/NoDeprecatedImportsConfiguration" },
{ "type": "null" }
]
},
"noDeprecatedMediaType": {
"description": "Disallow deprecated media types.\nSee https://biomejs.dev/linter/rules/no-deprecated-media-type",
"anyOf": [
{ "$ref": "#/$defs/NoDeprecatedMediaTypeConfiguration" },
{ "type": "null" }
]
},
"noDocumentCookie": {
"description": "Disallow direct assignments to document.cookie.\nSee https://biomejs.dev/linter/rules/no-document-cookie",
"anyOf": [
{ "$ref": "#/$defs/NoDocumentCookieConfiguration" },
{ "type": "null" }
]
},
"noDocumentImportInPage": {
"description": "Prevents importing next/document outside of pages/_document.jsx in Next.js projects.\nSee https://biomejs.dev/linter/rules/no-document-import-in-page",
"anyOf": [
{ "$ref": "#/$defs/NoDocumentImportInPageConfiguration" },
{ "type": "null" }
]
},
"noDoubleEquals": {
"description": "Require the use of === and !==.\nSee https://biomejs.dev/linter/rules/no-double-equals",
"anyOf": [
{ "$ref": "#/$defs/NoDoubleEqualsConfiguration" },
{ "type": "null" }
]
},
"noDrizzleDeleteWithoutWhere": {
"description": "Require .where() to be called when using .delete() with Drizzle ORM.\nSee https://biomejs.dev/linter/rules/no-drizzle-delete-without-where",
"anyOf": [
{ "$ref": "#/$defs/NoDrizzleDeleteWithoutWhereConfiguration" },
{ "type": "null" }
]
},
"noDrizzleUpdateWithoutWhere": {
"description": "Require .where() to be called when using .update() with Drizzle ORM.\nSee https://biomejs.dev/linter/rules/no-drizzle-update-without-where",
"anyOf": [
{ "$ref": "#/$defs/NoDrizzleUpdateWithoutWhereConfiguration" },
{ "type": "null" }
]
},
"noDuplicateAtImportRules": {
"description": "Disallow duplicate @import rules.\nSee https://biomejs.dev/linter/rules/no-duplicate-at-import-rules",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateAtImportRulesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateCase": {
"description": "Disallow duplicate case labels.\nSee https://biomejs.dev/linter/rules/no-duplicate-case",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateCaseConfiguration" },
{ "type": "null" }
]
},
"noDuplicateClassMembers": {
"description": "Disallow duplicate class members.\nSee https://biomejs.dev/linter/rules/no-duplicate-class-members",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateClassMembersConfiguration" },
{ "type": "null" }
]
},
"noDuplicateCustomProperties": {
"description": "Disallow duplicate custom properties within declaration blocks.\nSee https://biomejs.dev/linter/rules/no-duplicate-custom-properties",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateCustomPropertiesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateDependencies": {
"description": "Disallow duplicate dependencies in package.json.\nSee https://biomejs.dev/linter/rules/no-duplicate-dependencies",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateDependenciesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateElseIf": {
"description": "Disallow duplicate conditions in if-else-if chains.\nSee https://biomejs.dev/linter/rules/no-duplicate-else-if",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateElseIfConfiguration" },
{ "type": "null" }
]
},
"noDuplicateEnumValues": {
"description": "Disallow duplicate enum member values.\nSee https://biomejs.dev/linter/rules/no-duplicate-enum-values",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateEnumValuesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateFields": {
"description": "Disallow duplicate names inside GraphQL operations.\nSee https://biomejs.dev/linter/rules/no-duplicate-fields",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateFieldsConfiguration" },
{ "type": "null" }
]
},
"noDuplicateFontNames": {
"description": "Disallow duplicate names in font-family lists.\nSee https://biomejs.dev/linter/rules/no-duplicate-font-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateFontNamesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateGraphqlOperationName": {
"description": "Require unique operation names within a GraphQL document.\nSee https://biomejs.dev/linter/rules/no-duplicate-graphql-operation-name",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateGraphqlOperationNameConfiguration" },
{ "type": "null" }
]
},
"noDuplicateJsxProps": {
"description": "Disallow duplicate JSX properties.\nSee https://biomejs.dev/linter/rules/no-duplicate-jsx-props",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateJsxPropsConfiguration" },
{ "type": "null" }
]
},
"noDuplicateObjectKeys": {
"description": "Disallow duplicate keys in JSON objects.\nSee https://biomejs.dev/linter/rules/no-duplicate-object-keys",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateObjectKeysConfiguration" },
{ "type": "null" }
]
},
"noDuplicateParameters": {
"description": "Disallow duplicate function parameter name.\nSee https://biomejs.dev/linter/rules/no-duplicate-parameters",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateParametersConfiguration" },
{ "type": "null" }
]
},
"noDuplicateProperties": {
"description": "Disallow duplicate properties within declaration blocks.\nSee https://biomejs.dev/linter/rules/no-duplicate-properties",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicatePropertiesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateSelectors": {
"description": "Disallow duplicate selectors.\nSee https://biomejs.dev/linter/rules/no-duplicate-selectors",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateSelectorsConfiguration" },
{ "type": "null" }
]
},
"noDuplicateSelectorsKeyframeBlock": {
"description": "Disallow duplicate selectors within keyframe blocks.\nSee https://biomejs.dev/linter/rules/no-duplicate-selectors-keyframe-block",
"anyOf": [
{
"$ref": "#/$defs/NoDuplicateSelectorsKeyframeBlockConfiguration"
},
{ "type": "null" }
]
},
"noDuplicateTestHooks": {
"description": "A describe block should not contain duplicate hooks.\nSee https://biomejs.dev/linter/rules/no-duplicate-test-hooks",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateTestHooksConfiguration" },
{ "type": "null" }
]
},
"noDuplicatedSpreadProps": {
"description": "Disallow JSX prop spreading the same identifier multiple times.\nSee https://biomejs.dev/linter/rules/no-duplicated-spread-props",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicatedSpreadPropsConfiguration" },
{ "type": "null" }
]
},
"noEmptyBlock": {
"description": "Disallow empty CSS blocks.\nSee https://biomejs.dev/linter/rules/no-empty-block",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyBlockConfiguration" },
{ "type": "null" }
]
},
"noEmptyBlockStatements": {
"description": "Disallow empty block statements and static blocks.\nSee https://biomejs.dev/linter/rules/no-empty-block-statements",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyBlockStatementsConfiguration" },
{ "type": "null" }
]
},
"noEmptyInterface": {
"description": "Disallow the declaration of empty interfaces.\nSee https://biomejs.dev/linter/rules/no-empty-interface",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyInterfaceConfiguration" },
{ "type": "null" }
]
},
"noEmptyObjectKeys": {
"description": "Disallow empty keys in JSON objects.\nSee https://biomejs.dev/linter/rules/no-empty-object-keys",
"anyOf": [
{ "$ref": "#/$defs/NoEmptyObjectKeysConfiguration" },
{ "type": "null" }
]
},
"noEmptySource": {
"description": "Disallow empty sources.\nSee https://biomejs.dev/linter/rules/no-empty-source",
"anyOf": [
{ "$ref": "#/$defs/NoEmptySourceConfiguration" },
{ "type": "null" }
]
},
"noEqualsToNull": {
"description": "Require the use of === or !== for comparison with null.\nSee https://biomejs.dev/linter/rules/no-equals-to-null",
"anyOf": [
{ "$ref": "#/$defs/NoEqualsToNullConfiguration" },
{ "type": "null" }
]
},
"noEvolvingTypes": {
"description": "Disallow variables from evolving into any type through reassignments.\nSee https://biomejs.dev/linter/rules/no-evolving-types",
"anyOf": [
{ "$ref": "#/$defs/NoEvolvingTypesConfiguration" },
{ "type": "null" }
]
},
"noExplicitAny": {
"description": "Disallow the any type usage.\nSee https://biomejs.dev/linter/rules/no-explicit-any",
"anyOf": [
{ "$ref": "#/$defs/NoExplicitAnyConfiguration" },
{ "type": "null" }
]
},
"noExportsInTest": {
"description": "Disallow using export or module.exports in files containing tests.\nSee https://biomejs.dev/linter/rules/no-exports-in-test",
"anyOf": [
{ "$ref": "#/$defs/NoExportsInTestConfiguration" },
{ "type": "null" }
]
},
"noExtraNonNullAssertion": {
"description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.\nSee https://biomejs.dev/linter/rules/no-extra-non-null-assertion",
"anyOf": [
{ "$ref": "#/$defs/NoExtraNonNullAssertionConfiguration" },
{ "type": "null" }
]
},
"noFallthroughSwitchClause": {
"description": "Disallow fallthrough of switch clauses.\nSee https://biomejs.dev/linter/rules/no-fallthrough-switch-clause",
"anyOf": [
{ "$ref": "#/$defs/NoFallthroughSwitchClauseConfiguration" },
{ "type": "null" }
]
},
"noFocusedTests": {
"description": "Disallow focused tests.\nSee https://biomejs.dev/linter/rules/no-focused-tests",
"anyOf": [
{ "$ref": "#/$defs/NoFocusedTestsConfiguration" },
{ "type": "null" }
]
},
"noForIn": {
"description": "Disallow iterating using a for-in loop.\nSee https://biomejs.dev/linter/rules/no-for-in",
"anyOf": [
{ "$ref": "#/$defs/NoForInConfiguration" },
{ "type": "null" }
]
},
"noFunctionAssign": {
"description": "Disallow reassigning function declarations.\nSee https://biomejs.dev/linter/rules/no-function-assign",
"anyOf": [
{ "$ref": "#/$defs/NoFunctionAssignConfiguration" },
{ "type": "null" }
]
},
"noGlobalAssign": {
"description": "Disallow assignments to native objects and read-only global variables.\nSee https://biomejs.dev/linter/rules/no-global-assign",
"anyOf": [
{ "$ref": "#/$defs/NoGlobalAssignConfiguration" },
{ "type": "null" }
]
},
"noGlobalIsFinite": {
"description": "Use Number.isFinite instead of global isFinite.\nSee https://biomejs.dev/linter/rules/no-global-is-finite",
"anyOf": [
{ "$ref": "#/$defs/NoGlobalIsFiniteConfiguration" },
{ "type": "null" }
]
},
"noGlobalIsNan": {
"description": "Use Number.isNaN instead of global isNaN.\nSee https://biomejs.dev/linter/rules/no-global-is-nan",
"anyOf": [
{ "$ref": "#/$defs/NoGlobalIsNanConfiguration" },
{ "type": "null" }
]
},
"noHeadImportInDocument": {
"description": "Prevent using the next/head module in pages/_document.js on Next.js projects.\nSee https://biomejs.dev/linter/rules/no-head-import-in-document",
"anyOf": [
{ "$ref": "#/$defs/NoHeadImportInDocumentConfiguration" },
{ "type": "null" }
]
},
"noIdenticalTestTitle": {
"description": "Disallow identical titles in test suites and test cases.\nSee https://biomejs.dev/linter/rules/no-identical-test-title",
"anyOf": [
{ "$ref": "#/$defs/NoIdenticalTestTitleConfiguration" },
{ "type": "null" }
]
},
"noImplicitAnyLet": {
"description": "Disallow use of implicit any type on variable declarations.\nSee https://biomejs.dev/linter/rules/no-implicit-any-let",
"anyOf": [
{ "$ref": "#/$defs/NoImplicitAnyLetConfiguration" },
{ "type": "null" }
]
},
"noImportAssign": {
"description": "Disallow assigning a new value to an imported variable.\nSee https://biomejs.dev/linter/rules/no-import-assign",
"anyOf": [
{ "$ref": "#/$defs/NoImportAssignConfiguration" },
{ "type": "null" }
]
},
"noImportCycles": {
"description": "Prevent import cycles.\nSee https://biomejs.dev/linter/rules/no-import-cycles",
"anyOf": [
{ "$ref": "#/$defs/NoImportCyclesConfiguration" },
{ "type": "null" }
]
},
"noImportantInKeyframe": {
"description": "Disallow !important in @keyframes declarations.\nSee https://biomejs.dev/linter/rules/no-important-in-keyframe",
"anyOf": [
{ "$ref": "#/$defs/NoImportantInKeyframeConfiguration" },
{ "type": "null" }
]
},
"noIrregularWhitespace": {
"description": "Disallow whitespace characters that CSS does not treat as normal spaces.\nSee https://biomejs.dev/linter/rules/no-irregular-whitespace",
"anyOf": [
{ "$ref": "#/$defs/NoIrregularWhitespaceConfiguration" },
{ "type": "null" }
]
},
"noJsxLeakedDollar": {
"description": "Flags text nodes with a trailing $ before a JSX expression.\nSee https://biomejs.dev/linter/rules/no-jsx-leaked-dollar",
"anyOf": [
{ "$ref": "#/$defs/NoJsxLeakedDollarConfiguration" },
{ "type": "null" }
]
},
"noLabelVar": {
"description": "Disallow labels that share a name with a variable.\nSee https://biomejs.dev/linter/rules/no-label-var",
"anyOf": [
{ "$ref": "#/$defs/NoLabelVarConfiguration" },
{ "type": "null" }
]
},
"noLeakedRender": {
"description": "Prevent problematic leaked values from being rendered.\nSee https://biomejs.dev/linter/rules/no-leaked-render",
"anyOf": [
{ "$ref": "#/$defs/NoLeakedRenderConfiguration" },
{ "type": "null" }
]
},
"noLoopFunc": {
"description": "Disallow functions created inside loops when they use variables that can change.\nSee https://biomejs.dev/linter/rules/no-loop-func",
"anyOf": [
{ "$ref": "#/$defs/NoLoopFuncConfiguration" },
{ "type": "null" }
]
},
"noMisleadingCharacterClass": {
"description": "Disallow characters made with multiple code points in character class syntax.\nSee https://biomejs.dev/linter/rules/no-misleading-character-class",
"anyOf": [
{ "$ref": "#/$defs/NoMisleadingCharacterClassConfiguration" },
{ "type": "null" }
]
},
"noMisleadingInstantiator": {
"description": "Enforce proper usage of new and constructor.\nSee https://biomejs.dev/linter/rules/no-misleading-instantiator",
"anyOf": [
{ "$ref": "#/$defs/NoMisleadingInstantiatorConfiguration" },
{ "type": "null" }
]
},
"noMisplacedAssertion": {
"description": "Checks that the assertion function, for example expect, is placed inside an it() function call.\nSee https://biomejs.dev/linter/rules/no-misplaced-assertion",
"anyOf": [
{ "$ref": "#/$defs/NoMisplacedAssertionConfiguration" },
{ "type": "null" }
]
},
"noMisrefactoredShorthandAssign": {
"description": "Disallow shorthand assign when variable appears on both sides.\nSee https://biomejs.dev/linter/rules/no-misrefactored-shorthand-assign",
"anyOf": [
{ "$ref": "#/$defs/NoMisrefactoredShorthandAssignConfiguration" },
{ "type": "null" }
]
},
"noNestedPromises": {
"description": "Disallow nested .then() or .catch() promise calls.\nSee https://biomejs.dev/linter/rules/no-nested-promises",
"anyOf": [
{ "$ref": "#/$defs/NoNestedPromisesConfiguration" },
{ "type": "null" }
]
},
"noNonNullAssertedOptionalChain": {
"description": "Disallow non-null assertions after optional chaining expressions.\nSee https://biomejs.dev/linter/rules/no-non-null-asserted-optional-chain",
"anyOf": [
{ "$ref": "#/$defs/NoNonNullAssertedOptionalChainConfiguration" },
{ "type": "null" }
]
},
"noOctalEscape": {
"description": "Disallow octal escape sequences in string literals.\nSee https://biomejs.dev/linter/rules/no-octal-escape",
"anyOf": [
{ "$ref": "#/$defs/NoOctalEscapeConfiguration" },
{ "type": "null" }
]
},
"noParametersOnlyUsedInRecursion": {
"description": "Disallow function parameters that are only used in recursive calls.\nSee https://biomejs.dev/linter/rules/no-parameters-only-used-in-recursion",
"anyOf": [
{ "$ref": "#/$defs/NoParametersOnlyUsedInRecursionConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightForceOption": {
"description": "Disallow usage of the { force: true } option.\nSee https://biomejs.dev/linter/rules/no-playwright-force-option",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightForceOptionConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightNetworkidle": {
"description": "Disallow usage of the networkidle option.\nSee https://biomejs.dev/linter/rules/no-playwright-networkidle",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightNetworkidleConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightPagePause": {
"description": "Disallow using page.pause().\nSee https://biomejs.dev/linter/rules/no-playwright-page-pause",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightPagePauseConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightWaitForNavigation": {
"description": "Disallow using page.waitForNavigation().\nSee https://biomejs.dev/linter/rules/no-playwright-wait-for-navigation",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightWaitForNavigationConfiguration" },
{ "type": "null" }
]
},
"noPlaywrightWaitForTimeout": {
"description": "Disallow using page.waitForTimeout().\nSee https://biomejs.dev/linter/rules/no-playwright-wait-for-timeout",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightWaitForTimeoutConfiguration" },
{ "type": "null" }
]
},
"noProto": {
"description": "Disallow the use of the deprecated __proto__ object property.\nSee https://biomejs.dev/linter/rules/no-proto",
"anyOf": [
{ "$ref": "#/$defs/NoProtoConfiguration" },
{ "type": "null" }
]
},
"noPrototypeBuiltins": {
"description": "Disallow direct use of Object.prototype builtins.\nSee https://biomejs.dev/linter/rules/no-prototype-builtins",
"anyOf": [
{ "$ref": "#/$defs/NoPrototypeBuiltinsConfiguration" },
{ "type": "null" }
]
},
"noQuickfixBiome": {
"description": "Disallow quickfix.biome in supported editor settings.\nSee https://biomejs.dev/linter/rules/no-quickfix-biome",
"anyOf": [
{ "$ref": "#/$defs/NoQuickfixBiomeConfiguration" },
{ "type": "null" }
]
},
"noReactForwardRef": {
"description": "Replaces usages of forwardRef with passing ref as a prop.\nSee https://biomejs.dev/linter/rules/no-react-forward-ref",
"anyOf": [
{ "$ref": "#/$defs/NoReactForwardRefConfiguration" },
{ "type": "null" }
]
},
"noReactNativeDeepImports": {
"description": "Disallow deep imports from the react-native package.\nSee https://biomejs.dev/linter/rules/no-react-native-deep-imports",
"anyOf": [
{ "$ref": "#/$defs/NoReactNativeDeepImportsConfiguration" },
{ "type": "null" }
]
},
"noReactSpecificProps": {
"description": "Prevents React-specific JSX properties from being used.\nSee https://biomejs.dev/linter/rules/no-react-specific-props",
"anyOf": [
{ "$ref": "#/$defs/NoReactSpecificPropsConfiguration" },
{ "type": "null" }
]
},
"noReactStringRefs": {
"description": "Disallow string refs in React components.\nSee https://biomejs.dev/linter/rules/no-react-string-refs",
"anyOf": [
{ "$ref": "#/$defs/NoReactStringRefsConfiguration" },
{ "type": "null" }
]
},
"noRedeclare": {
"description": "Disallow variable, function, class, and type redeclarations in the same scope.\nSee https://biomejs.dev/linter/rules/no-redeclare",
"anyOf": [
{ "$ref": "#/$defs/NoRedeclareConfiguration" },
{ "type": "null" }
]
},
"noRedundantUseStrict": {
"description": "Prevents from having redundant \"use strict\".\nSee https://biomejs.dev/linter/rules/no-redundant-use-strict",
"anyOf": [
{ "$ref": "#/$defs/NoRedundantUseStrictConfiguration" },
{ "type": "null" }
]
},
"noReturnAssign": {
"description": "Disallow assignments in return statements.\nSee https://biomejs.dev/linter/rules/no-return-assign",
"anyOf": [
{ "$ref": "#/$defs/NoReturnAssignConfiguration" },
{ "type": "null" }
]
},
"noSelfCompare": {
"description": "Disallow comparisons where both sides are exactly the same.\nSee https://biomejs.dev/linter/rules/no-self-compare",
"anyOf": [
{ "$ref": "#/$defs/NoSelfCompareConfiguration" },
{ "type": "null" }
]
},
"noShadow": {
"description": "Disallow variable declarations from shadowing variables declared in the outer scope.\nSee https://biomejs.dev/linter/rules/no-shadow",
"anyOf": [
{ "$ref": "#/$defs/NoShadowConfiguration" },
{ "type": "null" }
]
},
"noShadowRestrictedNames": {
"description": "Disallow identifiers from shadowing restricted names.\nSee https://biomejs.dev/linter/rules/no-shadow-restricted-names",
"anyOf": [
{ "$ref": "#/$defs/NoShadowRestrictedNamesConfiguration" },
{ "type": "null" }
]
},
"noShorthandPropertyOverrides": {
"description": "Disallow shorthand properties that override earlier, more specific properties.\nSee https://biomejs.dev/linter/rules/no-shorthand-property-overrides",
"anyOf": [
{ "$ref": "#/$defs/NoShorthandPropertyOverridesConfiguration" },
{ "type": "null" }
]
},
"noSkippedTests": {
"description": "Disallow disabled tests.\nSee https://biomejs.dev/linter/rules/no-skipped-tests",
"anyOf": [
{ "$ref": "#/$defs/NoSkippedTestsConfiguration" },
{ "type": "null" }
]
},
"noSparseArray": {
"description": "Prevents the use of sparse arrays (arrays with holes).\nSee https://biomejs.dev/linter/rules/no-sparse-array",
"anyOf": [
{ "$ref": "#/$defs/NoSparseArrayConfiguration" },
{ "type": "null" }
]
},
"noSuspiciousSemicolonInJsx": {
"description": "It detects possible \"wrong\" semicolons inside JSX elements.\nSee https://biomejs.dev/linter/rules/no-suspicious-semicolon-in-jsx",
"anyOf": [
{ "$ref": "#/$defs/NoSuspiciousSemicolonInJsxConfiguration" },
{ "type": "null" }
]
},
"noTemplateCurlyInString": {
"description": "Disallow template literal placeholder syntax in regular strings.\nSee https://biomejs.dev/linter/rules/no-template-curly-in-string",
"anyOf": [
{ "$ref": "#/$defs/NoTemplateCurlyInStringConfiguration" },
{ "type": "null" }
]
},
"noThenProperty": {
"description": "Disallow then property.\nSee https://biomejs.dev/linter/rules/no-then-property",
"anyOf": [
{ "$ref": "#/$defs/NoThenPropertyConfiguration" },
{ "type": "null" }
]
},
"noTsIgnore": {
"description": "Prevents the use of the TypeScript directive @ts-ignore.\nSee https://biomejs.dev/linter/rules/no-ts-ignore",
"anyOf": [
{ "$ref": "#/$defs/NoTsIgnoreConfiguration" },
{ "type": "null" }
]
},
"noUnassignedVariables": {
"description": "Disallow let or var variables that are read but never assigned.\nSee https://biomejs.dev/linter/rules/no-unassigned-variables",
"anyOf": [
{ "$ref": "#/$defs/NoUnassignedVariablesConfiguration" },
{ "type": "null" }
]
},
"noUndeclaredEnvVars": {
"description": "Disallow the use of undeclared environment variables.\nSee https://biomejs.dev/linter/rules/no-undeclared-env-vars",
"anyOf": [
{ "$ref": "#/$defs/NoUndeclaredEnvVarsConfiguration" },
{ "type": "null" }
]
},
"noUnknownAtRules": {
"description": "Disallow unrecognized CSS at-rules.\nSee https://biomejs.dev/linter/rules/no-unknown-at-rules",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownAtRulesConfiguration" },
{ "type": "null" }
]
},
"noUnknownAttribute": {
"description": "Disallow unknown DOM properties.\nSee https://biomejs.dev/linter/rules/no-unknown-attribute",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownAttributeConfiguration" },
{ "type": "null" }
]
},
"noUnnecessaryConditions": {
"description": "Disallow conditions that always evaluate to the same value.\nSee https://biomejs.dev/linter/rules/no-unnecessary-conditions",
"anyOf": [
{ "$ref": "#/$defs/NoUnnecessaryConditionsConfiguration" },
{ "type": "null" }
]
},
"noUnsafeDeclarationMerging": {
"description": "Disallow unsafe declaration merging between interfaces and classes.\nSee https://biomejs.dev/linter/rules/no-unsafe-declaration-merging",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeDeclarationMergingConfiguration" },
{ "type": "null" }
]
},
"noUnsafeNegation": {
"description": "Disallow using unsafe negation.\nSee https://biomejs.dev/linter/rules/no-unsafe-negation",
"anyOf": [
{ "$ref": "#/$defs/NoUnsafeNegationConfiguration" },
{ "type": "null" }
]
},
"noUntrustedLicenses": {
"description": "Disallow dependencies with untrusted licenses.\nSee https://biomejs.dev/linter/rules/no-untrusted-licenses",
"anyOf": [
{ "$ref": "#/$defs/NoUntrustedLicensesConfiguration" },
{ "type": "null" }
]
},
"noUnusedExpressions": {
"description": "Disallow expression statements that are neither a function call nor an assignment.\nSee https://biomejs.dev/linter/rules/no-unused-expressions",
"anyOf": [
{ "$ref": "#/$defs/NoUnusedExpressionsConfiguration" },
{ "type": "null" }
]
},
"noUselessEscapeInString": {
"description": "Disallow unnecessary escapes in string literals.\nSee https://biomejs.dev/linter/rules/no-useless-escape-in-string",
"anyOf": [
{ "$ref": "#/$defs/NoUselessEscapeInStringConfiguration" },
{ "type": "null" }
]
},
"noUselessRegexBackrefs": {
"description": "Disallow useless backreferences in regular expression literals that always match an empty string.\nSee https://biomejs.dev/linter/rules/no-useless-regex-backrefs",
"anyOf": [
{ "$ref": "#/$defs/NoUselessRegexBackrefsConfiguration" },
{ "type": "null" }
]
},
"noVar": {
"description": "Disallow the use of var.\nSee https://biomejs.dev/linter/rules/no-var",
"anyOf": [
{ "$ref": "#/$defs/NoVarConfiguration" },
{ "type": "null" }
]
},
"noVueArrowFuncInWatch": {
"description": "Disallows using arrow functions when defining a watcher.\nSee https://biomejs.dev/linter/rules/no-vue-arrow-func-in-watch",
"anyOf": [
{ "$ref": "#/$defs/NoVueArrowFuncInWatchConfiguration" },
{ "type": "null" }
]
},
"noWith": {
"description": "Disallow with statements in non-strict contexts.\nSee https://biomejs.dev/linter/rules/no-with",
"anyOf": [
{ "$ref": "#/$defs/NoWithConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Selects the baseline set of lint rules for a non-nursery group. `recommended`\nenables the group's recommended rules, `all` enables all rules in the group, and\n`none` starts with no rules enabled in the group. Explicit rule settings override\nthis group preset, which overrides `linter.rules.preset` for the group.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables or disables the recommended rules in a non-nursery group. The group's\n`preset` setting takes precedence when both options are set.",
"type": ["boolean", "null"]
},
"useAdjacentOverloadSignatures": {
"description": "Disallow the use of overload signatures that are not next to each other.\nSee https://biomejs.dev/linter/rules/use-adjacent-overload-signatures",
"anyOf": [
{ "$ref": "#/$defs/UseAdjacentOverloadSignaturesConfiguration" },
{ "type": "null" }
]
},
"useArraySortCompare": {
"description": "Require Array#sort and Array#toSorted calls to always provide a compareFunction.\nSee https://biomejs.dev/linter/rules/use-array-sort-compare",
"anyOf": [
{ "$ref": "#/$defs/UseArraySortCompareConfiguration" },
{ "type": "null" }
]
},
"useAwait": {
"description": "Ensure async functions utilize await.\nSee https://biomejs.dev/linter/rules/use-await",
"anyOf": [
{ "$ref": "#/$defs/UseAwaitConfiguration" },
{ "type": "null" }
]
},
"useBaseline": {
"description": "Disallow CSS properties, values, at-rules, functions, and selectors that are not part of the configured Baseline.\nSee https://biomejs.dev/linter/rules/use-baseline",
"anyOf": [
{ "$ref": "#/$defs/UseBaselineConfiguration" },
{ "type": "null" }
]
},
"useBiomeIgnoreFolder": {
"description": "Prefer folder exclusions that prevent Biome from scanning the folder.\nSee https://biomejs.dev/linter/rules/use-biome-ignore-folder",
"anyOf": [
{ "$ref": "#/$defs/UseBiomeIgnoreFolderConfiguration" },
{ "type": "null" }
]
},
"useDefaultSwitchClauseLast": {
"description": "Enforce default clauses in switch statements to be last.\nSee https://biomejs.dev/linter/rules/use-default-switch-clause-last",
"anyOf": [
{ "$ref": "#/$defs/UseDefaultSwitchClauseLastConfiguration" },
{ "type": "null" }
]
},
"useDeprecatedDate": {
"description": "Require a valid deletion date on the @deprecated directive.\nSee https://biomejs.dev/linter/rules/use-deprecated-date",
"anyOf": [
{ "$ref": "#/$defs/UseDeprecatedDateConfiguration" },
{ "type": "null" }
]
},
"useErrorMessage": {
"description": "Enforce passing a message value when creating a built-in error.\nSee https://biomejs.dev/linter/rules/use-error-message",
"anyOf": [
{ "$ref": "#/$defs/UseErrorMessageConfiguration" },
{ "type": "null" }
]
},
"useExpect": {
"description": "Ensure that test functions contain at least one expect() or similar assertion.\nSee https://biomejs.dev/linter/rules/use-expect",
"anyOf": [
{ "$ref": "#/$defs/UseExpectConfiguration" },
{ "type": "null" }
]
},
"useGetterReturn": {
"description": "Enforce get methods to always return a value.\nSee https://biomejs.dev/linter/rules/use-getter-return",
"anyOf": [
{ "$ref": "#/$defs/UseGetterReturnConfiguration" },
{ "type": "null" }
]
},
"useGoogleFontDisplay": {
"description": "Enforces the use of a recommended display strategy with Google Fonts.\nSee https://biomejs.dev/linter/rules/use-google-font-display",
"anyOf": [
{ "$ref": "#/$defs/UseGoogleFontDisplayConfiguration" },
{ "type": "null" }
]
},
"useGuardForIn": {
"description": "Require for-in loops to include an if statement.\nSee https://biomejs.dev/linter/rules/use-guard-for-in",
"anyOf": [
{ "$ref": "#/$defs/UseGuardForInConfiguration" },
{ "type": "null" }
]
},
"useIsArray": {
"description": "Use Array.isArray() instead of instanceof Array.\nSee https://biomejs.dev/linter/rules/use-is-array",
"anyOf": [
{ "$ref": "#/$defs/UseIsArrayConfiguration" },
{ "type": "null" }
]
},
"useIterableCallbackReturn": {
"description": "Enforce consistent return values in iterable callbacks.\nSee https://biomejs.dev/linter/rules/use-iterable-callback-return",
"anyOf": [
{ "$ref": "#/$defs/UseIterableCallbackReturnConfiguration" },
{ "type": "null" }
]
},
"useNamespaceKeyword": {
"description": "Require using the namespace keyword over the module keyword to declare TypeScript namespaces.\nSee https://biomejs.dev/linter/rules/use-namespace-keyword",
"anyOf": [
{ "$ref": "#/$defs/UseNamespaceKeywordConfiguration" },
{ "type": "null" }
]
},
"useNumberToFixedDigitsArgument": {
"description": "Enforce using the digits argument with Number#toFixed().\nSee https://biomejs.dev/linter/rules/use-number-to-fixed-digits-argument",
"anyOf": [
{ "$ref": "#/$defs/UseNumberToFixedDigitsArgumentConfiguration" },
{ "type": "null" }
]
},
"useRequiredScripts": {
"description": "Require configured scripts in package.json.\nSee https://biomejs.dev/linter/rules/use-required-scripts",
"anyOf": [
{ "$ref": "#/$defs/UseRequiredScriptsConfiguration" },
{ "type": "null" }
]
},
"useScopedStyles": {
"description": "Keep component styles scoped in Vue and Astro files.\nSee https://biomejs.dev/linter/rules/use-scoped-styles",
"anyOf": [
{ "$ref": "#/$defs/UseScopedStylesConfiguration" },
{ "type": "null" }
]
},
"useStaticResponseMethods": {
"description": "Use static Response methods instead of new Response() constructor when possible.\nSee https://biomejs.dev/linter/rules/use-static-response-methods",
"anyOf": [
{ "$ref": "#/$defs/UseStaticResponseMethodsConfiguration" },
{ "type": "null" }
]
},
"useStrictMode": {
"description": "Enforce the use of the directive \"use strict\" in script files.\nSee https://biomejs.dev/linter/rules/use-strict-mode",
"anyOf": [
{ "$ref": "#/$defs/UseStrictModeConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"TailwindAllowedComponents": {
"anyOf": [
{ "type": "string" },
{ "type": "array", "items": { "type": "string" } }
]
},
"TailwindComponentAllowance": {
"type": "object",
"properties": {
"advice": {
"description": "Instructions on how to fix the problem, shown in diagnostics for the matching\ncomponents in place of the default advice.",
"type": ["string", "null"]
},
"categories": {
"description": "Categories allowed on the matching components. Defaults to an empty list.",
"type": "array",
"items": { "$ref": "#/$defs/TailwindUtilityCategory" }
},
"classes": {
"description": "Exact classes, including variants and modifiers. Defaults to an empty list.",
"type": "array",
"items": { "type": "string" }
},
"components": {
"description": "An exact component name, an array of names, or `\"*\"` for all components.",
"$ref": "#/$defs/TailwindAllowedComponents"
}
},
"additionalProperties": false,
"required": ["components"]
},
"TailwindConfiguration": {
"description": "Tells Biome where your code lists Tailwind CSS classes, so the Tailwind\nlint rules know which strings to check.",
"type": "object",
"properties": {
"attributes": {
"description": "Attributes whose values are Tailwind classes, such as `class` in\n`<div class=\"px-2 py-2\">`.\n\nDefaults to `class` and `className`. In HTML, they are case-insensitive.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"mergeFunctions": {
"description": "Functions that combine Tailwind classes, such as `clsx` and `cn`.\n\nBiome checks every string passed to these functions, like both strings\nin `cn(\"px-2\", \"py-2\")`. When an object is passed, Biome checks its\nkeys: in `cn({ \"px-2\": isActive })`, it checks `\"px-2\"`.\n\nProperties of these functions are checked too, so listing `tw` also\ncovers `` tw.div`px-2` `` and `tw.div(\"px-2\")`.\n\nDefaults to `clsx`, `tw`, `twMerge`, `twJoin`, `cn`, `cc`, `cnb`, and\n`ctl`.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"stylesheet": {
"description": "The CSS file that holds your Tailwind CSS configuration, such as\n`\"./src/app.css\"`. A relative path starts from the folder of the Biome\nconfiguration file.\n\nBiome reads the `@theme`, `@utility`, and `@custom-variant` rules in\nthis file and in the files it imports with `@import`, so that the\nTailwind rules know your theme values, utilities, and variants.\n\nTo read the file, Biome scans your project when a Tailwind rule is\nenabled. Setting this option also turns on `css.parser.tailwindDirectives`,\nunless you set that option yourself.",
"type": ["string", "null"]
},
"variantFunctions": {
"description": "Functions that describe a component's styles with an object, such as\n`cva` and `tv`.\n\nBiome checks every string passed directly to these functions. In an\nobject passed to them, Biome checks the classes under these properties:\n\n- `base`, `class`, and `className`: classes that always apply.\n- `variants`: classes for each version of the component, such as each\n button size.\n- `slots`: classes for each part of the component, such as its icon.\n- `compoundVariants` and `compoundSlots`: only the `class` and\n `className` of each entry.\n\nOther properties, such as `defaultVariants`, hold names rather than\nclasses, so Biome skips them. For example, Biome checks `\"rounded\"`,\n`\"px-2\"`, and `\"px-4\"` here, but not `\"small\"`:\n\n```js\ncva(\"rounded\", {\n variants: {\n size: { small: \"px-2\", large: \"px-4\" },\n },\n defaultVariants: { size: \"small\" },\n});\n```\n\nDefaults to `cva` and `tv`.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"TailwindUtilityCategory": {
"oneOf": [
{
"type": "string",
"enum": [
"color",
"typography",
"spacing",
"shape",
"effects",
"motion"
]
},
{
"description": "Sizing, positioning, margins, and other utilities that don't set appearance.",
"type": "string",
"const": "layout"
}
]
},
"TestFunctionKind": {
"description": "The function to use for tests",
"oneOf": [
{
"description": "Use `it()` for tests",
"type": "string",
"const": "it"
},
{
"description": "Use `test()` for tests",
"type": "string",
"const": "test"
}
]
},
"TrailingNewline": { "type": "boolean" },
"UseAdjacentOverloadSignaturesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAdjacentOverloadSignaturesOptions" }
]
},
"UseAdjacentOverloadSignaturesOptions": {
"type": "object",
"additionalProperties": false
},
"UseAltTextConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAltTextOptions" }
]
},
"UseAltTextOptions": { "type": "object", "additionalProperties": false },
"UseAnchorContentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAnchorContentOptions" }
]
},
"UseAnchorContentOptions": {
"type": "object",
"additionalProperties": false
},
"UseAriaActivedescendantWithTabindexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAriaActivedescendantWithTabindexOptions" }
]
},
"UseAriaActivedescendantWithTabindexOptions": {
"type": "object",
"additionalProperties": false
},
"UseAriaPropsForRoleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAriaPropsForRoleOptions" }
]
},
"UseAriaPropsForRoleOptions": {
"type": "object",
"additionalProperties": false
},
"UseAriaPropsSupportedByRoleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAriaPropsSupportedByRoleOptions" }
]
},
"UseAriaPropsSupportedByRoleOptions": {
"type": "object",
"additionalProperties": false
},
"UseArrayFindConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseArrayFindOptions" }
]
},
"UseArrayFindOptions": { "type": "object", "additionalProperties": false },
"UseArrayLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseArrayLiteralsOptions" }
]
},
"UseArrayLiteralsOptions": {
"type": "object",
"additionalProperties": false
},
"UseArraySomeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseArraySomeOptions" }
]
},
"UseArraySomeOptions": { "type": "object", "additionalProperties": false },
"UseArraySortCompareConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseArraySortCompareOptions" }
]
},
"UseArraySortCompareOptions": {
"type": "object",
"additionalProperties": false
},
"UseArrowFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseArrowFunctionOptions" }
]
},
"UseArrowFunctionOptions": {
"type": "object",
"additionalProperties": false
},
"UseAsConstAssertionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAsConstAssertionOptions" }
]
},
"UseAsConstAssertionOptions": {
"type": "object",
"additionalProperties": false
},
"UseAstroClientOnlyDirectiveValueConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAstroClientOnlyDirectiveValueOptions" }
]
},
"UseAstroClientOnlyDirectiveValueOptions": {
"type": "object",
"additionalProperties": false
},
"UseAtIndexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAtIndexOptions" }
]
},
"UseAtIndexOptions": { "type": "object", "additionalProperties": false },
"UseAwaitConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAwaitOptions" }
]
},
"UseAwaitOptions": { "type": "object", "additionalProperties": false },
"UseAwaitThenableConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseAwaitThenableOptions" }
]
},
"UseAwaitThenableOptions": {
"type": "object",
"additionalProperties": false
},
"UseBaselineConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseBaselineOptions" }
]
},
"UseBaselineOptions": {
"description": "Options for the `useBaseline` rule.",
"type": "object",
"properties": {
"allowAtRules": {
"description": "CSS at-rules to exclude from checking (without `@`, case-insensitive).",
"type": "array",
"items": { "type": "string" }
},
"allowFunctions": {
"description": "CSS value functions to exclude from checking (case-insensitive).",
"type": "array",
"items": { "type": "string" }
},
"allowMediaConditions": {
"description": "CSS media conditions to exclude from checking (case-insensitive).",
"type": "array",
"items": { "type": "string" }
},
"allowProperties": {
"description": "CSS properties to exclude from checking (case-insensitive).",
"type": "array",
"items": { "type": "string" }
},
"allowPropertyValues": {
"description": "CSS property values to exclude from checking (maps property name to allowed values, case-insensitive).",
"type": "object",
"additionalProperties": {
"type": "array",
"items": { "type": "string" }
}
},
"allowSelectors": {
"description": "CSS pseudo-selectors to exclude from checking (without `:` or `::`, case-insensitive).",
"type": "array",
"items": { "type": "string" }
},
"available": {
"description": "The availability level to target. Defaults to `\"widely\"`.",
"$ref": "#/$defs/AvailabilityTarget"
}
},
"additionalProperties": false
},
"UseBetterDomTraversingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseBetterDomTraversingOptions" }
]
},
"UseBetterDomTraversingOptions": {
"type": "object",
"additionalProperties": false
},
"UseBigintLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseBigintLiteralsOptions" }
]
},
"UseBigintLiteralsOptions": {
"type": "object",
"additionalProperties": false
},
"UseBiomeIgnoreFolderConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseBiomeIgnoreFolderOptions" }
]
},
"UseBiomeIgnoreFolderOptions": {
"type": "object",
"additionalProperties": false
},
"UseBlockStatementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseBlockStatementsOptions" }
]
},
"UseBlockStatementsOptions": {
"type": "object",
"additionalProperties": false
},
"UseButtonTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseButtonTypeOptions" }
]
},
"UseButtonTypeOptions": { "type": "object", "additionalProperties": false },
"UseCapitalizedConstructorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseCapitalizedConstructorsOptions" }
]
},
"UseCapitalizedConstructorsOptions": {
"type": "object",
"additionalProperties": false
},
"UseCollapsedElseIfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseCollapsedElseIfOptions" }
]
},
"UseCollapsedElseIfOptions": {
"type": "object",
"additionalProperties": false
},
"UseCollapsedIfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseCollapsedIfOptions" }
]
},
"UseCollapsedIfOptions": {
"type": "object",
"additionalProperties": false
},
"UseComponentExportOnlyModulesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseComponentExportOnlyModulesOptions" }
]
},
"UseComponentExportOnlyModulesOptions": {
"type": "object",
"properties": {
"allowConstantExport": {
"description": "Allows the export of constants. This option is for environments that support it, such as [Vite](https://vitejs.dev/)",
"type": ["boolean", "null"],
"default": null
},
"allowExportNames": {
"description": "A list of names that can be additionally exported from the module This option is for exports that do not hinder [React Fast Refresh](https://github.com/facebook/react/tree/main/packages/react-refresh), such as [`meta` in Remix](https://remix.run/docs/en/main/route/meta)",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseConsistentArrayTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentArrayTypeOptions" }
]
},
"UseConsistentArrayTypeOptions": {
"type": "object",
"properties": {
"syntax": {
"anyOf": [
{ "$ref": "#/$defs/ConsistentArrayType" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseConsistentArrowReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentArrowReturnOptions" }
]
},
"UseConsistentArrowReturnOptions": {
"description": "Options for the `useConsistentArrowReturn` rule.",
"type": "object",
"properties": {
"requireForObjectLiteral": {
"description": "Determines whether the rule enforces a consistent style when the return value is an object literal.\n\nThis option is only applicable when used in conjunction with the `asNeeded` option.",
"type": ["boolean", "null"]
},
"style": {
"description": "The style to enforce for arrow function return statements.",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentArrowReturnStyle" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseConsistentArrowReturnStyle": {
"oneOf": [
{
"description": "Enforces no braces where they can be omitted (default).",
"type": "string",
"const": "asNeeded"
},
{
"description": "Enforces braces around the function body.",
"type": "string",
"const": "always"
},
{
"description": "Enforces no braces around the function body (constrains arrow functions to the role of returning an expression).",
"type": "string",
"const": "never"
}
]
},
"UseConsistentBlockLangConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentBlockLangOptions" }
]
},
"UseConsistentBlockLangOptions": {
"type": "object",
"properties": {
"blocks": {
"description": "The top-level blocks to check in Vue and Svelte components.\n\nEach key is the tag name of a block, without angle brackets, such as\n`script`, `style`, or a Vue custom block like `i18n`. Blocks that aren't\nlisted aren't checked. When this option is omitted, the rule doesn't\ncheck anything.",
"type": ["object", "null"],
"additionalProperties": { "$ref": "#/$defs/BlockLangOptions" }
}
},
"additionalProperties": false
},
"UseConsistentBuiltinInstantiationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentBuiltinInstantiationOptions" }
]
},
"UseConsistentBuiltinInstantiationOptions": {
"type": "object",
"additionalProperties": false
},
"UseConsistentCurlyBracesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentCurlyBracesOptions" }
]
},
"UseConsistentCurlyBracesOptions": {
"type": "object",
"additionalProperties": false
},
"UseConsistentEnumValueTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentEnumValueTypeOptions" }
]
},
"UseConsistentEnumValueTypeOptions": {
"type": "object",
"additionalProperties": false
},
"UseConsistentFunctionStyleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentFunctionStyleOptions" }
]
},
"UseConsistentFunctionStyleOptions": {
"description": "Configures the required function style and whether declaration mode permits arrow functions.",
"type": "object",
"properties": {
"allowArrowFunctions": {
"description": "Allow arrow functions when declarations are required. Default: `false`.",
"type": ["boolean", "null"]
},
"style": {
"description": "The function style to enforce. Default: `\"expression\"`.",
"anyOf": [{ "$ref": "#/$defs/FunctionStyle" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseConsistentGraphqlDescriptionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentGraphqlDescriptionsOptions" }
]
},
"UseConsistentGraphqlDescriptionsOptions": {
"type": "object",
"properties": {
"style": {
"description": "The description style to enforce. Defaults to \"block\"",
"anyOf": [
{ "$ref": "#/$defs/UseConsistentGraphqlDescriptionsStyle" },
{ "type": "null" }
],
"default": null
}
},
"additionalProperties": false
},
"UseConsistentGraphqlDescriptionsStyle": {
"description": "The GraphQL description style to enforce.",
"type": "string",
"enum": ["block", "inline"]
},
"UseConsistentHeadingLevelConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentHeadingLevelOptions" }
]
},
"UseConsistentHeadingLevelOptions": {
"type": "object",
"additionalProperties": false
},
"UseConsistentJsonFileReadConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentJsonFileReadOptions" }
]
},
"UseConsistentJsonFileReadOptions": {
"type": "object",
"properties": {
"readAs": {
"description": "Whether JSON files should be read as strings or as `Buffer`s before they are passed to `JSON.parse()`.\n\nDefault: `\"string\"`",
"anyOf": [{ "$ref": "#/$defs/JsonFileReadAs" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseConsistentMemberAccessibilityConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentMemberAccessibilityOptions" }
]
},
"UseConsistentMemberAccessibilityOptions": {
"type": "object",
"properties": {
"accessibility": {
"description": "The kind of accessibility you want to enforce. Default to \"noPublic\"",
"anyOf": [{ "$ref": "#/$defs/Accessibility" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseConsistentMethodSignaturesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentMethodSignaturesOptions" }
]
},
"UseConsistentMethodSignaturesOptions": {
"description": "Options type for `useConsistentMethodSignatures`.",
"type": "object",
"properties": {
"style": {
"description": "The style of method signatures whose usage will be enforced.\n\nDefault: \"property\"",
"anyOf": [
{ "$ref": "#/$defs/MethodSignatureStyle" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseConsistentObjectDefinitionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentObjectDefinitionsOptions" }
]
},
"UseConsistentObjectDefinitionsOptions": {
"type": "object",
"properties": {
"syntax": {
"description": "The preferred syntax to enforce.",
"anyOf": [
{ "$ref": "#/$defs/ObjectPropertySyntax" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseConsistentObjectKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentObjectKeysOptions" }
]
},
"UseConsistentObjectKeysOptions": {
"type": "object",
"properties": {
"form": {
"description": "The Unicode normalization form that every object key must use so equivalent characters share one encoding. Defaults to `NFC`.",
"anyOf": [{ "$ref": "#/$defs/NormalizationForm" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseConsistentTestItConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentTestItOptions" }
]
},
"UseConsistentTestItOptions": {
"description": "Options for the `useConsistentTestIt` rule",
"type": "object",
"properties": {
"function": {
"description": "The function to use for top-level tests (outside describe blocks).\nDefault: `\"it\"`",
"anyOf": [{ "$ref": "#/$defs/TestFunctionKind" }, { "type": "null" }]
},
"withinDescribe": {
"description": "The function to use for tests inside describe blocks.\nDefault: `\"it\"`",
"anyOf": [{ "$ref": "#/$defs/TestFunctionKind" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseConsistentTypeDefinitionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConsistentTypeDefinitionsOptions" }
]
},
"UseConsistentTypeDefinitionsOptions": {
"type": "object",
"properties": {
"style": {
"anyOf": [
{ "$ref": "#/$defs/ConsistentTypeDefinition" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseConstConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseConstOptions" }
]
},
"UseConstOptions": { "type": "object", "additionalProperties": false },
"UseControlLabelConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseControlLabelOptions" }
]
},
"UseControlLabelOptions": {
"description": "Configuration for the `useControlLabel` lint rule.",
"type": "object",
"additionalProperties": false
},
"UseDateNowConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDateNowOptions" }
]
},
"UseDateNowOptions": { "type": "object", "additionalProperties": false },
"UseDefaultParameterLastConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDefaultParameterLastOptions" }
]
},
"UseDefaultParameterLastOptions": {
"type": "object",
"additionalProperties": false
},
"UseDefaultSwitchClauseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDefaultSwitchClauseOptions" }
]
},
"UseDefaultSwitchClauseLastConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDefaultSwitchClauseLastOptions" }
]
},
"UseDefaultSwitchClauseLastOptions": {
"type": "object",
"additionalProperties": false
},
"UseDefaultSwitchClauseOptions": {
"type": "object",
"additionalProperties": false
},
"UseDeprecatedDateConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDeprecatedDateOptions" }
]
},
"UseDeprecatedDateOptions": {
"type": "object",
"properties": { "argumentName": { "type": ["string", "null"] } },
"additionalProperties": false
},
"UseDeprecatedReasonConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDeprecatedReasonOptions" }
]
},
"UseDeprecatedReasonOptions": {
"type": "object",
"additionalProperties": false
},
"UseDestructuringConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDestructuringOptions" }
]
},
"UseDestructuringOptions": {
"type": "object",
"properties": {
"assignmentExpression": {
"anyOf": [
{ "$ref": "#/$defs/DestructuringConfig" },
{ "type": "null" }
]
},
"variableDeclarator": {
"anyOf": [
{ "$ref": "#/$defs/DestructuringConfig" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseDisposablesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDisposablesOptions" }
]
},
"UseDisposablesOptions": {
"type": "object",
"additionalProperties": false
},
"UseDomNodeTextContentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDomNodeTextContentOptions" }
]
},
"UseDomNodeTextContentOptions": {
"type": "object",
"additionalProperties": false
},
"UseDomQuerySelectorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseDomQuerySelectorOptions" }
]
},
"UseDomQuerySelectorOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "A list of receiver identifiers to ignore.\n\nIn the expression `document.querySelector('div')`, the receiver is `document`.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseEnumInitializersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseEnumInitializersOptions" }
]
},
"UseEnumInitializersOptions": {
"type": "object",
"additionalProperties": false
},
"UseErrorCauseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseErrorCauseOptions" }
]
},
"UseErrorCauseOptions": {
"description": "Options for the `useErrorCause` rule.",
"type": "object",
"properties": {
"requireCatchParameter": {
"description": "When set to `true`, the rule requires that `catch` clauses have a parameter.",
"type": "boolean",
"default": true
}
},
"additionalProperties": false
},
"UseErrorMessageConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseErrorMessageOptions" }
]
},
"UseErrorMessageOptions": {
"type": "object",
"additionalProperties": false
},
"UseExhaustiveDependenciesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExhaustiveDependenciesOptions" }
]
},
"UseExhaustiveDependenciesOptions": {
"type": "object",
"properties": {
"hooks": {
"description": "List of hooks of which the dependencies should be validated.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/Hook" }
},
"reportMissingDependenciesArray": {
"description": "Whether to report an error when a hook has no dependencies array.",
"type": ["boolean", "null"]
},
"reportUnnecessaryDependencies": {
"description": "Whether to report an error when a dependency is listed in the dependencies array but isn't used. Defaults to true.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseExhaustiveSwitchCasesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExhaustiveSwitchCasesOptions" }
]
},
"UseExhaustiveSwitchCasesOptions": {
"type": "object",
"properties": {
"requireExplicitCase": {
"description": "Require a `case` for each value in the union, even when the switch has a `default` clause.\nDefault: `false`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseExpectConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExpectOptions" }
]
},
"UseExpectOptions": { "type": "object", "additionalProperties": false },
"UseExplicitLengthCheckConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExplicitLengthCheckOptions" }
]
},
"UseExplicitLengthCheckOptions": {
"type": "object",
"additionalProperties": false
},
"UseExplicitReturnTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExplicitReturnTypeOptions" }
]
},
"UseExplicitReturnTypeOptions": {
"description": "Options for the `useExplicitReturnType` rule.",
"type": "object",
"properties": {
"allowExpressions": {
"description": "Whether to ignore function expressions (functions that are not part of a declaration).\nWhen `true`, only declarations (function statements and class methods) are checked.",
"type": ["boolean", "null"]
},
"allowIifes": {
"description": "Whether to allow IIFEs (Immediately Invoked Function Expressions) without explicit return types.",
"type": ["boolean", "null"]
},
"allowedNames": {
"description": "A list of function names that are allowed to not have explicit return types.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseExplicitTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExplicitTypeOptions" }
]
},
"UseExplicitTypeOptions": {
"type": "object",
"additionalProperties": false
},
"UseExponentiationOperatorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExponentiationOperatorOptions" }
]
},
"UseExponentiationOperatorOptions": {
"type": "object",
"additionalProperties": false
},
"UseExportTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExportTypeOptions" }
]
},
"UseExportTypeOptions": {
"type": "object",
"properties": {
"style": {
"description": "The style to apply when exporting types. Default to \"auto\".",
"anyOf": [
{ "$ref": "#/$defs/UseExportTypeStyle" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseExportTypeStyle": {
"description": "The style to apply when exporting types.",
"type": "string",
"enum": ["auto", "inlineType", "separatedType"]
},
"UseExportsLastConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseExportsLastOptions" }
]
},
"UseExportsLastOptions": {
"type": "object",
"additionalProperties": false
},
"UseFencedCodeLanguageConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseFencedCodeLanguageOptions" }
]
},
"UseFencedCodeLanguageOptions": {
"description": "Configures the language tags and info-string content accepted by fenced code blocks.",
"type": "object",
"properties": {
"allowedLanguages": {
"description": "The language tags a fenced code block is allowed to declare.\nAn empty list accepts every language tag.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"languageOnly": {
"description": "Requires the info string to contain only a language tag, without metadata or other\nnon-whitespace content.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseFilenamingConventionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseFilenamingConventionOptions" }
]
},
"UseFilenamingConventionOptions": {
"type": "object",
"properties": {
"filenameCases": {
"description": "Allowed cases for file names.",
"anyOf": [{ "$ref": "#/$defs/FilenameCases" }, { "type": "null" }]
},
"match": {
"description": "Regular expression to enforce",
"anyOf": [{ "$ref": "#/$defs/Regex" }, { "type": "null" }]
},
"requireAscii": {
"description": "If `false`, then non-ASCII characters are allowed.",
"type": ["boolean", "null"]
},
"strictCase": {
"description": "If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases.\nThis does not affect other [Case].",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseFlatMapConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseFlatMapOptions" }
]
},
"UseFlatMapOptions": { "type": "object", "additionalProperties": false },
"UseFlatMathMinMaxConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseFlatMathMinMaxOptions" }
]
},
"UseFlatMathMinMaxOptions": {
"type": "object",
"additionalProperties": false
},
"UseFocusableInteractiveConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseFocusableInteractiveOptions" }
]
},
"UseFocusableInteractiveOptions": {
"type": "object",
"additionalProperties": false
},
"UseForOfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseForOfOptions" }
]
},
"UseForOfOptions": { "type": "object", "additionalProperties": false },
"UseFragmentSyntaxConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseFragmentSyntaxOptions" }
]
},
"UseFragmentSyntaxOptions": {
"type": "object",
"additionalProperties": false
},
"UseGenericFontNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGenericFontNamesOptions" }
]
},
"UseGenericFontNamesOptions": {
"type": "object",
"additionalProperties": false
},
"UseGetterReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGetterReturnOptions" }
]
},
"UseGetterReturnOptions": {
"type": "object",
"additionalProperties": false
},
"UseGlobalThisConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGlobalThisOptions" }
]
},
"UseGlobalThisOptions": { "type": "object", "additionalProperties": false },
"UseGoogleFontDisplayConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGoogleFontDisplayOptions" }
]
},
"UseGoogleFontDisplayOptions": {
"type": "object",
"additionalProperties": false
},
"UseGoogleFontPreconnectConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGoogleFontPreconnectOptions" }
]
},
"UseGoogleFontPreconnectOptions": {
"type": "object",
"additionalProperties": false
},
"UseGraphqlNamedOperationsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGraphqlNamedOperationsOptions" }
]
},
"UseGraphqlNamedOperationsOptions": {
"type": "object",
"additionalProperties": false
},
"UseGraphqlNamingConventionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGraphqlNamingConventionOptions" }
]
},
"UseGraphqlNamingConventionOptions": {
"type": "object",
"additionalProperties": false
},
"UseGroupedAccessorPairsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGroupedAccessorPairsOptions" }
]
},
"UseGroupedAccessorPairsOptions": {
"type": "object",
"additionalProperties": false
},
"UseGuardForInConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseGuardForInOptions" }
]
},
"UseGuardForInOptions": { "type": "object", "additionalProperties": false },
"UseHeadingContentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseHeadingContentOptions" }
]
},
"UseHeadingContentOptions": {
"type": "object",
"additionalProperties": false
},
"UseHookAtTopLevelConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseHookAtTopLevelOptions" }
]
},
"UseHookAtTopLevelOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "List of function names that should not be treated as hooks.\nFunctions in this list will be ignored by the rule even if they follow the `use*` naming convention.",
"type": ["array", "null"],
"items": { "type": "string" },
"uniqueItems": true
}
},
"additionalProperties": false
},
"UseHtmlLangConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseHtmlLangOptions" }
]
},
"UseHtmlLangOptions": { "type": "object", "additionalProperties": false },
"UseIframeSandboxConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIframeSandboxOptions" }
]
},
"UseIframeSandboxOptions": {
"type": "object",
"additionalProperties": false
},
"UseIframeTitleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIframeTitleOptions" }
]
},
"UseIframeTitleOptions": {
"type": "object",
"additionalProperties": false
},
"UseImageSizeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseImageSizeOptions" }
]
},
"UseImageSizeOptions": { "type": "null" },
"UseImportExtensionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseImportExtensionsOptions" }
]
},
"UseImportExtensionsOptions": {
"type": "object",
"properties": {
"extensionMappings": {
"description": "A map of file extensions to their suggested replacements.\nFor example, `{\"ts\": \"js\"}` would suggest `.js` extensions for TypeScript imports.",
"type": ["object", "null"],
"additionalProperties": { "type": "string" }
},
"forceJsExtensions": {
"description": "If `true`, the suggested extension is always `.js` regardless of what\nextension the source file has in your project.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseImportTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseImportTypeOptions" }
]
},
"UseImportTypeOptions": {
"type": "object",
"properties": {
"style": {
"description": "The style to apply when importing types. Default to \"auto\".",
"anyOf": [
{ "$ref": "#/$defs/UseImportTypeStyle" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseImportTypeStyle": {
"description": "The style to apply when importing types.",
"type": "string",
"enum": ["auto", "inlineType", "separatedType"]
},
"UseImportsFirstConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseImportsFirstOptions" }
]
},
"UseImportsFirstOptions": {
"type": "object",
"additionalProperties": false
},
"UseIncludesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIncludesOptions" }
]
},
"UseIncludesOptions": {
"description": "Options for the `useIncludes` rule.",
"type": "object",
"additionalProperties": false
},
"UseIndexOfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIndexOfOptions" }
]
},
"UseIndexOfOptions": { "type": "object", "additionalProperties": false },
"UseInlineScriptIdConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseInlineScriptIdOptions" }
]
},
"UseInlineScriptIdOptions": {
"type": "object",
"additionalProperties": false
},
"UseInputNameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseInputNameOptions" }
]
},
"UseInputNameOptions": {
"type": "object",
"properties": {
"checkInputType": {
"description": "Check that the input type name follows the convention <mutationName>Input",
"anyOf": [{ "$ref": "#/$defs/CheckInputType" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseIsArrayConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIsArrayOptions" }
]
},
"UseIsArrayOptions": { "type": "object", "additionalProperties": false },
"UseIsNanConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIsNanOptions" }
]
},
"UseIsNanOptions": { "type": "object", "additionalProperties": false },
"UseIterableCallbackReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseIterableCallbackReturnOptions" }
]
},
"UseIterableCallbackReturnOptions": {
"type": "object",
"properties": {
"allowImplicit": {
"description": "When `true`, allows callbacks in methods that require a return value\n(e.g. `map`, `filter`) to implicitly return `undefined` via `return;`.",
"type": ["boolean", "null"]
},
"checkForEach": {
"description": "When `true`, the rule reports `forEach` callbacks that return a value (default behaviour).\nWhen `false` or unset, such callbacks are ignored.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseJsonImportAttributesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseJsonImportAttributesOptions" }
]
},
"UseJsonImportAttributesOptions": {
"type": "object",
"additionalProperties": false
},
"UseJsxKeyInIterableConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseJsxKeyInIterableOptions" }
]
},
"UseJsxKeyInIterableOptions": {
"type": "object",
"properties": {
"checkShorthandFragments": {
"description": "Set to `true` to check shorthand fragments (`<></>`)",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseKeyWithClickEventsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseKeyWithClickEventsOptions" }
]
},
"UseKeyWithClickEventsOptions": {
"type": "object",
"additionalProperties": false
},
"UseKeyWithMouseEventsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseKeyWithMouseEventsOptions" }
]
},
"UseKeyWithMouseEventsOptions": {
"type": "object",
"additionalProperties": false
},
"UseLayeredStylesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLayeredStylesOptions" }
]
},
"UseLayeredStylesOptions": {
"type": "object",
"properties": {
"requireImportLayers": {
"description": "Require `@import` rules to have a cascade layer. Defaults to `true`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseLiteralEnumMembersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLiteralEnumMembersOptions" }
]
},
"UseLiteralEnumMembersOptions": {
"type": "object",
"additionalProperties": false
},
"UseLiteralKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLiteralKeysOptions" }
]
},
"UseLiteralKeysOptions": {
"type": "object",
"additionalProperties": false
},
"UseLogicalPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLogicalPropertiesOptions" }
]
},
"UseLogicalPropertiesDirection": {
"type": "string",
"enum": ["ltr", "rtl"]
},
"UseLogicalPropertiesOptions": {
"type": "object",
"properties": {
"direction": {
"description": "The text direction used to map physical inline properties. Defaults to `\"ltr\"`.",
"anyOf": [
{ "$ref": "#/$defs/UseLogicalPropertiesDirection" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseLoneAnonymousOperationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLoneAnonymousOperationOptions" }
]
},
"UseLoneAnonymousOperationOptions": {
"type": "object",
"additionalProperties": false
},
"UseLoneExecutableDefinitionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLoneExecutableDefinitionOptions" }
]
},
"UseLoneExecutableDefinitionOptions": {
"type": "object",
"additionalProperties": false
},
"UseLowercaseTestTitleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseLowercaseTestTitleOptions" }
]
},
"UseLowercaseTestTitleOptions": {
"type": "object",
"properties": {
"allowedPrefixes": {
"description": "A list of prefixes. Titles that start with one of these prefixes are not checked.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseMatchingFunctionNameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseMatchingFunctionNameOptions" }
]
},
"UseMatchingFunctionNameOptions": {
"type": "object",
"additionalProperties": false
},
"UseMathMinMaxConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseMathMinMaxOptions" }
]
},
"UseMathMinMaxOptions": { "type": "object", "additionalProperties": false },
"UseMaxParamsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseMaxParamsOptions" }
]
},
"UseMaxParamsOptions": {
"type": "object",
"properties": {
"max": {
"description": "Maximum number of parameters allowed (default: 4)",
"type": ["integer", "null"],
"format": "uint8",
"maximum": 255,
"minimum": 0
}
},
"additionalProperties": false
},
"UseMediaCaptionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseMediaCaptionOptions" }
]
},
"UseMediaCaptionOptions": {
"type": "object",
"additionalProperties": false
},
"UseModernMathApisConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseModernMathApisOptions" }
]
},
"UseModernMathApisOptions": {
"type": "object",
"additionalProperties": false
},
"UseNamedCaptureGroupConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNamedCaptureGroupOptions" }
]
},
"UseNamedCaptureGroupOptions": {
"type": "object",
"additionalProperties": false
},
"UseNamedFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNamedFunctionOptions" }
]
},
"UseNamedFunctionOptions": {
"type": "object",
"additionalProperties": false
},
"UseNamedLayerConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNamedLayerOptions" }
]
},
"UseNamedLayerOptions": { "type": "object", "additionalProperties": false },
"UseNamespaceKeywordConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNamespaceKeywordOptions" }
]
},
"UseNamespaceKeywordOptions": {
"type": "object",
"additionalProperties": false
},
"UseNamingConventionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNamingConventionOptions" }
]
},
"UseNamingConventionOptions": {
"description": "Rule's options.",
"type": "object",
"properties": {
"conventions": {
"description": "Custom conventions.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/Convention" }
},
"requireAscii": {
"description": "If `false`, then non-ASCII characters are allowed.",
"type": ["boolean", "null"]
},
"strictCase": {
"description": "If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases.\nThis does not affect other [Case].",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseNodeAssertStrictConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNodeAssertStrictOptions" }
]
},
"UseNodeAssertStrictOptions": {
"type": "object",
"additionalProperties": false
},
"UseNodejsImportProtocolConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNodejsImportProtocolOptions" }
]
},
"UseNodejsImportProtocolOptions": {
"type": "object",
"additionalProperties": false
},
"UseNullishCoalescingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNullishCoalescingOptions" }
]
},
"UseNullishCoalescingOptions": {
"description": "Options for the `useNullishCoalescing` rule.",
"type": "object",
"properties": {
"ignoreBooleanCoercion": {
"description": "Whether to ignore `||` and `||=` binary operations used inside a `Boolean()` call (default: `false`).",
"type": ["boolean", "null"]
},
"ignoreConditionalTests": {
"description": "Ignore `||` expressions in conditional test positions (default: `true`).",
"type": ["boolean", "null"]
},
"ignoreIfStatements": {
"description": "Whether to ignore `if` statements that only assign to a nullish variable and could be rewritten as `??=` (default: `false`).",
"type": ["boolean", "null"]
},
"ignoreMixedLogicalExpressions": {
"description": "Whether to ignore `||` and `||=` binary operations that are part of a mixed logical expression with `&&` (default: `false`).",
"type": ["boolean", "null"]
},
"ignorePrimitives": {
"description": "Whether to ignore `||` and `||=` operations whose non-nullish operand types are all primitives of the configured kinds. Accepts `true` for every primitive, or an object selecting `string`, `number`, `boolean`, `bigint` (default: none).",
"anyOf": [{ "$ref": "#/$defs/IgnorePrimitives" }, { "type": "null" }]
},
"ignoreTernaryTests": {
"description": "Ignore ternary expressions that check for `null` or `undefined` (default: `false`).",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseNumberNamespaceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNumberNamespaceOptions" }
]
},
"UseNumberNamespaceOptions": {
"type": "object",
"additionalProperties": false
},
"UseNumberToFixedDigitsArgumentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNumberToFixedDigitsArgumentOptions" }
]
},
"UseNumberToFixedDigitsArgumentOptions": {
"type": "object",
"additionalProperties": false
},
"UseNumericLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNumericLiteralsOptions" }
]
},
"UseNumericLiteralsOptions": {
"type": "object",
"additionalProperties": false
},
"UseNumericSeparatorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNumericSeparatorsOptions" }
]
},
"UseNumericSeparatorsOptions": {
"type": "object",
"properties": {
"binary": {
"description": "Options for binary literals (e.g., `0b1010_0001`).",
"anyOf": [
{ "$ref": "#/$defs/NumericLiteralSeparatorOptions" },
{ "type": "null" }
]
},
"decimal": {
"description": "Options for decimal literals (e.g., `1_234_567`).",
"anyOf": [
{ "$ref": "#/$defs/NumericLiteralSeparatorOptions" },
{ "type": "null" }
]
},
"hexadecimal": {
"description": "Options for hexadecimal literals (e.g., `0xAB_CD`).",
"anyOf": [
{ "$ref": "#/$defs/NumericLiteralSeparatorOptions" },
{ "type": "null" }
]
},
"octal": {
"description": "Options for octal literals (e.g., `0o1234_5670`).",
"anyOf": [
{ "$ref": "#/$defs/NumericLiteralSeparatorOptions" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseObjectSpreadConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseObjectSpreadOptions" }
]
},
"UseObjectSpreadOptions": {
"type": "object",
"additionalProperties": false
},
"UseOptionalChainConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseOptionalChainOptions" }
]
},
"UseOptionalChainOptions": {
"type": "object",
"additionalProperties": false
},
"UseParseIntRadixConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseParseIntRadixOptions" }
]
},
"UseParseIntRadixOptions": {
"type": "object",
"additionalProperties": false
},
"UsePlaywrightValidDescribeCallbackConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUsePlaywrightValidDescribeCallbackOptions" }
]
},
"UsePlaywrightValidDescribeCallbackOptions": {
"type": "object",
"additionalProperties": false
},
"UsePromiseRejectErrorsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUsePromiseRejectErrorsOptions" }
]
},
"UsePromiseRejectErrorsOptions": {
"type": "object",
"additionalProperties": false
},
"UseQwikClasslistConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseQwikClasslistOptions" }
]
},
"UseQwikClasslistOptions": {
"type": "object",
"additionalProperties": false
},
"UseQwikLoaderLocationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseQwikLoaderLocationOptions" }
]
},
"UseQwikLoaderLocationOptions": {
"type": "object",
"additionalProperties": false
},
"UseQwikMethodUsageConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseQwikMethodUsageOptions" }
]
},
"UseQwikMethodUsageOptions": {
"type": "object",
"additionalProperties": false
},
"UseQwikValidLexicalScopeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseQwikValidLexicalScopeOptions" }
]
},
"UseQwikValidLexicalScopeOptions": {
"type": "object",
"additionalProperties": false
},
"UseReactAsyncServerFunctionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReactAsyncServerFunctionOptions" }
]
},
"UseReactAsyncServerFunctionOptions": {
"type": "object",
"additionalProperties": false
},
"UseReactCompilerConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReactCompilerOptions" }
]
},
"UseReactCompilerOptions": {
"type": "object",
"properties": {
"compilationMode": {
"description": "Which functions React Compiler analyzes. Defaults to `infer`.",
"anyOf": [{ "$ref": "#/$defs/CompilationMode" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseReactFunctionComponentDefinitionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReactFunctionComponentDefinitionOptions" }
]
},
"UseReactFunctionComponentDefinitionOptions": {
"type": "object",
"properties": {
"namedComponents": {
"description": "The function style to enforce for named React components.",
"anyOf": [
{ "$ref": "#/$defs/ComponentDefinitionStyle" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseReactFunctionComponentsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReactFunctionComponentsOptions" }
]
},
"UseReactFunctionComponentsOptions": {
"type": "object",
"additionalProperties": false
},
"UseReactNamingConventionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReactNamingConventionOptions" }
]
},
"UseReactNamingConventionOptions": {
"type": "object",
"additionalProperties": false
},
"UseReactNativePlatformComponentsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReactNativePlatformComponentsOptions" }
]
},
"UseReactNativePlatformComponentsOptions": {
"type": "object",
"properties": {
"androidPathPatterns": {
"description": "A list of glob patterns to identify Android-specific files.\nDefaults to `[\"**/*.android.{js,jsx,ts,tsx}\"]`.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"iosPathPatterns": {
"description": "A list of glob patterns to identify iOS-specific files.\nDefaults to `[\"**/*.ios.{js,jsx,ts,tsx}\"]`.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
}
},
"additionalProperties": false
},
"UseReadonlyClassPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReadonlyClassPropertiesOptions" }
]
},
"UseReadonlyClassPropertiesOptions": {
"type": "object",
"properties": {
"checkAllProperties": {
"description": "When `true`, the keywords `public`, `protected`, and `private` are analyzed by the rule.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseReduceTypeParameterConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseReduceTypeParameterOptions" }
]
},
"UseReduceTypeParameterOptions": {
"type": "object",
"additionalProperties": false
},
"UseRegexLiteralsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseRegexLiteralsOptions" }
]
},
"UseRegexLiteralsOptions": {
"type": "object",
"additionalProperties": false
},
"UseRegexpExecConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseRegexpExecOptions" }
]
},
"UseRegexpExecOptions": { "type": "object", "additionalProperties": false },
"UseRegexpTestConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseRegexpTestOptions" }
]
},
"UseRegexpTestOptions": { "type": "object", "additionalProperties": false },
"UseRequiredScriptsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseRequiredScriptsOptions" }
]
},
"UseRequiredScriptsOptions": {
"type": "object",
"properties": {
"requiredScripts": {
"description": "List of script names that must be present in package.json",
"type": "array",
"default": [],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseScopedStylesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseScopedStylesOptions" }
]
},
"UseScopedStylesOptions": {
"type": "object",
"additionalProperties": false
},
"UseSelfClosingElementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSelfClosingElementsOptions" }
]
},
"UseSelfClosingElementsOptions": {
"type": "object",
"properties": { "ignoreHtmlElements": { "type": ["boolean", "null"] } },
"additionalProperties": false
},
"UseSemanticElementsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSemanticElementsOptions" }
]
},
"UseSemanticElementsOptions": {
"type": "object",
"additionalProperties": false
},
"UseShorthandAssignConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseShorthandAssignOptions" }
]
},
"UseShorthandAssignOptions": {
"type": "object",
"additionalProperties": false
},
"UseShorthandFunctionTypeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseShorthandFunctionTypeOptions" }
]
},
"UseShorthandFunctionTypeOptions": {
"type": "object",
"additionalProperties": false
},
"UseSimpleNumberKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSimpleNumberKeysOptions" }
]
},
"UseSimpleNumberKeysOptions": {
"type": "object",
"additionalProperties": false
},
"UseSimplifiedBooleanReturnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSimplifiedBooleanReturnOptions" }
]
},
"UseSimplifiedBooleanReturnOptions": {
"type": "object",
"additionalProperties": false
},
"UseSimplifiedLogicExpressionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSimplifiedLogicExpressionOptions" }
]
},
"UseSimplifiedLogicExpressionOptions": {
"type": "object",
"additionalProperties": false
},
"UseSingleJsDocAsteriskConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSingleJsDocAsteriskOptions" }
]
},
"UseSingleJsDocAsteriskOptions": {
"type": "object",
"additionalProperties": false
},
"UseSingleTopLevelHeadingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSingleTopLevelHeadingOptions" }
]
},
"UseSingleTopLevelHeadingOptions": {
"type": "object",
"properties": {
"level": {
"description": "The heading level that is treated as the document's top-level heading.",
"type": ["integer", "null"],
"format": "uint8",
"maximum": 255,
"minimum": 1
}
},
"additionalProperties": false
},
"UseSingleVarDeclaratorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSingleVarDeclaratorOptions" }
]
},
"UseSingleVarDeclaratorOptions": {
"type": "object",
"additionalProperties": false
},
"UseSolidForComponentConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSolidForComponentOptions" }
]
},
"UseSolidForComponentOptions": {
"type": "object",
"additionalProperties": false
},
"UseSortedAttributesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedAttributesOptions" }
]
},
"UseSortedAttributesOptions": {
"type": "object",
"properties": {
"sortFirst": {
"description": "A list of attribute names that should be sorted before all other\nattributes, in the order they appear in this list. The remaining\nattributes are sorted after the listed ones.\n\nThis is useful to keep attributes such as `key` first.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"sortOrder": {
"anyOf": [{ "$ref": "#/$defs/SortOrder" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseSortedEnumMembersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedEnumMembersOptions" }
]
},
"UseSortedEnumMembersOptions": {
"type": "object",
"additionalProperties": false
},
"UseSortedInterfaceMembersConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedInterfaceMembersOptions" }
]
},
"UseSortedInterfaceMembersOptions": {
"type": "object",
"properties": {
"partitionByNewLine": {
"description": "When enabled, members separated by a blank line are kept in their own\nsection and sorted only within that section. This preserves logical\ngroupings the author intentionally introduced with empty lines.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseSortedKeysConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedKeysOptions" }
]
},
"UseSortedKeysOptions": {
"type": "object",
"properties": {
"groupByNesting": {
"description": "When enabled, groups object keys by their value's nesting depth before sorting.\nSimple values (primitives, single-line arrays, single-line objects) are sorted first,\nfollowed by nested values (multi-line objects, multi-line arrays).",
"type": ["boolean", "null"]
},
"sortOrder": {
"anyOf": [{ "$ref": "#/$defs/SortOrder" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseSortedPackageJsonConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedPackageJsonOptions" }
]
},
"UseSortedPackageJsonOptions": {
"type": "object",
"additionalProperties": false
},
"UseSortedPropertiesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedPropertiesOptions" }
]
},
"UseSortedPropertiesOptions": {
"type": "object",
"additionalProperties": false
},
"UseSortedSelectionSetConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedSelectionSetOptions" }
]
},
"UseSortedSelectionSetOptions": {
"type": "object",
"additionalProperties": false
},
"UseSortedTypeFieldsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RuleAssistPlainConfiguration" },
{ "$ref": "#/$defs/RuleAssistWithUseSortedTypeFieldsOptions" }
]
},
"UseSortedTypeFieldsOptions": {
"type": "object",
"additionalProperties": false
},
"UseSpreadOverApplyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSpreadOverApplyOptions" }
]
},
"UseSpreadOverApplyOptions": {
"type": "object",
"additionalProperties": false
},
"UseStaticResponseMethodsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseStaticResponseMethodsOptions" }
]
},
"UseStaticResponseMethodsOptions": {
"type": "object",
"additionalProperties": false
},
"UseStrictBooleanExpressionsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseStrictBooleanExpressionsOptions" }
]
},
"UseStrictBooleanExpressionsOptions": {
"type": "object",
"additionalProperties": false
},
"UseStrictModeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseStrictModeOptions" }
]
},
"UseStrictModeOptions": { "type": "object", "additionalProperties": false },
"UseStringStartsEndsWithConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseStringStartsEndsWithOptions" }
]
},
"UseStringStartsEndsWithOptions": {
"type": "object",
"additionalProperties": false
},
"UseSvelteKitResolveConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSvelteKitResolveOptions" }
]
},
"UseSvelteKitResolveOptions": {
"type": "object",
"properties": {
"ignoreGoto": {
"description": "Whether to ignore all `goto()` calls. Default: `false`.",
"type": ["boolean", "null"]
},
"ignoreLinks": {
"description": "Whether to ignore all `<a>` elements. Default: `false`.",
"type": ["boolean", "null"]
},
"ignorePushState": {
"description": "Whether to ignore all `pushState()` calls. Default: `false`.",
"type": ["boolean", "null"]
},
"ignoreReplaceState": {
"description": "Whether to ignore all `replaceState()` calls. Default: `false`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseSvelteKitRuneImportsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSvelteKitRuneImportsOptions" }
]
},
"UseSvelteKitRuneImportsOptions": {
"type": "object",
"additionalProperties": false
},
"UseSvelteReactiveClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSvelteReactiveClassesOptions" }
]
},
"UseSvelteReactiveClassesOptions": {
"type": "object",
"additionalProperties": false
},
"UseSvelteRequireEachKeyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSvelteRequireEachKeyOptions" }
]
},
"UseSvelteRequireEachKeyOptions": {
"type": "object",
"additionalProperties": false
},
"UseSvelteShorthandDirectiveConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSvelteShorthandDirectiveOptions" }
]
},
"UseSvelteShorthandDirectiveOptions": {
"type": "object",
"additionalProperties": false
},
"UseSymbolDescriptionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSymbolDescriptionOptions" }
]
},
"UseSymbolDescriptionOptions": {
"type": "object",
"additionalProperties": false
},
"UseTailwindShorthandClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTailwindShorthandClassesOptions" }
]
},
"UseTailwindShorthandClassesOptions": {
"type": "object",
"additionalProperties": false
},
"UseTailwindSortedClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTailwindSortedClassesOptions" }
]
},
"UseTailwindSortedClassesOptions": {
"type": "object",
"additionalProperties": false
},
"UseTailwindStaticClassStringsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTailwindStaticClassStringsOptions" }
]
},
"UseTailwindStaticClassStringsOptions": {
"type": "object",
"additionalProperties": false
},
"UseTemplateConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTemplateOptions" }
]
},
"UseTemplateOptions": { "type": "object", "additionalProperties": false },
"UseTestHooksInOrderConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTestHooksInOrderOptions" }
]
},
"UseTestHooksInOrderOptions": {
"type": "object",
"additionalProperties": false
},
"UseTestHooksOnTopConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTestHooksOnTopOptions" }
]
},
"UseTestHooksOnTopOptions": {
"type": "object",
"additionalProperties": false
},
"UseThisInClassMethodsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseThisInClassMethodsOptions" }
]
},
"UseThisInClassMethodsOptions": {
"description": "Options for the `useThisInClassMethods` rule.",
"type": "object",
"properties": {
"ignoreClassesWithImplements": {
"description": "Whether members of classes with an `implements` clause should be ignored.\n\nDefaults to `\"none\"`, which means implemented classes are checked like any other class.\nUse `\"all\"` to ignore every eligible member in such classes, or `\"public-fields\"`\nto ignore only public members in them.",
"anyOf": [
{ "$ref": "#/$defs/IgnoreClassesWithImplements" },
{ "type": "null" }
]
},
"ignoreMethods": {
"description": "Method names that should be ignored by the rule.\n\nDefaults to `[]`.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreOverrideMethods": {
"description": "Whether methods marked with `override` should be ignored.\n\nDefaults to `false`.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseThrowNewErrorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseThrowNewErrorOptions" }
]
},
"UseThrowNewErrorOptions": {
"type": "object",
"additionalProperties": false
},
"UseThrowOnlyErrorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseThrowOnlyErrorOptions" }
]
},
"UseThrowOnlyErrorOptions": {
"type": "object",
"additionalProperties": false
},
"UseTopLevelHeadingConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTopLevelHeadingOptions" }
]
},
"UseTopLevelHeadingOptions": {
"type": "object",
"additionalProperties": false
},
"UseTopLevelRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTopLevelRegexOptions" }
]
},
"UseTopLevelRegexOptions": {
"type": "object",
"additionalProperties": false
},
"UseTrimStartEndConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseTrimStartEndOptions" }
]
},
"UseTrimStartEndOptions": {
"type": "object",
"additionalProperties": false
},
"UseUnaryMinusConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseUnaryMinusOptions" }
]
},
"UseUnaryMinusOptions": { "type": "object", "additionalProperties": false },
"UseUnicodeRegexConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseUnicodeRegexOptions" }
]
},
"UseUnicodeRegexOptions": {
"type": "object",
"additionalProperties": false
},
"UseUnifiedTypeSignaturesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseUnifiedTypeSignaturesOptions" }
]
},
"UseUnifiedTypeSignaturesOptions": {
"type": "object",
"properties": {
"ignoreDifferentJsDoc": {
"description": "Whether to ignore overloads with different JSDoc comments.",
"type": ["boolean", "null"]
},
"ignoreDifferentlyNamedParameters": {
"description": "Whether to ignore overloads with differently named parameters.",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseUniqueElementIdsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseUniqueElementIdsOptions" }
]
},
"UseUniqueElementIdsOptions": {
"type": "object",
"properties": {
"excludedComponents": {
"description": "Component names that accept an `id` prop that does not translate\nto a DOM element id.",
"type": ["array", "null"],
"items": { "type": "string" },
"uniqueItems": true
}
},
"additionalProperties": false
},
"UseValidAnchorConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidAnchorOptions" }
]
},
"UseValidAnchorOptions": {
"type": "object",
"additionalProperties": false
},
"UseValidAriaPropsConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidAriaPropsOptions" }
]
},
"UseValidAriaPropsOptions": {
"type": "object",
"additionalProperties": false
},
"UseValidAriaRoleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidAriaRoleOptions" }
]
},
"UseValidAriaRoleOptions": {
"type": "object",
"properties": {
"allowInvalidRoles": {
"description": "It allows specifying a list of roles that might be invalid otherwise",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreNonDom": {
"description": "Use this option to ignore non-DOM elements, such as custom components",
"type": ["boolean", "null"]
}
},
"additionalProperties": false
},
"UseValidAriaValuesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidAriaValuesOptions" }
]
},
"UseValidAriaValuesOptions": {
"type": "object",
"additionalProperties": false
},
"UseValidAutocompleteConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidAutocompleteOptions" }
]
},
"UseValidAutocompleteOptions": {
"type": "object",
"properties": {
"inputComponents": {
"description": "`input` like custom components that should be checked.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseValidForDirectionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidForDirectionOptions" }
]
},
"UseValidForDirectionOptions": {
"type": "object",
"additionalProperties": false
},
"UseValidLangConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidLangOptions" }
]
},
"UseValidLangOptions": { "type": "object", "additionalProperties": false },
"UseValidTestTitleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidTestTitleOptions" }
]
},
"UseValidTestTitleOptions": {
"type": "object",
"properties": {
"disallowedWords": {
"description": "A list of words that are disallowed in test titles.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseValidTypeofConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseValidTypeofOptions" }
]
},
"UseValidTypeofOptions": {
"type": "object",
"additionalProperties": false
},
"UseVarsOnTopConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVarsOnTopOptions" }
]
},
"UseVarsOnTopOptions": { "type": "object", "additionalProperties": false },
"UseVueBaseImportConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueBaseImportOptions" }
]
},
"UseVueBaseImportOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueConsistentDefinePropsDeclarationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{
"$ref": "#/$defs/RuleWithUseVueConsistentDefinePropsDeclarationOptions"
}
]
},
"UseVueConsistentDefinePropsDeclarationOptions": {
"type": "object",
"properties": {
"style": {
"anyOf": [{ "$ref": "#/$defs/DeclarationStyle" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseVueConsistentEventHyphenationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueConsistentEventHyphenationOptions" }
]
},
"UseVueConsistentEventHyphenationOptions": {
"type": "object",
"properties": {
"hyphenation": {
"description": "Whether event names in `v-on` directives must be hyphenated (`\"always\"`) or must not\ncontain hyphens (`\"never\"`). If omitted, hyphenated names are required.",
"anyOf": [{ "$ref": "#/$defs/EventHyphenation" }, { "type": "null" }]
},
"ignore": {
"description": "List of event names to exempt from the check.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreTags": {
"description": "List of tag names whose events should not be checked.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseVueConsistentVBindStyleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueConsistentVBindStyleOptions" }
]
},
"UseVueConsistentVBindStyleOptions": {
"type": "object",
"properties": {
"style": {
"description": "Preferred style for `v-bind` usage: \"shorthand\" or \"longhand\".\nIf omitted, shorthand is preferred.",
"anyOf": [{ "$ref": "#/$defs/VueDirectiveStyle" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseVueConsistentVOnStyleConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueConsistentVOnStyleOptions" }
]
},
"UseVueConsistentVOnStyleOptions": {
"type": "object",
"properties": {
"style": {
"description": "Preferred style for `v-on` usage: \"shorthand\" or \"longhand\".\nIf omitted, shorthand is preferred.",
"anyOf": [
{ "$ref": "#/$defs/VueDirectiveStyle2" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"UseVueDefineMacrosOrderConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueDefineMacrosOrderOptions" }
]
},
"UseVueDefineMacrosOrderOptions": {
"type": "object",
"properties": {
"order": {
"description": "The order of the Vue define macros.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseVueHyphenatedAttributesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueHyphenatedAttributesOptions" }
]
},
"UseVueHyphenatedAttributesOptions": {
"type": "object",
"properties": {
"ignore": {
"description": "List of attribute names to ignore when checking for uppercase letters.",
"type": ["array", "null"],
"default": null,
"items": { "type": "string" },
"uniqueItems": true
},
"ignoreTags": {
"description": "List of HTML tags whose attributes should not be checked for uppercase letters.",
"type": ["array", "null"],
"default": null,
"items": { "type": "string" },
"uniqueItems": true
}
},
"additionalProperties": false
},
"UseVueMatchingComponentFileNameConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueMatchingComponentFileNameOptions" }
]
},
"UseVueMatchingComponentFileNameOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueMultiWordComponentNamesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueMultiWordComponentNamesOptions" }
]
},
"UseVueMultiWordComponentNamesOptions": {
"type": "object",
"properties": {
"ignores": {
"description": "Component names to ignore (allowed to be single-word).",
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseVueNextTickPromiseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueNextTickPromiseOptions" }
]
},
"UseVueNextTickPromiseOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueVForKeyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueVForKeyOptions" }
]
},
"UseVueVForKeyOptions": { "type": "object", "additionalProperties": false },
"UseVueValidTemplateRootConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidTemplateRootOptions" }
]
},
"UseVueValidTemplateRootOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVBindConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVBindOptions" }
]
},
"UseVueValidVBindOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVCloakConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVCloakOptions" }
]
},
"UseVueValidVCloakOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVElseConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVElseOptions" }
]
},
"UseVueValidVElseIfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVElseIfOptions" }
]
},
"UseVueValidVElseIfOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVElseOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVForConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVForOptions" }
]
},
"UseVueValidVForOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVHtmlConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVHtmlOptions" }
]
},
"UseVueValidVHtmlOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVIfConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVIfOptions" }
]
},
"UseVueValidVIfOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVOnConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVOnOptions" }
]
},
"UseVueValidVOnOptions": {
"type": "object",
"properties": {
"modifiers": {
"description": "Additional modifiers that should be considered valid",
"type": ["array", "null"],
"default": null,
"items": { "type": "string" }
}
},
"additionalProperties": false
},
"UseVueValidVOnceConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVOnceOptions" }
]
},
"UseVueValidVOnceOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVPreConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVPreOptions" }
]
},
"UseVueValidVPreOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueValidVTextConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueValidVTextOptions" }
]
},
"UseVueValidVTextOptions": {
"type": "object",
"additionalProperties": false
},
"UseVueVaporConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseVueVaporOptions" }
]
},
"UseVueVaporOptions": { "type": "object", "additionalProperties": false },
"UseWhileConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseWhileOptions" }
]
},
"UseWhileOptions": { "type": "object", "additionalProperties": false },
"UseYieldConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseYieldOptions" }
]
},
"UseYieldOptions": { "type": "object", "additionalProperties": false },
"VcsClientKind": {
"oneOf": [
{
"description": "Integration with Git as the version control client.",
"type": "string",
"const": "git"
}
]
},
"VcsConfiguration": {
"description": "Configures how Biome integrates with a version control system.",
"type": "object",
"properties": {
"clientKind": {
"description": "Selects the version-control client. Currently, only `git` is supported.",
"anyOf": [{ "$ref": "#/$defs/VcsClientKind" }, { "type": "null" }]
},
"defaultBranch": {
"description": "Sets the base branch used by `--changed` when `--since` is not provided. If neither this option\nnor `--since` is set, commands using `--changed` fail because Biome cannot determine the\ncomparison base.",
"type": ["string", "null"]
},
"enabled": {
"description": "Enables or disables version-control integration. Defaults to `false`. Enabling integration\nrequires `vcs.clientKind` to be set.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"root": {
"description": "Sets the directory where Biome looks for version-control files. A relative value is resolved\nfrom the directory containing the current configuration file, while an absolute path is used\ndirectly.\n\nDefaults to the directory containing `biome.json` or `biome.jsonc`. If no configuration is\nfound, Biome uses the current working directory.\n\nIf neither directory is available, Biome disables version control integration and emits a\ndiagnostic.",
"type": ["string", "null"]
},
"useIgnoreFile": {
"description": "Controls whether Biome applies patterns from `.gitignore`, Git's local `.git/info/exclude`,\nand supported `.ignore` files, including nested ignore files. Patterns in the root ignore file\nare resolved from `vcs.root`. Patterns in nested ignore files are resolved from the directory\ncontaining that file. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"Visibility": {
"type": "string",
"enum": ["public", "package", "private"]
},
"VueDirectiveStyle": {
"type": "string",
"enum": ["shorthand", "longhand"]
},
"VueDirectiveStyle2": {
"type": "string",
"enum": ["shorthand", "longhand"]
},
"WhitespaceSensitivity": {
"description": "Controls how the formatter treats whitespace around text and child elements in HTML, Vue,\nSvelte, and Astro markup.\n\nThe following two cases won't produce the same output:\n\n| | html | output |\n| -------------- | :------------: | :----------: |\n| with spaces | `1<b> 2 </b>3` | 1<b> 2 </b>3 |\n| without spaces | `1<b>2</b>3` | 1<b>2</b>3 |\n\nThis happens because whitespace is significant in inline elements.\n\nAs a consequence of this, the formatter must format blocks that look like this (assume a small line width, <20):\n```html\n<span>really long content</span>\n```\nas this, where the content hugs the tags:\n```html\n<span\n >really long content</span\n>\n```\n\nNote that this is only necessary for inline elements. Block elements do not have this restriction.",
"oneOf": [
{
"description": "Treats whitespace as significant for elements that browsers display inline by default.",
"type": "string",
"const": "css"
},
{
"description": "Treats leading and trailing whitespace as significant for every element. Existing whitespace\nis preserved as at least one character and absent whitespace is not added.\n\nExample of text hugging the tags:\n```html\n<b\n >content</b\n>\n```",
"type": "string",
"const": "strict"
},
{
"description": "Treats whitespace as insignificant, allowing the formatter to add or remove it. Use this only\nwhen whitespace cannot affect rendered output.",
"type": "string",
"const": "ignore"
}
]
},
"YamlConfiguration": {
"description": "Options applied to Yaml files",
"type": "object",
"properties": {
"formatter": {
"description": "Formatter options",
"anyOf": [
{ "$ref": "#/$defs/YamlFormatterConfiguration" },
{ "type": "null" }
]
},
"linter": {
"anyOf": [
{ "$ref": "#/$defs/YamlLinterConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"YamlFormatterConfiguration": {
"description": "Options that change how the Yaml formatter behaves",
"type": "object",
"properties": {
"bracketSpacing": {
"description": "Whether to insert spaces inside non-empty flow mappings (`{ key: value }`)\nand sequences (`[ item ]`) that fit on one line. If unset, inherits the\nglobal bracket spacing setting. When neither is set, mappings have spaces\nand sequences do not.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Control the formatter for Yaml (and its super languages) files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentWidth": {
"description": "The size of the indentation applied to Yaml files. Defaults to 2.",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The type of line ending applied to Yaml (and its super languages) files. `auto` uses CRLF on Windows and LF on other platforms.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "What's the max width of a line applied to Yaml files. Defaults to 80.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"quoteStyle": {
"description": "The type of quotes used in YAML code. Defaults to `double`.",
"anyOf": [{ "$ref": "#/$defs/QuoteStyle" }, { "type": "null" }],
"default": null
},
"trailingNewline": {
"description": "Whether to add a trailing newline at the end of the file.\n\nSetting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- https://thoughtbot.com/blog/no-newline-at-end-of-file\n- https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804\n- https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files\n\nDisable the option at your own risk.\n\nDefaults to true.",
"anyOf": [{ "$ref": "#/$defs/TrailingNewline" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"YamlLinterConfiguration": {
"description": "Options that change how the Yaml linter behaves",
"type": "object",
"properties": {
"enabled": {
"description": "Control the linter for Yaml files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
}
}
}
View source