@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
@@ -0,0 +1,614 @@
1
+ import type { Bool, Extends, GroupPlainConfiguration, NormalizedGlob, RuleAssistPlainConfiguration, Schema } from './schema.ts';
2
+ import type { FilesConfiguration, FormatterConfiguration, OverrideFilesConfiguration, OverrideFormatterConfiguration, RuleDomains } from './no-comment-text-options.ts';
3
+ import type { CssConfiguration, GraphqlConfiguration, GritConfiguration, HtmlConfiguration, JsConfiguration, JsonConfiguration, OverrideGlobs, Plugins, UseSortedPropertiesConfiguration, VcsConfiguration } from './rule-with-no-fallthrough-switch-clause-options.ts';
4
+ import type { NoCommonJsConfiguration, NoDefaultExportConfiguration, NoDescendingSpecificityConfiguration, NoDoneCallbackConfiguration, NoEnumConfiguration, NoExportedImportsConfiguration, NoHeadElementConfiguration, NoImplicitBooleanConfiguration, NoInferrableTypesConfiguration, NoMagicNumbersConfiguration, NoNamespaceConfiguration, NoNegationElseConfiguration, NoNestedTernaryConfiguration, NoNonNullAssertionConfiguration, NoParameterPropertiesConfiguration, NoProcessEnvConfiguration, NoRestrictedGlobalsConfiguration, NoShoutyConstantsConfiguration, NoSubstrConfiguration, NoUnusedTemplateLiteralConfiguration, NoUselessElseConfiguration, NoValueAtRuleConfiguration, NoYodaExpressionConfiguration, UseArrayLiteralsConfiguration, UseAsConstAssertionConfiguration, UseAtIndexConfiguration, UseBlockStatementsConfiguration, UseCollapsedElseIfConfiguration, UseCollapsedIfConfiguration, UseComponentExportOnlyModulesConfiguration, UseConsistentBuiltinInstantiationConfiguration, UseConsistentCurlyBracesConfiguration, UseConstConfiguration, UseDefaultParameterLastConfiguration, UseDefaultSwitchClauseConfiguration, UseDeprecatedReasonConfiguration, UseEnumInitializersConfiguration, UseExplicitLengthCheckConfiguration, UseExponentiationOperatorConfiguration, UseExportTypeConfiguration, UseExportsLastConfiguration } from './no-sync-scripts-configuration.ts';
5
+ import type { UseForOfConfiguration, UseFragmentSyntaxConfiguration, UseGraphqlNamingConventionConfiguration, UseGroupedAccessorPairsConfiguration, UseLiteralEnumMembersConfiguration, UseNodeAssertStrictConfiguration, UseNodejsImportProtocolConfiguration, UseNumberNamespaceConfiguration, UseNumericSeparatorsConfiguration, UseObjectSpreadConfiguration, UseReactFunctionComponentsConfiguration, UseReadonlyClassPropertiesConfiguration, UseSelfClosingElementsConfiguration, UseShorthandAssignConfiguration, UseShorthandFunctionTypeConfiguration, UseSingleVarDeclaratorConfiguration, UseSymbolDescriptionConfiguration, UseTemplateConfiguration, UseThrowNewErrorConfiguration, UseThrowOnlyErrorConfiguration, UseTrimStartEndConfiguration, UseUnifiedTypeSignaturesConfiguration } from './use-for-of-configuration.ts';
6
+ import type { NoParameterAssignConfiguration, SeverityOrA11Y, SeverityOrComplexity, UseConsistentArrayTypeConfiguration, UseConsistentMemberAccessibilityConfiguration, UseConsistentObjectDefinitionsConfiguration, UseConsistentTypeDefinitionsConfiguration, UseImportTypeConfiguration, UseSortedAttributesConfiguration, UseSortedKeysConfiguration } from './pattern-options.ts';
7
+ import type { NoRestrictedImportsConfiguration, NoRestrictedTypesConfiguration, RuleAssistWithOrganizeImportsOptions, SeverityOrCorrectness, SeverityOrNursery, SeverityOrPerformance, SeverityOrSecurity, SeverityOrSuspicious, UseFilenamingConventionConfiguration, UseNamingConventionConfiguration } from './nursery.ts';
8
+ /**
9
+ * A list of rules that belong to this group
10
+ */
11
+ export interface Style {
12
+ /**
13
+ * Disallow use of CommonJs module system in favor of ESM style imports.
14
+ * See <https://biomejs.dev/linter/rules/no-common-js>
15
+ */
16
+ noCommonJs?: NoCommonJsConfiguration | null;
17
+ /**
18
+ * Disallow default exports.
19
+ * See <https://biomejs.dev/linter/rules/no-default-export>
20
+ */
21
+ noDefaultExport?: NoDefaultExportConfiguration | null;
22
+ /**
23
+ * Disallow a lower specificity selector from coming after a higher specificity selector.
24
+ * See <https://biomejs.dev/linter/rules/no-descending-specificity>
25
+ */
26
+ noDescendingSpecificity?: NoDescendingSpecificityConfiguration | null;
27
+ /**
28
+ * Disallow using a callback in asynchronous tests and hooks.
29
+ * See <https://biomejs.dev/linter/rules/no-done-callback>
30
+ */
31
+ noDoneCallback?: NoDoneCallbackConfiguration | null;
32
+ /**
33
+ * Disallow TypeScript enum.
34
+ * See <https://biomejs.dev/linter/rules/no-enum>
35
+ */
36
+ noEnum?: NoEnumConfiguration | null;
37
+ /**
38
+ * Disallow exporting an imported variable.
39
+ * See <https://biomejs.dev/linter/rules/no-exported-imports>
40
+ */
41
+ noExportedImports?: NoExportedImportsConfiguration | null;
42
+ /**
43
+ * Prevent usage of \<head> element in a Next.js project.
44
+ * See <https://biomejs.dev/linter/rules/no-head-element>
45
+ */
46
+ noHeadElement?: NoHeadElementConfiguration | null;
47
+ /**
48
+ * Disallow implicit true values on JSX boolean attributes.
49
+ * See <https://biomejs.dev/linter/rules/no-implicit-boolean>
50
+ */
51
+ noImplicitBoolean?: NoImplicitBooleanConfiguration | null;
52
+ /**
53
+ * Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.
54
+ * See <https://biomejs.dev/linter/rules/no-inferrable-types>
55
+ */
56
+ noInferrableTypes?: NoInferrableTypesConfiguration | null;
57
+ /**
58
+ * Reports usage of "magic numbers" — numbers used directly instead of being assigned to named constants.
59
+ * See <https://biomejs.dev/linter/rules/no-magic-numbers>
60
+ */
61
+ noMagicNumbers?: NoMagicNumbersConfiguration | null;
62
+ /**
63
+ * Disallow the use of TypeScript's namespaces.
64
+ * See <https://biomejs.dev/linter/rules/no-namespace>
65
+ */
66
+ noNamespace?: NoNamespaceConfiguration | null;
67
+ /**
68
+ * Disallow negation in the condition of an if statement if it has an else clause.
69
+ * See <https://biomejs.dev/linter/rules/no-negation-else>
70
+ */
71
+ noNegationElse?: NoNegationElseConfiguration | null;
72
+ /**
73
+ * Disallow nested ternary expressions.
74
+ * See <https://biomejs.dev/linter/rules/no-nested-ternary>
75
+ */
76
+ noNestedTernary?: NoNestedTernaryConfiguration | null;
77
+ /**
78
+ * Disallow non-null assertions using the ! postfix operator.
79
+ * See <https://biomejs.dev/linter/rules/no-non-null-assertion>
80
+ */
81
+ noNonNullAssertion?: NoNonNullAssertionConfiguration | null;
82
+ /**
83
+ * Disallow reassigning function parameters.
84
+ * See <https://biomejs.dev/linter/rules/no-parameter-assign>
85
+ */
86
+ noParameterAssign?: NoParameterAssignConfiguration | null;
87
+ /**
88
+ * Disallow the use of parameter properties in class constructors.
89
+ * See <https://biomejs.dev/linter/rules/no-parameter-properties>
90
+ */
91
+ noParameterProperties?: NoParameterPropertiesConfiguration | null;
92
+ /**
93
+ * Disallow the use of process.env.
94
+ * See <https://biomejs.dev/linter/rules/no-process-env>
95
+ */
96
+ noProcessEnv?: NoProcessEnvConfiguration | null;
97
+ /**
98
+ * This rule allows you to specify global variable names that you don’t want to use in your application.
99
+ * See <https://biomejs.dev/linter/rules/no-restricted-globals>
100
+ */
101
+ noRestrictedGlobals?: NoRestrictedGlobalsConfiguration | null;
102
+ /**
103
+ * Disallow specified modules when loaded by import or require.
104
+ * See <https://biomejs.dev/linter/rules/no-restricted-imports>
105
+ */
106
+ noRestrictedImports?: NoRestrictedImportsConfiguration | null;
107
+ /**
108
+ * Disallow user defined types.
109
+ * See <https://biomejs.dev/linter/rules/no-restricted-types>
110
+ */
111
+ noRestrictedTypes?: NoRestrictedTypesConfiguration | null;
112
+ /**
113
+ * Disallow the use of constants which its value is the upper-case version of its name.
114
+ * See <https://biomejs.dev/linter/rules/no-shouty-constants>
115
+ */
116
+ noShoutyConstants?: NoShoutyConstantsConfiguration | null;
117
+ /**
118
+ * Enforce the use of String.slice() over String.substr() and String.substring().
119
+ * See <https://biomejs.dev/linter/rules/no-substr>
120
+ */
121
+ noSubstr?: NoSubstrConfiguration | null;
122
+ /**
123
+ * Disallow template literals if interpolation and special-character handling are not needed.
124
+ * See <https://biomejs.dev/linter/rules/no-unused-template-literal>
125
+ */
126
+ noUnusedTemplateLiteral?: NoUnusedTemplateLiteralConfiguration | null;
127
+ /**
128
+ * Disallow else block when the if block breaks early.
129
+ * See <https://biomejs.dev/linter/rules/no-useless-else>
130
+ */
131
+ noUselessElse?: NoUselessElseConfiguration | null;
132
+ /**
133
+ * Disallow use of @value rule in css modules.
134
+ * See <https://biomejs.dev/linter/rules/no-value-at-rule>
135
+ */
136
+ noValueAtRule?: NoValueAtRuleConfiguration | null;
137
+ /**
138
+ * Disallow the use of yoda expressions.
139
+ * See <https://biomejs.dev/linter/rules/no-yoda-expression>
140
+ */
141
+ noYodaExpression?: NoYodaExpressionConfiguration | null;
142
+ /**
143
+ * Enables the recommended rules for this group
144
+ */
145
+ recommended?: boolean | null;
146
+ /**
147
+ * Disallow Array constructors.
148
+ * See <https://biomejs.dev/linter/rules/use-array-literals>
149
+ */
150
+ useArrayLiterals?: UseArrayLiteralsConfiguration | null;
151
+ /**
152
+ * Enforce the use of as const over literal type and type annotation.
153
+ * See <https://biomejs.dev/linter/rules/use-as-const-assertion>
154
+ */
155
+ useAsConstAssertion?: UseAsConstAssertionConfiguration | null;
156
+ /**
157
+ * Use at() instead of integer index access.
158
+ * See <https://biomejs.dev/linter/rules/use-at-index>
159
+ */
160
+ useAtIndex?: UseAtIndexConfiguration | null;
161
+ /**
162
+ * Requires following curly brace conventions.
163
+ * See <https://biomejs.dev/linter/rules/use-block-statements>
164
+ */
165
+ useBlockStatements?: UseBlockStatementsConfiguration | null;
166
+ /**
167
+ * Enforce using else if instead of nested if in else clauses.
168
+ * See <https://biomejs.dev/linter/rules/use-collapsed-else-if>
169
+ */
170
+ useCollapsedElseIf?: UseCollapsedElseIfConfiguration | null;
171
+ /**
172
+ * Enforce using single if instead of nested if clauses.
173
+ * See <https://biomejs.dev/linter/rules/use-collapsed-if>
174
+ */
175
+ useCollapsedIf?: UseCollapsedIfConfiguration | null;
176
+ /**
177
+ * Enforce declaring components only within modules that export React Components exclusively.
178
+ * See <https://biomejs.dev/linter/rules/use-component-export-only-modules>
179
+ */
180
+ useComponentExportOnlyModules?: UseComponentExportOnlyModulesConfiguration | null;
181
+ /**
182
+ * Require consistently using either T\[] or Array\<T>.
183
+ * See <https://biomejs.dev/linter/rules/use-consistent-array-type>
184
+ */
185
+ useConsistentArrayType?: UseConsistentArrayTypeConfiguration | null;
186
+ /**
187
+ * Enforce the use of new for all builtins, except String, Number and Boolean.
188
+ * See <https://biomejs.dev/linter/rules/use-consistent-builtin-instantiation>
189
+ */
190
+ useConsistentBuiltinInstantiation?: UseConsistentBuiltinInstantiationConfiguration | null;
191
+ /**
192
+ * This rule enforces consistent use of curly braces inside JSX attributes and JSX children.
193
+ * See <https://biomejs.dev/linter/rules/use-consistent-curly-braces>
194
+ */
195
+ useConsistentCurlyBraces?: UseConsistentCurlyBracesConfiguration | null;
196
+ /**
197
+ * Require consistent accessibility modifiers on class properties and methods.
198
+ * See <https://biomejs.dev/linter/rules/use-consistent-member-accessibility>
199
+ */
200
+ useConsistentMemberAccessibility?: UseConsistentMemberAccessibilityConfiguration | null;
201
+ /**
202
+ * Require the consistent declaration of object literals. Defaults to explicit definitions.
203
+ * See <https://biomejs.dev/linter/rules/use-consistent-object-definitions>
204
+ */
205
+ useConsistentObjectDefinitions?: UseConsistentObjectDefinitionsConfiguration | null;
206
+ /**
207
+ * Enforce type definitions to consistently use either interface or type.
208
+ * See <https://biomejs.dev/linter/rules/use-consistent-type-definitions>
209
+ */
210
+ useConsistentTypeDefinitions?: UseConsistentTypeDefinitionsConfiguration | null;
211
+ /**
212
+ * Require const declarations for variables that are only assigned once.
213
+ * See <https://biomejs.dev/linter/rules/use-const>
214
+ */
215
+ useConst?: UseConstConfiguration | null;
216
+ /**
217
+ * Enforce default function parameters and optional function parameters to be last.
218
+ * See <https://biomejs.dev/linter/rules/use-default-parameter-last>
219
+ */
220
+ useDefaultParameterLast?: UseDefaultParameterLastConfiguration | null;
221
+ /**
222
+ * Require the default clause in switch statements.
223
+ * See <https://biomejs.dev/linter/rules/use-default-switch-clause>
224
+ */
225
+ useDefaultSwitchClause?: UseDefaultSwitchClauseConfiguration | null;
226
+ /**
227
+ * Require specifying the reason argument when using @deprecated directive.
228
+ * See <https://biomejs.dev/linter/rules/use-deprecated-reason>
229
+ */
230
+ useDeprecatedReason?: UseDeprecatedReasonConfiguration | null;
231
+ /**
232
+ * Require that each enum member value be explicitly initialized.
233
+ * See <https://biomejs.dev/linter/rules/use-enum-initializers>
234
+ */
235
+ useEnumInitializers?: UseEnumInitializersConfiguration | null;
236
+ /**
237
+ * Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.
238
+ * See <https://biomejs.dev/linter/rules/use-explicit-length-check>
239
+ */
240
+ useExplicitLengthCheck?: UseExplicitLengthCheckConfiguration | null;
241
+ /**
242
+ * Disallow the use of Math.pow in favor of the ** operator.
243
+ * See <https://biomejs.dev/linter/rules/use-exponentiation-operator>
244
+ */
245
+ useExponentiationOperator?: UseExponentiationOperatorConfiguration | null;
246
+ /**
247
+ * Promotes the use of export type for types.
248
+ * See <https://biomejs.dev/linter/rules/use-export-type>
249
+ */
250
+ useExportType?: UseExportTypeConfiguration | null;
251
+ /**
252
+ * Require that all exports are declared after all non-export statements.
253
+ * See <https://biomejs.dev/linter/rules/use-exports-last>
254
+ */
255
+ useExportsLast?: UseExportsLastConfiguration | null;
256
+ /**
257
+ * Enforce naming conventions for JavaScript and TypeScript filenames.
258
+ * See <https://biomejs.dev/linter/rules/use-filenaming-convention>
259
+ */
260
+ useFilenamingConvention?: UseFilenamingConventionConfiguration | null;
261
+ /**
262
+ * Prefer using for...of loops over standard for loops where possible.
263
+ * See <https://biomejs.dev/linter/rules/use-for-of>
264
+ */
265
+ useForOf?: UseForOfConfiguration | null;
266
+ /**
267
+ * This rule enforces the use of \<>...\</> over \<Fragment>...\</Fragment>.
268
+ * See <https://biomejs.dev/linter/rules/use-fragment-syntax>
269
+ */
270
+ useFragmentSyntax?: UseFragmentSyntaxConfiguration | null;
271
+ /**
272
+ * Validates that all enum values are capitalized.
273
+ * See <https://biomejs.dev/linter/rules/use-graphql-naming-convention>
274
+ */
275
+ useGraphqlNamingConvention?: UseGraphqlNamingConventionConfiguration | null;
276
+ /**
277
+ * Enforce that getters and setters for the same property are adjacent in class and object definitions.
278
+ * See <https://biomejs.dev/linter/rules/use-grouped-accessor-pairs>
279
+ */
280
+ useGroupedAccessorPairs?: UseGroupedAccessorPairsConfiguration | null;
281
+ /**
282
+ * Promotes the use of import type for types.
283
+ * See <https://biomejs.dev/linter/rules/use-import-type>
284
+ */
285
+ useImportType?: UseImportTypeConfiguration | null;
286
+ /**
287
+ * Require all enum members to be literal values.
288
+ * See <https://biomejs.dev/linter/rules/use-literal-enum-members>
289
+ */
290
+ useLiteralEnumMembers?: UseLiteralEnumMembersConfiguration | null;
291
+ /**
292
+ * Enforce naming conventions for everything across a codebase.
293
+ * See <https://biomejs.dev/linter/rules/use-naming-convention>
294
+ */
295
+ useNamingConvention?: UseNamingConventionConfiguration | null;
296
+ /**
297
+ * Promotes the usage of node:assert/strict over node:assert.
298
+ * See <https://biomejs.dev/linter/rules/use-node-assert-strict>
299
+ */
300
+ useNodeAssertStrict?: UseNodeAssertStrictConfiguration | null;
301
+ /**
302
+ * Enforces using the node: protocol for Node.js builtin modules.
303
+ * See <https://biomejs.dev/linter/rules/use-nodejs-import-protocol>
304
+ */
305
+ useNodejsImportProtocol?: UseNodejsImportProtocolConfiguration | null;
306
+ /**
307
+ * Use the Number properties instead of global ones.
308
+ * See <https://biomejs.dev/linter/rules/use-number-namespace>
309
+ */
310
+ useNumberNamespace?: UseNumberNamespaceConfiguration | null;
311
+ /**
312
+ * Enforce the use of numeric separators in numeric literals.
313
+ * See <https://biomejs.dev/linter/rules/use-numeric-separators>
314
+ */
315
+ useNumericSeparators?: UseNumericSeparatorsConfiguration | null;
316
+ /**
317
+ * Prefer object spread over Object.assign() when constructing new objects.
318
+ * See <https://biomejs.dev/linter/rules/use-object-spread>
319
+ */
320
+ useObjectSpread?: UseObjectSpreadConfiguration | null;
321
+ /**
322
+ * Enforce that components are defined as functions and never as classes.
323
+ * See <https://biomejs.dev/linter/rules/use-react-function-components>
324
+ */
325
+ useReactFunctionComponents?: UseReactFunctionComponentsConfiguration | null;
326
+ /**
327
+ * Enforce marking members as readonly if they are never modified outside the constructor.
328
+ * See <https://biomejs.dev/linter/rules/use-readonly-class-properties>
329
+ */
330
+ useReadonlyClassProperties?: UseReadonlyClassPropertiesConfiguration | null;
331
+ /**
332
+ * Prevent extra closing tags for components without children.
333
+ * See <https://biomejs.dev/linter/rules/use-self-closing-elements>
334
+ */
335
+ useSelfClosingElements?: UseSelfClosingElementsConfiguration | null;
336
+ /**
337
+ * Require assignment operator shorthand where possible.
338
+ * See <https://biomejs.dev/linter/rules/use-shorthand-assign>
339
+ */
340
+ useShorthandAssign?: UseShorthandAssignConfiguration | null;
341
+ /**
342
+ * Enforce using function types instead of object type with call signatures.
343
+ * See <https://biomejs.dev/linter/rules/use-shorthand-function-type>
344
+ */
345
+ useShorthandFunctionType?: UseShorthandFunctionTypeConfiguration | null;
346
+ /**
347
+ * Disallow multiple variable declarations in the same variable statement.
348
+ * See <https://biomejs.dev/linter/rules/use-single-var-declarator>
349
+ */
350
+ useSingleVarDeclarator?: UseSingleVarDeclaratorConfiguration | null;
351
+ /**
352
+ * Require a description parameter for the Symbol().
353
+ * See <https://biomejs.dev/linter/rules/use-symbol-description>
354
+ */
355
+ useSymbolDescription?: UseSymbolDescriptionConfiguration | null;
356
+ /**
357
+ * Prefer template literals over string concatenation.
358
+ * See <https://biomejs.dev/linter/rules/use-template>
359
+ */
360
+ useTemplate?: UseTemplateConfiguration | null;
361
+ /**
362
+ * Require new when throwing an error.
363
+ * See <https://biomejs.dev/linter/rules/use-throw-new-error>
364
+ */
365
+ useThrowNewError?: UseThrowNewErrorConfiguration | null;
366
+ /**
367
+ * Disallow throwing non-Error values.
368
+ * See <https://biomejs.dev/linter/rules/use-throw-only-error>
369
+ */
370
+ useThrowOnlyError?: UseThrowOnlyErrorConfiguration | null;
371
+ /**
372
+ * Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().
373
+ * See <https://biomejs.dev/linter/rules/use-trim-start-end>
374
+ */
375
+ useTrimStartEnd?: UseTrimStartEndConfiguration | null;
376
+ /**
377
+ * Disallow overload signatures that can be unified into a single signature.
378
+ * See <https://biomejs.dev/linter/rules/use-unified-type-signatures>
379
+ */
380
+ useUnifiedTypeSignatures?: UseUnifiedTypeSignaturesConfiguration | null;
381
+ }
382
+ export type OrganizeImportsConfiguration = RuleAssistPlainConfiguration | RuleAssistWithOrganizeImportsOptions;
383
+ export type SeverityOrStyle = GroupPlainConfiguration | Style;
384
+ /**
385
+ * A list of rules that belong to this group
386
+ */
387
+ export interface Source {
388
+ /**
389
+ * Provides a code action to sort the imports and exports in the file using a built-in or custom order.
390
+ * See <https://biomejs.dev/assist/actions/organize-imports>
391
+ */
392
+ organizeImports?: OrganizeImportsConfiguration | null;
393
+ /**
394
+ * Enables the recommended rules for this group
395
+ */
396
+ recommended?: boolean | null;
397
+ /**
398
+ * Enforce attribute sorting in JSX elements.
399
+ * See <https://biomejs.dev/assist/actions/use-sorted-attributes>
400
+ */
401
+ useSortedAttributes?: UseSortedAttributesConfiguration | null;
402
+ /**
403
+ * Sort the keys of a JSON object in natural order.
404
+ * See <https://biomejs.dev/assist/actions/use-sorted-keys>
405
+ */
406
+ useSortedKeys?: UseSortedKeysConfiguration | null;
407
+ /**
408
+ * Enforce ordering of CSS properties and nested rules.
409
+ * See <https://biomejs.dev/assist/actions/use-sorted-properties>
410
+ */
411
+ useSortedProperties?: UseSortedPropertiesConfiguration | null;
412
+ }
413
+ export interface Rules {
414
+ a11y?: SeverityOrA11Y | null;
415
+ complexity?: SeverityOrComplexity | null;
416
+ correctness?: SeverityOrCorrectness | null;
417
+ nursery?: SeverityOrNursery | null;
418
+ performance?: SeverityOrPerformance | null;
419
+ /**
420
+ * It enables the lint rules recommended by Biome. `true` by default.
421
+ */
422
+ recommended?: boolean | null;
423
+ security?: SeverityOrSecurity | null;
424
+ style?: SeverityOrStyle | null;
425
+ suspicious?: SeverityOrSuspicious | null;
426
+ }
427
+ export interface Actions {
428
+ /**
429
+ * It enables the assist actions recommended by Biome. `true` by default.
430
+ */
431
+ recommended?: boolean | null;
432
+ source?: Source | null;
433
+ }
434
+ export interface LinterConfiguration {
435
+ /**
436
+ * An object where the keys are the names of the domains, and the values are `all`, `recommended`, or `none`.
437
+ */
438
+ domains?: RuleDomains | null;
439
+ /**
440
+ * if `false`, it disables the feature and the linter won't be executed. `true` by default
441
+ */
442
+ enabled?: Bool | null;
443
+ /**
444
+ * A list of glob patterns. The analyzer will handle only those files/folders that will
445
+ * match these patterns.
446
+ */
447
+ includes?: NormalizedGlob[] | null;
448
+ /**
449
+ * List of rules
450
+ */
451
+ rules?: Rules | null;
452
+ }
453
+ export interface OverrideLinterConfiguration {
454
+ /**
455
+ * List of rules
456
+ */
457
+ domains?: RuleDomains | null;
458
+ /**
459
+ * if `false`, it disables the feature and the linter won't be executed. `true` by default
460
+ */
461
+ enabled?: Bool | null;
462
+ /**
463
+ * List of rules
464
+ */
465
+ rules?: Rules | null;
466
+ }
467
+ export interface AssistConfiguration {
468
+ /**
469
+ * Whether Biome should fail in CLI if the assist were not applied to the code.
470
+ */
471
+ actions?: Actions | null;
472
+ /**
473
+ * Whether Biome should enable assist via LSP and CLI.
474
+ */
475
+ enabled?: Bool | null;
476
+ /**
477
+ * A list of glob patterns. Biome will include files/folders that will
478
+ * match these patterns.
479
+ */
480
+ includes?: NormalizedGlob[] | null;
481
+ }
482
+ export interface OverrideAssistConfiguration {
483
+ /**
484
+ * List of actions
485
+ */
486
+ actions?: Actions | null;
487
+ /**
488
+ * if `false`, it disables the feature and the assist won't be executed. `true` by default
489
+ */
490
+ enabled?: Bool | null;
491
+ }
492
+ export interface OverridePattern {
493
+ /**
494
+ * Specific configuration for the Json language
495
+ */
496
+ assist?: OverrideAssistConfiguration | null;
497
+ /**
498
+ * Specific configuration for the CSS language
499
+ */
500
+ css?: CssConfiguration | null;
501
+ /**
502
+ * Specific configuration for the filesystem
503
+ */
504
+ files?: OverrideFilesConfiguration | null;
505
+ /**
506
+ * Specific configuration for the Json language
507
+ */
508
+ formatter?: OverrideFormatterConfiguration | null;
509
+ /**
510
+ * Specific configuration for the Graphql language
511
+ */
512
+ graphql?: GraphqlConfiguration | null;
513
+ /**
514
+ * Specific configuration for the GritQL language
515
+ */
516
+ grit?: GritConfiguration | null;
517
+ /**
518
+ * Specific configuration for the GritQL language
519
+ */
520
+ html?: HtmlConfiguration | null;
521
+ /**
522
+ * A list of glob patterns. Biome will include files/folders that will
523
+ * match these patterns.
524
+ */
525
+ includes?: OverrideGlobs | null;
526
+ /**
527
+ * Specific configuration for the JavaScript language
528
+ */
529
+ javascript?: JsConfiguration | null;
530
+ /**
531
+ * Specific configuration for the Json language
532
+ */
533
+ json?: JsonConfiguration | null;
534
+ /**
535
+ * Specific configuration for the Json language
536
+ */
537
+ linter?: OverrideLinterConfiguration | null;
538
+ /**
539
+ * Specific configuration for additional plugins
540
+ */
541
+ plugins?: Plugins | null;
542
+ }
543
+ export type Overrides = OverridePattern[];
544
+ /**
545
+ * The configuration that is contained inside the file `biome.json`
546
+ */
547
+ export interface Configuration {
548
+ /**
549
+ * A field for the [JSON schema](https://json-schema.org/) specification
550
+ */
551
+ $schema?: Schema | null;
552
+ /**
553
+ * Specific configuration for assists
554
+ */
555
+ assist?: AssistConfiguration | null;
556
+ /**
557
+ * Specific configuration for the Css language
558
+ */
559
+ css?: CssConfiguration | null;
560
+ /**
561
+ * A list of paths to other JSON files, used to extends the current configuration.
562
+ */
563
+ extends?: Extends | null;
564
+ /**
565
+ * The configuration of the filesystem
566
+ */
567
+ files?: FilesConfiguration | null;
568
+ /**
569
+ * The configuration of the formatter
570
+ */
571
+ formatter?: FormatterConfiguration | null;
572
+ /**
573
+ * Specific configuration for the GraphQL language
574
+ */
575
+ graphql?: GraphqlConfiguration | null;
576
+ /**
577
+ * Specific configuration for the GraphQL language
578
+ */
579
+ grit?: GritConfiguration | null;
580
+ /**
581
+ * Specific configuration for the HTML language
582
+ */
583
+ html?: HtmlConfiguration | null;
584
+ /**
585
+ * Specific configuration for the JavaScript language
586
+ */
587
+ javascript?: JsConfiguration | null;
588
+ /**
589
+ * Specific configuration for the Json language
590
+ */
591
+ json?: JsonConfiguration | null;
592
+ /**
593
+ * The configuration for the linter
594
+ */
595
+ linter?: LinterConfiguration | null;
596
+ /**
597
+ * A list of granular patterns that should be applied only to a sub set of files
598
+ */
599
+ overrides?: Overrides | null;
600
+ /**
601
+ * List of plugins to load.
602
+ */
603
+ plugins?: Plugins | null;
604
+ /**
605
+ * Indicates whether this configuration file is at the root of a Biome
606
+ * project. By default, this is `true`.
607
+ */
608
+ root?: Bool | null;
609
+ /**
610
+ * The configuration of the VCS integration
611
+ */
612
+ vcs?: VcsConfiguration | null;
613
+ }
614
+ export type BiomeConfig = Configuration;