@pobammer-ts/small-rules 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -36,6 +36,9 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
36
36
  readonly additionalProperties: false;
37
37
  readonly properties: {
38
38
  readonly bannedTypes: {
39
+ readonly default: {
40
+ readonly Omit: "Except";
41
+ };
39
42
  readonly description: "Array of banned type names or an object mapping banned type names to preferred replacement names.";
40
43
  readonly oneOf: readonly [{
41
44
  readonly items: {
@@ -52,11 +55,47 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
52
55
  };
53
56
  readonly type: "object";
54
57
  }], "bannedType" | "bannedTypeWithReplacement", undefined>;
58
+ "consistent-compound-words": import("oxlint-plugin-utilities").CreateRule<readonly [{
59
+ readonly additionalProperties: false;
60
+ readonly properties: {
61
+ readonly allowList: {
62
+ readonly additionalProperties: {
63
+ readonly enum: readonly [true];
64
+ };
65
+ readonly type: "object";
66
+ };
67
+ readonly checkProperties: {
68
+ readonly type: "boolean";
69
+ };
70
+ readonly checkShorthandProperties: {
71
+ readonly type: "boolean";
72
+ };
73
+ readonly checkVariables: {
74
+ readonly type: "boolean";
75
+ };
76
+ readonly extendDefaultReplacements: {
77
+ readonly type: "boolean";
78
+ };
79
+ readonly replacements: {
80
+ readonly additionalProperties: {
81
+ readonly anyOf: readonly [{
82
+ readonly enum: readonly [false];
83
+ }, {
84
+ readonly minLength: 1;
85
+ readonly type: "string";
86
+ }];
87
+ };
88
+ readonly type: "object";
89
+ };
90
+ };
91
+ readonly type: "object";
92
+ }], "error" | "rename", undefined>;
55
93
  "directive-disable-enable-pair": import("oxlint-plugin-utilities").CreateRule<readonly [{
56
94
  readonly additionalProperties: false;
57
95
  readonly properties: {
58
- allowWholeFile: {
59
- type: "boolean";
96
+ readonly allowWholeFile: {
97
+ readonly description: "Allow a disable directive that covers the entire file.";
98
+ readonly type: "boolean";
60
99
  };
61
100
  };
62
101
  readonly type: "object";
@@ -76,6 +115,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
76
115
  readonly additionalProperties: false;
77
116
  readonly properties: {
78
117
  readonly allow: {
118
+ readonly description: "Directive kinds that are still allowed in block comments.";
79
119
  readonly items: {
80
120
  type: "string";
81
121
  };
@@ -89,6 +129,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
89
129
  readonly additionalProperties: false;
90
130
  readonly properties: {
91
131
  readonly ignore: {
132
+ readonly description: "Directive kinds that do not require a description.";
92
133
  readonly items: {
93
134
  type: "string";
94
135
  };
@@ -102,27 +143,73 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
102
143
  readonly additionalProperties: false;
103
144
  readonly properties: {
104
145
  readonly baseThreshold: {
146
+ readonly default: number;
147
+ readonly description: "Minimum complexity score before missing Ianitor.Check<T> annotations are reported.";
105
148
  readonly minimum: 1;
106
149
  readonly type: "number";
107
150
  };
108
151
  readonly errorThreshold: {
152
+ readonly default: number;
153
+ readonly description: "Complexity score used to cap recursive analysis before reporting is determined.";
109
154
  readonly minimum: 1;
110
155
  readonly type: "number";
111
156
  };
112
157
  readonly interfacePenalty: {
158
+ readonly default: number;
159
+ readonly description: "Complexity penalty applied when an Ianitor validator builds an interface-like shape.";
113
160
  readonly minimum: 1;
114
161
  readonly type: "number";
115
162
  };
116
163
  readonly performanceMode: {
164
+ readonly default: boolean;
165
+ readonly description: "Whether repeated type nodes are cached during complexity analysis.";
117
166
  readonly type: "boolean";
118
167
  };
119
- readonly warnThreshold: {
120
- readonly minimum: 1;
121
- readonly type: "number";
122
- };
123
168
  };
124
169
  readonly type: "object";
125
170
  }], "complexInterfaceNeedsCheck" | "missingIanitorCheckType", undefined>;
171
+ "isolated-functions": import("oxlint-plugin-utilities").CreateRule<readonly [{
172
+ readonly additionalProperties: false;
173
+ readonly properties: {
174
+ readonly comments: {
175
+ readonly description: "Comment patterns that mark a function as isolated.";
176
+ readonly items: {
177
+ readonly type: "string";
178
+ };
179
+ readonly type: "array";
180
+ readonly uniqueItems: true;
181
+ };
182
+ readonly functions: {
183
+ readonly description: "Function names that mark argument callbacks as isolated.";
184
+ readonly items: {
185
+ readonly type: "string";
186
+ };
187
+ readonly type: "array";
188
+ readonly uniqueItems: true;
189
+ };
190
+ readonly overrideGlobals: {
191
+ readonly additionalProperties: {
192
+ readonly anyOf: readonly [{
193
+ readonly type: "boolean";
194
+ }, {
195
+ readonly enum: readonly ["off", "readonly", "writable", "writeable"];
196
+ readonly type: "string";
197
+ }];
198
+ };
199
+ readonly description: "Override which global variables are allowed inside isolated scopes.";
200
+ readonly type: "object";
201
+ };
202
+ readonly selectors: {
203
+ readonly description: "AST selectors that mark matched function nodes as isolated.";
204
+ readonly items: {
205
+ readonly type: "string";
206
+ };
207
+ readonly type: "array";
208
+ readonly uniqueItems: true;
209
+ };
210
+ };
211
+ readonly type: "object";
212
+ }], "externallyScopedVariable" | "super" | "thisExpression", undefined>;
126
213
  "memoized-effect-dependencies": import("oxlint-plugin-utilities").CreateRule<readonly [{
127
214
  readonly additionalProperties: false;
128
215
  readonly properties: {
@@ -133,7 +220,11 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
133
220
  readonly type: "string";
134
221
  };
135
222
  readonly hooks: {
136
- readonly description: "Array of effect hook entries to check for memoized dependencies";
223
+ readonly default: {
224
+ dependenciesIndex: number;
225
+ name: string;
226
+ }[];
227
+ readonly description: "Effect hooks checked by default; configured entries are added to this set.";
137
228
  readonly items: {
138
229
  readonly additionalProperties: false;
139
230
  readonly properties: {
@@ -183,6 +274,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
183
274
  readonly properties: {
184
275
  readonly allowAutofix: {
185
276
  readonly default: false;
277
+ readonly description: "Allow the fixer to replace safe append assignments with array.push(value).";
186
278
  readonly type: "boolean";
187
279
  };
188
280
  readonly environment: {
@@ -238,6 +330,32 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
238
330
  };
239
331
  readonly type: "array";
240
332
  };
333
+ readonly synchronousCallbacks: {
334
+ readonly items: {
335
+ readonly additionalProperties: false;
336
+ readonly properties: {
337
+ readonly callbackArgumentIndexes: {
338
+ readonly items: {
339
+ readonly minimum: 0;
340
+ readonly type: "integer";
341
+ };
342
+ readonly minItems: 1;
343
+ readonly type: "array";
344
+ readonly uniqueItems: true;
345
+ };
346
+ readonly calleePath: {
347
+ readonly items: {
348
+ readonly type: "string";
349
+ };
350
+ readonly minItems: 1;
351
+ readonly type: "array";
352
+ };
353
+ };
354
+ readonly required: readonly ["callbackArgumentIndexes", "calleePath"];
355
+ readonly type: "object";
356
+ };
357
+ readonly type: "array";
358
+ };
241
359
  };
242
360
  readonly type: "object";
243
361
  }], "noAsyncInSystem", undefined>;
@@ -247,6 +365,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
247
365
  readonly properties: {
248
366
  readonly reportUnknownComponents: {
249
367
  readonly default: true;
368
+ readonly description: "Report new Color3(...) calls when one or more components are not numeric literals.";
250
369
  readonly type: "boolean";
251
370
  };
252
371
  };
@@ -267,6 +386,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
267
386
  readonly additionalProperties: false;
268
387
  readonly properties: {
269
388
  readonly loopExitCalls: {
389
+ readonly description: "Call expressions that count as intentional loop exits inside constant loops.";
270
390
  readonly items: {
271
391
  readonly minLength: 1;
272
392
  readonly type: "string";
@@ -276,11 +396,13 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
276
396
  };
277
397
  readonly type: "object";
278
398
  }], "unexpected", undefined>;
399
+ "no-dead-store": import("oxlint-plugin-utilities").CreateRule<readonly [], "deadStore", undefined>;
279
400
  "no-error": import("oxlint-plugin-utilities").CreateRule<readonly [], "noError", readonly []>;
280
401
  "no-events-in-events-callback": import("oxlint-plugin-utilities").CreateRule<readonly [{
281
402
  readonly additionalProperties: false;
282
403
  readonly properties: {
283
404
  readonly eventsImportPaths: {
405
+ readonly description: "Import paths that identify Events objects whose callbacks should be checked.";
284
406
  readonly items: {
285
407
  readonly minLength: 1;
286
408
  readonly type: "string";
@@ -291,6 +413,8 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
291
413
  readonly required: readonly ["eventsImportPaths"];
292
414
  readonly type: "object";
293
415
  }], "preferFunctions", undefined>;
416
+ "no-filter-map-chain": import("oxlint-plugin-utilities").CreateRule<readonly [], "avoidFilterMapChain", undefined>;
417
+ "no-floating-point-equality": import("oxlint-plugin-utilities").CreateRule<readonly [], "exactFloatComparison", undefined>;
294
418
  "no-giant-component": import("oxlint-plugin-utilities").CreateRule<undefined, "giantComponent", undefined>;
295
419
  "no-god-components": import("oxlint-plugin-utilities").CreateRule<readonly [{
296
420
  readonly additionalProperties: false;
@@ -301,6 +425,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
301
425
  readonly type: "boolean";
302
426
  };
303
427
  readonly ignoreComponents: {
428
+ readonly default: readonly [];
304
429
  readonly description: "Component names to ignore.";
305
430
  readonly items: {
306
431
  readonly type: "string";
@@ -364,6 +489,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
364
489
  readonly properties: {
365
490
  readonly allowAutofix: {
366
491
  readonly default: false;
492
+ readonly description: "Allow the fixer to replace standalone ++ and -- statements and for-loop updates.";
367
493
  readonly type: "boolean";
368
494
  };
369
495
  };
@@ -391,11 +517,13 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
391
517
  };
392
518
  readonly type: "object";
393
519
  }], "noInstanceMethodWithoutThis", undefined>;
520
+ "no-loop-iterable-mutation": import("oxlint-plugin-utilities").CreateRule<readonly [], "noLoopIterableMutation", undefined>;
394
521
  "no-native-properties-spread": import("oxlint-plugin-utilities").CreateRule<readonly [], "noElementSpread" | "noNativePropertiesSpread", undefined>;
395
522
  "no-new-instance-in-use-memo": import("oxlint-plugin-utilities").CreateRule<readonly [{
396
523
  readonly additionalProperties: false;
397
524
  readonly properties: {
398
525
  readonly constructors: {
526
+ readonly default: readonly string[];
399
527
  readonly description: "Constructor identifiers that should be disallowed inside useMemo callbacks.";
400
528
  readonly items: {
401
529
  readonly type: "string";
@@ -470,6 +598,8 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
470
598
  readonly additionalProperties: false;
471
599
  readonly properties: {
472
600
  environment: {
601
+ default: string;
602
+ description: string;
473
603
  enum: readonly ["roblox-ts", "standard"];
474
604
  type: string;
475
605
  };
@@ -478,7 +608,8 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
478
608
  }], "useJsx", undefined>;
479
609
  "no-table-create-map": import("oxlint-plugin-utilities").CreateRule<readonly [], "avoidConstructThenMap", undefined>;
480
610
  "no-task-wait": import("oxlint-plugin-utilities").CreateOnceRule<readonly [], "noPromiseDelayAwait" | "noTaskWait", undefined>;
481
- "no-underscore-react-props": import("oxlint-plugin-utilities").CreateOnceRule<readonly [], "noUnderscoreReactProp", undefined>;
611
+ "no-trivial-assertions": import("oxlint-plugin-utilities").CreateRule<readonly [], "freshIdentity" | "freshPredicate" | "issue", undefined>;
612
+ "no-underscore-react-props": import("oxlint-plugin-utilities").CreateOnceRule<readonly [], "noUnderscoreReactProperty", undefined>;
482
613
  "no-unused-imports": import("oxlint-plugin-utilities").CreateRule<readonly [{
483
614
  readonly additionalProperties: false;
484
615
  readonly properties: {
@@ -495,6 +626,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
495
626
  readonly properties: {
496
627
  readonly environment: {
497
628
  readonly default: "roblox-ts";
629
+ readonly description: "The React environment: 'roblox-ts' uses @rbxts/react, 'standard' uses react.";
498
630
  readonly enum: readonly ["roblox-ts", "standard"];
499
631
  readonly type: "string";
500
632
  };
@@ -502,11 +634,13 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
502
634
  readonly type: "object";
503
635
  }], "unusedUseMemo", undefined>;
504
636
  "no-use-memo-simple-expression": import("oxlint-plugin-utilities").CreateRule<undefined, "simpleMemo", undefined>;
637
+ "no-use-of-empty-return-value": import("oxlint-plugin-utilities").CreateRule<readonly [], "removeUseOfOutput", undefined>;
505
638
  "no-useless-constants": import("oxlint-plugin-utilities").CreateRule<readonly [{
506
639
  readonly additionalProperties: false;
507
640
  readonly properties: {
508
641
  readonly ignoreCallPatterns: {
509
642
  readonly default: readonly string[];
643
+ readonly description: "Regular expression patterns for call expressions that should be ignored.";
510
644
  readonly items: {
511
645
  readonly type: "string";
512
646
  };
@@ -527,6 +661,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
527
661
  };
528
662
  readonly hooks: {
529
663
  readonly default: readonly ["useEffect", "useLayoutEffect", "useInsertionEffect"];
664
+ readonly description: "Effect hook names checked for avoidable effect patterns.";
530
665
  readonly items: {
531
666
  readonly type: "string";
532
667
  };
@@ -534,6 +669,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
534
669
  };
535
670
  readonly propertyCallbackPrefixes: {
536
671
  readonly default: readonly ["on"];
672
+ readonly description: "Property name prefixes treated as event callback props.";
537
673
  readonly items: {
538
674
  readonly type: "string";
539
675
  };
@@ -549,58 +685,72 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
549
685
  };
550
686
  readonly reportAdjustState: {
551
687
  readonly default: true;
688
+ readonly description: "Report effects that only adjust state after render.";
552
689
  readonly type: "boolean";
553
690
  };
554
691
  readonly reportDerivedState: {
555
692
  readonly default: true;
693
+ readonly description: "Report effects that copy derived values into state.";
556
694
  readonly type: "boolean";
557
695
  };
558
696
  readonly reportDuplicateDeps: {
559
697
  readonly default: true;
698
+ readonly description: "Report duplicate entries in effect dependency arrays.";
560
699
  readonly type: "boolean";
561
700
  };
562
701
  readonly reportEffectChain: {
563
702
  readonly default: true;
703
+ readonly description: "Report effects that only trigger another effect through state.";
564
704
  readonly type: "boolean";
565
705
  };
566
706
  readonly reportEmptyEffect: {
567
707
  readonly default: true;
708
+ readonly description: "Report effects whose callback body is empty.";
568
709
  readonly type: "boolean";
569
710
  };
570
711
  readonly reportEventFlag: {
571
712
  readonly default: true;
713
+ readonly description: "Report effects that react to event flags stored in state.";
572
714
  readonly type: "boolean";
573
715
  };
574
716
  readonly reportEventSpecificLogic: {
575
717
  readonly default: true;
718
+ readonly description: "Report effects that move event-specific logic out of the event callback.";
576
719
  readonly type: "boolean";
577
720
  };
578
721
  readonly reportExternalStore: {
579
722
  readonly default: true;
723
+ readonly description: "Report effects that mirror external store values into local state.";
580
724
  readonly type: "boolean";
581
725
  };
582
726
  readonly reportInitializeState: {
583
727
  readonly default: true;
728
+ readonly description: "Report effects that only initialize state after mount.";
584
729
  readonly type: "boolean";
585
730
  };
586
731
  readonly reportLogOnly: {
587
732
  readonly default: true;
733
+ readonly description: "Report effects that only log values.";
588
734
  readonly type: "boolean";
589
735
  };
590
736
  readonly reportMixedDerivedState: {
591
737
  readonly default: true;
738
+ readonly description: "Report effects that mix derived-state updates with other work.";
592
739
  readonly type: "boolean";
593
740
  };
594
741
  readonly reportNotifyParent: {
595
742
  readonly default: true;
743
+ readonly description: "Report effects that only notify a parent through a callback prop.";
596
744
  readonly type: "boolean";
597
745
  };
598
746
  readonly reportPassRefToParent: {
599
747
  readonly default: true;
748
+ readonly description: "Report effects that only pass a ref value to a parent callback.";
600
749
  readonly type: "boolean";
601
750
  };
602
751
  readonly reportResetState: {
603
752
  readonly default: true;
753
+ readonly description: "Report effects that reset local state when inputs change.";
604
754
  readonly type: "boolean";
605
755
  };
606
756
  readonly stateHooks: {
@@ -619,15 +769,19 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
619
769
  readonly properties: {
620
770
  readonly dependencyMode: {
621
771
  readonly default: "non-updating";
772
+ readonly description: "Dependency-array mode used to decide whether a memoized value is static.";
622
773
  readonly enum: readonly ["empty-or-omitted", "non-updating", "aggressive"];
623
774
  readonly type: "string";
624
775
  };
625
776
  readonly environment: {
626
777
  readonly default: "roblox-ts";
778
+ readonly description: "The React environment: 'roblox-ts' uses @rbxts/react, 'standard' uses react.";
627
779
  readonly enum: readonly ["roblox-ts", "standard"];
628
780
  readonly type: "string";
629
781
  };
630
782
  readonly staticGlobalFactories: {
783
+ readonly default: readonly string[];
784
+ readonly description: "Global constructors and factories whose calls are treated as static values.";
631
785
  readonly items: {
632
786
  readonly type: "string";
633
787
  };
@@ -639,11 +793,13 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
639
793
  "no-useless-use-spring": import("oxlint-plugin-utilities").CreateRule<readonly [{
640
794
  readonly additionalProperties: false;
641
795
  readonly default: {
796
+ readonly springHooks: readonly string[];
642
797
  readonly staticGlobalFactories: readonly string[];
643
798
  readonly treatEmptyDepsAsViolation: true;
644
799
  };
645
800
  readonly properties: {
646
801
  readonly springHooks: {
802
+ readonly default: readonly string[];
647
803
  readonly description: "Hook identifiers that should be treated as spring hooks";
648
804
  readonly items: {
649
805
  readonly type: "string";
@@ -666,6 +822,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
666
822
  };
667
823
  readonly type: "object";
668
824
  }], "uselessSpring", undefined>;
825
+ "no-variadic-spread": import("oxlint-plugin-utilities").CreateOnceRule<readonly [], "noVariadicSpread", undefined>;
669
826
  "no-warn": import("oxlint-plugin-utilities").CreateRule<readonly [], "noWarn", readonly []>;
670
827
  "only-type-imports": import("oxlint-plugin-utilities").CreateRule<readonly [], "onlyTypeImports", undefined>;
671
828
  "prefer-class-properties": import("oxlint-plugin-utilities").CreateRule<readonly [{
@@ -674,11 +831,31 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
674
831
  }], "unexpectedAssignment" | "unexpectedClassProperty", undefined>;
675
832
  "prefer-constant-dispatch": import("oxlint-plugin-utilities").CreateRule<readonly [], "preferConstantDispatch", undefined>;
676
833
  "prefer-context-stack": import("oxlint-plugin-utilities").CreateRule<readonly [], "preferContextStack", undefined>;
834
+ "prefer-direct-hook-imports": import("oxlint-plugin-utilities").CreateRule<readonly [{
835
+ readonly additionalProperties: false;
836
+ readonly properties: {
837
+ readonly allowedHooks: {
838
+ readonly description: "Hook names that are allowed to be called via React namespace.";
839
+ readonly items: {
840
+ readonly type: "string";
841
+ };
842
+ readonly type: "array";
843
+ };
844
+ readonly environment: {
845
+ default: string;
846
+ description: string;
847
+ enum: readonly ["roblox-ts", "standard"];
848
+ type: string;
849
+ };
850
+ };
851
+ readonly type: "object";
852
+ }], "preferDirectHookImport", undefined>;
677
853
  "prefer-early-return": import("oxlint-plugin-utilities").CreateRule<readonly [{
678
854
  readonly additionalProperties: false;
679
855
  readonly properties: {
680
856
  readonly maximumStatements: {
681
857
  readonly default: 1;
858
+ readonly description: "Maximum allowed statement count inside the guarded branch before reporting.";
682
859
  readonly minimum: 0;
683
860
  readonly type: "number";
684
861
  };
@@ -689,24 +866,34 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
689
866
  readonly additionalProperties: false;
690
867
  readonly properties: {
691
868
  readonly additionalAssertionFunctions: {
869
+ readonly default: readonly [];
870
+ readonly description: "Additional assertion function names counted as test assertions.";
692
871
  readonly items: {
693
872
  readonly type: "string";
694
873
  };
695
874
  readonly type: "array";
696
875
  };
697
876
  readonly additionalExpectCallNames: {
877
+ readonly default: readonly [];
878
+ readonly description: "Additional expect-like call names counted when checking assertion counts.";
698
879
  readonly items: {
699
880
  readonly type: "string";
700
881
  };
701
882
  readonly type: "array";
702
883
  };
703
884
  readonly onlyFunctionsWithAsyncKeyword: {
885
+ readonly default: false;
886
+ readonly description: "Only require assertion guards for test callbacks marked async.";
704
887
  readonly type: "boolean";
705
888
  };
706
889
  readonly onlyFunctionsWithExpectInCallback: {
890
+ readonly default: false;
891
+ readonly description: "Only require assertion guards when expect is called inside a nested callback.";
707
892
  readonly type: "boolean";
708
893
  };
709
894
  readonly onlyFunctionsWithExpectInLoop: {
895
+ readonly default: false;
896
+ readonly description: "Only require assertion guards when expect is called inside a loop.";
710
897
  readonly type: "boolean";
711
898
  };
712
899
  };
@@ -729,6 +916,12 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
729
916
  };
730
917
  readonly type: "array";
731
918
  };
919
+ readonly environment: {
920
+ default: string;
921
+ description: string;
922
+ enum: readonly ["roblox-ts", "standard"];
923
+ type: string;
924
+ };
732
925
  };
733
926
  readonly type: "object";
734
927
  }], "hoistableJsxElement", undefined>;
@@ -753,49 +946,70 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
753
946
  readonly additionalProperties: {
754
947
  readonly type: "boolean";
755
948
  };
949
+ readonly default: Record<string, boolean>;
950
+ readonly defaultLabel: "default allow list";
951
+ readonly description: "Names that should be allowed even when they match a discouraged abbreviation.";
756
952
  readonly type: "object";
757
953
  };
758
954
  readonly allowPropertyAccess: {
955
+ readonly default: string[];
956
+ readonly description: "Property names that may keep abbreviated member access.";
759
957
  readonly items: {
760
958
  readonly type: "string";
761
959
  };
762
960
  readonly type: "array";
763
961
  };
764
962
  readonly checkDefaultAndNamespaceImports: {
963
+ readonly default: "internal";
964
+ readonly description: "Whether default and namespace import local names should be checked.";
765
965
  readonly enum: readonly [false, true, "internal"];
766
966
  };
767
967
  readonly checkFilenames: {
968
+ readonly default: true;
969
+ readonly description: "Whether file names should be checked for abbreviations.";
768
970
  readonly type: "boolean";
769
971
  };
770
972
  readonly checkProperties: {
973
+ readonly default: false;
974
+ readonly description: "Whether object, member, and JSX property names should be checked.";
771
975
  readonly type: "boolean";
772
976
  };
773
977
  readonly checkShorthandImports: {
978
+ readonly default: "internal";
979
+ readonly description: "Whether renamed shorthand imports should be checked.";
774
980
  readonly enum: readonly [false, true, "internal"];
775
981
  };
776
982
  readonly checkShorthandProperties: {
983
+ readonly default: true;
984
+ readonly description: "Whether shorthand object property names should be checked.";
777
985
  readonly type: "boolean";
778
986
  };
779
987
  readonly checkVariables: {
988
+ readonly default: true;
989
+ readonly description: "Whether variable, function, class, and component names should be checked.";
780
990
  readonly type: "boolean";
781
991
  };
782
992
  readonly extendDefaultAllowList: {
993
+ readonly default: true;
994
+ readonly description: "Merge configured allowList entries with the default allow list.";
783
995
  readonly type: "boolean";
784
996
  };
785
997
  readonly extendDefaultReplacements: {
998
+ readonly default: true;
999
+ readonly description: "Merge configured replacements with the default replacement map.";
786
1000
  readonly type: "boolean";
787
1001
  };
788
1002
  readonly ignore: {
1003
+ readonly default: string[];
1004
+ readonly description: "Names or regular expression patterns that should be ignored.";
789
1005
  readonly items: {
790
- readonly oneOf: readonly [{
791
- readonly type: "object";
792
- }, {
793
- readonly type: "string";
794
- }];
1006
+ readonly type: "string";
795
1007
  };
796
1008
  readonly type: "array";
797
1009
  };
798
1010
  readonly ignoreShorthands: {
1011
+ readonly default: readonly [];
1012
+ readonly description: "Shorthand names that should not be reported.";
799
1013
  readonly items: {
800
1014
  readonly type: "string";
801
1015
  };
@@ -812,12 +1026,18 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
812
1026
  readonly type: "object";
813
1027
  }];
814
1028
  };
1029
+ readonly default: Record<string, Record<string, boolean>>;
1030
+ readonly defaultLabel: "default replacement map";
1031
+ readonly description: "Replacement suggestions for discouraged names.";
815
1032
  readonly type: "object";
816
1033
  };
817
1034
  readonly shorthands: {
818
1035
  readonly additionalProperties: {
819
1036
  readonly type: "string";
820
1037
  };
1038
+ readonly default: Record<string, string>;
1039
+ readonly defaultLabel: "default shorthands";
1040
+ readonly description: "Shorthand names and the full names they should expand to.";
821
1041
  readonly type: "object";
822
1042
  };
823
1043
  };
@@ -843,6 +1063,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
843
1063
  readonly additionalProperties: {
844
1064
  readonly type: "string";
845
1065
  };
1066
+ readonly description: "Class names mapped to the import source that must be instantiated at module scope.";
846
1067
  readonly type: "object";
847
1068
  };
848
1069
  };
@@ -858,7 +1079,17 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
858
1079
  readonly type: "string";
859
1080
  };
860
1081
  readonly hooks: {
861
- readonly description: "Array of hook configuration objects with name and allowAsync settings";
1082
+ readonly default: readonly [{
1083
+ readonly allowAsync: false;
1084
+ readonly name: "useEffect";
1085
+ }, {
1086
+ readonly allowAsync: false;
1087
+ readonly name: "useLayoutEffect";
1088
+ }, {
1089
+ readonly allowAsync: false;
1090
+ readonly name: "useInsertionEffect";
1091
+ }];
1092
+ readonly description: "Hook configuration objects with name and allowAsync settings.";
862
1093
  readonly items: {
863
1094
  readonly additionalProperties: false;
864
1095
  readonly properties: {
@@ -884,18 +1115,29 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
884
1115
  readonly properties: {
885
1116
  readonly allowConditionalClosers: {
886
1117
  readonly default: false;
1118
+ readonly description: "Allow closer calls that appear only on some conditional paths.";
887
1119
  readonly type: "boolean";
888
1120
  };
889
1121
  readonly allowMultipleOpeners: {
890
1122
  readonly default: true;
1123
+ readonly description: "Allow repeated opener calls before matching closer calls.";
891
1124
  readonly type: "boolean";
892
1125
  };
893
1126
  readonly maxNestingDepth: {
894
1127
  readonly default: 0;
1128
+ readonly description: "Maximum opener nesting depth before reporting; 0 disables the limit.";
895
1129
  readonly minimum: 0;
896
1130
  readonly type: "number";
897
1131
  };
898
1132
  readonly pairs: {
1133
+ readonly default: readonly [{
1134
+ readonly closer: "debug.profileend";
1135
+ readonly opener: "debug.profilebegin";
1136
+ readonly platform: "roblox";
1137
+ readonly requireSync: true;
1138
+ readonly yieldingFunctions: readonly ["task.wait", "wait", "*.WaitForChild", "*.*Async"];
1139
+ }];
1140
+ readonly description: "Opener and closer call pairs that must stay balanced.";
899
1141
  readonly items: {
900
1142
  readonly additionalProperties: false;
901
1143
  readonly properties: {
@@ -953,7 +1195,6 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
953
1195
  readonly type: "array";
954
1196
  };
955
1197
  };
956
- readonly required: readonly ["pairs"];
957
1198
  readonly type: "object";
958
1199
  }], "asyncViolation" | "conditionalOpener" | "maxNestingExceeded" | "multipleOpeners" | "robloxYieldViolation" | "unexpectedCloser" | "unpairedCloser" | "unpairedOpener" | "wrongOrder", undefined>;
959
1200
  "require-react-component-keys": import("oxlint-plugin-utilities").CreateRule<readonly [{
@@ -965,7 +1206,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
965
1206
  readonly type: "boolean";
966
1207
  };
967
1208
  readonly ignoreCallExpressions: {
968
- readonly default: readonly ["ReactTree.mount"];
1209
+ readonly default: readonly string[];
969
1210
  readonly description: "Function calls where JSX arguments don't need keys";
970
1211
  readonly items: {
971
1212
  readonly type: "string";
@@ -995,6 +1236,8 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
995
1236
  readonly additionalProperties: false;
996
1237
  readonly properties: {
997
1238
  environment: {
1239
+ default: string;
1240
+ description: string;
998
1241
  enum: readonly ["roblox-ts", "standard"];
999
1242
  type: string;
1000
1243
  };
@@ -1006,6 +1249,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
1006
1249
  readonly properties: {
1007
1250
  readonly metric: {
1008
1251
  readonly default: "lines";
1252
+ readonly description: "Whether to report cases by line span or by statement count.";
1009
1253
  readonly enum: readonly ["lines", "statements"];
1010
1254
  readonly type: "string";
1011
1255
  };
@@ -1063,12 +1307,16 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
1063
1307
  readonly additionalProperties: false;
1064
1308
  readonly properties: {
1065
1309
  readonly allow: {
1310
+ readonly default: readonly [];
1311
+ readonly description: "Regular expression patterns for imports allowed to cross component boundaries.";
1066
1312
  readonly items: {
1067
1313
  readonly type: "string";
1068
1314
  };
1069
1315
  readonly type: "array";
1070
1316
  };
1071
1317
  readonly maxDepth: {
1318
+ readonly default: 1;
1319
+ readonly description: "Maximum path depth allowed inside another component before reporting.";
1072
1320
  readonly type: "integer";
1073
1321
  };
1074
1322
  };
@@ -1078,6 +1326,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
1078
1326
  readonly additionalProperties: false;
1079
1327
  readonly properties: {
1080
1328
  readonly hooks: {
1329
+ readonly default: readonly [];
1081
1330
  readonly description: "Array of custom hook entries to check for exhaustive dependencies";
1082
1331
  readonly items: {
1083
1332
  readonly additionalProperties: false;
@@ -1145,6 +1394,7 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
1145
1394
  readonly additionalProperties: false;
1146
1395
  readonly properties: {
1147
1396
  readonly ignoreHooks: {
1397
+ readonly description: "Hook names that should be ignored even when they match the hook naming pattern.";
1148
1398
  readonly items: {
1149
1399
  readonly type: "string";
1150
1400
  };
@@ -1154,9 +1404,11 @@ declare const smallRules: import("oxlint-plugin-utilities").Plugin<{
1154
1404
  readonly additionalProperties: {
1155
1405
  readonly type: "boolean";
1156
1406
  };
1407
+ readonly description: "Import sources or namespace names mapped to whether their hooks should be checked.";
1157
1408
  readonly type: "object";
1158
1409
  };
1159
1410
  readonly onlyHooks: {
1411
+ readonly description: "If set, only these hook names are checked.";
1160
1412
  readonly items: {
1161
1413
  readonly type: "string";
1162
1414
  };