eslint 9.9.1 → 9.11.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.
@@ -0,0 +1,1942 @@
1
+ /**
2
+ * @fileoverview This file contains the rule types for ESLint. It was initially extracted
3
+ * from the `@types/eslint` package.
4
+ */
5
+
6
+ /*
7
+ * MIT License
8
+ * Copyright (c) Microsoft Corporation.
9
+ *
10
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ * of this software and associated documentation files (the "Software"), to deal
12
+ * in the Software without restriction, including without limitation the rights
13
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ * copies of the Software, and to permit persons to whom the Software is
15
+ * furnished to do so, subject to the following conditions:
16
+ * The above copyright notice and this permission notice shall be included in all
17
+ * copies or substantial portions of the Software.
18
+ *
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ * SOFTWARE
26
+ */
27
+
28
+ import { Linter } from "../index";
29
+
30
+ export interface StylisticIssues extends Linter.RulesRecord {
31
+ /**
32
+ * Rule to enforce linebreaks after opening and before closing array brackets.
33
+ *
34
+ * @since 4.0.0-alpha.1
35
+ * @see https://eslint.org/docs/rules/array-bracket-newline
36
+ */
37
+ "array-bracket-newline": Linter.RuleEntry<
38
+ [
39
+ | "always"
40
+ | "never"
41
+ | "consistent"
42
+ | Partial<{
43
+ /**
44
+ * @default true
45
+ */
46
+ multiline: boolean;
47
+ /**
48
+ * @default null
49
+ */
50
+ minItems: number | null;
51
+ }>,
52
+ ]
53
+ >;
54
+
55
+ /**
56
+ * Rule to enforce consistent spacing inside array brackets.
57
+ *
58
+ * @since 0.24.0
59
+ * @see https://eslint.org/docs/rules/array-bracket-spacing
60
+ */
61
+ "array-bracket-spacing":
62
+ | Linter.RuleEntry<
63
+ [
64
+ "never",
65
+ Partial<{
66
+ /**
67
+ * @default false
68
+ */
69
+ singleValue: boolean;
70
+ /**
71
+ * @default false
72
+ */
73
+ objectsInArrays: boolean;
74
+ /**
75
+ * @default false
76
+ */
77
+ arraysInArrays: boolean;
78
+ }>,
79
+ ]
80
+ >
81
+ | Linter.RuleEntry<
82
+ [
83
+ "always",
84
+ Partial<{
85
+ /**
86
+ * @default true
87
+ */
88
+ singleValue: boolean;
89
+ /**
90
+ * @default true
91
+ */
92
+ objectsInArrays: boolean;
93
+ /**
94
+ * @default true
95
+ */
96
+ arraysInArrays: boolean;
97
+ }>,
98
+ ]
99
+ >;
100
+
101
+ /**
102
+ * Rule to enforce line breaks after each array element.
103
+ *
104
+ * @since 4.0.0-rc.0
105
+ * @see https://eslint.org/docs/rules/array-element-newline
106
+ */
107
+ "array-element-newline": Linter.RuleEntry<
108
+ [
109
+ | "always"
110
+ | "never"
111
+ | "consistent"
112
+ | Partial<{
113
+ /**
114
+ * @default true
115
+ */
116
+ multiline: boolean;
117
+ /**
118
+ * @default null
119
+ */
120
+ minItems: number | null;
121
+ }>,
122
+ ]
123
+ >;
124
+
125
+ /**
126
+ * Rule to disallow or enforce spaces inside of blocks after opening block and before closing block.
127
+ *
128
+ * @since 1.2.0
129
+ * @see https://eslint.org/docs/rules/block-spacing
130
+ */
131
+ "block-spacing": Linter.RuleEntry<["always" | "never"]>;
132
+
133
+ /**
134
+ * Rule to enforce consistent brace style for blocks.
135
+ *
136
+ * @since 0.0.7
137
+ * @see https://eslint.org/docs/rules/brace-style
138
+ */
139
+ "brace-style": Linter.RuleEntry<
140
+ [
141
+ "1tbs" | "stroustrup" | "allman",
142
+ Partial<{
143
+ /**
144
+ * @default false
145
+ */
146
+ allowSingleLine: boolean;
147
+ }>,
148
+ ]
149
+ >;
150
+
151
+ /**
152
+ * Rule to enforce camelcase naming convention.
153
+ *
154
+ * @since 0.0.2
155
+ * @see https://eslint.org/docs/rules/camelcase
156
+ */
157
+ camelcase: Linter.RuleEntry<
158
+ [
159
+ Partial<{
160
+ /**
161
+ * @default 'always'
162
+ */
163
+ properties: "always" | "never";
164
+ /**
165
+ * @default false
166
+ */
167
+ ignoreDestructuring: boolean;
168
+ /**
169
+ * @since 6.7.0
170
+ * @default false
171
+ */
172
+ ignoreImports: boolean;
173
+ /**
174
+ * @since 7.4.0
175
+ * @default false
176
+ */
177
+ ignoreGlobals: boolean;
178
+ /**
179
+ * @remarks
180
+ * Also accept for regular expression patterns
181
+ */
182
+ allow: string[];
183
+ }>,
184
+ ]
185
+ >;
186
+
187
+ /**
188
+ * Rule to enforce or disallow capitalization of the first letter of a comment.
189
+ *
190
+ * @since 3.11.0
191
+ * @see https://eslint.org/docs/rules/capitalized-comments
192
+ */
193
+ "capitalized-comments": Linter.RuleEntry<
194
+ [
195
+ "always" | "never",
196
+ Partial<{
197
+ ignorePattern: string;
198
+ /**
199
+ * @default false
200
+ */
201
+ ignoreInlineComments: boolean;
202
+ /**
203
+ * @default false
204
+ */
205
+ ignoreConsecutiveComments: boolean;
206
+ }>,
207
+ ]
208
+ >;
209
+
210
+ /**
211
+ * Rule to require or disallow trailing commas.
212
+ *
213
+ * @since 0.16.0
214
+ * @see https://eslint.org/docs/rules/comma-dangle
215
+ */
216
+ "comma-dangle": Linter.RuleEntry<
217
+ [
218
+ | "never"
219
+ | "always"
220
+ | "always-multiline"
221
+ | "only-multiline"
222
+ | Partial<{
223
+ /**
224
+ * @default 'never'
225
+ */
226
+ arrays: "never" | "always" | "always-multiline" | "only-multiline";
227
+ /**
228
+ * @default 'never'
229
+ */
230
+ objects: "never" | "always" | "always-multiline" | "only-multiline";
231
+ /**
232
+ * @default 'never'
233
+ */
234
+ imports: "never" | "always" | "always-multiline" | "only-multiline";
235
+ /**
236
+ * @default 'never'
237
+ */
238
+ exports: "never" | "always" | "always-multiline" | "only-multiline";
239
+ /**
240
+ * @default 'never'
241
+ */
242
+ functions: "never" | "always" | "always-multiline" | "only-multiline";
243
+ }>,
244
+ ]
245
+ >;
246
+
247
+ /**
248
+ * Rule to enforce consistent spacing before and after commas.
249
+ *
250
+ * @since 0.9.0
251
+ * @see https://eslint.org/docs/rules/comma-spacing
252
+ */
253
+ "comma-spacing": Linter.RuleEntry<
254
+ [
255
+ Partial<{
256
+ /**
257
+ * @default false
258
+ */
259
+ before: boolean;
260
+ /**
261
+ * @default true
262
+ */
263
+ after: boolean;
264
+ }>,
265
+ ]
266
+ >;
267
+
268
+ /**
269
+ * Rule to enforce consistent comma style.
270
+ *
271
+ * @since 0.9.0
272
+ * @see https://eslint.org/docs/rules/comma-style
273
+ */
274
+ "comma-style": Linter.RuleEntry<
275
+ [
276
+ "last" | "first",
277
+ Partial<{
278
+ exceptions: Record<string, boolean>;
279
+ }>,
280
+ ]
281
+ >;
282
+
283
+ /**
284
+ * Rule to enforce consistent spacing inside computed property brackets.
285
+ *
286
+ * @since 0.23.0
287
+ * @see https://eslint.org/docs/rules/computed-property-spacing
288
+ */
289
+ "computed-property-spacing": Linter.RuleEntry<["never" | "always"]>;
290
+
291
+ /**
292
+ * Rule to enforce consistent naming when capturing the current execution context.
293
+ *
294
+ * @since 0.0.9
295
+ * @see https://eslint.org/docs/rules/consistent-this
296
+ */
297
+ "consistent-this": Linter.RuleEntry<[...string[]]>;
298
+
299
+ /**
300
+ * Rule to require or disallow newline at the end of files.
301
+ *
302
+ * @since 0.7.1
303
+ * @see https://eslint.org/docs/rules/eol-last
304
+ */
305
+ "eol-last": Linter.RuleEntry<
306
+ [
307
+ "always" | "never", // | 'unix' | 'windows'
308
+ ]
309
+ >;
310
+
311
+ /**
312
+ * Rule to require or disallow spacing between function identifiers and their invocations.
313
+ *
314
+ * @since 3.3.0
315
+ * @see https://eslint.org/docs/rules/func-call-spacing
316
+ */
317
+ "func-call-spacing": Linter.RuleEntry<["never" | "always"]>;
318
+
319
+ /**
320
+ * Rule to require function names to match the name of the variable or property to which they are assigned.
321
+ *
322
+ * @since 3.8.0
323
+ * @see https://eslint.org/docs/rules/func-name-matching
324
+ */
325
+ "func-name-matching":
326
+ | Linter.RuleEntry<
327
+ [
328
+ "always" | "never",
329
+ Partial<{
330
+ /**
331
+ * @default false
332
+ */
333
+ considerPropertyDescriptor: boolean;
334
+ /**
335
+ * @default false
336
+ */
337
+ includeCommonJSModuleExports: boolean;
338
+ }>,
339
+ ]
340
+ >
341
+ | Linter.RuleEntry<
342
+ [
343
+ Partial<{
344
+ /**
345
+ * @default false
346
+ */
347
+ considerPropertyDescriptor: boolean;
348
+ /**
349
+ * @default false
350
+ */
351
+ includeCommonJSModuleExports: boolean;
352
+ }>,
353
+ ]
354
+ >;
355
+
356
+ /**
357
+ * Rule to require or disallow named `function` expressions.
358
+ *
359
+ * @since 0.4.0
360
+ * @see https://eslint.org/docs/rules/func-names
361
+ */
362
+ "func-names": Linter.RuleEntry<
363
+ [
364
+ "always" | "as-needed" | "never",
365
+ Partial<{
366
+ generators: "always" | "as-needed" | "never";
367
+ }>,
368
+ ]
369
+ >;
370
+
371
+ /**
372
+ * Rule to enforce the consistent use of either `function` declarations or expressions.
373
+ *
374
+ * @since 0.2.0
375
+ * @see https://eslint.org/docs/rules/func-style
376
+ */
377
+ "func-style": Linter.RuleEntry<
378
+ [
379
+ "expression" | "declaration",
380
+ Partial<{
381
+ /**
382
+ * @default false
383
+ */
384
+ allowArrowFunctions: boolean;
385
+ }>,
386
+ ]
387
+ >;
388
+
389
+ /**
390
+ * Rule to enforce consistent line breaks inside function parentheses.
391
+ *
392
+ * @since 4.6.0
393
+ * @see https://eslint.org/docs/rules/function-paren-newline
394
+ */
395
+ "function-paren-newline": Linter.RuleEntry<
396
+ [
397
+ | "always"
398
+ | "never"
399
+ | "multiline"
400
+ | "multiline-arguments"
401
+ | "consistent"
402
+ | Partial<{
403
+ minItems: number;
404
+ }>,
405
+ ]
406
+ >;
407
+
408
+ /**
409
+ * Rule to disallow specified identifiers.
410
+ *
411
+ * @since 2.0.0-beta.2
412
+ * @see https://eslint.org/docs/rules/id-blacklist
413
+ */
414
+ "id-blacklist": Linter.RuleEntry<[...string[]]>;
415
+
416
+ /**
417
+ * Rule to enforce minimum and maximum identifier lengths.
418
+ *
419
+ * @since 1.0.0
420
+ * @see https://eslint.org/docs/rules/id-length
421
+ */
422
+ "id-length": Linter.RuleEntry<
423
+ [
424
+ Partial<{
425
+ /**
426
+ * @default 2
427
+ */
428
+ min: number;
429
+ /**
430
+ * @default Infinity
431
+ */
432
+ max: number;
433
+ /**
434
+ * @default 'always'
435
+ */
436
+ properties: "always" | "never";
437
+ exceptions: string[];
438
+ }>,
439
+ ]
440
+ >;
441
+
442
+ /**
443
+ * Rule to require identifiers to match a specified regular expression.
444
+ *
445
+ * @since 1.0.0
446
+ * @see https://eslint.org/docs/rules/id-match
447
+ */
448
+ "id-match": Linter.RuleEntry<
449
+ [
450
+ string,
451
+ Partial<{
452
+ /**
453
+ * @default false
454
+ */
455
+ properties: boolean;
456
+ /**
457
+ * @default false
458
+ */
459
+ onlyDeclarations: boolean;
460
+ /**
461
+ * @default false
462
+ */
463
+ ignoreDestructuring: boolean;
464
+ }>,
465
+ ]
466
+ >;
467
+
468
+ /**
469
+ * Rule to enforce the location of arrow function bodies.
470
+ *
471
+ * @since 4.12.0
472
+ * @see https://eslint.org/docs/rules/implicit-arrow-linebreak
473
+ */
474
+ "implicit-arrow-linebreak": Linter.RuleEntry<["beside" | "below"]>;
475
+
476
+ /**
477
+ * Rule to enforce consistent indentation.
478
+ *
479
+ * @since 0.14.0
480
+ * @see https://eslint.org/docs/rules/indent
481
+ */
482
+ indent: Linter.RuleEntry<
483
+ [
484
+ number | "tab",
485
+ Partial<{
486
+ /**
487
+ * @default 0
488
+ */
489
+ SwitchCase: number;
490
+ /**
491
+ * @default 1
492
+ */
493
+ VariableDeclarator:
494
+ | Partial<{
495
+ /**
496
+ * @default 1
497
+ */
498
+ var: number | "first";
499
+ /**
500
+ * @default 1
501
+ */
502
+ let: number | "first";
503
+ /**
504
+ * @default 1
505
+ */
506
+ const: number | "first";
507
+ }>
508
+ | number
509
+ | "first";
510
+ /**
511
+ * @default 1
512
+ */
513
+ outerIIFEBody: number;
514
+ /**
515
+ * @default 1
516
+ */
517
+ MemberExpression: number | "off";
518
+ /**
519
+ * @default { parameters: 1, body: 1 }
520
+ */
521
+ FunctionDeclaration: Partial<{
522
+ /**
523
+ * @default 1
524
+ */
525
+ parameters: number | "first" | "off";
526
+ /**
527
+ * @default 1
528
+ */
529
+ body: number;
530
+ }>;
531
+ /**
532
+ * @default { parameters: 1, body: 1 }
533
+ */
534
+ FunctionExpression: Partial<{
535
+ /**
536
+ * @default 1
537
+ */
538
+ parameters: number | "first" | "off";
539
+ /**
540
+ * @default 1
541
+ */
542
+ body: number;
543
+ }>;
544
+ /**
545
+ * @default { arguments: 1 }
546
+ */
547
+ CallExpression: Partial<{
548
+ /**
549
+ * @default 1
550
+ */
551
+ arguments: number | "first" | "off";
552
+ }>;
553
+ /**
554
+ * @default 1
555
+ */
556
+ ArrayExpression: number | "first" | "off";
557
+ /**
558
+ * @default 1
559
+ */
560
+ ObjectExpression: number | "first" | "off";
561
+ /**
562
+ * @default 1
563
+ */
564
+ ImportDeclaration: number | "first" | "off";
565
+ /**
566
+ * @default false
567
+ */
568
+ flatTernaryExpressions: boolean;
569
+ ignoredNodes: string[];
570
+ /**
571
+ * @default false
572
+ */
573
+ ignoreComments: boolean;
574
+ }>,
575
+ ]
576
+ >;
577
+
578
+ /**
579
+ * Rule to enforce the consistent use of either double or single quotes in JSX attributes.
580
+ *
581
+ * @since 1.4.0
582
+ * @see https://eslint.org/docs/rules/jsx-quotes
583
+ */
584
+ "jsx-quotes": Linter.RuleEntry<["prefer-double" | "prefer-single"]>;
585
+
586
+ /**
587
+ * Rule to enforce consistent spacing between keys and values in object literal properties.
588
+ *
589
+ * @since 0.9.0
590
+ * @see https://eslint.org/docs/rules/key-spacing
591
+ */
592
+ "key-spacing": Linter.RuleEntry<
593
+ [
594
+ | Partial<
595
+ | {
596
+ /**
597
+ * @default false
598
+ */
599
+ beforeColon: boolean;
600
+ /**
601
+ * @default true
602
+ */
603
+ afterColon: boolean;
604
+ /**
605
+ * @default 'strict'
606
+ */
607
+ mode: "strict" | "minimum";
608
+ align:
609
+ | Partial<{
610
+ /**
611
+ * @default false
612
+ */
613
+ beforeColon: boolean;
614
+ /**
615
+ * @default true
616
+ */
617
+ afterColon: boolean;
618
+ /**
619
+ * @default 'colon'
620
+ */
621
+ on: "value" | "colon";
622
+ /**
623
+ * @default 'strict'
624
+ */
625
+ mode: "strict" | "minimum";
626
+ }>
627
+ | "value"
628
+ | "colon";
629
+ }
630
+ | {
631
+ singleLine?:
632
+ | Partial<{
633
+ /**
634
+ * @default false
635
+ */
636
+ beforeColon: boolean;
637
+ /**
638
+ * @default true
639
+ */
640
+ afterColon: boolean;
641
+ /**
642
+ * @default 'strict'
643
+ */
644
+ mode: "strict" | "minimum";
645
+ }>
646
+ | undefined;
647
+ multiLine?:
648
+ | Partial<{
649
+ /**
650
+ * @default false
651
+ */
652
+ beforeColon: boolean;
653
+ /**
654
+ * @default true
655
+ */
656
+ afterColon: boolean;
657
+ /**
658
+ * @default 'strict'
659
+ */
660
+ mode: "strict" | "minimum";
661
+ align:
662
+ | Partial<{
663
+ /**
664
+ * @default false
665
+ */
666
+ beforeColon: boolean;
667
+ /**
668
+ * @default true
669
+ */
670
+ afterColon: boolean;
671
+ /**
672
+ * @default 'colon'
673
+ */
674
+ on: "value" | "colon";
675
+ /**
676
+ * @default 'strict'
677
+ */
678
+ mode: "strict" | "minimum";
679
+ }>
680
+ | "value"
681
+ | "colon";
682
+ }>
683
+ | undefined;
684
+ }
685
+ >
686
+ | {
687
+ align: Partial<{
688
+ /**
689
+ * @default false
690
+ */
691
+ beforeColon: boolean;
692
+ /**
693
+ * @default true
694
+ */
695
+ afterColon: boolean;
696
+ /**
697
+ * @default 'colon'
698
+ */
699
+ on: "value" | "colon";
700
+ /**
701
+ * @default 'strict'
702
+ */
703
+ mode: "strict" | "minimum";
704
+ }>;
705
+ singleLine?:
706
+ | Partial<{
707
+ /**
708
+ * @default false
709
+ */
710
+ beforeColon: boolean;
711
+ /**
712
+ * @default true
713
+ */
714
+ afterColon: boolean;
715
+ /**
716
+ * @default 'strict'
717
+ */
718
+ mode: "strict" | "minimum";
719
+ }>
720
+ | undefined;
721
+ multiLine?:
722
+ | Partial<{
723
+ /**
724
+ * @default false
725
+ */
726
+ beforeColon: boolean;
727
+ /**
728
+ * @default true
729
+ */
730
+ afterColon: boolean;
731
+ /**
732
+ * @default 'strict'
733
+ */
734
+ mode: "strict" | "minimum";
735
+ }>
736
+ | undefined;
737
+ },
738
+ ]
739
+ >;
740
+
741
+ /**
742
+ * Rule to enforce consistent spacing before and after keywords.
743
+ *
744
+ * @since 2.0.0-beta.1
745
+ * @see https://eslint.org/docs/rules/keyword-spacing
746
+ */
747
+ "keyword-spacing": Linter.RuleEntry<
748
+ [
749
+ Partial<{
750
+ /**
751
+ * @default true
752
+ */
753
+ before: boolean;
754
+ /**
755
+ * @default true
756
+ */
757
+ after: boolean;
758
+ overrides: Record<
759
+ string,
760
+ Partial<{
761
+ before: boolean;
762
+ after: boolean;
763
+ }>
764
+ >;
765
+ }>,
766
+ ]
767
+ >;
768
+
769
+ /**
770
+ * Rule to enforce position of line comments.
771
+ *
772
+ * @since 3.5.0
773
+ * @see https://eslint.org/docs/rules/line-comment-position
774
+ */
775
+ "line-comment-position": Linter.RuleEntry<
776
+ [
777
+ Partial<{
778
+ /**
779
+ * @default 'above'
780
+ */
781
+ position: "above" | "beside";
782
+ ignorePattern: string;
783
+ /**
784
+ * @default true
785
+ */
786
+ applyDefaultIgnorePatterns: boolean;
787
+ }>,
788
+ ]
789
+ >;
790
+
791
+ /**
792
+ * Rule to enforce consistent linebreak style.
793
+ *
794
+ * @since 0.21.0
795
+ * @see https://eslint.org/docs/rules/linebreak-style
796
+ */
797
+ "linebreak-style": Linter.RuleEntry<["unix" | "windows"]>;
798
+
799
+ /**
800
+ * Rule to require empty lines around comments.
801
+ *
802
+ * @since 0.22.0
803
+ * @see https://eslint.org/docs/rules/lines-around-comment
804
+ */
805
+ "lines-around-comment": Linter.RuleEntry<
806
+ [
807
+ Partial<{
808
+ /**
809
+ * @default true
810
+ */
811
+ beforeBlockComment: boolean;
812
+ /**
813
+ * @default false
814
+ */
815
+ afterBlockComment: boolean;
816
+ /**
817
+ * @default false
818
+ */
819
+ beforeLineComment: boolean;
820
+ /**
821
+ * @default false
822
+ */
823
+ afterLineComment: boolean;
824
+ /**
825
+ * @default false
826
+ */
827
+ allowBlockStart: boolean;
828
+ /**
829
+ * @default false
830
+ */
831
+ allowBlockEnd: boolean;
832
+ /**
833
+ * @default false
834
+ */
835
+ allowObjectStart: boolean;
836
+ /**
837
+ * @default false
838
+ */
839
+ allowObjectEnd: boolean;
840
+ /**
841
+ * @default false
842
+ */
843
+ allowArrayStart: boolean;
844
+ /**
845
+ * @default false
846
+ */
847
+ allowArrayEnd: boolean;
848
+ /**
849
+ * @default false
850
+ */
851
+ allowClassStart: boolean;
852
+ /**
853
+ * @default false
854
+ */
855
+ allowClassEnd: boolean;
856
+ ignorePattern: string;
857
+ /**
858
+ * @default true
859
+ */
860
+ applyDefaultIgnorePatterns: boolean;
861
+ }>,
862
+ ]
863
+ >;
864
+
865
+ /**
866
+ * Rule to require or disallow an empty line between class members.
867
+ *
868
+ * @since 4.9.0
869
+ * @see https://eslint.org/docs/rules/lines-between-class-members
870
+ */
871
+ "lines-between-class-members": Linter.RuleEntry<
872
+ [
873
+ "always" | "never",
874
+ Partial<{
875
+ /**
876
+ * @default false
877
+ */
878
+ exceptAfterSingleLine: boolean;
879
+ }>,
880
+ ]
881
+ >;
882
+
883
+ /**
884
+ * Rule to enforce a maximum depth that blocks can be nested.
885
+ *
886
+ * @since 0.0.9
887
+ * @see https://eslint.org/docs/rules/max-depth
888
+ */
889
+ "max-depth": Linter.RuleEntry<
890
+ [
891
+ Partial<{
892
+ /**
893
+ * @default 4
894
+ */
895
+ max: number;
896
+ }>,
897
+ ]
898
+ >;
899
+
900
+ /**
901
+ * Rule to enforce a maximum line length.
902
+ *
903
+ * @since 0.0.9
904
+ * @see https://eslint.org/docs/rules/max-len
905
+ */
906
+ "max-len": Linter.RuleEntry<
907
+ [
908
+ Partial<{
909
+ /**
910
+ * @default 80
911
+ */
912
+ code: number;
913
+ /**
914
+ * @default 4
915
+ */
916
+ tabWidth: number;
917
+ comments: number;
918
+ ignorePattern: string;
919
+ /**
920
+ * @default false
921
+ */
922
+ ignoreComments: boolean;
923
+ /**
924
+ * @default false
925
+ */
926
+ ignoreTrailingComments: boolean;
927
+ /**
928
+ * @default false
929
+ */
930
+ ignoreUrls: boolean;
931
+ /**
932
+ * @default false
933
+ */
934
+ ignoreStrings: boolean;
935
+ /**
936
+ * @default false
937
+ */
938
+ ignoreTemplateLiterals: boolean;
939
+ /**
940
+ * @default false
941
+ */
942
+ ignoreRegExpLiterals: boolean;
943
+ }>,
944
+ ]
945
+ >;
946
+
947
+ /**
948
+ * Rule to enforce a maximum number of lines per file.
949
+ *
950
+ * @since 2.12.0
951
+ * @see https://eslint.org/docs/rules/max-lines
952
+ */
953
+ "max-lines": Linter.RuleEntry<
954
+ [
955
+ | Partial<{
956
+ /**
957
+ * @default 300
958
+ */
959
+ max: number;
960
+ /**
961
+ * @default false
962
+ */
963
+ skipBlankLines: boolean;
964
+ /**
965
+ * @default false
966
+ */
967
+ skipComments: boolean;
968
+ }>
969
+ | number,
970
+ ]
971
+ >;
972
+
973
+ /**
974
+ * Rule to enforce a maximum number of line of code in a function.
975
+ *
976
+ * @since 5.0.0
977
+ * @see https://eslint.org/docs/rules/max-lines-per-function
978
+ */
979
+ "max-lines-per-function": Linter.RuleEntry<
980
+ [
981
+ Partial<{
982
+ /**
983
+ * @default 50
984
+ */
985
+ max: number;
986
+ /**
987
+ * @default false
988
+ */
989
+ skipBlankLines: boolean;
990
+ /**
991
+ * @default false
992
+ */
993
+ skipComments: boolean;
994
+ /**
995
+ * @default false
996
+ */
997
+ IIFEs: boolean;
998
+ }>,
999
+ ]
1000
+ >;
1001
+
1002
+ /**
1003
+ * Rule to enforce a maximum depth that callbacks can be nested.
1004
+ *
1005
+ * @since 0.2.0
1006
+ * @see https://eslint.org/docs/rules/max-nested-callbacks
1007
+ */
1008
+ "max-nested-callbacks": Linter.RuleEntry<
1009
+ [
1010
+ | Partial<{
1011
+ /**
1012
+ * @default 10
1013
+ */
1014
+ max: number;
1015
+ }>
1016
+ | number,
1017
+ ]
1018
+ >;
1019
+
1020
+ /**
1021
+ * Rule to enforce a maximum number of parameters in function definitions.
1022
+ *
1023
+ * @since 0.0.9
1024
+ * @see https://eslint.org/docs/rules/max-params
1025
+ */
1026
+ "max-params": Linter.RuleEntry<
1027
+ [
1028
+ | Partial<{
1029
+ /**
1030
+ * @default 3
1031
+ */
1032
+ max: number;
1033
+ }>
1034
+ | number,
1035
+ ]
1036
+ >;
1037
+
1038
+ /**
1039
+ * Rule to enforce a maximum number of statements allowed in function blocks.
1040
+ *
1041
+ * @since 0.0.9
1042
+ * @see https://eslint.org/docs/rules/max-statements
1043
+ */
1044
+ "max-statements": Linter.RuleEntry<
1045
+ [
1046
+ | Partial<{
1047
+ /**
1048
+ * @default 10
1049
+ */
1050
+ max: number;
1051
+ /**
1052
+ * @default false
1053
+ */
1054
+ ignoreTopLevelFunctions: boolean;
1055
+ }>
1056
+ | number,
1057
+ ]
1058
+ >;
1059
+
1060
+ /**
1061
+ * Rule to enforce a maximum number of statements allowed per line.
1062
+ *
1063
+ * @since 2.5.0
1064
+ * @see https://eslint.org/docs/rules/max-statements-per-line
1065
+ */
1066
+ "max-statements-per-line": Linter.RuleEntry<
1067
+ [
1068
+ | Partial<{
1069
+ /**
1070
+ * @default 1
1071
+ */
1072
+ max: number;
1073
+ }>
1074
+ | number,
1075
+ ]
1076
+ >;
1077
+
1078
+ /**
1079
+ * Rule to enforce a particular style for multiline comments.
1080
+ *
1081
+ * @since 4.10.0
1082
+ * @see https://eslint.org/docs/rules/multiline-comment-style
1083
+ */
1084
+ "multiline-comment-style": Linter.RuleEntry<["starred-block" | "bare-block" | "separate-lines"]>;
1085
+
1086
+ /**
1087
+ * Rule to enforce newlines between operands of ternary expressions.
1088
+ *
1089
+ * @since 3.1.0
1090
+ * @see https://eslint.org/docs/rules/multiline-ternary
1091
+ */
1092
+ "multiline-ternary": Linter.RuleEntry<["always" | "always-multiline" | "never"]>;
1093
+
1094
+ /**
1095
+ * Rule to require constructor names to begin with a capital letter.
1096
+ *
1097
+ * @since 0.0.3-0
1098
+ * @see https://eslint.org/docs/rules/new-cap
1099
+ */
1100
+ "new-cap": Linter.RuleEntry<
1101
+ [
1102
+ Partial<{
1103
+ /**
1104
+ * @default true
1105
+ */
1106
+ newIsCap: boolean;
1107
+ /**
1108
+ * @default true
1109
+ */
1110
+ capIsNew: boolean;
1111
+ newIsCapExceptions: string[];
1112
+ newIsCapExceptionPattern: string;
1113
+ capIsNewExceptions: string[];
1114
+ capIsNewExceptionPattern: string;
1115
+ /**
1116
+ * @default true
1117
+ */
1118
+ properties: boolean;
1119
+ }>,
1120
+ ]
1121
+ >;
1122
+
1123
+ /**
1124
+ * Rule to enforce or disallow parentheses when invoking a constructor with no arguments.
1125
+ *
1126
+ * @since 0.0.6
1127
+ * @see https://eslint.org/docs/rules/new-parens
1128
+ */
1129
+ "new-parens": Linter.RuleEntry<["always" | "never"]>;
1130
+
1131
+ /**
1132
+ * Rule to require a newline after each call in a method chain.
1133
+ *
1134
+ * @since 2.0.0-rc.0
1135
+ * @see https://eslint.org/docs/rules/newline-per-chained-call
1136
+ */
1137
+ "newline-per-chained-call": Linter.RuleEntry<
1138
+ [
1139
+ {
1140
+ /**
1141
+ * @default 2
1142
+ */
1143
+ ignoreChainWithDepth: number;
1144
+ },
1145
+ ]
1146
+ >;
1147
+
1148
+ /**
1149
+ * Rule to disallow `Array` constructors.
1150
+ *
1151
+ * @since 0.4.0
1152
+ * @see https://eslint.org/docs/rules/no-array-constructor
1153
+ */
1154
+ "no-array-constructor": Linter.RuleEntry<[]>;
1155
+
1156
+ /**
1157
+ * Rule to disallow bitwise operators.
1158
+ *
1159
+ * @since 0.0.2
1160
+ * @see https://eslint.org/docs/rules/no-bitwise
1161
+ */
1162
+ "no-bitwise": Linter.RuleEntry<
1163
+ [
1164
+ Partial<{
1165
+ allow: string[];
1166
+ /**
1167
+ * @default false
1168
+ */
1169
+ int32Hint: boolean;
1170
+ }>,
1171
+ ]
1172
+ >;
1173
+
1174
+ /**
1175
+ * Rule to disallow `continue` statements.
1176
+ *
1177
+ * @since 0.19.0
1178
+ * @see https://eslint.org/docs/rules/no-continue
1179
+ */
1180
+ "no-continue": Linter.RuleEntry<[]>;
1181
+
1182
+ /**
1183
+ * Rule to disallow inline comments after code.
1184
+ *
1185
+ * @since 0.10.0
1186
+ * @see https://eslint.org/docs/rules/no-inline-comments
1187
+ */
1188
+ "no-inline-comments": Linter.RuleEntry<[]>;
1189
+
1190
+ /**
1191
+ * Rule to disallow `if` statements as the only statement in `else` blocks.
1192
+ *
1193
+ * @since 0.6.0
1194
+ * @see https://eslint.org/docs/rules/no-lonely-if
1195
+ */
1196
+ "no-lonely-if": Linter.RuleEntry<[]>;
1197
+
1198
+ /**
1199
+ * Rule to disallow mixed binary operators.
1200
+ *
1201
+ * @since 2.12.0
1202
+ * @see https://eslint.org/docs/rules/no-mixed-operators
1203
+ */
1204
+ "no-mixed-operators": Linter.RuleEntry<
1205
+ [
1206
+ Partial<{
1207
+ /**
1208
+ * @default
1209
+ * [
1210
+ * ["+", "-", "*", "/", "%", "**"],
1211
+ * ["&", "|", "^", "~", "<<", ">>", ">>>"],
1212
+ * ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
1213
+ * ["&&", "||"],
1214
+ * ["in", "instanceof"]
1215
+ * ]
1216
+ */
1217
+ groups: string[][];
1218
+ /**
1219
+ * @default true
1220
+ */
1221
+ allowSamePrecedence: boolean;
1222
+ }>,
1223
+ ]
1224
+ >;
1225
+
1226
+ /**
1227
+ * Rule to disallow mixed spaces and tabs for indentation.
1228
+ *
1229
+ * @remarks
1230
+ * Recommended by ESLint, the rule was enabled in `eslint:recommended`.
1231
+ *
1232
+ * @since 0.7.1
1233
+ * @see https://eslint.org/docs/rules/no-mixed-spaces-and-tabs
1234
+ */
1235
+ "no-mixed-spaces-and-tabs": Linter.RuleEntry<["smart-tabs"]>;
1236
+
1237
+ /**
1238
+ * Rule to disallow use of chained assignment expressions.
1239
+ *
1240
+ * @since 3.14.0
1241
+ * @see https://eslint.org/docs/rules/no-multi-assign
1242
+ */
1243
+ "no-multi-assign": Linter.RuleEntry<[]>;
1244
+
1245
+ /**
1246
+ * Rule to disallow multiple empty lines.
1247
+ *
1248
+ * @since 0.9.0
1249
+ * @see https://eslint.org/docs/rules/no-multiple-empty-lines
1250
+ */
1251
+ "no-multiple-empty-lines": Linter.RuleEntry<
1252
+ [
1253
+ | Partial<{
1254
+ /**
1255
+ * @default 2
1256
+ */
1257
+ max: number;
1258
+ maxEOF: number;
1259
+ maxBOF: number;
1260
+ }>
1261
+ | number,
1262
+ ]
1263
+ >;
1264
+
1265
+ /**
1266
+ * Rule to disallow negated conditions.
1267
+ *
1268
+ * @since 1.6.0
1269
+ * @see https://eslint.org/docs/rules/no-negated-condition
1270
+ */
1271
+ "no-negated-condition": Linter.RuleEntry<[]>;
1272
+
1273
+ /**
1274
+ * Rule to disallow nested ternary expressions.
1275
+ *
1276
+ * @since 0.2.0
1277
+ * @see https://eslint.org/docs/rules/no-nested-ternary
1278
+ */
1279
+ "no-nested-ternary": Linter.RuleEntry<[]>;
1280
+
1281
+ /**
1282
+ * Rule to disallow `Object` constructors.
1283
+ *
1284
+ * @since 0.0.9
1285
+ * @see https://eslint.org/docs/rules/no-new-object
1286
+ */
1287
+ "no-new-object": Linter.RuleEntry<[]>;
1288
+
1289
+ /**
1290
+ * Rule to disallow the unary operators `++` and `--`.
1291
+ *
1292
+ * @since 0.0.9
1293
+ * @see https://eslint.org/docs/rules/no-plusplus
1294
+ */
1295
+ "no-plusplus": Linter.RuleEntry<
1296
+ [
1297
+ Partial<{
1298
+ /**
1299
+ * @default false
1300
+ */
1301
+ allowForLoopAfterthoughts: boolean;
1302
+ }>,
1303
+ ]
1304
+ >;
1305
+
1306
+ /**
1307
+ * Rule to disallow specified syntax.
1308
+ *
1309
+ * @since 1.4.0
1310
+ * @see https://eslint.org/docs/rules/no-restricted-syntax
1311
+ */
1312
+ "no-restricted-syntax": Linter.RuleEntry<
1313
+ [
1314
+ ...Array<
1315
+ | string
1316
+ | {
1317
+ selector: string;
1318
+ message?: string | undefined;
1319
+ }
1320
+ >,
1321
+ ]
1322
+ >;
1323
+
1324
+ /**
1325
+ * Rule to disallow all tabs.
1326
+ *
1327
+ * @since 3.2.0
1328
+ * @see https://eslint.org/docs/rules/no-tabs
1329
+ */
1330
+ "no-tabs": Linter.RuleEntry<
1331
+ [
1332
+ Partial<{
1333
+ /**
1334
+ * @default false
1335
+ */
1336
+ allowIndentationTabs: boolean;
1337
+ }>,
1338
+ ]
1339
+ >;
1340
+
1341
+ /**
1342
+ * Rule to disallow ternary operators.
1343
+ *
1344
+ * @since 0.0.9
1345
+ * @see https://eslint.org/docs/rules/no-ternary
1346
+ */
1347
+ "no-ternary": Linter.RuleEntry<[]>;
1348
+
1349
+ /**
1350
+ * Rule to disallow trailing whitespace at the end of lines.
1351
+ *
1352
+ * @since 0.7.1
1353
+ * @see https://eslint.org/docs/rules/no-trailing-spaces
1354
+ */
1355
+ "no-trailing-spaces": Linter.RuleEntry<
1356
+ [
1357
+ Partial<{
1358
+ /**
1359
+ * @default false
1360
+ */
1361
+ skipBlankLines: boolean;
1362
+ /**
1363
+ * @default false
1364
+ */
1365
+ ignoreComments: boolean;
1366
+ }>,
1367
+ ]
1368
+ >;
1369
+
1370
+ /**
1371
+ * Rule to disallow dangling underscores in identifiers.
1372
+ *
1373
+ * @since 0.0.9
1374
+ * @see https://eslint.org/docs/rules/no-underscore-dangle
1375
+ */
1376
+ "no-underscore-dangle": Linter.RuleEntry<
1377
+ [
1378
+ Partial<{
1379
+ allow: string[];
1380
+ /**
1381
+ * @default false
1382
+ */
1383
+ allowAfterThis: boolean;
1384
+ /**
1385
+ * @default false
1386
+ */
1387
+ allowAfterSuper: boolean;
1388
+ /**
1389
+ * @default false
1390
+ */
1391
+ enforceInMethodNames: boolean;
1392
+ }>,
1393
+ ]
1394
+ >;
1395
+
1396
+ /**
1397
+ * Rule to disallow ternary operators when simpler alternatives exist.
1398
+ *
1399
+ * @since 0.21.0
1400
+ * @see https://eslint.org/docs/rules/no-unneeded-ternary
1401
+ */
1402
+ "no-unneeded-ternary": Linter.RuleEntry<
1403
+ [
1404
+ Partial<{
1405
+ /**
1406
+ * @default true
1407
+ */
1408
+ defaultAssignment: boolean;
1409
+ }>,
1410
+ ]
1411
+ >;
1412
+
1413
+ /**
1414
+ * Rule to disallow whitespace before properties.
1415
+ *
1416
+ * @since 2.0.0-beta.1
1417
+ * @see https://eslint.org/docs/rules/no-whitespace-before-property
1418
+ */
1419
+ "no-whitespace-before-property": Linter.RuleEntry<[]>;
1420
+
1421
+ /**
1422
+ * Rule to enforce the location of single-line statements.
1423
+ *
1424
+ * @since 3.17.0
1425
+ * @see https://eslint.org/docs/rules/nonblock-statement-body-position
1426
+ */
1427
+ "nonblock-statement-body-position": Linter.RuleEntry<
1428
+ [
1429
+ "beside" | "below" | "any",
1430
+ Partial<{
1431
+ overrides: Record<string, "beside" | "below" | "any">;
1432
+ }>,
1433
+ ]
1434
+ >;
1435
+
1436
+ /**
1437
+ * Rule to enforce consistent line breaks inside braces.
1438
+ *
1439
+ * @since 2.12.0
1440
+ * @see https://eslint.org/docs/rules/object-curly-newline
1441
+ */
1442
+ "object-curly-newline": Linter.RuleEntry<
1443
+ [
1444
+ | "always"
1445
+ | "never"
1446
+ | Partial<{
1447
+ /**
1448
+ * @default false
1449
+ */
1450
+ multiline: boolean;
1451
+ minProperties: number;
1452
+ /**
1453
+ * @default true
1454
+ */
1455
+ consistent: boolean;
1456
+ }>
1457
+ | Partial<
1458
+ Record<
1459
+ "ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportDeclaration",
1460
+ | "always"
1461
+ | "never"
1462
+ | Partial<{
1463
+ /**
1464
+ * @default false
1465
+ */
1466
+ multiline: boolean;
1467
+ minProperties: number;
1468
+ /**
1469
+ * @default true
1470
+ */
1471
+ consistent: boolean;
1472
+ }>
1473
+ >
1474
+ >,
1475
+ ]
1476
+ >;
1477
+
1478
+ /**
1479
+ * Rule to enforce consistent spacing inside braces.
1480
+ *
1481
+ * @since 0.22.0
1482
+ * @see https://eslint.org/docs/rules/object-curly-spacing
1483
+ */
1484
+ "object-curly-spacing":
1485
+ | Linter.RuleEntry<
1486
+ [
1487
+ "never",
1488
+ {
1489
+ /**
1490
+ * @default false
1491
+ */
1492
+ arraysInObjects: boolean;
1493
+ /**
1494
+ * @default false
1495
+ */
1496
+ objectsInObjects: boolean;
1497
+ },
1498
+ ]
1499
+ >
1500
+ | Linter.RuleEntry<
1501
+ [
1502
+ "always",
1503
+ {
1504
+ /**
1505
+ * @default true
1506
+ */
1507
+ arraysInObjects: boolean;
1508
+ /**
1509
+ * @default true
1510
+ */
1511
+ objectsInObjects: boolean;
1512
+ },
1513
+ ]
1514
+ >;
1515
+
1516
+ /**
1517
+ * Rule to enforce placing object properties on separate lines.
1518
+ *
1519
+ * @since 2.10.0
1520
+ * @see https://eslint.org/docs/rules/object-property-newline
1521
+ */
1522
+ "object-property-newline": Linter.RuleEntry<
1523
+ [
1524
+ Partial<{
1525
+ /**
1526
+ * @default false
1527
+ */
1528
+ allowAllPropertiesOnSameLine: boolean;
1529
+ }>,
1530
+ ]
1531
+ >;
1532
+
1533
+ /**
1534
+ * Rule to enforce variables to be declared either together or separately in functions.
1535
+ *
1536
+ * @since 0.0.9
1537
+ * @see https://eslint.org/docs/rules/one-var
1538
+ */
1539
+ "one-var": Linter.RuleEntry<
1540
+ [
1541
+ | "always"
1542
+ | "never"
1543
+ | "consecutive"
1544
+ | Partial<
1545
+ {
1546
+ /**
1547
+ * @default false
1548
+ */
1549
+ separateRequires: boolean;
1550
+ } & Record<"var" | "let" | "const", "always" | "never" | "consecutive">
1551
+ >
1552
+ | Partial<Record<"initialized" | "uninitialized", "always" | "never" | "consecutive">>,
1553
+ ]
1554
+ >;
1555
+
1556
+ /**
1557
+ * Rule to require or disallow newlines around variable declarations.
1558
+ *
1559
+ * @since 2.0.0-beta.3
1560
+ * @see https://eslint.org/docs/rules/one-var-declaration-per-line
1561
+ */
1562
+ "one-var-declaration-per-line": Linter.RuleEntry<["initializations" | "always"]>;
1563
+
1564
+ /**
1565
+ * Rule to require or disallow assignment operator shorthand where possible.
1566
+ *
1567
+ * @since 0.10.0
1568
+ * @see https://eslint.org/docs/rules/operator-assignment
1569
+ */
1570
+ "operator-assignment": Linter.RuleEntry<["always" | "never"]>;
1571
+
1572
+ /**
1573
+ * Rule to enforce consistent linebreak style for operators.
1574
+ *
1575
+ * @since 0.19.0
1576
+ * @see https://eslint.org/docs/rules/operator-linebreak
1577
+ */
1578
+ "operator-linebreak": Linter.RuleEntry<
1579
+ [
1580
+ "after" | "before" | "none",
1581
+ Partial<{
1582
+ overrides: Record<string, "after" | "before" | "none">;
1583
+ }>,
1584
+ ]
1585
+ >;
1586
+
1587
+ /**
1588
+ * Rule to require or disallow padding within blocks.
1589
+ *
1590
+ * @since 0.9.0
1591
+ * @see https://eslint.org/docs/rules/padded-blocks
1592
+ */
1593
+ "padded-blocks": Linter.RuleEntry<
1594
+ [
1595
+ "always" | "never" | Partial<Record<"blocks" | "classes" | "switches", "always" | "never">>,
1596
+ {
1597
+ /**
1598
+ * @default false
1599
+ */
1600
+ allowSingleLineBlocks: boolean;
1601
+ },
1602
+ ]
1603
+ >;
1604
+
1605
+ /**
1606
+ * Rule to require or disallow padding lines between statements.
1607
+ *
1608
+ * @since 4.0.0-beta.0
1609
+ * @see https://eslint.org/docs/rules/padding-line-between-statements
1610
+ */
1611
+ "padding-line-between-statements": Linter.RuleEntry<
1612
+ [
1613
+ ...Array<
1614
+ {
1615
+ blankLine: "any" | "never" | "always";
1616
+ } & Record<"prev" | "next", string | string[]>
1617
+ >,
1618
+ ]
1619
+ >;
1620
+
1621
+ /**
1622
+ * Rule to disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.
1623
+ *
1624
+ * @since 5.0.0-alpha.3
1625
+ * @see https://eslint.org/docs/rules/prefer-object-spread
1626
+ */
1627
+ "prefer-object-spread": Linter.RuleEntry<[]>;
1628
+
1629
+ /**
1630
+ * Rule to require quotes around object literal property names.
1631
+ *
1632
+ * @since 0.0.6
1633
+ * @see https://eslint.org/docs/rules/quote-props
1634
+ */
1635
+ "quote-props":
1636
+ | Linter.RuleEntry<["always" | "consistent"]>
1637
+ | Linter.RuleEntry<
1638
+ [
1639
+ "as-needed",
1640
+ Partial<{
1641
+ /**
1642
+ * @default false
1643
+ */
1644
+ keywords: boolean;
1645
+ /**
1646
+ * @default true
1647
+ */
1648
+ unnecessary: boolean;
1649
+ /**
1650
+ * @default false
1651
+ */
1652
+ numbers: boolean;
1653
+ }>,
1654
+ ]
1655
+ >
1656
+ | Linter.RuleEntry<
1657
+ [
1658
+ "consistent-as-needed",
1659
+ Partial<{
1660
+ /**
1661
+ * @default false
1662
+ */
1663
+ keywords: boolean;
1664
+ }>,
1665
+ ]
1666
+ >;
1667
+
1668
+ /**
1669
+ * Rule to enforce the consistent use of either backticks, double, or single quotes.
1670
+ *
1671
+ * @since 0.0.7
1672
+ * @see https://eslint.org/docs/rules/quotes
1673
+ */
1674
+ quotes: Linter.RuleEntry<
1675
+ [
1676
+ "double" | "single" | "backtick",
1677
+ Partial<{
1678
+ /**
1679
+ * @default false
1680
+ */
1681
+ avoidEscape: boolean;
1682
+ /**
1683
+ * @default false
1684
+ */
1685
+ allowTemplateLiterals: boolean;
1686
+ }>,
1687
+ ]
1688
+ >;
1689
+
1690
+ /**
1691
+ * Rule to require or disallow semicolons instead of ASI.
1692
+ *
1693
+ * @since 0.0.6
1694
+ * @see https://eslint.org/docs/rules/semi
1695
+ */
1696
+ semi:
1697
+ | Linter.RuleEntry<
1698
+ [
1699
+ "always",
1700
+ Partial<{
1701
+ /**
1702
+ * @default false
1703
+ */
1704
+ omitLastInOneLineBlock: boolean;
1705
+ }>,
1706
+ ]
1707
+ >
1708
+ | Linter.RuleEntry<
1709
+ [
1710
+ "never",
1711
+ Partial<{
1712
+ /**
1713
+ * @default 'any'
1714
+ */
1715
+ beforeStatementContinuationChars: "any" | "always" | "never";
1716
+ }>,
1717
+ ]
1718
+ >;
1719
+
1720
+ /**
1721
+ * Rule to enforce consistent spacing before and after semicolons.
1722
+ *
1723
+ * @since 0.16.0
1724
+ * @see https://eslint.org/docs/rules/semi-spacing
1725
+ */
1726
+ "semi-spacing": Linter.RuleEntry<
1727
+ [
1728
+ Partial<{
1729
+ /**
1730
+ * @default false
1731
+ */
1732
+ before: boolean;
1733
+ /**
1734
+ * @default true
1735
+ */
1736
+ after: boolean;
1737
+ }>,
1738
+ ]
1739
+ >;
1740
+
1741
+ /**
1742
+ * Rule to enforce location of semicolons.
1743
+ *
1744
+ * @since 4.0.0-beta.0
1745
+ * @see https://eslint.org/docs/rules/semi-style
1746
+ */
1747
+ "semi-style": Linter.RuleEntry<["last" | "first"]>;
1748
+
1749
+ /**
1750
+ * Rule to require object keys to be sorted.
1751
+ *
1752
+ * @since 3.3.0
1753
+ * @see https://eslint.org/docs/rules/sort-keys
1754
+ */
1755
+ "sort-keys": Linter.RuleEntry<
1756
+ [
1757
+ "asc" | "desc",
1758
+ Partial<{
1759
+ /**
1760
+ * @default true
1761
+ */
1762
+ caseSensitive: boolean;
1763
+ /**
1764
+ * @default 2
1765
+ */
1766
+ minKeys: number;
1767
+ /**
1768
+ * @default false
1769
+ */
1770
+ natural: boolean;
1771
+ /**
1772
+ * @default false
1773
+ */
1774
+ allowLineSeparatedGroups: boolean;
1775
+ }>,
1776
+ ]
1777
+ >;
1778
+
1779
+ /**
1780
+ * Rule to require variables within the same declaration block to be sorted.
1781
+ *
1782
+ * @since 0.2.0
1783
+ * @see https://eslint.org/docs/rules/sort-vars
1784
+ */
1785
+ "sort-vars": Linter.RuleEntry<
1786
+ [
1787
+ Partial<{
1788
+ /**
1789
+ * @default false
1790
+ */
1791
+ ignoreCase: boolean;
1792
+ }>,
1793
+ ]
1794
+ >;
1795
+
1796
+ /**
1797
+ * Rule to enforce consistent spacing before blocks.
1798
+ *
1799
+ * @since 0.9.0
1800
+ * @see https://eslint.org/docs/rules/space-before-blocks
1801
+ */
1802
+ "space-before-blocks": Linter.RuleEntry<
1803
+ ["always" | "never" | Partial<Record<"functions" | "keywords" | "classes", "always" | "never" | "off">>]
1804
+ >;
1805
+
1806
+ /**
1807
+ * Rule to enforce consistent spacing before `function` definition opening parenthesis.
1808
+ *
1809
+ * @since 0.18.0
1810
+ * @see https://eslint.org/docs/rules/space-before-function-paren
1811
+ */
1812
+ "space-before-function-paren": Linter.RuleEntry<
1813
+ ["always" | "never" | Partial<Record<"anonymous" | "named" | "asyncArrow", "always" | "never" | "ignore">>]
1814
+ >;
1815
+
1816
+ /**
1817
+ * Rule to enforce consistent spacing inside parentheses.
1818
+ *
1819
+ * @since 0.8.0
1820
+ * @see https://eslint.org/docs/rules/space-in-parens
1821
+ */
1822
+ "space-in-parens": Linter.RuleEntry<
1823
+ [
1824
+ "never" | "always",
1825
+ Partial<{
1826
+ exceptions: string[];
1827
+ }>,
1828
+ ]
1829
+ >;
1830
+
1831
+ /**
1832
+ * Rule to require spacing around infix operators.
1833
+ *
1834
+ * @since 0.2.0
1835
+ * @see https://eslint.org/docs/rules/space-infix-ops
1836
+ */
1837
+ "space-infix-ops": Linter.RuleEntry<
1838
+ [
1839
+ Partial<{
1840
+ /**
1841
+ * @default false
1842
+ */
1843
+ int32Hint: boolean;
1844
+ }>,
1845
+ ]
1846
+ >;
1847
+
1848
+ /**
1849
+ * Rule to enforce consistent spacing before or after unary operators.
1850
+ *
1851
+ * @since 0.10.0
1852
+ * @see https://eslint.org/docs/rules/space-unary-ops
1853
+ */
1854
+ "space-unary-ops": Linter.RuleEntry<
1855
+ [
1856
+ Partial<{
1857
+ /**
1858
+ * @default true
1859
+ */
1860
+ words: boolean;
1861
+ /**
1862
+ * @default false
1863
+ */
1864
+ nonwords: boolean;
1865
+ overrides: Record<string, boolean>;
1866
+ }>,
1867
+ ]
1868
+ >;
1869
+
1870
+ /**
1871
+ * Rule to enforce consistent spacing after the `//` or `/*` in a comment.
1872
+ *
1873
+ * @since 0.23.0
1874
+ * @see https://eslint.org/docs/rules/spaced-comment
1875
+ */
1876
+ "spaced-comment": Linter.RuleEntry<
1877
+ [
1878
+ "always" | "never",
1879
+ {
1880
+ exceptions: string[];
1881
+ markers: string[];
1882
+ line: {
1883
+ exceptions: string[];
1884
+ markers: string[];
1885
+ };
1886
+ block: {
1887
+ exceptions: string[];
1888
+ markers: string[];
1889
+ /**
1890
+ * @default false
1891
+ */
1892
+ balanced: boolean;
1893
+ };
1894
+ },
1895
+ ]
1896
+ >;
1897
+
1898
+ /**
1899
+ * Rule to enforce spacing around colons of switch statements.
1900
+ *
1901
+ * @since 4.0.0-beta.0
1902
+ * @see https://eslint.org/docs/rules/switch-colon-spacing
1903
+ */
1904
+ "switch-colon-spacing": Linter.RuleEntry<
1905
+ [
1906
+ Partial<{
1907
+ /**
1908
+ * @default false
1909
+ */
1910
+ before: boolean;
1911
+ /**
1912
+ * @default true
1913
+ */
1914
+ after: boolean;
1915
+ }>,
1916
+ ]
1917
+ >;
1918
+
1919
+ /**
1920
+ * Rule to require or disallow spacing between template tags and their literals.
1921
+ *
1922
+ * @since 3.15.0
1923
+ * @see https://eslint.org/docs/rules/template-tag-spacing
1924
+ */
1925
+ "template-tag-spacing": Linter.RuleEntry<["never" | "always"]>;
1926
+
1927
+ /**
1928
+ * Rule to require or disallow Unicode byte order mark (BOM).
1929
+ *
1930
+ * @since 2.11.0
1931
+ * @see https://eslint.org/docs/rules/unicode-bom
1932
+ */
1933
+ "unicode-bom": Linter.RuleEntry<["never" | "always"]>;
1934
+
1935
+ /**
1936
+ * Rule to require parenthesis around regex literals.
1937
+ *
1938
+ * @since 0.1.0
1939
+ * @see https://eslint.org/docs/rules/wrap-regex
1940
+ */
1941
+ "wrap-regex": Linter.RuleEntry<[]>;
1942
+ }