@quentinhsu/biome-config 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/131.mjs +358 -0
  2. package/dist/build.mjs +108 -360
  3. package/dist/index.jsonc +56 -56
  4. package/dist/index.mjs +1 -358
  5. package/dist/next.jsonc +60 -60
  6. package/dist/nuxt.jsonc +91 -91
  7. package/dist/react.jsonc +58 -58
  8. package/dist/rslib-runtime.mjs +38 -0
  9. package/dist/types/scripts/tag-release.d.ts +1 -0
  10. package/dist/types/scripts/validate-config-properties.d.ts +1 -0
  11. package/dist/types/src/constants/biome.d.ts +1 -1
  12. package/dist/types/src/generated/biome/index.d.ts +11 -8
  13. package/dist/types/src/generated/biome/no-comment-text-options.d.ts +761 -0
  14. package/dist/types/src/generated/biome/no-global-object-calls-options.d.ts +97 -97
  15. package/dist/types/src/generated/biome/no-sync-scripts-configuration.d.ts +185 -0
  16. package/dist/types/src/generated/biome/{use-semantic-elements-configuration.d.ts → no-useless-constructor-configuration.d.ts} +31 -49
  17. package/dist/types/src/generated/biome/nursery.d.ts +393 -594
  18. package/dist/types/src/generated/biome/{no-assign-in-expressions-configuration.d.ts → pattern-options.d.ts} +252 -179
  19. package/dist/types/src/generated/biome/rule-with-no-access-key-options.d.ts +555 -0
  20. package/dist/types/src/generated/biome/rule-with-no-blank-target-options.d.ts +530 -0
  21. package/dist/types/src/generated/biome/rule-with-no-fallthrough-switch-clause-options.d.ts +469 -0
  22. package/dist/types/src/generated/biome/rule-with-no-unknown-unit-options.d.ts +564 -0
  23. package/dist/types/src/generated/biome/schema.d.ts +35 -17
  24. package/dist/types/src/generated/biome/style.d.ts +614 -0
  25. package/dist/types/src/generated/biome/use-for-of-configuration.d.ts +144 -0
  26. package/dist/types/src/generated/biome/{no-non-null-assertion-options.d.ts → use-unique-variable-names-options.d.ts} +141 -119
  27. package/dist/types/src/index.d.ts +2 -2
  28. package/dist/vue.jsonc +60 -60
  29. package/package.json +38 -34
  30. package/dist/types/src/generated/biome/no-empty-source-configuration.d.ts +0 -241
  31. package/dist/types/src/generated/biome/no-misrefactored-shorthand-assign-options.d.ts +0 -1116
  32. package/dist/types/src/generated/biome/rule-with-no-document-import-in-page-options.d.ts +0 -1148
  33. package/dist/types/src/generated/biome/rule-with-no-implicit-coercions-options.d.ts +0 -1440
  34. package/dist/types/src/generated/biome/use-consistent-arrow-return-options.d.ts +0 -1341
