@biomejs/biome 1.7.3 → 1.8.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.
@@ -83,77 +83,77 @@
83
83
  "noAccessKey": {
84
84
  "description": "Enforce that the accessKey attribute is not used on any HTML element.",
85
85
  "anyOf": [
86
- { "$ref": "#/definitions/RuleConfiguration" },
86
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
87
87
  { "type": "null" }
88
88
  ]
89
89
  },
90
90
  "noAriaHiddenOnFocusable": {
91
91
  "description": "Enforce that aria-hidden=\"true\" is not set on focusable elements.",
92
92
  "anyOf": [
93
- { "$ref": "#/definitions/RuleConfiguration" },
93
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
94
94
  { "type": "null" }
95
95
  ]
96
96
  },
97
97
  "noAriaUnsupportedElements": {
98
98
  "description": "Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.",
99
99
  "anyOf": [
100
- { "$ref": "#/definitions/RuleConfiguration" },
100
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
101
101
  { "type": "null" }
102
102
  ]
103
103
  },
104
104
  "noAutofocus": {
105
105
  "description": "Enforce that autoFocus prop is not used on elements.",
106
106
  "anyOf": [
107
- { "$ref": "#/definitions/RuleConfiguration" },
107
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
108
108
  { "type": "null" }
109
109
  ]
110
110
  },
111
111
  "noBlankTarget": {
112
112
  "description": "Disallow target=\"_blank\" attribute without rel=\"noreferrer\"",
113
113
  "anyOf": [
114
- { "$ref": "#/definitions/RuleConfiguration" },
114
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
115
115
  { "type": "null" }
116
116
  ]
117
117
  },
118
118
  "noDistractingElements": {
119
119
  "description": "Enforces that no distracting elements are used.",
120
120
  "anyOf": [
121
- { "$ref": "#/definitions/RuleConfiguration" },
121
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
122
122
  { "type": "null" }
123
123
  ]
124
124
  },
125
125
  "noHeaderScope": {
126
126
  "description": "The scope prop should be used only on \\<th> elements.",
127
127
  "anyOf": [
128
- { "$ref": "#/definitions/RuleConfiguration" },
128
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
129
129
  { "type": "null" }
130
130
  ]
131
131
  },
132
132
  "noInteractiveElementToNoninteractiveRole": {
133
133
  "description": "Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.",
134
134
  "anyOf": [
135
- { "$ref": "#/definitions/RuleConfiguration" },
135
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
136
136
  { "type": "null" }
137
137
  ]
138
138
  },
139
139
  "noNoninteractiveElementToInteractiveRole": {
140
140
  "description": "Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.",
141
141
  "anyOf": [
142
- { "$ref": "#/definitions/RuleConfiguration" },
142
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
143
143
  { "type": "null" }
144
144
  ]
145
145
  },
146
146
  "noNoninteractiveTabindex": {
147
147
  "description": "Enforce that tabIndex is not assigned to non-interactive HTML elements.",
148
148
  "anyOf": [
149
- { "$ref": "#/definitions/RuleConfiguration" },
149
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
150
150
  { "type": "null" }
151
151
  ]
152
152
  },
153
153
  "noPositiveTabindex": {
154
154
  "description": "Prevent the usage of positive integers on tabIndex property",
155
155
  "anyOf": [
156
- { "$ref": "#/definitions/RuleConfiguration" },
156
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
157
157
  { "type": "null" }
158
158
  ]
159
159
  },
@@ -167,7 +167,7 @@
167
167
  "noRedundantRoles": {
168
168
  "description": "Enforce explicit role property is not the same as implicit/default role property on an element.",
169
169
  "anyOf": [
170
- { "$ref": "#/definitions/RuleConfiguration" },
170
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
171
171
  { "type": "null" }
172
172
  ]
173
173
  },
@@ -192,14 +192,14 @@
192
192
  "useAnchorContent": {
193
193
  "description": "Enforce that anchors have content and that the content is accessible to screen readers.",
194
194
  "anyOf": [
195
- { "$ref": "#/definitions/RuleConfiguration" },
195
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
196
196
  { "type": "null" }
197
197
  ]
198
198
  },
199
199
  "useAriaActivedescendantWithTabindex": {
200
200
  "description": "Enforce that tabIndex is assigned to non-interactive HTML elements with aria-activedescendant.",
201
201
  "anyOf": [
202
- { "$ref": "#/definitions/RuleConfiguration" },
202
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
203
203
  { "type": "null" }
204
204
  ]
205
205
  },
@@ -269,14 +269,16 @@
269
269
  "useValidAriaProps": {
270
270
  "description": "Ensures that ARIA properties aria-* are all valid.",
271
271
  "anyOf": [
272
- { "$ref": "#/definitions/RuleConfiguration" },
272
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
273
273
  { "type": "null" }
274
274
  ]
275
275
  },
276
276
  "useValidAriaRole": {
277
277
  "description": "Elements with ARIA roles must use a valid, non-abstract ARIA role.",
278
278
  "anyOf": [
279
- { "$ref": "#/definitions/ValidAriaRoleConfiguration" },
279
+ {
280
+ "$ref": "#/definitions/RuleFixConfiguration_for_ValidAriaRoleOptions"
281
+ },
280
282
  { "type": "null" }
281
283
  ]
282
284
  },
@@ -310,7 +312,7 @@
310
312
  "noBannedTypes": {
311
313
  "description": "Disallow primitive type aliases and misleading types.",
312
314
  "anyOf": [
313
- { "$ref": "#/definitions/RuleConfiguration" },
315
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
314
316
  { "type": "null" }
315
317
  ]
316
318
  },
@@ -338,7 +340,7 @@
338
340
  "noExtraBooleanCast": {
339
341
  "description": "Disallow unnecessary boolean casts",
340
342
  "anyOf": [
341
- { "$ref": "#/definitions/RuleConfiguration" },
343
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
342
344
  { "type": "null" }
343
345
  ]
344
346
  },
@@ -352,7 +354,7 @@
352
354
  "noMultipleSpacesInRegularExpressionLiterals": {
353
355
  "description": "Disallow unclear usage of consecutive space characters in regular expression literals",
354
356
  "anyOf": [
355
- { "$ref": "#/definitions/RuleConfiguration" },
357
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
356
358
  { "type": "null" }
357
359
  ]
358
360
  },
@@ -366,7 +368,7 @@
366
368
  "noThisInStatic": {
367
369
  "description": "Disallow this and super in static contexts.",
368
370
  "anyOf": [
369
- { "$ref": "#/definitions/RuleConfiguration" },
371
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
370
372
  { "type": "null" }
371
373
  ]
372
374
  },
@@ -380,70 +382,70 @@
380
382
  "noUselessConstructor": {
381
383
  "description": "Disallow unnecessary constructors.",
382
384
  "anyOf": [
383
- { "$ref": "#/definitions/RuleConfiguration" },
385
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
384
386
  { "type": "null" }
385
387
  ]
386
388
  },
387
389
  "noUselessEmptyExport": {
388
390
  "description": "Disallow empty exports that don't change anything in a module file.",
389
391
  "anyOf": [
390
- { "$ref": "#/definitions/RuleConfiguration" },
392
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
391
393
  { "type": "null" }
392
394
  ]
393
395
  },
394
396
  "noUselessFragments": {
395
397
  "description": "Disallow unnecessary fragments",
396
398
  "anyOf": [
397
- { "$ref": "#/definitions/RuleConfiguration" },
399
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
398
400
  { "type": "null" }
399
401
  ]
400
402
  },
401
403
  "noUselessLabel": {
402
404
  "description": "Disallow unnecessary labels.",
403
405
  "anyOf": [
404
- { "$ref": "#/definitions/RuleConfiguration" },
406
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
405
407
  { "type": "null" }
406
408
  ]
407
409
  },
408
410
  "noUselessLoneBlockStatements": {
409
411
  "description": "Disallow unnecessary nested block statements.",
410
412
  "anyOf": [
411
- { "$ref": "#/definitions/RuleConfiguration" },
413
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
412
414
  { "type": "null" }
413
415
  ]
414
416
  },
415
417
  "noUselessRename": {
416
418
  "description": "Disallow renaming import, export, and destructured assignments to the same name.",
417
419
  "anyOf": [
418
- { "$ref": "#/definitions/RuleConfiguration" },
420
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
419
421
  { "type": "null" }
420
422
  ]
421
423
  },
422
424
  "noUselessSwitchCase": {
423
425
  "description": "Disallow useless case in switch statements.",
424
426
  "anyOf": [
425
- { "$ref": "#/definitions/RuleConfiguration" },
427
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
426
428
  { "type": "null" }
427
429
  ]
428
430
  },
429
431
  "noUselessTernary": {
430
432
  "description": "Disallow ternary operators when simpler alternatives exist.",
431
433
  "anyOf": [
432
- { "$ref": "#/definitions/RuleConfiguration" },
434
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
433
435
  { "type": "null" }
434
436
  ]
435
437
  },
436
438
  "noUselessThisAlias": {
437
439
  "description": "Disallow useless this aliasing.",
438
440
  "anyOf": [
439
- { "$ref": "#/definitions/RuleConfiguration" },
441
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
440
442
  { "type": "null" }
441
443
  ]
442
444
  },
443
445
  "noUselessTypeConstraint": {
444
446
  "description": "Disallow using any or unknown as type constraint.",
445
447
  "anyOf": [
446
- { "$ref": "#/definitions/RuleConfiguration" },
448
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
447
449
  { "type": "null" }
448
450
  ]
449
451
  },
@@ -468,49 +470,49 @@
468
470
  "useArrowFunction": {
469
471
  "description": "Use arrow functions over function expressions.",
470
472
  "anyOf": [
471
- { "$ref": "#/definitions/RuleConfiguration" },
473
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
472
474
  { "type": "null" }
473
475
  ]
474
476
  },
