@biomejs/wasm-web 1.5.3 → 1.6.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.
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,85 @@ 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.
821
- */
822
- noGlobalAssign?: RuleConfiguration;
823
- /**
824
- * Disallow the use of global eval().
825
- */
826
- noGlobalEval?: RuleConfiguration;
827
- /**
828
- * Disallow the use of variables and function parameters before their declaration
829
- */
830
- noInvalidUseBeforeDeclaration?: RuleConfiguration;
831
- /**
832
- * Disallow characters made with multiple code points in character class syntax.
850
+ * Disallow two keys with the same name inside a JSON object.
833
851
  */
834
- noMisleadingCharacterClass?: RuleConfiguration;
852
+ noDuplicateJsonKeys?: RuleConfiguration_for_Null;
835
853
  /**
836
- * Forbid the use of Node.js builtin modules.
854
+ * A describe block should not contain duplicate hooks.
837
855
  */
838
- noNodejsModules?: RuleConfiguration;
856
+ noDuplicateTestHooks?: RuleConfiguration_for_Null;
839
857
  /**
840
- * Disallow then property.
858
+ * This rule enforces a maximum depth to nested describe() in test files.
841
859
  */
842
- noThenProperty?: RuleConfiguration;
860
+ noExcessiveNestedTestSuites?: RuleConfiguration_for_Null;
843
861
  /**
844
- * Disallow unused imports.
862
+ * Disallow using export or module.exports in files containing tests
845
863
  */
846
- noUnusedImports?: RuleConfiguration;
864
+ noExportsInTest?: RuleConfiguration_for_Null;
847
865
  /**
848
- * Disallow unused private class members
866
+ * Disallow focused tests.
849
867
  */
850
- noUnusedPrivateClassMembers?: RuleConfiguration;
868
+ noFocusedTests?: RuleConfiguration_for_Null;
851
869
  /**
852
- * Disallow unnecessary nested block statements.
870
+ * Disallow the use of namespace imports.
853
871
  */
854
- noUselessLoneBlockStatements?: RuleConfiguration;
872
+ noNamespaceImport?: RuleConfiguration_for_Null;
855
873
  /**
856
- * Disallow ternary operators when simpler alternatives exist.
874
+ * Forbid the use of Node.js builtin modules.
857
875
  */
858
- noUselessTernary?: RuleConfiguration;
876
+ noNodejsModules?: RuleConfiguration_for_Null;
859
877
  /**
860
- * It enables the recommended rules for this group
878
+ * Avoid re-export all.
861
879
  */
862
- recommended?: boolean;
880
+ noReExportAll?: RuleConfiguration_for_Null;
863
881
  /**
864
- * Ensure async functions utilize await.
882
+ * Disallow specified modules when loaded by import or require.
865
883
  */
866
- useAwait?: RuleConfiguration;
884
+ noRestrictedImports?: RuleConfiguration_for_RestrictedImportsOptions;
867
885
  /**
868
- * Require consistently using either T[] or Array<T>
886
+ * It detects possible "wrong" semicolons inside JSX elements.
869
887
  */
870
- useConsistentArrayType?: RuleConfiguration;
888
+ noSemicolonInJsx?: RuleConfiguration_for_Null;
871
889
  /**
872
- * Promotes the use of export type for types.
890
+ * Disallow disabled tests.
873
891
  */
874
- useExportType?: RuleConfiguration;
892
+ noSkippedTests?: RuleConfiguration_for_Null;
875
893
  /**
876
- * Enforce naming conventions for JavaScript and TypeScript filenames.
894
+ * Disallow the use of dependencies that aren't specified in the package.json.
877
895
  */
878
- useFilenamingConvention?: RuleConfiguration;
896
+ noUndeclaredDependencies?: RuleConfiguration_for_Null;
879
897
  /**
880
- * This rule recommends a for-of loop when in a for loop, the index used to extract an item from the iterated array.
898
+ * Disallow ternary operators when simpler alternatives exist.
881
899
  */
882
- useForOf?: RuleConfiguration;
900
+ noUselessTernary?: RuleConfiguration_for_Null;
883
901
  /**
884
- * Enforce the use of import type when an import only has specifiers with type qualifier.
902
+ * It enables the recommended rules for this group
885
903
  */
886
- useGroupedTypeImport?: RuleConfiguration;
904
+ recommended?: boolean;
887
905
  /**
888
906
  * Disallows package private imports.
889
907
  */
890
- useImportRestrictions?: RuleConfiguration;
908
+ useImportRestrictions?: RuleConfiguration_for_Null;
891
909
  /**
892
- * Promotes the use of import type for types.
910
+ * Disallow missing key props in iterators/collection literals.
893
911
  */
894
- useImportType?: RuleConfiguration;
912
+ useJsxKeyInIterable?: RuleConfiguration_for_Null;
895
913
  /**
896
- * Enforces using the node: protocol for Node.js builtin modules.
914
+ * Promotes the usage of node:assert/strict over node:assert.
897
915
  */
898
- useNodejsImportProtocol?: RuleConfiguration;
916
+ useNodeAssertStrict?: RuleConfiguration_for_Null;
899
917
  /**
900
- * Use the Number properties instead of global ones.
918
+ * Enforce the sorting of CSS utility classes.
901
919
  */
902
- useNumberNamespace?: RuleConfiguration;
903
- /**
904
- * Enforce using function types instead of object type with call signatures.
905
- */
906
- useShorthandFunctionType?: RuleConfiguration;
920
+ useSortedClasses?: RuleConfiguration_for_UtilityClassSortingOptions;
907
921
  }
