@biomejs/biome 1.7.2 → 1.7.3-nightly.af70ac2

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
  },
@@ -639,7 +653,7 @@
639
653
  "noInvalidNewBuiltin": {
640
654
  "description": "Disallow new operators with global non-constructor functions.",
641
655
  "anyOf": [
642
- { "$ref": "#/definitions/RuleConfiguration" },
656
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
643
657
  { "type": "null" }
644
658
  ]
645
659
  },
@@ -653,14 +667,14 @@
653
667
  "noNewSymbol": {
654
668
  "description": "Disallow new operators with the Symbol object.",
655
669
  "anyOf": [
656
- { "$ref": "#/definitions/RuleConfiguration" },
670
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
657
671
  { "type": "null" }
658
672
  ]
659
673
  },
660
674
  "noNonoctalDecimalEscape": {
661
675
  "description": "Disallow \\8 and \\9 escape sequences in string literals.",
662
676
  "anyOf": [
663
- { "$ref": "#/definitions/RuleConfiguration" },
677
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
664
678
  { "type": "null" }
665
679
  ]
666
680
  },
@@ -695,14 +709,14 @@
695
709
  "noStringCaseMismatch": {
696
710
  "description": "Disallow comparison of expressions modifying the string case with non-compliant value.",
697
711
  "anyOf": [
698
- { "$ref": "#/definitions/RuleConfiguration" },
712
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
699
713
  { "type": "null" }
700
714
  ]
701
715
  },
702
716
  "noSwitchDeclarations": {
703
717
  "description": "Disallow lexical declarations in switch clauses.",
704
718
  "anyOf": [
705
- { "$ref": "#/definitions/RuleConfiguration" },
719
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
706
720
  { "type": "null" }
707
721
  ]
708
722
  },
@@ -716,7 +730,7 @@
716
730
  "noUnnecessaryContinue": {
717
731
  "description": "Avoid using unnecessary continue.",
718
732
  "anyOf": [
719
- { "$ref": "#/definitions/RuleConfiguration" },
733
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
720
734
  { "type": "null" }
721
735
  ]
722
736
  },
@@ -751,35 +765,35 @@
751
765
  "noUnusedImports": {
752
766
  "description": "Disallow unused imports.",
753
767
  "anyOf": [
754
- { "$ref": "#/definitions/RuleConfiguration" },
768
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
755
769
  { "type": "null" }
756
770
  ]
757
771
  },
758
772
  "noUnusedLabels": {
759
773
  "description": "Disallow unused labels.",
760
774
  "anyOf": [
761
- { "$ref": "#/definitions/RuleConfiguration" },
775
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
762
776
  { "type": "null" }
763
777
  ]
764
778
  },
765
779
  "noUnusedPrivateClassMembers": {
766
780
  "description": "Disallow unused private class members",
767
781
  "anyOf": [
768
- { "$ref": "#/definitions/RuleConfiguration" },
782
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
769
783
  { "type": "null" }
770
784
  ]
771
785
  },
772
786
  "noUnusedVariables": {
773
787
  "description": "Disallow unused variables.",
774
788
  "anyOf": [
775
- { "$ref": "#/definitions/RuleConfiguration" },
789
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
776
790
  { "type": "null" }
777
791
  ]
778
792
  },
779
793
  "noVoidElementsWithChildren": {
780
794
  "description": "This rules prevents void elements (AKA self-closing elements) from having children.",
781
795
  "anyOf": [
782
- { "$ref": "#/definitions/RuleConfiguration" },
796
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
783
797
  { "type": "null" }
784
798
  ]
785
799
  },
@@ -811,7 +825,7 @@
811
825
  "useIsNan": {
812
826
  "description": "Require calls to isNaN() when checking for NaN.",
813
827
  "anyOf": [
814
- { "$ref": "#/definitions/RuleConfiguration" },
828
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
815
829
  { "type": "null" }
816
830
  ]
817
831
  },
@@ -844,32 +858,31 @@
844
858
  "type": "object",
845
859
  "properties": {
846
860
  "formatter": {
847
- "description": "Formatting options",
861
+ "description": "CSS formatter options",
848
862
  "anyOf": [
849
863
  { "$ref": "#/definitions/CssFormatter" },
850
864
  { "type": "null" }
851
865
  ]
852
866
  },
867
+ "linter": {
868
+ "description": "CSS linter options",
869
+ "anyOf": [{ "$ref": "#/definitions/CssLinter" }, { "type": "null" }]
870
+ },
853
871
  "parser": {
854
- "description": "Parsing options",
872
+ "description": "CSS parsing options",
855
873
  "anyOf": [{ "$ref": "#/definitions/CssParser" }, { "type": "null" }]
856
874
  }
857
875
  },
858
876
  "additionalProperties": false
859
877
  },
860
878
  "CssFormatter": {
879
+ "description": "Options that changes how the CSS formatter behaves",
861
880
  "type": "object",
862
881
  "properties": {
863
882
  "enabled": {
864
883
  "description": "Control the formatter for CSS (and its super languages) files.",
865
884
  "type": ["boolean", "null"]
866
885
  },
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
886
  "indentStyle": {
874
887
  "description": "The indent style applied to CSS (and its super languages) files.",
875
888
  "anyOf": [
@@ -892,11 +905,23 @@
892
905
  "anyOf": [{ "$ref": "#/definitions/LineWidth" }, { "type": "null" }]
893
906
  },
894
907
  "quoteStyle": {
908
+ "description": "The type of quotes used in CSS code. Defaults to double.",
895
909
  "anyOf": [{ "$ref": "#/definitions/QuoteStyle" }, { "type": "null" }]
896
910
  }
897
911
  },
898
912
  "additionalProperties": false
899
913
  },
914
+ "CssLinter": {
915
+ "description": "Options that changes how the CSS linter behaves",
916
+ "type": "object",
917
+ "properties": {
918
+ "enabled": {
919
+ "description": "Control the linter for CSS (and its super languages) files.",
920
+ "type": ["boolean", "null"]
921
+ }
922
+ },
923
+ "additionalProperties": false
924
+ },
900
925
  "CssParser": {
901
926
  "description": "Options that changes how the CSS parser behaves",
902
927
  "type": "object",
@@ -919,22 +944,6 @@
919
944
  "type": "object",
920
945
  "additionalProperties": false
921
946
  },
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
947
  "FilenameCase": {
939
948
  "description": "Supported cases for file names.",
940
949
  "oneOf": [
@@ -1016,6 +1025,36 @@
1016
1025
  },
1017
1026
  "additionalProperties": false
1018
1027
  },
1028
+ "FixKind": {
1029
+ "description": "Used to identify the kind of code action emitted by a rule",
1030
+ "oneOf": [
1031
+ {
1032
+ "description": "The rule doesn't emit code actions.",
1033
+ "type": "string",
1034
+ "enum": ["none"]
1035
+ },
1036
+ {
1037
+ "description": "The rule emits a code action that is safe to apply. Usually these fixes don't change the semantic of the program.",
1038
+ "type": "string",
1039
+ "enum": ["safe"]
1040
+ },
1041
+ {
1042
+ "description": "The rule emits a code action that is _unsafe_ to apply. Usually these fixes remove comments, or change the semantic of the program.",
1043
+ "type": "string",
1044
+ "enum": ["unsafe"]
1045
+ }
1046
+ ]
1047
+ },
1048
+ "Format": {
1049
+ "description": "Supported cases.",
1050
+ "type": "string",
1051
+ "enum": ["camelCase", "CONSTANT_CASE", "PascalCase", "snake_case"]
1052
+ },
1053
+ "Formats": {
1054
+ "type": "array",
1055
+ "items": { "$ref": "#/definitions/Format" },
1056
+ "uniqueItems": true
1057
+ },
1019
1058
  "FormatterConfiguration": {
1020
1059
  "description": "Generic options applied to all files",
1021
1060
  "type": "object",
@@ -1132,6 +1171,13 @@
1132
1171
  "description": "Indicates the type of runtime or transformation used for interpreting JSX.",
1133
1172
  "anyOf": [{ "$ref": "#/definitions/JsxRuntime" }, { "type": "null" }]
1134
1173
  },
1174
+ "linter": {
1175
+ "description": "Linter options",
1176
+ "anyOf": [
1177
+ { "$ref": "#/definitions/JavascriptLinter" },
1178
+ { "type": "null" }
1179
+ ]
1180
+ },
1135
1181
  "organizeImports": {
1136
1182
  "anyOf": [
1137
1183
  { "$ref": "#/definitions/JavascriptOrganizeImports" },
@@ -1227,13 +1273,31 @@
1227
1273
  "trailingComma": {
1228
1274
  "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"all\".",
1229
1275
  "anyOf": [
1230
- { "$ref": "#/definitions/TrailingComma" },
1276
+ { "$ref": "#/definitions/TrailingCommas" },
1277
+ { "type": "null" }
1278
+ ]
1279
+ },
1280
+ "trailingCommas": {
1281
+ "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"all\".",
1282
+ "anyOf": [
1283
+ { "$ref": "#/definitions/TrailingCommas" },
1231
1284
  { "type": "null" }
1232
1285
  ]
1233
1286
  }
1234
1287
  },
1235
1288
  "additionalProperties": false
1236
1289
  },
1290
+ "JavascriptLinter": {
1291
+ "description": "Linter options specific to the JavaScript linter",
1292
+ "type": "object",
1293
+ "properties": {
1294
+ "enabled": {
1295
+ "description": "Control the linter for JavaScript (and its super languages) files.",
1296
+ "type": ["boolean", "null"]
1297
+ }
1298
+ },
1299
+ "additionalProperties": false
1300
+ },
1237
1301
  "JavascriptOrganizeImports": {
1238
1302
  "type": "object",
1239
1303
  "additionalProperties": false
@@ -1260,6 +1324,10 @@
1260
1324
  { "type": "null" }
1261
1325
  ]
1262
1326
  },
