@biomejs/wasm-nodejs 1.8.4-nightly.bd1d0c6 → 1.9.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
@@ -9,9 +9,27 @@ interface SupportsFeatureParams {
9
9
  }
10
10
  type FeatureName = FeatureKind[];
11
11
  interface BiomePath {
12
+ /**
13
+ * Determines the kind of the file inside Biome. Some files are considered as configuration files, others as manifest files, and others as files to handle
14
+ */
15
+ kind: FileKind;
16
+ /**
17
+ * The path to the file
18
+ */
12
19
  path: string;
20
+ /**
21
+ * Whether this path (usually a file) was fixed as a result of a format/lint/check command with the `--write` filag.
22
+ */
23
+ was_written: boolean;
13
24
  }
14
25
  type FeatureKind = "Format" | "Lint" | "OrganizeImports" | "Search" | "Assists";
26
+ type FileKind = FileKind2[];
27
+ type FileKind2 =
28
+ | "Config"
29
+ | "Manifest"
30
+ | "Ignore"
31
+ | "Inspectable"
32
+ | "Handleable";
15
33
  interface SupportsFeatureResult {
16
34
  reason?: SupportKind;
17
35
  }
@@ -32,6 +50,10 @@ interface PartialConfiguration {
32
50
  * A field for the [JSON schema](https://json-schema.org/) specification
33
51
  */
34
52
  $schema?: string;
53
+ /**
54
+ * Specific configuration for assists
55
+ */
56
+ assists?: PartialAssistsConfiguration;
35
57
  /**
36
58
  * Specific configuration for the Css language
37
59
  */
@@ -77,7 +99,29 @@ interface PartialConfiguration {
77
99
  */
78
100
  vcs?: PartialVcsConfiguration;
79
101
  }
102
+ interface PartialAssistsConfiguration {
103
+ /**
104
+ * Whether Biome should fail in CLI if the assists were not applied to the code.
105
+ */
106
+ actions?: Actions;
107
+ /**
108
+ * Whether Biome should enable assists via LSP.
109
+ */
110
+ enabled?: boolean;
111
+ /**
112
+ * A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.
113
+ */
114
+ ignore?: StringSet;
115
+ /**
116
+ * A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.
117
+ */
118
+ include?: StringSet;
119
+ }
80
120
  interface PartialCssConfiguration {
121
+ /**
122
+ * CSS assists options
123
+ */
124
+ assists?: PartialCssAssists;
81
125
  /**
82
126
  * CSS formatter options
83
127
  */
@@ -139,7 +183,7 @@ interface PartialFormatterConfiguration {
139
183
  /**
140
184
  * The indent style.
141
185
  */
142
- indentStyle?: PlainIndentStyle;
186
+ indentStyle?: IndentStyle;
143
187
  /**
144
188
  * The size of the indentation, 2 by default
145
189
  */
@@ -165,6 +209,10 @@ interface PartialGraphqlConfiguration {
165
209
  linter?: PartialGraphqlLinter;
166
210
  }
167
211
  interface PartialJavascriptConfiguration {
212
+ /**
213
+ * Assists options
214
+ */
215
+ assists?: PartialJavascriptAssists;
168
216
  /**
169
217
  * Formatting options
170
218
  */
@@ -190,6 +238,10 @@ If defined here, they should not emit diagnostics.
190
238
  parser?: PartialJavascriptParser;
191
239
  }
192
240
  interface PartialJsonConfiguration {
241
+ /**
242
+ * Assists options
243
+ */
244
+ assists?: PartialJsonAssists;
193
245
  /**
194
246
  * Formatting options
195
247
  */
@@ -260,6 +312,15 @@ If Biome can't find the configuration, it will attempt to use the current workin
260
312
  */
261
313
  useIgnoreFile?: boolean;
262
314
  }
315
+ interface Actions {
316
+ source?: Source;
317
+ }
318
+ interface PartialCssAssists {
319
+ /**
320
+ * Control the assists for CSS files.
321
+ */
322
+ enabled?: boolean;
323
+ }
263
324
  interface PartialCssFormatter {
264
325
  /**
265
326
  * Control the formatter for CSS (and its super languages) files.
@@ -268,7 +329,7 @@ interface PartialCssFormatter {
268
329
  /**
269
330
  * The indent style applied to CSS (and its super languages) files.
270
331
  */
271
- indentStyle?: PlainIndentStyle;
332
+ indentStyle?: IndentStyle;
272
333
  /**
273
334
  * The size of the indentation applied to CSS (and its super languages) files. Default to 2.
274
335
  */
@@ -288,7 +349,7 @@ interface PartialCssFormatter {
288
349
  }
289
350
  interface PartialCssLinter {
290
351
  /**
291
- * Control the linter for CSS (and its super languages) files.
352
+ * Control the linter for CSS files.
292
353
  */
293
354
  enabled?: boolean;
294
355
  }
@@ -305,7 +366,7 @@ interface PartialCssParser {
305
366
  type AttributePosition = "auto" | "multiline";
306
367
  type BracketSpacing = boolean;
307
368
  type IndentWidth = number;
308
- type PlainIndentStyle = "tab" | "space";
369
+ type IndentStyle = "tab" | "space";
309
370
  type LineEnding = "lf" | "crlf" | "cr";
310
371
  type LineWidth = number;
311
372
  interface PartialGraphqlFormatter {
@@ -320,7 +381,7 @@ interface PartialGraphqlFormatter {
320
381
  /**
321
382
  * The indent style applied to GraphQL files.
322
383
  */
323
- indentStyle?: PlainIndentStyle;
384
+ indentStyle?: IndentStyle;
324
385
  /**
325
386
  * The size of the indentation applied to GraphQL files. Default to 2.
326
387
  */
@@ -344,6 +405,12 @@ interface PartialGraphqlLinter {
344
405
  */
345
406
  enabled?: boolean;
346
407
  }
408
+ interface PartialJavascriptAssists {
409
+ /**
410
+ * Control the linter for JavaScript (and its super languages) files.
411
+ */
412
+ enabled?: boolean;
413
+ }
347
414
  interface PartialJavascriptFormatter {
348
415
  /**
349
416
  * Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
@@ -372,7 +439,7 @@ interface PartialJavascriptFormatter {
372
439
  /**
373
440
  * The indent style applied to JavaScript (and its super languages) files.
374
441
  */
375
- indentStyle?: PlainIndentStyle;
442
+ indentStyle?: IndentStyle;
376
443
  /**
377
444
  * The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
378
445
  */
@@ -426,6 +493,12 @@ These decorators belong to an old proposal, and they are subject to change.
426
493
  */
427
494
  unsafeParameterDecoratorsEnabled?: boolean;
428
495
  }
496
+ interface PartialJsonAssists {
497
+ /**
498
+ * Control the linter for JSON (and its super languages) files.
499
+ */
500
+ enabled?: boolean;
501
+ }
429
502
  interface PartialJsonFormatter {
430
503
  /**
431
504
  * Control the formatter for JSON (and its super languages) files.
@@ -438,7 +511,7 @@ interface PartialJsonFormatter {
438
511
  /**
439
512
  * The indent style applied to JSON (and its super languages) files.
440
513
  */
441
- indentStyle?: PlainIndentStyle;
514
+ indentStyle?: IndentStyle;
442
515
  /**
443
516
  * The size of the indentation applied to JSON (and its super languages) files. Default to 2.
444
517
  */
@@ -529,6 +602,16 @@ interface OverridePattern {
529
602
  organizeImports?: OverrideOrganizeImportsConfiguration;
530
603
  }
531
604
  type VcsClientKind = "git";
605
+ interface Source {
606
+ /**
607
+ * Enforce props sorting in JSX elements.
608
+ */
609
+ sortJsxProps?: RuleAssistConfiguration;
610
+ /**
611
+ * Sorts the keys of a JSON object in natural order
612
+ */
613
+ useSortedKeys?: RuleAssistConfiguration;
614
+ }
532
615
  type QuoteStyle = "double" | "single";
533
616
  type ArrowParentheses = "always" | "asNeeded";
534
617
  type QuoteProperties = "asNeeded" | "preserve";
@@ -559,7 +642,7 @@ interface A11y {
559
642
  /**
560
643
  * Disallow target="_blank" attribute without rel="noreferrer"
561
644
  */
562
- noBlankTarget?: RuleFixConfiguration_for_Null;
645
+ noBlankTarget?: RuleFixConfiguration_for_AllowDomainOptions;
563
646
  /**
564
647
  * Enforces that no distracting elements are used.
565
648
  */
@@ -572,6 +655,10 @@ interface A11y {
572
655
  * Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.
573
656
  */
574
657
  noInteractiveElementToNoninteractiveRole?: RuleFixConfiguration_for_Null;
658
+ /**
659
+ * Enforce that a label element or component has a text label and an associated input.
660
+ */
661
+ noLabelWithoutControl?: RuleConfiguration_for_NoLabelWithoutControlOptions;
575
662
  /**
576
663
  * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.
577
664
  */
@@ -620,6 +707,14 @@ interface A11y {
620
707
  * Enforces the usage of the attribute type for the element button
621
708
  */
622
709
  useButtonType?: RuleConfiguration_for_Null;
710
+ /**
711
+ * Elements with an interactive role and interaction handlers must be focusable.
712
+ */
713
+ useFocusableInteractive?: RuleConfiguration_for_Null;
714
+ /**
715
+ * Disallow a missing generic family keyword within font families.
716
+ */
717
+ useGenericFontNames?: RuleConfiguration_for_Null;
623
718
  /**
624
719
  * 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.
625
720
  */
@@ -644,6 +739,10 @@ interface A11y {
644
739
  * Enforces that audio and video elements must have a track for captions.
645
740
  */
646
741
  useMediaCaption?: RuleConfiguration_for_Null;
742
+ /**
743
+ * It detects the use of role attributes in JSX elements and suggests using semantic elements instead.
744
+ */
745
+ useSemanticElements?: RuleConfiguration_for_Null;
647
746
  /**
648
747
  * Enforce that all anchors are valid, and they are navigable elements.
649
748
  */
@@ -709,7 +808,7 @@ interface Complexity {
709
808
  /**
710
809
  * Disallow unnecessary catch clauses.
711
810
  */
712
- noUselessCatch?: RuleConfiguration_for_Null;
811
+ noUselessCatch?: RuleFixConfiguration_for_Null;
713
812
  /**
714
813
  * Disallow unnecessary constructors.
715
814
  */
@@ -734,6 +833,10 @@ interface Complexity {
734
833
  * Disallow renaming import, export, and destructured assignments to the same name.
735
834
  */
736
835
  noUselessRename?: RuleFixConfiguration_for_Null;
836
+ /**
837
+ * Disallow unnecessary concatenation of string or template literals.
838
+ */
839
+ noUselessStringConcat?: RuleFixConfiguration_for_Null;
737
840
  /**
738
841
  * Disallow useless case in switch statements.
739
842
  */
@@ -750,6 +853,10 @@ interface Complexity {
750
853
  * Disallow using any or unknown as type constraint.
751
854
  */
752
855
  noUselessTypeConstraint?: RuleFixConfiguration_for_Null;
856
+ /**
857
+ * Disallow initializing variables to undefined.
858
+ */
859
+ noUselessUndefinedInitialization?: RuleFixConfiguration_for_Null;
753
860
  /**
754
861
  * Disallow the use of void operators, which is not a familiar operator.
755
862
  */
@@ -766,6 +873,10 @@ interface Complexity {
766
873
  * Use arrow functions over function expressions.
767
874
  */
768
875
  useArrowFunction?: RuleFixConfiguration_for_Null;
876
+ /**
877
+ * Use Date.now() to get the number of milliseconds since the Unix Epoch.
878
+ */
879
+ useDateNow?: RuleFixConfiguration_for_Null;
769
880
  /**
770
881
  * Promotes the use of .flatMap() when map().flat() are used together.
771
882
  */
@@ -836,14 +947,30 @@ interface Correctness {
836
947
  * Disallow function and var declarations that are accessible outside their block.
837
948
  */
838
949
  noInnerDeclarations?: RuleConfiguration_for_Null;
950
+ /**
951
+ * Ensure that builtins are correctly instantiated.
952
+ */
953
+ noInvalidBuiltinInstantiation?: RuleFixConfiguration_for_Null;
839
954
  /**
840
955
  * Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.
841
956
  */
842
957
  noInvalidConstructorSuper?: RuleConfiguration_for_Null;
958
+ /**
959
+ * Disallow non-standard direction values for linear gradient functions.
960
+ */
961
+ noInvalidDirectionInLinearGradient?: RuleConfiguration_for_Null;
962
+ /**
963
+ * Disallows invalid named grid areas in CSS Grid Layouts.
964
+ */
965
+ noInvalidGridAreas?: RuleConfiguration_for_Null;
843
966
  /**
844
967
  * Disallow new operators with global non-constructor functions.
845
968
  */
846
969
  noInvalidNewBuiltin?: RuleFixConfiguration_for_Null;
970
+ /**
971
+ * Disallow the use of @import at-rules in invalid positions.
972
+ */
973
+ noInvalidPositionAtImportRule?: RuleConfiguration_for_Null;
847
974
  /**
848
975
  * Disallow the use of variables and function parameters before their declaration
849
976
  */
@@ -884,10 +1011,34 @@ interface Correctness {
884
1011
  * Disallow lexical declarations in switch clauses.
885
1012
  */
886
1013
  noSwitchDeclarations?: RuleFixConfiguration_for_Null;
1014
+ /**
1015
+ * Disallow the use of dependencies that aren't specified in the package.json.
1016
+ */
1017
+ noUndeclaredDependencies?: RuleConfiguration_for_Null;
887
1018
  /**
888
1019
  * Prevents the usage of variables that haven't been declared inside the document.
889
1020
  */
890
1021
  noUndeclaredVariables?: RuleConfiguration_for_Null;
1022
+ /**
1023
+ * Disallow unknown CSS value functions.
1024
+ */
1025
+ noUnknownFunction?: RuleConfiguration_for_Null;
1026
+ /**
1027
+ * Disallow unknown media feature names.
1028
+ */
1029
+ noUnknownMediaFeatureName?: RuleConfiguration_for_Null;
1030
+ /**
1031
+ * Disallow unknown properties.
1032
+ */
1033
+ noUnknownProperty?: RuleConfiguration_for_Null;
1034
+ /**
1035
+ * Disallow unknown CSS units.
1036
+ */
1037
+ noUnknownUnit?: RuleConfiguration_for_Null;
1038
+ /**
1039
+ * Disallow unmatchable An+B selectors.
1040
+ */
1041
+ noUnmatchableAnbSelector?: RuleConfiguration_for_Null;
891
1042
  /**
892
1043
  * Avoid using unnecessary continue.
893
1044
  */
@@ -908,6 +1059,10 @@ interface Correctness {
908
1059
  * Disallow the use of optional chaining in contexts where the undefined value is not allowed.
909
1060
  */
910
1061
  noUnsafeOptionalChaining?: RuleConfiguration_for_Null;
1062
+ /**
1063
+ * Disallow unused function parameters.
1064
+ */
1065
+ noUnusedFunctionParameters?: RuleFixConfiguration_for_Null;
911
1066
  /**
912
1067
  * Disallow unused imports.
913
1068
  */
@@ -948,6 +1103,10 @@ interface Correctness {
948
1103
  * Enforce that all React hooks are being called from the Top Level component functions.
949
1104
  */
950
1105
  useHookAtTopLevel?: RuleConfiguration_for_DeprecatedHooksOptions;
1106
+ /**
1107
+ * Enforce file extensions for relative imports.
1108
+ */
1109
+ useImportExtensions?: RuleFixConfiguration_for_UseImportExtensionsOptions;
951
1110
  /**
952
1111
  * Require calls to isNaN() when checking for NaN.
953
1112
  */
@@ -971,33 +1130,17 @@ interface Nursery {
971
1130
  */
972
1131
  all?: boolean;
973
1132
  /**
974
- * Disallow the use of console.
1133
+ * Disallow use of CommonJs module system in favor of ESM style imports.
975
1134
  */
976
- noConsole?: RuleFixConfiguration_for_Null;
1135
+ noCommonJs?: RuleConfiguration_for_Null;
977
1136
  /**
978
- * Disallow using a callback in asynchronous tests and hooks.
1137
+ * Disallow duplicate custom properties within declaration blocks.
979
1138
  */
980
- noDoneCallback?: RuleConfiguration_for_Null;
981
- /**
982
- * Disallow duplicate @import rules.
983
- */
984
- noDuplicateAtImportRules?: RuleConfiguration_for_Null;
1139
+ noDuplicateCustomProperties?: RuleConfiguration_for_Null;
985
1140
  /**
986
1141
  * Disallow duplicate conditions in if-else-if chains
987
1142
  */
988
1143
  noDuplicateElseIf?: RuleConfiguration_for_Null;
989
- /**
990
- * Disallow duplicate names within font families.
991
- */
992
- noDuplicateFontNames?: RuleConfiguration_for_Null;
993
- /**
994
- * Disallow two keys with the same name inside a JSON object.
995
- */
996
- noDuplicateJsonKeys?: RuleConfiguration_for_Null;
997
- /**
998
- * Disallow duplicate selectors within keyframe blocks.
999
- */
1000
- noDuplicateSelectorsKeyframeBlock?: RuleConfiguration_for_Null;
1001
1144
  /**
1002
1145
  * No duplicated fields in GraphQL operations.
1003
1146
  */
@@ -1007,57 +1150,29 @@ interface Nursery {
1007
1150
  */
1008
1151
  noDynamicNamespaceImportAccess?: RuleConfiguration_for_Null;
1009
1152
  /**
1010
- * Disallow CSS empty blocks.
1153
+ * Disallow TypeScript enum.
1011
1154
  */
1012
- noEmptyBlock?: RuleConfiguration_for_Null;
1013
- /**
1014
- * Disallow variables from evolving into any type through reassignments.
1015
- */
1016
- noEvolvingTypes?: RuleConfiguration_for_Null;
1155
+ noEnum?: RuleConfiguration_for_Null;
1017
1156
  /**
1018
1157
  * Disallow exporting an imported variable.
1019
1158
  */
1020
1159
  noExportedImports?: RuleConfiguration_for_Null;
1021
- /**
1022
- * Disallow invalid !important within keyframe declarations
1023
- */
1024
- noImportantInKeyframe?: RuleConfiguration_for_Null;
1025
- /**
1026
- * Disallow non-standard direction values for linear gradient functions.
1027
- */
1028
- noInvalidDirectionInLinearGradient?: RuleConfiguration_for_Null;
1029
- /**
1030
- * Disallow the use of @import at-rules in invalid positions.
1031
- */
1032
- noInvalidPositionAtImportRule?: RuleConfiguration_for_Null;
1033
1160
  /**
1034
1161
  * Disallows the use of irregular whitespace characters.
1035
1162
  */
1036
1163
  noIrregularWhitespace?: RuleConfiguration_for_Null;
1037
- /**
1038
- * Disallows the use of irregular whitespace.
1039
- */
1040
- noIrregularWhitespaceCss?: RuleConfiguration_for_Null;
1041
- /**
1042
- * Enforce that a label element or component has a text label and an associated input.
1043
- */
1044
- noLabelWithoutControl?: RuleConfiguration_for_NoLabelWithoutControlOptions;
1045
- /**
1046
- * Checks that the assertion function, for example expect, is placed inside an it() function call.
1047
- */
1048
- noMisplacedAssertion?: RuleConfiguration_for_Null;
1049
- /**
1050
- * Prevents React-specific JSX properties from being used.
1051
- */
1052
- noReactSpecificProps?: RuleFixConfiguration_for_Null;
1053
1164
  /**
1054
1165
  * Disallow specified modules when loaded by import or require.
1055
1166
  */
1056
1167
  noRestrictedImports?: RuleConfiguration_for_RestrictedImportsOptions;
1057
1168
  /**
1058
- * Disallow shorthand properties that override related longhand properties.
1169
+ * Disallow user defined types.
1059
1170
  */
1060
- noShorthandPropertyOverrides?: RuleConfiguration_for_Null;
1171
+ noRestrictedTypes?: RuleFixConfiguration_for_NoRestrictedTypesOptions;
1172
+ /**
1173
+ * Disallow usage of sensitive data such as API keys and tokens.
1174
+ */
1175
+ noSecrets?: RuleConfiguration_for_Null;
1061
1176
  /**
1062
1177
  * Enforce that static, visible elements (such as \<div>) that have click handlers use the valid role attribute.
1063
1178
  */
@@ -1066,58 +1181,22 @@ interface Nursery {
1066
1181
  * Enforce the use of String.slice() over String.substr() and String.substring().
1067
1182
  */
1068
1183
  noSubstr?: RuleFixConfiguration_for_Null;
1069
- /**
1070
- * Disallow the use of dependencies that aren't specified in the package.json.
1071
- */
1072
- noUndeclaredDependencies?: RuleConfiguration_for_Null;
1073
- /**
1074
- * Disallow unknown CSS value functions.
1075
- */
1076
- noUnknownFunction?: RuleConfiguration_for_Null;
1077
- /**
1078
- * Disallow unknown media feature names.
1079
- */
1080
- noUnknownMediaFeatureName?: RuleConfiguration_for_Null;
1081
- /**
1082
- * Disallow unknown properties.
1083
- */
1084
- noUnknownProperty?: RuleConfiguration_for_Null;
1085
1184
  /**
1086
1185
  * Disallow unknown pseudo-class selectors.
1087
1186
  */
1088
- noUnknownPseudoClassSelector?: RuleConfiguration_for_Null;
1187
+ noUnknownPseudoClass?: RuleConfiguration_for_Null;
1089
1188
  /**
1090
1189
  * Disallow unknown pseudo-element selectors.
1091
1190
  */
1092
- noUnknownSelectorPseudoElement?: RuleConfiguration_for_Null;
1093
- /**
1094
- * Disallow unknown CSS units.
1095
- */
1096
- noUnknownUnit?: RuleConfiguration_for_Null;
1097
- /**
1098
- * Disallow unmatchable An+B selectors.
1099
- */
1100
- noUnmatchableAnbSelector?: RuleConfiguration_for_Null;
1191
+ noUnknownPseudoElement?: RuleConfiguration_for_Null;
1101
1192
  /**
1102
- * Disallow unused function parameters.
1193
+ * Disallow unnecessary escape sequence in regular expression literals.
1103
1194
  */
1104
- noUnusedFunctionParameters?: RuleFixConfiguration_for_Null;
1105
- /**
1106
- * Disallow unnecessary concatenation of string or template literals.
1107
- */
1108
- noUselessStringConcat?: RuleFixConfiguration_for_Null;
1109
- /**
1110
- * Disallow initializing variables to undefined.
1111
- */
1112
- noUselessUndefinedInitialization?: RuleFixConfiguration_for_Null;
1195
+ noUselessEscapeInRegex?: RuleFixConfiguration_for_Null;
1113
1196
  /**
1114
1197
  * Disallow use of @value rule in css modules.
1115
1198
  */
1116
1199
  noValueAtRule?: RuleConfiguration_for_Null;
1117
- /**
1118
- * Disallow the use of yoda expressions.
1119
- */
1120
- noYodaExpression?: RuleFixConfiguration_for_Null;
1121
1200
  /**
1122
1201
  * It enables the recommended rules for this group
1123
1202
  */
@@ -1127,61 +1206,25 @@ interface Nursery {
1127
1206
  */
1128
1207
  useAdjacentOverloadSignatures?: RuleConfiguration_for_Null;
1129
1208
  /**
1130
- * Enforce the use of new for all builtins, except String, Number, Boolean, Symbol and BigInt.
1209
+ * Enforce that ARIA properties are valid for the roles that are supported by the element.
1131
1210
  */
1132
- useConsistentBuiltinInstantiation?: RuleFixConfiguration_for_Null;
1211
+ useAriaPropsSupportedByRole?: RuleConfiguration_for_Null;
1133
1212
  /**
1134
1213
  * This rule enforces consistent use of curly braces inside JSX attributes and JSX children.
1135
1214
  */
1136
1215
  useConsistentCurlyBraces?: RuleFixConfiguration_for_Null;
1137
1216
  /**
1138
- * Disallows invalid named grid areas in CSS Grid Layouts.
1217
+ * Require consistent accessibility modifiers on class properties and methods.
1139
1218
  */
1140
- useConsistentGridAreas?: RuleConfiguration_for_Null;
1141
- /**
1142
- * Use Date.now() to get the number of milliseconds since the Unix Epoch.
1143
- */
1144
- useDateNow?: RuleFixConfiguration_for_Null;
1145
- /**
1146
- * Require the default clause in switch statements.
1147
- */
1148
- useDefaultSwitchClause?: RuleConfiguration_for_Null;
1219
+ useConsistentMemberAccessibility?: RuleConfiguration_for_ConsistentMemberAccessibilityOptions;
1149
1220
  /**
1150
1221
  * Require specifying the reason argument when using @deprecated directive
1151
1222
  */
1152
1223
  useDeprecatedReason?: RuleConfiguration_for_Null;
1153
- /**
1154
- * Enforce passing a message value when creating a built-in error.
1155
- */
1156
- useErrorMessage?: RuleConfiguration_for_Null;
1157
- /**
1158
- * Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.
1159
- */
1160
- useExplicitLengthCheck?: RuleFixConfiguration_for_Null;
1161
- /**
1162
- * Elements with an interactive role and interaction handlers must be focusable.
1163
- */
1164
- useFocusableInteractive?: RuleConfiguration_for_Null;
1165
- /**
1166
- * Disallow a missing generic family keyword within font families.
1167
- */
1168
- useGenericFontNames?: RuleConfiguration_for_Null;
1169
- /**
1170
- * Enforce file extensions for relative imports.
1171
- */
1172
- useImportExtensions?: RuleFixConfiguration_for_UseImportExtensionsOptions;
1173
1224
  /**
1174
1225
  * Disallows package private imports.
1175
1226
  */
1176
1227
  useImportRestrictions?: RuleConfiguration_for_Null;
1177
- /**
1178
- * Enforce using the digits argument with Number#toFixed().
1179
- */
1180
- useNumberToFixedDigitsArgument?: RuleFixConfiguration_for_Null;
1181
- /**
1182
- * It detects the use of role attributes in JSX elements and suggests using semantic elements instead.
1183
- */
1184
- useSemanticElements?: RuleConfiguration_for_Null;
1185
1228
  /**
1186
1229
  * Enforce the sorting of CSS utility classes.
1187
1230
  */
@@ -1190,18 +1233,6 @@ interface Nursery {
1190
1233
  * Enforce the use of the directive "use strict" in script files.
1191
1234
  */
1192
1235
  useStrictMode?: RuleFixConfiguration_for_Null;
1193
- /**
1194
- * Require new when throwing an error.
1195
- */
1196
- useThrowNewError?: RuleFixConfiguration_for_Null;
1197
- /**
1198
- * Disallow throwing non-Error values.
1199
- */
1200
- useThrowOnlyError?: RuleConfiguration_for_Null;
1201
- /**
1202
- * Require regex literals to be declared at the top level.
1203
- */
1204
- useTopLevelRegex?: RuleConfiguration_for_Null;
1205
1236
  /**
1206
1237
  * Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().
1207
1238
  */
@@ -1236,6 +1267,10 @@ interface Performance {
1236
1267
  * It enables the recommended rules for this group
1237
1268
  */
1238
1269
  recommended?: boolean;
1270
+ /**
1271
+ * Require regex literals to be declared at the top level.
1272
+ */
1273
+ useTopLevelRegex?: RuleConfiguration_for_Null;
1239
1274
  }
1240
1275
  interface Security {
1241
1276
  /**
@@ -1276,6 +1311,10 @@ interface Style {
1276
1311
  * Disallow default exports.
1277
1312
  */
1278
1313
  noDefaultExport?: RuleConfiguration_for_Null;
1314
+ /**
1315
+ * Disallow using a callback in asynchronous tests and hooks.
1316
+ */
1317
+ noDoneCallback?: RuleConfiguration_for_Null;
1279
1318
  /**
1280
1319
  * Disallow implicit true values on JSX boolean attributes
1281
1320
  */
@@ -1328,6 +1367,10 @@ interface Style {
1328
1367
  * Disallow the use of var
1329
1368
  */
1330
1369
  noVar?: RuleFixConfiguration_for_Null;
1370
+ /**
1371
+ * Disallow the use of yoda expressions.
1372
+ */
1373
+ noYodaExpression?: RuleFixConfiguration_for_Null;
1331
1374
  /**
1332
1375
  * It enables the recommended rules for this group
1333
1376
  */
@@ -1348,6 +1391,10 @@ interface Style {
1348
1391
  * Require consistently using either T\[] or Array\<T>
1349
1392
  */
1350
1393
  useConsistentArrayType?: RuleFixConfiguration_for_ConsistentArrayTypeOptions;
1394
+ /**
1395
+ * Enforce the use of new for all builtins, except String, Number and Boolean.
1396
+ */
1397
+ useConsistentBuiltinInstantiation?: RuleFixConfiguration_for_Null;
1351
1398
  /**
1352
1399
  * Require const declarations for variables that are only assigned once.
1353
1400
  */
@@ -1356,10 +1403,18 @@ interface Style {
1356
1403
  * Enforce default function parameters and optional function parameters to be last.
1357
1404
  */
1358
1405
  useDefaultParameterLast?: RuleFixConfiguration_for_Null;
1406
+ /**
1407
+ * Require the default clause in switch statements.
1408
+ */
1409
+ useDefaultSwitchClause?: RuleConfiguration_for_Null;
1359
1410
  /**
1360
1411
  * Require that each enum member value be explicitly initialized.
1361
1412
  */
1362
1413
  useEnumInitializers?: RuleFixConfiguration_for_Null;
1414
+ /**
1415
+ * Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.
1416
+ */
1417
+ useExplicitLengthCheck?: RuleFixConfiguration_for_Null;
1363
1418
  /**
1364
1419
  * Disallow the use of Math.pow in favor of the ** operator.
1365
1420
  */
@@ -1436,6 +1491,14 @@ interface Style {
1436
1491
  * Prefer template literals over string concatenation.
1437
1492
  */
1438
1493
  useTemplate?: RuleFixConfiguration_for_Null;
1494
+ /**
1495
+ * Require new when throwing an error.
1496
+ */
1497
+ useThrowNewError?: RuleFixConfiguration_for_Null;
1498
+ /**
1499
+ * Disallow throwing non-Error values.
1500
+ */
1501
+ useThrowOnlyError?: RuleConfiguration_for_Null;
1439
1502
  /**
1440
1503
  * Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.
1441
1504
  */
@@ -1486,6 +1549,10 @@ interface Suspicious {
1486
1549
  * Disallow void type outside of generic or return types.
1487
1550
  */
1488
1551
  noConfusingVoidType?: RuleFixConfiguration_for_Null;
1552
+ /**
1553
+ * Disallow the use of console.
1554
+ */
1555
+ noConsole?: RuleFixConfiguration_for_NoConsoleOptions;
1489
1556
  /**
1490
1557
  * Disallow the use of console.log
1491
1558
  */
@@ -1503,9 +1570,13 @@ interface Suspicious {
1503
1570
  */
1504
1571
  noDebugger?: RuleFixConfiguration_for_Null;
1505
1572
  /**
1506
- * Require the use of === and !==
1573
+ * Require the use of === and !==.
1574
+ */
1575
+ noDoubleEquals?: RuleFixConfiguration_for_NoDoubleEqualsOptions;
1576
+ /**
1577
+ * Disallow duplicate @import rules.
1507
1578
  */
1508
- noDoubleEquals?: RuleFixConfiguration_for_Null;
1579
+ noDuplicateAtImportRules?: RuleConfiguration_for_Null;
1509
1580
  /**
1510
1581
  * Disallow duplicate case labels.
1511
1582
  */
@@ -1514,22 +1585,34 @@ interface Suspicious {
1514
1585
  * Disallow duplicate class members.
1515
1586
  */
1516
1587
  noDuplicateClassMembers?: RuleConfiguration_for_Null;
1588
+ /**
1589
+ * Disallow duplicate names within font families.
1590
+ */
1591
+ noDuplicateFontNames?: RuleConfiguration_for_Null;
1517
1592
  /**
1518
1593
  * Prevents JSX properties to be assigned multiple times.
1519
1594
  */
1520
1595
  noDuplicateJsxProps?: RuleConfiguration_for_Null;
1521
1596
  /**
1522
- * Prevents object literals having more than one property declaration for the same name.
1597
+ * Disallow two keys with the same name inside objects.
1523
1598
  */
1524
- noDuplicateObjectKeys?: RuleFixConfiguration_for_Null;
1599
+ noDuplicateObjectKeys?: RuleConfiguration_for_Null;
1525
1600
  /**
1526
1601
  * Disallow duplicate function parameter name.
1527
1602
  */
1528
1603
  noDuplicateParameters?: RuleConfiguration_for_Null;
1604
+ /**
1605
+ * Disallow duplicate selectors within keyframe blocks.
1606
+ */
1607
+ noDuplicateSelectorsKeyframeBlock?: RuleConfiguration_for_Null;
1529
1608
  /**
1530
1609
  * A describe block should not contain duplicate hooks.
1531
1610
  */
1532
1611
  noDuplicateTestHooks?: RuleConfiguration_for_Null;
1612
+ /**
1613
+ * Disallow CSS empty blocks.
1614
+ */
1615
+ noEmptyBlock?: RuleConfiguration_for_Null;
1533
1616
  /**
1534
1617
  * Disallow empty block statements and static blocks.
1535
1618
  */
@@ -1538,6 +1621,10 @@ interface Suspicious {
1538
1621
  * Disallow the declaration of empty interfaces.
1539
1622
  */
1540
1623
  noEmptyInterface?: RuleFixConfiguration_for_Null;
1624
+ /**
1625
+ * Disallow variables from evolving into any type through reassignments.
1626
+ */
1627
+ noEvolvingTypes?: RuleConfiguration_for_Null;
1541
1628
  /**
1542
1629
  * Disallow the any type usage.
1543
1630
  */
@@ -1582,6 +1669,10 @@ interface Suspicious {
1582
1669
  * Disallow assigning to imported bindings
1583
1670
  */
1584
1671
  noImportAssign?: RuleConfiguration_for_Null;
1672
+ /**
1673
+ * Disallow invalid !important within keyframe declarations
1674
+ */
1675
+ noImportantInKeyframe?: RuleConfiguration_for_Null;
1585
1676
  /**
1586
1677
  * Disallow labels that share a name with a variable
1587
1678
  */
@@ -1594,6 +1685,10 @@ interface Suspicious {
1594
1685
  * Enforce proper usage of new and constructor.
1595
1686
  */
1596
1687
  noMisleadingInstantiator?: RuleConfiguration_for_Null;
1688
+ /**
1689
+ * Checks that the assertion function, for example expect, is placed inside an it() function call.
1690
+ */
1691
+ noMisplacedAssertion?: RuleConfiguration_for_Null;
1597
1692
  /**
1598
1693
  * Disallow shorthand assign when variable appears on both sides.
1599
1694
  */
@@ -1602,6 +1697,10 @@ interface Suspicious {
1602
1697
  * Disallow direct use of Object.prototype builtins.
1603
1698
  */
1604
1699
  noPrototypeBuiltins?: RuleConfiguration_for_Null;
1700
+ /**
1701
+ * Prevents React-specific JSX properties from being used.
1702
+ */
1703
+ noReactSpecificProps?: RuleFixConfiguration_for_Null;
1605
1704
  /**
1606
1705
  * Disallow variable, function, class, and type redeclarations in the same scope.
1607
1706
  */
@@ -1618,6 +1717,10 @@ interface Suspicious {
1618
1717
  * Disallow identifiers from shadowing restricted names.
1619
1718
  */
1620
1719
  noShadowRestrictedNames?: RuleConfiguration_for_Null;
1720
+ /**
1721
+ * Disallow shorthand properties that override related longhand properties.
1722
+ */
1723
+ noShorthandPropertyOverrides?: RuleConfiguration_for_Null;
1621
1724
  /**
1622
1725
  * Disallow disabled tests.
1623
1726
  */
@@ -1654,6 +1757,10 @@ interface Suspicious {
1654
1757
  * Enforce default clauses in switch statements to be last
1655
1758
  */
1656
1759
  useDefaultSwitchClauseLast?: RuleConfiguration_for_Null;
1760
+ /**
1761
+ * Enforce passing a message value when creating a built-in error.
1762
+ */
1763
+ useErrorMessage?: RuleConfiguration_for_Null;
1657
1764
  /**
1658
1765
  * Enforce get methods to always return a value.
1659
1766
  */
@@ -1666,6 +1773,10 @@ interface Suspicious {
1666
1773
  * Require using the namespace keyword over the module keyword to declare TypeScript namespaces.
1667
1774
  */
1668
1775
  useNamespaceKeyword?: RuleFixConfiguration_for_Null;
1776
+ /**
1777
+ * Enforce using the digits argument with Number#toFixed().
1778
+ */
1779
+ useNumberToFixedDigitsArgument?: RuleFixConfiguration_for_Null;
1669
1780
  /**
1670
1781
  * 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
1671
1782
  */
@@ -1692,7 +1803,7 @@ interface OverrideFormatterConfiguration {
1692
1803
  /**
1693
1804
  * The indent style.
1694
1805
  */
1695
- indentStyle?: PlainIndentStyle;
1806
+ indentStyle?: IndentStyle;
1696
1807
  /**
1697
1808
  * The size of the indentation, 2 by default
1698
1809
  */
@@ -1722,9 +1833,16 @@ interface OverrideOrganizeImportsConfiguration {
1722
1833
  */
1723
1834
  enabled?: boolean;
1724
1835
  }
1836
+ type RuleAssistConfiguration = "on" | "off";
1725
1837
  type RuleFixConfiguration_for_Null =
1726
1838
  | RulePlainConfiguration
1727
1839
  | RuleWithFixOptions_for_Null;
1840
+ type RuleFixConfiguration_for_AllowDomainOptions =
1841
+ | RulePlainConfiguration
1842
+ | RuleWithFixOptions_for_AllowDomainOptions;
1843
+ type RuleConfiguration_for_NoLabelWithoutControlOptions =
1844
+ | RulePlainConfiguration
1845
+ | RuleWithOptions_for_NoLabelWithoutControlOptions;
1728
1846
  type RuleConfiguration_for_Null =
1729
1847
  | RulePlainConfiguration
1730
1848
  | RuleWithOptions_for_Null;
@@ -1740,15 +1858,18 @@ type RuleConfiguration_for_HooksOptions =
1740
1858
  type RuleConfiguration_for_DeprecatedHooksOptions =
1741
1859
  | RulePlainConfiguration
1742
1860
  | RuleWithOptions_for_DeprecatedHooksOptions;
1743
- type RuleConfiguration_for_NoLabelWithoutControlOptions =
1861
+ type RuleFixConfiguration_for_UseImportExtensionsOptions =
1744
1862
  | RulePlainConfiguration
1745
- | RuleWithOptions_for_NoLabelWithoutControlOptions;
1863
+ | RuleWithFixOptions_for_UseImportExtensionsOptions;
1746
1864
  type RuleConfiguration_for_RestrictedImportsOptions =
1747
1865
  | RulePlainConfiguration
1748
1866
  | RuleWithOptions_for_RestrictedImportsOptions;
1749
- type RuleFixConfiguration_for_UseImportExtensionsOptions =
1867
+ type RuleFixConfiguration_for_NoRestrictedTypesOptions =
1750
1868
  | RulePlainConfiguration
1751
- | RuleWithFixOptions_for_UseImportExtensionsOptions;
1869
+ | RuleWithFixOptions_for_NoRestrictedTypesOptions;
1870
+ type RuleConfiguration_for_ConsistentMemberAccessibilityOptions =
1871
+ | RulePlainConfiguration
1872
+ | RuleWithOptions_for_ConsistentMemberAccessibilityOptions;
1752
1873
  type RuleFixConfiguration_for_UtilityClassSortingOptions =
1753
1874
  | RulePlainConfiguration
1754
1875
  | RuleWithFixOptions_for_UtilityClassSortingOptions;
@@ -1767,6 +1888,12 @@ type RuleConfiguration_for_FilenamingConventionOptions =
1767
1888
  type RuleFixConfiguration_for_NamingConventionOptions =
1768
1889
  | RulePlainConfiguration
1769
1890
  | RuleWithFixOptions_for_NamingConventionOptions;
1891
+ type RuleFixConfiguration_for_NoConsoleOptions =
1892
+ | RulePlainConfiguration
1893
+ | RuleWithFixOptions_for_NoConsoleOptions;
1894
+ type RuleFixConfiguration_for_NoDoubleEqualsOptions =
1895
+ | RulePlainConfiguration
1896
+ | RuleWithFixOptions_for_NoDoubleEqualsOptions;
1770
1897
  type RulePlainConfiguration = "warn" | "error" | "info" | "off";
1771
1898
  interface RuleWithFixOptions_for_Null {
1772
1899
  /**
@@ -1782,6 +1909,30 @@ interface RuleWithFixOptions_for_Null {
1782
1909
  */
1783
1910
  options: null;
1784
1911
  }
1912
+ interface RuleWithFixOptions_for_AllowDomainOptions {
1913
+ /**
1914
+ * The kind of the code actions emitted by the rule
1915
+ */
1916
+ fix?: FixKind;
1917
+ /**
1918
+ * The severity of the emitted diagnostics by the rule
1919
+ */
1920
+ level: RulePlainConfiguration;
1921
+ /**
1922
+ * Rule's options
1923
+ */
1924
+ options: AllowDomainOptions;
1925
+ }
1926
+ interface RuleWithOptions_for_NoLabelWithoutControlOptions {
1927
+ /**
1928
+ * The severity of the emitted diagnostics by the rule
1929
+ */
1930
+ level: RulePlainConfiguration;
1931
+ /**
1932
+ * Rule's options
1933
+ */
1934
+ options: NoLabelWithoutControlOptions;
1935
+ }
1785
1936
  interface RuleWithOptions_for_Null {
1786
1937
  /**
1787
1938
  * The severity of the emitted diagnostics by the rule
@@ -1836,7 +1987,11 @@ interface RuleWithOptions_for_DeprecatedHooksOptions {
1836
1987
  */
1837
1988
  options: DeprecatedHooksOptions;
1838
1989
  }
1839
- interface RuleWithOptions_for_NoLabelWithoutControlOptions {
1990
+ interface RuleWithFixOptions_for_UseImportExtensionsOptions {
1991
+ /**
1992
+ * The kind of the code actions emitted by the rule
1993
+ */
1994
+ fix?: FixKind;
1840
1995
  /**
1841
1996
  * The severity of the emitted diagnostics by the rule
1842
1997
  */
@@ -1844,7 +1999,7 @@ interface RuleWithOptions_for_NoLabelWithoutControlOptions {
1844
1999
  /**
1845
2000
  * Rule's options
1846
2001
  */
1847
- options: NoLabelWithoutControlOptions;
2002
+ options: UseImportExtensionsOptions;
1848
2003
  }
1849
2004
  interface RuleWithOptions_for_RestrictedImportsOptions {
1850
2005
  /**
@@ -1856,7 +2011,7 @@ interface RuleWithOptions_for_RestrictedImportsOptions {
1856
2011
  */
1857
2012
  options: RestrictedImportsOptions;
1858
2013
  }
1859
- interface RuleWithFixOptions_for_UseImportExtensionsOptions {
2014
+ interface RuleWithFixOptions_for_NoRestrictedTypesOptions {
1860
2015
  /**
1861
2016
  * The kind of the code actions emitted by the rule
1862
2017
  */
@@ -1868,7 +2023,17 @@ interface RuleWithFixOptions_for_UseImportExtensionsOptions {
1868
2023
  /**
1869
2024
  * Rule's options
1870
2025
  */
1871
- options: UseImportExtensionsOptions;
2026
+ options: NoRestrictedTypesOptions;
2027
+ }
2028
+ interface RuleWithOptions_for_ConsistentMemberAccessibilityOptions {
2029
+ /**
2030
+ * The severity of the emitted diagnostics by the rule
2031
+ */
2032
+ level: RulePlainConfiguration;
2033
+ /**
2034
+ * Rule's options
2035
+ */
2036
+ options: ConsistentMemberAccessibilityOptions;
1872
2037
  }
1873
2038
  interface RuleWithFixOptions_for_UtilityClassSortingOptions {
1874
2039
  /**
@@ -1942,24 +2107,41 @@ interface RuleWithFixOptions_for_NamingConventionOptions {
1942
2107
  */
1943
2108
  options: NamingConventionOptions;
1944
2109
  }
1945
- type FixKind = "none" | "safe" | "unsafe";
1946
- interface ValidAriaRoleOptions {
1947
- allowInvalidRoles: string[];
1948
- ignoreNonDom: boolean;
2110
+ interface RuleWithFixOptions_for_NoConsoleOptions {
2111
+ /**
2112
+ * The kind of the code actions emitted by the rule
2113
+ */
2114
+ fix?: FixKind;
2115
+ /**
2116
+ * The severity of the emitted diagnostics by the rule
2117
+ */
2118
+ level: RulePlainConfiguration;
2119
+ /**
2120
+ * Rule's options
2121
+ */
2122
+ options: NoConsoleOptions;
1949
2123
  }
1950
- interface ComplexityOptions {
2124
+ interface RuleWithFixOptions_for_NoDoubleEqualsOptions {
1951
2125
  /**
1952
- * The maximum complexity score that we allow. Anything higher is considered excessive.
2126
+ * The kind of the code actions emitted by the rule
1953
2127
  */
1954
- maxAllowedComplexity: number;
2128
+ fix?: FixKind;
2129
+ /**
2130
+ * The severity of the emitted diagnostics by the rule
2131
+ */
2132
+ level: RulePlainConfiguration;
2133
+ /**
2134
+ * Rule's options
2135
+ */
2136
+ options: NoDoubleEqualsOptions;
1955
2137
  }
1956
- interface HooksOptions {
2138
+ type FixKind = "none" | "safe" | "unsafe";
2139
+ interface AllowDomainOptions {
1957
2140
  /**
1958
- * List of hooks of which the dependencies should be validated.
2141
+ * List of domains to allow `target="_blank"` without `rel="noreferrer"`
1959
2142
  */
1960
- hooks: Hook[];
2143
+ allowDomains: string[];
1961
2144
  }
1962
- interface DeprecatedHooksOptions {}
1963
2145
  interface NoLabelWithoutControlOptions {
1964
2146
  /**
1965
2147
  * Array of component names that should be considered the same as an `input` element.
@@ -1974,18 +2156,41 @@ interface NoLabelWithoutControlOptions {
1974
2156
  */
1975
2157
  labelComponents: string[];
1976
2158
  }
1977
- interface RestrictedImportsOptions {
2159
+ interface ValidAriaRoleOptions {
2160
+ allowInvalidRoles: string[];
2161
+ ignoreNonDom: boolean;
2162
+ }
2163
+ interface ComplexityOptions {
1978
2164
  /**
1979
- * A list of names that should trigger the rule
2165
+ * The maximum complexity score that we allow. Anything higher is considered excessive.
1980
2166
  */
1981
- paths: {};
2167
+ maxAllowedComplexity: number;
1982
2168
  }
2169
+ interface HooksOptions {
2170
+ /**
2171
+ * List of hooks of which the dependencies should be validated.
2172
+ */
2173
+ hooks: Hook[];
2174
+ }
2175
+ interface DeprecatedHooksOptions {}
1983
2176
  interface UseImportExtensionsOptions {
1984
2177
  /**
1985
2178
  * A map of custom import extension mappings, where the key is the inspected file extension, and the value is a pair of `module` extension and `component` import extension
1986
2179
  */
1987
2180
  suggestedExtensions: {};
1988
2181
  }
2182
+ interface RestrictedImportsOptions {
2183
+ /**
2184
+ * A list of names that should trigger the rule
2185
+ */
2186
+ paths: {};
2187
+ }
2188
+ interface NoRestrictedTypesOptions {
2189
+ types: {};
2190
+ }
2191
+ interface ConsistentMemberAccessibilityOptions {
2192
+ accessibility: Accessibility;
2193
+ }
1989
2194
  interface UtilityClassSortingOptions {
1990
2195
  /**
1991
2196
  * Additional attributes that will be sorted.
@@ -2043,6 +2248,20 @@ interface NamingConventionOptions {
2043
2248
  */
2044
2249
  strictCase: boolean;
2045
2250
  }
2251
+ interface NoConsoleOptions {
2252
+ /**
2253
+ * Allowed calls on the console object.
2254
+ */
2255
+ allow: string[];
2256
+ }
2257
+ interface NoDoubleEqualsOptions {
2258
+ /**
2259
+ * If `true`, an exception is made when comparing with `null`, as it's often relied on to check both for `null` or `undefined`.
2260
+
2261
+ If `false`, no such exception will be made.
2262
+ */
2263
+ ignoreNull: boolean;
2264
+ }
2046
2265
  interface Hook {
2047
2266
  /**
2048
2267
  * The "position" of the closure function, starting from zero.
@@ -2067,8 +2286,9 @@ Set to `true` to mark the identity of the hook's return value as stable, or use
2067
2286
 
2068
2287
  For example, for React's `useRef()` hook the value would be `true`, while for `useState()` it would be `[1]`.
2069
2288
  */
2070
- stableResult: StableHookResult;
2289
+ stableResult?: StableHookResult;
2071
2290
  }
2291
+ type Accessibility = "noPublic" | "explicit" | "none";
2072
2292
  type ConsistentArrayType = "shorthand" | "generic";
2073
2293
  type FilenameCases = FilenameCase[];
2074
2294
  interface Convention {
@@ -2161,12 +2381,9 @@ interface RegisterProjectFolderParams {
2161
2381
  setAsCurrentWorkspace: boolean;
2162
2382
  }
2163
2383
  type ProjectKey = string;
2164
- interface UpdateProjectParams {
2165
- path: BiomePath;
2166
- }
2167
- interface OpenProjectParams {
2384
+ interface SetManifestForProjectParams {
2168
2385
  content: string;
2169
- path: BiomePath;
2386
+ manifest_path: BiomePath;
2170
2387
  version: number;
2171
2388
  }
2172
2389
  interface OpenFileParams {
@@ -2180,7 +2397,8 @@ type DocumentFileSource =
2180
2397
  | { Js: JsFileSource }
2181
2398
  | { Json: JsonFileSource }
2182
2399
  | { Css: CssFileSource }
2183
- | { Graphql: GraphqlFileSource };
2400
+ | { Graphql: GraphqlFileSource }
2401
+ | { Html: HtmlFileSource };
2184
2402
  interface JsFileSource {
2185
2403
  /**
2186
2404
  * Used to mark if the source is being used for an Astro, Svelte or Vue file
@@ -2201,6 +2419,9 @@ interface CssFileSource {
2201
2419
  interface GraphqlFileSource {
2202
2420
  variant: GraphqlVariant;
2203
2421
  }
2422
+ interface HtmlFileSource {
2423
+ variant: HtmlVariant;
2424
+ }
2204
2425
  type EmbeddingKind = "Astro" | "Vue" | "Svelte" | "None";
2205
2426
  type Language = "JavaScript" | { TypeScript: { definition_file: boolean } };
2206
2427
  type ModuleKind = "Script" | "Module";
@@ -2208,6 +2429,7 @@ type LanguageVariant = "Standard" | "StandardRestricted" | "Jsx";
2208
2429
  type LanguageVersion = "ES2022" | "ESNext";
2209
2430
  type CssVariant = "Standard";
2210
2431
  type GraphqlVariant = "Standard";
2432
+ type HtmlVariant = "Standard" | "Astro";
2211
2433
  interface ChangeFileParams {
2212
2434
  content: string;
2213
2435
  path: BiomePath;
@@ -2278,6 +2500,7 @@ type Category =
2278
2500
  | "lint/a11y/noDistractingElements"
2279
2501
  | "lint/a11y/noHeaderScope"
2280
2502
  | "lint/a11y/noInteractiveElementToNoninteractiveRole"
2503
+ | "lint/a11y/noLabelWithoutControl"
2281
2504
  | "lint/a11y/noNoninteractiveElementToInteractiveRole"
2282
2505
  | "lint/a11y/noNoninteractiveTabindex"
2283
2506
  | "lint/a11y/noPositiveTabindex"
@@ -2289,12 +2512,15 @@ type Category =
2289
2512
  | "lint/a11y/useAriaActivedescendantWithTabindex"
2290
2513
  | "lint/a11y/useAriaPropsForRole"
2291
2514
  | "lint/a11y/useButtonType"
2515
+ | "lint/a11y/useFocusableInteractive"
2516
+ | "lint/a11y/useGenericFontNames"
2292
2517
  | "lint/a11y/useHeadingContent"
2293
2518
  | "lint/a11y/useHtmlLang"
2294
2519
  | "lint/a11y/useIframeTitle"
2295
2520
  | "lint/a11y/useKeyWithClickEvents"
2296
2521
  | "lint/a11y/useKeyWithMouseEvents"
2297
2522
  | "lint/a11y/useMediaCaption"
2523
+ | "lint/a11y/useSemanticElements"
2298
2524
  | "lint/a11y/useValidAnchor"
2299
2525
  | "lint/a11y/useValidAriaProps"
2300
2526
  | "lint/a11y/useValidAriaRole"
@@ -2316,13 +2542,16 @@ type Category =
2316
2542
  | "lint/complexity/noUselessLabel"
2317
2543
  | "lint/complexity/noUselessLoneBlockStatements"
2318
2544
  | "lint/complexity/noUselessRename"
2545
+ | "lint/complexity/noUselessStringConcat"
2319
2546
  | "lint/complexity/noUselessSwitchCase"
2320
2547
  | "lint/complexity/noUselessTernary"
2321
2548
  | "lint/complexity/noUselessThisAlias"
2322
2549
  | "lint/complexity/noUselessTypeConstraint"
2550
+ | "lint/complexity/noUselessUndefinedInitialization"
2323
2551
  | "lint/complexity/noVoid"
2324
2552
  | "lint/complexity/noWith"
2325
2553
  | "lint/complexity/useArrowFunction"
2554
+ | "lint/complexity/useDateNow"
2326
2555
  | "lint/complexity/useFlatMap"
2327
2556
  | "lint/complexity/useLiteralKeys"
2328
2557
  | "lint/complexity/useOptionalChain"
@@ -2330,17 +2559,21 @@ type Category =
2330
2559
  | "lint/complexity/useSimpleNumberKeys"
2331
2560
  | "lint/complexity/useSimplifiedLogicExpression"
2332
2561
  | "lint/correctness/noChildrenProp"
2333
- | "lint/correctness/noConstAssign"
2334
2562
  | "lint/correctness/noConstantCondition"
2335
2563
  | "lint/correctness/noConstantMathMinMaxClamp"
2564
+ | "lint/correctness/noConstAssign"
2336
2565
  | "lint/correctness/noConstructorReturn"
2337
2566
  | "lint/correctness/noEmptyCharacterClassInRegex"
2338
2567
  | "lint/correctness/noEmptyPattern"
2339
2568
  | "lint/correctness/noFlatMapIdentity"
2340
2569
  | "lint/correctness/noGlobalObjectCalls"
2341
2570
  | "lint/correctness/noInnerDeclarations"
2571
+ | "lint/correctness/noInvalidBuiltinInstantiation"
2342
2572
  | "lint/correctness/noInvalidConstructorSuper"
2573
+ | "lint/correctness/noInvalidDirectionInLinearGradient"
2574
+ | "lint/correctness/noInvalidGridAreas"
2343
2575
  | "lint/correctness/noInvalidNewBuiltin"
2576
+ | "lint/correctness/noInvalidPositionAtImportRule"
2344
2577
  | "lint/correctness/noInvalidUseBeforeDeclaration"
2345
2578
  | "lint/correctness/noNewSymbol"
2346
2579
  | "lint/correctness/noNodejsModules"
@@ -2351,12 +2584,19 @@ type Category =
2351
2584
  | "lint/correctness/noSetterReturn"
2352
2585
  | "lint/correctness/noStringCaseMismatch"
2353
2586
  | "lint/correctness/noSwitchDeclarations"
2587
+ | "lint/correctness/noUndeclaredDependencies"
2354
2588
  | "lint/correctness/noUndeclaredVariables"
2589
+ | "lint/correctness/noUnknownFunction"
2590
+ | "lint/correctness/noUnknownMediaFeatureName"
2591
+ | "lint/correctness/noUnknownProperty"
2592
+ | "lint/correctness/noUnknownUnit"
2593
+ | "lint/correctness/noUnmatchableAnbSelector"
2355
2594
  | "lint/correctness/noUnnecessaryContinue"
2356
2595
  | "lint/correctness/noUnreachable"
2357
2596
  | "lint/correctness/noUnreachableSuper"
2358
2597
  | "lint/correctness/noUnsafeFinally"
2359
2598
  | "lint/correctness/noUnsafeOptionalChaining"
2599
+ | "lint/correctness/noUnusedFunctionParameters"
2360
2600
  | "lint/correctness/noUnusedImports"
2361
2601
  | "lint/correctness/noUnusedLabels"
2362
2602
  | "lint/correctness/noUnusedPrivateClassMembers"
@@ -2366,84 +2606,72 @@ type Category =
2366
2606
  | "lint/correctness/useArrayLiterals"
2367
2607
  | "lint/correctness/useExhaustiveDependencies"
2368
2608
  | "lint/correctness/useHookAtTopLevel"
2609
+ | "lint/correctness/useImportExtensions"
2369
2610
  | "lint/correctness/useIsNan"
2370
2611
  | "lint/correctness/useJsxKeyInIterable"
2371
2612
  | "lint/correctness/useValidForDirection"
2372
2613
  | "lint/correctness/useYield"
2373
2614
  | "lint/nursery/colorNoInvalidHex"
2374
2615
  | "lint/nursery/noColorInvalidHex"
2616
+ | "lint/nursery/noCommonJs"
2375
2617
  | "lint/nursery/noConsole"
2376
2618
  | "lint/nursery/noDoneCallback"
2377
2619
  | "lint/nursery/noDuplicateAtImportRules"
2378
- | "lint/nursery/noDuplicateElseIf"
2379
- | "lint/nursery/noDuplicateFontNames"
2380
- | "lint/nursery/noDuplicateJsonKeys"
2381
- | "lint/nursery/noDuplicateSelectorsKeyframeBlock"
2620
+ | "lint/nursery/noDuplicateCustomProperties"
2382
2621
  | "lint/nursery/noDuplicatedFields"
2622
+ | "lint/nursery/noDuplicateElseIf"
2383
2623
  | "lint/nursery/noDynamicNamespaceImportAccess"
2384
- | "lint/nursery/noEmptyBlock"
2385
- | "lint/nursery/noEvolvingTypes"
2624
+ | "lint/nursery/noEnum"
2386
2625
  | "lint/nursery/noExportedImports"
2387
2626
  | "lint/nursery/noImportantInKeyframe"
2388
2627
  | "lint/nursery/noInvalidDirectionInLinearGradient"
2628
+ | "lint/nursery/noInvalidGridAreas"
2389
2629
  | "lint/nursery/noInvalidPositionAtImportRule"
2390
2630
  | "lint/nursery/noIrregularWhitespace"
2391
- | "lint/nursery/noIrregularWhitespaceCss"
2392
- | "lint/nursery/noLabelWithoutControl"
2393
- | "lint/nursery/noMisplacedAssertion"
2394
2631
  | "lint/nursery/noMissingGenericFamilyKeyword"
2395
- | "lint/nursery/noReactSpecificProps"
2396
2632
  | "lint/nursery/noRestrictedImports"
2397
- | "lint/nursery/noStaticElementInteractions"
2633
+ | "lint/nursery/noRestrictedTypes"
2634
+ | "lint/nursery/noSecrets"
2398
2635
  | "lint/nursery/noShorthandPropertyOverrides"
2636
+ | "lint/nursery/noStaticElementInteractions"
2399
2637
  | "lint/nursery/noSubstr"
2400
2638
  | "lint/nursery/noUndeclaredDependencies"
2401
2639
  | "lint/nursery/noUnknownFunction"
2402
2640
  | "lint/nursery/noUnknownMediaFeatureName"
2403
2641
  | "lint/nursery/noUnknownProperty"
2642
+ | "lint/nursery/noUnknownPseudoClass"
2404
2643
  | "lint/nursery/noUnknownPseudoClassSelector"
2644
+ | "lint/nursery/noUnknownPseudoElement"
2405
2645
  | "lint/nursery/noUnknownSelectorPseudoElement"
2406
2646
  | "lint/nursery/noUnknownUnit"
2407
2647
  | "lint/nursery/noUnmatchableAnbSelector"
2408
2648
  | "lint/nursery/noUnusedFunctionParameters"
2409
- | "lint/nursery/noUselessStringConcat"
2410
- | "lint/nursery/noUselessUndefinedInitialization"
2649
+ | "lint/nursery/noUselessEscapeInRegex"
2411
2650
  | "lint/nursery/noValueAtRule"
2412
- | "lint/nursery/noYodaExpression"
2413
2651
  | "lint/nursery/useAdjacentOverloadSignatures"
2652
+ | "lint/nursery/useAriaPropsSupportedByRole"
2414
2653
  | "lint/nursery/useBiomeSuppressionComment"
2415
- | "lint/nursery/useConsistentBuiltinInstantiation"
2416
2654
  | "lint/nursery/useConsistentCurlyBraces"
2417
- | "lint/nursery/useConsistentGridAreas"
2418
- | "lint/nursery/useDateNow"
2419
- | "lint/nursery/useDefaultSwitchClause"
2655
+ | "lint/nursery/useConsistentMemberAccessibility"
2420
2656
  | "lint/nursery/useDeprecatedReason"
2421
- | "lint/nursery/useErrorMessage"
2422
- | "lint/nursery/useExplicitLengthCheck"
2423
- | "lint/nursery/useFocusableInteractive"
2424
- | "lint/nursery/useGenericFontNames"
2425
- | "lint/nursery/useImportExtensions"
2426
2657
  | "lint/nursery/useImportRestrictions"
2427
2658
  | "lint/nursery/useJsxCurlyBraceConvention"
2428
- | "lint/nursery/useNumberToFixedDigitsArgument"
2429
- | "lint/nursery/useSemanticElements"
2430
2659
  | "lint/nursery/useSortedClasses"
2431
2660
  | "lint/nursery/useStrictMode"
2432
- | "lint/nursery/useThrowNewError"
2433
- | "lint/nursery/useThrowOnlyError"
2434
- | "lint/nursery/useTopLevelRegex"
2435
2661
  | "lint/nursery/useTrimStartEnd"
2436
2662
  | "lint/nursery/useValidAutocomplete"
2437
2663
  | "lint/performance/noAccumulatingSpread"
2438
2664
  | "lint/performance/noBarrelFile"
2439
2665
  | "lint/performance/noDelete"
2440
2666
  | "lint/performance/noReExportAll"
2667
+ | "lint/performance/useTopLevelRegex"
2441
2668
  | "lint/security/noDangerouslySetInnerHtml"
2442
2669
  | "lint/security/noDangerouslySetInnerHtmlWithChildren"
2443
2670
  | "lint/security/noGlobalEval"
2444
2671
  | "lint/style/noArguments"
2445
2672
  | "lint/style/noCommaOperator"
2446
2673
  | "lint/style/noDefaultExport"
2674
+ | "lint/style/noDoneCallback"
2447
2675
  | "lint/style/noImplicitBoolean"
2448
2676
  | "lint/style/noInferrableTypes"
2449
2677
  | "lint/style/noNamespace"
@@ -2457,13 +2685,17 @@ type Category =
2457
2685
  | "lint/style/noUnusedTemplateLiteral"
2458
2686
  | "lint/style/noUselessElse"
2459
2687
  | "lint/style/noVar"
2688
+ | "lint/style/noYodaExpression"
2460
2689
  | "lint/style/useAsConstAssertion"
2461
2690
  | "lint/style/useBlockStatements"
2462
2691
  | "lint/style/useCollapsedElseIf"
2463
2692
  | "lint/style/useConsistentArrayType"
2693
+ | "lint/style/useConsistentBuiltinInstantiation"
2464
2694
  | "lint/style/useConst"
2465
2695
  | "lint/style/useDefaultParameterLast"
2696
+ | "lint/style/useDefaultSwitchClause"
2466
2697
  | "lint/style/useEnumInitializers"
2698
+ | "lint/style/useExplicitLengthCheck"
2467
2699
  | "lint/style/useExponentiationOperator"
2468
2700
  | "lint/style/useExportType"
2469
2701
  | "lint/style/useFilenamingConvention"
@@ -2483,6 +2715,8 @@ type Category =
2483
2715
  | "lint/style/useSingleCaseStatement"
2484
2716
  | "lint/style/useSingleVarDeclarator"
2485
2717
  | "lint/style/useTemplate"
2718
+ | "lint/style/useThrowNewError"
2719
+ | "lint/style/useThrowOnlyError"
2486
2720
  | "lint/style/useWhile"
2487
2721
  | "lint/suspicious/noApproximativeNumericConstant"
2488
2722
  | "lint/suspicious/noArrayIndexKey"
@@ -2494,19 +2728,25 @@ type Category =
2494
2728
  | "lint/suspicious/noCompareNegZero"
2495
2729
  | "lint/suspicious/noConfusingLabels"
2496
2730
  | "lint/suspicious/noConfusingVoidType"
2731
+ | "lint/suspicious/noConsole"
2497
2732
  | "lint/suspicious/noConsoleLog"
2498
2733
  | "lint/suspicious/noConstEnum"
2499
2734
  | "lint/suspicious/noControlCharactersInRegex"
2500
2735
  | "lint/suspicious/noDebugger"
2501
2736
  | "lint/suspicious/noDoubleEquals"
2737
+ | "lint/suspicious/noDuplicateAtImportRules"
2502
2738
  | "lint/suspicious/noDuplicateCase"
2503
2739
  | "lint/suspicious/noDuplicateClassMembers"
2740
+ | "lint/suspicious/noDuplicateFontNames"
2504
2741
  | "lint/suspicious/noDuplicateJsxProps"
2505
2742
  | "lint/suspicious/noDuplicateObjectKeys"
2506
2743
  | "lint/suspicious/noDuplicateParameters"
2744
+ | "lint/suspicious/noDuplicateSelectorsKeyframeBlock"
2507
2745
  | "lint/suspicious/noDuplicateTestHooks"
2746
+ | "lint/suspicious/noEmptyBlock"
2508
2747
  | "lint/suspicious/noEmptyBlockStatements"
2509
2748
  | "lint/suspicious/noEmptyInterface"
2749
+ | "lint/suspicious/noEvolvingTypes"
2510
2750
  | "lint/suspicious/noExplicitAny"
2511
2751
  | "lint/suspicious/noExportsInTest"
2512
2752
  | "lint/suspicious/noExtraNonNullAssertion"
@@ -2517,16 +2757,20 @@ type Category =
2517
2757
  | "lint/suspicious/noGlobalIsFinite"
2518
2758
  | "lint/suspicious/noGlobalIsNan"
2519
2759
  | "lint/suspicious/noImplicitAnyLet"
2760
+ | "lint/suspicious/noImportantInKeyframe"
2520
2761
  | "lint/suspicious/noImportAssign"
2521
2762
  | "lint/suspicious/noLabelVar"
2522
2763
  | "lint/suspicious/noMisleadingCharacterClass"
2523
2764
  | "lint/suspicious/noMisleadingInstantiator"
2765
+ | "lint/suspicious/noMisplacedAssertion"
2524
2766
  | "lint/suspicious/noMisrefactoredShorthandAssign"
2525
2767
  | "lint/suspicious/noPrototypeBuiltins"
2768
+ | "lint/suspicious/noReactSpecificProps"
2526
2769
  | "lint/suspicious/noRedeclare"
2527
2770
  | "lint/suspicious/noRedundantUseStrict"
2528
2771
  | "lint/suspicious/noSelfCompare"
2529
2772
  | "lint/suspicious/noShadowRestrictedNames"
2773
+ | "lint/suspicious/noShorthandPropertyOverrides"
2530
2774
  | "lint/suspicious/noSkippedTests"
2531
2775
  | "lint/suspicious/noSparseArray"
2532
2776
  | "lint/suspicious/noSuspiciousSemicolonInJsx"
@@ -2535,12 +2779,14 @@ type Category =
2535
2779
  | "lint/suspicious/noUnsafeNegation"
2536
2780
  | "lint/suspicious/useAwait"
2537
2781
  | "lint/suspicious/useDefaultSwitchClauseLast"
2782
+ | "lint/suspicious/useErrorMessage"
2538
2783
  | "lint/suspicious/useGetterReturn"
2539
2784
  | "lint/suspicious/useIsArray"
2540
2785
  | "lint/suspicious/useNamespaceKeyword"
2786
+ | "lint/suspicious/useNumberToFixedDigitsArgument"
2541
2787
  | "lint/suspicious/useValidTypeof"
2542
- | "assists/nursery/useSortedKeys"
2543
- | "syntax/nursery/noTypeOnlyImportAttributes"
2788
+ | "assists/source/useSortedKeys"
2789
+ | "syntax/correctness/noTypeOnlyImportAttributes"
2544
2790
  | "syntax/correctness/noSuperWithoutExtends"
2545
2791
  | "syntax/correctness/noInitializerWithDefinite"
2546
2792
  | "syntax/correctness/noDuplicatePrivateClassMembers"
@@ -2548,8 +2794,10 @@ type Category =
2548
2794
  | "format"
2549
2795
  | "check"
2550
2796
  | "ci"
2797
+ | "stdin"
2551
2798
  | "configuration"
2552
2799
  | "organizeImports"
2800
+ | "assists"
2553
2801
  | "migrate"
2554
2802
  | "deserialize"
2555
2803
  | "project"
@@ -2638,8 +2886,10 @@ interface BacktraceSymbol {
2638
2886
  name?: string;
2639
2887
  }
2640
2888
  interface PullActionsParams {
2889
+ only: RuleCode[];
2641
2890
  path: BiomePath;
2642
- range: TextRange;
2891
+ range?: TextRange;
2892
+ skip: RuleCode[];
2643
2893
  }
2644
2894
  interface PullActionsResult {
2645
2895
  actions: CodeAction[];
@@ -2704,6 +2954,7 @@ interface FixFileParams {
2704
2954
  fix_file_mode: FixFileMode;
2705
2955
  only: RuleCode[];
2706
2956
  path: BiomePath;
2957
+ rule_categories: RuleCategories;
2707
2958
  should_format: boolean;
2708
2959
  skip: RuleCode[];
2709
2960
  }