@@ -1,141 +1,419 @@
1
- import type { Bool, Extends, FixKind, GroupPlainConfiguration, RuleAssistPlainConfiguration, RulePlainConfiguration, Schema, SortOrder } from './schema.ts';
2
- import type { NormalizedGlob, OverrideFilesConfiguration, OverrideFormatterConfiguration, OverrideGlobs, RuleDomains } from './no-misrefactored-shorthand-assign-options.ts';
3
- import type { Paths } from './use-consistent-arrow-return-options.ts';
4
- import type { CssConfiguration, FilesConfiguration, FormatterConfiguration, GraphqlConfiguration, GritConfiguration, HtmlConfiguration, JsConfiguration, JsonConfiguration, Plugins, RuleAssistConfigurationFor_UseSortedPropertiesOptions, SourceMatcher, VcsConfiguration } from './rule-with-no-document-import-in-page-options.ts';
5
- import type { NoChildrenPropConfiguration, NoConstAssignConfiguration, NoConstantConditionConfiguration, NoConstantMathMinMaxClampConfiguration, NoConstructorReturnConfiguration, NoDeprecatedImportsConfiguration, NoDuplicateDependenciesConfiguration, NoEmptyCharacterClassInRegexConfiguration, NoEmptyPatternConfiguration, NoGlobalDirnameFilenameConfiguration, NoGlobalObjectCallsConfiguration, NoInnerDeclarationsConfiguration, NoInvalidBuiltinInstantiationConfiguration, NoInvalidConstructorSuperConfiguration, NoInvalidDirectionInLinearGradientConfiguration, NoInvalidGridAreasConfiguration, NoInvalidPositionAtImportRuleConfiguration, NoInvalidUseBeforeDeclarationConfiguration, NoMissingVarFunctionConfiguration, NoNestedComponentDefinitionsConfiguration, NoNodejsModulesConfiguration, NoNonoctalDecimalEscapeConfiguration, NoPrecisionLossConfiguration, NoProcessGlobalConfiguration, NoQwikUseVisibleTaskConfiguration, NoReactPropAssignmentsConfiguration, NoRenderReturnValueConfiguration, NoSelfAssignConfiguration, NoSetterReturnConfiguration, NoSolidDestructuredPropsConfiguration, NoStringCaseMismatchConfiguration, NoSwitchDeclarationsConfiguration, NoUndeclaredVariablesConfiguration, NoUnknownFunctionConfiguration, NoUnknownMediaFeatureNameConfiguration, NoUnknownPropertyConfiguration, NoUnknownPseudoClassConfiguration, NoUnknownPseudoElementConfiguration, NoUnknownTypeSelectorConfiguration, NoUnknownUnitConfiguration, NoUnmatchableAnbSelectorConfiguration, NoUnreachableConfiguration, NoUnreachableSuperConfiguration, NoUnsafeFinallyConfiguration, NoUnsafeOptionalChainingConfiguration, NoUnusedFunctionParametersConfiguration, NoUnusedImportsConfiguration, NoUnusedLabelsConfiguration, NoUnusedPrivateClassMembersConfiguration, NoUnusedVariablesConfiguration, NoVoidElementsWithChildrenConfiguration, NoVoidTypeReturnConfiguration, UseGraphqlNamedOperationsConfiguration, UseHookAtTopLevelConfiguration, UseImageSizeConfiguration, UseImportExtensionsConfiguration, UseIsNanConfiguration, UseJsonImportAttributesConfiguration, UseJsxKeyInIterableConfiguration, UseParseIntRadixConfiguration, UseQwikClasslistConfiguration, UseSingleJsDocAsteriskConfiguration, UseUniqueElementIdsConfiguration, UseValidForDirectionConfiguration, UseValidTypeofConfiguration, UseYieldConfiguration } from './use-semantic-elements-configuration.ts';
6
- import type { NoCommonJsConfiguration, NoDefaultExportConfiguration, NoDescendingSpecificityConfiguration, NoDoneCallbackConfiguration, NoEmptySourceConfiguration, NoEnumConfiguration, NoExportedImportsConfiguration, NoFloatingPromisesConfiguration, NoHeadElementConfiguration, NoImplicitBooleanConfiguration, NoImportCyclesConfiguration, NoIncrementDecrementConfiguration, NoInferrableTypesConfiguration, NoJsxLiteralsConfiguration, NoMagicNumbersConfiguration, NoMisusedPromisesConfiguration, NoNamespaceConfiguration, NoNegationElseConfiguration, NoNestedTernaryConfiguration, NoNextAsyncClientComponentConfiguration, NoNonNullAssertionConfiguration, NoParameterPropertiesConfiguration, NoProcessEnvConfiguration, NoReactForwardRefConfiguration, NoRestrictedGlobalsConfiguration, NoShadowConfiguration, NoShoutyConstantsConfiguration, NoSubstrConfiguration, NoUnnecessaryConditionsConfiguration, NoUnresolvedImportsConfiguration, NoUnusedExpressionsConfiguration, NoUnusedTemplateLiteralConfiguration, NoUselessCatchBindingConfiguration, NoUselessElseConfiguration, NoUselessUndefinedConfiguration, NoValueAtRuleConfiguration, NoVueDataObjectDeclarationConfiguration, NoVueDuplicateKeysConfiguration, NoVueReservedKeysConfiguration, NoVueReservedPropsConfiguration, NoYodaExpressionConfiguration, UseArrayLiteralsConfiguration, UseAsConstAssertionConfiguration, UseAtIndexConfiguration, UseBlockStatementsConfiguration, UseCollapsedElseIfConfiguration, UseCollapsedIfConfiguration, UseComponentExportOnlyModulesConfiguration, UseConsistentBuiltinInstantiationConfiguration, UseConsistentCurlyBracesConfiguration, UseConstConfiguration, UseDefaultParameterLastConfiguration, UseDefaultSwitchClauseConfiguration, UseDeprecatedDateConfiguration, UseDeprecatedReasonConfiguration, UseEnumInitializersConfiguration, UseExhaustiveSwitchCasesConfiguration, UseExplicitLengthCheckConfiguration, UseExplicitTypeConfiguration, UseExponentiationOperatorConfiguration, UseExportTypeConfiguration, UseExportsLastConfiguration, UseForOfConfiguration, UseFragmentSyntaxConfiguration, UseGraphqlNamingConventionConfiguration, UseGroupedAccessorPairsConfiguration, UseLiteralEnumMembersConfiguration, UseMaxParamsConfiguration, UseNodeAssertStrictConfiguration, UseNodejsImportProtocolConfiguration, UseNumberNamespaceConfiguration, UseNumericSeparatorsConfiguration, UseObjectSpreadConfiguration, UseQwikMethodUsageConfiguration, UseQwikValidLexicalScopeConfiguration, UseReactFunctionComponentsConfiguration, UseReadonlyClassPropertiesConfiguration, UseSelfClosingElementsConfiguration, UseShorthandAssignConfiguration, UseShorthandFunctionTypeConfiguration, UseSingleVarDeclaratorConfiguration, UseSortedClassesConfiguration, UseSymbolDescriptionConfiguration, UseTemplateConfiguration, UseThrowNewErrorConfiguration, UseThrowOnlyErrorConfiguration, UseTrimStartEndConfiguration, UseUnifiedTypeSignaturesConfiguration, UseVueDefineMacrosOrderConfiguration, UseVueMultiWordComponentNamesConfiguration } from './no-empty-source-configuration.ts';
7
- import type { Convention, ImportMatcher, NoParameterAssignConfiguration, NoPrivateImportsConfiguration, NoRestrictedElementsConfiguration, NoUndeclaredDependenciesConfiguration, PatternOptions, Performance, RuleAssistConfigurationFor_UseSortedAttributesOptions, RuleAssistConfigurationFor_UseSortedKeysOptions, RuleWithNoRestrictedTypesOptions, RuleWithUseFilenamingConventionOptions, Security, SeverityOrGroupFor_A11Y, SeverityOrGroupFor_Complexity, Suspicious, UseConsistentArrayTypeConfiguration, UseConsistentArrowReturnConfiguration, UseConsistentMemberAccessibilityConfiguration, UseConsistentObjectDefinitionsConfiguration, UseConsistentTypeDefinitionsConfiguration, UseExhaustiveDependenciesConfiguration, UseImportTypeConfiguration } from './no-assign-in-expressions-configuration.ts';
1
+ import type { FixKind, GroupPlainConfiguration, RuleAssistPlainConfiguration, RulePlainConfiguration, SortOrder } from './schema.ts';
2
+ import type { Paths } from './rule-with-no-blank-target-options.ts';
3
+ import type { NoAmbiguousAnchorTextConfiguration, NoBeforeInteractiveScriptOutsideDocumentConfiguration, NoChildrenPropConfiguration, NoConstAssignConfiguration, NoConstantConditionConfiguration, NoConstantMathMinMaxClampConfiguration, NoConstructorReturnConfiguration, NoContinueConfiguration, NoDeprecatedImportsConfiguration, NoDuplicateDependenciesConfiguration, NoDuplicatedSpreadPropsConfiguration, NoEmptyCharacterClassInRegexConfiguration, NoEmptyPatternConfiguration, NoEmptySourceConfiguration, NoEqualsToNullConfiguration, NoFloatingPromisesConfiguration, NoForInConfiguration, NoGlobalDirnameFilenameConfiguration, NoGlobalObjectCallsConfiguration, NoImportCyclesConfiguration, NoIncrementDecrementConfiguration, NoInnerDeclarationsConfiguration, NoInvalidBuiltinInstantiationConfiguration, NoInvalidConstructorSuperConfiguration, NoInvalidDirectionInLinearGradientConfiguration, NoInvalidGridAreasConfiguration, NoInvalidPositionAtImportRuleConfiguration, NoInvalidUseBeforeDeclarationConfiguration, NoJsxLiteralsConfiguration, NoJsxPropsBindConfiguration, NoLeakedRenderConfiguration, NoMissingVarFunctionConfiguration, NoMisusedPromisesConfiguration, NoMultiAssignConfiguration, NoMultiStrConfiguration, NoNestedComponentDefinitionsConfiguration, NoNextAsyncClientComponentConfiguration, NoNodejsModulesConfiguration, NoNonoctalDecimalEscapeConfiguration, NoParametersOnlyUsedInRecursionConfiguration, NoPrecisionLossConfiguration, NoProcessGlobalConfiguration, NoProtoConfiguration, NoQwikUseVisibleTaskConfiguration, NoReactForwardRefConfiguration, NoReactPropAssignmentsConfiguration, NoRenderReturnValueConfiguration, NoReturnAssignConfiguration, NoScriptUrlConfiguration, NoSelfAssignConfiguration, NoSetterReturnConfiguration, NoShadowConfiguration, NoSolidDestructuredPropsConfiguration, NoStringCaseMismatchConfiguration, NoSwitchDeclarationsConfiguration, NoUndeclaredVariablesConfiguration, NoUnknownFunctionConfiguration, NoUnknownMediaFeatureNameConfiguration, NoUnknownPropertyConfiguration, NoUnknownPseudoClassConfiguration, NoUnknownPseudoElementConfiguration, NoUnknownTypeSelectorConfiguration, NoUnknownUnitConfiguration, NoUnmatchableAnbSelectorConfiguration, NoUnreachableConfiguration, NoUnreachableSuperConfiguration, NoUnsafeFinallyConfiguration, NoUnsafeOptionalChainingConfiguration, NoUnusedFunctionParametersConfiguration, NoUnusedImportsConfiguration, NoUnusedLabelsConfiguration, NoUnusedPrivateClassMembersConfiguration, NoUnusedVariablesConfiguration, NoVoidElementsWithChildrenConfiguration, NoVoidTypeReturnConfiguration, UseGraphqlNamedOperationsConfiguration, UseHookAtTopLevelConfiguration, UseImageSizeConfiguration, UseImportExtensionsConfiguration, UseIsNanConfiguration, UseJsonImportAttributesConfiguration, UseJsxKeyInIterableConfiguration, UseParseIntRadixConfiguration, UseQwikClasslistConfiguration, UseSingleJsDocAsteriskConfiguration, UseUniqueElementIdsConfiguration, UseValidForDirectionConfiguration, UseValidTypeofConfiguration, UseYieldConfiguration } from './no-useless-constructor-configuration.ts';
4
+ import type { NoSyncScriptsConfiguration, NoTernaryConfiguration, NoUnknownAttributeConfiguration, NoUnnecessaryConditionsConfiguration, NoUnresolvedImportsConfiguration, NoUnusedExpressionsConfiguration, NoUselessCatchBindingConfiguration, NoUselessUndefinedConfiguration, NoVueDataObjectDeclarationConfiguration, NoVueDuplicateKeysConfiguration, NoVueReservedKeysConfiguration, NoVueReservedPropsConfiguration, NoVueSetupPropsReactivityLossConfiguration, NoVueVIfWithVForConfiguration, UseArraySortCompareConfiguration, UseAwaitThenableConfiguration, UseDeprecatedDateConfiguration, UseDestructuringConfiguration, UseExhaustiveSwitchCasesConfiguration, UseExplicitTypeConfiguration, UseFindConfiguration, UseMaxParamsConfiguration, UseQwikMethodUsageConfiguration, UseQwikValidLexicalScopeConfiguration, UseRegexpExecConfiguration, UseRequiredScriptsConfiguration, UseSortedClassesConfiguration, UseSpreadConfiguration, UseUniqueArgumentNamesConfiguration, UseUniqueFieldDefinitionNamesConfiguration, UseUniqueGraphqlOperationNameConfiguration, UseUniqueInputFieldNamesConfiguration, UseUniqueVariableNamesConfiguration, UseVueDefineMacrosOrderConfiguration, UseVueHyphenatedAttributesConfiguration, UseVueMultiWordComponentNamesConfiguration, UseVueVForKeyConfiguration, UseVueValidTemplateRootConfiguration, UseVueValidVBindConfiguration, UseVueValidVCloakConfiguration, UseVueValidVElseConfiguration, UseVueValidVElseIfConfiguration, UseVueValidVHtmlConfiguration, UseVueValidVIfConfiguration, UseVueValidVOnConfiguration, UseVueValidVOnceConfiguration, UseVueValidVPreConfiguration, UseVueValidVTextConfiguration, UseVueVaporConfiguration } from './no-sync-scripts-configuration.ts';
5
+ import type { Convention, GroupMatcher, NoPrivateImportsConfiguration, NoRestrictedElementsConfiguration, NoUndeclaredDependenciesConfiguration, NoUndeclaredEnvVarsConfiguration, Patterns, Performance, RuleWithNoRestrictedTypesOptions, RuleWithUseFilenamingConventionOptions, Security, Suspicious, UseConsistentArrowReturnConfiguration, UseConsistentGraphqlDescriptionsConfiguration, UseExhaustiveDependenciesConfiguration, UseVueConsistentDefinePropsDeclarationConfiguration, UseVueConsistentVBindStyleConfiguration, UseVueConsistentVOnStyleConfiguration } from './pattern-options.ts';
8
6
  /**
9
7
  * A list of rules that belong to this group
10
8
  */