475
477
  "useFlatMap": {
476
478
  "description": "Promotes the use of .flatMap() when map().flat() are used together.",
477
479
  "anyOf": [
478
- { "$ref": "#/definitions/RuleConfiguration" },
480
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
479
481
  { "type": "null" }
480
482
  ]
481
483
  },
482
484
  "useLiteralKeys": {
483
485
  "description": "Enforce the usage of a literal access to properties over computed property access.",
484
486
  "anyOf": [
485
- { "$ref": "#/definitions/RuleConfiguration" },
487
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
486
488
  { "type": "null" }
487
489
  ]
488
490
  },
489
491
  "useOptionalChain": {
490
492
  "description": "Enforce using concise optional chain instead of chained logical expressions.",
491
493
  "anyOf": [
492
- { "$ref": "#/definitions/RuleConfiguration" },
494
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
493
495
  { "type": "null" }
494
496
  ]
495
497
  },
496
498
  "useRegexLiterals": {
497
499
  "description": "Enforce the use of the regular expression literals instead of the RegExp constructor if possible.",
498
500
  "anyOf": [
499
- { "$ref": "#/definitions/RuleConfiguration" },
501
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
500
502
  { "type": "null" }
501
503
  ]
502
504
  },
503
505
  "useSimpleNumberKeys": {
504
506
  "description": "Disallow number literal object member names which are not base10 or uses underscore as separator",
505
507
  "anyOf": [
506
- { "$ref": "#/definitions/RuleConfiguration" },
508
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
507
509
  { "type": "null" }
508
510
  ]
509
511
  },
510
512
  "useSimplifiedLogicExpression": {
511
513
  "description": "Discard redundant terms from logical expressions.",
512
514
  "anyOf": [
513
- { "$ref": "#/definitions/RuleConfiguration" },
515
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
514
516
  { "type": "null" }
515
517
  ]
516
518
  }
@@ -551,12 +553,6 @@
551
553
  }
552
554
  ]
553
555
  },
554
- "ConsistentArrayTypeConfiguration": {
555
- "anyOf": [
556
- { "$ref": "#/definitions/RulePlainConfiguration" },
557
- { "$ref": "#/definitions/RuleWithConsistentArrayTypeOptions" }
558
- ]
559
- },
560
556
  "ConsistentArrayTypeOptions": {
561
557
  "type": "object",
562
558
  "required": ["syntax"],
@@ -565,6 +561,24 @@
565
561
  },
566
562
  "additionalProperties": false
567
563
  },
564
+ "Convention": {
565
+ "type": "object",
566
+ "properties": {
567
+ "formats": {
568
+ "description": "String cases to enforce",
569
+ "allOf": [{ "$ref": "#/definitions/Formats" }]
570
+ },
571
+ "match": {
572
+ "description": "Regular expression to enforce",
573
+ "anyOf": [{ "$ref": "#/definitions/Regex" }, { "type": "null" }]
574
+ },
575
+ "selector": {
576
+ "description": "Declarations concerned by this convention",
577
+ "allOf": [{ "$ref": "#/definitions/Selector" }]
578
+ }
579
+ },
580
+ "additionalProperties": false
581
+ },
568
582
  "Correctness": {
569
583
  "description": "A list of rules that belong to this group",
570
584
  "type": "object",
@@ -583,7 +597,7 @@
583
597
  "noConstAssign": {
584
598
  "description": "Prevents from having const variables being re-assigned.",
585
599
  "anyOf": [
586
- { "$ref": "#/definitions/RuleConfiguration" },
600
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
587
601
  { "type": "null" }
588
602
  ]
589
603
  },
@@ -594,6 +608,13 @@
594
608
  { "type": "null" }
595
609
  ]
596
610
  },
611
+ "noConstantMathMinMaxClamp": {
612
+ "description": "Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.",
613
+ "anyOf": [
614
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
615
+ { "type": "null" }
616
+ ]
617
+ },
597
618
  "noConstructorReturn": {
598
619
  "description": "Disallow returning a value from a constructor.",
599
620
  "anyOf": [
@@ -615,6 +636,13 @@
615
636
  { "type": "null" }
616
637
  ]
617
638
  },