908
922
  interface Performance {
909
923
  /**
@@ -913,11 +927,11 @@ interface Performance {
913
927
  /**
914
928
  * Disallow the use of spread (...) syntax on accumulators.
915
929
  */
916
- noAccumulatingSpread?: RuleConfiguration;
930
+ noAccumulatingSpread?: RuleConfiguration_for_Null;
917
931
  /**
918
932
  * Disallow the use of the delete operator.
919
933
  */
920
- noDelete?: RuleConfiguration;
934
+ noDelete?: RuleConfiguration_for_Null;
921
935
  /**
922
936
  * It enables the recommended rules for this group
923
937
  */
@@ -931,11 +945,15 @@ interface Security {
931
945
  /**
932
946
  * Prevent the usage of dangerous JSX props
933
947
  */
934
- noDangerouslySetInnerHtml?: RuleConfiguration;
948
+ noDangerouslySetInnerHtml?: RuleConfiguration_for_Null;
935
949
  /**
936
950
  * Report when a DOM element or a component uses both children and dangerouslySetInnerHTML prop.
937
951
  */
938
- noDangerouslySetInnerHtmlWithChildren?: RuleConfiguration;
952
+ noDangerouslySetInnerHtmlWithChildren?: RuleConfiguration_for_Null;
953
+ /**
954
+ * Disallow the use of global eval().
955
+ */
956
+ noGlobalEval?: RuleConfiguration_for_Null;
939
957
  /**
940
958
  * It enables the recommended rules for this group
941
959
  */
@@ -949,63 +967,63 @@ interface Style {
949
967
  /**
950
968
  * Disallow the use of arguments.
951
969
  */
952
- noArguments?: RuleConfiguration;
970
+ noArguments?: RuleConfiguration_for_Null;
953
971
  /**
954
972
  * Disallow comma operator.
955
973
  */
956
- noCommaOperator?: RuleConfiguration;
974
+ noCommaOperator?: RuleConfiguration_for_Null;
957
975
  /**
958
976
  * Disallow default exports.
959
977
  */
960
- noDefaultExport?: RuleConfiguration;
978
+ noDefaultExport?: RuleConfiguration_for_Null;
961
979
  /**
962
980
  * Disallow implicit true values on JSX boolean attributes
963
981
  */
964
- noImplicitBoolean?: RuleConfiguration;
982
+ noImplicitBoolean?: RuleConfiguration_for_Null;
965
983
  /**
966
984
  * Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.
967
985
  */
968
- noInferrableTypes?: RuleConfiguration;
986
+ noInferrableTypes?: RuleConfiguration_for_Null;
969
987
  /**
970
988
  * Disallow the use of TypeScript's namespaces.
971
989
  */
972
- noNamespace?: RuleConfiguration;
990
+ noNamespace?: RuleConfiguration_for_Null;
973
991
  /**
974
992
  * Disallow negation in the condition of an if statement if it has an else clause.
975
993
  */
976
- noNegationElse?: RuleConfiguration;
994
+ noNegationElse?: RuleConfiguration_for_Null;
977
995
  /**
978
996
  * Disallow non-null assertions using the ! postfix operator.
979
997
  */
980
- noNonNullAssertion?: RuleConfiguration;
998
+ noNonNullAssertion?: RuleConfiguration_for_Null;
981
999
  /**
982
1000
  * Disallow reassigning function parameters.
983
1001
  */
984
- noParameterAssign?: RuleConfiguration;
1002
+ noParameterAssign?: RuleConfiguration_for_Null;
985
1003
  /**
986
1004
  * Disallow the use of parameter properties in class constructors.
987
1005
  */
988
- noParameterProperties?: RuleConfiguration;
1006
+ noParameterProperties?: RuleConfiguration_for_Null;
989
1007
  /**
990
1008
  * This rule allows you to specify global variable names that you don’t want to use in your application.
991
1009
  */
992
- noRestrictedGlobals?: RuleConfiguration;
1010
+ noRestrictedGlobals?: RuleConfiguration_for_RestrictedGlobalsOptions;
993
1011
  /**
994
1012
  * Disallow the use of constants which its value is the upper-case version of its name.
995
1013
  */
996
- noShoutyConstants?: RuleConfiguration;
1014
+ noShoutyConstants?: RuleConfiguration_for_Null;
997
1015
  /**
998
1016
  * Disallow template literals if interpolation and special-character handling are not needed
999
1017
  */
1000
- noUnusedTemplateLiteral?: RuleConfiguration;
1018
+ noUnusedTemplateLiteral?: RuleConfiguration_for_Null;
1001
1019
  /**
1002
1020
  * Disallow else block when the if block breaks early.
1003
1021
  */
1004
- noUselessElse?: RuleConfiguration;
1022
+ noUselessElse?: RuleConfiguration_for_Null;
1005
1023
  /**
1006
1024
  * Disallow the use of var
1007
1025
  */
1008
- noVar?: RuleConfiguration;
1026
+ noVar?: RuleConfiguration_for_Null;
1009
1027
  /**
1010
1028
  * It enables the recommended rules for this group
1011
1029
  */
@@ -1013,75 +1031,107 @@ interface Style {
1013
1031
  /**
1014
1032
  * Enforce the use of as const over literal type and type annotation.
1015
1033
  */
1016
- useAsConstAssertion?: RuleConfiguration;
1034
+ useAsConstAssertion?: RuleConfiguration_for_Null;
1017
1035
  /**
1018
1036
  * Requires following curly brace conventions.
1019
1037
  */
1020
- useBlockStatements?: RuleConfiguration;
1038
+ useBlockStatements?: RuleConfiguration_for_Null;
1021
1039
  /**
1022
1040
  * Enforce using else if instead of nested if in else clauses.
1023
1041
  */
1024
- useCollapsedElseIf?: RuleConfiguration;
1042
+ useCollapsedElseIf?: RuleConfiguration_for_Null;
1043
+ /**
1044
+ * Require consistently using either T[] or Array<T>
1045
+ */
1046
+ useConsistentArrayType?: RuleConfiguration_for_ConsistentArrayTypeOptions;
1025
1047
  /**
1026
1048
  * Require const declarations for variables that are never reassigned after declared.
1027
1049
  */
1028
- useConst?: RuleConfiguration;
1050
+ useConst?: RuleConfiguration_for_Null;
1029
1051
  /**
1030
1052
  * Enforce default function parameters and optional function parameters to be last.
1031
1053
  */
1032
- useDefaultParameterLast?: RuleConfiguration;
1054
+ useDefaultParameterLast?: RuleConfiguration_for_Null;
1033
1055
  /**
1034
1056
  * Require that each enum member value be explicitly initialized.
1035
1057
  */
1036
- useEnumInitializers?: RuleConfiguration;
1058
+ useEnumInitializers?: RuleConfiguration_for_Null;
1037
1059
  /**
1038
1060
  * Disallow the use of Math.pow in favor of the ** operator.
1039
1061
  */
1040
- useExponentiationOperator?: RuleConfiguration;
1062
+ useExponentiationOperator?: RuleConfiguration_for_Null;
1063
+ /**
1064
+ * Promotes the use of export type for types.
1065
+ */
1066
+ useExportType?: RuleConfiguration_for_Null;
1067
+ /**
1068
+ * Enforce naming conventions for JavaScript and TypeScript filenames.
1069
+ */
1070
+ useFilenamingConvention?: RuleConfiguration_for_FilenamingConventionOptions;
1071
+ /**
1072
+ * This rule recommends a for-of loop when in a for loop, the index used to extract an item from the iterated array.
1073
+ */
1074
+ useForOf?: RuleConfiguration_for_Null;
1041
1075
  /**
1042
1076
  * This rule enforces the use of <>...</> over <Fragment>...</Fragment>.
1043
1077
  */
1044
- useFragmentSyntax?: RuleConfiguration;
1078
+ useFragmentSyntax?: RuleConfiguration_for_Null;
1079
+ /**
1080
+ * Promotes the use of import type for types.
1081
+ */
1082
+ useImportType?: RuleConfiguration_for_Null;
1045
1083
  /**
1046
1084
  * Require all enum members to be literal values.
1047
1085
  */
1048
- useLiteralEnumMembers?: RuleConfiguration;
1086
+ useLiteralEnumMembers?: RuleConfiguration_for_Null;
1049
1087
  /**
1050
1088
  * Enforce naming conventions for everything across a codebase.
1051
1089
  */
1052
- useNamingConvention?: RuleConfiguration;
1090
+ useNamingConvention?: RuleConfiguration_for_NamingConventionOptions;
1091
+ /**
1092
+ * Enforces using the node: protocol for Node.js builtin modules.
1093
+ */
1094
+ useNodejsImportProtocol?: RuleConfiguration_for_Null;
1095
+ /**
1096
+ * Use the Number properties instead of global ones.
1097
+ */
1098
+ useNumberNamespace?: RuleConfiguration_for_Null;
1053
1099
  /**
1054
1100
  * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
1055
1101
  */
1056
- useNumericLiterals?: RuleConfiguration;
1102
+ useNumericLiterals?: RuleConfiguration_for_Null;
1057
1103
  /**
1058
1104
  * Prevent extra closing tags for components without children
1059
1105
  */
1060
- useSelfClosingElements?: RuleConfiguration;
1106
+ useSelfClosingElements?: RuleConfiguration_for_Null;
1061
1107
  /**
1062
1108
  * When expressing array types, this rule promotes the usage of T[] shorthand instead of Array<T>.
1063
1109
  */
1064
- useShorthandArrayType?: RuleConfiguration;
1110
+ useShorthandArrayType?: RuleConfiguration_for_Null;
1065
1111
  /**
1066
1112
  * Require assignment operator shorthand where possible.
1067
1113
  */
1068
- useShorthandAssign?: RuleConfiguration;
1114
+ useShorthandAssign?: RuleConfiguration_for_Null;
1115
+ /**
1116
+ * Enforce using function types instead of object type with call signatures.
1117
+ */
1118
+ useShorthandFunctionType?: RuleConfiguration_for_Null;
1069
1119
  /**
1070
1120
  * Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.
1071
1121
  */
1072
- useSingleCaseStatement?: RuleConfiguration;
1122
+ useSingleCaseStatement?: RuleConfiguration_for_Null;
1073
1123
  /**
1074
1124
  * Disallow multiple variable declarations in the same variable statement
1075
1125
  */
1076
- useSingleVarDeclarator?: RuleConfiguration;
1126
+ useSingleVarDeclarator?: RuleConfiguration_for_Null;
1077
1127
  /**
1078
1128
  * Prefer template literals over string concatenation.
1079
1129
  */
1080
- useTemplate?: RuleConfiguration;
1130
+ useTemplate?: RuleConfiguration_for_Null;
1081
1131
  /**
1082
1132
  * Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.
1083
1133
  */
1084
- useWhile?: RuleConfiguration;
1134
+ useWhile?: RuleConfiguration_for_Null;
1085
1135
  }
1086
1136
  interface Suspicious {
1087
1137
  /**
@@ -1089,191 +1139,215 @@ interface Suspicious {
1089
1139
  */
1090
1140
  all?: boolean;
1091
1141
  /**
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.
1142
+ * Use standard constants instead of approximated literals.
1093
1143
  */
1094
- noApproximativeNumericConstant?: RuleConfiguration;
1144
+ noApproximativeNumericConstant?: RuleConfiguration_for_Null;
1095
1145
  /**
1096
1146
  * Discourage the usage of Array index in keys.
1097
1147
  */
1098
- noArrayIndexKey?: RuleConfiguration;
1148
+ noArrayIndexKey?: RuleConfiguration_for_Null;
1099
1149
  /**
1100
1150
  * Disallow assignments in expressions.
1101
1151
  */
1102
- noAssignInExpressions?: RuleConfiguration;
1152
+ noAssignInExpressions?: RuleConfiguration_for_Null;
1103
1153
  /**
1104
1154
  * Disallows using an async function as a Promise executor.
1105
1155
  */
1106
- noAsyncPromiseExecutor?: RuleConfiguration;
1156
+ noAsyncPromiseExecutor?: RuleConfiguration_for_Null;
1107
1157
  /**
1108
1158
  * Disallow reassigning exceptions in catch clauses.
1109
1159
  */
1110
- noCatchAssign?: RuleConfiguration;
1160
+ noCatchAssign?: RuleConfiguration_for_Null;
1111
1161
  /**
1112
1162
  * Disallow reassigning class members.
1113
1163
  */
1114
- noClassAssign?: RuleConfiguration;
1164
+ noClassAssign?: RuleConfiguration_for_Null;
1115
1165
  /**
1116
1166
  * Prevent comments from being inserted as text nodes
1117
1167
  */
1118
- noCommentText?: RuleConfiguration;
1168
+ noCommentText?: RuleConfiguration_for_Null;
1119
1169
  /**
1120
1170
  * Disallow comparing against -0
1121
1171
  */
1122
- noCompareNegZero?: RuleConfiguration;
1172
+ noCompareNegZero?: RuleConfiguration_for_Null;
1123
1173
  /**
1124
1174
  * Disallow labeled statements that are not loops.
1125
1175
  */
1126
- noConfusingLabels?: RuleConfiguration;
1176
+ noConfusingLabels?: RuleConfiguration_for_Null;
1127
1177
  /**
1128
1178
  * Disallow void type outside of generic or return types.
1129
1179
  */
1130
- noConfusingVoidType?: RuleConfiguration;
1180
+ noConfusingVoidType?: RuleConfiguration_for_Null;
1131
1181
  /**
1132
1182
  * Disallow the use of console.log
1133
1183
  */
1134
- noConsoleLog?: RuleConfiguration;
1184
+ noConsoleLog?: RuleConfiguration_for_Null;
1135
1185
  /**
1136
1186
  * Disallow TypeScript const enum
1137
1187
  */
1138
- noConstEnum?: RuleConfiguration;
1188
+ noConstEnum?: RuleConfiguration_for_Null;
1139
1189
  /**
1140
1190
  * Prevents from having control characters and some escape sequences that match control characters in regular expressions.
1141
1191
  */
1142
- noControlCharactersInRegex?: RuleConfiguration;
1192
+ noControlCharactersInRegex?: RuleConfiguration_for_Null;
1143
1193
  /**
1144
1194
  * Disallow the use of debugger
1145
1195
  */
1146
- noDebugger?: RuleConfiguration;
1196
+ noDebugger?: RuleConfiguration_for_Null;
1147
1197
  /**
1148
1198
  * Require the use of === and !==
1149
1199
  */
1150
- noDoubleEquals?: RuleConfiguration;
1200
+ noDoubleEquals?: RuleConfiguration_for_Null;
1151
1201
  /**
1152
1202
  * Disallow duplicate case labels.
1153
1203
  */
1154
- noDuplicateCase?: RuleConfiguration;
1204
+ noDuplicateCase?: RuleConfiguration_for_Null;
1155
1205
  /**
1156
1206
  * Disallow duplicate class members.
1157
1207
  */
1158
- noDuplicateClassMembers?: RuleConfiguration;
1208
+ noDuplicateClassMembers?: RuleConfiguration_for_Null;
1159
1209
  /**
1160
1210
  * Prevents JSX properties to be assigned multiple times.
1161
1211
  */
1162
- noDuplicateJsxProps?: RuleConfiguration;
1212
+ noDuplicateJsxProps?: RuleConfiguration_for_Null;
1163
1213
  /**
1164
1214
  * Prevents object literals having more than one property declaration for the same name.
1165
1215
  */
1166
- noDuplicateObjectKeys?: RuleConfiguration;
1216
+ noDuplicateObjectKeys?: RuleConfiguration_for_Null;
1167
1217
  /**
1168
1218
  * Disallow duplicate function parameter name.
1169
1219
  */
1170
- noDuplicateParameters?: RuleConfiguration;
1220
+ noDuplicateParameters?: RuleConfiguration_for_Null;
1221
+ /**
1222
+ * Disallow empty block statements and static blocks.
1223
+ */
1224
+ noEmptyBlockStatements?: RuleConfiguration_for_Null;
1171
1225
  /**
1172
1226
  * Disallow the declaration of empty interfaces.
1173
1227
  */
1174
- noEmptyInterface?: RuleConfiguration;
1228
+ noEmptyInterface?: RuleConfiguration_for_Null;
1175
1229
  /**
1176
1230
  * Disallow the any type usage.
1177
1231
  */
1178
- noExplicitAny?: RuleConfiguration;
1232
+ noExplicitAny?: RuleConfiguration_for_Null;
1179
1233
  /**
1180
1234
  * Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.
1181
1235
  */
1182
- noExtraNonNullAssertion?: RuleConfiguration;
1236
+ noExtraNonNullAssertion?: RuleConfiguration_for_Null;
1183
1237
  /**
1184
1238
  * Disallow fallthrough of switch clauses.
1185
1239
  */
1186
- noFallthroughSwitchClause?: RuleConfiguration;
1240
+ noFallthroughSwitchClause?: RuleConfiguration_for_Null;
1187
1241
  /**
1188
1242
  * Disallow reassigning function declarations.
1189
1243
  */
1190
- noFunctionAssign?: RuleConfiguration;
1244
+ noFunctionAssign?: RuleConfiguration_for_Null;
1245
+ /**
1246
+ * Disallow assignments to native objects and read-only global variables.
1247
+ */
1248
+ noGlobalAssign?: RuleConfiguration_for_Null;
1191
1249
  /**
1192
1250
  * Use Number.isFinite instead of global isFinite.
1193
1251
  */
1194
- noGlobalIsFinite?: RuleConfiguration;
1252
+ noGlobalIsFinite?: RuleConfiguration_for_Null;
1195
1253
  /**
1196
1254
  * Use Number.isNaN instead of global isNaN.
1197
1255
  */
1198
- noGlobalIsNan?: RuleConfiguration;
1256
+ noGlobalIsNan?: RuleConfiguration_for_Null;
1199
1257
  /**
1200
1258
  * Disallow use of implicit any type on variable declarations.
1201
1259
  */
1202
- noImplicitAnyLet?: RuleConfiguration;
1260
+ noImplicitAnyLet?: RuleConfiguration_for_Null;
1203
1261
  /**
1204
1262
  * Disallow assigning to imported bindings
1205
1263
  */
1206
- noImportAssign?: RuleConfiguration;
1264
+ noImportAssign?: RuleConfiguration_for_Null;
1207
1265
  /**
1208
1266
  * Disallow labels that share a name with a variable
1209
1267
  */
1210
- noLabelVar?: RuleConfiguration;
1268
+ noLabelVar?: RuleConfiguration_for_Null;
1269
+ /**
1270
+ * Disallow characters made with multiple code points in character class syntax.
1271
+ */
1272
+ noMisleadingCharacterClass?: RuleConfiguration_for_Null;
1211
1273
  /**
1212
1274
  * Enforce proper usage of new and constructor.
1213
1275
  */
1214
- noMisleadingInstantiator?: RuleConfiguration;
1276
+ noMisleadingInstantiator?: RuleConfiguration_for_Null;
1215
1277
  /**
1216
1278
  * Disallow shorthand assign when variable appears on both sides.
1217
1279
  */
1218
- noMisrefactoredShorthandAssign?: RuleConfiguration;
1280
+ noMisrefactoredShorthandAssign?: RuleConfiguration_for_Null;
1219
1281
  /**
1220
1282
  * Disallow direct use of Object.prototype builtins.
1221
1283
  */
1222
- noPrototypeBuiltins?: RuleConfiguration;
1284
+ noPrototypeBuiltins?: RuleConfiguration_for_Null;
1223
1285
  /**
1224
1286
  * Disallow variable, function, class, and type redeclarations in the same scope.
1225
1287
  */
1226
- noRedeclare?: RuleConfiguration;
1288
+ noRedeclare?: RuleConfiguration_for_Null;
1227
1289
  /**
1228
1290
  * Prevents from having redundant "use strict".
1229
1291
  */
1230
- noRedundantUseStrict?: RuleConfiguration;
1292
+ noRedundantUseStrict?: RuleConfiguration_for_Null;
1231
1293
  /**
1232
1294
  * Disallow comparisons where both sides are exactly the same.
1233
1295
  */
1234
- noSelfCompare?: RuleConfiguration;
1296
+ noSelfCompare?: RuleConfiguration_for_Null;
1235
1297
  /**
1236
1298
  * Disallow identifiers from shadowing restricted names.
1237
1299
  */
1238
- noShadowRestrictedNames?: RuleConfiguration;
1300
+ noShadowRestrictedNames?: RuleConfiguration_for_Null;
1239
1301
  /**
1240
1302
  * Disallow sparse arrays
1241
1303
  */
1242
- noSparseArray?: RuleConfiguration;
1304
+ noSparseArray?: RuleConfiguration_for_Null;
1305
+ /**
1306
+ * Disallow then property.
1307
+ */
1308
+ noThenProperty?: RuleConfiguration_for_Null;
1243
1309
  /**
1244
1310
  * Disallow unsafe declaration merging between interfaces and classes.
1245
1311
  */
1246
- noUnsafeDeclarationMerging?: RuleConfiguration;
1312
+ noUnsafeDeclarationMerging?: RuleConfiguration_for_Null;
1247
1313
  /**
1248
1314
  * Disallow using unsafe negation.
1249
1315
  */
1250
- noUnsafeNegation?: RuleConfiguration;
1316
+ noUnsafeNegation?: RuleConfiguration_for_Null;
1251
1317
  /**
1252
1318
  * It enables the recommended rules for this group
1253
1319
  */
1254
1320
  recommended?: boolean;
1321
+ /**
1322
+ * Ensure async functions utilize await.
1323
+ */
1324
+ useAwait?: RuleConfiguration_for_Null;
1255
1325
  /**
1256
1326
  * Enforce default clauses in switch statements to be last
1257
1327
  */
1258
- useDefaultSwitchClauseLast?: RuleConfiguration;
1328
+ useDefaultSwitchClauseLast?: RuleConfiguration_for_Null;
1259
1329
  /**
1260
1330
  * Enforce get methods to always return a value.
1261
1331
  */
1262
- useGetterReturn?: RuleConfiguration;
1332
+ useGetterReturn?: RuleConfiguration_for_Null;
1263
1333
  /**
1264
1334
  * Use Array.isArray() instead of instanceof Array.
1265
1335
  */
1266
- useIsArray?: RuleConfiguration;
1336
+ useIsArray?: RuleConfiguration_for_Null;
1267
1337
  /**
1268
1338
  * Require using the namespace keyword over the module keyword to declare TypeScript namespaces.
1269
1339
  */
1270
- useNamespaceKeyword?: RuleConfiguration;
1340
+ useNamespaceKeyword?: RuleConfiguration_for_Null;
1271
1341
  /**
1272
1342
  * 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
1343
  */
1274
- useValidTypeof?: RuleConfiguration;
1344
+ useValidTypeof?: RuleConfiguration_for_Null;
1275
1345
  }
1276
1346
  interface OverrideFormatterConfiguration {
1347
+ /**
1348
+ * The attribute position style.
1349
+ */
1350
+ attributePosition?: AttributePosition;
1277
1351
  enabled?: boolean;
1278
1352
  /**
1279
1353
  * Stores whether formatting should be allowed to proceed if a given file has syntax errors
@@ -1316,27 +1390,123 @@ interface OverrideOrganizeImportsConfiguration {
1316
1390
  */
1317
1391
  enabled?: boolean;
1318
1392
  }
1319
- type RuleConfiguration = RulePlainConfiguration | RuleWithOptions;
1393
+ type RuleConfiguration_for_Null =
1394
+ | RulePlainConfiguration
1395
+ | RuleWithOptions_for_Null;
1396
+ type RuleConfiguration_for_ValidAriaRoleOptions =
1397
+ | RulePlainConfiguration
1398
+ | RuleWithOptions_for_ValidAriaRoleOptions;
1399
+ type RuleConfiguration_for_ComplexityOptions =
1400
+ | RulePlainConfiguration
1401
+ | RuleWithOptions_for_ComplexityOptions;
1402
+ type RuleConfiguration_for_HooksOptions =
1403
+ | RulePlainConfiguration
1404
+ | RuleWithOptions_for_HooksOptions;
1405
+ type RuleConfiguration_for_DeprecatedHooksOptions =
1406
+ | RulePlainConfiguration
1407
+ | RuleWithOptions_for_DeprecatedHooksOptions;
1408
+ type RuleConfiguration_for_RestrictedImportsOptions =
1409
+ | RulePlainConfiguration
1410
+ | RuleWithOptions_for_RestrictedImportsOptions;
1411
+ type RuleConfiguration_for_UtilityClassSortingOptions =
1412
+ | RulePlainConfiguration
1413
+ | RuleWithOptions_for_UtilityClassSortingOptions;
1414
+ type RuleConfiguration_for_RestrictedGlobalsOptions =
1415
+ | RulePlainConfiguration
1416
+ | RuleWithOptions_for_RestrictedGlobalsOptions;
1417
+ type RuleConfiguration_for_ConsistentArrayTypeOptions =
1418
+ | RulePlainConfiguration
1419
+ | RuleWithOptions_for_ConsistentArrayTypeOptions;
1420
+ type RuleConfiguration_for_FilenamingConventionOptions =
1421
+ | RulePlainConfiguration
1422
+ | RuleWithOptions_for_FilenamingConventionOptions;
1423
+ type RuleConfiguration_for_NamingConventionOptions =
1424
+ | RulePlainConfiguration
1425
+ | RuleWithOptions_for_NamingConventionOptions;
1320
1426
  type RulePlainConfiguration = "warn" | "error" | "off";
1321
- interface RuleWithOptions {
1427
+ interface RuleWithOptions_for_Null {
1428
+ level: RulePlainConfiguration;
1429
+ options: null;
1430
+ }
1431
+ interface RuleWithOptions_for_ValidAriaRoleOptions {
1432
+ level: RulePlainConfiguration;
1433
+ options: ValidAriaRoleOptions;
1434
+ }
1435
+ interface RuleWithOptions_for_ComplexityOptions {
1322
1436
  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;
1437
+ options: ComplexityOptions;
1438
+ }
1439
+ interface RuleWithOptions_for_HooksOptions {
1440
+ level: RulePlainConfiguration;
1441
+ options: HooksOptions;
1442
+ }
1443
+ interface RuleWithOptions_for_DeprecatedHooksOptions {
1444
+ level: RulePlainConfiguration;
1445
+ options: DeprecatedHooksOptions;
1446
+ }
1447
+ interface RuleWithOptions_for_RestrictedImportsOptions {
1448
+ level: RulePlainConfiguration;
1449
+ options: RestrictedImportsOptions;
1450
+ }
1451
+ interface RuleWithOptions_for_UtilityClassSortingOptions {
1452
+ level: RulePlainConfiguration;
1453
+ options: UtilityClassSortingOptions;
1454
+ }
1455
+ interface RuleWithOptions_for_RestrictedGlobalsOptions {
1456
+ level: RulePlainConfiguration;
1457
+ options: RestrictedGlobalsOptions;
1458
+ }
1459
+ interface RuleWithOptions_for_ConsistentArrayTypeOptions {
1460
+ level: RulePlainConfiguration;
1461
+ options: ConsistentArrayTypeOptions;
1462
+ }
1463
+ interface RuleWithOptions_for_FilenamingConventionOptions {
1464
+ level: RulePlainConfiguration;
1465
+ options: FilenamingConventionOptions;
1466
+ }
1467
+ interface RuleWithOptions_for_NamingConventionOptions {
1468
+ level: RulePlainConfiguration;
1469
+ options: NamingConventionOptions;
1470
+ }
1471
+ interface ValidAriaRoleOptions {
1472
+ allowInvalidRoles: string[];
1473
+ ignoreNonDom: boolean;
1474
+ }
1334
1475
  interface ComplexityOptions {
1335
1476
  /**
1336
1477
  * The maximum complexity score that we allow. Anything higher is considered excessive.
1337
1478
  */
1338
1479
  maxAllowedComplexity: number;
1339
1480
  }
1481
+ interface HooksOptions {
1482
+ /**
1483
+ * List of hooks of which the dependencies should be validated.
1484
+ */
1485
+ hooks: Hook[];
1486
+ }
1487
+ interface DeprecatedHooksOptions {}
1488
+ interface RestrictedImportsOptions {
1489
+ /**
1490
+ * A list of names that should trigger the rule
1491
+ */
1492
+ paths: {};
1493
+ }
1494
+ interface UtilityClassSortingOptions {
1495
+ /**
1496
+ * Additional attributes that will be sorted.
1497
+ */
1498
+ attributes?: string[];
1499
+ /**
1500
+ * Names of the functions or tagged templates that will be sorted.
1501
+ */
1502
+ functions?: string[];
1503
+ }
1504
+ interface RestrictedGlobalsOptions {
1505
+ /**
1506
+ * A list of names that should trigger the rule
1507
+ */
1508
+ deniedGlobals: string[];
1509
+ }
1340
1510
  interface ConsistentArrayTypeOptions {
1341
1511
  syntax: ConsistentArrayType;
1342
1512
  }
@@ -1346,117 +1516,143 @@ interface FilenamingConventionOptions {
1346
1516
  */
1347
1517
  filenameCases: FilenameCases;
1348
1518
  /**
1349
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1519
+ * If `false`, then non-ASCII characters are allowed.
1350
1520
  */
1351
- strictCase: boolean;
1352
- }
1353
- interface HooksOptions {
1521
+ requireAscii: boolean;
1354
1522
  /**
1355
- * List of safe hooks
1523
+ * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1356
1524
  */
1357
- hooks: Hooks[];
1525
+ strictCase: boolean;
1358
1526
  }
1359
- interface DeprecatedHooksOptions {}
1360
1527
  interface NamingConventionOptions {
1361
1528
  /**
1362
1529
  * Allowed cases for _TypeScript_ `enum` member names.
1363
1530
  */
1364
1531
  enumMemberCase: EnumMemberCase;
1365
1532
  /**
1366
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1533
+ * If `false`, then non-ASCII characters are allowed.
1367
1534
  */
1368
- strictCase: boolean;
1369
- }
1370
- interface RestrictedGlobalsOptions {
1535
+ requireAscii: boolean;
1371
1536
  /**
1372
- * A list of names that should trigger the rule
1537
+ * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
1373
1538
  */
1374
- deniedGlobals: string[];
1375
- }
1376
- interface ValidAriaRoleOptions {
1377
- allowInvalidRoles: string[];
1378
- ignoreNonDom: boolean;
1539
+ strictCase: boolean;
1379
1540
  }
1380
- type ConsistentArrayType = "shorthand" | "generic";
1381
- type FilenameCases = FilenameCase[];
1382
- interface Hooks {
1541
+ interface Hook {
1383
1542
  /**
1384
1543
  * The "position" of the closure function, starting from zero.
1385
1544
 
1386
- ### Example
1545
+ For example, for React's `useEffect()` hook, the closure index is 0.
1387
1546
  */
1388
1547
  closureIndex?: number;
1389
1548
  /**
1390
- * The "position" of the array of dependencies, starting from zero.
1549
+ * The "position" of the array of dependencies, starting from zero.
1550
+
1551
+ For example, for React's `useEffect()` hook, the dependencies index is 1.
1391
1552
  */
1392
1553
  dependenciesIndex?: number;
1393
1554
  /**
1394
- * The name of the hook
1555
+ * The name of the hook.
1395
1556
  */
1396
1557
  name: string;
1558
+ /**
1559
+ * Whether the result of the hook is stable.
1560
+
1561
+ 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.
1562
+
1563
+ For example, for React's `useRef()` hook the value would be `true`, while for `useState()` it would be `[1]`.
1564
+ */
1565
+ stableResult: StableHookResult;
1397
1566
  }
1567
+ type ConsistentArrayType = "shorthand" | "generic";
1568
+ type FilenameCases = FilenameCase[];
1398
1569
  type EnumMemberCase = "PascalCase" | "CONSTANT_CASE" | "camelCase";
1570
+ type StableHookResult = "None" | "Identity" | { Indices: number[] };
1399
1571
  type FilenameCase =
1400
1572
  | "camelCase"
1401
1573
  | "export"
1402
1574
  | "kebab-case"
1403
1575
  | "PascalCase"
1404
1576
  | "snake_case";
1405
- interface ProjectFeaturesParams {
1406
- manifest_path: RomePath;
1577
+ interface UpdateProjectParams {
1578
+ path: BiomePath;
1579
+ }
1580
+ interface OpenProjectParams {
1581
+ content: string;
1582
+ path: BiomePath;
1583
+ version: number;
1407
1584
  }
1408
- interface ProjectFeaturesResult {}
1409
1585
  interface OpenFileParams {
1410
1586
  content: string;
1411
- language_hint?: Language;
1412
- path: RomePath;
1587
+ document_file_source?: DocumentFileSource;
1588
+ path: BiomePath;
1413
1589
  version: number;
1414
1590
  }
1415
- type Language =
1416
- | "JavaScript"
1417
- | "JavaScriptReact"
1418
- | "TypeScript"
1419
- | "TypeScriptReact"
1420
- | "Json"
1421
- | "Jsonc"
1422
- | "Css"
1423
- | "Unknown";
1591
+ type DocumentFileSource =
1592
+ | "Unknown"
1593
+ | { Js: JsFileSource }
1594
+ | { Json: JsonFileSource }
1595
+ | { Css: CssFileSource };
1596
+ interface JsFileSource {
1597
+ /**
1598
+ * Used to mark if the source is being used for an Astro, Svelte or Vue file
1599
+ */
1600
+ embedding_kind: EmbeddingKind;
1601
+ language: Language;
1602
+ module_kind: ModuleKind;
1603
+ variant: LanguageVariant;
1604
+ version: LanguageVersion;
1605
+ }
1606
+ interface JsonFileSource {
1607
+ allow_trailing_comma: boolean;
1608
+ variant: JsonVariant;
1609
+ }
1610
+ interface CssFileSource {
1611
+ variant: CssVariant;
1612
+ }
1613
+ type EmbeddingKind = "Astro" | "Vue" | "Svelte" | "None";
1614
+ type Language = "JavaScript" | { TypeScript: { definition_file: boolean } };
1615
+ type ModuleKind = "Script" | "Module";
1616
+ type LanguageVariant = "Standard" | "StandardRestricted" | "Jsx";
1617
+ type LanguageVersion = "ES2022" | "ESNext";
1618
+ type JsonVariant = "Standard" | "Jsonc";
1619
+ type CssVariant = "Standard";
1424
1620
  interface ChangeFileParams {
1425
1621
  content: string;
1426
- path: RomePath;
1622
+ path: BiomePath;
1427
1623
  version: number;
1428
1624
  }
1429
1625
  interface CloseFileParams {
1430
- path: RomePath;
1626
+ path: BiomePath;
1431
1627
  }
1432
1628
  interface GetSyntaxTreeParams {
1433
- path: RomePath;
1629
+ path: BiomePath;
1434
1630
  }
1435
1631
  interface GetSyntaxTreeResult {
1436
1632
  ast: string;
1437
1633
  cst: string;
1438
1634
  }
1439
1635
  interface OrganizeImportsParams {
1440
- path: RomePath;
1636
+ path: BiomePath;
1441
1637
  }
1442
1638
  interface OrganizeImportsResult {
1443
1639
  code: string;
1444
1640
  }
1445
1641
  interface GetFileContentParams {
1446
- path: RomePath;
1642
+ path: BiomePath;
1447
1643
  }
1448
1644
  interface GetControlFlowGraphParams {
1449
1645
  cursor: TextSize;
1450
- path: RomePath;
1646
+ path: BiomePath;
1451
1647
  }
1452
1648
  type TextSize = number;
1453
1649
  interface GetFormatterIRParams {
1454
- path: RomePath;
1650
+ path: BiomePath;
1455
1651
  }
1456
1652
  interface PullDiagnosticsParams {
1457
1653
  categories: RuleCategories;
1458
1654
  max_diagnostics: number;
1459
- path: RomePath;
1655
+ path: BiomePath;
1460
1656
  }
1461
1657
  type RuleCategories = RuleCategory[];
1462
1658
  type RuleCategory = "Syntax" | "Lint" | "Action" | "Transformation";
@@ -1511,6 +1707,7 @@ type Category =
1511
1707
  | "lint/a11y/useValidAriaValues"
1512
1708
  | "lint/a11y/useValidLang"
1513
1709
  | "lint/complexity/noBannedTypes"
1710
+ | "lint/complexity/noEmptyTypeParameters"
1514
1711
  | "lint/complexity/noExcessiveCognitiveComplexity"
1515
1712
  | "lint/complexity/noExtraBooleanCast"
1516
1713
  | "lint/complexity/noForEach"
@@ -1522,6 +1719,7 @@ type Category =
1522
1719
  | "lint/complexity/noUselessEmptyExport"
1523
1720
  | "lint/complexity/noUselessFragments"
1524
1721
  | "lint/complexity/noUselessLabel"
1722
+ | "lint/complexity/noUselessLoneBlockStatements"
1525
1723
  | "lint/complexity/noUselessRename"
1526
1724
  | "lint/complexity/noUselessSwitchCase"
1527
1725
  | "lint/complexity/noUselessThisAlias"
@@ -1545,6 +1743,7 @@ type Category =
1545
1743
  | "lint/correctness/noInnerDeclarations"
1546
1744
  | "lint/correctness/noInvalidConstructorSuper"
1547
1745
  | "lint/correctness/noInvalidNewBuiltin"
1746
+ | "lint/correctness/noInvalidUseBeforeDeclaration"
1548
1747
  | "lint/correctness/noNewSymbol"
1549
1748
  | "lint/correctness/noNonoctalDecimalEscape"
1550
1749
  | "lint/correctness/noPrecisionLoss"
@@ -1559,7 +1758,9 @@ type Category =
1559
1758
  | "lint/correctness/noUnreachableSuper"
1560
1759
  | "lint/correctness/noUnsafeFinally"
1561
1760
  | "lint/correctness/noUnsafeOptionalChaining"
1761
+ | "lint/correctness/noUnusedImports"
1562
1762
  | "lint/correctness/noUnusedLabels"
1763
+ | "lint/correctness/noUnusedPrivateClassMembers"
1563
1764
  | "lint/correctness/noUnusedVariables"
1564
1765
  | "lint/correctness/noVoidElementsWithChildren"
1565
1766
  | "lint/correctness/noVoidTypeReturn"
@@ -1569,36 +1770,32 @@ type Category =
1569
1770
  | "lint/correctness/useValidForDirection"
1570
1771
  | "lint/correctness/useYield"
1571
1772
  | "lint/nursery/noApproximativeNumericConstant"
1773
+ | "lint/nursery/noBarrelFile"
1774
+ | "lint/nursery/noConsole"
1572
1775
  | "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"
1776
+ | "lint/nursery/noDuplicateTestHooks"
1777
+ | "lint/nursery/noExcessiveNestedTestSuites"
1778
+ | "lint/nursery/noExportsInTest"
1779
+ | "lint/nursery/noFocusedTests"
1780
+ | "lint/nursery/noNamespaceImport"
1579
1781
  | "lint/nursery/noNodejsModules"
1580
- | "lint/nursery/noThenProperty"
1782
+ | "lint/nursery/noReExportAll"
1783
+ | "lint/nursery/noRestrictedImports"
1784
+ | "lint/nursery/noSemicolonInJsx"
1785
+ | "lint/nursery/noSkippedTests"
1581
1786
  | "lint/nursery/noTypeOnlyImportAttributes"
1582
- | "lint/nursery/noUnusedImports"
1583
- | "lint/nursery/noUnusedPrivateClassMembers"
1584
- | "lint/nursery/noUselessLoneBlockStatements"
1787
+ | "lint/nursery/noUndeclaredDependencies"
1585
1788
  | "lint/nursery/noUselessTernary"
1586
- | "lint/nursery/useAwait"
1587
1789
  | "lint/nursery/useBiomeSuppressionComment"
1588
- | "lint/nursery/useConsistentArrayType"
1589
- | "lint/nursery/useExportType"
1590
- | "lint/nursery/useFilenamingConvention"
1591
- | "lint/nursery/useForOf"
1592
- | "lint/nursery/useGroupedTypeImport"
1593
1790
  | "lint/nursery/useImportRestrictions"
1594
- | "lint/nursery/useImportType"
1595
- | "lint/nursery/useNodejsImportProtocol"
1596
- | "lint/nursery/useNumberNamespace"
1597
- | "lint/nursery/useShorthandFunctionType"
1791
+ | "lint/nursery/useJsxKeyInIterable"
1792
+ | "lint/nursery/useNodeAssertStrict"
1793
+ | "lint/nursery/useSortedClasses"
1598
1794
  | "lint/performance/noAccumulatingSpread"
1599
1795
  | "lint/performance/noDelete"
1600
1796
  | "lint/security/noDangerouslySetInnerHtml"
1601
1797
  | "lint/security/noDangerouslySetInnerHtmlWithChildren"
1798
+ | "lint/security/noGlobalEval"
1602
1799
  | "lint/style/noArguments"
1603
1800
  | "lint/style/noCommaOperator"
1604
1801
  | "lint/style/noDefaultExport"
@@ -1617,17 +1814,25 @@ type Category =
1617
1814
  | "lint/style/useAsConstAssertion"
1618
1815
  | "lint/style/useBlockStatements"
1619
1816
  | "lint/style/useCollapsedElseIf"
1817
+ | "lint/style/useConsistentArrayType"
1620
1818
  | "lint/style/useConst"
1621
1819
  | "lint/style/useDefaultParameterLast"
1622
1820
  | "lint/style/useEnumInitializers"
1623
1821
  | "lint/style/useExponentiationOperator"
1822
+ | "lint/style/useExportType"
1823
+ | "lint/style/useFilenamingConvention"
1824
+ | "lint/style/useForOf"
1624
1825
  | "lint/style/useFragmentSyntax"
1826
+ | "lint/style/useImportType"
1625
1827
  | "lint/style/useLiteralEnumMembers"
1626
1828
  | "lint/style/useNamingConvention"
1829
+ | "lint/style/useNodejsImportProtocol"
1830
+ | "lint/style/useNumberNamespace"
1627
1831
  | "lint/style/useNumericLiterals"
1628
1832
  | "lint/style/useSelfClosingElements"
1629
1833
  | "lint/style/useShorthandArrayType"
1630
1834
  | "lint/style/useShorthandAssign"
1835
+ | "lint/style/useShorthandFunctionType"
1631
1836
  | "lint/style/useSingleCaseStatement"
1632
1837
  | "lint/style/useSingleVarDeclarator"
1633
1838
  | "lint/style/useTemplate"
@@ -1652,16 +1857,19 @@ type Category =
1652
1857
  | "lint/suspicious/noDuplicateJsxProps"
1653
1858
  | "lint/suspicious/noDuplicateObjectKeys"
1654
1859
  | "lint/suspicious/noDuplicateParameters"
1860
+ | "lint/suspicious/noEmptyBlockStatements"
1655
1861
  | "lint/suspicious/noEmptyInterface"
1656
1862
  | "lint/suspicious/noExplicitAny"
1657
1863
  | "lint/suspicious/noExtraNonNullAssertion"
1658
1864
  | "lint/suspicious/noFallthroughSwitchClause"
1659
1865
  | "lint/suspicious/noFunctionAssign"
1866
+ | "lint/suspicious/noGlobalAssign"
1660
1867
  | "lint/suspicious/noGlobalIsFinite"
1661
1868
  | "lint/suspicious/noGlobalIsNan"
1662
1869
  | "lint/suspicious/noImplicitAnyLet"
1663
1870
  | "lint/suspicious/noImportAssign"
1664
1871
  | "lint/suspicious/noLabelVar"
1872
+ | "lint/suspicious/noMisleadingCharacterClass"
1665
1873
  | "lint/suspicious/noMisleadingInstantiator"
1666
1874
  | "lint/suspicious/noMisrefactoredShorthandAssign"
1667
1875
  | "lint/suspicious/noPrototypeBuiltins"
@@ -1670,8 +1878,10 @@ type Category =
1670
1878
  | "lint/suspicious/noSelfCompare"
1671
1879
  | "lint/suspicious/noShadowRestrictedNames"
1672
1880
  | "lint/suspicious/noSparseArray"
1881
+ | "lint/suspicious/noThenProperty"
1673
1882
  | "lint/suspicious/noUnsafeDeclarationMerging"
1674
1883
  | "lint/suspicious/noUnsafeNegation"
1884
+ | "lint/suspicious/useAwait"
1675
1885
  | "lint/suspicious/useDefaultSwitchClauseLast"
1676
1886
  | "lint/suspicious/useGetterReturn"
1677
1887
  | "lint/suspicious/useIsArray"
@@ -1773,7 +1983,7 @@ interface BacktraceSymbol {
1773
1983
  name?: string;
1774
1984
  }
1775
1985
  interface PullActionsParams {
1776
- path: RomePath;
1986
+ path: BiomePath;
1777
1987
  range: TextRange;
1778
1988
  }
1779
1989
  interface PullActionsResult {
@@ -1809,7 +2019,7 @@ type SourceActionKind =
1809
2019
  | { Other: string };
1810
2020
  type Applicability = "Always" | "MaybeIncorrect";
1811
2021
  interface FormatFileParams {
1812
- path: RomePath;
2022
+ path: BiomePath;
1813
2023
  }
1814
2024
  interface Printed {
1815
2025
  code: string;
@@ -1828,16 +2038,16 @@ interface SourceMarker {
1828
2038
  source: TextSize;
1829
2039
  }
1830
2040
  interface FormatRangeParams {
1831
- path: RomePath;
2041
+ path: BiomePath;
1832
2042
  range: TextRange;
1833
2043
  }
1834
2044
  interface FormatOnTypeParams {
1835
2045
  offset: TextSize;
1836
- path: RomePath;
2046
+ path: BiomePath;
1837
2047
  }
1838
2048
  interface FixFileParams {
1839
2049
  fix_file_mode: FixFileMode;
1840
- path: RomePath;
2050
+ path: BiomePath;
1841
2051
  should_format: boolean;
1842
2052
  }
1843
2053
  type FixFileMode = "SafeFixes" | "SafeAndUnsafeFixes";
@@ -1871,7 +2081,7 @@ interface FixAction {
1871
2081
  }
1872
2082
  interface RenameParams {
1873
2083
  new_name: string;
1874
- path: RomePath;
2084
+ path: BiomePath;
1875
2085
  symbol_at: TextSize;
1876
2086
  }
1877
2087
  interface RenameResult {