11
9
  export interface Nursery {
10
+ /**
11
+ * Disallow ambiguous anchor descriptions.
12
+ * See <https://biomejs.dev/linter/rules/no-ambiguous-anchor-text>
13
+ */
14
+ noAmbiguousAnchorText?: NoAmbiguousAnchorTextConfiguration | null;
15
+ /**
16
+ * Prevent usage of next/script's beforeInteractive strategy outside of pages/_document.js in a Next.js project.
17
+ * See <https://biomejs.dev/linter/rules/no-before-interactive-script-outside-document>
18
+ */
19
+ noBeforeInteractiveScriptOutsideDocument?: NoBeforeInteractiveScriptOutsideDocumentConfiguration | null;
20
+ /**
21
+ * Disallow continue statements.
22
+ * See <https://biomejs.dev/linter/rules/no-continue>
23
+ */
24
+ noContinue?: NoContinueConfiguration | null;
12
25
  /**
13
26
  * Restrict imports of deprecated exports.
27
+ * See <https://biomejs.dev/linter/rules/no-deprecated-imports>
14
28
  */
15
29
  noDeprecatedImports?: NoDeprecatedImportsConfiguration | null;
16
30
  /**
17
31
  * Prevent the listing of duplicate dependencies. The rule supports the following dependency groups: "bundledDependencies", "bundleDependencies", "dependencies", "devDependencies", "overrides", "optionalDependencies", and "peerDependencies".
32
+ * See <https://biomejs.dev/linter/rules/no-duplicate-dependencies>
18
33
  */
19
34
  noDuplicateDependencies?: NoDuplicateDependenciesConfiguration | null;
35
+ /**
36
+ * Disallow JSX prop spreading the same identifier multiple times.
37
+ * See <https://biomejs.dev/linter/rules/no-duplicated-spread-props>
38
+ */
39
+ noDuplicatedSpreadProps?: NoDuplicatedSpreadPropsConfiguration | null;
20
40
  /**
21
41
  * Disallow empty sources.
42
+ * See <https://biomejs.dev/linter/rules/no-empty-source>
22
43
  */
23
44
  noEmptySource?: NoEmptySourceConfiguration | null;
45
+ /**
46
+ * Require the use of === or !== for comparison with null.
47
+ * See <https://biomejs.dev/linter/rules/no-equals-to-null>
48
+ */
49
+ noEqualsToNull?: NoEqualsToNullConfiguration | null;
24
50
  /**
25
51
  * Require Promise-like statements to be handled appropriately.
52
+ * See <https://biomejs.dev/linter/rules/no-floating-promises>
26
53
  */
27
54
  noFloatingPromises?: NoFloatingPromisesConfiguration | null;
55
+ /**
56
+ * Disallow iterating using a for-in loop.
57
+ * See <https://biomejs.dev/linter/rules/no-for-in>
58
+ */
59
+ noForIn?: NoForInConfiguration | null;
28
60
  /**
29
61
  * Prevent import cycles.
62
+ * See <https://biomejs.dev/linter/rules/no-import-cycles>
30
63
  */
31
64
  noImportCycles?: NoImportCyclesConfiguration | null;
32
65
  /**
33
66
  * Disallows the usage of the unary operators ++ and --.
67
+ * See <https://biomejs.dev/linter/rules/no-increment-decrement>
34
68
  */
35
69
  noIncrementDecrement?: NoIncrementDecrementConfiguration | null;
36
70
  /**
37
71
  * Disallow string literals inside JSX elements.
72
+ * See <https://biomejs.dev/linter/rules/no-jsx-literals>
38
73
  */
39
74
  noJsxLiterals?: NoJsxLiteralsConfiguration | null;
75
+ /**
76
+ * Disallow .bind(), arrow functions, or function expressions in JSX props.
77
+ * See <https://biomejs.dev/linter/rules/no-jsx-props-bind>
78
+ */
79
+ noJsxPropsBind?: NoJsxPropsBindConfiguration | null;
80
+ /**
81
+ * Prevent problematic leaked values from being rendered.
82
+ * See <https://biomejs.dev/linter/rules/no-leaked-render>
83
+ */
84
+ noLeakedRender?: NoLeakedRenderConfiguration | null;
40
85
  /**
41
86
  * Disallow Promises to be used in places where they are almost certainly a mistake.
87
+ * See <https://biomejs.dev/linter/rules/no-misused-promises>
42
88
  */
43
89
  noMisusedPromises?: NoMisusedPromisesConfiguration | null;
90
+ /**
91
+ * Disallow use of chained assignment expressions.
92
+ * See <https://biomejs.dev/linter/rules/no-multi-assign>
93
+ */
94
+ noMultiAssign?: NoMultiAssignConfiguration | null;
95
+ /**
96
+ * Disallow creating multiline strings by escaping newlines.
97
+ * See <https://biomejs.dev/linter/rules/no-multi-str>
98
+ */
99
+ noMultiStr?: NoMultiStrConfiguration | null;
44
100
  /**
45
101
  * Prevent client components from being async functions.
102
+ * See <https://biomejs.dev/linter/rules/no-next-async-client-component>
46
103
  */
47
104
  noNextAsyncClientComponent?: NoNextAsyncClientComponentConfiguration | null;
105
+ /**
106
+ * Disallow function parameters that are only used in recursive calls.
107
+ * See <https://biomejs.dev/linter/rules/no-parameters-only-used-in-recursion>
108
+ */
109
+ noParametersOnlyUsedInRecursion?: NoParametersOnlyUsedInRecursionConfiguration | null;
110
+ /**
111
+ * Disallow the use of the deprecated __proto__ object property.
112
+ * See <https://biomejs.dev/linter/rules/no-proto>
113
+ */
114
+ noProto?: NoProtoConfiguration | null;
48
115
  /**
49
116
  * Replaces usages of forwardRef with passing ref as a prop.
117
+ * See <https://biomejs.dev/linter/rules/no-react-forward-ref>
50
118
  */
51
119
  noReactForwardRef?: NoReactForwardRefConfiguration | null;
120
+ /**
121
+ * Disallow assignments in return statements.
122
+ * See <https://biomejs.dev/linter/rules/no-return-assign>
123
+ */
124
+ noReturnAssign?: NoReturnAssignConfiguration | null;
125
+ /**
126
+ * Disallow javascript: URLs in HTML.
127
+ * See <https://biomejs.dev/linter/rules/no-script-url>
128
+ */
129
+ noScriptUrl?: NoScriptUrlConfiguration | null;
52
130
  /**
53
131
  * Disallow variable declarations from shadowing variables declared in the outer scope.
132
+ * See <https://biomejs.dev/linter/rules/no-shadow>
54
133
  */
55
134
  noShadow?: NoShadowConfiguration | null;
135
+ /**
136
+ * Prevent the usage of synchronous scripts.
137
+ * See <https://biomejs.dev/linter/rules/no-sync-scripts>
138
+ */
139
+ noSyncScripts?: NoSyncScriptsConfiguration | null;
140
+ /**
141
+ * Disallow ternary operators.
142
+ * See <https://biomejs.dev/linter/rules/no-ternary>
143
+ */
144
+ noTernary?: NoTernaryConfiguration | null;
145
+ /**
146
+ * Disallow the use of undeclared environment variables.
147
+ * See <https://biomejs.dev/linter/rules/no-undeclared-env-vars>
148
+ */
149
+ noUndeclaredEnvVars?: NoUndeclaredEnvVarsConfiguration | null;
150
+ /**
151
+ * Disallow unknown DOM properties.
152
+ * See <https://biomejs.dev/linter/rules/no-unknown-attribute>
153
+ */
154
+ noUnknownAttribute?: NoUnknownAttributeConfiguration | null;
56
155
  /**
57
156
  * Disallow unnecessary type-based conditions that can be statically determined as redundant.
157
+ * See <https://biomejs.dev/linter/rules/no-unnecessary-conditions>
58
158
  */
59
159
  noUnnecessaryConditions?: NoUnnecessaryConditionsConfiguration | null;
60
160
  /**
61
161
  * Warn when importing non-existing exports.
162
+ * See <https://biomejs.dev/linter/rules/no-unresolved-imports>
62
163
  */
63
164
  noUnresolvedImports?: NoUnresolvedImportsConfiguration | null;
64
165
  /**
65
166
  * Disallow expression statements that are neither a function call nor an assignment.
167
+ * See <https://biomejs.dev/linter/rules/no-unused-expressions>
66
168
  */
67
169
  noUnusedExpressions?: NoUnusedExpressionsConfiguration | null;
68
170
  /**
69
171
  * Disallow unused catch bindings.
172
+ * See <https://biomejs.dev/linter/rules/no-useless-catch-binding>
70
173
  */
71
174
  noUselessCatchBinding?: NoUselessCatchBindingConfiguration | null;
72
175
  /**
73
176
  * Disallow the use of useless undefined.
177
+ * See <https://biomejs.dev/linter/rules/no-useless-undefined>
74
178
  */
75
179
  noUselessUndefined?: NoUselessUndefinedConfiguration | null;
76
180
  /**
77
181
  * Enforce that Vue component data options are declared as functions.
182
+ * See <https://biomejs.dev/linter/rules/no-vue-data-object-declaration>
78
183
  */
79
184
  noVueDataObjectDeclaration?: NoVueDataObjectDeclarationConfiguration | null;
80
185
  /**
81
186
  * Disallow duplicate keys in Vue component data, methods, computed properties, and other options.
187
+ * See <https://biomejs.dev/linter/rules/no-vue-duplicate-keys>
82
188
  */
83
189
  noVueDuplicateKeys?: NoVueDuplicateKeysConfiguration | null;
84
190
  /**
85
191
  * Disallow reserved keys in Vue component data and computed properties.
192
+ * See <https://biomejs.dev/linter/rules/no-vue-reserved-keys>
86
193
  */
87
194
  noVueReservedKeys?: NoVueReservedKeysConfiguration | null;
88
195
  /**
89
196
  * Disallow reserved names to be used as props.
197
+ * See <https://biomejs.dev/linter/rules/no-vue-reserved-props>
90
198
  */
91
199
  noVueReservedProps?: NoVueReservedPropsConfiguration | null;
200
+ /**
201
+ * Disallow destructuring of props passed to setup in Vue projects.
202
+ * See <https://biomejs.dev/linter/rules/no-vue-setup-props-reactivity-loss>
203
+ */
204
+ noVueSetupPropsReactivityLoss?: NoVueSetupPropsReactivityLossConfiguration | null;
205
+ /**
206
+ * Disallow using v-if and v-for directives on the same element.
207
+ * See <https://biomejs.dev/linter/rules/no-vue-v-if-with-v-for>
208
+ */
209
+ noVueVIfWithVFor?: NoVueVIfWithVForConfiguration | null;
92
210
  /**
93
211
  * Enables the recommended rules for this group
94
212
  */
95
213
  recommended?: boolean | null;
214
+ /**
215
+ * Require Array#sort and Array#toSorted calls to always provide a compareFunction.
216
+ * See <https://biomejs.dev/linter/rules/use-array-sort-compare>
217
+ */
218
+ useArraySortCompare?: UseArraySortCompareConfiguration | null;
219
+ /**
220
+ * Enforce that await is only used on Promise values.
221
+ * See <https://biomejs.dev/linter/rules/use-await-thenable>
222
+ */
223
+ useAwaitThenable?: UseAwaitThenableConfiguration | null;
96
224
  /**
97
225
  * Enforce consistent arrow function bodies.
226
+ * See <https://biomejs.dev/linter/rules/use-consistent-arrow-return>
98
227
  */
99
228
  useConsistentArrowReturn?: UseConsistentArrowReturnConfiguration | null;
229
+ /**
230
+ * Require all descriptions to follow the same style (either block or inline) to maintain consistency and improve readability across the schema.
231
+ * See <https://biomejs.dev/linter/rules/use-consistent-graphql-descriptions>
232
+ */
233
+ useConsistentGraphqlDescriptions?: UseConsistentGraphqlDescriptionsConfiguration | null;
100
234
  /**
101
235
  * Require the @deprecated directive to specify a deletion date.
236
+ * See <https://biomejs.dev/linter/rules/use-deprecated-date>
102
237
  */
103
238
  useDeprecatedDate?: UseDeprecatedDateConfiguration | null;
239
+ /**
240
+ * Require destructuring from arrays and/or objects.
241
+ * See <https://biomejs.dev/linter/rules/use-destructuring>
242
+ */
243
+ useDestructuring?: UseDestructuringConfiguration | null;
104
244
  /**
105
245
  * Require switch-case statements to be exhaustive.
246
+ * See <https://biomejs.dev/linter/rules/use-exhaustive-switch-cases>
106
247
  */
107
248
  useExhaustiveSwitchCases?: UseExhaustiveSwitchCasesConfiguration | null;
108
249
  /**
109
250
  * Enforce types in functions, methods, variables, and parameters.
251
+ * See <https://biomejs.dev/linter/rules/use-explicit-type>
110
252
  */
111
253
  useExplicitType?: UseExplicitTypeConfiguration | null;
254
+ /**
255
+ * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result.
256
+ * See <https://biomejs.dev/linter/rules/use-find>
257
+ */
258
+ useFind?: UseFindConfiguration | null;
112
259
  /**
113
260
  * Enforce a maximum number of parameters in function definitions.
261
+ * See <https://biomejs.dev/linter/rules/use-max-params>
114
262
  */
115
263
  useMaxParams?: UseMaxParamsConfiguration | null;
116
264
  /**
117
265
  * Disallow use* hooks outside of component$ or other use* hooks in Qwik applications.
266
+ * See <https://biomejs.dev/linter/rules/use-qwik-method-usage>
118
267
  */
119
268
  useQwikMethodUsage?: UseQwikMethodUsageConfiguration | null;
120
269
  /**
121
270
  * Disallow unserializable expressions in Qwik dollar ($) scopes.
271
+ * See <https://biomejs.dev/linter/rules/use-qwik-valid-lexical-scope>
122
272
  */
123
273
  useQwikValidLexicalScope?: UseQwikValidLexicalScopeConfiguration | null;
274
+ /**
275
+ * Enforce RegExp#exec over String#match if no global flag is provided.
276
+ * See <https://biomejs.dev/linter/rules/use-regexp-exec>
277
+ */
278
+ useRegexpExec?: UseRegexpExecConfiguration | null;
279
+ /**
280
+ * Enforce the presence of required scripts in package.json.
281
+ * See <https://biomejs.dev/linter/rules/use-required-scripts>
282
+ */
283
+ useRequiredScripts?: UseRequiredScriptsConfiguration | null;
124
284
  /**
125
285
  * Enforce the sorting of CSS utility classes.
286
+ * See <https://biomejs.dev/linter/rules/use-sorted-classes>
126
287
  */
127
288
  useSortedClasses?: UseSortedClassesConfiguration | null;
289
+ /**
290
+ * Enforce the use of the spread operator over .apply().
291
+ * See <https://biomejs.dev/linter/rules/use-spread>
292
+ */
293
+ useSpread?: UseSpreadConfiguration | null;
294
+ /**
295
+ * Require all argument names for fields & directives to be unique.
296
+ * See <https://biomejs.dev/linter/rules/use-unique-argument-names>
297
+ */
298
+ useUniqueArgumentNames?: UseUniqueArgumentNamesConfiguration | null;
299
+ /**
300
+ * Require all fields of a type to be unique.
301
+ * See <https://biomejs.dev/linter/rules/use-unique-field-definition-names>
302
+ */
303
+ useUniqueFieldDefinitionNames?: UseUniqueFieldDefinitionNamesConfiguration | null;
304
+ /**
305
+ * Enforce unique operation names across a GraphQL document.
306
+ * See <https://biomejs.dev/linter/rules/use-unique-graphql-operation-name>
307
+ */
308
+ useUniqueGraphqlOperationName?: UseUniqueGraphqlOperationNameConfiguration | null;
309
+ /**
310
+ * Require fields within an input object to be unique.
311
+ * See <https://biomejs.dev/linter/rules/use-unique-input-field-names>
312
+ */
313
+ useUniqueInputFieldNames?: UseUniqueInputFieldNamesConfiguration | null;
314
+ /**
315
+ * Require all variable definitions to be unique.
316
+ * See <https://biomejs.dev/linter/rules/use-unique-variable-names>
317
+ */
318
+ useUniqueVariableNames?: UseUniqueVariableNamesConfiguration | null;
319
+ /**
320
+ * Enforce consistent defineProps declaration style.
321
+ * See <https://biomejs.dev/linter/rules/use-vue-consistent-define-props-declaration>
322
+ */
323
+ useVueConsistentDefinePropsDeclaration?: UseVueConsistentDefinePropsDeclarationConfiguration | null;
324
+ /**
325
+ * Enforce a consistent style for v-bind in Vue templates.
326
+ * See <https://biomejs.dev/linter/rules/use-vue-consistent-v-bind-style>
327
+ */
328
+ useVueConsistentVBindStyle?: UseVueConsistentVBindStyleConfiguration | null;
329
+ /**
330
+ * Enforce a consistent style for v-on in Vue templates.
331
+ * See <https://biomejs.dev/linter/rules/use-vue-consistent-v-on-style>
332
+ */
333
+ useVueConsistentVOnStyle?: UseVueConsistentVOnStyleConfiguration | null;
128
334
  /**
129
335
  * Enforce specific order of Vue compiler macros.
336
+ * See <https://biomejs.dev/linter/rules/use-vue-define-macros-order>
130
337
  */
131
338
  useVueDefineMacrosOrder?: UseVueDefineMacrosOrderConfiguration | null;
339
+ /**
340
+ * Enforce hyphenated (kebab-case) attribute names in Vue templates.
341
+ * See <https://biomejs.dev/linter/rules/use-vue-hyphenated-attributes>
342
+ */
343
+ useVueHyphenatedAttributes?: UseVueHyphenatedAttributesConfiguration | null;
132
344
  /**
133
345
  * Enforce multi-word component names in Vue components.
346
+ * See <https://biomejs.dev/linter/rules/use-vue-multi-word-component-names>
134
347
  */
135
348
  useVueMultiWordComponentNames?: UseVueMultiWordComponentNamesConfiguration | null;
349
+ /**
350
+ * Enforce that elements using v-for also specify a unique key.
351
+ * See <https://biomejs.dev/linter/rules/use-vue-v-for-key>
352
+ */
353
+ useVueVForKey?: UseVueVForKeyConfiguration | null;
354
+ /**
355
+ * Enforce valid Vue \<template> root usage.
356
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-template-root>
357
+ */
358
+ useVueValidTemplateRoot?: UseVueValidTemplateRootConfiguration | null;
359
+ /**
360
+ * Forbids v-bind directives with missing arguments or invalid modifiers.
361
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-bind>
362
+ */
363
+ useVueValidVBind?: UseVueValidVBindConfiguration | null;
364
+ /**
365
+ * Enforce valid v-cloak Vue directives.
366
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-cloak>
367
+ */
368
+ useVueValidVCloak?: UseVueValidVCloakConfiguration | null;
369
+ /**
370
+ * Enforce valid usage of v-else.
371
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-else>
372
+ */
373
+ useVueValidVElse?: UseVueValidVElseConfiguration | null;
374
+ /**
375
+ * Enforce valid v-else-if directives.
376
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-else-if>
377
+ */
378
+ useVueValidVElseIf?: UseVueValidVElseIfConfiguration | null;
379
+ /**
380
+ * Enforce valid v-html directives.
381
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-html>
382
+ */
383
+ useVueValidVHtml?: UseVueValidVHtmlConfiguration | null;
384
+ /**
385
+ * Enforces valid v-if usage for Vue templates.
386
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-if>
387
+ */
388
+ useVueValidVIf?: UseVueValidVIfConfiguration | null;
389
+ /**
390
+ * Enforce valid v-on directives with proper arguments, modifiers, and handlers.
391
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-on>
392
+ */
393
+ useVueValidVOn?: UseVueValidVOnConfiguration | null;
394
+ /**
395
+ * Enforce valid v-once Vue directives.
396
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-once>
397
+ */
398
+ useVueValidVOnce?: UseVueValidVOnceConfiguration | null;
399
+ /**
400
+ * Enforce valid v-pre Vue directives.
401
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-pre>
402
+ */
403
+ useVueValidVPre?: UseVueValidVPreConfiguration | null;
404
+ /**
405
+ * Enforce valid v-text Vue directives.
406
+ * See <https://biomejs.dev/linter/rules/use-vue-valid-v-text>
407
+ */
408
+ useVueValidVText?: UseVueValidVTextConfiguration | null;
409
+ /**
410
+ * Enforce opting in to Vue Vapor mode in \<script setup> blocks.
411
+ * See <https://biomejs.dev/linter/rules/use-vue-vapor>
412
+ */
413
+ useVueVapor?: UseVueVaporConfiguration | null;
136
414
  }
