Biome Configuration Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Configuration",
"description": "The configuration contained in `biome.json`.",
"type": "object",
"properties": {
"$schema": {
"description": "A field for the JSON schema specification: https://json-schema.org/",
"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": "A list of paths to other JSON files, used to extend the current configuration.",
"anyOf": [{ "$ref": "#/$defs/Extends" }, { "type": "null" }]
},
"files": {
"description": "The file handling configuration.",
"anyOf": [{ "$ref": "#/$defs/FilesConfiguration" }, { "type": "null" }]
},
"formatter": {
"description": "The formatter configuration.",
"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" }]
},
"overrides": {
"description": "A list of granular patterns applied only to a subset of files.",
"anyOf": [{ "$ref": "#/$defs/Overrides" }, { "type": "null" }]
},
"plugins": {
"description": "List of plugins to load.",
"anyOf": [{ "$ref": "#/$defs/Plugins" }, { "type": "null" }]
},
"root": {
"description": "Indicates whether this configuration file is at the root of a Biome\nproject. By default, this is `true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"vcs": {
"description": "The version control integration configuration.",
"anyOf": [{ "$ref": "#/$defs/VcsConfiguration" }, { "type": "null" }]
}
},
"additionalProperties": false,
"allowTrailingCommas": true,
"$defs": {
"A11y": {
"description": "A list of rules that belong to this group",
"type": "object",
"properties": {
"noAccessKey": {
"description": "Enforce that the accesskey attribute is not used on any HTML element.\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": "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.\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": "Enforce that tabindex is not assigned to non-interactive HTML elements.\nSee https://biomejs.dev/linter/rules/no-noninteractive-tabindex",
"anyOf": [
{ "$ref": "#/$defs/NoNoninteractiveTabindexConfiguration" },
{ "type": "null" }
]
},
"noPositiveTabindex": {
"description": "Prevent the usage of positive integers on 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": "Enforce that static, visible elements (such as \\<div>) that have click handlers use the valid role attribute.\nSee https://biomejs.dev/linter/rules/no-static-element-interactions",
"anyOf": [
{ "$ref": "#/$defs/NoStaticElementInteractionsConfiguration" },
{ "type": "null" }
]
},
"noSvgWithoutTitle": {
"description": "Enforces the usage of the title element for the svg element.\nSee https://biomejs.dev/linter/rules/no-svg-without-title",
"anyOf": [
{ "$ref": "#/$defs/NoSvgWithoutTitleConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"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": "Enforces the usage and validity of the attribute type for the element 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": "Disallow a missing generic family keyword within font families.\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": "Enforce that html element has lang attribute.\nSee https://biomejs.dev/linter/rules/use-html-lang",
"anyOf": [
{ "$ref": "#/$defs/UseHtmlLangConfiguration" },
{ "type": "null" }
]
},
"useIframeTitle": {
"description": "Enforces the usage of the attribute title for the element 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": "Enforce that onmouseover is accompanied by onfocus and onmouseout by onblur.\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": "Enforce that all anchors are valid, and they are navigable elements.\nSee https://biomejs.dev/linter/rules/use-valid-anchor",
"anyOf": [
{ "$ref": "#/$defs/UseValidAnchorConfiguration" },
{ "type": "null" }
]
},
"useValidAriaProps": {
"description": "Ensures that ARIA properties aria-* are all valid.\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": "Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.\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": "The actions preset to use.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "It enables the assist actions recommended by Biome. `true` by default.",
"type": ["boolean", "null"]
},
"source": {
"anyOf": [{ "$ref": "#/$defs/Source" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"ArrowParentheses": { "type": "string", "enum": ["always", "asNeeded"] },
"AssistConfiguration": {
"type": "object",
"properties": {
"actions": {
"description": "Whether Biome should fail in CLI if the assist were not applied to the code.",
"anyOf": [{ "$ref": "#/$defs/Actions" }, { "type": "null" }]
},
"enabled": {
"description": "Whether Biome should enable assist via LSP and CLI.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns. Biome will include files/folders that will\nmatch these patterns.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
}
},
"additionalProperties": false
},
"AttributePosition": { "type": "string", "enum": ["auto", "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
}
]
},
"Bool": { "type": "boolean" },
"BracketSameLine": {
"description": "Put the `>` of a multi-line HTML or JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements).",
"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": "A list of rules that belong to this 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" }
]
},
"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" }
]
},
"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 the use of the !important style.\nSee https://biomejs.dev/linter/rules/no-important-styles",
"anyOf": [
{ "$ref": "#/$defs/NoImportantStylesConfiguration" },
{ "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" }
]
},
"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 catch bindings.\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 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 useless this aliasing.\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": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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": "A list of rules that belong to this 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" }
]
},
"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 all argument names for fields & directives to be unique.\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": "Require all enum value names to be unique.\nSee https://biomejs.dev/linter/rules/no-duplicate-enum-value-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateEnumValueNamesConfiguration" },
{ "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": "Disallows empty 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 direction values for linear gradient functions.\nSee https://biomejs.dev/linter/rules/no-invalid-direction-in-linear-gradient",
"anyOf": [
{
"$ref": "#/$defs/NoInvalidDirectionInLinearGradientConfiguration"
},
{ "type": "null" }
]
},
"noInvalidGridAreas": {
"description": "Disallows invalid named grid areas in CSS Grid Layouts.\nSee https://biomejs.dev/linter/rules/no-invalid-grid-areas",
"anyOf": [
{ "$ref": "#/$defs/NoInvalidGridAreasConfiguration" },
{ "type": "null" }
]
},
"noInvalidPositionAtImportRule": {
"description": "Disallow the use of @import at-rules in invalid positions.\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" }
]
},
"noMissingVarFunction": {
"description": "Disallow missing var function for css variables.\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" }
]
},
"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" }
]
},
"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 lexical declarations in 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 unknown CSS value functions.\nSee https://biomejs.dev/linter/rules/no-unknown-function",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownFunctionConfiguration" },
{ "type": "null" }
]
},
"noUnknownMediaFeatureName": {
"description": "Disallow unknown media feature names.\nSee https://biomejs.dev/linter/rules/no-unknown-media-feature-name",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownMediaFeatureNameConfiguration" },
{ "type": "null" }
]
},
"noUnknownProperty": {
"description": "Disallow unknown properties.\nSee https://biomejs.dev/linter/rules/no-unknown-property",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownPropertyConfiguration" },
{ "type": "null" }
]
},
"noUnknownPseudoClass": {
"description": "Disallow unknown pseudo-class selectors.\nSee https://biomejs.dev/linter/rules/no-unknown-pseudo-class",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownPseudoClassConfiguration" },
{ "type": "null" }
]
},
"noUnknownPseudoElement": {
"description": "Disallow unknown pseudo-element selectors.\nSee https://biomejs.dev/linter/rules/no-unknown-pseudo-element",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownPseudoElementConfiguration" },
{ "type": "null" }
]
},
"noUnknownTypeSelector": {
"description": "Disallow unknown type selectors.\nSee https://biomejs.dev/linter/rules/no-unknown-type-selector",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownTypeSelectorConfiguration" },
{ "type": "null" }
]
},
"noUnknownUnit": {
"description": "Disallow unknown CSS units.\nSee https://biomejs.dev/linter/rules/no-unknown-unit",
"anyOf": [
{ "$ref": "#/$defs/NoUnknownUnitConfiguration" },
{ "type": "null" }
]
},
"noUnmatchableAnbSelector": {
"description": "Disallow unmatchable An+B selectors.\nSee https://biomejs.dev/linter/rules/no-unmatchable-anb-selector",
"anyOf": [
{ "$ref": "#/$defs/NoUnmatchableAnbSelectorConfiguration" },
{ "type": "null" }
]
},
"noUnreachable": {
"description": "Disallow unreachable code.\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 the use of optional chaining in contexts where the undefined value is not allowed.\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": "This rules prevents void elements (AKA self-closing elements) from having children.\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" }
]
},
"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" }
]
},
"preset": {
"description": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"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": "Enforce specifying the name of GraphQL operations.\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 anonymous operations when more than one operation specified in document.\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" }
]
},
"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" }
]
},
"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" }
]
},
"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": "Prevent the usage of static string literal id attribute on elements.\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" }
]
},
"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": "Controls assist actions for CSS files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"CssConfiguration": {
"description": "Options applied to CSS files.",
"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": "CSS globals.",
"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": "Controls 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 maximum line width for CSS and languages that extend it. If unset, inherits the global\nline width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"quoteStyle": {
"description": "The type of quotes used in CSS code. Defaults 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": "Controls the linter for CSS files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"CssParserConfiguration": {
"description": "Options that change how the CSS parser behaves.",
"type": "object",
"properties": {
"allowWrongLineComments": {
"description": "Allows comments to appear on incorrect lines in `.css` files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"cssModules": {
"description": "Enables parsing of CSS Modules-specific features. Enable this feature only\nwhen your files don't end in `.module.css`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"tailwindDirectives": {
"description": "Enables parsing of Tailwind CSS 4.0 directives and functions.",
"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
},
"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": {
"anyOf": [
{ "type": "array", "items": { "type": "string" } },
{ "type": "string" }
]
},
"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\nSet of file and folder names that should be unconditionally ignored by\nBiome's scanner.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"ignoreUnknown": {
"description": "Prevents Biome from emitting diagnostics for unrecognized file types.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns. Biome handles only files and directories that match these\npatterns.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"maxSize": {
"description": "The maximum source file size in bytes. Biome ignores larger files. 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": "Generic options applied to all 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": "Places the `>` of a multiline HTML or JSX element at the end of the last line instead of on\nthe next line. Self-closing elements are unaffected. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"bracketSpacing": {
"description": "Whether to insert spaces inside braces in object literals. 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": {
"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. The formatter will include files/folders that will\nmatch these patterns.",
"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": "The indentation width. Defaults 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": "The maximum line width. 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": "Uses `.editorconfig` files to configure the formatter. Settings in `biome.json` or\n`biome.jsonc` override `.editorconfig` settings. Defaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"Glob": { "type": "string" },
"GraphqlAssistConfiguration": {
"description": "Options that change how GraphQL assist behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Controls assist actions for GraphQL files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }],
"default": null
}
},
"additionalProperties": false
},
"GraphqlConfiguration": {
"description": "Options applied to GraphQL files.",
"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": "Whether to insert spaces inside braces in object literals. If unset, inherits the global\nbracket spacing setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSpacing" }, { "type": "null" }],
"default": null
},
"enabled": {
"description": "Controls the formatter for GraphQL files.",
"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 maximum line width for GraphQL files. If unset, inherits the global line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }],
"default": null
},
"quoteStyle": {
"description": "The type of quotes used in GraphQL 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. 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": "Controls the linter for GraphQL files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }],
"default": null
}
},
"additionalProperties": false
},
"GritAssistConfiguration": {
"description": "Options that change how GritQL assist behaves.",
"type": "object",
"properties": {
"enabled": {
"description": "Controls assist actions for GritQL files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"GritConfiguration": {
"description": "Options applied to GritQL files.",
"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": "Controls the formatter for GritQL files.",
"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 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": "Controls the linter for GritQL files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"GroupMatcher": {
"anyOf": [
{ "$ref": "#/$defs/ImportMatcher" },
{ "$ref": "#/$defs/SourceMatcher" }
]
},
"GroupPlainConfiguration": {
"oneOf": [
{
"description": "It disables all the rules of this group",
"type": "string",
"const": "off"
},
{
"description": "It enables all the rules of this group, with their default severity",
"type": "string",
"const": "on"
},
{
"description": "It enables all the rules of this group, and set their severity to \"info\"",
"type": "string",
"const": "info"
},
{
"description": "It enables all the rules of this group, and set their severity to \"warn\"",
"type": "string",
"const": "warn"
},
{
"description": "It enables all the rules of this group, and set their severity to \"error+\"",
"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": "Controls assist actions for HTML and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"HtmlConfiguration": {
"description": "Options applied to HTML files.",
"type": "object",
"properties": {
"assist": {
"description": "HTML assist options.",
"anyOf": [
{ "$ref": "#/$defs/HtmlAssistConfiguration" },
{ "type": "null" }
]
},
"experimentalFullSupportEnabled": {
"description": "Enables full support for HTML, Vue, Svelte, and Astro files.",
"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": "Whether to place the closing bracket of a multiline HTML tag at the end of the last line\ninstead of on its own line. If unset, inherits the global `bracketSameLine` setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"enabled": {
"description": "Controls the formatter for HTML and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentScriptAndStyle": {
"description": "Whether to indent `<script>` and `<style>` tags in HTML and languages that extend it.\nDefaults 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 maximum line width for HTML and languages that extend it. If unset, inherits the global\nline 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": "Whether to account for whitespace sensitivity when formatting HTML and languages that\nextend it. 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": "Controls 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 parsing double text expressions such as `{{ expression }}` inside `.html` files.",
"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.",
"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": "Whether to indent the content of `<script>` and `<style>` tags for HTML-ish templating languages (Vue, Svelte, etc.).\n\nWhen true, the content of `<script>` and `<style>` tags will be indented one level.",
"type": "boolean"
},
"IndentStyle": {
"oneOf": [
{ "description": "Indent with Tab", "type": "string", "const": "tab" },
{
"description": "Indent with Space",
"type": "string",
"const": "space"
}
]
},
"IndentWidth": {
"type": "integer",
"format": "uint8",
"maximum": 255,
"minimum": 0
},
"JsAssistConfiguration": {
"description": "Assist options specific to the JavaScript assist",
"type": "object",
"properties": {
"enabled": {
"description": "Controls assist actions for JavaScript and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsConfiguration": {
"description": "A set of options applied to the JavaScript files",
"type": "object",
"properties": {
"assist": {
"description": "Assist options",
"anyOf": [
{ "$ref": "#/$defs/JsAssistConfiguration" },
{ "type": "null" }
]
},
"experimentalEmbeddedSnippetsEnabled": {
"description": "Enables support for embedding snippets.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"formatter": {
"description": "Formatting options",
"anyOf": [
{ "$ref": "#/$defs/JsFormatterConfiguration" },
{ "type": "null" }
]
},
"globals": {
"description": "A list of global bindings that should be ignored by the analyzers\n\nIf defined here, they should not emit diagnostics.",
"type": ["array", "null"],
"items": { "type": "string" },
"uniqueItems": true
},
"jsxRuntime": {
"description": "Indicates the type of runtime or transformation used for interpreting JSX.",
"anyOf": [{ "$ref": "#/$defs/JsxRuntime" }, { "type": "null" }]
},
"linter": {
"description": "Linter options",
"anyOf": [
{ "$ref": "#/$defs/JsLinterConfiguration" },
{ "type": "null" }
]
},
"parser": {
"description": "Parsing options",
"anyOf": [
{ "$ref": "#/$defs/JsParserConfiguration" },
{ "type": "null" }
]
},
"resolver": {
"description": "Module/dependency resolver options",
"anyOf": [
{ "$ref": "#/$defs/JsResolverConfiguration" },
{ "type": "null" }
]
}
},
"additionalProperties": false
},
"JsFormatterConfiguration": {
"description": "Formatting options specific to the JavaScript files",
"type": "object",
"properties": {
"arrowParentheses": {
"description": "Whether to add parentheses around arrow function parameters. 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": "Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line,\nrather than being alone on the following line. If unset, inherits the global bracket\nplacement setting.",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"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 immediately inside supported JavaScript and TypeScript delimiters when their\ncontent fits on one line. It doesn't add spaces before opening delimiters or inside empty\ndelimiters.\n\nIt affects parentheses, square brackets, template interpolations, TypeScript angle brackets,\nJSX expression braces, and logical NOT. In operator chains, only the final operator receives\na following space.\n\nIf unset, inherits the global delimiter spacing setting.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"description": "Controls 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": "The type of quotes used in JSX. 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 maximum line width applied to JavaScript and languages that extend it. If unset,\ninherits 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 when object properties are quoted. Defaults to `asNeeded` in configuration\n(`as-needed` on the CLI).",
"anyOf": [{ "$ref": "#/$defs/QuoteProperties" }, { "type": "null" }]
},
"quoteStyle": {
"description": "The type of quotes used in JavaScript code. 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": "Prints trailing commas wherever possible in multiline comma-separated structures. Defaults\nto `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": "Controls 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": {
"gritMetavariables": {
"description": "Enables parsing of Grit metavariables.\nDefaults to `false`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"jsxEverywhere": {
"description": "When enabled, files such as `.js`, `.mjs`, and `.cjs` may contain JSX syntax. Defaults to\n`true`.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"unsafeParameterDecoratorsEnabled": {
"description": "It enables the experimental and unsafe parsing of parameter decorators\n\nThese decorators belong to an old proposal, and they are subject to change.",
"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": "Controls assist actions for JSON and languages that extend it.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsonConfiguration": {
"description": "Options applied to JSON files",
"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
},
"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": "Controls 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 maximum line width applied to JSON and languages that extend it. If unset, inherits the\nglobal line width.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"trailingCommas": {
"description": "Prints trailing commas wherever possible in multiline comma-separated structures. Defaults\nto `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": "Controls 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": "Allows parsing comments in `.json` files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"allowTrailingCommas": {
"description": "Allows parsing trailing commas in `.json` files.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"JsonTrailingCommas": {
"description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures for JSON files.",
"type": "string",
"enum": ["none", "all"]
},
"JsxRuntime": {
"description": "Indicates the type of runtime or transformation used for interpreting JSX.",
"oneOf": [
{
"description": "Indicates a modern or native JSX environment, that doesn't require\nspecial handling by Biome.",
"type": "string",
"const": "transparent"
},
{
"description": "Indicates a classic React environment that requires the `React` import.\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": "Validated value for the `line_width` formatter options\n\nThe allowed range of values is 1..=320",
"type": "integer",
"format": "uint16",
"maximum": 65535,
"minimum": 0
},
"LinterConfiguration": {
"type": "object",
"properties": {
"domains": {
"description": "An object where the keys are the names of the domains, and the values are `all`, `recommended`, or `none`.",
"anyOf": [{ "$ref": "#/$defs/RuleDomains" }, { "type": "null" }]
},
"enabled": {
"description": "if `false`, it disables the feature and the linter won't be executed. `true` by default",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns. The analyzer will handle only those files/folders that will\nmatch these patterns.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"rules": {
"description": "List of rules",
"anyOf": [{ "$ref": "#/$defs/Rules" }, { "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 },
"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
},
"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
},
"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
},
"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
},
"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": {
"type": "object",
"properties": {
"attributes": {
"description": "Additional attributes that will be sorted.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"functions": {
"description": "Names of the functions or tagged templates that will be sorted.",
"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
},
"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
},
"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
},
"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
},
"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
},
"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. Whitespaces are taken into consideration",
"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
},
"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
},
"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
},
"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
},
"NoOctalEscapeConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoOctalEscapeOptions" }
]
},
"NoOctalEscapeOptions": { "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 },
"NoProcessGlobalConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoProcessGlobalOptions" }
]
},
"NoProcessGlobalOptions": {
"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
},
"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",
"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
},
"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 },
"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
},
"NoSvelteLegacyConstConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoSvelteLegacyConstOptions" }
]
},
"NoSvelteLegacyConstOptions": {
"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
},
"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": {
"description": "Options for the `noTailwindArbitraryValue` rule.\n\nControls which attributes and utility functions are checked for arbitrary values.",
"type": "object",
"properties": {
"attributes": {
"description": "Additional attributes that will be checked.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"functions": {
"description": "Names of the functions or tagged templates that will be checked.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"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
},
"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
},
"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
},
"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
},
"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"]
}
},
"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
},
"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
},
"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
},
"NoVueDataObjectDeclarationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueDataObjectDeclarationOptions" }
]
},
"NoVueDataObjectDeclarationOptions": {
"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
},
"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
},
"NoVueSetupPropsReactivityLossConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoVueSetupPropsReactivityLossOptions" }
]
},
"NoVueSetupPropsReactivityLossOptions": {
"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
},
"NoWithConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoWithOptions" }
]
},
"NoWithOptions": { "type": "object", "additionalProperties": false },
"NoYodaExpressionConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithNoYodaExpressionOptions" }
]
},
"NoYodaExpressionOptions": {
"type": "object",
"additionalProperties": false
},
"NormalizedGlob": {
"description": "Normalized Biome glob pattern that strips `./` from the pattern.",
"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": "A list of rules that belong to this group",
"type": "object",
"properties": {
"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" }
]
},
"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" }
]
},
"noConditionalExpect": {
"description": "Disallow conditional expect() calls inside tests.\nSee https://biomejs.dev/linter/rules/no-conditional-expect",
"anyOf": [
{ "$ref": "#/$defs/NoConditionalExpectConfiguration" },
{ "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" }
]
},
"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" }
]
},
"noDuplicateSelectors": {
"description": "Disallow duplicate selectors.\nSee https://biomejs.dev/linter/rules/no-duplicate-selectors",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateSelectorsConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"noImpliedEval": {
"description": "Disallow the use of eval()-like methods.\nSee https://biomejs.dev/linter/rules/no-implied-eval",
"anyOf": [
{ "$ref": "#/$defs/NoImpliedEvalConfiguration" },
{ "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" }
]
},
"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" }
]
},
"noJsRestrictedProperties": {
"description": "Disallow specific object properties.\nSee https://biomejs.dev/linter/rules/no-js-restricted-properties",
"anyOf": [
{ "$ref": "#/$defs/NoJsRestrictedPropertiesConfiguration" },
{ "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" }
]
},
"noJsxNamespace": {
"description": "Disallow JSX namespace syntax.\nSee https://biomejs.dev/linter/rules/no-jsx-namespace",
"anyOf": [
{ "$ref": "#/$defs/NoJsxNamespaceConfiguration" },
{ "type": "null" }
]
},
"noLoopFunc": {
"description": "Disallow functions declared inside loops that capture unsafe outer variables.\nSee https://biomejs.dev/linter/rules/no-loop-func",
"anyOf": [
{ "$ref": "#/$defs/NoLoopFuncConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"noPlaywrightWaitForNavigation": {
"description": "Disallow using page.waitForNavigation().\nSee https://biomejs.dev/linter/rules/no-playwright-wait-for-navigation",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightWaitForNavigationConfiguration" },
{ "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" }
]
},
"noPlaywrightWaitForTimeout": {
"description": "Disallow using page.waitForTimeout().\nSee https://biomejs.dev/linter/rules/no-playwright-wait-for-timeout",
"anyOf": [
{ "$ref": "#/$defs/NoPlaywrightWaitForTimeoutConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"noReactStringRefs": {
"description": "Disallow string refs in React components.\nSee https://biomejs.dev/linter/rules/no-react-string-refs",
"anyOf": [
{ "$ref": "#/$defs/NoReactStringRefsConfiguration" },
{ "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" }
]
},
"noSvelteLegacyConst": {
"description": "Disallow legacy Svelte {@const} tags.\nSee https://biomejs.dev/linter/rules/no-svelte-legacy-const",
"anyOf": [
{ "$ref": "#/$defs/NoSvelteLegacyConstConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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": "Reports custom properties used with var() that have no visible declaration.\nSee https://biomejs.dev/linter/rules/no-undeclared-custom-properties",
"anyOf": [
{ "$ref": "#/$defs/NoUndeclaredCustomPropertiesConfiguration" },
{ "type": "null" }
]
},
"noUnnecessaryTemplateExpression": {
"description": "Disallow unnecessary template expressions.\nSee https://biomejs.dev/linter/rules/no-unnecessary-template-expression",
"anyOf": [
{ "$ref": "#/$defs/NoUnnecessaryTemplateExpressionConfiguration" },
{ "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" }
]
},
"noUntrustedLicenses": {
"description": "Disallow dependencies with untrusted licenses.\nSee https://biomejs.dev/linter/rules/no-untrusted-licenses",
"anyOf": [
{ "$ref": "#/$defs/NoUntrustedLicensesConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"type": ["boolean", "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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"useIframeSandbox": {
"description": "Enforce the 'sandbox' attribute for 'iframe' elements.\nSee https://biomejs.dev/linter/rules/use-iframe-sandbox",
"anyOf": [
{ "$ref": "#/$defs/UseIframeSandboxConfiguration" },
{ "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" }
]
},
"useIncludes": {
"description": "Prefer Array#includes() over Array#indexOf() checks.\nSee https://biomejs.dev/linter/rules/use-includes",
"anyOf": [
{ "$ref": "#/$defs/UseIncludesConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"usePlaywrightValidDescribeCallback": {
"description": "Enforce valid describe() callback.\nSee https://biomejs.dev/linter/rules/use-playwright-valid-describe-callback",
"anyOf": [
{
"$ref": "#/$defs/UsePlaywrightValidDescribeCallbackConfiguration"
},
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"useScopedStyles": {
"description": "Enforce that \\<style> blocks in Vue SFCs have the scoped attribute and that \\<style> blocks in Astro components do not have the is:global directive.\nSee https://biomejs.dev/linter/rules/use-scoped-styles",
"anyOf": [
{ "$ref": "#/$defs/UseScopedStylesConfiguration" },
{ "type": "null" }
]
},
"useSortedClasses": {
"description": "Enforce the sorting of CSS utility classes.\nSee https://biomejs.dev/linter/rules/use-sorted-classes",
"anyOf": [
{ "$ref": "#/$defs/UseSortedClassesConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
},
"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 consistent defineProps declaration style.\nSee https://biomejs.dev/linter/rules/use-vue-consistent-define-props-declaration",
"anyOf": [
{
"$ref": "#/$defs/UseVueConsistentDefinePropsDeclarationConfiguration"
},
{ "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" }
]
},
"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" }
]
}
},
"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": "List of actions",
"anyOf": [{ "$ref": "#/$defs/Actions" }, { "type": "null" }]
},
"enabled": {
"description": "if `false`, it disables the feature and the assist won't be executed. `true` by default",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverrideFilesConfiguration": {
"type": "object",
"properties": {
"maxSize": {
"description": "File size limit in bytes",
"anyOf": [{ "$ref": "#/$defs/MaxSize" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverrideFormatterConfiguration": {
"type": "object",
"properties": {
"attributePosition": {
"description": "The attribute position style.",
"anyOf": [{ "$ref": "#/$defs/AttributePosition" }, { "type": "null" }]
},
"bracketSameLine": {
"description": "Put the `>` of a multi-line HTML or JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements).",
"anyOf": [{ "$ref": "#/$defs/BracketSameLine" }, { "type": "null" }]
},
"bracketSpacing": {
"description": "Whether to insert spaces around brackets in object literals. 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. If unset, uses the configured formatter setting.",
"anyOf": [{ "$ref": "#/$defs/DelimiterSpacing" }, { "type": "null" }]
},
"enabled": {
"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": "Stores whether formatting should be allowed to proceed if a given file\nhas syntax errors",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"indentSize": {
"description": "The size of the indentation, 2 by default (deprecated, use `indent-width`)",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"indentStyle": {
"description": "The indent style.",
"anyOf": [{ "$ref": "#/$defs/IndentStyle" }, { "type": "null" }]
},
"indentWidth": {
"description": "The size of the indentation, 2 by default",
"anyOf": [{ "$ref": "#/$defs/IndentWidth" }, { "type": "null" }]
},
"lineEnding": {
"description": "The type of line ending.",
"anyOf": [{ "$ref": "#/$defs/LineEnding" }, { "type": "null" }]
},
"lineWidth": {
"description": "What's the max width of a line. Defaults to 80.",
"anyOf": [{ "$ref": "#/$defs/LineWidth" }, { "type": "null" }]
},
"trailingCommas": {
"description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures.",
"anyOf": [{ "$ref": "#/$defs/JsTrailingCommas" }, { "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
},
"OverrideGlobs": { "type": "array", "items": { "$ref": "#/$defs/Glob" } },
"OverrideLinterConfiguration": {
"type": "object",
"properties": {
"domains": {
"description": "List of rules",
"anyOf": [{ "$ref": "#/$defs/RuleDomains" }, { "type": "null" }]
},
"enabled": {
"description": "if `false`, it disables the feature and the linter won't be executed. `true` by default",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"rules": {
"description": "List of rules",
"anyOf": [{ "$ref": "#/$defs/Rules" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"OverridePattern": {
"type": "object",
"properties": {
"assist": {
"description": "Specific configuration for the Json language",
"anyOf": [
{ "$ref": "#/$defs/OverrideAssistConfiguration" },
{ "type": "null" }
]
},
"css": {
"description": "Specific configuration for the CSS language",
"anyOf": [{ "$ref": "#/$defs/CssConfiguration" }, { "type": "null" }]
},
"files": {
"description": "Specific configuration for the filesystem",
"anyOf": [
{ "$ref": "#/$defs/OverrideFilesConfiguration" },
{ "type": "null" }
]
},
"formatter": {
"description": "Specific configuration for the Json language",
"anyOf": [
{ "$ref": "#/$defs/OverrideFormatterConfiguration" },
{ "type": "null" }
]
},
"graphql": {
"description": "Specific configuration for the Graphql language",
"anyOf": [
{ "$ref": "#/$defs/GraphqlConfiguration" },
{ "type": "null" }
]
},
"grit": {
"description": "Specific configuration for the GritQL language",
"anyOf": [{ "$ref": "#/$defs/GritConfiguration" }, { "type": "null" }]
},
"html": {
"description": "Specific configuration for the GritQL language",
"anyOf": [{ "$ref": "#/$defs/HtmlConfiguration" }, { "type": "null" }]
},
"includes": {
"description": "A list of glob patterns. Biome will include files/folders that will\nmatch these patterns.",
"anyOf": [{ "$ref": "#/$defs/OverrideGlobs" }, { "type": "null" }]
},
"javascript": {
"description": "Specific configuration for the JavaScript language",
"anyOf": [{ "$ref": "#/$defs/JsConfiguration" }, { "type": "null" }]
},
"json": {
"description": "Specific configuration for the Json language",
"anyOf": [{ "$ref": "#/$defs/JsonConfiguration" }, { "type": "null" }]
},
"linter": {
"description": "Specific configuration for the Json language",
"anyOf": [
{ "$ref": "#/$defs/OverrideLinterConfiguration" },
{ "type": "null" }
]
},
"plugins": {
"description": "Specific configuration for additional plugins",
"anyOf": [{ "$ref": "#/$defs/Plugins" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"Overrides": {
"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": "A list of rules that belong to this 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": "Prevent the usage of synchronous scripts.\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": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"type": ["boolean", "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 a single plugin entry.\n\nCan be either a plain path string or an object with path and options:\n\n```json\n{\n \"plugins\": [\n \"simple-plugin.grit\",\n { \"path\": \"scoped-plugin.grit\", \"includes\": [\"src/**/*.ts\"] }\n ]\n}\n```",
"anyOf": [
{ "description": "A plain path to the plugin.", "type": "string" },
{
"description": "A path with additional options.",
"$ref": "#/$defs/PluginWithOptions"
}
]
},
"PluginWithOptions": {
"description": "Plugin path with additional options.",
"type": "object",
"properties": {
"includes": {
"description": "A list of glob patterns. The plugin will only run on files matching\nthese patterns. Use negated globs (e.g., `!**/*.test.ts`) for exclusions.",
"type": ["array", "null"],
"items": { "$ref": "#/$defs/NormalizedGlob" }
},
"path": { "description": "The path to the plugin.", "type": "string" }
},
"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"
}
]
},
"QuoteProperties": { "type": "string", "enum": ["asNeeded", "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": { "type": "string", "enum": ["off", "on"] },
"RuleAssistWithNoDuplicateClassesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/NoDuplicateClassesOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithOrganizeImportsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/OrganizeImportsOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedAttributesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedAttributesOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedEnumMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedEnumMembersOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedInterfaceMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedInterfaceMembersOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedKeysOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedKeysOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedPackageJsonOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedPackageJsonOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedPropertiesOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedPropertiesOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedSelectionSetOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedSelectionSetOptions" }
},
"required": ["level", "options"]
},
"RuleAssistWithUseSortedTypeFieldsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RuleAssistPlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedTypeFieldsOptions" }
},
"required": ["level", "options"]
},
"RuleDomain": {
"description": "Rule domains",
"oneOf": [
{
"description": "Astro framework rules",
"type": "string",
"const": "astro"
},
{
"description": "Drizzle ORM rules",
"type": "string",
"const": "drizzle"
},
{
"description": "React library rules",
"type": "string",
"const": "react"
},
{
"description": "React Native framework rules",
"type": "string",
"const": "reactNative"
},
{ "description": "Testing rules", "type": "string", "const": "test" },
{
"description": "Solid.js framework rules",
"type": "string",
"const": "solid"
},
{
"description": "Next.js framework rules",
"type": "string",
"const": "next"
},
{
"description": "Qwik framework rules",
"type": "string",
"const": "qwik"
},
{
"description": "Svelte framework rules",
"type": "string",
"const": "svelte"
},
{
"description": "Vue.js framework rules",
"type": "string",
"const": "vue"
},
{
"description": "For rules that require querying multiple files inside a project",
"type": "string",
"const": "project"
},
{
"description": "Tailwind CSS rules",
"type": "string",
"const": "tailwind"
},
{
"description": "Turborepo build system rules",
"type": "string",
"const": "turborepo"
},
{
"description": "Playwright testing framework rules",
"type": "string",
"const": "playwright"
},
{
"description": "Rules that require type inference",
"type": "string",
"const": "types"
}
]
},
"RuleDomainValue": {
"oneOf": [
{
"description": "Enables all the rules that belong to this domain",
"type": "string",
"const": "all"
},
{
"description": "Disables all the rules that belong to this domain",
"type": "string",
"const": "none"
},
{
"description": "Enables only the recommended rules for this domain",
"type": "string",
"const": "recommended"
}
]
},
"RuleDomains": {
"type": "object",
"additionalProperties": { "$ref": "#/$defs/RuleDomainValue" },
"propertyNames": { "$ref": "#/$defs/RuleDomain" }
},
"RulePlainConfiguration": {
"oneOf": [
{ "type": "string", "enum": ["off"] },
{
"description": "Enables the rule using the default severity of the rule",
"type": "string",
"const": "on"
},
{
"description": "Enables the rule, and it will emit a diagnostic with information severity",
"type": "string",
"const": "info"
},
{
"description": "Enables the rule, and it will emit a diagnostic with warning severity",
"type": "string",
"const": "warn"
},
{
"description": "Enables the rule, and it will emit a diagnostic with error severity",
"type": "string",
"const": "error"
}
]
},
"RuleWithNoAccessKeyOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAccessKeyOptions" }
},
"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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoApproximativeNumericConstantOptions" }
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoAriaHiddenOnFocusableOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoAriaUnsupportedElementsOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"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": { "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": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoBlankTargetOptions" }
},
"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": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConfusingVoidTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConsoleOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConsoleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstAssignOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoConstAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoConstEnumOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoDistractingElementsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoDivRegexOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithNoDoubleEqualsOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"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": { "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": { "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"]
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoExtraBooleanCastOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoExtraNonNullAssertionOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFlatMapIdentityOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFloatingPromisesOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoFloatingPromisesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoFocusedTestsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoGlobalIsFiniteOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoGlobalIsNanOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoImplicitBooleanOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoImplicitCoercionsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoInferrableTypesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInlineStylesOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoInteractiveElementToNoninteractiveRoleOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoInvalidBuiltinInstantiationOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"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"]
},
"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"]
},
"RuleWithNoJsxLeakedDollarOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithNoMisleadingCharacterClassOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithNoMisrefactoredShorthandAssignOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNegationElseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNegationInEqualityCheckOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/NoNoninteractiveElementToInteractiveRoleOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNoninteractiveTabindexOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNoninteractiveTabindexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoNonoctalDecimalEscapeOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoNonoctalDecimalEscapeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoOctalEscapeOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoOctalEscapeOptions" }
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoParametersOnlyUsedInRecursionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoPlaywrightElementHandleOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "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": { "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": { "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"]
},
"RuleWithNoProcessGlobalOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoProcessGlobalOptions" }
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoPrototypeBuiltinsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoQuickfixBiomeOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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"]
},
"RuleWithNoReactPropAssignmentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoReactPropAssignmentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoReactSpecificPropsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoRedundantRolesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoRedundantUseStrictOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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"]
},
"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"]
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoShoutyConstantsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSkippedTestsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoStringCaseMismatchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSubstrOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithNoSvelteLegacyConstOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteLegacyConstOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoSvelteUnnecessaryStateWrapOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoSvelteUnnecessaryStateWrapOptions" }
},
"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": { "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"]
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoThisInStaticOptions" }
},
"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": { "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"]
},
"RuleWithNoUnnecessaryConditionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnnecessaryConditionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnnecessaryTemplateExpressionOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithNoUnsafeNegationOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedFunctionParametersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedImportsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedLabelsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedPrivateClassMembersOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedPrivateClassMembersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedTemplateLiteralOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUnusedTemplateLiteralOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUnusedVariablesOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithNoUselessCatchBindingOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessCatchBindingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessCatchOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessCatchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessConstructorOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessConstructorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessContinueOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessContinueOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessElseOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessElseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessEmptyExportOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessEmptyExportOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessEscapeInRegexOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessEscapeInRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessEscapeInStringOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessEscapeInStringOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessFragmentsOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessFragmentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessLabelOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessLabelOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessLoneBlockStatementsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessRenameOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessReturnOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessStringConcatOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessSwitchCaseOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessTernaryOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessTernaryOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessThisAliasOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessThisAliasOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessTypeConstraintOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoUselessUndefinedInitializationOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoUselessUndefinedOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVarOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVoidElementsWithChildrenOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueArrowFuncInWatchOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoVueDataObjectDeclarationOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueDataObjectDeclarationOptions" }
},
"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"]
},
"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"]
},
"RuleWithNoVueSetupPropsReactivityLossOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoVueSetupPropsReactivityLossOptions" }
},
"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"]
},
"RuleWithNoWithOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoWithOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithNoYodaExpressionOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/NoYodaExpressionOptions" }
},
"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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArrayLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseArraySomeOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseArrowFunctionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseAsConstAssertionOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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"]
},
"RuleWithUseBiomeIgnoreFolderOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseBiomeIgnoreFolderOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseBlockStatementsOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseCollapsedElseIfOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseCollapsedElseIfOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseCollapsedIfOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentArrayTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentArrowReturnOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentArrowReturnOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentBuiltinInstantiationOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UseConsistentBuiltinInstantiationOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentCurlyBracesOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseConsistentGraphqlDescriptionsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentGraphqlDescriptionsOptions" }
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentMethodSignaturesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentObjectDefinitionsOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentObjectDefinitionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentTestItOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentTestItOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConsistentTypeDefinitionsOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseConsistentTypeDefinitionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseConstOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDateNowOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDefaultParameterLastOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDisposablesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDomNodeTextContentOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDomNodeTextContentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseDomQuerySelectorOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseDomQuerySelectorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseEnumInitializersOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExhaustiveDependenciesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExhaustiveSwitchCasesOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseExponentiationOperatorOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseExportTypeOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseFilenamingConventionOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFilenamingConventionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseFlatMapOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseFlatMapOptions" }
},
"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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseGoogleFontPreconnectOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseGraphqlNamedOperationsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseImportExtensionsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseImportTypeOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIncludesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIndexOfOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseIsArrayOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseIsNanOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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"]
},
"RuleWithUseLiteralEnumMembersOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLiteralEnumMembersOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseLiteralKeysOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseLiteralKeysOptions" }
},
"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"]
},
"RuleWithUseMathMinMaxOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseNamedCaptureGroupOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamedCaptureGroupOptions" }
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamespaceKeywordOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNamingConventionOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNamingConventionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNodeAssertStrictOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNodeAssertStrictOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNodejsImportProtocolOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNodejsImportProtocolOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNullishCoalescingOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNullishCoalescingOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumberNamespaceOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumberNamespaceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumberToFixedDigitsArgumentOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumberToFixedDigitsArgumentOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumericLiteralsOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumericLiteralsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseNumericSeparatorsOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseNumericSeparatorsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseObjectSpreadOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseObjectSpreadOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseOptionalChainOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseOptionalChainOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseParseIntRadixOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"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": { "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": { "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"]
},
"RuleWithUseReactNativePlatformComponentsOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReactNativePlatformComponentsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReadonlyClassPropertiesOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReadonlyClassPropertiesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseReduceTypeParameterOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseReduceTypeParameterOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseRegexLiteralsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseScopedStylesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSelfClosingElementsOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseShorthandAssignOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseShorthandFunctionTypeOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseShorthandFunctionTypeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSimpleNumberKeysOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSimpleNumberKeysOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSimplifiedLogicExpressionOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSimplifiedLogicExpressionOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSingleJsDocAsteriskOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSingleJsDocAsteriskOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSingleVarDeclaratorOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseSortedClassesOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSortedClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSpreadOverApplyOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSpreadOverApplyOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStaticResponseMethodsOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStaticResponseMethodsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStrictModeOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStrictModeOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseStringStartsEndsWithOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseStringStartsEndsWithOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseSvelteRequireEachKeyOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseSvelteRequireEachKeyOptions" }
},
"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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTailwindShorthandClassesOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTemplateOptions": {
"type": "object",
"properties": {
"fix": { "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": { "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"]
},
"RuleWithUseTopLevelRegexOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTopLevelRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseTrimStartEndOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseTrimStartEndOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseUnicodeRegexOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseUnicodeRegexOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseUnifiedTypeSignaturesOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseValidAriaPropsOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseValidAriaRoleOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseValidTypeofOptions": {
"type": "object",
"properties": {
"fix": { "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"]
},
"RuleWithUseVueConsistentDefinePropsDeclarationOptions": {
"type": "object",
"properties": {
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": {
"$ref": "#/$defs/UseVueConsistentDefinePropsDeclarationOptions"
}
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueConsistentVBindStyleOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueConsistentVBindStyleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueConsistentVOnStyleOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueConsistentVOnStyleOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueDefineMacrosOrderOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueDefineMacrosOrderOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueHyphenatedAttributesOptions": {
"type": "object",
"properties": {
"fix": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueHyphenatedAttributesOptions" }
},
"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": { "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": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueValidVOnceOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseVueValidVPreOptions": {
"type": "object",
"properties": {
"fix": { "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": { "anyOf": [{ "$ref": "#/$defs/FixKind" }, { "type": "null" }] },
"level": { "$ref": "#/$defs/RulePlainConfiguration" },
"options": { "$ref": "#/$defs/UseVueVaporOptions" }
},
"additionalProperties": false,
"required": ["level"]
},
"RuleWithUseWhileOptions": {
"type": "object",
"properties": {
"fix": { "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": "The rule presets to use.",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "It enables the lint rules recommended by Biome. `true` by default.",
"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": "A list of rules that belong to this 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": "Prevent the usage of dangerous JSX props.\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": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"type": ["boolean", "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 void-elements should be self closed",
"oneOf": [
{
"description": "The `/` inside void elements is removed by the formatter",
"type": "string",
"const": "never"
},
{
"description": "The `/` inside void elements is always added",
"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": "A list of rules that belong to this group",
"type": "object",
"properties": {
"noDuplicateClasses": {
"description": "Remove duplicate CSS classes.\nSee https://biomejs.dev/assist/actions/no-duplicate-classes",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateClassesConfiguration" },
{ "type": "null" }
]
},
"organizeImports": {
"description": "Sorts imports and exports in your JavaScript and TypeScript files.\nSee https://biomejs.dev/assist/actions/organize-imports",
"anyOf": [
{ "$ref": "#/$defs/OrganizeImportsConfiguration" },
{ "type": "null" }
]
},
"preset": {
"description": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"type": ["boolean", "null"]
},
"useSortedAttributes": {
"description": "Enforce attribute sorting in HTML elements.\nSee https://biomejs.dev/assist/actions/use-sorted-attributes",
"anyOf": [
{ "$ref": "#/$defs/UseSortedAttributesConfiguration" },
{ "type": "null" }
]
},
"useSortedEnumMembers": {
"description": "Sort the members of an enum in natural order.\nSee https://biomejs.dev/assist/actions/use-sorted-enum-members",
"anyOf": [
{ "$ref": "#/$defs/UseSortedEnumMembersConfiguration" },
{ "type": "null" }
]
},
"useSortedInterfaceMembers": {
"description": "Sort interface members by key.\nSee https://biomejs.dev/assist/actions/use-sorted-interface-members",
"anyOf": [
{ "$ref": "#/$defs/UseSortedInterfaceMembersConfiguration" },
{ "type": "null" }
]
},
"useSortedKeys": {
"description": "Sort the keys of a JSON object in natural order.\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": "Enforce ordering of CSS properties and nested rules.\nSee https://biomejs.dev/assist/actions/use-sorted-properties",
"anyOf": [
{ "$ref": "#/$defs/UseSortedPropertiesConfiguration" },
{ "type": "null" }
]
},
"useSortedSelectionSet": {
"description": "Sort GraphQL selection sets.\nSee https://biomejs.dev/assist/actions/use-sorted-selection-set",
"anyOf": [
{ "$ref": "#/$defs/UseSortedSelectionSetConfiguration" },
{ "type": "null" }
]
},
"useSortedTypeFields": {
"description": "Sort fields in GraphQL type definitions alphabetically.\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": "A list of rules that belong to this 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 a lower specificity selector from coming after a higher specificity selector.\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" }
]
},
"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" }
]
},
"noProcessEnv": {
"description": "Disallow the use of process.env.\nSee https://biomejs.dev/linter/rules/no-process-env",
"anyOf": [
{ "$ref": "#/$defs/NoProcessEnvConfiguration" },
{ "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 the usage of specified root types.\nSee https://biomejs.dev/linter/rules/no-root-type",
"anyOf": [
{ "$ref": "#/$defs/NoRootTypeConfiguration" },
{ "type": "null" }
]
},
"noShoutyConstants": {
"description": "Disallow the use of constants which its value is the upper-case version of its 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" }
]
},
"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 use of @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": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"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 all descriptions to follow the same style (either block or inline) to maintain consistency and improve readability across the 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 consistent use of either method signatures or function properties within 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" }
]
},
"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 specifying the reason argument when using @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" }
]
},
"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": "Validates that all enum values are capitalized.\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" }
]
},
"useInputName": {
"description": "Require mutation argument to be always called \"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 queries, mutations, subscriptions or fragments each to be located in separate files.\nSee https://biomejs.dev/linter/rules/use-lone-executable-definition",
"anyOf": [
{ "$ref": "#/$defs/UseLoneExecutableDefinitionConfiguration" },
{ "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": "Promotes the usage of 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 members as readonly if they are never modified outside the constructor.\nSee https://biomejs.dev/linter/rules/use-readonly-class-properties",
"anyOf": [
{ "$ref": "#/$defs/UseReadonlyClassPropertiesConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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" }
]
},
"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" }
]
}
},
"additionalProperties": false
},
"Suspicious": {
"description": "A list of rules that belong to this 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": "Prevents the misuse of glob patterns inside the files.includes field.\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" }
]
},
"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" }
]
},
"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": "Prevent the listing of duplicate dependencies. The rule supports the following dependency groups: \"bundledDependencies\", \"bundleDependencies\", \"dependencies\", \"devDependencies\", \"overrides\", \"optionalDependencies\", and \"peerDependencies\".\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": "No duplicated fields in GraphQL operations.\nSee https://biomejs.dev/linter/rules/no-duplicate-fields",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateFieldsConfiguration" },
{ "type": "null" }
]
},
"noDuplicateFontNames": {
"description": "Disallow duplicate names within font families.\nSee https://biomejs.dev/linter/rules/no-duplicate-font-names",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateFontNamesConfiguration" },
{ "type": "null" }
]
},
"noDuplicateGraphqlOperationName": {
"description": "Enforce unique operation names across a GraphQL document.\nSee https://biomejs.dev/linter/rules/no-duplicate-graphql-operation-name",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateGraphqlOperationNameConfiguration" },
{ "type": "null" }
]
},
"noDuplicateJsxProps": {
"description": "Prevents JSX properties to be assigned multiple times.\nSee https://biomejs.dev/linter/rules/no-duplicate-jsx-props",
"anyOf": [
{ "$ref": "#/$defs/NoDuplicateJsxPropsConfiguration" },
{ "type": "null" }
]
},
"noDuplicateObjectKeys": {
"description": "Disallow two keys with the same name inside 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" }
]
},
"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 CSS empty 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" }
]
},
"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" }
]
},
"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 to imported bindings.\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 invalid !important within keyframe declarations.\nSee https://biomejs.dev/linter/rules/no-important-in-keyframe",
"anyOf": [
{ "$ref": "#/$defs/NoImportantInKeyframeConfiguration" },
{ "type": "null" }
]
},
"noIrregularWhitespace": {
"description": "Disallows the use of irregular whitespace characters.\nSee https://biomejs.dev/linter/rules/no-irregular-whitespace",
"anyOf": [
{ "$ref": "#/$defs/NoIrregularWhitespaceConfiguration" },
{ "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" }
]
},
"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" }
]
},
"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 the use if quickfix.biome inside editor settings file.\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" }
]
},
"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" }
]
},
"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 related longhand 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 unknown 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" }
]
},
"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": "Enables a particular rule preset",
"anyOf": [{ "$ref": "#/$defs/PresetConfig" }, { "type": "null" }]
},
"recommended": {
"description": "Enables the recommended rules for this group",
"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" }
]
},
"useBiomeIgnoreFolder": {
"description": "Promotes the correct usage for ignoring folders in the configuration file.\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 the @deprecated directive to specify a deletion date.\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" }
]
},
"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": "Enforce the presence of required scripts in package.json.\nSee https://biomejs.dev/linter/rules/use-required-scripts",
"anyOf": [
{ "$ref": "#/$defs/UseRequiredScriptsConfiguration" },
{ "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
},
"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
},
"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 },
"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"
}
]
},
"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
},
"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"]
},
"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
},
"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",
"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
},
"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 },
"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
},
"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
},
"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
},
"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
},
"UseNamedCaptureGroupConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseNamedCaptureGroupOptions" }
]
},
"UseNamedCaptureGroupOptions": {
"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
},
"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
},
"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
},
"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
},
"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": {
"sortOrder": {
"anyOf": [{ "$ref": "#/$defs/SortOrder" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"UseSortedClassesConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSortedClassesOptions" }
]
},
"UseSortedClassesOptions": {
"type": "object",
"properties": {
"attributes": {
"description": "Additional attributes that will be sorted.",
"type": ["array", "null"],
"items": { "type": "string" }
},
"functions": {
"description": "Names of the functions or tagged templates that will be sorted.",
"type": ["array", "null"],
"items": { "type": "string" }
}
},
"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",
"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
},
"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
},
"UseSvelteRequireEachKeyConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{ "$ref": "#/$defs/RuleWithUseSvelteRequireEachKeyOptions" }
]
},
"UseSvelteRequireEachKeyOptions": {
"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
},
"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
},
"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
},
"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 },
"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 },
"UseVueConsistentDefinePropsDeclarationConfiguration": {
"oneOf": [
{ "$ref": "#/$defs/RulePlainConfiguration" },
{
"$ref": "#/$defs/RuleWithUseVueConsistentDefinePropsDeclarationOptions"
}
]
},
"UseVueConsistentDefinePropsDeclarationOptions": {
"type": "object",
"properties": {
"style": {
"anyOf": [{ "$ref": "#/$defs/DeclarationStyle" }, { "type": "null" }]
}
},
"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
},
"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": "Settings for integrating Biome with version control.",
"type": "object",
"properties": {
"clientKind": {
"description": "The version control client.",
"anyOf": [{ "$ref": "#/$defs/VcsClientKind" }, { "type": "null" }]
},
"defaultBranch": {
"description": "The project's default branch.",
"type": ["string", "null"]
},
"enabled": {
"description": "Whether Biome should integrate with the version control client.",
"anyOf": [{ "$ref": "#/$defs/Bool" }, { "type": "null" }]
},
"root": {
"description": "Sets the directory where Biome checks for version control files.\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": "When `true`, Biome ignores files listed in `.gitignore`, `.ignore`, and Git's local\nexclude file.",
"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": "Whitespace sensitivity for HTML formatting.\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": "The formatter considers whitespace significant for elements that have an \"inline\" display style by default in\nbrowser's user agent style sheets.",
"type": "string",
"const": "css"
},
{
"description": "Leading and trailing whitespace in content is considered significant for all elements.\n\nThe formatter should leave at least one whitespace character if whitespace is present.\nOtherwise, if there is no whitespace, it should not add any after `>` or before `<`. In other words, if there's no whitespace, the text content should hug the tags.\n\nExample of text hugging the tags:\n```html\n<b\n >content</b\n>\n```",
"type": "string",
"const": "strict"
},
{
"description": "Whitespace is considered insignificant. The formatter is free to remove or add whitespace as it sees fit.",
"type": "string",
"const": "ignore"
}
]
}
}
}
View source