639
+ "noFlatMapIdentity": {
640
+ "description": "Disallow to use unnecessary callback on flatMap.",
641
+ "anyOf": [
642
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
643
+ { "type": "null" }
644
+ ]
645
+ },
618
646
  "noGlobalObjectCalls": {
619
647
  "description": "Disallow calling global object properties as functions",
620
648
  "anyOf": [
@@ -639,7 +667,7 @@
639
667
  "noInvalidNewBuiltin": {
640
668
  "description": "Disallow new operators with global non-constructor functions.",
641
669
  "anyOf": [
642
- { "$ref": "#/definitions/RuleConfiguration" },
670
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
643
671
  { "type": "null" }
644
672
  ]
645
673
  },
@@ -652,6 +680,13 @@
652
680
  },
653
681
  "noNewSymbol": {
654
682
  "description": "Disallow new operators with the Symbol object.",
683
+ "anyOf": [
684
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
685
+ { "type": "null" }
686
+ ]
687
+ },
688
+ "noNodejsModules": {
689
+ "description": "Forbid the use of Node.js builtin modules.",
655
690
  "anyOf": [
656
691
  { "$ref": "#/definitions/RuleConfiguration" },
657
692
  { "type": "null" }
@@ -660,7 +695,7 @@
660
695
  "noNonoctalDecimalEscape": {
661
696
  "description": "Disallow \\8 and \\9 escape sequences in string literals.",
662
697
  "anyOf": [
663
- { "$ref": "#/definitions/RuleConfiguration" },
698
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
664
699
  { "type": "null" }
665
700
  ]
666
701
  },
@@ -695,14 +730,14 @@
695
730
  "noStringCaseMismatch": {
696
731
  "description": "Disallow comparison of expressions modifying the string case with non-compliant value.",
697
732
  "anyOf": [
698
- { "$ref": "#/definitions/RuleConfiguration" },
733
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
699
734
  { "type": "null" }
700
735
  ]
701
736
  },
702
737
  "noSwitchDeclarations": {
703
738
  "description": "Disallow lexical declarations in switch clauses.",
704
739
  "anyOf": [
705
- { "$ref": "#/definitions/RuleConfiguration" },
740
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
706
741
  { "type": "null" }
707
742
  ]
708
743
  },
@@ -716,7 +751,7 @@
716
751
  "noUnnecessaryContinue": {
717
752
  "description": "Avoid using unnecessary continue.",
718
753
  "anyOf": [
719
- { "$ref": "#/definitions/RuleConfiguration" },
754
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
720
755
  { "type": "null" }
721
756
  ]
722
757
  },
@@ -751,35 +786,35 @@
751
786
  "noUnusedImports": {
752
787
  "description": "Disallow unused imports.",
753
788
  "anyOf": [
754
- { "$ref": "#/definitions/RuleConfiguration" },
789
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
755
790
  { "type": "null" }
756
791
  ]
757
792
  },
758
793
  "noUnusedLabels": {
759
794
  "description": "Disallow unused labels.",
760
795
  "anyOf": [
761
- { "$ref": "#/definitions/RuleConfiguration" },
796
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
762
797
  { "type": "null" }
763
798
  ]
764
799
  },
765
800
  "noUnusedPrivateClassMembers": {
766
801
  "description": "Disallow unused private class members",
767
802
  "anyOf": [
768
- { "$ref": "#/definitions/RuleConfiguration" },
803
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
769
804
  { "type": "null" }
770
805
  ]
771
806
  },
772
807
  "noUnusedVariables": {
773
808
  "description": "Disallow unused variables.",
774
809
  "anyOf": [
775
- { "$ref": "#/definitions/RuleConfiguration" },
810
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
776
811
  { "type": "null" }
777
812
  ]
778
813
  },
779
814
  "noVoidElementsWithChildren": {
780
815
  "description": "This rules prevents void elements (AKA self-closing elements) from having children.",
781
816
  "anyOf": [
782
- { "$ref": "#/definitions/RuleConfiguration" },
817
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
783
818
  { "type": "null" }
784
819
  ]
785
820
  },
@@ -794,6 +829,13 @@
794
829
  "description": "It enables the recommended rules for this group",
795
830
  "type": ["boolean", "null"]
796
831
  },
832
+ "useArrayLiterals": {
833
+ "description": "Disallow Array constructors.",
834
+ "anyOf": [
835
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
836
+ { "type": "null" }
837
+ ]
838
+ },
797
839
  "useExhaustiveDependencies": {
798
840
  "description": "Enforce all dependencies are correctly specified in a React hook.",
799
841
  "anyOf": [
@@ -811,7 +853,7 @@
811
853
  "useIsNan": {
812
854
  "description": "Require calls to isNaN() when checking for NaN.",
813
855
  "anyOf": [
814
- { "$ref": "#/definitions/RuleConfiguration" },
856
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
815
857
  { "type": "null" }
816
858
  ]
817
859
  },
@@ -844,32 +886,31 @@
844
886
  "type": "object",
845
887
  "properties": {
846
888
  "formatter": {
847
- "description": "Formatting options",
889
+ "description": "CSS formatter options",
848
890
  "anyOf": [
849
891
  { "$ref": "#/definitions/CssFormatter" },
850
892
  { "type": "null" }
851
893
  ]
852
894
  },
895
+ "linter": {
896
+ "description": "CSS linter options",
897
+ "anyOf": [{ "$ref": "#/definitions/CssLinter" }, { "type": "null" }]
898
+ },
853
899
  "parser": {
854
- "description": "Parsing options",
900
+ "description": "CSS parsing options",
855
901
  "anyOf": [{ "$ref": "#/definitions/CssParser" }, { "type": "null" }]
856
902
  }
857
903
  },
858
904
  "additionalProperties": false
859
905
  },
860
906
  "CssFormatter": {
907
+ "description": "Options that changes how the CSS formatter behaves",
861
908
  "type": "object",
862
909
  "properties": {
863
910
  "enabled": {
864
911
  "description": "Control the formatter for CSS (and its super languages) files.",
865
912
  "type": ["boolean", "null"]
866
913
  },
867
- "indentSize": {
868
- "description": "The size of the indentation applied to CSS (and its super languages) files. Default to 2.",
869
- "type": ["integer", "null"],
870
- "format": "uint8",
871
- "minimum": 0.0
872
- },
873
914
  "indentStyle": {
874
915
  "description": "The indent style applied to CSS (and its super languages) files.",
875
916
  "anyOf": [
@@ -892,11 +933,23 @@
892
933
  "anyOf": [{ "$ref": "#/definitions/LineWidth" }, { "type": "null" }]
893
934
  },
894
935
  "quoteStyle": {
936
+ "description": "The type of quotes used in CSS code. Defaults to double.",
895
937
  "anyOf": [{ "$ref": "#/definitions/QuoteStyle" }, { "type": "null" }]
896
938
  }
897
939
  },
898
940
  "additionalProperties": false
899
941
  },
942
+ "CssLinter": {
943
+ "description": "Options that changes how the CSS linter behaves",
944
+ "type": "object",
945
+ "properties": {
946
+ "enabled": {
947
+ "description": "Control the linter for CSS (and its super languages) files.",
948
+ "type": ["boolean", "null"]
949
+ }
950
+ },
951
+ "additionalProperties": false
952
+ },
900
953
  "CssParser": {
901
954
  "description": "Options that changes how the CSS parser behaves",
902
955
  "type": "object",
@@ -904,6 +957,10 @@
904
957
  "allowWrongLineComments": {
905
958
  "description": "Allow comments to appear on incorrect lines in `.css` files",
906
959
  "type": ["boolean", "null"]
960
+ },
961
+ "cssModules": {
962
+ "description": "Enables parsing of CSS Modules specific features.",
963
+ "type": ["boolean", "null"]
907
964
  }
908
965
  },
909
966
  "additionalProperties": false
@@ -919,22 +976,6 @@
919
976
  "type": "object",
920
977
  "additionalProperties": false
921
978
  },
922
- "EnumMemberCase": {
923
- "description": "Supported cases for TypeScript `enum` member names.",
924
- "oneOf": [
925
- {
926
- "description": "PascalCase",
927
- "type": "string",
928
- "enum": ["PascalCase"]
929
- },
930
- {
931
- "description": "CONSTANT_CASE",
932
- "type": "string",
933
- "enum": ["CONSTANT_CASE"]
934
- },
935
- { "description": "camelCase", "type": "string", "enum": ["camelCase"] }
936
- ]
937
- },
938
979
  "FilenameCase": {
939
980
  "description": "Supported cases for file names.",
940
981
  "oneOf": [
@@ -1016,6 +1057,36 @@
1016
1057
  },
1017
1058
  "additionalProperties": false
1018
1059
  },
1060
+ "FixKind": {
1061
+ "description": "Used to identify the kind of code action emitted by a rule",
1062
+ "oneOf": [
1063
+ {
1064
+ "description": "The rule doesn't emit code actions.",
1065
+ "type": "string",
1066
+ "enum": ["none"]
1067
+ },
1068
+ {
1069
+ "description": "The rule emits a code action that is safe to apply. Usually these fixes don't change the semantic of the program.",
1070
+ "type": "string",
1071
+ "enum": ["safe"]
1072
+ },
1073
+ {
1074
+ "description": "The rule emits a code action that is _unsafe_ to apply. Usually these fixes remove comments, or change the semantic of the program.",
1075
+ "type": "string",
1076
+ "enum": ["unsafe"]
1077
+ }
1078
+ ]
1079
+ },
1080
+ "Format": {
1081
+ "description": "Supported cases.",
1082
+ "type": "string",
1083
+ "enum": ["camelCase", "CONSTANT_CASE", "PascalCase", "snake_case"]
1084
+ },
1085
+ "Formats": {
1086
+ "type": "array",
1087
+ "items": { "$ref": "#/definitions/Format" },
1088
+ "uniqueItems": true
1089
+ },
1019
1090
  "FormatterConfiguration": {
1020
1091
  "description": "Generic options applied to all files",
1021
1092
  "type": "object",
@@ -1132,6 +1203,13 @@
1132
1203
  "description": "Indicates the type of runtime or transformation used for interpreting JSX.",
1133
1204
  "anyOf": [{ "$ref": "#/definitions/JsxRuntime" }, { "type": "null" }]
1134
1205
  },
1206
+ "linter": {
1207
+ "description": "Linter options",
1208
+ "anyOf": [
1209
+ { "$ref": "#/definitions/JavascriptLinter" },
1210
+ { "type": "null" }
1211
+ ]
1212
+ },
1135
1213
  "organizeImports": {
1136
1214
  "anyOf": [
1137
1215
  { "$ref": "#/definitions/JavascriptOrganizeImports" },
@@ -1227,9 +1305,27 @@
1227
1305
  "trailingComma": {
1228
1306
  "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"all\".",
1229
1307
  "anyOf": [
1230
- { "$ref": "#/definitions/TrailingComma" },
1308
+ { "$ref": "#/definitions/TrailingCommas" },
1231
1309
  { "type": "null" }
1232
1310
  ]
1311
+ },
1312
+ "trailingCommas": {
1313
+ "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"all\".",
1314
+ "anyOf": [
1315
+ { "$ref": "#/definitions/TrailingCommas" },
1316
+ { "type": "null" }
1317
+ ]
1318
+ }
1319
+ },
1320
+ "additionalProperties": false
1321
+ },
1322
+ "JavascriptLinter": {
1323
+ "description": "Linter options specific to the JavaScript linter",
1324
+ "type": "object",
1325
+ "properties": {
1326
+ "enabled": {
1327
+ "description": "Control the linter for JavaScript (and its super languages) files.",
1328
+ "type": ["boolean", "null"]
1233
1329
  }
1234
1330
  },
1235
1331
  "additionalProperties": false
@@ -1260,6 +1356,10 @@
1260
1356
  { "type": "null" }
1261
1357
  ]
1262
1358
  },
1359
+ "linter": {
1360
+ "description": "Linting options",
1361
+ "anyOf": [{ "$ref": "#/definitions/JsonLinter" }, { "type": "null" }]
1362
+ },
1263
1363
  "parser": {
1264
1364
  "description": "Parsing options",
1265
1365
  "anyOf": [{ "$ref": "#/definitions/JsonParser" }, { "type": "null" }]
@@ -1304,13 +1404,24 @@
1304
1404
  "trailingCommas": {
1305
1405
  "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"none\".",
1306
1406
  "anyOf": [
1307
- { "$ref": "#/definitions/TrailingCommas" },
1407
+ { "$ref": "#/definitions/TrailingCommas2" },
1308
1408
  { "type": "null" }
1309
1409
  ]
1310
1410
  }
1311
1411
  },
1312
1412
  "additionalProperties": false
1313
1413
  },
1414
+ "JsonLinter": {
1415
+ "description": "Linter options specific to the JSON linter",
1416
+ "type": "object",
1417
+ "properties": {
1418
+ "enabled": {
1419
+ "description": "Control the linter for JSON (and its super languages) files.",
1420
+ "type": ["boolean", "null"]
1421
+ }
1422
+ },
1423
+ "additionalProperties": false
1424
+ },
1314
1425
  "JsonParser": {
1315
1426
  "description": "Options that changes how the JSON parser behaves",
1316
1427
  "type": "object",
@@ -1341,6 +1452,109 @@
1341
1452
  }
1342
1453
  ]
1343
1454
  },