137
- export type SeverityOrGroupFor_Performance = GroupPlainConfiguration | Performance;
138
- export type SeverityOrGroupFor_Security = GroupPlainConfiguration | Security;
415
+ export type SeverityOrPerformance = GroupPlainConfiguration | Performance;
416
+ export type SeverityOrSecurity = GroupPlainConfiguration | Security;
139
417
  export type NoRestrictedTypesConfiguration = RulePlainConfiguration | RuleWithNoRestrictedTypesOptions;
140
418
  export type UseFilenamingConventionConfiguration = RulePlainConfiguration | RuleWithUseFilenamingConventionOptions;
141
419
  /**
@@ -145,233 +423,298 @@ export interface UseNamingConventionOptions {
145
423
  /**
146
424
  * Custom conventions.
147
425
  */
148
- conventions?: Convention[];
426
+ conventions?: Convention[] | null;
149
427
  /**
150
428
  * If `false`, then non-ASCII characters are allowed.
151
429
  */
152
- requireAscii?: boolean;
430
+ requireAscii?: boolean | null;
153
431
  /**
154
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
432
+ * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases.
433
+ * This does not affect other [Case].
155
434
  */
156
- strictCase?: boolean;
435
+ strictCase?: boolean | null;
436
+ }
437
+ export type SeverityOrSuspicious = GroupPlainConfiguration | Suspicious;
438
+ export type ImportGroup = null | GroupMatcher | GroupMatcher[];
439
+ export interface NoRestrictedImportsOptions {
440
+ /**
441
+ * A list of import paths that should trigger the rule.
442
+ */
443
+ paths?: {
444
+ [k: string]: Paths;
445
+ } | null;
446
+ /**
447
+ * gitignore-style patterns that should trigger the rule.
448
+ */
449
+ patterns?: Patterns[] | null;
157
450
  }
158
- export type SeverityOrGroupFor_Suspicious = GroupPlainConfiguration | Suspicious;
159
- export type GroupMatcher = ImportMatcher | SourceMatcher;
160
- export type Patterns = PatternOptions;
161
451
  /**
162
452
  * A list of rules that belong to this group
163
453
  */