1327
+ "linter": {
1328
+ "description": "Linting options",
1329
+ "anyOf": [{ "$ref": "#/definitions/JsonLinter" }, { "type": "null" }]
1330
+ },
1263
1331
  "parser": {
1264
1332
  "description": "Parsing options",
1265
1333
  "anyOf": [{ "$ref": "#/definitions/JsonParser" }, { "type": "null" }]
@@ -1304,13 +1372,24 @@
1304
1372
  "trailingCommas": {
1305
1373
  "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to \"none\".",
1306
1374
  "anyOf": [
1307
- { "$ref": "#/definitions/TrailingCommas" },
1375
+ { "$ref": "#/definitions/TrailingCommas2" },
1308
1376
  { "type": "null" }
1309
1377
  ]
1310
1378
  }
1311
1379
  },
1312
1380
  "additionalProperties": false
1313
1381
  },
1382
+ "JsonLinter": {
1383
+ "description": "Linter options specific to the JSON linter",
1384
+ "type": "object",
1385
+ "properties": {
1386
+ "enabled": {
1387
+ "description": "Control the linter for JSON (and its super languages) files.",
1388
+ "type": ["boolean", "null"]
1389
+ }
1390
+ },
1391
+ "additionalProperties": false
1392
+ },
1314
1393
  "JsonParser": {
1315
1394
  "description": "Options that changes how the JSON parser behaves",
1316
1395
  "type": "object",
@@ -1341,6 +1420,109 @@
1341
1420
  }
1342
1421
  ]
1343
1422
  },