1455
+ "Kind": {
1456
+ "oneOf": [
1457
+ {
1458
+ "type": "string",
1459
+ "enum": [
1460
+ "class",
1461
+ "enum",
1462
+ "interface",
1463
+ "enumMember",
1464
+ "importNamespace",
1465
+ "exportNamespace",
1466
+ "variable",
1467
+ "const",
1468
+ "let",
1469
+ "using",
1470
+ "var",
1471
+ "catchParameter",
1472
+ "indexParameter",
1473
+ "exportAlias",
1474
+ "importAlias",
1475
+ "classGetter",
1476
+ "classSetter",
1477
+ "classMethod",
1478
+ "objectLiteralProperty",
1479
+ "objectLiteralGetter",
1480
+ "objectLiteralSetter",
1481
+ "objectLiteralMethod",
1482
+ "typeAlias"
1483
+ ]
1484
+ },
1485
+ { "description": "All kinds", "type": "string", "enum": ["any"] },
1486
+ {
1487
+ "description": "All type definitions: classes, enums, interfaces, and type aliases",
1488
+ "type": "string",
1489
+ "enum": ["typeLike"]
1490
+ },
1491
+ {
1492
+ "description": "Named function declarations and expressions",
1493
+ "type": "string",
1494
+ "enum": ["function"]
1495
+ },
1496
+ {
1497
+ "description": "TypeScript namespaces, import and export namespaces",
1498
+ "type": "string",
1499
+ "enum": ["namespaceLike"]
1500
+ },
1501
+ {
1502
+ "description": "TypeScript mamespaces",
1503
+ "type": "string",
1504
+ "enum": ["namespace"]
1505
+ },
1506
+ {
1507
+ "description": "All function parameters, but parameter properties",
1508
+ "type": "string",
1509
+ "enum": ["functionParameter"]
1510
+ },
1511
+ {
1512
+ "description": "All generic type parameters",
1513
+ "type": "string",
1514
+ "enum": ["typeParameter"]
1515
+ },
1516
+ {
1517
+ "description": "All class members: properties, methods, getters, and setters",
1518
+ "type": "string",
1519
+ "enum": ["classMember"]
1520
+ },
1521
+ {
1522
+ "description": "All class properties, including parameter properties",
1523
+ "type": "string",
1524
+ "enum": ["classProperty"]
1525
+ },
1526
+ {
1527
+ "description": "All object literal members: properties, methods, getters, and setters",
1528
+ "type": "string",
1529
+ "enum": ["objectLiteralMember"]
1530
+ },
1531
+ {
1532
+ "description": "All members defined in type alaises and interfaces",
1533
+ "type": "string",
1534
+ "enum": ["typeMember"]
1535
+ },
1536
+ {
1537
+ "description": "All getters defined in type alaises and interfaces",
1538
+ "type": "string",
1539
+ "enum": ["typeGetter"]
1540
+ },
1541
+ {
1542
+ "description": "All properties defined in type alaises and interfaces",
1543
+ "type": "string",
1544
+ "enum": ["typeProperty"]
1545
+ },
1546
+ {
1547
+ "description": "All setters defined in type alaises and interfaces",
1548
+ "type": "string",
1549
+ "enum": ["typeSetter"]
1550
+ },
1551
+ {
1552
+ "description": "All methods defined in type alaises and interfaces",
1553
+ "type": "string",
1554
+ "enum": ["typeMethod"]
1555
+ }
1556
+ ]
1557
+ },
1344
1558
  "LineEnding": {
1345
1559
  "oneOf": [
1346
1560
  {
@@ -1388,19 +1602,23 @@
1388
1602
  },
1389
1603
  "additionalProperties": false
1390
1604
  },
1391
- "NamingConventionConfiguration": {
1392
- "anyOf": [
1393
- { "$ref": "#/definitions/RulePlainConfiguration" },
1394
- { "$ref": "#/definitions/RuleWithNamingConventionOptions" }
1395
- ]
1605
+ "Modifiers": {
1606
+ "type": "array",
1607
+ "items": { "$ref": "#/definitions/RestrictedModifier" },
1608
+ "uniqueItems": true
1396
1609
  },
1397
1610
  "NamingConventionOptions": {
1398
1611
  "description": "Rule's options.",
1399
1612
  "type": "object",
1400
1613
  "properties": {
1614
+ "conventions": {
1615
+ "description": "Custom conventions.",
1616
+ "type": "array",
1617
+ "items": { "$ref": "#/definitions/Convention" }
1618
+ },
1401
1619
  "enumMemberCase": {
1402
1620
  "description": "Allowed cases for _TypeScript_ `enum` member names.",
1403
- "allOf": [{ "$ref": "#/definitions/EnumMemberCase" }]
1621
+ "allOf": [{ "$ref": "#/definitions/Format" }]
1404
1622
  },
1405
1623
  "requireAscii": {
1406
1624
  "description": "If `false`, then non-ASCII characters are allowed.",
@@ -1413,16 +1631,32 @@
1413
1631
  },
1414
1632
  "additionalProperties": false
1415
1633
  },
1416
- "NoCssEmptyBlockConfiguration": {
1634
+ "NoLabelWithoutControlConfiguration": {
1417
1635
  "anyOf": [
1418
1636
  { "$ref": "#/definitions/RulePlainConfiguration" },
1419
- { "$ref": "#/definitions/RuleWithNoCssEmptyBlockOptions" }
1637
+ { "$ref": "#/definitions/RuleWithNoLabelWithoutControlOptions" }
1420
1638
  ]
1421
1639
  },
1422
- "NoCssEmptyBlockOptions": {
1640
+ "NoLabelWithoutControlOptions": {
1423
1641
  "type": "object",
1424
- "required": ["allowComments"],
1425
- "properties": { "allowComments": { "type": "boolean" } },
1642
+ "required": ["inputComponents", "labelAttributes", "labelComponents"],
1643
+ "properties": {
1644
+ "inputComponents": {
1645
+ "description": "Array of component names that should be considered the same as an `input` element.",
1646
+ "type": "array",
1647
+ "items": { "type": "string" }
1648
+ },
1649
+ "labelAttributes": {
1650
+ "description": "Array of attributes that should be treated as the `label` accessible text content.",
1651
+ "type": "array",
1652
+ "items": { "type": "string" }
1653
+ },
1654
+ "labelComponents": {
1655
+ "description": "Array of component names that should be considered the same as a `label` element.",
1656
+ "type": "array",
1657
+ "items": { "type": "string" }
1658
+ }
1659
+ },
1426
1660
  "additionalProperties": false
1427
1661
  },
1428
1662
  "Nursery": {
@@ -1433,31 +1667,10 @@
1433
1667
  "description": "It enables ALL rules for this group.",
1434
1668
  "type": ["boolean", "null"]
1435
1669
  },
1436
- "noColorInvalidHex": {
1437
- "description": "WIP: This rule hasn't been implemented yet.",
1438
- "anyOf": [
1439
- { "$ref": "#/definitions/RuleConfiguration" },
1440
- { "type": "null" }
1441
- ]
1442
- },
1443
1670
  "noConsole": {
1444
1671
  "description": "Disallow the use of console.",
1445
1672
  "anyOf": [
1446
- { "$ref": "#/definitions/RuleConfiguration" },
1447
- { "type": "null" }
1448
- ]
1449
- },
1450
- "noConstantMathMinMaxClamp": {
1451
- "description": "Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.",
1452
- "anyOf": [
1453
- { "$ref": "#/definitions/RuleConfiguration" },
1454
- { "type": "null" }
1455
- ]
1456
- },
1457
- "noCssEmptyBlock": {
1458
- "description": "Disallow CSS empty blocks.",
1459
- "anyOf": [
1460
- { "$ref": "#/definitions/NoCssEmptyBlockConfiguration" },
1673
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1461
1674
  { "type": "null" }
1462
1675
  ]
1463
1676
  },
@@ -1503,15 +1716,15 @@
1503
1716
  { "type": "null" }
1504
1717
  ]
1505
1718
  },
1506
- "noEvolvingAny": {
1507
- "description": "Disallow variables from evolving into any type through reassignments.",
1719
+ "noEmptyBlock": {
1720
+ "description": "Disallow CSS empty blocks.",
1508
1721
  "anyOf": [
1509
1722
  { "$ref": "#/definitions/RuleConfiguration" },
1510
1723
  { "type": "null" }
1511
1724
  ]
1512
1725
  },
1513
- "noFlatMapIdentity": {
1514
- "description": "Disallow to use unnecessary callback on flatMap.",
1726
+ "noEvolvingTypes": {
1727
+ "description": "Disallow variables from evolving into any type through reassignments.",
1515
1728
  "anyOf": [
1516
1729
  { "$ref": "#/definitions/RuleConfiguration" },
1517
1730
  { "type": "null" }
@@ -1524,15 +1737,22 @@
1524
1737
  { "type": "null" }
1525
1738
  ]
1526
1739
  },
1527
- "noMisplacedAssertion": {
1528
- "description": "Checks that the assertion function, for example expect, is placed inside an it() function call.",
1740
+ "noInvalidPositionAtImportRule": {
1741
+ "description": "Disallow the use of @import at-rules in invalid positions.",
1529
1742
  "anyOf": [
1530
1743
  { "$ref": "#/definitions/RuleConfiguration" },
1531
1744
  { "type": "null" }
1532
1745
  ]
1533
1746
  },
1534
- "noNodejsModules": {
1535
- "description": "Forbid the use of Node.js builtin modules.",
1747
+ "noLabelWithoutControl": {
1748
+ "description": "Enforce that a label element or component has a text label and an associated input.",
1749
+ "anyOf": [
1750
+ { "$ref": "#/definitions/NoLabelWithoutControlConfiguration" },
1751
+ { "type": "null" }
1752
+ ]
1753
+ },
1754
+ "noMisplacedAssertion": {
1755
+ "description": "Checks that the assertion function, for example expect, is placed inside an it() function call.",
1536
1756
  "anyOf": [
1537
1757
  { "$ref": "#/definitions/RuleConfiguration" },
1538
1758
  { "type": "null" }
@@ -1541,7 +1761,7 @@
1541
1761
  "noReactSpecificProps": {
1542
1762
  "description": "Prevents React-specific JSX properties from being used.",
1543
1763
  "anyOf": [
1544
- { "$ref": "#/definitions/RuleConfiguration" },
1764
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1545
1765
  { "type": "null" }
1546
1766
  ]
1547
1767
  },
@@ -1566,6 +1786,20 @@
1566
1786
  { "type": "null" }
1567
1787
  ]
1568
1788
  },
1789
+ "noUnknownMediaFeatureName": {
1790
+ "description": "Disallow unknown media feature names.",
1791
+ "anyOf": [
1792
+ { "$ref": "#/definitions/RuleConfiguration" },
1793
+ { "type": "null" }
1794
+ ]
1795
+ },
1796
+ "noUnknownProperty": {
1797
+ "description": "Disallow unknown properties.",
1798
+ "anyOf": [
1799
+ { "$ref": "#/definitions/RuleConfiguration" },
1800
+ { "type": "null" }
1801
+ ]
1802
+ },
1569
1803
  "noUnknownSelectorPseudoElement": {
1570
1804
  "description": "Disallow unknown pseudo-element selectors.",
1571
1805
  "anyOf": [
@@ -1587,10 +1821,31 @@
1587
1821
  { "type": "null" }
1588
1822
  ]
1589
1823
  },
1824
+ "noUnusedFunctionParameters": {
1825
+ "description": "Disallow unused function parameters.",
1826
+ "anyOf": [
1827
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1828
+ { "type": "null" }
1829
+ ]
1830
+ },
1831
+ "noUselessStringConcat": {
1832
+ "description": "Disallow unnecessary concatenation of string or template literals.",
1833
+ "anyOf": [
1834
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1835
+ { "type": "null" }
1836
+ ]
1837
+ },
1590
1838
  "noUselessUndefinedInitialization": {
1591
1839
  "description": "Disallow initializing variables to undefined.",
1592
1840
  "anyOf": [
1593
- { "$ref": "#/definitions/RuleConfiguration" },
1841
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1842
+ { "type": "null" }
1843
+ ]
1844
+ },
1845
+ "noYodaExpression": {
1846
+ "description": "Disallow the use of yoda expressions.",
1847
+ "anyOf": [
1848
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1594
1849
  { "type": "null" }
1595
1850
  ]
1596
1851
  },
@@ -1598,8 +1853,8 @@
1598
1853
  "description": "It enables the recommended rules for this group",
1599
1854
  "type": ["boolean", "null"]
1600
1855
  },
1601
- "useArrayLiterals": {
1602
- "description": "Disallow Array constructors.",
1856
+ "useAdjacentOverloadSignatures": {
1857
+ "description": "Disallow the use of overload signatures that are not next to each other.",
1603
1858
  "anyOf": [
1604
1859
  { "$ref": "#/definitions/RuleConfiguration" },
1605
1860
  { "type": "null" }
@@ -1608,7 +1863,14 @@
1608
1863
  "useConsistentBuiltinInstantiation": {
1609
1864
  "description": "Enforce the use of new for all builtins, except String, Number, Boolean, Symbol and BigInt.",
1610
1865
  "anyOf": [
1611
- { "$ref": "#/definitions/RuleConfiguration" },
1866
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1867
+ { "type": "null" }
1868
+ ]
1869
+ },
1870
+ "useDateNow": {
1871
+ "description": "Use Date.now() to get the number of milliseconds since the Unix Epoch.",
1872
+ "anyOf": [
1873
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1612
1874
  { "type": "null" }
1613
1875
  ]
1614
1876
  },
@@ -1619,8 +1881,22 @@
1619
1881
  { "type": "null" }
1620
1882
  ]
1621
1883
  },
1884
+ "useErrorMessage": {
1885
+ "description": "Enforce passing a message value when creating a built-in error.",
1886
+ "anyOf": [
1887
+ { "$ref": "#/definitions/RuleConfiguration" },
1888
+ { "type": "null" }
1889
+ ]
1890
+ },
1622
1891
  "useExplicitLengthCheck": {
1623
1892
  "description": "Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.",
1893
+ "anyOf": [
1894
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1895
+ { "type": "null" }
1896
+ ]
1897
+ },
1898
+ "useFocusableInteractive": {
1899
+ "description": "Elements with an interactive role and interaction handlers must be focusable.",
1624
1900
  "anyOf": [
1625
1901
  { "$ref": "#/definitions/RuleConfiguration" },
1626
1902
  { "type": "null" }
@@ -1633,6 +1909,13 @@
1633
1909
  { "type": "null" }
1634
1910
  ]
1635
1911
  },
1912
+ "useImportExtensions": {
1913
+ "description": "Enforce file extensions for relative imports.",
1914
+ "anyOf": [
1915
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1916
+ { "type": "null" }
1917
+ ]
1918
+ },
1636
1919
  "useImportRestrictions": {
1637
1920
  "description": "Disallows package private imports.",
1638
1921
  "anyOf": [
@@ -1640,10 +1923,47 @@
1640
1923
  { "type": "null" }
1641
1924
  ]
1642
1925
  },
1926
+ "useNumberToFixedDigitsArgument": {
1927
+ "description": "Enforce using the digits argument with Number#toFixed().",
1928
+ "anyOf": [
1929
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1930
+ { "type": "null" }
1931
+ ]
1932
+ },
1933
+ "useSemanticElements": {
1934
+ "description": "It detects the use of role attributes in JSX elements and suggests using semantic elements instead.",
1935
+ "anyOf": [
1936
+ { "$ref": "#/definitions/RuleConfiguration" },
1937
+ { "type": "null" }
1938
+ ]
1939
+ },
1643
1940
  "useSortedClasses": {
1644
1941
  "description": "Enforce the sorting of CSS utility classes.",
1645
1942
  "anyOf": [
1646
- { "$ref": "#/definitions/UtilityClassSortingConfiguration" },
1943
+ {
1944
+ "$ref": "#/definitions/RuleFixConfiguration_for_UtilityClassSortingOptions"
1945
+ },
1946
+ { "type": "null" }
1947
+ ]
1948
+ },
1949
+ "useThrowNewError": {
1950
+ "description": "Require new when throwing an error.",
1951
+ "anyOf": [
1952
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1953
+ { "type": "null" }
1954
+ ]
1955
+ },
1956
+ "useThrowOnlyError": {
1957
+ "description": "Disallow throwing non-Error values.",
1958
+ "anyOf": [
1959
+ { "$ref": "#/definitions/RuleConfiguration" },
1960
+ { "type": "null" }
1961
+ ]
1962
+ },
1963
+ "useTopLevelRegex": {
1964
+ "description": "Require regex literals to be declared at the top level.",
1965
+ "anyOf": [
1966
+ { "$ref": "#/definitions/RuleConfiguration" },
1647
1967
  { "type": "null" }
1648
1968
  ]
1649
1969
  }
@@ -1822,7 +2142,7 @@
1822
2142
  "noDelete": {
1823
2143
  "description": "Disallow the use of the delete operator.",
1824
2144
  "anyOf": [
1825
- { "$ref": "#/definitions/RuleConfiguration" },
2145
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1826
2146
  { "type": "null" }
1827
2147
  ]
1828
2148
  },
@@ -1848,6 +2168,7 @@
1848
2168
  },
1849
2169
  "QuoteProperties": { "type": "string", "enum": ["asNeeded", "preserve"] },
1850
2170
  "QuoteStyle": { "type": "string", "enum": ["double", "single"] },
2171
+ "Regex": { "type": "string" },
1851
2172
  "RestrictedGlobalsConfiguration": {
1852
2173
  "anyOf": [
1853
2174
  { "$ref": "#/definitions/RulePlainConfiguration" },
@@ -1886,120 +2207,261 @@
1886
2207
  },
1887
2208
  "additionalProperties": false
1888
2209
  },
2210
+ "RestrictedModifier": {
2211
+ "type": "string",
2212
+ "enum": ["abstract", "private", "protected", "readonly", "static"]
2213
+ },
1889
2214
  "RuleConfiguration": {
1890
2215
  "anyOf": [
1891
2216
  { "$ref": "#/definitions/RulePlainConfiguration" },
1892
2217
  { "$ref": "#/definitions/RuleWithNoOptions" }
1893
2218
  ]
1894
2219
  },
2220
+ "RuleFixConfiguration_for_ConsistentArrayTypeOptions": {
2221
+ "anyOf": [
2222
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2223
+ {
2224
+ "$ref": "#/definitions/RuleWithFixOptions_for_ConsistentArrayTypeOptions"
2225
+ }
2226
+ ]
2227
+ },
2228
+ "RuleFixConfiguration_for_NamingConventionOptions": {
2229
+ "anyOf": [
2230
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2231
+ {
2232
+ "$ref": "#/definitions/RuleWithFixOptions_for_NamingConventionOptions"
2233
+ }
2234
+ ]
2235
+ },
2236
+ "RuleFixConfiguration_for_Null": {
2237
+ "anyOf": [
2238
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2239
+ { "$ref": "#/definitions/RuleWithFixOptions_for_Null" }
2240
+ ]
2241
+ },
2242
+ "RuleFixConfiguration_for_UtilityClassSortingOptions": {
2243
+ "anyOf": [
2244
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2245
+ {
2246
+ "$ref": "#/definitions/RuleWithFixOptions_for_UtilityClassSortingOptions"
2247
+ }
2248
+ ]
2249
+ },
2250
+ "RuleFixConfiguration_for_ValidAriaRoleOptions": {
2251
+ "anyOf": [
2252
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2253
+ { "$ref": "#/definitions/RuleWithFixOptions_for_ValidAriaRoleOptions" }
2254
+ ]
2255
+ },
1895
2256
  "RulePlainConfiguration": {
1896
2257
  "type": "string",
1897
- "enum": ["warn", "error", "off"]
2258
+ "enum": ["warn", "error", "info", "off"]
1898
2259
  },
1899
2260
  "RuleWithComplexityOptions": {
1900
2261
  "type": "object",
1901
2262
  "required": ["level", "options"],
1902
2263
  "properties": {
1903
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1904
- "options": { "$ref": "#/definitions/ComplexityOptions" }
2264
+ "level": {
2265
+ "description": "The severity of the emitted diagnostics by the rule",
2266
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2267
+ },
2268
+ "options": {
2269
+ "description": "Rule's options",
2270
+ "allOf": [{ "$ref": "#/definitions/ComplexityOptions" }]
2271
+ }
1905
2272
  },
1906
2273
  "additionalProperties": false
1907
2274
  },
1908
- "RuleWithConsistentArrayTypeOptions": {
2275
+ "RuleWithDeprecatedHooksOptions": {
1909
2276
  "type": "object",
1910
2277
  "required": ["level", "options"],
1911
2278
  "properties": {
1912
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1913
- "options": { "$ref": "#/definitions/ConsistentArrayTypeOptions" }
2279
+ "level": {
2280
+ "description": "The severity of the emitted diagnostics by the rule",
2281
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2282
+ },
2283
+ "options": {
2284
+ "description": "Rule's options",
2285
+ "allOf": [{ "$ref": "#/definitions/DeprecatedHooksOptions" }]
2286
+ }
1914
2287
  },
1915
2288
  "additionalProperties": false
1916
2289
  },
1917
- "RuleWithDeprecatedHooksOptions": {
2290
+ "RuleWithFilenamingConventionOptions": {
1918
2291
  "type": "object",
1919
2292
  "required": ["level", "options"],
1920
2293
  "properties": {
1921
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1922
- "options": { "$ref": "#/definitions/DeprecatedHooksOptions" }
2294
+ "level": {
2295
+ "description": "The severity of the emitted diagnostics by the rule",
2296
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2297
+ },
2298
+ "options": {
2299
+ "description": "Rule's options",
2300
+ "allOf": [{ "$ref": "#/definitions/FilenamingConventionOptions" }]
2301
+ }
1923
2302
  },
1924
2303
  "additionalProperties": false
1925
2304
  },
1926
- "RuleWithFilenamingConventionOptions": {
2305
+ "RuleWithFixOptions_for_ConsistentArrayTypeOptions": {
1927
2306
  "type": "object",
1928
2307
  "required": ["level", "options"],
1929
2308
  "properties": {
1930
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1931
- "options": { "$ref": "#/definitions/FilenamingConventionOptions" }
2309
+ "fix": {
2310
+ "description": "The kind of the code actions emitted by the rule",
2311
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2312
+ },
2313
+ "level": {
2314
+ "description": "The severity of the emitted diagnostics by the rule",
2315
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2316
+ },
2317
+ "options": {
2318
+ "description": "Rule's options",
2319
+ "allOf": [{ "$ref": "#/definitions/ConsistentArrayTypeOptions" }]
2320
+ }
1932
2321
  },
1933
2322
  "additionalProperties": false
1934
2323
  },
1935
- "RuleWithHooksOptions": {
2324
+ "RuleWithFixOptions_for_NamingConventionOptions": {
1936
2325
  "type": "object",
1937
2326
  "required": ["level", "options"],
1938
2327
  "properties": {
1939
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1940
- "options": { "$ref": "#/definitions/HooksOptions" }
2328
+ "fix": {
2329
+ "description": "The kind of the code actions emitted by the rule",
2330
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2331
+ },
2332
+ "level": {
2333
+ "description": "The severity of the emitted diagnostics by the rule",
2334
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2335
+ },
2336
+ "options": {
2337
+ "description": "Rule's options",
2338
+ "allOf": [{ "$ref": "#/definitions/NamingConventionOptions" }]
2339
+ }
1941
2340
  },
1942
2341
  "additionalProperties": false
1943
2342
  },
1944
- "RuleWithNamingConventionOptions": {
2343
+ "RuleWithFixOptions_for_Null": {
1945
2344
  "type": "object",
1946
2345
  "required": ["level", "options"],
1947
2346
  "properties": {
1948
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1949
- "options": { "$ref": "#/definitions/NamingConventionOptions" }
2347
+ "fix": {
2348
+ "description": "The kind of the code actions emitted by the rule",
2349
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2350
+ },
2351
+ "level": {
2352
+ "description": "The severity of the emitted diagnostics by the rule",
2353
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2354
+ },
2355
+ "options": { "description": "Rule's options", "type": "null" }
1950
2356
  },
1951
2357
  "additionalProperties": false
1952
2358
  },
1953
- "RuleWithNoCssEmptyBlockOptions": {
2359
+ "RuleWithFixOptions_for_UtilityClassSortingOptions": {
1954
2360
  "type": "object",
1955
2361
  "required": ["level", "options"],
1956
2362
  "properties": {
1957
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1958
- "options": { "$ref": "#/definitions/NoCssEmptyBlockOptions" }
2363
+ "fix": {
2364
+ "description": "The kind of the code actions emitted by the rule",
2365
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2366
+ },
2367
+ "level": {
2368
+ "description": "The severity of the emitted diagnostics by the rule",
2369
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2370
+ },
2371
+ "options": {
2372
+ "description": "Rule's options",
2373
+ "allOf": [{ "$ref": "#/definitions/UtilityClassSortingOptions" }]
2374
+ }
1959
2375
  },
1960
2376
  "additionalProperties": false
1961
2377
  },
1962
- "RuleWithNoOptions": {
2378
+ "RuleWithFixOptions_for_ValidAriaRoleOptions": {
1963
2379
  "type": "object",
1964
- "required": ["level"],
2380
+ "required": ["level", "options"],
1965
2381
  "properties": {
1966
- "level": { "$ref": "#/definitions/RulePlainConfiguration" }
2382
+ "fix": {
2383
+ "description": "The kind of the code actions emitted by the rule",
2384
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2385
+ },
2386
+ "level": {
2387
+ "description": "The severity of the emitted diagnostics by the rule",
2388
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2389
+ },
2390
+ "options": {
2391
+ "description": "Rule's options",
2392
+ "allOf": [{ "$ref": "#/definitions/ValidAriaRoleOptions" }]
2393
+ }
1967
2394
  },
1968
2395
  "additionalProperties": false
1969
2396
  },
1970
- "RuleWithRestrictedGlobalsOptions": {
2397
+ "RuleWithHooksOptions": {
1971
2398
  "type": "object",
1972
2399
  "required": ["level", "options"],
1973
2400
  "properties": {
1974
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1975
- "options": { "$ref": "#/definitions/RestrictedGlobalsOptions" }
2401
+ "level": {
2402
+ "description": "The severity of the emitted diagnostics by the rule",
2403
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2404
+ },
2405
+ "options": {
2406
+ "description": "Rule's options",
2407
+ "allOf": [{ "$ref": "#/definitions/HooksOptions" }]
2408
+ }
1976
2409
  },
1977
2410
  "additionalProperties": false
1978
2411
  },
1979
- "RuleWithRestrictedImportsOptions": {
2412
+ "RuleWithNoLabelWithoutControlOptions": {
1980
2413
  "type": "object",
1981
2414
  "required": ["level", "options"],
1982
2415
  "properties": {
1983
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1984
- "options": { "$ref": "#/definitions/RestrictedImportsOptions" }
2416
+ "level": {
2417
+ "description": "The severity of the emitted diagnostics by the rule",
2418
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2419
+ },
2420
+ "options": {
2421
+ "description": "Rule's options",
2422
+ "allOf": [{ "$ref": "#/definitions/NoLabelWithoutControlOptions" }]
2423
+ }
1985
2424
  },
1986
2425
  "additionalProperties": false
1987
2426
  },
1988
- "RuleWithUtilityClassSortingOptions": {
2427
+ "RuleWithNoOptions": {
2428
+ "type": "object",
2429
+ "required": ["level"],
2430
+ "properties": {
2431
+ "level": {
2432
+ "description": "The severity of the emitted diagnostics by the rule",
2433
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2434
+ }
2435
+ },
2436
+ "additionalProperties": false
2437
+ },
2438
+ "RuleWithRestrictedGlobalsOptions": {
1989
2439
  "type": "object",
1990
2440
  "required": ["level", "options"],
1991
2441
  "properties": {
1992
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1993
- "options": { "$ref": "#/definitions/UtilityClassSortingOptions" }
2442
+ "level": {
2443
+ "description": "The severity of the emitted diagnostics by the rule",
2444
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2445
+ },
2446
+ "options": {
2447
+ "description": "Rule's options",
2448
+ "allOf": [{ "$ref": "#/definitions/RestrictedGlobalsOptions" }]
2449
+ }
1994
2450
  },
1995
2451
  "additionalProperties": false
1996
2452
  },
1997
- "RuleWithValidAriaRoleOptions": {
2453
+ "RuleWithRestrictedImportsOptions": {
1998
2454
  "type": "object",
1999
2455
  "required": ["level", "options"],
2000
2456
  "properties": {
2001
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
2002
- "options": { "$ref": "#/definitions/ValidAriaRoleOptions" }
2457
+ "level": {
2458
+ "description": "The severity of the emitted diagnostics by the rule",
2459
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2460
+ },
2461
+ "options": {
2462
+ "description": "Rule's options",
2463
+ "allOf": [{ "$ref": "#/definitions/RestrictedImportsOptions" }]
2464
+ }
2003
2465
  },
2004
2466
  "additionalProperties": false
2005
2467
  },
@@ -2041,6 +2503,7 @@
2041
2503
  },
2042
2504
  "additionalProperties": false
2043
2505
  },
2506
+ "Scope": { "type": "string", "enum": ["any", "global"] },
2044
2507
  "Security": {
2045
2508
  "description": "A list of rules that belong to this group",
2046
2509
  "type": "object",
@@ -2077,6 +2540,24 @@
2077
2540
  },
2078
2541
  "additionalProperties": false
2079
2542
  },
2543
+ "Selector": {
2544
+ "type": "object",
2545
+ "properties": {
2546
+ "kind": {
2547
+ "description": "Declaration kind",
2548
+ "allOf": [{ "$ref": "#/definitions/Kind" }]
2549
+ },
2550
+ "modifiers": {
2551
+ "description": "Modifiers used on the declaration",
2552
+ "allOf": [{ "$ref": "#/definitions/Modifiers" }]
2553
+ },
2554
+ "scope": {
2555
+ "description": "Scope of the declaration",
2556
+ "allOf": [{ "$ref": "#/definitions/Scope" }]
2557
+ }
2558
+ },
2559
+ "additionalProperties": false
2560
+ },
2080
2561
  "Semicolons": { "type": "string", "enum": ["always", "asNeeded"] },
2081
2562
  "StableHookResult": {
2082
2563
  "oneOf": [
@@ -2134,14 +2615,14 @@
2134
2615
  "noImplicitBoolean": {
2135
2616
  "description": "Disallow implicit true values on JSX boolean attributes",
2136
2617
  "anyOf": [
2137
- { "$ref": "#/definitions/RuleConfiguration" },
2618
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2138
2619
  { "type": "null" }
2139
2620
  ]
2140
2621
  },
2141
2622
  "noInferrableTypes": {
2142
2623
  "description": "Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.",
2143
2624
  "anyOf": [
2144
- { "$ref": "#/definitions/RuleConfiguration" },
2625
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2145
2626
  { "type": "null" }
2146
2627
  ]
2147
2628
  },
@@ -2162,14 +2643,14 @@
2162
2643
  "noNegationElse": {
2163
2644
  "description": "Disallow negation in the condition of an if statement if it has an else clause.",
2164
2645
  "anyOf": [
2165
- { "$ref": "#/definitions/RuleConfiguration" },
2646
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2166
2647
  { "type": "null" }
2167
2648
  ]
2168
2649
  },
2169
2650
  "noNonNullAssertion": {
2170
2651
  "description": "Disallow non-null assertions using the ! postfix operator.",
2171
2652
  "anyOf": [
2172
- { "$ref": "#/definitions/RuleConfiguration" },
2653
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2173
2654
  { "type": "null" }
2174
2655
  ]
2175
2656
  },
@@ -2197,28 +2678,28 @@
2197
2678
  "noShoutyConstants": {
2198
2679
  "description": "Disallow the use of constants which its value is the upper-case version of its name.",
2199
2680
  "anyOf": [
2200
- { "$ref": "#/definitions/RuleConfiguration" },
2681
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2201
2682
  { "type": "null" }
2202
2683
  ]
2203
2684
  },
2204
2685
  "noUnusedTemplateLiteral": {
2205
2686
  "description": "Disallow template literals if interpolation and special-character handling are not needed",
2206
2687
  "anyOf": [
2207
- { "$ref": "#/definitions/RuleConfiguration" },
2688
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2208
2689
  { "type": "null" }
2209
2690
  ]
2210
2691
  },
2211
2692
  "noUselessElse": {
2212
2693
  "description": "Disallow else block when the if block breaks early.",
2213
2694
  "anyOf": [
2214
- { "$ref": "#/definitions/RuleConfiguration" },
2695
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2215
2696
  { "type": "null" }
2216
2697
  ]
2217
2698
  },
2218
2699
  "noVar": {
2219
2700
  "description": "Disallow the use of var",
2220
2701
  "anyOf": [
2221
- { "$ref": "#/definitions/RuleConfiguration" },
2702
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2222
2703
  { "type": "null" }
2223
2704
  ]
2224
2705
  },
@@ -2229,63 +2710,65 @@
2229
2710
  "useAsConstAssertion": {
2230
2711
  "description": "Enforce the use of as const over literal type and type annotation.",
2231
2712
  "anyOf": [
2232
- { "$ref": "#/definitions/RuleConfiguration" },
2713
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2233
2714
  { "type": "null" }
2234
2715
  ]
2235
2716
  },
2236
2717
  "useBlockStatements": {
2237
2718
  "description": "Requires following curly brace conventions.",
2238
2719
  "anyOf": [
2239
- { "$ref": "#/definitions/RuleConfiguration" },
2720
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2240
2721
  { "type": "null" }
2241
2722
  ]
2242
2723
  },
2243
2724
  "useCollapsedElseIf": {
2244
2725
  "description": "Enforce using else if instead of nested if in else clauses.",
2245
2726
  "anyOf": [
2246
- { "$ref": "#/definitions/RuleConfiguration" },
2727
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2247
2728
  { "type": "null" }
2248
2729
  ]
2249
2730
  },
2250
2731
  "useConsistentArrayType": {
2251
2732
  "description": "Require consistently using either T\\[] or Array\\<T>",
2252
2733
  "anyOf": [
2253
- { "$ref": "#/definitions/ConsistentArrayTypeConfiguration" },
2734
+ {
2735
+ "$ref": "#/definitions/RuleFixConfiguration_for_ConsistentArrayTypeOptions"
2736
+ },
2254
2737
  { "type": "null" }
2255
2738
  ]
2256
2739
  },
2257
2740
  "useConst": {
2258
2741
  "description": "Require const declarations for variables that are only assigned once.",
2259
2742
  "anyOf": [
2260
- { "$ref": "#/definitions/RuleConfiguration" },
2743
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2261
2744
  { "type": "null" }
2262
2745
  ]
2263
2746
  },
2264
2747
  "useDefaultParameterLast": {
2265
2748
  "description": "Enforce default function parameters and optional function parameters to be last.",
2266
2749
  "anyOf": [
2267
- { "$ref": "#/definitions/RuleConfiguration" },
2750
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2268
2751
  { "type": "null" }
2269
2752
  ]
2270
2753
  },
2271
2754
  "useEnumInitializers": {
2272
2755
  "description": "Require that each enum member value be explicitly initialized.",
2273
2756
  "anyOf": [
2274
- { "$ref": "#/definitions/RuleConfiguration" },
2757
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2275
2758
  { "type": "null" }
2276
2759
  ]
2277
2760
  },
2278
2761
  "useExponentiationOperator": {
2279
2762
  "description": "Disallow the use of Math.pow in favor of the ** operator.",
2280
2763
  "anyOf": [
2281
- { "$ref": "#/definitions/RuleConfiguration" },
2764
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2282
2765
  { "type": "null" }
2283
2766
  ]
2284
2767
  },
2285
2768
  "useExportType": {
2286
2769
  "description": "Promotes the use of export type for types.",
2287
2770
  "anyOf": [
2288
- { "$ref": "#/definitions/RuleConfiguration" },
2771
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2289
2772
  { "type": "null" }
2290
2773
  ]
2291
2774
  },
@@ -2306,14 +2789,14 @@
2306
2789
  "useFragmentSyntax": {
2307
2790
  "description": "This rule enforces the use of \\<>...\\</> over \\<Fragment>...\\</Fragment>.",
2308
2791
  "anyOf": [
2309
- { "$ref": "#/definitions/RuleConfiguration" },
2792
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2310
2793
  { "type": "null" }
2311
2794
  ]
2312
2795
  },
2313
2796
  "useImportType": {
2314
2797
  "description": "Promotes the use of import type for types.",
2315
2798
  "anyOf": [
2316
- { "$ref": "#/definitions/RuleConfiguration" },
2799
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2317
2800
  { "type": "null" }
2318
2801
  ]
2319
2802
  },
@@ -2327,91 +2810,93 @@
2327
2810
  "useNamingConvention": {
2328
2811
  "description": "Enforce naming conventions for everything across a codebase.",
2329
2812
  "anyOf": [
2330
- { "$ref": "#/definitions/NamingConventionConfiguration" },
2813
+ {
2814
+ "$ref": "#/definitions/RuleFixConfiguration_for_NamingConventionOptions"
2815
+ },
2331
2816
  { "type": "null" }
2332
2817
  ]
2333
2818
  },
2334
2819
  "useNodeAssertStrict": {
2335
2820
  "description": "Promotes the usage of node:assert/strict over node:assert.",
2336
2821
  "anyOf": [
2337
- { "$ref": "#/definitions/RuleConfiguration" },
2822
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2338
2823
  { "type": "null" }
2339
2824
  ]
2340
2825
  },
2341
2826
  "useNodejsImportProtocol": {
2342
2827
  "description": "Enforces using the node: protocol for Node.js builtin modules.",
2343
2828
  "anyOf": [
2344
- { "$ref": "#/definitions/RuleConfiguration" },
2829
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2345
2830
  { "type": "null" }
2346
2831
  ]
2347
2832
  },
2348
2833
  "useNumberNamespace": {
2349
2834
  "description": "Use the Number properties instead of global ones.",
2350
2835
  "anyOf": [
2351
- { "$ref": "#/definitions/RuleConfiguration" },
2836
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2352
2837
  { "type": "null" }
2353
2838
  ]
2354
2839
  },
2355
2840
  "useNumericLiterals": {
2356
2841
  "description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals",
2357
2842
  "anyOf": [
2358
- { "$ref": "#/definitions/RuleConfiguration" },
2843
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2359
2844
  { "type": "null" }
2360
2845
  ]
2361
2846
  },
2362
2847
  "useSelfClosingElements": {
2363
2848
  "description": "Prevent extra closing tags for components without children",
2364
2849
  "anyOf": [
2365
- { "$ref": "#/definitions/RuleConfiguration" },
2850
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2366
2851
  { "type": "null" }
2367
2852
  ]
2368
2853
  },
2369
2854
  "useShorthandArrayType": {
2370
2855
  "description": "When expressing array types, this rule promotes the usage of T\\[] shorthand instead of Array\\<T>.",
2371
2856
  "anyOf": [
2372
- { "$ref": "#/definitions/RuleConfiguration" },
2857
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2373
2858
  { "type": "null" }
2374
2859
  ]
2375
2860
  },
2376
2861
  "useShorthandAssign": {
2377
2862
  "description": "Require assignment operator shorthand where possible.",
2378
2863
  "anyOf": [
2379
- { "$ref": "#/definitions/RuleConfiguration" },
2864
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2380
2865
  { "type": "null" }
2381
2866
  ]
2382
2867
  },
2383
2868
  "useShorthandFunctionType": {
2384
2869
  "description": "Enforce using function types instead of object type with call signatures.",
2385
2870
  "anyOf": [
2386
- { "$ref": "#/definitions/RuleConfiguration" },
2871
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2387
2872
  { "type": "null" }
2388
2873
  ]
2389
2874
  },
2390
2875
  "useSingleCaseStatement": {
2391
2876
  "description": "Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.",
2392
2877
  "anyOf": [
2393
- { "$ref": "#/definitions/RuleConfiguration" },
2878
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2394
2879
  { "type": "null" }
2395
2880
  ]
2396
2881
  },
2397
2882
  "useSingleVarDeclarator": {
2398
2883
  "description": "Disallow multiple variable declarations in the same variable statement",
2399
2884
  "anyOf": [
2400
- { "$ref": "#/definitions/RuleConfiguration" },
2885
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2401
2886
  { "type": "null" }
2402
2887
  ]
2403
2888
  },
2404
2889
  "useTemplate": {
2405
2890
  "description": "Prefer template literals over string concatenation.",
2406
2891
  "anyOf": [
2407
- { "$ref": "#/definitions/RuleConfiguration" },
2892
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2408
2893
  { "type": "null" }
2409
2894
  ]
2410
2895
  },
2411
2896
  "useWhile": {
2412
2897
  "description": "Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.",
2413
2898
  "anyOf": [
2414
- { "$ref": "#/definitions/RuleConfiguration" },
2899
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2415
2900
  { "type": "null" }
2416
2901
  ]
2417
2902
  }
@@ -2429,7 +2914,7 @@
2429
2914
  "noApproximativeNumericConstant": {
2430
2915
  "description": "Use standard constants instead of approximated literals.",
2431
2916
  "anyOf": [
2432
- { "$ref": "#/definitions/RuleConfiguration" },
2917
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2433
2918
  { "type": "null" }
2434
2919
  ]
2435
2920
  },
@@ -2471,14 +2956,14 @@
2471
2956
  "noCommentText": {
2472
2957
  "description": "Prevent comments from being inserted as text nodes",
2473
2958
  "anyOf": [
2474
- { "$ref": "#/definitions/RuleConfiguration" },
2959
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2475
2960
  { "type": "null" }
2476
2961
  ]
2477
2962
  },
2478
2963
  "noCompareNegZero": {
2479
2964
  "description": "Disallow comparing against -0",
2480
2965
  "anyOf": [
2481
- { "$ref": "#/definitions/RuleConfiguration" },
2966
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2482
2967
  { "type": "null" }
2483
2968
  ]
2484
2969
  },
@@ -2492,21 +2977,21 @@
2492
2977
  "noConfusingVoidType": {
2493
2978
  "description": "Disallow void type outside of generic or return types.",
2494
2979
  "anyOf": [
2495
- { "$ref": "#/definitions/RuleConfiguration" },
2980
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2496
2981
  { "type": "null" }
2497
2982
  ]
2498
2983
  },
2499
2984
  "noConsoleLog": {
2500
2985
  "description": "Disallow the use of console.log",
2501
2986
  "anyOf": [
2502
- { "$ref": "#/definitions/RuleConfiguration" },
2987
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2503
2988
  { "type": "null" }
2504
2989
  ]
2505
2990
  },
2506
2991
  "noConstEnum": {
2507
2992
  "description": "Disallow TypeScript const enum",
2508
2993
  "anyOf": [
2509
- { "$ref": "#/definitions/RuleConfiguration" },
2994
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2510
2995
  { "type": "null" }
2511
2996
  ]
2512
2997
  },
@@ -2520,14 +3005,14 @@
2520
3005
  "noDebugger": {
2521
3006
  "description": "Disallow the use of debugger",
2522
3007
  "anyOf": [
2523
- { "$ref": "#/definitions/RuleConfiguration" },
3008
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2524
3009
  { "type": "null" }
2525
3010
  ]
2526
3011
  },
2527
3012
  "noDoubleEquals": {
2528
3013
  "description": "Require the use of === and !==",
2529
3014
  "anyOf": [
2530
- { "$ref": "#/definitions/RuleConfiguration" },
3015
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2531
3016
  { "type": "null" }
2532
3017
  ]
2533
3018
  },
@@ -2555,7 +3040,7 @@
2555
3040
  "noDuplicateObjectKeys": {
2556
3041
  "description": "Prevents object literals having more than one property declaration for the same name.",
2557
3042
  "anyOf": [
2558
- { "$ref": "#/definitions/RuleConfiguration" },
3043
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2559
3044
  { "type": "null" }
2560
3045
  ]
2561
3046
  },
@@ -2583,7 +3068,7 @@
2583
3068
  "noEmptyInterface": {
2584
3069
  "description": "Disallow the declaration of empty interfaces.",
2585
3070
  "anyOf": [
2586
- { "$ref": "#/definitions/RuleConfiguration" },
3071
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2587
3072
  { "type": "null" }
2588
3073
  ]
2589
3074
  },
@@ -2604,7 +3089,7 @@
2604
3089
  "noExtraNonNullAssertion": {
2605
3090
  "description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.",
2606
3091
  "anyOf": [
2607
- { "$ref": "#/definitions/RuleConfiguration" },
3092
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2608
3093
  { "type": "null" }
2609
3094
  ]
2610
3095
  },
@@ -2618,7 +3103,7 @@
2618
3103
  "noFocusedTests": {
2619
3104
  "description": "Disallow focused tests.",
2620
3105
  "anyOf": [
2621
- { "$ref": "#/definitions/RuleConfiguration" },
3106
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2622
3107
  { "type": "null" }
2623
3108
  ]
2624
3109
  },
@@ -2639,14 +3124,14 @@
2639
3124
  "noGlobalIsFinite": {
2640
3125
  "description": "Use Number.isFinite instead of global isFinite.",
2641
3126
  "anyOf": [
2642
- { "$ref": "#/definitions/RuleConfiguration" },
3127
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2643
3128
  { "type": "null" }
2644
3129
  ]
2645
3130
  },
2646
3131
  "noGlobalIsNan": {
2647
3132
  "description": "Use Number.isNaN instead of global isNaN.",
2648
3133
  "anyOf": [
2649
- { "$ref": "#/definitions/RuleConfiguration" },
3134
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2650
3135
  { "type": "null" }
2651
3136
  ]
2652
3137
  },
@@ -2674,7 +3159,7 @@
2674
3159
  "noMisleadingCharacterClass": {
2675
3160
  "description": "Disallow characters made with multiple code points in character class syntax.",
2676
3161
  "anyOf": [
2677
- { "$ref": "#/definitions/RuleConfiguration" },
3162
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2678
3163
  { "type": "null" }
2679
3164
  ]
2680
3165
  },
@@ -2688,7 +3173,7 @@
2688
3173
  "noMisrefactoredShorthandAssign": {
2689
3174
  "description": "Disallow shorthand assign when variable appears on both sides.",
2690
3175
  "anyOf": [
2691
- { "$ref": "#/definitions/RuleConfiguration" },
3176
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2692
3177
  { "type": "null" }
2693
3178
  ]
2694
3179
  },
@@ -2709,7 +3194,7 @@
2709
3194
  "noRedundantUseStrict": {
2710
3195
  "description": "Prevents from having redundant \"use strict\".",
2711
3196
  "anyOf": [
2712
- { "$ref": "#/definitions/RuleConfiguration" },
3197
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2713
3198
  { "type": "null" }
2714
3199
  ]
2715
3200
  },
@@ -2730,14 +3215,14 @@
2730
3215
  "noSkippedTests": {
2731
3216
  "description": "Disallow disabled tests.",
2732
3217
  "anyOf": [
2733
- { "$ref": "#/definitions/RuleConfiguration" },
3218
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2734
3219
  { "type": "null" }
2735
3220
  ]
2736
3221
  },
2737
3222
  "noSparseArray": {
2738
3223
  "description": "Disallow sparse arrays",
2739
3224
  "anyOf": [
2740
- { "$ref": "#/definitions/RuleConfiguration" },
3225
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2741
3226
  { "type": "null" }
2742
3227
  ]
2743
3228
  },
@@ -2765,7 +3250,7 @@
2765
3250
  "noUnsafeNegation": {
2766
3251
  "description": "Disallow using unsafe negation.",
2767
3252
  "anyOf": [
2768
- { "$ref": "#/definitions/RuleConfiguration" },
3253
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2769
3254
  { "type": "null" }
2770
3255
  ]
2771
3256
  },
@@ -2797,28 +3282,28 @@
2797
3282
  "useIsArray": {
2798
3283
  "description": "Use Array.isArray() instead of instanceof Array.",
2799
3284
  "anyOf": [
2800
- { "$ref": "#/definitions/RuleConfiguration" },
3285
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2801
3286
  { "type": "null" }
2802
3287
  ]
2803
3288
  },
2804
3289
  "useNamespaceKeyword": {
2805
3290
  "description": "Require using the namespace keyword over the module keyword to declare TypeScript namespaces.",
2806
3291
  "anyOf": [
2807
- { "$ref": "#/definitions/RuleConfiguration" },
3292
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2808
3293
  { "type": "null" }
2809
3294
  ]
2810
3295
  },
2811
3296
  "useValidTypeof": {
2812
3297
  "description": "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",
2813
3298
  "anyOf": [
2814
- { "$ref": "#/definitions/RuleConfiguration" },
3299
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2815
3300
  { "type": "null" }
2816
3301
  ]
2817
3302
  }
2818
3303
  },
2819
3304
  "additionalProperties": false
2820
3305
  },
2821
- "TrailingComma": {
3306
+ "TrailingCommas": {
2822
3307
  "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures.",
2823
3308
  "oneOf": [
2824
3309
  {
@@ -2838,7 +3323,7 @@
2838
3323
  }
2839
3324
  ]
2840
3325
  },
2841
- "TrailingCommas": {
3326
+ "TrailingCommas2": {
2842
3327
  "oneOf": [
2843
3328
  {
2844
3329
  "description": "The formatter will remove the trailing commas",
@@ -2852,12 +3337,6 @@
2852
3337
  }
2853
3338
  ]
2854
3339
  },
2855
- "UtilityClassSortingConfiguration": {
2856
- "anyOf": [
2857
- { "$ref": "#/definitions/RulePlainConfiguration" },
2858
- { "$ref": "#/definitions/RuleWithUtilityClassSortingOptions" }
2859
- ]
2860
- },
2861
3340
  "UtilityClassSortingOptions": {
2862
3341
  "type": "object",
2863
3342
  "properties": {
@@ -2874,12 +3353,6 @@
2874
3353
  },
2875
3354
  "additionalProperties": false
2876
3355
  },
2877
- "ValidAriaRoleConfiguration": {
2878
- "anyOf": [
2879
- { "$ref": "#/definitions/RulePlainConfiguration" },
2880
- { "$ref": "#/definitions/RuleWithValidAriaRoleOptions" }
2881
- ]
2882
- },
2883
3356
  "ValidAriaRoleOptions": {
2884
3357
  "type": "object",
2885
3358
  "required": ["allowInvalidRoles", "ignoreNonDom"],