164
454
  export interface Correctness {
165
455
  /**
166
456
  * Prevent passing of children as props.
457
+ * See <https://biomejs.dev/linter/rules/no-children-prop>
167
458
  */
168
459
  noChildrenProp?: NoChildrenPropConfiguration | null;
169
460
  /**
170
461
  * Prevents from having const variables being re-assigned.
462
+ * See <https://biomejs.dev/linter/rules/no-const-assign>
171
463
  */
172
464
  noConstAssign?: NoConstAssignConfiguration | null;
173
465
  /**
174
- * Disallow constant expressions in conditions
466
+ * Disallow constant expressions in conditions.
467
+ * See <https://biomejs.dev/linter/rules/no-constant-condition>
175
468
  */
176
469
  noConstantCondition?: NoConstantConditionConfiguration | null;
177
470
  /**
178
471
  * Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.
472
+ * See <https://biomejs.dev/linter/rules/no-constant-math-min-max-clamp>
179
473
  */
180
474
  noConstantMathMinMaxClamp?: NoConstantMathMinMaxClampConfiguration | null;
181
475
  /**
182
476
  * Disallow returning a value from a constructor.
477
+ * See <https://biomejs.dev/linter/rules/no-constructor-return>
183
478
  */
184
479
  noConstructorReturn?: NoConstructorReturnConfiguration | null;
185
480
  /**
186
481
  * Disallow empty character classes in regular expression literals.
482
+ * See <https://biomejs.dev/linter/rules/no-empty-character-class-in-regex>
187
483
  */
188
484
  noEmptyCharacterClassInRegex?: NoEmptyCharacterClassInRegexConfiguration | null;
189
485
  /**
190
486
  * Disallows empty destructuring patterns.
487
+ * See <https://biomejs.dev/linter/rules/no-empty-pattern>
191
488
  */
192
489
  noEmptyPattern?: NoEmptyPatternConfiguration | null;
193
490
  /**
194
491
  * Disallow the use of __dirname and __filename in the global scope.
492
+ * See <https://biomejs.dev/linter/rules/no-global-dirname-filename>
195
493
  */
196
494
  noGlobalDirnameFilename?: NoGlobalDirnameFilenameConfiguration | null;
197
495
  /**
198
- * Disallow calling global object properties as functions
496
+ * Disallow calling global object properties as functions.
497
+ * See <https://biomejs.dev/linter/rules/no-global-object-calls>
199
498
  */
200
499
  noGlobalObjectCalls?: NoGlobalObjectCallsConfiguration | null;
201
500
  /**
202
501
  * Disallow function and var declarations that are accessible outside their block.
502
+ * See <https://biomejs.dev/linter/rules/no-inner-declarations>
203
503
  */
204
504
  noInnerDeclarations?: NoInnerDeclarationsConfiguration | null;
205
505
  /**
206
506
  * Ensure that builtins are correctly instantiated.
507
+ * See <https://biomejs.dev/linter/rules/no-invalid-builtin-instantiation>
207
508
  */
208
509
  noInvalidBuiltinInstantiation?: NoInvalidBuiltinInstantiationConfiguration | null;
209
510
  /**
210
511
  * Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.
512
+ * See <https://biomejs.dev/linter/rules/no-invalid-constructor-super>
211
513
  */
212
514
  noInvalidConstructorSuper?: NoInvalidConstructorSuperConfiguration | null;
213
515
  /**
214
516
  * Disallow non-standard direction values for linear gradient functions.
517
+ * See <https://biomejs.dev/linter/rules/no-invalid-direction-in-linear-gradient>
215
518
  */
216
519
  noInvalidDirectionInLinearGradient?: NoInvalidDirectionInLinearGradientConfiguration | null;
217
520
  /**
218
521
  * Disallows invalid named grid areas in CSS Grid Layouts.
522
+ * See <https://biomejs.dev/linter/rules/no-invalid-grid-areas>
219
523
  */
220
524
  noInvalidGridAreas?: NoInvalidGridAreasConfiguration | null;
221
525
  /**
222
526
  * Disallow the use of @import at-rules in invalid positions.
527
+ * See <https://biomejs.dev/linter/rules/no-invalid-position-at-import-rule>
223
528
  */
224
529
  noInvalidPositionAtImportRule?: NoInvalidPositionAtImportRuleConfiguration | null;
225
530
  /**
226
- * Disallow the use of variables and function parameters before their declaration
531
+ * Disallow the use of variables, function parameters, classes, and enums before their declaration.
532
+ * See <https://biomejs.dev/linter/rules/no-invalid-use-before-declaration>
227
533
  */
228
534
  noInvalidUseBeforeDeclaration?: NoInvalidUseBeforeDeclarationConfiguration | null;
229
535
  /**
230
536
  * Disallow missing var function for css variables.
537
+ * See <https://biomejs.dev/linter/rules/no-missing-var-function>
231
538
  */
232
539
  noMissingVarFunction?: NoMissingVarFunctionConfiguration | null;
233
540
  /**
234
541
  * Disallows defining React components inside other components.
542
+ * See <https://biomejs.dev/linter/rules/no-nested-component-definitions>
235
543
  */
236
544
  noNestedComponentDefinitions?: NoNestedComponentDefinitionsConfiguration | null;
237
545
  /**
238
546
  * Forbid the use of Node.js builtin modules.
547
+ * See <https://biomejs.dev/linter/rules/no-nodejs-modules>
239
548
  */
240
549
  noNodejsModules?: NoNodejsModulesConfiguration | null;
241
550
  /**
242
551
  * Disallow \8 and \9 escape sequences in string literals.
552
+ * See <https://biomejs.dev/linter/rules/no-nonoctal-decimal-escape>
243
553
  */
244
554
  noNonoctalDecimalEscape?: NoNonoctalDecimalEscapeConfiguration | null;
245
555
  /**
246
- * Disallow literal numbers that lose precision
556
+ * Disallow literal numbers that lose precision.
557
+ * See <https://biomejs.dev/linter/rules/no-precision-loss>
247
558
  */
248
559
  noPrecisionLoss?: NoPrecisionLossConfiguration | null;
249
560
  /**
250
561
  * Restrict imports of private exports.
562
+ * See <https://biomejs.dev/linter/rules/no-private-imports>
251
563
  */
252
564
  noPrivateImports?: NoPrivateImportsConfiguration | null;
253
565
  /**
254
566
  * Disallow the use of process global.
567
+ * See <https://biomejs.dev/linter/rules/no-process-global>
255
568
  */
256
569
  noProcessGlobal?: NoProcessGlobalConfiguration | null;
257
570
  /**
258
571
  * Disallow useVisibleTask$() functions in Qwik components.
572
+ * See <https://biomejs.dev/linter/rules/no-qwik-use-visible-task>
259
573
  */
260
574
  noQwikUseVisibleTask?: NoQwikUseVisibleTaskConfiguration | null;
261
575
  /**
262
576
  * Disallow assigning to React component props.
577
+ * See <https://biomejs.dev/linter/rules/no-react-prop-assignments>
263
578
  */
264
579
  noReactPropAssignments?: NoReactPropAssignmentsConfiguration | null;
265
580
  /**
266
581
  * Prevent the usage of the return value of React.render.
582
+ * See <https://biomejs.dev/linter/rules/no-render-return-value>
267
583
  */
268
584
  noRenderReturnValue?: NoRenderReturnValueConfiguration | null;
269
585
  /**
270
586
  * Disallow the use of configured elements.
587
+ * See <https://biomejs.dev/linter/rules/no-restricted-elements>
271
588
  */
272
589
  noRestrictedElements?: NoRestrictedElementsConfiguration | null;
273
590
  /**
274
591
  * Disallow assignments where both sides are exactly the same.
592
+ * See <https://biomejs.dev/linter/rules/no-self-assign>
275
593
  */
276
594
  noSelfAssign?: NoSelfAssignConfiguration | null;
277
595
  /**
278
- * Disallow returning a value from a setter
596
+ * Disallow returning a value from a setter.
597
+ * See <https://biomejs.dev/linter/rules/no-setter-return>
279
598
  */
280
599
  noSetterReturn?: NoSetterReturnConfiguration | null;
281
600
  /**
282
601
  * Disallow destructuring props inside JSX components in Solid projects.
602
+ * See <https://biomejs.dev/linter/rules/no-solid-destructured-props>
283
603
  */
284
604
  noSolidDestructuredProps?: NoSolidDestructuredPropsConfiguration | null;
285
605
  /**
286
606
  * Disallow comparison of expressions modifying the string case with non-compliant value.
607
+ * See <https://biomejs.dev/linter/rules/no-string-case-mismatch>
287
608
  */
288
609
  noStringCaseMismatch?: NoStringCaseMismatchConfiguration | null;
289
610
  /**
290
611
  * Disallow lexical declarations in switch clauses.
612
+ * See <https://biomejs.dev/linter/rules/no-switch-declarations>
291
613
  */
292
614
  noSwitchDeclarations?: NoSwitchDeclarationsConfiguration | null;
293
615
  /**
294
616
  * Disallow the use of dependencies that aren't specified in the package.json.
617
+ * See <https://biomejs.dev/linter/rules/no-undeclared-dependencies>
295
618
  */
296
619
  noUndeclaredDependencies?: NoUndeclaredDependenciesConfiguration | null;
297
620
  /**
298
621
  * Prevents the usage of variables that haven't been declared inside the document.
622
+ * See <https://biomejs.dev/linter/rules/no-undeclared-variables>
299
623
  */
300
624
  noUndeclaredVariables?: NoUndeclaredVariablesConfiguration | null;
301
625
  /**
302
626
  * Disallow unknown CSS value functions.
627
+ * See <https://biomejs.dev/linter/rules/no-unknown-function>
303
628
  */
304
629
  noUnknownFunction?: NoUnknownFunctionConfiguration | null;
305
630
  /**
306
631
  * Disallow unknown media feature names.
632
+ * See <https://biomejs.dev/linter/rules/no-unknown-media-feature-name>
307
633
  */
308
634
  noUnknownMediaFeatureName?: NoUnknownMediaFeatureNameConfiguration | null;
309
635
  /**
310
636
  * Disallow unknown properties.
637
+ * See <https://biomejs.dev/linter/rules/no-unknown-property>
311
638
  */
312
639
  noUnknownProperty?: NoUnknownPropertyConfiguration | null;
313
640
  /**
314
641
  * Disallow unknown pseudo-class selectors.
642
+ * See <https://biomejs.dev/linter/rules/no-unknown-pseudo-class>
315
643
  */
316
644
  noUnknownPseudoClass?: NoUnknownPseudoClassConfiguration | null;
317
645
  /**
318
646
  * Disallow unknown pseudo-element selectors.
647
+ * See <https://biomejs.dev/linter/rules/no-unknown-pseudo-element>
319
648
  */
320
649
  noUnknownPseudoElement?: NoUnknownPseudoElementConfiguration | null;
321
650
  /**
322
651
  * Disallow unknown type selectors.
652
+ * See <https://biomejs.dev/linter/rules/no-unknown-type-selector>
323
653
  */
324
654
  noUnknownTypeSelector?: NoUnknownTypeSelectorConfiguration | null;
325
655
  /**
326
656
  * Disallow unknown CSS units.
657
+ * See <https://biomejs.dev/linter/rules/no-unknown-unit>
327
658
  */
328
659
  noUnknownUnit?: NoUnknownUnitConfiguration | null;
329
660
  /**
330
661
  * Disallow unmatchable An+B selectors.
662
+ * See <https://biomejs.dev/linter/rules/no-unmatchable-anb-selector>
331
663
  */
332
664
  noUnmatchableAnbSelector?: NoUnmatchableAnbSelectorConfiguration | null;
333
665
  /**
334
- * Disallow unreachable code
666
+ * Disallow unreachable code.
667
+ * See <https://biomejs.dev/linter/rules/no-unreachable>
335
668
  */
336
669
  noUnreachable?: NoUnreachableConfiguration | null;
337
670
  /**
338
- * 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
671
+ * 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.
672
+ * See <https://biomejs.dev/linter/rules/no-unreachable-super>
339
673
  */
340
674
  noUnreachableSuper?: NoUnreachableSuperConfiguration | null;
341
675
  /**
342
676
  * Disallow control flow statements in finally blocks.
677
+ * See <https://biomejs.dev/linter/rules/no-unsafe-finally>
343
678
  */
344
679
  noUnsafeFinally?: NoUnsafeFinallyConfiguration | null;
345
680
  /**
346
681
  * Disallow the use of optional chaining in contexts where the undefined value is not allowed.
682
+ * See <https://biomejs.dev/linter/rules/no-unsafe-optional-chaining>
347
683
  */
348
684
  noUnsafeOptionalChaining?: NoUnsafeOptionalChainingConfiguration | null;
349
685
  /**
350
686
  * Disallow unused function parameters.
687
+ * See <https://biomejs.dev/linter/rules/no-unused-function-parameters>
351
688
  */
352
689
  noUnusedFunctionParameters?: NoUnusedFunctionParametersConfiguration | null;
353
690
  /**
354
691
  * Disallow unused imports.
692
+ * See <https://biomejs.dev/linter/rules/no-unused-imports>
355
693
  */
356
694
  noUnusedImports?: NoUnusedImportsConfiguration | null;
357
695
  /**
358
696
  * Disallow unused labels.
697
+ * See <https://biomejs.dev/linter/rules/no-unused-labels>
359
698
  */
360
699
  noUnusedLabels?: NoUnusedLabelsConfiguration | null;
361
700
  /**
362
- * Disallow unused private class members
701
+ * Disallow unused private class members.
702
+ * See <https://biomejs.dev/linter/rules/no-unused-private-class-members>
363
703
  */
364
704
  noUnusedPrivateClassMembers?: NoUnusedPrivateClassMembersConfiguration | null;
365
705
  /**
366
706
  * Disallow unused variables.
707
+ * See <https://biomejs.dev/linter/rules/no-unused-variables>
367
708
  */
368
709
  noUnusedVariables?: NoUnusedVariablesConfiguration | null;
369
710
  /**
370
711
  * This rules prevents void elements (AKA self-closing elements) from having children.
712
+ * See <https://biomejs.dev/linter/rules/no-void-elements-with-children>
371
713
  */
372
714
  noVoidElementsWithChildren?: NoVoidElementsWithChildrenConfiguration | null;
373
715
  /**
374
- * Disallow returning a value from a function with the return type 'void'
716
+ * Disallow returning a value from a function with the return type 'void'.
717
+ * See <https://biomejs.dev/linter/rules/no-void-type-return>
375
718
  */
376
719
  noVoidTypeReturn?: NoVoidTypeReturnConfiguration | null;
377
720
  /**
@@ -379,645 +722,101 @@ export interface Correctness {
379
722
  */
380
723
  recommended?: boolean | null;
381
724
  /**
382
- * Enforce all dependencies are correctly specified in a React hook.
725
+ * Enforce correct dependency usage within React hooks.
726
+ * See <https://biomejs.dev/linter/rules/use-exhaustive-dependencies>
383
727
  */
384
728
  useExhaustiveDependencies?: UseExhaustiveDependenciesConfiguration | null;
385
729
  /**
386
730
  * Enforce specifying the name of GraphQL operations.
731
+ * See <https://biomejs.dev/linter/rules/use-graphql-named-operations>
387
732
  */
388
733
  useGraphqlNamedOperations?: UseGraphqlNamedOperationsConfiguration | null;
389
734
  /**
390
735
  * Enforce that all React hooks are being called from the Top Level component functions.
736
+ * See <https://biomejs.dev/linter/rules/use-hook-at-top-level>
391
737
  */
392
738
  useHookAtTopLevel?: UseHookAtTopLevelConfiguration | null;
393
739
  /**
394
740
  * Enforces that \<img> elements have both width and height attributes.
741
+ * See <https://biomejs.dev/linter/rules/use-image-size>
395
742
  */
396
743
  useImageSize?: UseImageSizeConfiguration | null;
397
744
  /**
398
745
  * Enforce file extensions for relative imports.
746
+ * See <https://biomejs.dev/linter/rules/use-import-extensions>
399
747
  */
400
748
  useImportExtensions?: UseImportExtensionsConfiguration | null;
401
749
  /**
402
750
  * Require calls to isNaN() when checking for NaN.
751
+ * See <https://biomejs.dev/linter/rules/use-is-nan>
403
752
  */
404
753
  useIsNan?: UseIsNanConfiguration | null;
405
754
  /**
406
755
  * Enforces the use of with { type: "json" } for JSON module imports.
756
+ * See <https://biomejs.dev/linter/rules/use-json-import-attributes>
407
757
  */
408
758
  useJsonImportAttributes?: UseJsonImportAttributesConfiguration | null;
409
759
  /**
410
760
  * Disallow missing key props in iterators/collection literals.
761
+ * See <https://biomejs.dev/linter/rules/use-jsx-key-in-iterable>
411
762
  */
412
763
  useJsxKeyInIterable?: UseJsxKeyInIterableConfiguration | null;
413
764
  /**
414
765
  * Enforce the consistent use of the radix argument when using parseInt().
766
+ * See <https://biomejs.dev/linter/rules/use-parse-int-radix>
415
767
  */
416
768
  useParseIntRadix?: UseParseIntRadixConfiguration | null;
417
769
  /**
418
770
  * Prefer using the class prop as a classlist over the classnames helper.
771
+ * See <https://biomejs.dev/linter/rules/use-qwik-classlist>
419
772
  */
420
773
  useQwikClasslist?: UseQwikClasslistConfiguration | null;
421
774
  /**
422
775
  * Enforce JSDoc comment lines to start with a single asterisk, except for the first one.
776
+ * See <https://biomejs.dev/linter/rules/use-single-js-doc-asterisk>
423
777
  */
424
778
  useSingleJsDocAsterisk?: UseSingleJsDocAsteriskConfiguration | null;
425
779
  /**
426
780
  * Prevent the usage of static string literal id attribute on elements.
781
+ * See <https://biomejs.dev/linter/rules/use-unique-element-ids>
427
782
  */
428
783
  useUniqueElementIds?: UseUniqueElementIdsConfiguration | null;
429
784
  /**
430
785
  * Enforce "for" loop update clause moving the counter in the right direction.
786
+ * See <https://biomejs.dev/linter/rules/use-valid-for-direction>
431
787
  */
432
788
  useValidForDirection?: UseValidForDirectionConfiguration | null;
433
789
  /**
434
790
  * This rule checks that the result of a typeof expression is compared to a valid value.
791
+ * See <https://biomejs.dev/linter/rules/use-valid-typeof>
435
792
  */
436
793
  useValidTypeof?: UseValidTypeofConfiguration | null;
437
794
  /**
438
795
  * Require generator functions to contain yield.
796
+ * See <https://biomejs.dev/linter/rules/use-yield>
439
797
  */
440
798
  useYield?: UseYieldConfiguration | null;
441
799
  }
