@biomejs/wasm-web 1.5.3 → 1.6.1

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.
package/biome_wasm.d.ts CHANGED
@@ -5,10 +5,10 @@
5
5
  export function main(): void;
6
6
  interface SupportsFeatureParams {
7
7
  feature: FeatureName[];
8
- path: RomePath;
8
+ path: BiomePath;
9
9
  }
10
10
  type FeatureName = "Format" | "Lint" | "OrganizeImports";
11
- interface RomePath {
11
+ interface BiomePath {
12
12
  path: string;
13
13
  }
14
14
  interface SupportsFeatureResult {
@@ -21,12 +21,12 @@ type SupportKind =
21
21
  | "FeatureNotEnabled"
22
22
  | "FileNotSupported";
23
23
  interface UpdateSettingsParams {
24
- configuration: Configuration;
24
+ configuration: PartialConfiguration;
25
25
  gitignore_matches: string[];
26
26
  vcs_base_path?: string;
27
27
  working_directory?: string;
28
28
  }
29
- interface Configuration {
29
+ interface PartialConfiguration {
30
30
  /**
31
31
  * A field for the [JSON schema](https://json-schema.org/) specification
32
32
  */
@@ -34,7 +34,7 @@ interface Configuration {
34
34
  /**
35
35
  * Specific configuration for the Css language
36
36
  */
37
- css?: CssConfiguration;
37
+ css?: PartialCssConfiguration;
38
38
  /**
39
39
  * A list of paths to other JSON files, used to extends the current configuration.
40
40
  */
@@ -42,27 +42,27 @@ interface Configuration {
42
42
  /**
43
43
  * The configuration of the filesystem
44
44
  */
45
- files?: FilesConfiguration;
45
+ files?: PartialFilesConfiguration;
46
46
  /**
47
47
  * The configuration of the formatter
48
48
  */
49
- formatter?: FormatterConfiguration;
49
+ formatter?: PartialFormatterConfiguration;
50
50
  /**
51
51
  * Specific configuration for the JavaScript language
52
52
  */
53
- javascript?: JavascriptConfiguration;
53
+ javascript?: PartialJavascriptConfiguration;
54
54
  /**
55
55
  * Specific configuration for the Json language
56
56
  */
57
- json?: JsonConfiguration;
57
+ json?: PartialJsonConfiguration;
58
58
  /**
59
59
  * The configuration for the linter
60
60
  */
61
- linter?: LinterConfiguration;
61
+ linter?: PartialLinterConfiguration;
62
62
  /**
63
63
  * The configuration of the import sorting
64
64
  */
65
- organizeImports?: OrganizeImports;
65
+ organizeImports?: PartialOrganizeImports;
66
66
  /**
67
67
  * A list of granular patterns that should be applied only to a sub set of files
68
68
  */
@@ -70,20 +70,20 @@ interface Configuration {
70
70
  /**
71
71
  * The configuration of the VCS integration
72
72
  */
73
- vcs?: VcsConfiguration;
73
+ vcs?: PartialVcsConfiguration;
74
74
  }
75
- interface CssConfiguration {
75
+ interface PartialCssConfiguration {
76
76
  /**
77
77
  * Formatting options
78
78
  */
79
- formatter?: CssFormatter;
79
+ formatter?: PartialCssFormatter;
80
80
  /**
81
81
  * Parsing options
82
82
  */
83
- parser?: CssParser;
83
+ parser?: PartialCssParser;
84
84
  }
85
85
  type StringSet = string[];
86
- interface FilesConfiguration {
86
+ interface PartialFilesConfiguration {
87
87
  /**
88
88
  * A list of Unix shell style patterns. Biome will ignore files/folders that will match these patterns.
89
89
  */
@@ -101,7 +101,11 @@ interface FilesConfiguration {
101
101
  */
102
102
  maxSize?: number;
103
103
  }
104
- interface FormatterConfiguration {
104
+ interface PartialFormatterConfiguration {
105
+ /**
106
+ * The attribute position style. By default auto.
107
+ */
108
+ attributePosition?: AttributePosition;
105
109
  enabled?: boolean;
106
110
  /**
107
111
  * Stores whether formatting should be allowed to proceed if a given file has syntax errors
@@ -136,34 +140,34 @@ interface FormatterConfiguration {
136
140
  */
137
141
  lineWidth?: LineWidth;
138
142
  }
139
- interface JavascriptConfiguration {
143
+ interface PartialJavascriptConfiguration {
140
144
  /**
141
145
  * Formatting options
142
146
  */
143
- formatter?: JavascriptFormatter;
147
+ formatter?: PartialJavascriptFormatter;
144
148
  /**
145
149
  * A list of global bindings that should be ignored by the analyzers
146
150
 
147
151
  If defined here, they should not emit diagnostics.
148
152
  */
149
153
  globals?: StringSet;
150
- organize_imports?: JavascriptOrganizeImports;
154
+ organize_imports?: PartialJavascriptOrganizeImports;
151
155
  /**
152
156
  * Parsing options
153
157
  */
154
- parser?: JavascriptParser;
158
+ parser?: PartialJavascriptParser;
155
159
  }
156
- interface JsonConfiguration {
160
+ interface PartialJsonConfiguration {
157
161
  /**
158
162
  * Formatting options
159
163
  */
160
- formatter?: JsonFormatter;
164
+ formatter?: PartialJsonFormatter;
161
165
  /**
162
166
  * Parsing options
163
167
  */
164
- parser?: JsonParser;
168
+ parser?: PartialJsonParser;
165
169
  }
166
- interface LinterConfiguration {
170
+ interface PartialLinterConfiguration {
167
171
  /**
168
172
  * if `false`, it disables the feature and the linter won't be executed. `true` by default
169
173
  */
@@ -181,7 +185,7 @@ interface LinterConfiguration {
181
185
  */
182
186
  rules?: Rules;
183
187
  }
184
- interface OrganizeImports {
188
+ interface PartialOrganizeImports {
185
189
  /**
186
190
  * Enables the organization of imports
187
191
  */
@@ -196,7 +200,7 @@ interface OrganizeImports {
196
200
  include?: StringSet;
197
201
  }
198
202
  type Overrides = OverridePattern[];
199
- interface VcsConfiguration {
203
+ interface PartialVcsConfiguration {
200
204
  /**
201
205
  * The kind of client.
202
206
  */
@@ -220,7 +224,7 @@ If Biome can't find the configuration, it will attempt to use the current workin
220
224
  */
221
225
  useIgnoreFile?: boolean;
222
226
  }
223
- interface CssFormatter {
227
+ interface PartialCssFormatter {
224
228
  /**
225
229
  * Control the formatter for CSS (and its super languages) files.
226
230
  */
@@ -247,20 +251,25 @@ interface CssFormatter {
247
251
  lineWidth?: LineWidth;
248
252
  quoteStyle?: QuoteStyle;
249
253
  }
250
- interface CssParser {
254
+ interface PartialCssParser {
251
255
  /**
252
256
  * Allow comments to appear on incorrect lines in `.css` files
253
257
  */
254
258
  allowWrongLineComments?: boolean;
255
259
  }
260
+ type AttributePosition = "auto" | "multiline";
256
261
  type PlainIndentStyle = "tab" | "space";
257
262
  type LineEnding = "lf" | "crlf" | "cr";
258
263
  type LineWidth = number;
259
- interface JavascriptFormatter {
264
+ interface PartialJavascriptFormatter {
260
265
  /**
261
266
  * Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
262
267
  */
263
268
  arrowParentheses?: ArrowParentheses;
269
+ /**
270
+ * The attribute position style in JavaScript code. Defaults to auto.
271
+ */
272
+ attributePosition?: AttributePosition;
264
273
  /**
265
274
  * Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line. Defaults to false.
266
275
  */
@@ -314,8 +323,8 @@ interface JavascriptFormatter {
314
323
  */
315
324
  trailingComma?: TrailingComma;
316
325
  }
317
- interface JavascriptOrganizeImports {}
318
- interface JavascriptParser {
326
+ interface PartialJavascriptOrganizeImports {}
327
+ interface PartialJavascriptParser {
319
328
  /**
320
329
  * It enables the experimental and unsafe parsing of parameter decorators
321
330
 
@@ -323,7 +332,7 @@ These decorators belong to an old proposal, and they are subject to change.
323
332
  */
324
333
  unsafeParameterDecoratorsEnabled?: boolean;
325
334
  }
326
- interface JsonFormatter {
335
+ interface PartialJsonFormatter {
327
336
  /**
328
337
  * Control the formatter for JSON (and its super languages) files.
329
338
  */
@@ -348,8 +357,12 @@ interface JsonFormatter {
348
357
  * What's the max width of a line applied to JSON (and its super languages) files. Defaults to 80.
349
358
  */
350
359
  lineWidth?: LineWidth;
360
+ /**
361
+ * Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to "none".
362
+ */
363
+ trailingCommas?: TrailingCommas;
351
364
  }
352
- interface JsonParser {
365
+ interface PartialJsonParser {
353
366
  /**
354
367
  * Allow parsing comments in `.json` files
355
368
  */
@@ -381,7 +394,7 @@ interface OverridePattern {
381
394
  /**
382
395
  * Specific configuration for the Css language
383
396
  */
384
- css?: CssConfiguration;
397
+ css?: PartialCssConfiguration;
385
398
  /**
386
399
  * Specific configuration for the Json language
387
400
  */
@@ -397,11 +410,11 @@ interface OverridePattern {
397
410
  /**
398
411
  * Specific configuration for the JavaScript language
399
412
  */
400
- javascript?: JavascriptConfiguration;
413
+ javascript?: PartialJavascriptConfiguration;
401
414
  /**
402
415
  * Specific configuration for the Json language
403
416
  */
404
- json?: JsonConfiguration;
417
+ json?: PartialJsonConfiguration;
405
418
  /**
406
419
  * Specific configuration for the Json language
407
420
  */
@@ -417,6 +430,7 @@ type ArrowParentheses = "always" | "asNeeded";
417
430
  type QuoteProperties = "asNeeded" | "preserve";
418
431
  type Semicolons = "always" | "asNeeded";
419
432
  type TrailingComma = "all" | "es5" | "none";
433
+ type TrailingCommas = "none" | "all";
420
434
  interface A11y {
421
435
  /**
422
436
  * It enables ALL rules for this group.
@@ -425,59 +439,59 @@ interface A11y {
425
439
  /**
426
440
  * Enforce that the accessKey attribute is not used on any HTML element.
427
441
  */
428
- noAccessKey?: RuleConfiguration;
442
+ noAccessKey?: RuleConfiguration_for_Null;
429
443
  /**
430
444
  * Enforce that aria-hidden="true" is not set on focusable elements.
431
445
  */
432
- noAriaHiddenOnFocusable?: RuleConfiguration;
446
+ noAriaHiddenOnFocusable?: RuleConfiguration_for_Null;
433
447
  /**
434
448
  * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
435
449
  */
436
- noAriaUnsupportedElements?: RuleConfiguration;
450
+ noAriaUnsupportedElements?: RuleConfiguration_for_Null;
437
451
  /**
438
452
  * Enforce that autoFocus prop is not used on elements.
439
453
  */
440
- noAutofocus?: RuleConfiguration;
454
+ noAutofocus?: RuleConfiguration_for_Null;
441
455
  /**
442
456
  * Disallow target="_blank" attribute without rel="noreferrer"
443
457
  */
444
- noBlankTarget?: RuleConfiguration;
458
+ noBlankTarget?: RuleConfiguration_for_Null;
445
459
  /**
446
460
  * Enforces that no distracting elements are used.
447
461
  */
448
- noDistractingElements?: RuleConfiguration;
462
+ noDistractingElements?: RuleConfiguration_for_Null;
449
463
  /**
450
464
  * The scope prop should be used only on <th> elements.
451
465
  */
452
- noHeaderScope?: RuleConfiguration;
466
+ noHeaderScope?: RuleConfiguration_for_Null;
453
467
  /**
454
468
  * Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.
455
469
  */
456
- noInteractiveElementToNoninteractiveRole?: RuleConfiguration;
470
+ noInteractiveElementToNoninteractiveRole?: RuleConfiguration_for_Null;
457
471
  /**
458
472
  * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.
459
473
  */
460
- noNoninteractiveElementToInteractiveRole?: RuleConfiguration;
474
+ noNoninteractiveElementToInteractiveRole?: RuleConfiguration_for_Null;
461
475
  /**
462
476
  * Enforce that tabIndex is not assigned to non-interactive HTML elements.
463
477
  */
464
- noNoninteractiveTabindex?: RuleConfiguration;
478
+ noNoninteractiveTabindex?: RuleConfiguration_for_Null;
465
479
  /**
466
480
  * Prevent the usage of positive integers on tabIndex property
467
481
  */
468
- noPositiveTabindex?: RuleConfiguration;
482
+ noPositiveTabindex?: RuleConfiguration_for_Null;
469
483
  /**
470
484
  * Enforce img alt prop does not contain the word "image", "picture", or "photo".
471
485
  */
472
- noRedundantAlt?: RuleConfiguration;
486
+ noRedundantAlt?: RuleConfiguration_for_Null;
473
487
  /**
474
488
  * Enforce explicit role property is not the same as implicit/default role property on an element.
475
489
  */
476
- noRedundantRoles?: RuleConfiguration;
490
+ noRedundantRoles?: RuleConfiguration_for_Null;
477
491
  /**
478
492
  * Enforces the usage of the title element for the svg element.
479
493
  */
480
- noSvgWithoutTitle?: RuleConfiguration;
494
+ noSvgWithoutTitle?: RuleConfiguration_for_Null;
481
495
  /**
482
496
  * It enables the recommended rules for this group
483
497
  */
@@ -485,67 +499,67 @@ interface A11y {
485
499
  /**
486
500
  * Enforce that all elements that require alternative text have meaningful information to relay back to the end user.
487
501
  */
488
- useAltText?: RuleConfiguration;
502
+ useAltText?: RuleConfiguration_for_Null;
489
503
  /**
490
504
  * Enforce that anchors have content and that the content is accessible to screen readers.
491
505
  */
492
- useAnchorContent?: RuleConfiguration;
506
+ useAnchorContent?: RuleConfiguration_for_Null;
493
507
  /**
494
508
  * Enforce that tabIndex is assigned to non-interactive HTML elements with aria-activedescendant.
495
509
  */
496
- useAriaActivedescendantWithTabindex?: RuleConfiguration;
510
+ useAriaActivedescendantWithTabindex?: RuleConfiguration_for_Null;
497
511
  /**
498
512
  * Enforce that elements with ARIA roles must have all required ARIA attributes for that role.
499
513
  */
500
- useAriaPropsForRole?: RuleConfiguration;
514
+ useAriaPropsForRole?: RuleConfiguration_for_Null;
501
515
  /**
502
516
  * Enforces the usage of the attribute type for the element button
503
517
  */
504
- useButtonType?: RuleConfiguration;
518
+ useButtonType?: RuleConfiguration_for_Null;
505
519
  /**
506
520
  * Enforce that heading elements (h1, h2, etc.) have content and that the content is accessible to screen readers. Accessible means that it is not hidden using the aria-hidden prop.
507
521
  */
508
- useHeadingContent?: RuleConfiguration;
522
+ useHeadingContent?: RuleConfiguration_for_Null;
509
523
  /**
510
524
  * Enforce that html element has lang attribute.
511
525
  */
512
- useHtmlLang?: RuleConfiguration;
526
+ useHtmlLang?: RuleConfiguration_for_Null;
513
527
  /**
514
528
  * Enforces the usage of the attribute title for the element iframe.
515
529
  */
516
- useIframeTitle?: RuleConfiguration;
530
+ useIframeTitle?: RuleConfiguration_for_Null;
517
531
  /**
518
532
  * Enforce onClick is accompanied by at least one of the following: onKeyUp, onKeyDown, onKeyPress.
519
533
  */
520
- useKeyWithClickEvents?: RuleConfiguration;
534
+ useKeyWithClickEvents?: RuleConfiguration_for_Null;
521
535
  /**
522
536
  * Enforce onMouseOver / onMouseOut are accompanied by onFocus / onBlur.
523
537
  */
524
- useKeyWithMouseEvents?: RuleConfiguration;
538
+ useKeyWithMouseEvents?: RuleConfiguration_for_Null;
525
539
  /**
526
540
  * Enforces that audio and video elements must have a track for captions.
527
541
  */
528
- useMediaCaption?: RuleConfiguration;
542
+ useMediaCaption?: RuleConfiguration_for_Null;
529
543
  /**
530
544
  * Enforce that all anchors are valid, and they are navigable elements.
531
545
  */
532
- useValidAnchor?: RuleConfiguration;
546
+ useValidAnchor?: RuleConfiguration_for_Null;
533
547
  /**
534
548
  * Ensures that ARIA properties aria-* are all valid.
535
549
  */
536
- useValidAriaProps?: RuleConfiguration;
550
+ useValidAriaProps?: RuleConfiguration_for_Null;
537
551
  /**
538
552
  * Elements with ARIA roles must use a valid, non-abstract ARIA role.
539
553
  */
540
- useValidAriaRole?: RuleConfiguration;
554
+ useValidAriaRole?: RuleConfiguration_for_ValidAriaRoleOptions;
541
555
  /**
542
556
  * Enforce that ARIA state and property values are valid.
543
557
  */
544
- useValidAriaValues?: RuleConfiguration;
558
+ useValidAriaValues?: RuleConfiguration_for_Null;
545
559
  /**
546
560
  * Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.
547
561
  */
548
- useValidLang?: RuleConfiguration;
562
+ useValidLang?: RuleConfiguration_for_Null;
549
563
  }
550
564
  interface Complexity {
551
565
  /**
@@ -555,75 +569,83 @@ interface Complexity {
555
569
  /**
556
570
  * Disallow primitive type aliases and misleading types.
557
571
  */
558
- noBannedTypes?: RuleConfiguration;
572
+ noBannedTypes?: RuleConfiguration_for_Null;
573
+ /**
574
+ * Disallow empty type parameters in type aliases and interfaces.
575
+ */
576
+ noEmptyTypeParameters?: RuleConfiguration_for_Null;
559
577
  /**
560
578
  * Disallow functions that exceed a given Cognitive Complexity score.
561
579
  */
562
- noExcessiveCognitiveComplexity?: RuleConfiguration;
580
+ noExcessiveCognitiveComplexity?: RuleConfiguration_for_ComplexityOptions;
563
581
  /**
564
582
  * Disallow unnecessary boolean casts
565
583
  */
566
- noExtraBooleanCast?: RuleConfiguration;
584
+ noExtraBooleanCast?: RuleConfiguration_for_Null;
567
585
  /**
568
586
  * Prefer for...of statement instead of Array.forEach.
569
587
  */
570
- noForEach?: RuleConfiguration;
588
+ noForEach?: RuleConfiguration_for_Null;
571
589
  /**
572
590
  * Disallow unclear usage of consecutive space characters in regular expression literals
573
591
  */
574
- noMultipleSpacesInRegularExpressionLiterals?: RuleConfiguration;
592
+ noMultipleSpacesInRegularExpressionLiterals?: RuleConfiguration_for_Null;
575
593
  /**
576
594
  * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.
577
595
  */
578
- noStaticOnlyClass?: RuleConfiguration;
596
+ noStaticOnlyClass?: RuleConfiguration_for_Null;
579
597
  /**
580
598
  * Disallow this and super in static contexts.
581
599
  */
582
- noThisInStatic?: RuleConfiguration;
600
+ noThisInStatic?: RuleConfiguration_for_Null;
583
601
  /**
584
602
  * Disallow unnecessary catch clauses.
585
603
  */
586
- noUselessCatch?: RuleConfiguration;
604
+ noUselessCatch?: RuleConfiguration_for_Null;
587
605
  /**
588
606
  * Disallow unnecessary constructors.
589
607
  */
590
- noUselessConstructor?: RuleConfiguration;
608
+ noUselessConstructor?: RuleConfiguration_for_Null;
591
609
  /**
592
610
  * Disallow empty exports that don't change anything in a module file.
593
611
  */
594
- noUselessEmptyExport?: RuleConfiguration;
612
+ noUselessEmptyExport?: RuleConfiguration_for_Null;
595
613
  /**
596
614
  * Disallow unnecessary fragments
597
615
  */
598
- noUselessFragments?: RuleConfiguration;
616
+ noUselessFragments?: RuleConfiguration_for_Null;
599
617
  /**
600
618
  * Disallow unnecessary labels.
601
619
  */
602
- noUselessLabel?: RuleConfiguration;
620
+ noUselessLabel?: RuleConfiguration_for_Null;
621
+ /**
622
+ * Disallow unnecessary nested block statements.
623
+ */
624
+ noUselessLoneBlockStatements?: RuleConfiguration_for_Null;
603
625
  /**
604
626
  * Disallow renaming import, export, and destructured assignments to the same name.
605
627
  */
606
- noUselessRename?: RuleConfiguration;
628
+ noUselessRename?: RuleConfiguration_for_Null;
607
629
  /**
608
630
  * Disallow useless case in switch statements.
609
631
  */
610
- noUselessSwitchCase?: RuleConfiguration;
632
+ noUselessSwitchCase?: RuleConfiguration_for_Null;
611
633
  /**
612
634
  * Disallow useless this aliasing.
613
635
  */
614
- noUselessThisAlias?: RuleConfiguration;
636
+ noUselessThisAlias?: RuleConfiguration_for_Null;
615
637
  /**
616
638
  * Disallow using any or unknown as type constraint.
617
639
  */
618
- noUselessTypeConstraint?: RuleConfiguration;
640
+ noUselessTypeConstraint?: RuleConfiguration_for_Null;
619
641
  /**
620
642
  * Disallow the use of void operators, which is not a familiar operator.
621
643
  */
622
- noVoid?: RuleConfiguration;
644
+ noVoid?: RuleConfiguration_for_Null;
623
645
  /**
624
646
  * Disallow with statements in non-strict contexts.
625
647
  */
626
- noWith?: RuleConfiguration;
648
+ noWith?: RuleConfiguration_for_Null;
627
649
  /**
628
650
  * It enables the recommended rules for this group
629
651
  */
@@ -631,31 +653,31 @@ interface Complexity {
631
653
  /**
632
654
  * Use arrow functions over function expressions.
633
655
  */
634
- useArrowFunction?: RuleConfiguration;
656
+ useArrowFunction?: RuleConfiguration_for_Null;
635
657
  /**
636
658
  * Promotes the use of .flatMap() when map().flat() are used together.
637
659
  */
638
- useFlatMap?: RuleConfiguration;
660
+ useFlatMap?: RuleConfiguration_for_Null;
639
661
  /**
640
662
  * Enforce the usage of a literal access to properties over computed property access.
641
663
  */
642
- useLiteralKeys?: RuleConfiguration;
664
+ useLiteralKeys?: RuleConfiguration_for_Null;
643
665
  /**
644
666
  * Enforce using concise optional chain instead of chained logical expressions.
645
667
  */
646
- useOptionalChain?: RuleConfiguration;
668
+ useOptionalChain?: RuleConfiguration_for_Null;
647
669
  /**
648
670
  * Enforce the use of the regular expression literals instead of the RegExp constructor if possible.
649
671
  */
650
- useRegexLiterals?: RuleConfiguration;
672
+ useRegexLiterals?: RuleConfiguration_for_Null;
651
673
  /**
652
674
  * Disallow number literal object member names which are not base10 or uses underscore as separator
653
675
  */
654
- useSimpleNumberKeys?: RuleConfiguration;
676
+ useSimpleNumberKeys?: RuleConfiguration_for_Null;
655
677
  /**
656
678
  * Discard redundant terms from logical expressions.
657
679
  */
658
- useSimplifiedLogicExpression?: RuleConfiguration;
680
+ useSimplifiedLogicExpression?: RuleConfiguration_for_Null;
659
681
  }
660
682
  interface Correctness {
661
683
  /**
@@ -665,115 +687,127 @@ interface Correctness {
665
687
  /**
666
688
  * Prevent passing of children as props.
667
689
  */
668
- noChildrenProp?: RuleConfiguration;
690
+ noChildrenProp?: RuleConfiguration_for_Null;
669
691
  /**
670
692
  * Prevents from having const variables being re-assigned.
671
693
  */
672
- noConstAssign?: RuleConfiguration;
694
+ noConstAssign?: RuleConfiguration_for_Null;
673
695
  /**
674
696
  * Disallow constant expressions in conditions
675
697
  */
676
- noConstantCondition?: RuleConfiguration;
698
+ noConstantCondition?: RuleConfiguration_for_Null;
677
699
  /**
678
700
  * Disallow returning a value from a constructor.
679
701
  */
680
- noConstructorReturn?: RuleConfiguration;
702
+ noConstructorReturn?: RuleConfiguration_for_Null;
681
703
  /**
682
704
  * Disallow empty character classes in regular expression literals.
683
705
  */
684
- noEmptyCharacterClassInRegex?: RuleConfiguration;
706
+ noEmptyCharacterClassInRegex?: RuleConfiguration_for_Null;
685
707
  /**
686
708
  * Disallows empty destructuring patterns.
687
709
  */
688
- noEmptyPattern?: RuleConfiguration;
710
+ noEmptyPattern?: RuleConfiguration_for_Null;
689
711
  /**
690
712
  * Disallow calling global object properties as functions
691
713
  */
692
- noGlobalObjectCalls?: RuleConfiguration;
714
+ noGlobalObjectCalls?: RuleConfiguration_for_Null;
693
715
  /**
694
716
  * Disallow function and var declarations that are accessible outside their block.
695
717
  */
696
- noInnerDeclarations?: RuleConfiguration;
718
+ noInnerDeclarations?: RuleConfiguration_for_Null;
697
719
  /**
698
720
  * Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.
699
721
  */
700
- noInvalidConstructorSuper?: RuleConfiguration;
722
+ noInvalidConstructorSuper?: RuleConfiguration_for_Null;
701
723
  /**
702
724
  * Disallow new operators with global non-constructor functions.
703
725
  */
704
- noInvalidNewBuiltin?: RuleConfiguration;
726
+ noInvalidNewBuiltin?: RuleConfiguration_for_Null;
727
+ /**
728
+ * Disallow the use of variables and function parameters before their declaration
729
+ */
730
+ noInvalidUseBeforeDeclaration?: RuleConfiguration_for_Null;
705
731
  /**
706
732
  * Disallow new operators with the Symbol object.
707
733
  */
708
- noNewSymbol?: RuleConfiguration;
734
+ noNewSymbol?: RuleConfiguration_for_Null;
709
735
  /**
710
736
  * Disallow \8 and \9 escape sequences in string literals.
711
737
  */
712
- noNonoctalDecimalEscape?: RuleConfiguration;
738
+ noNonoctalDecimalEscape?: RuleConfiguration_for_Null;
713
739
  /**
714
740
  * Disallow literal numbers that lose precision
715
741
  */
716
- noPrecisionLoss?: RuleConfiguration;
742
+ noPrecisionLoss?: RuleConfiguration_for_Null;
717
743
  /**
718
744
  * Prevent the usage of the return value of React.render.
719
745
  */
720
- noRenderReturnValue?: RuleConfiguration;
746
+ noRenderReturnValue?: RuleConfiguration_for_Null;
721
747
  /**
722
748
  * Disallow assignments where both sides are exactly the same.
723
749
  */
724
- noSelfAssign?: RuleConfiguration;
750
+ noSelfAssign?: RuleConfiguration_for_Null;
725
751
  /**
726
752
  * Disallow returning a value from a setter
727
753
  */
728
- noSetterReturn?: RuleConfiguration;
754
+ noSetterReturn?: RuleConfiguration_for_Null;
729
755
  /**
730
756
  * Disallow comparison of expressions modifying the string case with non-compliant value.
731
757
  */
732
- noStringCaseMismatch?: RuleConfiguration;
758
+ noStringCaseMismatch?: RuleConfiguration_for_Null;
733
759
  /**
734
760
  * Disallow lexical declarations in switch clauses.
735
761
  */
736
- noSwitchDeclarations?: RuleConfiguration;
762
+ noSwitchDeclarations?: RuleConfiguration_for_Null;
737
763
  /**
738
764
  * Prevents the usage of variables that haven't been declared inside the document.
739
765
  */
740
- noUndeclaredVariables?: RuleConfiguration;
766
+ noUndeclaredVariables?: RuleConfiguration_for_Null;
741
767
  /**
742
768
  * Avoid using unnecessary continue.
743
769
  */
744
- noUnnecessaryContinue?: RuleConfiguration;
770
+ noUnnecessaryContinue?: RuleConfiguration_for_Null;
745
771
  /**
746
772
  * Disallow unreachable code
747
773
  */
748
- noUnreachable?: RuleConfiguration;
774
+ noUnreachable?: RuleConfiguration_for_Null;
749
775
  /**
750
776
  * 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
751
777
  */
752
- noUnreachableSuper?: RuleConfiguration;
778
+ noUnreachableSuper?: RuleConfiguration_for_Null;
753
779
  /**
754
780
  * Disallow control flow statements in finally blocks.
755
781
  */
756
- noUnsafeFinally?: RuleConfiguration;
782
+ noUnsafeFinally?: RuleConfiguration_for_Null;
757
783
  /**
758
784
  * Disallow the use of optional chaining in contexts where the undefined value is not allowed.
759
785
  */
760
- noUnsafeOptionalChaining?: RuleConfiguration;
786
+ noUnsafeOptionalChaining?: RuleConfiguration_for_Null;
787
+ /**
788
+ * Disallow unused imports.
789
+ */
790
+ noUnusedImports?: RuleConfiguration_for_Null;
761
791
  /**
762
792
  * Disallow unused labels.
763
793
  */
764
- noUnusedLabels?: RuleConfiguration;
794
+ noUnusedLabels?: RuleConfiguration_for_Null;
795
+ /**
796
+ * Disallow unused private class members
797
+ */
798
+ noUnusedPrivateClassMembers?: RuleConfiguration_for_Null;
765
799
  /**
766
800
  * Disallow unused variables.
767
801
  */
768
- noUnusedVariables?: RuleConfiguration;
802
+ noUnusedVariables?: RuleConfiguration_for_Null;
769
803
  /**
770
804
  * This rules prevents void elements (AKA self-closing elements) from having children.
771
805
  */
772
- noVoidElementsWithChildren?: RuleConfiguration;
806
+ noVoidElementsWithChildren?: RuleConfiguration_for_Null;
773
807
  /**
774
808
  * Disallow returning a value from a function with the return type 'void'
775
809
  */
776
- noVoidTypeReturn?: RuleConfiguration;
810
+ noVoidTypeReturn?: RuleConfiguration_for_Null;
777
811
  /**
778
812
  * It enables the recommended rules for this group
779
813
  */
@@ -781,23 +815,23 @@ interface Correctness {
781
815
  /**
782
816
  * Enforce all dependencies are correctly specified in a React hook.
783
817
  */
784
- useExhaustiveDependencies?: RuleConfiguration;
818
+ useExhaustiveDependencies?: RuleConfiguration_for_HooksOptions;
785
819
  /**
786
820
  * Enforce that all React hooks are being called from the Top Level component functions.
787
821
  */
788
- useHookAtTopLevel?: RuleConfiguration;
822
+ useHookAtTopLevel?: RuleConfiguration_for_DeprecatedHooksOptions;
789
823
  /**
790
824
  * Require calls to isNaN() when checking for NaN.
791
825
  */
792
- useIsNan?: RuleConfiguration;
826
+ useIsNan?: RuleConfiguration_for_Null;
793
827
  /**
794
828
  * Enforce "for" loop update clause moving the counter in the right direction.
795
829
  */
796
- useValidForDirection?: RuleConfiguration;
830
+ useValidForDirection?: RuleConfiguration_for_Null;
797
831
  /**
798
832
  * Require generator functions to contain yield.
799
833
  */
800
- useYield?: RuleConfiguration;
834
+ useYield?: RuleConfiguration_for_Null;
801
835
  }
802
836
  interface Nursery {
803
837
  /**
@@ -805,105 +839,89 @@ interface Nursery {
805
839
  */
806
840
  all?: boolean;
807
841
  /**
808
- * Disallow two keys with the same name inside a JSON object.
842
+ * Disallow the use of barrel file.
809
843
  */
810
- noDuplicateJsonKeys?: RuleConfiguration;
844
+ noBarrelFile?: RuleConfiguration_for_Null;
811
845
  /**
812
- * Disallow empty block statements and static blocks.
846
+ * Disallow the use of console.
813
847
  */
814
- noEmptyBlockStatements?: RuleConfiguration;
848
+ noConsole?: RuleConfiguration_for_Null;
815
849
  /**
816
- * Disallow empty type parameters in type aliases and interfaces.
817
- */
818
- noEmptyTypeParameters?: RuleConfiguration;
819
- /**
820
- * Disallow assignments to native objects and read-only global variables.
850
+ * Disallow using a callback in asynchronous tests and hooks.
821
851
  */
822
- noGlobalAssign?: RuleConfiguration;
852
+ noDoneCallback?: RuleConfiguration_for_Null;
823
853
  /**
824
- * Disallow the use of global eval().
825
- */
826
- noGlobalEval?: RuleConfiguration;
827
- /**
828
- * Disallow the use of variables and function parameters before their declaration
854
+ * Disallow two keys with the same name inside a JSON object.
829
855
  */
830
- noInvalidUseBeforeDeclaration?: RuleConfiguration;
856
+ noDuplicateJsonKeys?: RuleConfiguration_for_Null;
831
857
  /**
832
- * Disallow characters made with multiple code points in character class syntax.
858
+ * A describe block should not contain duplicate hooks.
833
859
  */
834
- noMisleadingCharacterClass?: RuleConfiguration;
860
+ noDuplicateTestHooks?: RuleConfiguration_for_Null;
835
861
  /**
836
- * Forbid the use of Node.js builtin modules.
862
+ * This rule enforces a maximum depth to nested describe() in test files.
837
863
  */
838
- noNodejsModules?: RuleConfiguration;
864
+ noExcessiveNestedTestSuites?: RuleConfiguration_for_Null;
839
865
  /**
840
- * Disallow then property.
866
+ * Disallow using export or module.exports in files containing tests
841
867
  */
842
- noThenProperty?: RuleConfiguration;
868
+ noExportsInTest?: RuleConfiguration_for_Null;
843
869
  /**
844
- * Disallow unused imports.
870
+ * Disallow focused tests.
845
871
  */
846
- noUnusedImports?: RuleConfiguration;
872
+ noFocusedTests?: RuleConfiguration_for_Null;
847
873
  /**
848
- * Disallow unused private class members
874
+ * Disallow the use of namespace imports.
849
875
  */
850
- noUnusedPrivateClassMembers?: RuleConfiguration;
876
+ noNamespaceImport?: RuleConfiguration_for_Null;
851
877
  /**
852
- * Disallow unnecessary nested block statements.
878
+ * Forbid the use of Node.js builtin modules.
853
879
  */
854
- noUselessLoneBlockStatements?: RuleConfiguration;
880
+ noNodejsModules?: RuleConfiguration_for_Null;
855
881
  /**
856
- * Disallow ternary operators when simpler alternatives exist.
882
+ * Avoid re-export all.
857
883
  */
858
- noUselessTernary?: RuleConfiguration;
884
+ noReExportAll?: RuleConfiguration_for_Null;
859
885
  /**
860
- * It enables the recommended rules for this group
886
+ * Disallow specified modules when loaded by import or require.
861
887
  */
862
- recommended?: boolean;
888
+ noRestrictedImports?: RuleConfiguration_for_RestrictedImportsOptions;
863
889
  /**
864
- * Ensure async functions utilize await.
890
+ * It detects possible "wrong" semicolons inside JSX elements.
865
891
  */
866
- useAwait?: RuleConfiguration;
892
+ noSemicolonInJsx?: RuleConfiguration_for_Null;
867
893
  /**
868
- * Require consistently using either T[] or Array<T>
894
+ * Disallow disabled tests.
869
895
  */
870
- useConsistentArrayType?: RuleConfiguration;
896
+ noSkippedTests?: RuleConfiguration_for_Null;
871
897
  /**
872
- * Promotes the use of export type for types.
898
+ * Disallow the use of dependencies that aren't specified in the package.json.
873
899
  */
874
- useExportType?: RuleConfiguration;
900
+ noUndeclaredDependencies?: RuleConfiguration_for_Null;
875
901
  /**
876
- * Enforce naming conventions for JavaScript and TypeScript filenames.
877
- */
878
- useFilenamingConvention?: RuleConfiguration;
879
- /**
880
- * This rule recommends a for-of loop when in a for loop, the index used to extract an item from the iterated array.
902
+ * Disallow ternary operators when simpler alternatives exist.
881
903
  */
882
- useForOf?: RuleConfiguration;
904
+ noUselessTernary?: RuleConfiguration_for_Null;
883
905
  /**
884
- * Enforce the use of import type when an import only has specifiers with type qualifier.
906
+ * It enables the recommended rules for this group
885
907
  */
886
- useGroupedTypeImport?: RuleConfiguration;
908
+ recommended?: boolean;
887
909
  /**
888
910
  * Disallows package private imports.
889
911
  */
890
- useImportRestrictions?: RuleConfiguration;
912
+ useImportRestrictions?: RuleConfiguration_for_Null;
891
913
  /**
892
- * Promotes the use of import type for types.
893
- */
894
- useImportType?: RuleConfiguration;
895
- /**
896
- * Enforces using the node: protocol for Node.js builtin modules.
914
+ * Disallow missing key props in iterators/collection literals.
897
915
  */
898
- useNodejsImportProtocol?: RuleConfiguration;
916
+ useJsxKeyInIterable?: RuleConfiguration_for_Null;
899
917
  /**
900
- * Use the Number properties instead of global ones.
918
+ * Promotes the usage of node:assert/strict over node:assert.
901
919
  */
902
- useNumberNamespace?: RuleConfiguration;
920
+ useNodeAssertStrict?: RuleConfiguration_for_Null;
903
921
  /**
904
- * Enforce using function types instead of object type with call signatures.
922
+ * Enforce the sorting of CSS utility classes.
905
923
  */
906
- useShorthandFunctionType?: RuleConfiguration;
924
+ useSortedClasses?: RuleConfiguration_for_UtilityClassSortingOptions;
907
925
  }
908
926
  interface Performance {
909
927
  /**
@@ -913,11 +931,11 @@ interface Performance {
913
931
  /**
914
932
  * Disallow the use of spread (...) syntax on accumulators.
915
933
  */
916
- noAccumulatingSpread?: RuleConfiguration;
934
+ noAccumulatingSpread?: RuleConfiguration_for_Null;
917
935
  /**
918
936
  * Disallow the use of the delete operator.
919
937
  */
920
- noDelete?: RuleConfiguration;
938
+ noDelete?: RuleConfiguration_for_Null;
921
939
  /**
922
940
  * It enables the recommended rules for this group
923
941
  */
@@ -931,11 +949,15 @@ interface Security {
931
949
  /**
932
950
  * Prevent the usage of dangerous JSX props
933
951
  */
934
- noDangerouslySetInnerHtml?: RuleConfiguration;
952
+ noDangerouslySetInnerHtml?: RuleConfiguration_for_Null;
935
953
  /**
936
954
  * Report when a DOM element or a component uses both children and dangerouslySetInnerHTML prop.
937
955
  */
938
- noDangerouslySetInnerHtmlWithChildren?: RuleConfiguration;
956
+ noDangerouslySetInnerHtmlWithChildren?: RuleConfiguration_for_Null;
957
+ /**
958
+ * Disallow the use of global eval().
959
+ */
960
+ noGlobalEval?: RuleConfiguration_for_Null;
939
961
  /**
940
962
  * It enables the recommended rules for this group
941
963
  */
@@ -949,63 +971,63 @@ interface Style {
949
971
  /**
950
972
  * Disallow the use of arguments.
951
973
  */
952
- noArguments?: RuleConfiguration;
974
+ noArguments?: RuleConfiguration_for_Null;
953
975
  /**
954
976
  * Disallow comma operator.
955
977
  */
956
- noCommaOperator?: RuleConfiguration;
978
+ noCommaOperator?: RuleConfiguration_for_Null;
957
979
  /**
958
980
  * Disallow default exports.
959
981
  */
960
- noDefaultExport?: RuleConfiguration;
982
+ noDefaultExport?: RuleConfiguration_for_Null;
961
983
  /**
962
984
  * Disallow implicit true values on JSX boolean attributes
963
985
  */
964
- noImplicitBoolean?: RuleConfiguration;
986
+ noImplicitBoolean?: RuleConfiguration_for_Null;
965
987
  /**
966
988
  * Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.
967
989
  */
968
- noInferrableTypes?: RuleConfiguration;
990
+ noInferrableTypes?: RuleConfiguration_for_Null;
969
991
  /**
970
992
  * Disallow the use of TypeScript's namespaces.
971
993
  */
972
- noNamespace?: RuleConfiguration;
994
+ noNamespace?: RuleConfiguration_for_Null;
973
995
  /**
974
996
  * Disallow negation in the condition of an if statement if it has an else clause.
975
997
  */
976
- noNegationElse?: RuleConfiguration;
998
+ noNegationElse?: RuleConfiguration_for_Null;
977
999
  /**
978
1000
  * Disallow non-null assertions using the ! postfix operator.
979
1001
  */
980
- noNonNullAssertion?: RuleConfiguration;
1002
+ noNonNullAssertion?: RuleConfiguration_for_Null;
981
1003
  /**
982
1004
  * Disallow reassigning function parameters.
983
1005
  */
984
- noParameterAssign?: RuleConfiguration;
1006
+ noParameterAssign?: RuleConfiguration_for_Null;
985
1007
  /**
986
1008
  * Disallow the use of parameter properties in class constructors.
987
1009
  */
988
- noParameterProperties?: RuleConfiguration;
1010
+ noParameterProperties?: RuleConfiguration_for_Null;
989
1011
  /**
990
1012
  * This rule allows you to specify global variable names that you don’t want to use in your application.
991
1013
  */
992
- noRestrictedGlobals?: RuleConfiguration;
1014
+ noRestrictedGlobals?: RuleConfiguration_for_RestrictedGlobalsOptions;
993
1015
  /**
994
1016
  * Disallow the use of constants which its value is the upper-case version of its name.
995
1017
  */
996
- noShoutyConstants?: RuleConfiguration;
1018
+ noShoutyConstants?: RuleConfiguration_for_Null;
997
1019
  /**
998
1020
  * Disallow template literals if interpolation and special-character handling are not needed
999
1021
  */
1000
- noUnusedTemplateLiteral?: RuleConfiguration;
1022
+ noUnusedTemplateLiteral?: RuleConfiguration_for_Null;
1001
1023
  /**
1002
1024
  * Disallow else block when the if block breaks early.
1003
1025
  */
1004
- noUselessElse?: RuleConfiguration;
1026
+ noUselessElse?: RuleConfiguration_for_Null;
1005
1027
  /**
1006
1028
  * Disallow the use of var
1007
1029
  */
1008
- noVar?: RuleConfiguration;
1030
+ noVar?: RuleConfiguration_for_Null;
1009
1031
  /**
1010
1032
  * It enables the recommended rules for this group
1011
1033
  */
@@ -1013,75 +1035,107 @@ interface Style {
1013
1035
  /**
1014
1036
  * Enforce the use of as const over literal type and type annotation.
1015
1037
  */
1016
- useAsConstAssertion?: RuleConfiguration;
1038
+ useAsConstAssertion?: RuleConfiguration_for_Null;
1017
1039
  /**
1018
1040
  * Requires following curly brace conventions.
1019
1041
  */
1020
- useBlockStatements?: RuleConfiguration;
1042
+ useBlockStatements?: RuleConfiguration_for_Null;
1021
1043
  /**
1022
1044
  * Enforce using else if instead of nested if in else clauses.
1023
1045
  */
1024
- useCollapsedElseIf?: RuleConfiguration;
1046
+ useCollapsedElseIf?: RuleConfiguration_for_Null;
1047
+ /**
1048
+ * Require consistently using either T[] or Array<T>
1049
+ */
1050
+ useConsistentArrayType?: RuleConfiguration_for_ConsistentArrayTypeOptions;
1025
1051
  /**
1026
1052
  * Require const declarations for variables that are never reassigned after declared.
1027
1053
  */
1028
- useConst?: RuleConfiguration;
1054
+ useConst?: RuleConfiguration_for_Null;
1029
1055
  /**
1030
1056
  * Enforce default function parameters and optional function parameters to be last.
1031
1057
  */
1032
- useDefaultParameterLast?: RuleConfiguration;
1058
+ useDefaultParameterLast?: RuleConfiguration_for_Null;
1033
1059
  /**
1034
1060
  * Require that each enum member value be explicitly initialized.
1035
1061
  */
1036
- useEnumInitializers?: RuleConfiguration;
1062
+ useEnumInitializers?: RuleConfiguration_for_Null;
1037
1063
  /**
1038
1064
  * Disallow the use of Math.pow in favor of the ** operator.
1039
1065
  */
1040
- useExponentiationOperator?: RuleConfiguration;
1066
+ useExponentiationOperator?: RuleConfiguration_for_Null;
1067
+ /**
1068
+ * Promotes the use of export type for types.
1069
+ */
1070
+ useExportType?: RuleConfiguration_for_Null;
1071
+ /**
1072
+ * Enforce naming conventions for JavaScript and TypeScript filenames.
1073
+ */
1074
+ useFilenamingConvention?: RuleConfiguration_for_FilenamingConventionOptions;
1075
+ /**
1076
+ * This rule recommends a for-of loop when in a for loop, the index used to extract an item from the iterated array.
1077
+ */
1078
+ useForOf?: RuleConfiguration_for_Null;
1041
1079
  /**
1042
1080
  * This rule enforces the use of <>...</> over <Fragment>...</Fragment>.
1043
1081
  */
1044
- useFragmentSyntax?: RuleConfiguration;
1082
+ useFragmentSyntax?: RuleConfiguration_for_Null;
1083
+ /**
1084
+ * Promotes the use of import type for types.
1085
+ */
1086
+ useImportType?: RuleConfiguration_for_Null;
1045
1087
  /**
1046
1088
  * Require all enum members to be literal values.
1047
1089
  */
1048
- useLiteralEnumMembers?: RuleConfiguration;
1090
+ useLiteralEnumMembers?: RuleConfiguration_for_Null;
1049
1091
  /**
1050
1092
  * Enforce naming conventions for everything across a codebase.
1051
1093
  */
1052
- useNamingConvention?: RuleConfiguration;
1094
+ useNamingConvention?: RuleConfiguration_for_NamingConventionOptions;
1095
+ /**
1096
+ * Enforces using the node: protocol for Node.js builtin modules.
1097
+ */
1098
+ useNodejsImportProtocol?: RuleConfiguration_for_Null;
1099
+ /**
1100
+ * Use the Number properties instead of global ones.
1101
+ */
1102
+ useNumberNamespace?: RuleConfiguration_for_Null;
1053
1103
  /**
1054
1104
  * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
1055
1105
  */
1056
- useNumericLiterals?: RuleConfiguration;
1106
+ useNumericLiterals?: RuleConfiguration_for_Null;
1057
1107
  /**
1058
1108
  * Prevent extra closing tags for components without children
1059
1109
  */
1060
- useSelfClosingElements?: RuleConfiguration;
1110
+ useSelfClosingElements?: RuleConfiguration_for_Null;
1061
1111
  /**
1062
1112
  * When expressing array types, this rule promotes the usage of T[] shorthand instead of Array<T>.
1063
1113
  */
1064
- useShorthandArrayType?: RuleConfiguration;
1114
+ useShorthandArrayType?: RuleConfiguration_for_Null;
1065
1115
  /**
1066
1116
  * Require assignment operator shorthand where possible.
1067
1117
  */
1068
- useShorthandAssign?: RuleConfiguration;
1118
+ useShorthandAssign?: RuleConfiguration_for_Null;
1119
+ /**
1120
+ * Enforce using function types instead of object type with call signatures.
1121
+ */
1122
+ useShorthandFunctionType?: RuleConfiguration_for_Null;
1069
1123
  /**
1070
1124
  * Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.
1071
1125
  */
1072
- useSingleCaseStatement?: RuleConfiguration;
1126
+ useSingleCaseStatement?: RuleConfiguration_for_Null;
1073
1127
  /**
1074
1128
  * Disallow multiple variable declarations in the same variable statement
1075
1129
  */
1076
- useSingleVarDeclarator?: RuleConfiguration;
1130
+ useSingleVarDeclarator?: RuleConfiguration_for_Null;
1077
1131
  /**
1078
1132
  * Prefer template literals over string concatenation.
1079
1133
  */
1080
- useTemplate?: RuleConfiguration;
1134
+ useTemplate?: RuleConfiguration_for_Null;
1081
1135
  /**
1082
1136
  * Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.
1083
1137
  */
1084
- useWhile?: RuleConfiguration;
1138
+ useWhile?: RuleConfiguration_for_Null;
1085
1139
  }
1086
1140
  interface Suspicious {
1087
1141
  /**
@@ -1089,191 +1143,215 @@ interface Suspicious {
1089
1143
  */
1090
1144
  all?: boolean;
1091
1145
  /**
1092
- * Usually, the definition in the standard library is more precise than what people come up with or the used constant exceeds the maximum precision of the number type.
1146
+ * Use standard constants instead of approximated literals.
1093
1147
  */
1094
- noApproximativeNumericConstant?: RuleConfiguration;
1148
+ noApproximativeNumericConstant?: RuleConfiguration_for_Null;
1095
1149
  /**
1096
1150
  * Discourage the usage of Array index in keys.
1097
1151
  */
1098
- noArrayIndexKey?: RuleConfiguration;
1152
+ noArrayIndexKey?: RuleConfiguration_for_Null;
1099
1153
  /**
1100
1154
  * Disallow assignments in expressions.
1101
1155
  */
1102
- noAssignInExpressions?: RuleConfiguration;
1156
+ noAssignInExpressions?: RuleConfiguration_for_Null;
1103
1157
  /**
1104
1158
  * Disallows using an async function as a Promise executor.
1105
1159
  */
1106
- noAsyncPromiseExecutor?: RuleConfiguration;
1160
+ noAsyncPromiseExecutor?: RuleConfiguration_for_Null;
1107
1161
  /**
1108
1162
  * Disallow reassigning exceptions in catch clauses.
1109
1163
  */
1110
- noCatchAssign?: RuleConfiguration;
1164
+ noCatchAssign?: RuleConfiguration_for_Null;
1111
1165
  /**
1112
1166
  * Disallow reassigning class members.
1113
1167
  */
1114
- noClassAssign?: RuleConfiguration;
1168
+ noClassAssign?: RuleConfiguration_for_Null;
1115
1169
  /**
1116
1170
  * Prevent comments from being inserted as text nodes
1117
1171
  */
1118
- noCommentText?: RuleConfiguration;
1172
+ noCommentText?: RuleConfiguration_for_Null;
1119
1173
  /**
1120
1174
  * Disallow comparing against -0
1121
1175
  */
1122
- noCompareNegZero?: RuleConfiguration;
1176
+ noCompareNegZero?: RuleConfiguration_for_Null;
1123
1177
  /**
1124
1178
  * Disallow labeled statements that are not loops.
1125
1179
  */
1126
- noConfusingLabels?: RuleConfiguration;
1180
+ noConfusingLabels?: RuleConfiguration_for_Null;
1127
1181
  /**
1128
1182
  * Disallow void type outside of generic or return types.
1129
1183
  */
1130
- noConfusingVoidType?: RuleConfiguration;
1184
+ noConfusingVoidType?: RuleConfiguration_for_Null;
1131
1185
  /**
1132
1186
  * Disallow the use of console.log
1133
1187
  */
1134
- noConsoleLog?: RuleConfiguration;
1188
+ noConsoleLog?: RuleConfiguration_for_Null;
1135
1189
  /**
1136
1190
  * Disallow TypeScript const enum
1137
1191
  */
1138
- noConstEnum?: RuleConfiguration;
1192
+ noConstEnum?: RuleConfiguration_for_Null;
1139
1193
  /**
1140
1194
  * Prevents from having control characters and some escape sequences that match control characters in regular expressions.
1141
1195
  */
1142
- noControlCharactersInRegex?: RuleConfiguration;
1196
+ noControlCharactersInRegex?: RuleConfiguration_for_Null;
1143
1197
  /**
1144
1198
  * Disallow the use of debugger
1145
1199
  */
1146
- noDebugger?: RuleConfiguration;
1200
+ noDebugger?: RuleConfiguration_for_Null;
1147
1201
  /**
1148
1202
  * Require the use of === and !==
1149
1203
  */
1150
- noDoubleEquals?: RuleConfiguration;
1204
+ noDoubleEquals?: RuleConfiguration_for_Null;
1151
1205
  /**
1152
1206
  * Disallow duplicate case labels.
1153
1207
  */
1154
- noDuplicateCase?: RuleConfiguration;
1208
+ noDuplicateCase?: RuleConfiguration_for_Null;
1155
1209
  /**
1156
1210
  * Disallow duplicate class members.
1157
1211
  */
1158
- noDuplicateClassMembers?: RuleConfiguration;
1212
+ noDuplicateClassMembers?: RuleConfiguration_for_Null;
1159
1213
  /**
1160
1214
  * Prevents JSX properties to be assigned multiple times.
1161
1215
  */
1162
- noDuplicateJsxProps?: RuleConfiguration;
1216
+ noDuplicateJsxProps?: RuleConfiguration_for_Null;
1163
1217
  /**
1164
1218
  * Prevents object literals having more than one property declaration for the same name.
1165
1219
  */
1166
- noDuplicateObjectKeys?: RuleConfiguration;
1220
+ noDuplicateObjectKeys?: RuleConfiguration_for_Null;
1167
1221
  /**
1168
1222
  * Disallow duplicate function parameter name.
1169
1223
  */
1170
- noDuplicateParameters?: RuleConfiguration;
1224
+ noDuplicateParameters?: RuleConfiguration_for_Null;
1225
+ /**
1226
+ * Disallow empty block statements and static blocks.
1227
+ */
1228
+ noEmptyBlockStatements?: RuleConfiguration_for_Null;
1171
1229
  /**
1172
1230
  * Disallow the declaration of empty interfaces.
1173
1231
  */
1174
- noEmptyInterface?: RuleConfiguration;
1232
+ noEmptyInterface?: RuleConfiguration_for_Null;
1175
1233
  /**
1176
1234
  * Disallow the any type usage.
1177
1235
  */
1178
- noExplicitAny?: RuleConfiguration;
1236
+ noExplicitAny?: RuleConfiguration_for_Null;
1179
1237
  /**
1180
1238
  * Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.
1181
1239
  */
1182
- noExtraNonNullAssertion?: RuleConfiguration;
1240
+ noExtraNonNullAssertion?: RuleConfiguration_for_Null;
1183
1241
  /**
1184
1242
  * Disallow fallthrough of switch clauses.
1185
1243
  */
1186
- noFallthroughSwitchClause?: RuleConfiguration;
1244
+ noFallthroughSwitchClause?: RuleConfiguration_for_Null;
1187
1245
  /**
1188
1246
  * Disallow reassigning function declarations.
1189
1247
  */
1190
- noFunctionAssign?: RuleConfiguration;
1248
+ noFunctionAssign?: RuleConfiguration_for_Null;
1249
+ /**
1250
+ * Disallow assignments to native objects and read-only global variables.
1251
+ */
1252
+ noGlobalAssign?: RuleConfiguration_for_Null;
1191
1253
  /**
1192
1254
  * Use Number.isFinite instead of global isFinite.
1193
1255
  */
1194
- noGlobalIsFinite?: RuleConfiguration;
1256
+ noGlobalIsFinite?: RuleConfiguration_for_Null;
1195
1257
  /**
1196
1258
  * Use Number.isNaN instead of global isNaN.
1197
1259
  */
1198
- noGlobalIsNan?: RuleConfiguration;
1260
+ noGlobalIsNan?: RuleConfiguration_for_Null;
1199
1261
  /**
1200
1262
  * Disallow use of implicit any type on variable declarations.
1201
1263
  */
1202
- noImplicitAnyLet?: RuleConfiguration;
1264
+ noImplicitAnyLet?: RuleConfiguration_for_Null;
1203
1265
  /**
1204
1266
  * Disallow assigning to imported bindings
1205
1267
  */
1206
- noImportAssign?: RuleConfiguration;
1268
+ noImportAssign?: RuleConfiguration_for_Null;
1207
1269
  /**
1208
1270
  * Disallow labels that share a name with a variable
1209
1271
  */
1210
- noLabelVar?: RuleConfiguration;
1272
+ noLabelVar?: RuleConfiguration_for_Null;
1273
+ /**
1274
+ * Disallow characters made with multiple code points in character class syntax.
1275
+ */
1276
+ noMisleadingCharacterClass?: RuleConfiguration_for_Null;
1211
1277
  /**
1212
1278
  * Enforce proper usage of new and constructor.
1213
1279
  */
1214
- noMisleadingInstantiator?: RuleConfiguration;
1280
+ noMisleadingInstantiator?: RuleConfiguration_for_Null;
1215
1281
  /**
1216
1282
  * Disallow shorthand assign when variable appears on both sides.
1217
1283
  */
1218
- noMisrefactoredShorthandAssign?: RuleConfiguration;
1284
+ noMisrefactoredShorthandAssign?: RuleConfiguration_for_Null;
1219
1285
  /**
1220
1286
  * Disallow direct use of Object.prototype builtins.
1221
1287
  */
1222
- noPrototypeBuiltins?: RuleConfiguration;
1288
+ noPrototypeBuiltins?: RuleConfiguration_for_Null;
1223
1289
  /**
1224
1290
  * Disallow variable, function, class, and type redeclarations in the same scope.
1225
1291
  */
1226
- noRedeclare?: RuleConfiguration;
1292
+ noRedeclare?: RuleConfiguration_for_Null;
1227
1293
  /**
1228
1294
  * Prevents from having redundant "use strict".
1229
1295
  */
1230
- noRedundantUseStrict?: RuleConfiguration;
1296
+ noRedundantUseStrict?: RuleConfiguration_for_Null;
1231
1297
  /**
1232
1298
  * Disallow comparisons where both sides are exactly the same.
1233
1299
  */
1234
- noSelfCompare?: RuleConfiguration;
1300
+ noSelfCompare?: RuleConfiguration_for_Null;
1235
1301
  /**
1236
1302
  * Disallow identifiers from shadowing restricted names.
1237
1303
  */
1238
- noShadowRestrictedNames?: RuleConfiguration;
1304
+ noShadowRestrictedNames?: RuleConfiguration_for_Null;
1239
1305
  /**
1240
1306
  * Disallow sparse arrays
1241
1307
  */
1242
- noSparseArray?: RuleConfiguration;
1308
+ noSparseArray?: RuleConfiguration_for_Null;
1309
+ /**
1310
+ * Disallow then property.
1311
+ */
1312
+ noThenProperty?: RuleConfiguration_for_Null;
1243
1313
  /**
1244
1314
  * Disallow unsafe declaration merging between interfaces and classes.
1245
1315
  */
1246
- noUnsafeDeclarationMerging?: RuleConfiguration;
1316
+ noUnsafeDeclarationMerging?: RuleConfiguration_for_Null;
1247
1317
  /**
1248
1318
  * Disallow using unsafe negation.
1249
1319
  */
1250
- noUnsafeNegation?: RuleConfiguration;
1320
+ noUnsafeNegation?: RuleConfiguration_for_Null;
1251
1321
  /**
1252
1322
  * It enables the recommended rules for this group
1253
1323
  */
1254
1324
  recommended?: boolean;
1325
+ /**
1326
+ * Ensure async functions utilize await.
1327
+ */
1328
+ useAwait?: RuleConfiguration_for_Null;
1255
1329
  /**
1256
1330
  * Enforce default clauses in switch statements to be last
1257
1331
  */
1258
- useDefaultSwitchClauseLast?: RuleConfiguration;
1332
+ useDefaultSwitchClauseLast?: RuleConfiguration_for_Null;
1259
1333
  /**
1260
1334
  * Enforce get methods to always return a value.
1261
1335
  */
1262
- useGetterReturn?: RuleConfiguration;
1336
+ useGetterReturn?: RuleConfiguration_for_Null;
1263
1337
  /**
1264
1338
  * Use Array.isArray() instead of instanceof Array.
1265
1339
  */
1266
- useIsArray?: RuleConfiguration;
1340
+ useIsArray?: RuleConfiguration_for_Null;
1267
1341
  /**
1268
1342
  * Require using the namespace keyword over the module keyword to declare TypeScript namespaces.
1269
1343
  */
1270
- useNamespaceKeyword?: RuleConfiguration;
1344
+ useNamespaceKeyword?: RuleConfiguration_for_Null;
1271
1345
  /**
1272
1346
  * This rule verifies the result of typeof $expr unary expressions is being compared to valid values, either string literals containing valid type names or other typeof expressions
1273
1347
  */
1274
- useValidTypeof?: RuleConfiguration;
1348
+ useValidTypeof?: RuleConfiguration_for_Null;
1275
1349
  }
1276
1350
  interface OverrideFormatterConfiguration {
1351
+ /**
1352
+ * The attribute position style.
1353
+ */
1354
+ attributePosition?: AttributePosition;
1277
1355
  enabled?: boolean;
1278
1356
  /**
1279
1357
  * Stores whether formatting should be allowed to proceed if a given file has syntax errors
@@ -1316,27 +1394,123 @@ interface OverrideOrganizeImportsConfiguration {
1316
1394
  */
1317
1395
  enabled?: boolean;
1318
1396
  }
1319
- type RuleConfiguration = RulePlainConfiguration | RuleWithOptions;
1397
+ type RuleConfiguration_for_Null =
1398
+ | RulePlainConfiguration
1399
+ | RuleWithOptions_for_Null;
1400
+ type RuleConfiguration_for_ValidAriaRoleOptions =
1401
+ | RulePlainConfiguration
1402
+ | RuleWithOptions_for_ValidAriaRoleOptions;
1403
+ type RuleConfiguration_for_ComplexityOptions =
1404
+ | RulePlainConfiguration
1405
+ | RuleWithOptions_for_ComplexityOptions;
1406
+ type RuleConfiguration_for_HooksOptions =
1407
+ | RulePlainConfiguration
1408
+ | RuleWithOptions_for_HooksOptions;
1409
+ type RuleConfiguration_for_DeprecatedHooksOptions =
1410
+ | RulePlainConfiguration
1411
+ | RuleWithOptions_for_DeprecatedHooksOptions;
1412
+ type RuleConfiguration_for_RestrictedImportsOptions =
1413
+ | RulePlainConfiguration
1414
+ | RuleWithOptions_for_RestrictedImportsOptions;
1415
+ type RuleConfiguration_for_UtilityClassSortingOptions =
1416
+ | RulePlainConfiguration
1417
+ | RuleWithOptions_for_UtilityClassSortingOptions;
1418
+ type RuleConfiguration_for_RestrictedGlobalsOptions =
1419
+ | RulePlainConfiguration
1420
+ | RuleWithOptions_for_RestrictedGlobalsOptions;
1421
+ type RuleConfiguration_for_ConsistentArrayTypeOptions =
1422
+ | RulePlainConfiguration
1423
+ | RuleWithOptions_for_ConsistentArrayTypeOptions;
1424
+ type RuleConfiguration_for_FilenamingConventionOptions =
1425
+ | RulePlainConfiguration
1426
+ | RuleWithOptions_for_FilenamingConventionOptions;
1427
+ type RuleConfiguration_for_NamingConventionOptions =
1428
+ | RulePlainConfiguration
1429
+ | RuleWithOptions_for_NamingConventionOptions;
1320
1430
  type RulePlainConfiguration = "warn" | "error" | "off";
1321
- interface RuleWithOptions {
1431
+ interface RuleWithOptions_for_Null {
1432
+ level: RulePlainConfiguration;
1433
+ options: null;
1434
+ }
1435
+ interface RuleWithOptions_for_ValidAriaRoleOptions {
1436
+ level: RulePlainConfiguration;
1437
+ options: ValidAriaRoleOptions;
1438
+ }
1439
+ interface RuleWithOptions_for_ComplexityOptions {
1440
+ level: RulePlainConfiguration;
1441
+ options: ComplexityOptions;
1442
+ }
1443
+ interface RuleWithOptions_for_HooksOptions {
1444
+ level: RulePlainConfiguration;
1445
+ options: HooksOptions;
1446
+ }
1447
+ interface RuleWithOptions_for_DeprecatedHooksOptions {
1448
+ level: RulePlainConfiguration;
1449
+ options: DeprecatedHooksOptions;
1450
+ }
1451
+ interface RuleWithOptions_for_RestrictedImportsOptions {
1322
1452
  level: RulePlainConfiguration;
1323
- options?: PossibleOptions;
1324
- }
1325
- type PossibleOptions =
1326
- | ComplexityOptions
1327
- | ConsistentArrayTypeOptions
1328
- | FilenamingConventionOptions
1329
- | HooksOptions
1330
- | DeprecatedHooksOptions
1331
- | NamingConventionOptions
1332
- | RestrictedGlobalsOptions
1333
- | ValidAriaRoleOptions;
1453
+ options: RestrictedImportsOptions;
1454
+ }
1455
+ interface RuleWithOptions_for_UtilityClassSortingOptions {
1456
+ level: RulePlainConfiguration;
1457
+ options: UtilityClassSortingOptions;
1458
+ }
1459
+ interface RuleWithOptions_for_RestrictedGlobalsOptions {
1460
+ level: RulePlainConfiguration;
1461
+ options: RestrictedGlobalsOptions;
1462
+ }
1463
+ interface RuleWithOptions_for_ConsistentArrayTypeOptions {
1464
+ level: RulePlainConfiguration;
1465
+ options: ConsistentArrayTypeOptions;
1466
+ }
1467
+ interface RuleWithOptions_for_FilenamingConventionOptions {
1468
+ level: RulePlainConfiguration;
1469
+ options: FilenamingConventionOptions;
1470
+ }
1471
+ interface RuleWithOptions_for_NamingConventionOptions {
1472
+ level: RulePlainConfiguration;
1473
+ options: NamingConventionOptions;
1474
+ }
1475
+ interface ValidAriaRoleOptions {
1476
+ allowInvalidRoles: string[];
1477
+ ignoreNonDom: boolean;
1478
+ }
1334
1479
  interface ComplexityOptions {
1335
1480
  /**
1336
1481
  * The maximum complexity score that we allow. Anything higher is considered excessive.
1337
1482
  */
1338
1483
  maxAllowedComplexity: number;
1339
1484
  }
1485
+ interface HooksOptions {
1486
+ /**
1487
+ * List of hooks of which the dependencies should be validated.
1488
+ */
1489
+ hooks: Hook[];
1490
+ }
1491
+ interface DeprecatedHooksOptions {}
1492
+ interface RestrictedImportsOptions {
1493
+ /**
1494
+ * A list of names that should trigger the rule
1495
+ */
1496
+ paths: {};
1497
+ }
1498
+ interface UtilityClassSortingOptions {
1499
+ /**
1500
+ * Additional attributes that will be sorted.
1501
+ */
1502
+ attributes?: string[];
1503
+ /**
1504
+ * Names of the functions or tagged templates that will be sorted.
1505
+ */
1506
+ functions?: string[];
1507
+ }
1508
+ interface RestrictedGlobalsOptions {
1509
+ /**
1510
+ * A list of names that should trigger the rule
1511
+ */
1512
+ deniedGlobals: string[];
1513
+ }
1340
1514
  interface ConsistentArrayTypeOptions {
1341
1515
  syntax: ConsistentArrayType;
1342
1516
  }
@@ -1346,117 +1520,143 @@ interface FilenamingConventionOptions {
1346
1520
  */
1347
1521
  filenameCases: FilenameCases;
1348
1522
  /**
1349
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1523
+ * If `false`, then non-ASCII characters are allowed.
1350
1524
  */
1351
- strictCase: boolean;
1352
- }
1353
- interface HooksOptions {
1525
+ requireAscii: boolean;
1354
1526
  /**
1355
- * List of safe hooks
1527
+ * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1356
1528
  */
1357
- hooks: Hooks[];
1529
+ strictCase: boolean;
1358
1530
  }
1359
- interface DeprecatedHooksOptions {}
1360
1531
  interface NamingConventionOptions {
1361
1532
  /**
1362
1533
  * Allowed cases for _TypeScript_ `enum` member names.
1363
1534
  */
1364
1535
  enumMemberCase: EnumMemberCase;
1365
1536
  /**
1366
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1537
+ * If `false`, then non-ASCII characters are allowed.
1367
1538
  */
1368
- strictCase: boolean;
1369
- }
1370
- interface RestrictedGlobalsOptions {
1539
+ requireAscii: boolean;
1371
1540
  /**
1372
- * A list of names that should trigger the rule
1541
+ * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1373
1542
  */
1374
- deniedGlobals: string[];
1375
- }
1376
- interface ValidAriaRoleOptions {
1377
- allowInvalidRoles: string[];
1378
- ignoreNonDom: boolean;
1543
+ strictCase: boolean;
1379
1544
  }
1380
- type ConsistentArrayType = "shorthand" | "generic";
1381
- type FilenameCases = FilenameCase[];
1382
- interface Hooks {
1545
+ interface Hook {
1383
1546
  /**
1384
1547
  * The "position" of the closure function, starting from zero.
1385
1548
 
1386
- ### Example
1549
+ For example, for React's `useEffect()` hook, the closure index is 0.
1387
1550
  */
1388
1551
  closureIndex?: number;
1389
1552
  /**
1390
- * The "position" of the array of dependencies, starting from zero.
1553
+ * The "position" of the array of dependencies, starting from zero.
1554
+
1555
+ For example, for React's `useEffect()` hook, the dependencies index is 1.
1391
1556
  */
1392
1557
  dependenciesIndex?: number;
1393
1558
  /**
1394
- * The name of the hook
1559
+ * The name of the hook.
1395
1560
  */
1396
1561
  name: string;
1562
+ /**
1563
+ * Whether the result of the hook is stable.
1564
+
1565
+ Set to `true` to mark the identity of the hook's return value as stable, or use a number/an array of numbers to mark the "positions" in the return array as stable.
1566
+
1567
+ For example, for React's `useRef()` hook the value would be `true`, while for `useState()` it would be `[1]`.
1568
+ */
1569
+ stableResult: StableHookResult;
1397
1570
  }
1571
+ type ConsistentArrayType = "shorthand" | "generic";
1572
+ type FilenameCases = FilenameCase[];
1398
1573
  type EnumMemberCase = "PascalCase" | "CONSTANT_CASE" | "camelCase";
1574
+ type StableHookResult = "None" | "Identity" | { Indices: number[] };
1399
1575
  type FilenameCase =
1400
1576
  | "camelCase"
1401
1577
  | "export"
1402
1578
  | "kebab-case"
1403
1579
  | "PascalCase"
1404
1580
  | "snake_case";
1405
- interface ProjectFeaturesParams {
1406
- manifest_path: RomePath;
1581
+ interface UpdateProjectParams {
1582
+ path: BiomePath;
1583
+ }
1584
+ interface OpenProjectParams {
1585
+ content: string;
1586
+ path: BiomePath;
1587
+ version: number;
1407
1588
  }
1408
- interface ProjectFeaturesResult {}
1409
1589
  interface OpenFileParams {
1410
1590
  content: string;
1411
- language_hint?: Language;
1412
- path: RomePath;
1591
+ document_file_source?: DocumentFileSource;
1592
+ path: BiomePath;
1413
1593
  version: number;
1414
1594
  }
1415
- type Language =
1416
- | "JavaScript"
1417
- | "JavaScriptReact"
1418
- | "TypeScript"
1419
- | "TypeScriptReact"
1420
- | "Json"
1421
- | "Jsonc"
1422
- | "Css"
1423
- | "Unknown";
1595
+ type DocumentFileSource =
1596
+ | "Unknown"
1597
+ | { Js: JsFileSource }
1598
+ | { Json: JsonFileSource }
1599
+ | { Css: CssFileSource };
1600
+ interface JsFileSource {
1601
+ /**
1602
+ * Used to mark if the source is being used for an Astro, Svelte or Vue file
1603
+ */
1604
+ embedding_kind: EmbeddingKind;
1605
+ language: Language;
1606
+ module_kind: ModuleKind;
1607
+ variant: LanguageVariant;
1608
+ version: LanguageVersion;
1609
+ }
1610
+ interface JsonFileSource {
1611
+ allow_trailing_comma: boolean;
1612
+ variant: JsonVariant;
1613
+ }
1614
+ interface CssFileSource {
1615
+ variant: CssVariant;
1616
+ }
1617
+ type EmbeddingKind = "Astro" | "Vue" | "Svelte" | "None";
1618
+ type Language = "JavaScript" | { TypeScript: { definition_file: boolean } };
1619
+ type ModuleKind = "Script" | "Module";
1620
+ type LanguageVariant = "Standard" | "StandardRestricted" | "Jsx";
1621
+ type LanguageVersion = "ES2022" | "ESNext";
1622
+ type JsonVariant = "Standard" | "Jsonc";
1623
+ type CssVariant = "Standard";
1424
1624
  interface ChangeFileParams {
1425
1625
  content: string;
1426
- path: RomePath;
1626
+ path: BiomePath;
1427
1627
  version: number;
1428
1628
  }
1429
1629
  interface CloseFileParams {
1430
- path: RomePath;
1630
+ path: BiomePath;
1431
1631
  }
1432
1632
  interface GetSyntaxTreeParams {
1433
- path: RomePath;
1633
+ path: BiomePath;
1434
1634
  }
1435
1635
  interface GetSyntaxTreeResult {
1436
1636
  ast: string;
1437
1637
  cst: string;
1438
1638
  }
1439
1639
  interface OrganizeImportsParams {
1440
- path: RomePath;
1640
+ path: BiomePath;
1441
1641
  }
1442
1642
  interface OrganizeImportsResult {
1443
1643
  code: string;
1444
1644
  }
1445
1645
  interface GetFileContentParams {
1446
- path: RomePath;
1646
+ path: BiomePath;
1447
1647
  }
1448
1648
  interface GetControlFlowGraphParams {
1449
1649
  cursor: TextSize;
1450
- path: RomePath;
1650
+ path: BiomePath;
1451
1651
  }
1452
1652
  type TextSize = number;
1453
1653
  interface GetFormatterIRParams {
1454
- path: RomePath;
1654
+ path: BiomePath;
1455
1655
  }
1456
1656
  interface PullDiagnosticsParams {
1457
1657
  categories: RuleCategories;
1458
1658
  max_diagnostics: number;
1459
- path: RomePath;
1659
+ path: BiomePath;
1460
1660
  }
1461
1661
  type RuleCategories = RuleCategory[];
1462
1662
  type RuleCategory = "Syntax" | "Lint" | "Action" | "Transformation";
@@ -1511,6 +1711,7 @@ type Category =
1511
1711
  | "lint/a11y/useValidAriaValues"
1512
1712
  | "lint/a11y/useValidLang"
1513
1713
  | "lint/complexity/noBannedTypes"
1714
+ | "lint/complexity/noEmptyTypeParameters"
1514
1715
  | "lint/complexity/noExcessiveCognitiveComplexity"
1515
1716
  | "lint/complexity/noExtraBooleanCast"
1516
1717
  | "lint/complexity/noForEach"
@@ -1522,6 +1723,7 @@ type Category =
1522
1723
  | "lint/complexity/noUselessEmptyExport"
1523
1724
  | "lint/complexity/noUselessFragments"
1524
1725
  | "lint/complexity/noUselessLabel"
1726
+ | "lint/complexity/noUselessLoneBlockStatements"
1525
1727
  | "lint/complexity/noUselessRename"
1526
1728
  | "lint/complexity/noUselessSwitchCase"
1527
1729
  | "lint/complexity/noUselessThisAlias"
@@ -1545,6 +1747,7 @@ type Category =
1545
1747
  | "lint/correctness/noInnerDeclarations"
1546
1748
  | "lint/correctness/noInvalidConstructorSuper"
1547
1749
  | "lint/correctness/noInvalidNewBuiltin"
1750
+ | "lint/correctness/noInvalidUseBeforeDeclaration"
1548
1751
  | "lint/correctness/noNewSymbol"
1549
1752
  | "lint/correctness/noNonoctalDecimalEscape"
1550
1753
  | "lint/correctness/noPrecisionLoss"
@@ -1559,7 +1762,9 @@ type Category =
1559
1762
  | "lint/correctness/noUnreachableSuper"
1560
1763
  | "lint/correctness/noUnsafeFinally"
1561
1764
  | "lint/correctness/noUnsafeOptionalChaining"
1765
+ | "lint/correctness/noUnusedImports"
1562
1766
  | "lint/correctness/noUnusedLabels"
1767
+ | "lint/correctness/noUnusedPrivateClassMembers"
1563
1768
  | "lint/correctness/noUnusedVariables"
1564
1769
  | "lint/correctness/noVoidElementsWithChildren"
1565
1770
  | "lint/correctness/noVoidTypeReturn"
@@ -1569,36 +1774,33 @@ type Category =
1569
1774
  | "lint/correctness/useValidForDirection"
1570
1775
  | "lint/correctness/useYield"
1571
1776
  | "lint/nursery/noApproximativeNumericConstant"
1777
+ | "lint/nursery/noBarrelFile"
1778
+ | "lint/nursery/noConsole"
1779
+ | "lint/nursery/noDoneCallback"
1572
1780
  | "lint/nursery/noDuplicateJsonKeys"
1573
- | "lint/nursery/noEmptyBlockStatements"
1574
- | "lint/nursery/noEmptyTypeParameters"
1575
- | "lint/nursery/noGlobalAssign"
1576
- | "lint/nursery/noGlobalEval"
1577
- | "lint/nursery/noInvalidUseBeforeDeclaration"
1578
- | "lint/nursery/noMisleadingCharacterClass"
1781
+ | "lint/nursery/noDuplicateTestHooks"
1782
+ | "lint/nursery/noExcessiveNestedTestSuites"
1783
+ | "lint/nursery/noExportsInTest"
1784
+ | "lint/nursery/noFocusedTests"
1785
+ | "lint/nursery/noNamespaceImport"
1579
1786
  | "lint/nursery/noNodejsModules"
1580
- | "lint/nursery/noThenProperty"
1787
+ | "lint/nursery/noReExportAll"
1788
+ | "lint/nursery/noRestrictedImports"
1789
+ | "lint/nursery/noSemicolonInJsx"
1790
+ | "lint/nursery/noSkippedTests"
1581
1791
  | "lint/nursery/noTypeOnlyImportAttributes"
1582
- | "lint/nursery/noUnusedImports"
1583
- | "lint/nursery/noUnusedPrivateClassMembers"
1584
- | "lint/nursery/noUselessLoneBlockStatements"
1792
+ | "lint/nursery/noUndeclaredDependencies"
1585
1793
  | "lint/nursery/noUselessTernary"
1586
- | "lint/nursery/useAwait"
1587
1794
  | "lint/nursery/useBiomeSuppressionComment"
1588
- | "lint/nursery/useConsistentArrayType"
1589
- | "lint/nursery/useExportType"
1590
- | "lint/nursery/useFilenamingConvention"
1591
- | "lint/nursery/useForOf"
1592
- | "lint/nursery/useGroupedTypeImport"
1593
1795
  | "lint/nursery/useImportRestrictions"
1594
- | "lint/nursery/useImportType"
1595
- | "lint/nursery/useNodejsImportProtocol"
1596
- | "lint/nursery/useNumberNamespace"
1597
- | "lint/nursery/useShorthandFunctionType"
1796
+ | "lint/nursery/useJsxKeyInIterable"
1797
+ | "lint/nursery/useNodeAssertStrict"
1798
+ | "lint/nursery/useSortedClasses"
1598
1799
  | "lint/performance/noAccumulatingSpread"
1599
1800
  | "lint/performance/noDelete"
1600
1801
  | "lint/security/noDangerouslySetInnerHtml"
1601
1802
  | "lint/security/noDangerouslySetInnerHtmlWithChildren"
1803
+ | "lint/security/noGlobalEval"
1602
1804
  | "lint/style/noArguments"
1603
1805
  | "lint/style/noCommaOperator"
1604
1806
  | "lint/style/noDefaultExport"
@@ -1617,17 +1819,25 @@ type Category =
1617
1819
  | "lint/style/useAsConstAssertion"
1618
1820
  | "lint/style/useBlockStatements"
1619
1821
  | "lint/style/useCollapsedElseIf"
1822
+ | "lint/style/useConsistentArrayType"
1620
1823
  | "lint/style/useConst"
1621
1824
  | "lint/style/useDefaultParameterLast"
1622
1825
  | "lint/style/useEnumInitializers"
1623
1826
  | "lint/style/useExponentiationOperator"
1827
+ | "lint/style/useExportType"
1828
+ | "lint/style/useFilenamingConvention"
1829
+ | "lint/style/useForOf"
1624
1830
  | "lint/style/useFragmentSyntax"
1831
+ | "lint/style/useImportType"
1625
1832
  | "lint/style/useLiteralEnumMembers"
1626
1833
  | "lint/style/useNamingConvention"
1834
+ | "lint/style/useNodejsImportProtocol"
1835
+ | "lint/style/useNumberNamespace"
1627
1836
  | "lint/style/useNumericLiterals"
1628
1837
  | "lint/style/useSelfClosingElements"
1629
1838
  | "lint/style/useShorthandArrayType"
1630
1839
  | "lint/style/useShorthandAssign"
1840
+ | "lint/style/useShorthandFunctionType"
1631
1841
  | "lint/style/useSingleCaseStatement"
1632
1842
  | "lint/style/useSingleVarDeclarator"
1633
1843
  | "lint/style/useTemplate"
@@ -1652,16 +1862,19 @@ type Category =
1652
1862
  | "lint/suspicious/noDuplicateJsxProps"
1653
1863
  | "lint/suspicious/noDuplicateObjectKeys"
1654
1864
  | "lint/suspicious/noDuplicateParameters"
1865
+ | "lint/suspicious/noEmptyBlockStatements"
1655
1866
  | "lint/suspicious/noEmptyInterface"
1656
1867
  | "lint/suspicious/noExplicitAny"
1657
1868
  | "lint/suspicious/noExtraNonNullAssertion"
1658
1869
  | "lint/suspicious/noFallthroughSwitchClause"
1659
1870
  | "lint/suspicious/noFunctionAssign"
1871
+ | "lint/suspicious/noGlobalAssign"
1660
1872
  | "lint/suspicious/noGlobalIsFinite"
1661
1873
  | "lint/suspicious/noGlobalIsNan"
1662
1874
  | "lint/suspicious/noImplicitAnyLet"
1663
1875
  | "lint/suspicious/noImportAssign"
1664
1876
  | "lint/suspicious/noLabelVar"
1877
+ | "lint/suspicious/noMisleadingCharacterClass"
1665
1878
  | "lint/suspicious/noMisleadingInstantiator"
1666
1879
  | "lint/suspicious/noMisrefactoredShorthandAssign"
1667
1880
  | "lint/suspicious/noPrototypeBuiltins"
@@ -1670,8 +1883,10 @@ type Category =
1670
1883
  | "lint/suspicious/noSelfCompare"
1671
1884
  | "lint/suspicious/noShadowRestrictedNames"
1672
1885
  | "lint/suspicious/noSparseArray"
1886
+ | "lint/suspicious/noThenProperty"
1673
1887
  | "lint/suspicious/noUnsafeDeclarationMerging"
1674
1888
  | "lint/suspicious/noUnsafeNegation"
1889
+ | "lint/suspicious/useAwait"
1675
1890
  | "lint/suspicious/useDefaultSwitchClauseLast"
1676
1891
  | "lint/suspicious/useGetterReturn"
1677
1892
  | "lint/suspicious/useIsArray"
@@ -1773,7 +1988,7 @@ interface BacktraceSymbol {
1773
1988
  name?: string;
1774
1989
  }
1775
1990
  interface PullActionsParams {
1776
- path: RomePath;
1991
+ path: BiomePath;
1777
1992
  range: TextRange;
1778
1993
  }
1779
1994
  interface PullActionsResult {
@@ -1809,7 +2024,7 @@ type SourceActionKind =
1809
2024
  | { Other: string };
1810
2025
  type Applicability = "Always" | "MaybeIncorrect";
1811
2026
  interface FormatFileParams {
1812
- path: RomePath;
2027
+ path: BiomePath;
1813
2028
  }
1814
2029
  interface Printed {
1815
2030
  code: string;
@@ -1828,16 +2043,16 @@ interface SourceMarker {
1828
2043
  source: TextSize;
1829
2044
  }
1830
2045
  interface FormatRangeParams {
1831
- path: RomePath;
2046
+ path: BiomePath;
1832
2047
  range: TextRange;
1833
2048
  }
1834
2049
  interface FormatOnTypeParams {
1835
2050
  offset: TextSize;
1836
- path: RomePath;
2051
+ path: BiomePath;
1837
2052
  }
1838
2053
  interface FixFileParams {
1839
2054
  fix_file_mode: FixFileMode;
1840
- path: RomePath;
2055
+ path: BiomePath;
1841
2056
  should_format: boolean;
1842
2057
  }
1843
2058
  type FixFileMode = "SafeFixes" | "SafeAndUnsafeFixes";
@@ -1871,7 +2086,7 @@ interface FixAction {
1871
2086
  }
1872
2087
  interface RenameParams {
1873
2088
  new_name: string;
1874
- path: RomePath;
2089
+ path: BiomePath;
1875
2090
  symbol_at: TextSize;
1876
2091
  }
1877
2092
  interface RenameResult {