1423
+ "Kind": {
1424
+ "oneOf": [
1425
+ {
1426
+ "type": "string",
1427
+ "enum": [
1428
+ "class",
1429
+ "enum",
1430
+ "interface",
1431
+ "enumMember",
1432
+ "importNamespace",
1433
+ "exportNamespace",
1434
+ "variable",
1435
+ "const",
1436
+ "let",
1437
+ "using",
1438
+ "var",
1439
+ "catchParameter",
1440
+ "indexParameter",
1441
+ "exportAlias",
1442
+ "importAlias",
1443
+ "classGetter",
1444
+ "classSetter",
1445
+ "classMethod",
1446
+ "objectLiteralProperty",
1447
+ "objectLiteralGetter",
1448
+ "objectLiteralSetter",
1449
+ "objectLiteralMethod",
1450
+ "typeAlias"
1451
+ ]
1452
+ },
1453
+ { "description": "All kinds", "type": "string", "enum": ["any"] },
1454
+ {
1455
+ "description": "All type definitions: classes, enums, interfaces, and type aliases",
1456
+ "type": "string",
1457
+ "enum": ["typeLike"]
1458
+ },
1459
+ {
1460
+ "description": "Named function declarations and expressions",
1461
+ "type": "string",
1462
+ "enum": ["function"]
1463
+ },
1464
+ {
1465
+ "description": "TypeScript mamespaces, import and export namesapces",
1466
+ "type": "string",
1467
+ "enum": ["namespaceLike"]
1468
+ },
1469
+ {
1470
+ "description": "TypeScript mamespaces",
1471
+ "type": "string",
1472
+ "enum": ["namespace"]
1473
+ },
1474
+ {
1475
+ "description": "All function parameters, but parameter properties",
1476
+ "type": "string",
1477
+ "enum": ["functionParameter"]
1478
+ },
1479
+ {
1480
+ "description": "All generic type parameters",
1481
+ "type": "string",
1482
+ "enum": ["typeParameter"]
1483
+ },
1484
+ {
1485
+ "description": "All class members: properties, methods, getters, and setters",
1486
+ "type": "string",
1487
+ "enum": ["classMember"]
1488
+ },
1489
+ {
1490
+ "description": "All class properties, including parameter properties",
1491
+ "type": "string",
1492
+ "enum": ["classProperty"]
1493
+ },
1494
+ {
1495
+ "description": "All object literal members: properties, methods, getters, and setters",
1496
+ "type": "string",
1497
+ "enum": ["objectLiteralMember"]
1498
+ },
1499
+ {
1500
+ "description": "All members defined in type alaises and interfaces",
1501
+ "type": "string",
1502
+ "enum": ["typeMember"]
1503
+ },
1504
+ {
1505
+ "description": "All getters defined in type alaises and interfaces",
1506
+ "type": "string",
1507
+ "enum": ["typeGetter"]
1508
+ },
1509
+ {
1510
+ "description": "All properties defined in type alaises and interfaces",
1511
+ "type": "string",
1512
+ "enum": ["typeProperty"]
1513
+ },
1514
+ {
1515
+ "description": "All setters defined in type alaises and interfaces",
1516
+ "type": "string",
1517
+ "enum": ["typeSetter"]
1518
+ },
1519
+ {
1520
+ "description": "All methods defined in type alaises and interfaces",
1521
+ "type": "string",
1522
+ "enum": ["typeMethod"]
1523
+ }
1524
+ ]
1525
+ },
1344
1526
  "LineEnding": {
1345
1527
  "oneOf": [
1346
1528
  {
@@ -1388,19 +1570,23 @@
1388
1570
  },
1389
1571
  "additionalProperties": false
1390
1572
  },
1391
- "NamingConventionConfiguration": {
1392
- "anyOf": [
1393
- { "$ref": "#/definitions/RulePlainConfiguration" },
1394
- { "$ref": "#/definitions/RuleWithNamingConventionOptions" }
1395
- ]
1573
+ "Modifiers": {
1574
+ "type": "array",
1575
+ "items": { "$ref": "#/definitions/RestrictedModifier" },
1576
+ "uniqueItems": true
1396
1577
  },
1397
1578
  "NamingConventionOptions": {
1398
1579
  "description": "Rule's options.",
1399
1580
  "type": "object",
1400
1581
  "properties": {
1582
+ "conventions": {
1583
+ "description": "Custom conventions.",
1584
+ "type": "array",
1585
+ "items": { "$ref": "#/definitions/Convention" }
1586
+ },
1401
1587
  "enumMemberCase": {
1402
1588
  "description": "Allowed cases for _TypeScript_ `enum` member names.",
1403
- "allOf": [{ "$ref": "#/definitions/EnumMemberCase" }]
1589
+ "allOf": [{ "$ref": "#/definitions/Format" }]
1404
1590
  },
1405
1591
  "requireAscii": {
1406
1592
  "description": "If `false`, then non-ASCII characters are allowed.",
@@ -1413,18 +1599,6 @@
1413
1599
  },
1414
1600
  "additionalProperties": false
1415
1601
  },
1416
- "NoCssEmptyBlockConfiguration": {
1417
- "anyOf": [
1418
- { "$ref": "#/definitions/RulePlainConfiguration" },
1419
- { "$ref": "#/definitions/RuleWithNoCssEmptyBlockOptions" }
1420
- ]
1421
- },
1422
- "NoCssEmptyBlockOptions": {
1423
- "type": "object",
1424
- "required": ["allowComments"],
1425
- "properties": { "allowComments": { "type": "boolean" } },
1426
- "additionalProperties": false
1427
- },
1428
1602
  "Nursery": {
1429
1603
  "description": "A list of rules that belong to this group",
1430
1604
  "type": "object",
@@ -1433,36 +1607,29 @@
1433
1607
  "description": "It enables ALL rules for this group.",
1434
1608
  "type": ["boolean", "null"]
1435
1609
  },
1436
- "noColorInvalidHex": {
1437
- "description": "WIP: This rule hasn't been implemented yet.",
1438
- "anyOf": [
1439
- { "$ref": "#/definitions/RuleConfiguration" },
1440
- { "type": "null" }
1441
- ]
1442
- },
1443
1610
  "noConsole": {
1444
1611
  "description": "Disallow the use of console.",
1445
1612
  "anyOf": [
1446
- { "$ref": "#/definitions/RuleConfiguration" },
1613
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1447
1614
  { "type": "null" }
1448
1615
  ]
1449
1616
  },
1450
1617
  "noConstantMathMinMaxClamp": {
1451
1618
  "description": "Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.",
1452
1619
  "anyOf": [
1453
- { "$ref": "#/definitions/RuleConfiguration" },
1620
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1454
1621
  { "type": "null" }
1455
1622
  ]
1456
1623
  },
1457
- "noCssEmptyBlock": {
1458
- "description": "Disallow CSS empty blocks.",
1624
+ "noDoneCallback": {
1625
+ "description": "Disallow using a callback in asynchronous tests and hooks.",
1459
1626
  "anyOf": [
1460
- { "$ref": "#/definitions/NoCssEmptyBlockConfiguration" },
1627
+ { "$ref": "#/definitions/RuleConfiguration" },
1461
1628
  { "type": "null" }
1462
1629
  ]
1463
1630
  },
1464
- "noDoneCallback": {
1465
- "description": "Disallow using a callback in asynchronous tests and hooks.",
1631
+ "noDuplicateAtImportRules": {
1632
+ "description": "Disallow duplicate @import rules.",
1466
1633
  "anyOf": [
1467
1634
  { "$ref": "#/definitions/RuleConfiguration" },
1468
1635
  { "type": "null" }
@@ -1496,6 +1663,13 @@
1496
1663
  { "type": "null" }
1497
1664
  ]
1498
1665
  },
1666
+ "noEmptyBlock": {
1667
+ "description": "Disallow CSS empty blocks.",
1668
+ "anyOf": [
1669
+ { "$ref": "#/definitions/RuleConfiguration" },
1670
+ { "type": "null" }
1671
+ ]
1672
+ },
1499
1673
  "noEvolvingAny": {
1500
1674
  "description": "Disallow variables from evolving into any type through reassignments.",
1501
1675
  "anyOf": [
@@ -1506,7 +1680,7 @@
1506
1680
  "noFlatMapIdentity": {
1507
1681
  "description": "Disallow to use unnecessary callback on flatMap.",
1508
1682
  "anyOf": [
1509
- { "$ref": "#/definitions/RuleConfiguration" },
1683
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1510
1684
  { "type": "null" }
1511
1685
  ]
1512
1686
  },
@@ -1517,6 +1691,13 @@
1517
1691
  { "type": "null" }
1518
1692
  ]
1519
1693
  },
1694
+ "noInvalidPositionAtImportRule": {
1695
+ "description": "Disallow the use of @import at-rules in invalid positions.",
1696
+ "anyOf": [
1697
+ { "$ref": "#/definitions/RuleConfiguration" },
1698
+ { "type": "null" }
1699
+ ]
1700
+ },
1520
1701
  "noMisplacedAssertion": {
1521
1702
  "description": "Checks that the assertion function, for example expect, is placed inside an it() function call.",
1522
1703
  "anyOf": [
@@ -1534,7 +1715,7 @@
1534
1715
  "noReactSpecificProps": {
1535
1716
  "description": "Prevents React-specific JSX properties from being used.",
1536
1717
  "anyOf": [
1537
- { "$ref": "#/definitions/RuleConfiguration" },
1718
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1538
1719
  { "type": "null" }
1539
1720
  ]
1540
1721
  },
@@ -1559,6 +1740,27 @@
1559
1740
  { "type": "null" }
1560
1741
  ]
1561
1742
  },
1743
+ "noUnknownMediaFeatureName": {
1744
+ "description": "Disallow unknown media feature names.",
1745
+ "anyOf": [
1746
+ { "$ref": "#/definitions/RuleConfiguration" },
1747
+ { "type": "null" }
1748
+ ]
1749
+ },
1750
+ "noUnknownProperty": {
1751
+ "description": "Disallow unknown properties.",
1752
+ "anyOf": [
1753
+ { "$ref": "#/definitions/RuleConfiguration" },
1754
+ { "type": "null" }
1755
+ ]
1756
+ },
1757
+ "noUnknownSelectorPseudoElement": {
1758
+ "description": "Disallow unknown pseudo-element selectors.",
1759
+ "anyOf": [
1760
+ { "$ref": "#/definitions/RuleConfiguration" },
1761
+ { "type": "null" }
1762
+ ]
1763
+ },
1562
1764
  "noUnknownUnit": {
1563
1765
  "description": "Disallow unknown CSS units.",
1564
1766
  "anyOf": [
@@ -1566,10 +1768,31 @@
1566
1768
  { "type": "null" }
1567
1769
  ]
1568
1770
  },
1771
+ "noUnmatchableAnbSelector": {
1772
+ "description": "Disallow unmatchable An+B selectors.",
1773
+ "anyOf": [
1774
+ { "$ref": "#/definitions/RuleConfiguration" },
1775
+ { "type": "null" }
1776
+ ]
1777
+ },
1778
+ "noUselessStringConcat": {
1779
+ "description": "Disallow unnecessary concatenation of string or template literals.",
1780
+ "anyOf": [
1781
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1782
+ { "type": "null" }
1783
+ ]
1784
+ },
1569
1785
  "noUselessUndefinedInitialization": {
1570
1786
  "description": "Disallow initializing variables to undefined.",
1571
1787
  "anyOf": [
1572
- { "$ref": "#/definitions/RuleConfiguration" },
1788
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1789
+ { "type": "null" }
1790
+ ]
1791
+ },
1792
+ "noYodaExpression": {
1793
+ "description": "Disallow the use of yoda expressions.",
1794
+ "anyOf": [
1795
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1573
1796
  { "type": "null" }
1574
1797
  ]
1575
1798
  },
@@ -1577,17 +1800,24 @@
1577
1800
  "description": "It enables the recommended rules for this group",
1578
1801
  "type": ["boolean", "null"]
1579
1802
  },
1803
+ "useAdjacentOverloadSignatures": {
1804
+ "description": "Disallow the use of overload signatures that are not next to each other.",
1805
+ "anyOf": [
1806
+ { "$ref": "#/definitions/RuleConfiguration" },
1807
+ { "type": "null" }
1808
+ ]
1809
+ },
1580
1810
  "useArrayLiterals": {
1581
1811
  "description": "Disallow Array constructors.",
1582
1812
  "anyOf": [
1583
- { "$ref": "#/definitions/RuleConfiguration" },
1813
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1584
1814
  { "type": "null" }
1585
1815
  ]
1586
1816
  },
1587
- "useConsistentBuiltinInstatiation": {
1817
+ "useConsistentBuiltinInstantiation": {
1588
1818
  "description": "Enforce the use of new for all builtins, except String, Number, Boolean, Symbol and BigInt.",
1589
1819
  "anyOf": [
1590
- { "$ref": "#/definitions/RuleConfiguration" },
1820
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1591
1821
  { "type": "null" }
1592
1822
  ]
1593
1823
  },
@@ -1598,6 +1828,20 @@
1598
1828
  { "type": "null" }
1599
1829
  ]
1600
1830
  },
1831
+ "useExplicitLengthCheck": {
1832
+ "description": "Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.",
1833
+ "anyOf": [
1834
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1835
+ { "type": "null" }
1836
+ ]
1837
+ },
1838
+ "useFocusableInteractive": {
1839
+ "description": "Elements with an interactive role and interaction handlers must be focusable.",
1840
+ "anyOf": [
1841
+ { "$ref": "#/definitions/RuleConfiguration" },
1842
+ { "type": "null" }
1843
+ ]
1844
+ },
1601
1845
  "useGenericFontNames": {
1602
1846
  "description": "Disallow a missing generic family keyword within font families.",
1603
1847
  "anyOf": [
@@ -1605,6 +1849,13 @@
1605
1849
  { "type": "null" }
1606
1850
  ]
1607
1851
  },
1852
+ "useImportExtensions": {
1853
+ "description": "Enforce file extensions for relative imports.",
1854
+ "anyOf": [
1855
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1856
+ { "type": "null" }
1857
+ ]
1858
+ },
1608
1859
  "useImportRestrictions": {
1609
1860
  "description": "Disallows package private imports.",
1610
1861
  "anyOf": [
@@ -1612,10 +1863,47 @@
1612
1863
  { "type": "null" }
1613
1864
  ]
1614
1865
  },
1866
+ "useNumberToFixedDigitsArgument": {
1867
+ "description": "Enforce using the digits argument with Number#toFixed().",
1868
+ "anyOf": [
1869
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1870
+ { "type": "null" }
1871
+ ]
1872
+ },
1873
+ "useSemanticElements": {
1874
+ "description": "It detects the use of role attributes in JSX elements and suggests using semantic elements instead.",
1875
+ "anyOf": [
1876
+ { "$ref": "#/definitions/RuleConfiguration" },
1877
+ { "type": "null" }
1878
+ ]
1879
+ },
1615
1880
  "useSortedClasses": {
1616
1881
  "description": "Enforce the sorting of CSS utility classes.",
1617
1882
  "anyOf": [
1618
- { "$ref": "#/definitions/UtilityClassSortingConfiguration" },
1883
+ {
1884
+ "$ref": "#/definitions/RuleFixConfiguration_for_UtilityClassSortingOptions"
1885
+ },
1886
+ { "type": "null" }
1887
+ ]
1888
+ },
1889
+ "useThrowNewError": {
1890
+ "description": "Require new when throwing an error.",
1891
+ "anyOf": [
1892
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1893
+ { "type": "null" }
1894
+ ]
1895
+ },
1896
+ "useThrowOnlyError": {
1897
+ "description": "Disallow throwing non-Error values.",
1898
+ "anyOf": [
1899
+ { "$ref": "#/definitions/RuleConfiguration" },
1900
+ { "type": "null" }
1901
+ ]
1902
+ },
1903
+ "useTopLevelRegex": {
1904
+ "description": "Require regex literals to be declared at the top level.",
1905
+ "anyOf": [
1906
+ { "$ref": "#/definitions/RuleConfiguration" },
1619
1907
  { "type": "null" }
1620
1908
  ]
1621
1909
  }
@@ -1794,7 +2082,7 @@
1794
2082
  "noDelete": {
1795
2083
  "description": "Disallow the use of the delete operator.",
1796
2084
  "anyOf": [
1797
- { "$ref": "#/definitions/RuleConfiguration" },
2085
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
1798
2086
  { "type": "null" }
1799
2087
  ]
1800
2088
  },
@@ -1820,6 +2108,7 @@
1820
2108
  },
1821
2109
  "QuoteProperties": { "type": "string", "enum": ["asNeeded", "preserve"] },
1822
2110
  "QuoteStyle": { "type": "string", "enum": ["double", "single"] },
2111
+ "Regex": { "type": "string" },
1823
2112
  "RestrictedGlobalsConfiguration": {
1824
2113
  "anyOf": [
1825
2114
  { "$ref": "#/definitions/RulePlainConfiguration" },
@@ -1858,12 +2147,52 @@
1858
2147
  },
1859
2148
  "additionalProperties": false
1860
2149
  },
2150
+ "RestrictedModifier": {
2151
+ "type": "string",
2152
+ "enum": ["abstract", "private", "protected", "readonly", "static"]
2153
+ },
1861
2154
  "RuleConfiguration": {
1862
2155
  "anyOf": [
1863
2156
  { "$ref": "#/definitions/RulePlainConfiguration" },
1864
2157
  { "$ref": "#/definitions/RuleWithNoOptions" }
1865
2158
  ]
1866
2159
  },
2160
+ "RuleFixConfiguration_for_ConsistentArrayTypeOptions": {
2161
+ "anyOf": [
2162
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2163
+ {
2164
+ "$ref": "#/definitions/RuleWithFixOptions_for_ConsistentArrayTypeOptions"
2165
+ }
2166
+ ]
2167
+ },
2168
+ "RuleFixConfiguration_for_NamingConventionOptions": {
2169
+ "anyOf": [
2170
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2171
+ {
2172
+ "$ref": "#/definitions/RuleWithFixOptions_for_NamingConventionOptions"
2173
+ }
2174
+ ]
2175
+ },
2176
+ "RuleFixConfiguration_for_Null": {
2177
+ "anyOf": [
2178
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2179
+ { "$ref": "#/definitions/RuleWithFixOptions_for_Null" }
2180
+ ]
2181
+ },
2182
+ "RuleFixConfiguration_for_UtilityClassSortingOptions": {
2183
+ "anyOf": [
2184
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2185
+ {
2186
+ "$ref": "#/definitions/RuleWithFixOptions_for_UtilityClassSortingOptions"
2187
+ }
2188
+ ]
2189
+ },
2190
+ "RuleFixConfiguration_for_ValidAriaRoleOptions": {
2191
+ "anyOf": [
2192
+ { "$ref": "#/definitions/RulePlainConfiguration" },
2193
+ { "$ref": "#/definitions/RuleWithFixOptions_for_ValidAriaRoleOptions" }
2194
+ ]
2195
+ },
1867
2196
  "RulePlainConfiguration": {
1868
2197
  "type": "string",
1869
2198
  "enum": ["warn", "error", "off"]
@@ -1872,106 +2201,192 @@
1872
2201
  "type": "object",
1873
2202
  "required": ["level", "options"],
1874
2203
  "properties": {
1875
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1876
- "options": { "$ref": "#/definitions/ComplexityOptions" }
2204
+ "level": {
2205
+ "description": "The severity of the emitted diagnostics by the rule",
2206
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2207
+ },
2208
+ "options": {
2209
+ "description": "Rule's options",
2210
+ "allOf": [{ "$ref": "#/definitions/ComplexityOptions" }]
2211
+ }
1877
2212
  },
1878
2213
  "additionalProperties": false
1879
2214
  },
1880
- "RuleWithConsistentArrayTypeOptions": {
2215
+ "RuleWithDeprecatedHooksOptions": {
1881
2216
  "type": "object",
1882
2217
  "required": ["level", "options"],
1883
2218
  "properties": {
1884
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1885
- "options": { "$ref": "#/definitions/ConsistentArrayTypeOptions" }
2219
+ "level": {
2220
+ "description": "The severity of the emitted diagnostics by the rule",
2221
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2222
+ },
2223
+ "options": {
2224
+ "description": "Rule's options",
2225
+ "allOf": [{ "$ref": "#/definitions/DeprecatedHooksOptions" }]
2226
+ }
1886
2227
  },
1887
2228
  "additionalProperties": false
1888
2229
  },
1889
- "RuleWithDeprecatedHooksOptions": {
2230
+ "RuleWithFilenamingConventionOptions": {
1890
2231
  "type": "object",
1891
2232
  "required": ["level", "options"],
1892
2233
  "properties": {
1893
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1894
- "options": { "$ref": "#/definitions/DeprecatedHooksOptions" }
2234
+ "level": {
2235
+ "description": "The severity of the emitted diagnostics by the rule",
2236
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2237
+ },
2238
+ "options": {
2239
+ "description": "Rule's options",
2240
+ "allOf": [{ "$ref": "#/definitions/FilenamingConventionOptions" }]
2241
+ }
1895
2242
  },
1896
2243
  "additionalProperties": false
1897
2244
  },
1898
- "RuleWithFilenamingConventionOptions": {
2245
+ "RuleWithFixOptions_for_ConsistentArrayTypeOptions": {
1899
2246
  "type": "object",
1900
2247
  "required": ["level", "options"],
1901
2248
  "properties": {
1902
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1903
- "options": { "$ref": "#/definitions/FilenamingConventionOptions" }
2249
+ "fix": {
2250
+ "description": "The kind of the code actions emitted by the rule",
2251
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2252
+ },
2253
+ "level": {
2254
+ "description": "The severity of the emitted diagnostics by the rule",
2255
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2256
+ },
2257
+ "options": {
2258
+ "description": "Rule's options",
2259
+ "allOf": [{ "$ref": "#/definitions/ConsistentArrayTypeOptions" }]
2260
+ }
1904
2261
  },
1905
2262
  "additionalProperties": false
1906
2263
  },
1907
- "RuleWithHooksOptions": {
2264
+ "RuleWithFixOptions_for_NamingConventionOptions": {
1908
2265
  "type": "object",
1909
2266
  "required": ["level", "options"],
1910
2267
  "properties": {
1911
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1912
- "options": { "$ref": "#/definitions/HooksOptions" }
2268
+ "fix": {
2269
+ "description": "The kind of the code actions emitted by the rule",
2270
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2271
+ },
2272
+ "level": {
2273
+ "description": "The severity of the emitted diagnostics by the rule",
2274
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2275
+ },
2276
+ "options": {
2277
+ "description": "Rule's options",
2278
+ "allOf": [{ "$ref": "#/definitions/NamingConventionOptions" }]
2279
+ }
1913
2280
  },
1914
2281
  "additionalProperties": false
1915
2282
  },
1916
- "RuleWithNamingConventionOptions": {
2283
+ "RuleWithFixOptions_for_Null": {
1917
2284
  "type": "object",
1918
2285
  "required": ["level", "options"],
1919
2286
  "properties": {
1920
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1921
- "options": { "$ref": "#/definitions/NamingConventionOptions" }
2287
+ "fix": {
2288
+ "description": "The kind of the code actions emitted by the rule",
2289
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2290
+ },
2291
+ "level": {
2292
+ "description": "The severity of the emitted diagnostics by the rule",
2293
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2294
+ },
2295
+ "options": { "description": "Rule's options", "type": "null" }
1922
2296
  },
1923
2297
  "additionalProperties": false
1924
2298
  },
1925
- "RuleWithNoCssEmptyBlockOptions": {
2299
+ "RuleWithFixOptions_for_UtilityClassSortingOptions": {
1926
2300
  "type": "object",
1927
2301
  "required": ["level", "options"],
1928
2302
  "properties": {
1929
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1930
- "options": { "$ref": "#/definitions/NoCssEmptyBlockOptions" }
2303
+ "fix": {
2304
+ "description": "The kind of the code actions emitted by the rule",
2305
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2306
+ },
2307
+ "level": {
2308
+ "description": "The severity of the emitted diagnostics by the rule",
2309
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2310
+ },
2311
+ "options": {
2312
+ "description": "Rule's options",
2313
+ "allOf": [{ "$ref": "#/definitions/UtilityClassSortingOptions" }]
2314
+ }
1931
2315
  },
1932
2316
  "additionalProperties": false
1933
2317
  },
1934
- "RuleWithNoOptions": {
2318
+ "RuleWithFixOptions_for_ValidAriaRoleOptions": {
1935
2319
  "type": "object",
1936
- "required": ["level"],
2320
+ "required": ["level", "options"],
1937
2321
  "properties": {
1938
- "level": { "$ref": "#/definitions/RulePlainConfiguration" }
2322
+ "fix": {
2323
+ "description": "The kind of the code actions emitted by the rule",
2324
+ "anyOf": [{ "$ref": "#/definitions/FixKind" }, { "type": "null" }]
2325
+ },
2326
+ "level": {
2327
+ "description": "The severity of the emitted diagnostics by the rule",
2328
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2329
+ },
2330
+ "options": {
2331
+ "description": "Rule's options",
2332
+ "allOf": [{ "$ref": "#/definitions/ValidAriaRoleOptions" }]
2333
+ }
1939
2334
  },
1940
2335
  "additionalProperties": false
1941
2336
  },
1942
- "RuleWithRestrictedGlobalsOptions": {
2337
+ "RuleWithHooksOptions": {
1943
2338
  "type": "object",
1944
2339
  "required": ["level", "options"],
1945
2340
  "properties": {
1946
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1947
- "options": { "$ref": "#/definitions/RestrictedGlobalsOptions" }
2341
+ "level": {
2342
+ "description": "The severity of the emitted diagnostics by the rule",
2343
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2344
+ },
2345
+ "options": {
2346
+ "description": "Rule's options",
2347
+ "allOf": [{ "$ref": "#/definitions/HooksOptions" }]
2348
+ }
1948
2349
  },
1949
2350
  "additionalProperties": false
1950
2351
  },
1951
- "RuleWithRestrictedImportsOptions": {
2352
+ "RuleWithNoOptions": {
1952
2353
  "type": "object",
1953
- "required": ["level", "options"],
2354
+ "required": ["level"],
1954
2355
  "properties": {
1955
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1956
- "options": { "$ref": "#/definitions/RestrictedImportsOptions" }
2356
+ "level": {
2357
+ "description": "The severity of the emitted diagnostics by the rule",
2358
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2359
+ }
1957
2360
  },
1958
2361
  "additionalProperties": false
1959
2362
  },
1960
- "RuleWithUtilityClassSortingOptions": {
2363
+ "RuleWithRestrictedGlobalsOptions": {
1961
2364
  "type": "object",
1962
2365
  "required": ["level", "options"],
1963
2366
  "properties": {
1964
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1965
- "options": { "$ref": "#/definitions/UtilityClassSortingOptions" }
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/RestrictedGlobalsOptions" }]
2374
+ }
1966
2375
  },
1967
2376
  "additionalProperties": false
1968
2377
  },
1969
- "RuleWithValidAriaRoleOptions": {
2378
+ "RuleWithRestrictedImportsOptions": {
1970
2379
  "type": "object",
1971
2380
  "required": ["level", "options"],
1972
2381
  "properties": {
1973
- "level": { "$ref": "#/definitions/RulePlainConfiguration" },
1974
- "options": { "$ref": "#/definitions/ValidAriaRoleOptions" }
2382
+ "level": {
2383
+ "description": "The severity of the emitted diagnostics by the rule",
2384
+ "allOf": [{ "$ref": "#/definitions/RulePlainConfiguration" }]
2385
+ },
2386
+ "options": {
2387
+ "description": "Rule's options",
2388
+ "allOf": [{ "$ref": "#/definitions/RestrictedImportsOptions" }]
2389
+ }
1975
2390
  },
1976
2391
  "additionalProperties": false
1977
2392
  },
@@ -2013,6 +2428,7 @@
2013
2428
  },
2014
2429
  "additionalProperties": false
2015
2430
  },
2431
+ "Scope": { "type": "string", "enum": ["any", "global"] },
2016
2432
  "Security": {
2017
2433
  "description": "A list of rules that belong to this group",
2018
2434
  "type": "object",
@@ -2049,6 +2465,24 @@
2049
2465
  },
2050
2466
  "additionalProperties": false
2051
2467
  },
2468
+ "Selector": {
2469
+ "type": "object",
2470
+ "properties": {
2471
+ "kind": {
2472
+ "description": "Declaration kind",
2473
+ "allOf": [{ "$ref": "#/definitions/Kind" }]
2474
+ },
2475
+ "modifiers": {
2476
+ "description": "Modifiers used on the declaration",
2477
+ "allOf": [{ "$ref": "#/definitions/Modifiers" }]
2478
+ },
2479
+ "scope": {
2480
+ "description": "Scope of the declaration",
2481
+ "allOf": [{ "$ref": "#/definitions/Scope" }]
2482
+ }
2483
+ },
2484
+ "additionalProperties": false
2485
+ },
2052
2486
  "Semicolons": { "type": "string", "enum": ["always", "asNeeded"] },
2053
2487
  "StableHookResult": {
2054
2488
  "oneOf": [
@@ -2106,14 +2540,14 @@
2106
2540
  "noImplicitBoolean": {
2107
2541
  "description": "Disallow implicit true values on JSX boolean attributes",
2108
2542
  "anyOf": [
2109
- { "$ref": "#/definitions/RuleConfiguration" },
2543
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2110
2544
  { "type": "null" }
2111
2545
  ]
2112
2546
  },
2113
2547
  "noInferrableTypes": {
2114
2548
  "description": "Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.",
2115
2549
  "anyOf": [
2116
- { "$ref": "#/definitions/RuleConfiguration" },
2550
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2117
2551
  { "type": "null" }
2118
2552
  ]
2119
2553
  },
@@ -2134,14 +2568,14 @@
2134
2568
  "noNegationElse": {
2135
2569
  "description": "Disallow negation in the condition of an if statement if it has an else clause.",
2136
2570
  "anyOf": [
2137
- { "$ref": "#/definitions/RuleConfiguration" },
2571
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2138
2572
  { "type": "null" }
2139
2573
  ]
2140
2574
  },
2141
2575
  "noNonNullAssertion": {
2142
2576
  "description": "Disallow non-null assertions using the ! postfix operator.",
2143
2577
  "anyOf": [
2144
- { "$ref": "#/definitions/RuleConfiguration" },
2578
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2145
2579
  { "type": "null" }
2146
2580
  ]
2147
2581
  },
@@ -2169,28 +2603,28 @@
2169
2603
  "noShoutyConstants": {
2170
2604
  "description": "Disallow the use of constants which its value is the upper-case version of its name.",
2171
2605
  "anyOf": [
2172
- { "$ref": "#/definitions/RuleConfiguration" },
2606
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2173
2607
  { "type": "null" }
2174
2608
  ]
2175
2609
  },
2176
2610
  "noUnusedTemplateLiteral": {
2177
2611
  "description": "Disallow template literals if interpolation and special-character handling are not needed",
2178
2612
  "anyOf": [
2179
- { "$ref": "#/definitions/RuleConfiguration" },
2613
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2180
2614
  { "type": "null" }
2181
2615
  ]
2182
2616
  },
2183
2617
  "noUselessElse": {
2184
2618
  "description": "Disallow else block when the if block breaks early.",
2185
2619
  "anyOf": [
2186
- { "$ref": "#/definitions/RuleConfiguration" },
2620
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2187
2621
  { "type": "null" }
2188
2622
  ]
2189
2623
  },
2190
2624
  "noVar": {
2191
2625
  "description": "Disallow the use of var",
2192
2626
  "anyOf": [
2193
- { "$ref": "#/definitions/RuleConfiguration" },
2627
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2194
2628
  { "type": "null" }
2195
2629
  ]
2196
2630
  },
@@ -2201,63 +2635,65 @@
2201
2635
  "useAsConstAssertion": {
2202
2636
  "description": "Enforce the use of as const over literal type and type annotation.",
2203
2637
  "anyOf": [
2204
- { "$ref": "#/definitions/RuleConfiguration" },
2638
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2205
2639
  { "type": "null" }
2206
2640
  ]
2207
2641
  },
2208
2642
  "useBlockStatements": {
2209
2643
  "description": "Requires following curly brace conventions.",
2210
2644
  "anyOf": [
2211
- { "$ref": "#/definitions/RuleConfiguration" },
2645
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2212
2646
  { "type": "null" }
2213
2647
  ]
2214
2648
  },
2215
2649
  "useCollapsedElseIf": {
2216
2650
  "description": "Enforce using else if instead of nested if in else clauses.",
2217
2651
  "anyOf": [
2218
- { "$ref": "#/definitions/RuleConfiguration" },
2652
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2219
2653
  { "type": "null" }
2220
2654
  ]
2221
2655
  },
2222
2656
  "useConsistentArrayType": {
2223
2657
  "description": "Require consistently using either T\\[] or Array\\<T>",
2224
2658
  "anyOf": [
2225
- { "$ref": "#/definitions/ConsistentArrayTypeConfiguration" },
2659
+ {
2660
+ "$ref": "#/definitions/RuleFixConfiguration_for_ConsistentArrayTypeOptions"
2661
+ },
2226
2662
  { "type": "null" }
2227
2663
  ]
2228
2664
  },
2229
2665
  "useConst": {
2230
2666
  "description": "Require const declarations for variables that are only assigned once.",
2231
2667
  "anyOf": [
2232
- { "$ref": "#/definitions/RuleConfiguration" },
2668
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2233
2669
  { "type": "null" }
2234
2670
  ]
2235
2671
  },
2236
2672
  "useDefaultParameterLast": {
2237
2673
  "description": "Enforce default function parameters and optional function parameters to be last.",
2238
2674
  "anyOf": [
2239
- { "$ref": "#/definitions/RuleConfiguration" },
2675
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2240
2676
  { "type": "null" }
2241
2677
  ]
2242
2678
  },
2243
2679
  "useEnumInitializers": {
2244
2680
  "description": "Require that each enum member value be explicitly initialized.",
2245
2681
  "anyOf": [
2246
- { "$ref": "#/definitions/RuleConfiguration" },
2682
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2247
2683
  { "type": "null" }
2248
2684
  ]
2249
2685
  },
2250
2686
  "useExponentiationOperator": {
2251
2687
  "description": "Disallow the use of Math.pow in favor of the ** operator.",
2252
2688
  "anyOf": [
2253
- { "$ref": "#/definitions/RuleConfiguration" },
2689
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2254
2690
  { "type": "null" }
2255
2691
  ]
2256
2692
  },
2257
2693
  "useExportType": {
2258
2694
  "description": "Promotes the use of export type for types.",
2259
2695
  "anyOf": [
2260
- { "$ref": "#/definitions/RuleConfiguration" },
2696
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2261
2697
  { "type": "null" }
2262
2698
  ]
2263
2699
  },
@@ -2278,14 +2714,14 @@
2278
2714
  "useFragmentSyntax": {
2279
2715
  "description": "This rule enforces the use of \\<>...\\</> over \\<Fragment>...\\</Fragment>.",
2280
2716
  "anyOf": [
2281
- { "$ref": "#/definitions/RuleConfiguration" },
2717
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2282
2718
  { "type": "null" }
2283
2719
  ]
2284
2720
  },
2285
2721
  "useImportType": {
2286
2722
  "description": "Promotes the use of import type for types.",
2287
2723
  "anyOf": [
2288
- { "$ref": "#/definitions/RuleConfiguration" },
2724
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2289
2725
  { "type": "null" }
2290
2726
  ]
2291
2727
  },
@@ -2299,91 +2735,93 @@
2299
2735
  "useNamingConvention": {
2300
2736
  "description": "Enforce naming conventions for everything across a codebase.",
2301
2737
  "anyOf": [
2302
- { "$ref": "#/definitions/NamingConventionConfiguration" },
2738
+ {
2739
+ "$ref": "#/definitions/RuleFixConfiguration_for_NamingConventionOptions"
2740
+ },
2303
2741
  { "type": "null" }
2304
2742
  ]
2305
2743
  },
2306
2744
  "useNodeAssertStrict": {
2307
2745
  "description": "Promotes the usage of node:assert/strict over node:assert.",
2308
2746
  "anyOf": [
2309
- { "$ref": "#/definitions/RuleConfiguration" },
2747
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2310
2748
  { "type": "null" }
2311
2749
  ]
2312
2750
  },
2313
2751
  "useNodejsImportProtocol": {
2314
2752
  "description": "Enforces using the node: protocol for Node.js builtin modules.",
2315
2753
  "anyOf": [
2316
- { "$ref": "#/definitions/RuleConfiguration" },
2754
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2317
2755
  { "type": "null" }
2318
2756
  ]
2319
2757
  },
2320
2758
  "useNumberNamespace": {
2321
2759
  "description": "Use the Number properties instead of global ones.",
2322
2760
  "anyOf": [
2323
- { "$ref": "#/definitions/RuleConfiguration" },
2761
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2324
2762
  { "type": "null" }
2325
2763
  ]
2326
2764
  },
2327
2765
  "useNumericLiterals": {
2328
2766
  "description": "Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals",
2329
2767
  "anyOf": [
2330
- { "$ref": "#/definitions/RuleConfiguration" },
2768
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2331
2769
  { "type": "null" }
2332
2770
  ]
2333
2771
  },
2334
2772
  "useSelfClosingElements": {
2335
2773
  "description": "Prevent extra closing tags for components without children",
2336
2774
  "anyOf": [
2337
- { "$ref": "#/definitions/RuleConfiguration" },
2775
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2338
2776
  { "type": "null" }
2339
2777
  ]
2340
2778
  },
2341
2779
  "useShorthandArrayType": {
2342
2780
  "description": "When expressing array types, this rule promotes the usage of T\\[] shorthand instead of Array\\<T>.",
2343
2781
  "anyOf": [
2344
- { "$ref": "#/definitions/RuleConfiguration" },
2782
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2345
2783
  { "type": "null" }
2346
2784
  ]
2347
2785
  },
2348
2786
  "useShorthandAssign": {
2349
2787
  "description": "Require assignment operator shorthand where possible.",
2350
2788
  "anyOf": [
2351
- { "$ref": "#/definitions/RuleConfiguration" },
2789
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2352
2790
  { "type": "null" }
2353
2791
  ]
2354
2792
  },
2355
2793
  "useShorthandFunctionType": {
2356
2794
  "description": "Enforce using function types instead of object type with call signatures.",
2357
2795
  "anyOf": [
2358
- { "$ref": "#/definitions/RuleConfiguration" },
2796
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2359
2797
  { "type": "null" }
2360
2798
  ]
2361
2799
  },
2362
2800
  "useSingleCaseStatement": {
2363
2801
  "description": "Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.",
2364
2802
  "anyOf": [
2365
- { "$ref": "#/definitions/RuleConfiguration" },
2803
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2366
2804
  { "type": "null" }
2367
2805
  ]
2368
2806
  },
2369
2807
  "useSingleVarDeclarator": {
2370
2808
  "description": "Disallow multiple variable declarations in the same variable statement",
2371
2809
  "anyOf": [
2372
- { "$ref": "#/definitions/RuleConfiguration" },
2810
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2373
2811
  { "type": "null" }
2374
2812
  ]
2375
2813
  },
2376
2814
  "useTemplate": {
2377
2815
  "description": "Prefer template literals over string concatenation.",
2378
2816
  "anyOf": [
2379
- { "$ref": "#/definitions/RuleConfiguration" },
2817
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2380
2818
  { "type": "null" }
2381
2819
  ]
2382
2820
  },
2383
2821
  "useWhile": {
2384
2822
  "description": "Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.",
2385
2823
  "anyOf": [
2386
- { "$ref": "#/definitions/RuleConfiguration" },
2824
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2387
2825
  { "type": "null" }
2388
2826
  ]
2389
2827
  }
@@ -2401,7 +2839,7 @@
2401
2839
  "noApproximativeNumericConstant": {
2402
2840
  "description": "Use standard constants instead of approximated literals.",
2403
2841
  "anyOf": [
2404
- { "$ref": "#/definitions/RuleConfiguration" },
2842
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2405
2843
  { "type": "null" }
2406
2844
  ]
2407
2845
  },
@@ -2443,14 +2881,14 @@
2443
2881
  "noCommentText": {
2444
2882
  "description": "Prevent comments from being inserted as text nodes",
2445
2883
  "anyOf": [
2446
- { "$ref": "#/definitions/RuleConfiguration" },
2884
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2447
2885
  { "type": "null" }
2448
2886
  ]
2449
2887
  },
2450
2888
  "noCompareNegZero": {
2451
2889
  "description": "Disallow comparing against -0",
2452
2890
  "anyOf": [
2453
- { "$ref": "#/definitions/RuleConfiguration" },
2891
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2454
2892
  { "type": "null" }
2455
2893
  ]
2456
2894
  },
@@ -2464,21 +2902,21 @@
2464
2902
  "noConfusingVoidType": {
2465
2903
  "description": "Disallow void type outside of generic or return types.",
2466
2904
  "anyOf": [
2467
- { "$ref": "#/definitions/RuleConfiguration" },
2905
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2468
2906
  { "type": "null" }
2469
2907
  ]
2470
2908
  },
2471
2909
  "noConsoleLog": {
2472
2910
  "description": "Disallow the use of console.log",
2473
2911
  "anyOf": [
2474
- { "$ref": "#/definitions/RuleConfiguration" },
2912
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2475
2913
  { "type": "null" }
2476
2914
  ]
2477
2915
  },
2478
2916
  "noConstEnum": {
2479
2917
  "description": "Disallow TypeScript const enum",
2480
2918
  "anyOf": [
2481
- { "$ref": "#/definitions/RuleConfiguration" },
2919
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2482
2920
  { "type": "null" }
2483
2921
  ]
2484
2922
  },
@@ -2492,14 +2930,14 @@
2492
2930
  "noDebugger": {
2493
2931
  "description": "Disallow the use of debugger",
2494
2932
  "anyOf": [
2495
- { "$ref": "#/definitions/RuleConfiguration" },
2933
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2496
2934
  { "type": "null" }
2497
2935
  ]
2498
2936
  },
2499
2937
  "noDoubleEquals": {
2500
2938
  "description": "Require the use of === and !==",
2501
2939
  "anyOf": [
2502
- { "$ref": "#/definitions/RuleConfiguration" },
2940
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2503
2941
  { "type": "null" }
2504
2942
  ]
2505
2943
  },
@@ -2527,7 +2965,7 @@
2527
2965
  "noDuplicateObjectKeys": {
2528
2966
  "description": "Prevents object literals having more than one property declaration for the same name.",
2529
2967
  "anyOf": [
2530
- { "$ref": "#/definitions/RuleConfiguration" },
2968
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2531
2969
  { "type": "null" }
2532
2970
  ]
2533
2971
  },
@@ -2555,7 +2993,7 @@
2555
2993
  "noEmptyInterface": {
2556
2994
  "description": "Disallow the declaration of empty interfaces.",
2557
2995
  "anyOf": [
2558
- { "$ref": "#/definitions/RuleConfiguration" },
2996
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2559
2997
  { "type": "null" }
2560
2998
  ]
2561
2999
  },
@@ -2576,7 +3014,7 @@
2576
3014
  "noExtraNonNullAssertion": {
2577
3015
  "description": "Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.",
2578
3016
  "anyOf": [
2579
- { "$ref": "#/definitions/RuleConfiguration" },
3017
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2580
3018
  { "type": "null" }
2581
3019
  ]
2582
3020
  },
@@ -2590,7 +3028,7 @@
2590
3028
  "noFocusedTests": {
2591
3029
  "description": "Disallow focused tests.",
2592
3030
  "anyOf": [
2593
- { "$ref": "#/definitions/RuleConfiguration" },
3031
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2594
3032
  { "type": "null" }
2595
3033
  ]
2596
3034
  },
@@ -2611,14 +3049,14 @@
2611
3049
  "noGlobalIsFinite": {
2612
3050
  "description": "Use Number.isFinite instead of global isFinite.",
2613
3051
  "anyOf": [
2614
- { "$ref": "#/definitions/RuleConfiguration" },
3052
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2615
3053
  { "type": "null" }
2616
3054
  ]
2617
3055
  },
2618
3056
  "noGlobalIsNan": {
2619
3057
  "description": "Use Number.isNaN instead of global isNaN.",
2620
3058
  "anyOf": [
2621
- { "$ref": "#/definitions/RuleConfiguration" },
3059
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2622
3060
  { "type": "null" }
2623
3061
  ]
2624
3062
  },
@@ -2646,7 +3084,7 @@
2646
3084
  "noMisleadingCharacterClass": {
2647
3085
  "description": "Disallow characters made with multiple code points in character class syntax.",
2648
3086
  "anyOf": [
2649
- { "$ref": "#/definitions/RuleConfiguration" },
3087
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2650
3088
  { "type": "null" }
2651
3089
  ]
2652
3090
  },
@@ -2660,7 +3098,7 @@
2660
3098
  "noMisrefactoredShorthandAssign": {
2661
3099
  "description": "Disallow shorthand assign when variable appears on both sides.",
2662
3100
  "anyOf": [
2663
- { "$ref": "#/definitions/RuleConfiguration" },
3101
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2664
3102
  { "type": "null" }
2665
3103
  ]
2666
3104
  },
@@ -2681,7 +3119,7 @@
2681
3119
  "noRedundantUseStrict": {
2682
3120
  "description": "Prevents from having redundant \"use strict\".",
2683
3121
  "anyOf": [
2684
- { "$ref": "#/definitions/RuleConfiguration" },
3122
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2685
3123
  { "type": "null" }
2686
3124
  ]
2687
3125
  },
@@ -2702,14 +3140,14 @@
2702
3140
  "noSkippedTests": {
2703
3141
  "description": "Disallow disabled tests.",
2704
3142
  "anyOf": [
2705
- { "$ref": "#/definitions/RuleConfiguration" },
3143
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2706
3144
  { "type": "null" }
2707
3145
  ]
2708
3146
  },
2709
3147
  "noSparseArray": {
2710
3148
  "description": "Disallow sparse arrays",
2711
3149
  "anyOf": [
2712
- { "$ref": "#/definitions/RuleConfiguration" },
3150
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2713
3151
  { "type": "null" }
2714
3152
  ]
2715
3153
  },
@@ -2737,7 +3175,7 @@
2737
3175
  "noUnsafeNegation": {
2738
3176
  "description": "Disallow using unsafe negation.",
2739
3177
  "anyOf": [
2740
- { "$ref": "#/definitions/RuleConfiguration" },
3178
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2741
3179
  { "type": "null" }
2742
3180
  ]
2743
3181
  },
@@ -2769,28 +3207,28 @@
2769
3207
  "useIsArray": {
2770
3208
  "description": "Use Array.isArray() instead of instanceof Array.",
2771
3209
  "anyOf": [
2772
- { "$ref": "#/definitions/RuleConfiguration" },
3210
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2773
3211
  { "type": "null" }
2774
3212
  ]
2775
3213
  },
2776
3214
  "useNamespaceKeyword": {
2777
3215
  "description": "Require using the namespace keyword over the module keyword to declare TypeScript namespaces.",
2778
3216
  "anyOf": [
2779
- { "$ref": "#/definitions/RuleConfiguration" },
3217
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2780
3218
  { "type": "null" }
2781
3219
  ]
2782
3220
  },
2783
3221
  "useValidTypeof": {
2784
3222
  "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",
2785
3223
  "anyOf": [
2786
- { "$ref": "#/definitions/RuleConfiguration" },
3224
+ { "$ref": "#/definitions/RuleFixConfiguration_for_Null" },
2787
3225
  { "type": "null" }
2788
3226
  ]
2789
3227
  }
2790
3228
  },
2791
3229
  "additionalProperties": false
2792
3230
  },
2793
- "TrailingComma": {
3231
+ "TrailingCommas": {
2794
3232
  "description": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures.",
2795
3233
  "oneOf": [
2796
3234
  {
@@ -2810,7 +3248,7 @@
2810
3248
  }
2811
3249
  ]
2812
3250
  },
2813
- "TrailingCommas": {
3251
+ "TrailingCommas2": {
2814
3252
  "oneOf": [
2815
3253
  {
2816
3254
  "description": "The formatter will remove the trailing commas",
@@ -2824,12 +3262,6 @@
2824
3262
  }
2825
3263
  ]
2826
3264
  },
2827
- "UtilityClassSortingConfiguration": {
2828
- "anyOf": [
2829
- { "$ref": "#/definitions/RulePlainConfiguration" },
2830
- { "$ref": "#/definitions/RuleWithUtilityClassSortingOptions" }
2831
- ]
2832
- },
2833
3265
  "UtilityClassSortingOptions": {
2834
3266
  "type": "object",
2835
3267
  "properties": {
@@ -2846,12 +3278,6 @@
2846
3278
  },
2847
3279
  "additionalProperties": false
2848
3280
  },
2849
- "ValidAriaRoleConfiguration": {
2850
- "anyOf": [
2851
- { "$ref": "#/definitions/RulePlainConfiguration" },
2852
- { "$ref": "#/definitions/RuleWithValidAriaRoleOptions" }
2853
- ]
2854
- },
2855
3281
  "ValidAriaRoleOptions": {
2856
3282
  "type": "object",
2857
3283
  "required": ["allowInvalidRoles", "ignoreNonDom"],