442
- export type SeverityOrGroupFor_Nursery = GroupPlainConfiguration | Nursery;
800
+ export type SeverityOrNursery = GroupPlainConfiguration | Nursery;
443
801
  export interface RuleWithUseNamingConventionOptions {
444
- /**
445
- * The kind of the code actions emitted by the rule
446
- */
447
802
  fix?: FixKind | null;
448
- /**
449
- * The severity of the emitted diagnostics by the rule
450
- */
451
803
  level: RulePlainConfiguration;
452
- /**
453
- * Rule's options
454
- */
455
- options: UseNamingConventionOptions;
804
+ options?: UseNamingConventionOptions;
456
805
  }
457
- export type ImportGroup = null | GroupMatcher | GroupMatcher[];
458
- export interface NoRestrictedImportsOptions {
459
- /**
460
- * A list of import paths that should trigger the rule.
461
- */
462
- paths?: {
463
- [k: string]: Paths;
464
- };
465
- /**
466
- * gitignore-style patterns that should trigger the rule.
467
- */
468
- patterns?: Patterns[] | null;
469
- }
470
- export type SeverityOrGroupFor_Correctness = GroupPlainConfiguration | Correctness;
471
- export type UseNamingConventionConfiguration = RulePlainConfiguration | RuleWithUseNamingConventionOptions;
472
806
  export type ImportGroups = ImportGroup[];
473
807
  export interface RuleWithNoRestrictedImportsOptions {
474
- /**
475
- * The severity of the emitted diagnostics by the rule
476
- */
477
808
  level: RulePlainConfiguration;
478
- /**
479
- * Rule's options
480
- */
481
- options: NoRestrictedImportsOptions;
809
+ options?: NoRestrictedImportsOptions;
482
810
  }
811
+ export type SeverityOrCorrectness = GroupPlainConfiguration | Correctness;
812
+ export type UseNamingConventionConfiguration = RulePlainConfiguration | RuleWithUseNamingConventionOptions;
483
813
  export interface OrganizeImportsOptions {
484
- groups?: ImportGroups;
485
- identifierOrder?: SortOrder & string;
814
+ groups?: ImportGroups | null;
815
+ identifierOrder?: SortOrder | null;
486
816
  }
487
817
  export type NoRestrictedImportsConfiguration = RulePlainConfiguration | RuleWithNoRestrictedImportsOptions;
488
- export interface RuleAssistWithOptionsFor_OrganizeImportsOptions {
489
- /**
490
- * The severity of the emitted diagnostics by the rule
491
- */
818
+ export interface RuleAssistWithOrganizeImportsOptions {
492
819
  level: RuleAssistPlainConfiguration;
493
- /**
494
- * Rule's options
495
- */
496
820
  options: OrganizeImportsOptions;
821
+ [k: string]: unknown;
497
822
  }
498
- /**
499
- * A list of rules that belong to this group
500
- */
501
- export interface Style {
502
- /**
503
- * Disallow use of CommonJs module system in favor of ESM style imports.
504
- */
505
- noCommonJs?: NoCommonJsConfiguration | null;
506
- /**
507
- * Disallow default exports.
508
- */
509
- noDefaultExport?: NoDefaultExportConfiguration | null;
510
- /**
511
- * Disallow a lower specificity selector from coming after a higher specificity selector.
512
- */
513
- noDescendingSpecificity?: NoDescendingSpecificityConfiguration | null;
514
- /**
515
- * Disallow using a callback in asynchronous tests and hooks.
516
- */
517
- noDoneCallback?: NoDoneCallbackConfiguration | null;
518
- /**
519
- * Disallow TypeScript enum.
520
- */
521
- noEnum?: NoEnumConfiguration | null;
522
- /**
523
- * Disallow exporting an imported variable.
524
- */
525
- noExportedImports?: NoExportedImportsConfiguration | null;
526
- /**
527
- * Prevent usage of \<head> element in a Next.js project.
528
- */
529
- noHeadElement?: NoHeadElementConfiguration | null;
530
- /**
531
- * Disallow implicit true values on JSX boolean attributes
532
- */
533
- noImplicitBoolean?: NoImplicitBooleanConfiguration | null;
534
- /**
535
- * Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.
536
- */
537
- noInferrableTypes?: NoInferrableTypesConfiguration | null;
538
- /**
539
- * Reports usage of "magic numbers" — numbers used directly instead of being assigned to named constants.
540
- */
541
- noMagicNumbers?: NoMagicNumbersConfiguration | null;
542
- /**
543
- * Disallow the use of TypeScript's namespaces.
544
- */
545
- noNamespace?: NoNamespaceConfiguration | null;
546
- /**
547
- * Disallow negation in the condition of an if statement if it has an else clause.
548
- */
549
- noNegationElse?: NoNegationElseConfiguration | null;
550
- /**
551
- * Disallow nested ternary expressions.
552
- */
553
- noNestedTernary?: NoNestedTernaryConfiguration | null;
554
- /**
555
- * Disallow non-null assertions using the ! postfix operator.
556
- */
557
- noNonNullAssertion?: NoNonNullAssertionConfiguration | null;
558
- /**
559
- * Disallow reassigning function parameters.
560
- */
561
- noParameterAssign?: NoParameterAssignConfiguration | null;
562
- /**
563
- * Disallow the use of parameter properties in class constructors.
564
- */
565
- noParameterProperties?: NoParameterPropertiesConfiguration | null;
566
- /**
567
- * Disallow the use of process.env.
568
- */
569
- noProcessEnv?: NoProcessEnvConfiguration | null;
570
- /**
571
- * This rule allows you to specify global variable names that you don’t want to use in your application.
572
- */
573
- noRestrictedGlobals?: NoRestrictedGlobalsConfiguration | null;
574
- /**
575
- * Disallow specified modules when loaded by import or require.
576
- */
577
- noRestrictedImports?: NoRestrictedImportsConfiguration | null;
578
- /**
579
- * Disallow user defined types.
580
- */
581
- noRestrictedTypes?: NoRestrictedTypesConfiguration | null;
582
- /**
583
- * Disallow the use of constants which its value is the upper-case version of its name.
584
- */
585
- noShoutyConstants?: NoShoutyConstantsConfiguration | null;
586
- /**
587
- * Enforce the use of String.slice() over String.substr() and String.substring().
588
- */
589
- noSubstr?: NoSubstrConfiguration | null;
590
- /**
591
- * Disallow template literals if interpolation and special-character handling are not needed
592
- */
593
- noUnusedTemplateLiteral?: NoUnusedTemplateLiteralConfiguration | null;
594
- /**
595
- * Disallow else block when the if block breaks early.
596
- */
597
- noUselessElse?: NoUselessElseConfiguration | null;
598
- /**
599
- * Disallow use of @value rule in css modules.
600
- */
601
- noValueAtRule?: NoValueAtRuleConfiguration | null;
602
- /**
603
- * Disallow the use of yoda expressions.
604
- */
605
- noYodaExpression?: NoYodaExpressionConfiguration | null;
606
- /**
607
- * Enables the recommended rules for this group
608
- */
609
- recommended?: boolean | null;
610
- /**
611
- * Disallow Array constructors.
612
- */
613
- useArrayLiterals?: UseArrayLiteralsConfiguration | null;
614
- /**
615
- * Enforce the use of as const over literal type and type annotation.
616
- */
617
- useAsConstAssertion?: UseAsConstAssertionConfiguration | null;
618
- /**
619
- * Use at() instead of integer index access.
620
- */
621
- useAtIndex?: UseAtIndexConfiguration | null;
622
- /**
623
- * Requires following curly brace conventions.
624
- */
625
- useBlockStatements?: UseBlockStatementsConfiguration | null;
626
- /**
627
- * Enforce using else if instead of nested if in else clauses.
628
- */
629
- useCollapsedElseIf?: UseCollapsedElseIfConfiguration | null;
630
- /**
631
- * Enforce using single if instead of nested if clauses.
632
- */
633
- useCollapsedIf?: UseCollapsedIfConfiguration | null;
634
- /**
635
- * Enforce declaring components only within modules that export React Components exclusively.
636
- */
637
- useComponentExportOnlyModules?: UseComponentExportOnlyModulesConfiguration | null;
638
- /**
639
- * Require consistently using either T\[] or Array\<T>
640
- */
641
- useConsistentArrayType?: UseConsistentArrayTypeConfiguration | null;
642
- /**
643
- * Enforce the use of new for all builtins, except String, Number and Boolean.
644
- */
645
- useConsistentBuiltinInstantiation?: UseConsistentBuiltinInstantiationConfiguration | null;
646
- /**
647
- * This rule enforces consistent use of curly braces inside JSX attributes and JSX children.
648
- */
649
- useConsistentCurlyBraces?: UseConsistentCurlyBracesConfiguration | null;
650
- /**
651
- * Require consistent accessibility modifiers on class properties and methods.
652
- */
653
- useConsistentMemberAccessibility?: UseConsistentMemberAccessibilityConfiguration | null;
654
- /**
655
- * Require the consistent declaration of object literals. Defaults to explicit definitions.
656
- */
657
- useConsistentObjectDefinitions?: UseConsistentObjectDefinitionsConfiguration | null;
658
- /**
659
- * Enforce type definitions to consistently use either interface or type.
660
- */
661
- useConsistentTypeDefinitions?: UseConsistentTypeDefinitionsConfiguration | null;
662
- /**
663
- * Require const declarations for variables that are only assigned once.
664
- */
665
- useConst?: UseConstConfiguration | null;
666
- /**
667
- * Enforce default function parameters and optional function parameters to be last.
668
- */
669
- useDefaultParameterLast?: UseDefaultParameterLastConfiguration | null;
670
- /**
671
- * Require the default clause in switch statements.
672
- */
673
- useDefaultSwitchClause?: UseDefaultSwitchClauseConfiguration | null;
674
- /**
675
- * Require specifying the reason argument when using @deprecated directive
676
- */
677
- useDeprecatedReason?: UseDeprecatedReasonConfiguration | null;
678
- /**
679
- * Require that each enum member value be explicitly initialized.
680
- */
681
- useEnumInitializers?: UseEnumInitializersConfiguration | null;
682
- /**
683
- * Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.
684
- */
685
- useExplicitLengthCheck?: UseExplicitLengthCheckConfiguration | null;
686
- /**
687
- * Disallow the use of Math.pow in favor of the ** operator.
688
- */
689
- useExponentiationOperator?: UseExponentiationOperatorConfiguration | null;
690
- /**
691
- * Promotes the use of export type for types.
692
- */
693
- useExportType?: UseExportTypeConfiguration | null;
694
- /**
695
- * Require that all exports are declared after all non-export statements.
696
- */
697
- useExportsLast?: UseExportsLastConfiguration | null;
698
- /**
699
- * Enforce naming conventions for JavaScript and TypeScript filenames.
700
- */
701
- useFilenamingConvention?: UseFilenamingConventionConfiguration | null;
702
- /**
703
- * Prefer using for...of loops over standard for loops where possible.
704
- */
705
- useForOf?: UseForOfConfiguration | null;
706
- /**
707
- * This rule enforces the use of \<>...\</> over \<Fragment>...\</Fragment>.
708
- */
709
- useFragmentSyntax?: UseFragmentSyntaxConfiguration | null;
710
- /**
711
- * Validates that all enum values are capitalized.
712
- */
713
- useGraphqlNamingConvention?: UseGraphqlNamingConventionConfiguration | null;
714
- /**
715
- * Enforce that getters and setters for the same property are adjacent in class and object definitions.
716
- */
717
- useGroupedAccessorPairs?: UseGroupedAccessorPairsConfiguration | null;
718
- /**
719
- * Promotes the use of import type for types.
720
- */
721
- useImportType?: UseImportTypeConfiguration | null;
722
- /**
723
- * Require all enum members to be literal values.
724
- */
725
- useLiteralEnumMembers?: UseLiteralEnumMembersConfiguration | null;
726
- /**
727
- * Enforce naming conventions for everything across a codebase.
728
- */
729
- useNamingConvention?: UseNamingConventionConfiguration | null;
730
- /**
731
- * Promotes the usage of node:assert/strict over node:assert.
732
- */
733
- useNodeAssertStrict?: UseNodeAssertStrictConfiguration | null;
734
- /**
735
- * Enforces using the node: protocol for Node.js builtin modules.
736
- */
737
- useNodejsImportProtocol?: UseNodejsImportProtocolConfiguration | null;
738
- /**
739
- * Use the Number properties instead of global ones.
740
- */
741
- useNumberNamespace?: UseNumberNamespaceConfiguration | null;
742
- /**
743
- * Enforce the use of numeric separators in numeric literals.
744
- */
745
- useNumericSeparators?: UseNumericSeparatorsConfiguration | null;
746
- /**
747
- * Prefer object spread over Object.assign() when constructing new objects.
748
- */
749
- useObjectSpread?: UseObjectSpreadConfiguration | null;
750
- /**
751
- * Enforce that components are defined as functions and never as classes.
752
- */
753
- useReactFunctionComponents?: UseReactFunctionComponentsConfiguration | null;
754
- /**
755
- * Enforce marking members as readonly if they are never modified outside the constructor.
756
- */
757
- useReadonlyClassProperties?: UseReadonlyClassPropertiesConfiguration | null;
758
- /**
759
- * Prevent extra closing tags for components without children.
760
- */
761
- useSelfClosingElements?: UseSelfClosingElementsConfiguration | null;
762
- /**
763
- * Require assignment operator shorthand where possible.
764
- */
765
- useShorthandAssign?: UseShorthandAssignConfiguration | null;
766
- /**
767
- * Enforce using function types instead of object type with call signatures.
768
- */
769
- useShorthandFunctionType?: UseShorthandFunctionTypeConfiguration | null;
770
- /**
771
- * Disallow multiple variable declarations in the same variable statement
772
- */
773
- useSingleVarDeclarator?: UseSingleVarDeclaratorConfiguration | null;
774
- /**
775
- * Require a description parameter for the Symbol().
776
- */
777
- useSymbolDescription?: UseSymbolDescriptionConfiguration | null;
778
- /**
779
- * Prefer template literals over string concatenation.
780
- */
781
- useTemplate?: UseTemplateConfiguration | null;
782
- /**
783
- * Require new when throwing an error.
784
- */
785
- useThrowNewError?: UseThrowNewErrorConfiguration | null;
786
- /**
787
- * Disallow throwing non-Error values.
788
- */
789
- useThrowOnlyError?: UseThrowOnlyErrorConfiguration | null;
790
- /**
791
- * Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().
792
- */
793
- useTrimStartEnd?: UseTrimStartEndConfiguration | null;
794
- /**
795
- * Disallow overload signatures that can be unified into a single signature.
796
- */
797
- useUnifiedTypeSignatures?: UseUnifiedTypeSignaturesConfiguration | null;
798
- }
799
- export type RuleAssistConfigurationFor_OrganizeImportsOptions = RuleAssistPlainConfiguration | RuleAssistWithOptionsFor_OrganizeImportsOptions;
800
- export type SeverityOrGroupFor_Style = GroupPlainConfiguration | Style;
801
- /**
802
- * A list of rules that belong to this group
803
- */
804
- export interface Source {
805
- /**
806
- * Provides a code action to sort the imports and exports in the file using a built-in or custom order.
807
- */
808
- organizeImports?: RuleAssistConfigurationFor_OrganizeImportsOptions | null;
809
- /**
810
- * Enables the recommended rules for this group
811
- */
812
- recommended?: boolean | null;
813
- /**
814
- * Enforce attribute sorting in JSX elements.
815
- */
816
- useSortedAttributes?: RuleAssistConfigurationFor_UseSortedAttributesOptions | null;
817
- /**
818
- * Sort the keys of a JSON object in natural order.
819
- */
820
- useSortedKeys?: RuleAssistConfigurationFor_UseSortedKeysOptions | null;
821
- /**
822
- * Enforce ordering of CSS properties and nested rules.
823
- */
824
- useSortedProperties?: RuleAssistConfigurationFor_UseSortedPropertiesOptions | null;
825
- }
826
- export interface Rules {
827
- a11y?: SeverityOrGroupFor_A11Y | null;
828
- complexity?: SeverityOrGroupFor_Complexity | null;
829
- correctness?: SeverityOrGroupFor_Correctness | null;
830
- nursery?: SeverityOrGroupFor_Nursery | null;
831
- performance?: SeverityOrGroupFor_Performance | null;
832
- /**
833
- * It enables the lint rules recommended by Biome. `true` by default.
834
- */
835
- recommended?: boolean | null;
836
- security?: SeverityOrGroupFor_Security | null;
837
- style?: SeverityOrGroupFor_Style | null;
838
- suspicious?: SeverityOrGroupFor_Suspicious | null;
839
- }
840
- export interface Actions {
841
- /**
842
- * It enables the assist actions recommended by Biome. `true` by default.
843
- */
844
- recommended?: boolean | null;
845
- source?: Source | null;
846
- }
847
- export interface LinterConfiguration {
848
- /**
849
- * An object where the keys are the names of the domains, and the values are `all`, `recommended`, or `none`.
850
- */
851
- domains?: RuleDomains | null;
852
- /**
853
- * if `false`, it disables the feature and the linter won't be executed. `true` by default
854
- */
855
- enabled?: Bool | null;
856
- /**
857
- * A list of glob patterns. The analyzer will handle only those files/folders that will match these patterns.
858
- */
859
- includes?: NormalizedGlob[] | null;
860
- /**
861
- * List of rules
862
- */
863
- rules?: Rules | null;
864
- }
865
- export interface OverrideLinterConfiguration {
866
- /**
867
- * List of rules
868
- */
869
- domains?: RuleDomains | null;
870
- /**
871
- * if `false`, it disables the feature and the linter won't be executed. `true` by default
872
- */
873
- enabled?: Bool | null;
874
- /**
875
- * List of rules
876
- */
877
- rules?: Rules | null;
878
- }
879
- export interface AssistConfiguration {
880
- /**
881
- * Whether Biome should fail in CLI if the assist were not applied to the code.
882
- */
883
- actions?: Actions | null;
884
- /**
885
- * Whether Biome should enable assist via LSP and CLI.
886
- */
887
- enabled?: Bool | null;
888
- /**
889
- * A list of glob patterns. Biome will include files/folders that will match these patterns.
890
- */
891
- includes?: NormalizedGlob[] | null;
892
- }
893
- export interface OverrideAssistConfiguration {
894
- /**
895
- * List of actions
896
- */
897
- actions?: Actions | null;
898
- /**
899
- * if `false`, it disables the feature and the assist won't be executed. `true` by default
900
- */
901
- enabled?: Bool | null;
902
- }
903
- export interface OverridePattern {
904
- /**
905
- * Specific configuration for the Json language
906
- */
907
- assist?: OverrideAssistConfiguration | null;
908
- /**
909
- * Specific configuration for the CSS language
910
- */
911
- css?: CssConfiguration | null;
912
- /**
913
- * Specific configuration for the filesystem
914
- */
915
- files?: OverrideFilesConfiguration | null;
916
- /**
917
- * Specific configuration for the Json language
918
- */
919
- formatter?: OverrideFormatterConfiguration | null;
920
- /**
921
- * Specific configuration for the Graphql language
922
- */
923
- graphql?: GraphqlConfiguration | null;
924
- /**
925
- * Specific configuration for the GritQL language
926
- */
927
- grit?: GritConfiguration | null;
928
- /**
929
- * Specific configuration for the GritQL language
930
- */
931
- html?: HtmlConfiguration | null;
932
- /**
933
- * A list of glob patterns. Biome will include files/folders that will match these patterns.
934
- */
935
- includes?: OverrideGlobs | null;
936
- /**
937
- * Specific configuration for the JavaScript language
938
- */
939
- javascript?: JsConfiguration | null;
940
- /**
941
- * Specific configuration for the Json language
942
- */
943
- json?: JsonConfiguration | null;
944
- /**
945
- * Specific configuration for the Json language
946
- */
947
- linter?: OverrideLinterConfiguration | null;
948
- /**
949
- * Specific configuration for additional plugins
950
- */
951
- plugins?: Plugins | null;
952
- }
953
- export type Overrides = OverridePattern[];
954
- /**
955
- * The configuration that is contained inside the file `biome.json`
956
- */
957
- export interface Configuration {
958
- /**
959
- * A field for the [JSON schema](https://json-schema.org/) specification
960
- */
961
- $schema?: Schema | null;
962
- /**
963
- * Specific configuration for assists
964
- */
965
- assist?: AssistConfiguration | null;
966
- /**
967
- * Specific configuration for the Css language
968
- */
969
- css?: CssConfiguration | null;
970
- /**
971
- * A list of paths to other JSON files, used to extends the current configuration.
972
- */
973
- extends?: Extends | null;
974
- /**
975
- * The configuration of the filesystem
976
- */
977
- files?: FilesConfiguration | null;
978
- /**
979
- * The configuration of the formatter
980
- */
981
- formatter?: FormatterConfiguration | null;
982
- /**
983
- * Specific configuration for the GraphQL language
984
- */
985
- graphql?: GraphqlConfiguration | null;
986
- /**
987
- * Specific configuration for the GraphQL language
988
- */
989
- grit?: GritConfiguration | null;
990
- /**
991
- * Specific configuration for the HTML language
992
- */
993
- html?: HtmlConfiguration | null;
994
- /**
995
- * Specific configuration for the JavaScript language
996
- */
997
- javascript?: JsConfiguration | null;
998
- /**
999
- * Specific configuration for the Json language
1000
- */
1001
- json?: JsonConfiguration | null;
1002
- /**
1003
- * The configuration for the linter
1004
- */
1005
- linter?: LinterConfiguration | null;
1006
- /**
1007
- * A list of granular patterns that should be applied only to a sub set of files
1008
- */
1009
- overrides?: Overrides | null;
1010
- /**
1011
- * List of plugins to load.
1012
- */
1013
- plugins?: Plugins | null;
1014
- /**
1015
- * Indicates whether this configuration file is at the root of a Biome project. By default, this is `true`.
1016
- */
1017
- root?: Bool | null;
1018
- /**
1019
- * The configuration of the VCS integration
1020
- */
1021
- vcs?: VcsConfiguration | null;
1022
- }
1023
- export type BiomeConfig = Configuration;