@isentinel/eslint-config 6.2.0 → 6.4.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/README.md +29 -19
- package/dist/cli.mjs +6 -6
- package/dist/index.d.mts +946 -162
- package/dist/index.mjs +784 -490
- package/dist/lint-cli.mjs +64 -54
- package/dist/oxfmt.mjs +61 -22
- package/dist/oxlint.d.mts +1007 -97
- package/dist/oxlint.mjs +236 -136
- package/package.json +16 -16
package/dist/oxlint.d.mts
CHANGED
|
@@ -386,14 +386,6 @@ interface OxlintMainRuleDefaults {
|
|
|
386
386
|
"eslint-js/dot-notation": {
|
|
387
387
|
"*": "off";
|
|
388
388
|
};
|
|
389
|
-
"eslint-js/id-length": {
|
|
390
|
-
"*": ["error", {
|
|
391
|
-
"exceptions": ["_", "x", "y", "z", "a", "b", "e"];
|
|
392
|
-
"max": 30;
|
|
393
|
-
"min": 2;
|
|
394
|
-
"properties": "never";
|
|
395
|
-
}];
|
|
396
|
-
};
|
|
397
389
|
"eslint-js/no-dupe-args": {
|
|
398
390
|
"*": "off";
|
|
399
391
|
};
|
|
@@ -417,6 +409,11 @@ interface OxlintMainRuleDefaults {
|
|
|
417
409
|
"severityOnly": "error";
|
|
418
410
|
};
|
|
419
411
|
};
|
|
412
|
+
"flawless/cognitive-complexity": {
|
|
413
|
+
"*": ["warn", {
|
|
414
|
+
"threshold": 15;
|
|
415
|
+
}];
|
|
416
|
+
};
|
|
420
417
|
"flawless/max-lines-per-function": {
|
|
421
418
|
"*": ["warn", {
|
|
422
419
|
"max": 30;
|
|
@@ -444,7 +441,13 @@ interface OxlintMainRuleDefaults {
|
|
|
444
441
|
"*": "off";
|
|
445
442
|
};
|
|
446
443
|
"id-length": {
|
|
447
|
-
"*": "
|
|
444
|
+
"*": ["error", {
|
|
445
|
+
"exceptions": ["_", "x", "y", "z", "a", "b", "e"];
|
|
446
|
+
"max": 30;
|
|
447
|
+
"min": 2;
|
|
448
|
+
"properties": "never";
|
|
449
|
+
"checkGeneric": false;
|
|
450
|
+
}];
|
|
448
451
|
};
|
|
449
452
|
"import/consistent-type-specifier-style": {
|
|
450
453
|
"*": "error";
|
|
@@ -595,6 +598,16 @@ interface OxlintMainRuleDefaults {
|
|
|
595
598
|
"jsdoc/no-defaults": {
|
|
596
599
|
"*": "warn";
|
|
597
600
|
};
|
|
601
|
+
"jsdoc/require-param": {
|
|
602
|
+
package_roblox: ["warn", {
|
|
603
|
+
"checkDestructured": false;
|
|
604
|
+
"exemptedBy": ["ignore"];
|
|
605
|
+
}];
|
|
606
|
+
package_std: ["warn", {
|
|
607
|
+
"checkDestructured": false;
|
|
608
|
+
"exemptedBy": ["ignore"];
|
|
609
|
+
}];
|
|
610
|
+
};
|
|
598
611
|
"jsdoc/require-param-description": {
|
|
599
612
|
"*": "warn";
|
|
600
613
|
};
|
|
@@ -1388,7 +1401,10 @@ interface OxlintMainRuleDefaults {
|
|
|
1388
1401
|
}];
|
|
1389
1402
|
};
|
|
1390
1403
|
"prefer-destructuring": {
|
|
1391
|
-
"*": "
|
|
1404
|
+
"*": ["error", {
|
|
1405
|
+
"array": false;
|
|
1406
|
+
"object": true;
|
|
1407
|
+
}];
|
|
1392
1408
|
};
|
|
1393
1409
|
"prefer-exponentiation-operator": {
|
|
1394
1410
|
"*": "error";
|
|
@@ -1589,9 +1605,6 @@ interface OxlintMainRuleDefaults {
|
|
|
1589
1605
|
"sonar/bool-param-default": {
|
|
1590
1606
|
"*": "error";
|
|
1591
1607
|
};
|
|
1592
|
-
"sonar/cognitive-complexity": {
|
|
1593
|
-
"*": "warn";
|
|
1594
|
-
};
|
|
1595
1608
|
"sonar/constructor-for-side-effects": {
|
|
1596
1609
|
"*": "error";
|
|
1597
1610
|
};
|
|
@@ -1628,9 +1641,6 @@ interface OxlintMainRuleDefaults {
|
|
|
1628
1641
|
"sonar/no-empty-collection": {
|
|
1629
1642
|
"*": "error";
|
|
1630
1643
|
};
|
|
1631
|
-
"sonar/no-floating-point-equality": {
|
|
1632
|
-
"*": "error";
|
|
1633
|
-
};
|
|
1634
1644
|
"sonar/no-identical-conditions": {
|
|
1635
1645
|
"*": "error";
|
|
1636
1646
|
};
|
|
@@ -1767,11 +1777,6 @@ interface OxlintMainRuleDefaults {
|
|
|
1767
1777
|
"style/jsx-closing-tag-location": {
|
|
1768
1778
|
"*": "off";
|
|
1769
1779
|
};
|
|
1770
|
-
"style/jsx-curly-brace-presence": {
|
|
1771
|
-
"*": ["error", {
|
|
1772
|
-
"propElementValues": "always";
|
|
1773
|
-
}];
|
|
1774
|
-
};
|
|
1775
1780
|
"style/jsx-curly-newline": {
|
|
1776
1781
|
"*": "off";
|
|
1777
1782
|
};
|
|
@@ -2117,6 +2122,9 @@ interface OxlintMainRuleDefaults {
|
|
|
2117
2122
|
"typescript/no-for-in-array": {
|
|
2118
2123
|
"*": "error";
|
|
2119
2124
|
};
|
|
2125
|
+
"typescript/no-generated-empty-object-type": {
|
|
2126
|
+
"*": "error";
|
|
2127
|
+
};
|
|
2120
2128
|
"typescript/no-implied-eval": {
|
|
2121
2129
|
"*": "error";
|
|
2122
2130
|
};
|
|
@@ -2209,6 +2217,9 @@ interface OxlintMainRuleDefaults {
|
|
|
2209
2217
|
"typescript/no-unsafe-declaration-merging": {
|
|
2210
2218
|
"*": "error";
|
|
2211
2219
|
};
|
|
2220
|
+
"typescript/no-unsafe-enum-assignment": {
|
|
2221
|
+
"*": "error";
|
|
2222
|
+
};
|
|
2212
2223
|
"typescript/no-unsafe-enum-comparison": {
|
|
2213
2224
|
"*": "error";
|
|
2214
2225
|
};
|
|
@@ -2621,6 +2632,11 @@ interface OxlintMainRuleDefaults {
|
|
|
2621
2632
|
"unicorn-js/no-useless-recursion": {
|
|
2622
2633
|
"*": "error";
|
|
2623
2634
|
};
|
|
2635
|
+
"unicorn-js/no-useless-undefined": {
|
|
2636
|
+
"*": ["error", {
|
|
2637
|
+
"checkArguments": false;
|
|
2638
|
+
}];
|
|
2639
|
+
};
|
|
2624
2640
|
"unicorn-js/no-xor-as-exponentiation": {
|
|
2625
2641
|
game_std: "error";
|
|
2626
2642
|
package_std: "error";
|
|
@@ -2804,9 +2820,7 @@ interface OxlintMainRuleDefaults {
|
|
|
2804
2820
|
"*": "off";
|
|
2805
2821
|
};
|
|
2806
2822
|
"unicorn/no-useless-undefined": {
|
|
2807
|
-
"*":
|
|
2808
|
-
"checkArguments": false;
|
|
2809
|
-
}];
|
|
2823
|
+
"*": "off";
|
|
2810
2824
|
};
|
|
2811
2825
|
"unicorn/number-literal-case": {
|
|
2812
2826
|
"*": "off";
|
|
@@ -2893,6 +2907,11 @@ interface OxlintReactRuleDefaults {
|
|
|
2893
2907
|
"flawless/max-lines-per-function": {
|
|
2894
2908
|
"*": "off";
|
|
2895
2909
|
};
|
|
2910
|
+
"flawless/no-unnecessary-prop-alias": {
|
|
2911
|
+
"*": ["error", {
|
|
2912
|
+
"reportConflicts": true;
|
|
2913
|
+
}];
|
|
2914
|
+
};
|
|
2896
2915
|
"flawless/no-unnecessary-use-callback": {
|
|
2897
2916
|
"*": "error";
|
|
2898
2917
|
};
|
|
@@ -3138,9 +3157,18 @@ interface OxlintReactRuleDefaults {
|
|
|
3138
3157
|
"react-x/use-state": {
|
|
3139
3158
|
"*": "error";
|
|
3140
3159
|
};
|
|
3160
|
+
"react/error-boundaries": {
|
|
3161
|
+
"*": "off";
|
|
3162
|
+
};
|
|
3141
3163
|
"react/exhaustive-deps": {
|
|
3142
3164
|
"*": "off";
|
|
3143
3165
|
};
|
|
3166
|
+
"react/globals": {
|
|
3167
|
+
"*": "off";
|
|
3168
|
+
};
|
|
3169
|
+
"react/immutability": {
|
|
3170
|
+
"*": "off";
|
|
3171
|
+
};
|
|
3144
3172
|
"react/no-array-index-key": {
|
|
3145
3173
|
"*": "off";
|
|
3146
3174
|
};
|
|
@@ -3150,9 +3178,24 @@ interface OxlintReactRuleDefaults {
|
|
|
3150
3178
|
"react/no-direct-mutation-state": {
|
|
3151
3179
|
"*": "off";
|
|
3152
3180
|
};
|
|
3181
|
+
"react/refs": {
|
|
3182
|
+
"*": "off";
|
|
3183
|
+
};
|
|
3153
3184
|
"react/rules-of-hooks": {
|
|
3154
3185
|
"*": "off";
|
|
3155
3186
|
};
|
|
3187
|
+
"react/set-state-in-effect": {
|
|
3188
|
+
"*": "off";
|
|
3189
|
+
};
|
|
3190
|
+
"react/set-state-in-render": {
|
|
3191
|
+
"*": "off";
|
|
3192
|
+
};
|
|
3193
|
+
"react/static-components": {
|
|
3194
|
+
"*": "off";
|
|
3195
|
+
};
|
|
3196
|
+
"react/use-memo": {
|
|
3197
|
+
"*": "off";
|
|
3198
|
+
};
|
|
3156
3199
|
"small-rules/react-hooks-strict-return": {
|
|
3157
3200
|
"*": "error";
|
|
3158
3201
|
};
|
|
@@ -4491,184 +4534,224 @@ interface RuleOptions {
|
|
|
4491
4534
|
'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
|
|
4492
4535
|
/**
|
|
4493
4536
|
* Enforce arrow function return style based on line length
|
|
4494
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4537
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/arrow-return-style/documentation.md
|
|
4495
4538
|
*/
|
|
4496
4539
|
'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
|
|
4540
|
+
/**
|
|
4541
|
+
* Limit the Cognitive Complexity of each function
|
|
4542
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/cognitive-complexity/documentation.md
|
|
4543
|
+
*/
|
|
4544
|
+
'flawless/cognitive-complexity'?: Linter.RuleEntry<FlawlessCognitiveComplexity>;
|
|
4497
4545
|
/**
|
|
4498
4546
|
* Disallow shorthand boolean JSX attributes
|
|
4499
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4547
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/jsx-shorthand-boolean/documentation.md
|
|
4500
4548
|
*/
|
|
4501
4549
|
'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
|
|
4502
4550
|
/**
|
|
4503
4551
|
* Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
|
|
4504
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4552
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/jsx-shorthand-fragment/documentation.md
|
|
4505
4553
|
*/
|
|
4506
4554
|
'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
|
|
4555
|
+
/**
|
|
4556
|
+
* Limit comments by word count
|
|
4557
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/max-comment-length/documentation.md
|
|
4558
|
+
*/
|
|
4559
|
+
'flawless/max-comment-length'?: Linter.RuleEntry<FlawlessMaxCommentLength>;
|
|
4507
4560
|
/**
|
|
4508
4561
|
* Enforce a maximum number of lines of code in a function
|
|
4509
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4562
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/max-lines-per-function/documentation.md
|
|
4510
4563
|
*/
|
|
4511
4564
|
'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
|
|
4512
4565
|
/**
|
|
4513
4566
|
* Enforce naming conventions for everything across a codebase
|
|
4514
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4567
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/naming-convention/documentation.md
|
|
4515
4568
|
*/
|
|
4516
4569
|
'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
|
|
4517
4570
|
/**
|
|
4518
4571
|
* Disallow conditional empty-object spreads
|
|
4519
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4572
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-conditional-empty-object-spread/documentation.md
|
|
4520
4573
|
*/
|
|
4521
4574
|
'flawless/no-conditional-empty-object-spread'?: Linter.RuleEntry<[]>;
|
|
4522
4575
|
/**
|
|
4523
4576
|
* Disallow conditional logic in tests
|
|
4524
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4577
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-conditional-in-test/documentation.md
|
|
4525
4578
|
*/
|
|
4526
4579
|
'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
|
|
4580
|
+
/**
|
|
4581
|
+
* Disallow em dashes in comments, strings, JSX text, and Markdown prose
|
|
4582
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-em-dash/documentation.md
|
|
4583
|
+
*/
|
|
4584
|
+
'flawless/no-em-dash'?: Linter.RuleEntry<[]>;
|
|
4527
4585
|
/**
|
|
4528
4586
|
* Disallow anonymous arrow functions as export default declarations
|
|
4529
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4587
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-export-default-arrow/documentation.md
|
|
4530
4588
|
*/
|
|
4531
4589
|
'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
|
|
4532
4590
|
/**
|
|
4533
4591
|
* Disallow exact equality checks involving floating-point-sensitive values
|
|
4534
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4592
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-floating-point-equality/documentation.md
|
|
4535
4593
|
*/
|
|
4536
4594
|
'flawless/no-floating-point-equality'?: Linter.RuleEntry<[]>;
|
|
4595
|
+
/**
|
|
4596
|
+
* Disallow ignoring the result of a built-in method that has no side effects
|
|
4597
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-ignored-return/documentation.md
|
|
4598
|
+
*/
|
|
4599
|
+
'flawless/no-ignored-return'?: Linter.RuleEntry<FlawlessNoIgnoredReturn>;
|
|
4600
|
+
/**
|
|
4601
|
+
* Disallow equality assertions whose operands have types that can never be equal
|
|
4602
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-incompatible-assertion-types/documentation.md
|
|
4603
|
+
*/
|
|
4604
|
+
'flawless/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
|
|
4537
4605
|
/**
|
|
4538
4606
|
* Disallow syntactically established values from flowing into explicitly broad or anonymous target types that discard useful evidence
|
|
4539
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4607
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-known-value-widening/documentation.md
|
|
4540
4608
|
*/
|
|
4541
4609
|
'flawless/no-known-value-widening'?: Linter.RuleEntry<[]>;
|
|
4542
4610
|
/**
|
|
4543
4611
|
* Disallow copying an iterable into an array only to `filter` or `map` it
|
|
4544
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4612
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-materialized-filter-map/documentation.md
|
|
4545
4613
|
*/
|
|
4546
4614
|
'flawless/no-materialized-filter-map'?: Linter.RuleEntry<FlawlessNoMaterializedFilterMap>;
|
|
4547
4615
|
/**
|
|
4548
4616
|
* Disallow function parameters that accept any object shape
|
|
4549
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4617
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-object-parameters/documentation.md
|
|
4550
4618
|
*/
|
|
4551
4619
|
'flawless/no-object-parameters'?: Linter.RuleEntry<[]>;
|
|
4552
4620
|
/**
|
|
4553
4621
|
* Disallow tsconfig options that redundantly re-set a value already provided by an extended config
|
|
4554
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4622
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-redundant-tsconfig-options/documentation.md
|
|
4555
4623
|
*/
|
|
4556
4624
|
'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
|
|
4557
4625
|
/**
|
|
4558
4626
|
* Disallow type annotations that restate the initializer's own type
|
|
4559
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4627
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-redundant-type-annotation/documentation.md
|
|
4560
4628
|
*/
|
|
4561
|
-
'flawless/no-redundant-type-annotation'?: Linter.RuleEntry<
|
|
4629
|
+
'flawless/no-redundant-type-annotation'?: Linter.RuleEntry<FlawlessNoRedundantTypeAnnotation>;
|
|
4562
4630
|
/**
|
|
4563
4631
|
* Disallow the two-argument `Reflect.get` in favour of typed property access
|
|
4564
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4632
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-reflect-get/documentation.md
|
|
4565
4633
|
*/
|
|
4566
4634
|
'flawless/no-reflect-get'?: Linter.RuleEntry<[]>;
|
|
4567
4635
|
/**
|
|
4568
4636
|
* Disallow `Reflect.set` with a compile-time-fixed key in favour of a plain assignment
|
|
4569
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4637
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-reflect-set/documentation.md
|
|
4570
4638
|
*/
|
|
4571
4639
|
'flawless/no-reflect-set'?: Linter.RuleEntry<[]>;
|
|
4572
4640
|
/**
|
|
4573
4641
|
* Disallow the term 'shape' in declared symbol names
|
|
4574
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4642
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-shape-in-symbol-names/documentation.md
|
|
4575
4643
|
*/
|
|
4576
4644
|
'flawless/no-shape-in-symbol-names'?: Linter.RuleEntry<[]>;
|
|
4577
4645
|
/**
|
|
4578
4646
|
* Disallow mocks created once and shared between tests
|
|
4579
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4647
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-shared-mocks/documentation.md
|
|
4580
4648
|
*/
|
|
4581
4649
|
'flawless/no-shared-mocks'?: Linter.RuleEntry<[]>;
|
|
4582
4650
|
/**
|
|
4583
4651
|
* Disallow state declared outside tests and written inside them
|
|
4584
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4652
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-shared-test-state/documentation.md
|
|
4585
4653
|
*/
|
|
4586
4654
|
'flawless/no-shared-test-state'?: Linter.RuleEntry<FlawlessNoSharedTestState>;
|
|
4655
|
+
/**
|
|
4656
|
+
* Disallow rarely used top-level functions that only forward their parameters or read a parameter's property
|
|
4657
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-trivial-functions/documentation.md
|
|
4658
|
+
*/
|
|
4659
|
+
'flawless/no-trivial-functions'?: Linter.RuleEntry<FlawlessNoTrivialFunctions>;
|
|
4587
4660
|
/**
|
|
4588
4661
|
* Disallow `unknown` function parameters outside type-predicate subjects and recorded error causes
|
|
4589
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4662
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-unknown-parameters/documentation.md
|
|
4590
4663
|
*/
|
|
4591
4664
|
'flawless/no-unknown-parameters'?: Linter.RuleEntry<[]>;
|
|
4592
4665
|
/**
|
|
4593
4666
|
* Disallow explicit return type annotations that resolve to `unknown`
|
|
4594
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4667
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-unknown-returns/documentation.md
|
|
4595
4668
|
*/
|
|
4596
4669
|
'flawless/no-unknown-returns'?: Linter.RuleEntry<[]>;
|
|
4670
|
+
/**
|
|
4671
|
+
* Disallow unnecessary aliases when destructuring component props
|
|
4672
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-unnecessary-prop-alias/documentation.md
|
|
4673
|
+
*/
|
|
4674
|
+
'flawless/no-unnecessary-prop-alias'?: Linter.RuleEntry<FlawlessNoUnnecessaryPropAlias>;
|
|
4597
4675
|
/**
|
|
4598
4676
|
* Disallow unnecessary usage of 'useCallback'
|
|
4599
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4677
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-unnecessary-use-callback/documentation.md
|
|
4600
4678
|
*/
|
|
4601
4679
|
'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
|
|
4602
4680
|
/**
|
|
4603
4681
|
* Disallow unnecessary usage of 'useMemo'
|
|
4604
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4682
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-unnecessary-use-memo/documentation.md
|
|
4605
4683
|
*/
|
|
4606
4684
|
'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
|
|
4607
4685
|
/**
|
|
4608
4686
|
* Disallow unsafe object dictionary value types
|
|
4609
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4687
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/no-unsafe-dictionary-type/documentation.md
|
|
4610
4688
|
*/
|
|
4611
4689
|
'flawless/no-unsafe-dictionary-type'?: Linter.RuleEntry<[]>;
|
|
4612
4690
|
/**
|
|
4613
4691
|
* Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
|
|
4614
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4692
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/padding-after-expect-assertions/documentation.md
|
|
4615
4693
|
*/
|
|
4616
4694
|
'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
|
|
4617
4695
|
/**
|
|
4618
4696
|
* Enforce destructuring assignment for component props
|
|
4619
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4697
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-destructuring-assignment/documentation.md
|
|
4620
4698
|
*/
|
|
4621
4699
|
'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
|
|
4622
4700
|
/**
|
|
4623
4701
|
* Prefer having the last statement in a test be an assertion
|
|
4624
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4702
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-ending-with-an-expect/documentation.md
|
|
4625
4703
|
*/
|
|
4626
4704
|
'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
|
|
4627
4705
|
/**
|
|
4628
4706
|
* Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
|
|
4629
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4707
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-expect-assertions-count/documentation.md
|
|
4630
4708
|
*/
|
|
4631
4709
|
'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
|
|
4632
4710
|
/**
|
|
4633
4711
|
* Prefer `mockThrow` / `mockThrowOnce` over a mock implementation that only throws
|
|
4634
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4712
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-mock-throw/documentation.md
|
|
4635
4713
|
*/
|
|
4636
4714
|
'flawless/prefer-mock-throw'?: Linter.RuleEntry<[]>;
|
|
4637
4715
|
/**
|
|
4638
4716
|
* Enforce destructuring parameters in the function signature
|
|
4639
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4717
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-parameter-destructuring/documentation.md
|
|
4640
4718
|
*/
|
|
4641
4719
|
'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
|
|
4642
4720
|
/**
|
|
4643
4721
|
* Enforce that function component props are read-only
|
|
4644
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4722
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-read-only-props/documentation.md
|
|
4645
4723
|
*/
|
|
4646
4724
|
'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
|
|
4647
4725
|
/**
|
|
4648
4726
|
* Prefer test-bound Vitest APIs from the local test context
|
|
4649
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4727
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/prefer-vitest-local-context/documentation.md
|
|
4650
4728
|
*/
|
|
4651
4729
|
'flawless/prefer-vitest-local-context'?: Linter.RuleEntry<FlawlessPreferVitestLocalContext>;
|
|
4652
4730
|
/**
|
|
4653
4731
|
* Disallow impure calls such as `math.random` or `os.clock` during render
|
|
4654
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4732
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/purity/documentation.md
|
|
4655
4733
|
*/
|
|
4656
4734
|
'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
|
|
4657
4735
|
/**
|
|
4658
4736
|
* Prefer named imports for React runtime values and the React namespace for React types
|
|
4659
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4737
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/react-namespace/documentation.md
|
|
4660
4738
|
*/
|
|
4661
|
-
'flawless/react-namespace'?: Linter.RuleEntry<
|
|
4739
|
+
'flawless/react-namespace'?: Linter.RuleEntry<FlawlessReactNamespace>;
|
|
4662
4740
|
/**
|
|
4663
4741
|
* Enforce a configured sort order for TOML keys and tables
|
|
4664
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4742
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/toml-sort-keys/documentation.md
|
|
4665
4743
|
*/
|
|
4666
4744
|
'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
|
|
4667
4745
|
/**
|
|
4668
4746
|
* Enforce blank lines around top-level YAML block collection keys
|
|
4669
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4747
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/yaml-block-key-blank-lines/documentation.md
|
|
4670
4748
|
*/
|
|
4671
4749
|
'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
|
|
4750
|
+
/**
|
|
4751
|
+
* Enforce sorted YAML sequences of mappings by a key
|
|
4752
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.0/src/rules/yaml-sort-sequence-by-key/documentation.md
|
|
4753
|
+
*/
|
|
4754
|
+
'flawless/yaml-sort-sequence-by-key'?: Linter.RuleEntry<FlawlessYamlSortSequenceByKey>;
|
|
4672
4755
|
/**
|
|
4673
4756
|
* Enforce `for` loop update clause moving the counter in the right direction
|
|
4674
4757
|
* @see https://eslint.org/docs/latest/rules/for-direction
|
|
@@ -5252,7 +5335,7 @@ interface RuleOptions {
|
|
|
5252
5335
|
* Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
|
|
5253
5336
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
|
|
5254
5337
|
*/
|
|
5255
|
-
'jsdoc/check-syntax'?: Linter.RuleEntry<
|
|
5338
|
+
'jsdoc/check-syntax'?: Linter.RuleEntry<JsdocCheckSyntax>;
|
|
5256
5339
|
/**
|
|
5257
5340
|
* Reports invalid block tag names.
|
|
5258
5341
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
|
|
@@ -5368,6 +5451,10 @@ interface RuleOptions {
|
|
|
5368
5451
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
|
|
5369
5452
|
*/
|
|
5370
5453
|
'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
|
|
5454
|
+
/**
|
|
5455
|
+
* Reports redundant @type tags that match or broaden the naturally inferred TypeScript type.
|
|
5456
|
+
*/
|
|
5457
|
+
'jsdoc/no-unnecessary-type-assertion'?: Linter.RuleEntry<JsdocNoUnnecessaryTypeAssertion>;
|
|
5371
5458
|
/**
|
|
5372
5459
|
* Normalizes labeled links in `@see` tags to a canonical `{@link}` form.
|
|
5373
5460
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/normalize-see-links.md#repos-sticky-header
|
|
@@ -5563,6 +5650,11 @@ interface RuleOptions {
|
|
|
5563
5650
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
|
|
5564
5651
|
*/
|
|
5565
5652
|
'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
|
|
5653
|
+
/**
|
|
5654
|
+
* Disallows (or requires descriptions for) `@ts-<directive>` comments, mirroring `@typescript-eslint/ban-ts-comment`.
|
|
5655
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-ban-ts-comment.md#repos-sticky-header
|
|
5656
|
+
*/
|
|
5657
|
+
'jsdoc/ts-ban-ts-comment'?: Linter.RuleEntry<JsdocTsBanTsComment>;
|
|
5566
5658
|
/**
|
|
5567
5659
|
* Prefers either function properties or method signatures
|
|
5568
5660
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
|
|
@@ -7645,6 +7737,11 @@ interface RuleOptions {
|
|
|
7645
7737
|
* @see https://perfectionist.dev/rules/sort-classes
|
|
7646
7738
|
*/
|
|
7647
7739
|
'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>;
|
|
7740
|
+
/**
|
|
7741
|
+
* Enforce sorted constructor parameters.
|
|
7742
|
+
* @see https://perfectionist.dev/rules/sort-constructor-parameters
|
|
7743
|
+
*/
|
|
7744
|
+
'perfectionist/sort-constructor-parameters'?: Linter.RuleEntry<PerfectionistSortConstructorParameters>;
|
|
7648
7745
|
/**
|
|
7649
7746
|
* Enforce sorted decorators.
|
|
7650
7747
|
* @see https://perfectionist.dev/rules/sort-decorators
|
|
@@ -8494,9 +8591,14 @@ interface RuleOptions {
|
|
|
8494
8591
|
'small-rules/ban-types'?: Linter.RuleEntry<SmallRulesBanTypes>;
|
|
8495
8592
|
/**
|
|
8496
8593
|
* Enforce consistent spelling of compound words in identifiers.
|
|
8497
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/
|
|
8594
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/consistent-compound-words/
|
|
8498
8595
|
*/
|
|
8499
8596
|
'small-rules/consistent-compound-words'?: Linter.RuleEntry<SmallRulesConsistentCompoundWords>;
|
|
8597
|
+
/**
|
|
8598
|
+
* Require one brace style for each `if`, `else`, and loop body: one line for a lone `if` with a short body that fits, braces for every other body.
|
|
8599
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/curly/
|
|
8600
|
+
*/
|
|
8601
|
+
'small-rules/curly'?: Linter.RuleEntry<SmallRulesCurly>;
|
|
8500
8602
|
/**
|
|
8501
8603
|
* Require a matching enable comment for every `oxlint-disable` or `eslint-disable` block directive.
|
|
8502
8604
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/directive-disable-enable-pair/
|
|
@@ -8552,6 +8654,11 @@ interface RuleOptions {
|
|
|
8552
8654
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/memoized-effect-dependencies/
|
|
8553
8655
|
*/
|
|
8554
8656
|
'small-rules/memoized-effect-dependencies'?: Linter.RuleEntry<SmallRulesMemoizedEffectDependencies>;
|
|
8657
|
+
/**
|
|
8658
|
+
* Disallow adjusting state in an effect when a prop changes.
|
|
8659
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-adjust-state-on-prop-change/
|
|
8660
|
+
*/
|
|
8661
|
+
'small-rules/no-adjust-state-on-prop-change'?: Linter.RuleEntry<SmallRulesNoAdjustStateOnPropChange>;
|
|
8555
8662
|
/**
|
|
8556
8663
|
* Disallow array constructor element forms and enforce roblox-ts-aware constructor patterns.
|
|
8557
8664
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-array-constructor-elements/
|
|
@@ -8582,6 +8689,21 @@ interface RuleOptions {
|
|
|
8582
8689
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-cascading-set-state/
|
|
8583
8690
|
*/
|
|
8584
8691
|
'small-rules/no-cascading-set-state'?: Linter.RuleEntry<[]>;
|
|
8692
|
+
/**
|
|
8693
|
+
* Disallow chaining state changes in an effect.
|
|
8694
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-chain-state-updates/
|
|
8695
|
+
*/
|
|
8696
|
+
'small-rules/no-chain-state-updates'?: Linter.RuleEntry<SmallRulesNoChainStateUpdates>;
|
|
8697
|
+
/**
|
|
8698
|
+
* Disallow chained TypeScript as and angle-bracket assertions, including parenthesized chains.
|
|
8699
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-chained-type-assertions/
|
|
8700
|
+
*/
|
|
8701
|
+
'small-rules/no-chained-type-assertions'?: Linter.RuleEntry<SmallRulesNoChainedTypeAssertions>;
|
|
8702
|
+
/**
|
|
8703
|
+
* Disallow Cliffy `.action` handlers that only forward their arguments to another function.
|
|
8704
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/cliffy/no-cliffy-action-wrapper/
|
|
8705
|
+
*/
|
|
8706
|
+
'small-rules/no-cliffy-action-wrapper'?: Linter.RuleEntry<SmallRulesNoCliffyActionWrapper>;
|
|
8585
8707
|
/**
|
|
8586
8708
|
* Ban new Color3(...) except new Color3() or new Color3(0, 0, 0). Use Color3.fromRGB() instead.
|
|
8587
8709
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-color3-constructor/
|
|
@@ -8592,6 +8714,11 @@ interface RuleOptions {
|
|
|
8592
8714
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-commented-code/
|
|
8593
8715
|
*/
|
|
8594
8716
|
'small-rules/no-commented-code'?: Linter.RuleEntry<SmallRulesNoCommentedCode>;
|
|
8717
|
+
/**
|
|
8718
|
+
* Disallow object spreads that conditionally spread an empty object to omit fields.
|
|
8719
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-conditional-empty-object-spread/
|
|
8720
|
+
*/
|
|
8721
|
+
'small-rules/no-conditional-empty-object-spread'?: Linter.RuleEntry<[]>;
|
|
8595
8722
|
/**
|
|
8596
8723
|
* Disallow constant conditions, but allow constant loops that include loop exits such as break, return, or configured calls.
|
|
8597
8724
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-constant-condition-with-break/
|
|
@@ -8602,18 +8729,38 @@ interface RuleOptions {
|
|
|
8602
8729
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-dead-store/
|
|
8603
8730
|
*/
|
|
8604
8731
|
'small-rules/no-dead-store'?: Linter.RuleEntry<[]>;
|
|
8732
|
+
/**
|
|
8733
|
+
* Disallow storing derived state in an effect.
|
|
8734
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-derived-state/
|
|
8735
|
+
*/
|
|
8736
|
+
'small-rules/no-derived-state'?: Linter.RuleEntry<SmallRulesNoDerivedState>;
|
|
8737
|
+
/**
|
|
8738
|
+
* Warn when a Promise rejection handler explicitly discards the failure and resolves to undefined.
|
|
8739
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-discarded-rejection/
|
|
8740
|
+
*/
|
|
8741
|
+
'small-rules/no-discarded-rejection'?: Linter.RuleEntry<[]>;
|
|
8605
8742
|
/**
|
|
8606
8743
|
* Use throw instead of error().
|
|
8607
8744
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-error/
|
|
8608
8745
|
*/
|
|
8609
8746
|
'small-rules/no-error'?: Linter.RuleEntry<[]>;
|
|
8747
|
+
/**
|
|
8748
|
+
* Disallow using state and an effect as an event handler.
|
|
8749
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-event-handler/
|
|
8750
|
+
*/
|
|
8751
|
+
'small-rules/no-event-handler'?: Linter.RuleEntry<SmallRulesNoEventHandler>;
|
|
8610
8752
|
/**
|
|
8611
8753
|
* Disallow sending Events back to the same player inside an Events.connect callback; use Functions for request/response.
|
|
8612
8754
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-events-in-events-callback/
|
|
8613
8755
|
*/
|
|
8614
8756
|
'small-rules/no-events-in-events-callback'?: Linter.RuleEntry<SmallRulesNoEventsInEventsCallback>;
|
|
8615
8757
|
/**
|
|
8616
|
-
* Disallow
|
|
8758
|
+
* Disallow subscribing to an external store in an effect.
|
|
8759
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-external-store-subscription/
|
|
8760
|
+
*/
|
|
8761
|
+
'small-rules/no-external-store-subscription'?: Linter.RuleEntry<SmallRulesNoExternalStoreSubscription>;
|
|
8762
|
+
/**
|
|
8763
|
+
* Disallow `Array.prototype.map(...)` directly after `Array.prototype.filter(...)`.
|
|
8617
8764
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-filter-map-chain/
|
|
8618
8765
|
*/
|
|
8619
8766
|
'small-rules/no-filter-map-chain'?: Linter.RuleEntry<[]>;
|
|
@@ -8632,6 +8779,11 @@ interface RuleOptions {
|
|
|
8632
8779
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-god-components/
|
|
8633
8780
|
*/
|
|
8634
8781
|
'small-rules/no-god-components'?: Linter.RuleEntry<SmallRulesNoGodComponents>;
|
|
8782
|
+
/**
|
|
8783
|
+
* Disallow redundant Jecs World.has guards around World.remove calls.
|
|
8784
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/jecs/no-has-before-remove-in-jecs/
|
|
8785
|
+
*/
|
|
8786
|
+
'small-rules/no-has-before-remove-in-jecs'?: Linter.RuleEntry<[]>;
|
|
8635
8787
|
/**
|
|
8636
8788
|
* Disallow Ianitor validator creation inside function bodies. Hoist to module scope to avoid recreating validators on every call.
|
|
8637
8789
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-ianitor-in-function-body/
|
|
@@ -8643,7 +8795,7 @@ interface RuleOptions {
|
|
|
8643
8795
|
*/
|
|
8644
8796
|
'small-rules/no-ianitor-success-access'?: Linter.RuleEntry<[]>;
|
|
8645
8797
|
/**
|
|
8646
|
-
* Disallow pointless identity
|
|
8798
|
+
* Disallow pointless identity `Array.prototype.map()` calls that return the parameter unchanged
|
|
8647
8799
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-identity-map/
|
|
8648
8800
|
*/
|
|
8649
8801
|
'small-rules/no-identity-map'?: Linter.RuleEntry<SmallRulesNoIdentityMap>;
|
|
@@ -8652,56 +8804,146 @@ interface RuleOptions {
|
|
|
8652
8804
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-increment-decrement/
|
|
8653
8805
|
*/
|
|
8654
8806
|
'small-rules/no-increment-decrement'?: Linter.RuleEntry<SmallRulesNoIncrementDecrement>;
|
|
8807
|
+
/**
|
|
8808
|
+
* Disallow initializing state in an effect.
|
|
8809
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-initialize-state/
|
|
8810
|
+
*/
|
|
8811
|
+
'small-rules/no-initialize-state'?: Linter.RuleEntry<SmallRulesNoInitializeState>;
|
|
8655
8812
|
/**
|
|
8656
8813
|
* Prevent inline properties from being passed to memoized components.
|
|
8657
8814
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-inline-property-on-memo-component/
|
|
8658
8815
|
*/
|
|
8659
8816
|
'small-rules/no-inline-property-on-memo-component'?: Linter.RuleEntry<[]>;
|
|
8817
|
+
/**
|
|
8818
|
+
* Disallow inline object types in parameter and return type annotations; declare a named interface instead.
|
|
8819
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/naming/no-inline-signature-types/
|
|
8820
|
+
*/
|
|
8821
|
+
'small-rules/no-inline-signature-types'?: Linter.RuleEntry<SmallRulesNoInlineSignatureTypes>;
|
|
8660
8822
|
/**
|
|
8661
8823
|
* Detect instance methods that do not use 'this' and suggest converting them to standalone functions for better performance in roblox-ts.
|
|
8662
8824
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-instance-methods-without-this/
|
|
8663
8825
|
*/
|
|
8664
8826
|
'small-rules/no-instance-methods-without-this'?: Linter.RuleEntry<SmallRulesNoInstanceMethodsWithoutThis>;
|
|
8827
|
+
/**
|
|
8828
|
+
* Disallow a spread in JSX child position.
|
|
8829
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-jsx-spread-child/
|
|
8830
|
+
*/
|
|
8831
|
+
'small-rules/no-jsx-spread-child'?: Linter.RuleEntry<[]>;
|
|
8832
|
+
/**
|
|
8833
|
+
* Disallow syntactically established values from flowing into explicitly broad or anonymous target types that discard useful evidence.
|
|
8834
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-known-value-widening/
|
|
8835
|
+
*/
|
|
8836
|
+
'small-rules/no-known-value-widening'?: Linter.RuleEntry<[]>;
|
|
8665
8837
|
/**
|
|
8666
8838
|
* Disallow mutating a loop iterable during iteration.
|
|
8667
8839
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-loop-iterable-mutation/
|
|
8668
8840
|
*/
|
|
8669
8841
|
'small-rules/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
|
|
8842
|
+
/**
|
|
8843
|
+
* Disallow Vitest and Jest module mocking; tests must replace dependencies through real interfaces.
|
|
8844
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-module-mocking/
|
|
8845
|
+
*/
|
|
8846
|
+
'small-rules/no-module-mocking'?: Linter.RuleEntry<[]>;
|
|
8847
|
+
/**
|
|
8848
|
+
* Disallow defining more than one Cliffy command in a file.
|
|
8849
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/cliffy/no-multiple-cliffy-commands/
|
|
8850
|
+
*/
|
|
8851
|
+
'small-rules/no-multiple-cliffy-commands'?: Linter.RuleEntry<SmallRulesNoMultipleCliffyCommands>;
|
|
8670
8852
|
/**
|
|
8671
8853
|
* Disallow spreading static property bags into nativeProperties/*NativeProperties props and onto JSX elements via intermediate objects, because the spread creates a new copied table every render.
|
|
8672
8854
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-native-properties-spread/
|
|
8673
8855
|
*/
|
|
8674
8856
|
'small-rules/no-native-properties-spread'?: Linter.RuleEntry<[]>;
|
|
8857
|
+
/**
|
|
8858
|
+
* Disallow nesting a hook call inside another hook call.
|
|
8859
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-nested-hook-calls/
|
|
8860
|
+
*/
|
|
8861
|
+
'small-rules/no-nested-hook-calls'?: Linter.RuleEntry<[]>;
|
|
8675
8862
|
/**
|
|
8676
8863
|
* Disallow configured constructor calls (default: new Instance) inside React useMemo callbacks.
|
|
8677
8864
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-new-instance-in-use-memo/
|
|
8678
8865
|
*/
|
|
8679
8866
|
'small-rules/no-new-instance-in-use-memo'?: Linter.RuleEntry<SmallRulesNoNewInstanceInUseMemo>;
|
|
8867
|
+
/**
|
|
8868
|
+
* Disallow object function parameters; inputs must use an owner-provided type and be parsed at their boundary.
|
|
8869
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-object-parameters/
|
|
8870
|
+
*/
|
|
8871
|
+
'small-rules/no-object-parameters'?: Linter.RuleEntry<[]>;
|
|
8872
|
+
/**
|
|
8873
|
+
* Disallow passing data to parents in an effect.
|
|
8874
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-pass-data-to-parent/
|
|
8875
|
+
*/
|
|
8876
|
+
'small-rules/no-pass-data-to-parent'?: Linter.RuleEntry<SmallRulesNoPassDataToParent>;
|
|
8877
|
+
/**
|
|
8878
|
+
* Disallow passing live state to parents in an effect.
|
|
8879
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-pass-live-state-to-parent/
|
|
8880
|
+
*/
|
|
8881
|
+
'small-rules/no-pass-live-state-to-parent'?: Linter.RuleEntry<SmallRulesNoPassLiveStateToParent>;
|
|
8680
8882
|
/**
|
|
8681
8883
|
* Use Log instead of print().
|
|
8682
8884
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-print/
|
|
8683
8885
|
*/
|
|
8684
8886
|
'small-rules/no-print'?: Linter.RuleEntry<[]>;
|
|
8887
|
+
/**
|
|
8888
|
+
* Disallow real temp directories (`os.tmpdir`, `fs.mkdtemp`) in unit tests.
|
|
8889
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-real-temporary-directory/
|
|
8890
|
+
*/
|
|
8891
|
+
'small-rules/no-real-temporary-directory'?: Linter.RuleEntry<SmallRulesNoRealTemporaryDirectory>;
|
|
8685
8892
|
/**
|
|
8686
8893
|
* Disallow recursive function calls to prevent stack overflow.
|
|
8687
8894
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-recursive/
|
|
8688
8895
|
*/
|
|
8689
8896
|
'small-rules/no-recursive'?: Linter.RuleEntry<SmallRulesNoRecursive>;
|
|
8897
|
+
/**
|
|
8898
|
+
* Disallow copying growing reducer accumulators with Object.assign, Array.from, or array copy methods.
|
|
8899
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-reduce-accumulator-copy/
|
|
8900
|
+
*/
|
|
8901
|
+
'small-rules/no-reduce-accumulator-copy'?: Linter.RuleEntry<[]>;
|
|
8690
8902
|
/**
|
|
8691
8903
|
* Disallow redundant uiaspectratioconstraint children inside components that already manage their own aspect ratio internally.
|
|
8692
8904
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-redundant-aspect-ratio-constraint/
|
|
8693
8905
|
*/
|
|
8694
8906
|
'small-rules/no-redundant-aspect-ratio-constraint'?: Linter.RuleEntry<[]>;
|
|
8907
|
+
/**
|
|
8908
|
+
* Disallow Reflect.apply; call typed functions directly or model dynamic dispatch behind an interface.
|
|
8909
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-reflect-apply/
|
|
8910
|
+
*/
|
|
8911
|
+
'small-rules/no-reflect-apply'?: Linter.RuleEntry<[]>;
|
|
8912
|
+
/**
|
|
8913
|
+
* Disallow Reflect.get; use typed property access or parse dynamic input into a domain type.
|
|
8914
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-reflect-get/
|
|
8915
|
+
*/
|
|
8916
|
+
'small-rules/no-reflect-get'?: Linter.RuleEntry<[]>;
|
|
8695
8917
|
/**
|
|
8696
8918
|
* Disallow non-component functions that return JSX or React elements.
|
|
8697
8919
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-render-helper-functions/
|
|
8698
8920
|
*/
|
|
8699
8921
|
'small-rules/no-render-helper-functions'?: Linter.RuleEntry<[]>;
|
|
8922
|
+
/**
|
|
8923
|
+
* Disallow resetting all state in an effect when a prop changes.
|
|
8924
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-reset-all-state-on-property-change/
|
|
8925
|
+
*/
|
|
8926
|
+
'small-rules/no-reset-all-state-on-prop-change'?: Linter.RuleEntry<SmallRulesNoResetAllStateOnPropChange>;
|
|
8700
8927
|
/**
|
|
8701
8928
|
* Disallow assignment to restricted object properties.
|
|
8702
8929
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-restricted-property-assignment/
|
|
8703
8930
|
*/
|
|
8704
8931
|
'small-rules/no-restricted-property-assignment'?: Linter.RuleEntry<SmallRulesNoRestrictedPropertyAssignment>;
|
|
8932
|
+
/**
|
|
8933
|
+
* Disallow runtime code in files that hold only types.
|
|
8934
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-runtime-in-type-files/
|
|
8935
|
+
*/
|
|
8936
|
+
'small-rules/no-runtime-in-type-files'?: Linter.RuleEntry<SmallRulesNoRuntimeInTypeFiles>;
|
|
8937
|
+
/**
|
|
8938
|
+
* Disallow runtime typeof checks; external values must be decoded into meaningful types at their I/O boundary.
|
|
8939
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-runtime-typeof/
|
|
8940
|
+
*/
|
|
8941
|
+
'small-rules/no-runtime-typeof'?: Linter.RuleEntry<SmallRulesNoRuntimeTypeof>;
|
|
8942
|
+
/**
|
|
8943
|
+
* Disallow the case-insensitive substring "shape" in JavaScript, TypeScript, private, and JSX symbol names.
|
|
8944
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-shape-in-symbol-names/
|
|
8945
|
+
*/
|
|
8946
|
+
'small-rules/no-shape-in-symbol-names'?: Linter.RuleEntry<[]>;
|
|
8705
8947
|
/**
|
|
8706
8948
|
* Disallow the .spec.{ts,tsx} file extension for test files. Use .test.{ts,tsx} instead.
|
|
8707
8949
|
* @see https://docs.howmanysmall.com/small-rules/rules/naming/no-spec-file-extension/
|
|
@@ -8722,6 +8964,11 @@ interface RuleOptions {
|
|
|
8722
8964
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-task-wait/
|
|
8723
8965
|
*/
|
|
8724
8966
|
'small-rules/no-task-wait'?: Linter.RuleEntry<[]>;
|
|
8967
|
+
/**
|
|
8968
|
+
* Disallow per-test timeouts in unit tests.
|
|
8969
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-test-timeout/
|
|
8970
|
+
*/
|
|
8971
|
+
'small-rules/no-test-timeout'?: Linter.RuleEntry<SmallRulesNoTestTimeout>;
|
|
8725
8972
|
/**
|
|
8726
8973
|
* Disallow assertions that always succeed or compare against freshly created values.
|
|
8727
8974
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-trivial-assertions/
|
|
@@ -8732,6 +8979,31 @@ interface RuleOptions {
|
|
|
8732
8979
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-underscore-react-props/
|
|
8733
8980
|
*/
|
|
8734
8981
|
'small-rules/no-underscore-react-props'?: Linter.RuleEntry<[]>;
|
|
8982
|
+
/**
|
|
8983
|
+
* Disallow explicitly unknown function parameters except `cause` and the parameter named by a type predicate; decode unknown input at its I/O boundary instead.
|
|
8984
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unknown-parameters/
|
|
8985
|
+
*/
|
|
8986
|
+
'small-rules/no-unknown-parameters'?: Linter.RuleEntry<[]>;
|
|
8987
|
+
/**
|
|
8988
|
+
* Disallow functions whose explicit return contract is unknown or Promise<unknown>.
|
|
8989
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unknown-returns/
|
|
8990
|
+
*/
|
|
8991
|
+
'small-rules/no-unknown-returns'?: Linter.RuleEntry<[]>;
|
|
8992
|
+
/**
|
|
8993
|
+
* Disallow type aliases whose resolved type is unknown; unknown must remain visible at an allowed boundary.
|
|
8994
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unknown-type-aliases/
|
|
8995
|
+
*/
|
|
8996
|
+
'small-rules/no-unknown-type-aliases'?: Linter.RuleEntry<[]>;
|
|
8997
|
+
/**
|
|
8998
|
+
* Disallow object-dictionary contracts whose direct value type is unknown, any, object, {}, or a union/alias containing one of those escape hatches.
|
|
8999
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unsafe-dictionary-type/
|
|
9000
|
+
*/
|
|
9001
|
+
'small-rules/no-unsafe-dictionary-type'?: Linter.RuleEntry<[]>;
|
|
9002
|
+
/**
|
|
9003
|
+
* Disallow syntax that roblox-ts cannot compile to Luau.
|
|
9004
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-unsupported-syntax/
|
|
9005
|
+
*/
|
|
9006
|
+
'small-rules/no-unsupported-syntax'?: Linter.RuleEntry<SmallRulesNoUnsupportedSyntax>;
|
|
8735
9007
|
/**
|
|
8736
9008
|
* Disallow unused imports
|
|
8737
9009
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-unused-imports/
|
|
@@ -8762,6 +9034,11 @@ interface RuleOptions {
|
|
|
8762
9034
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-useless-default/
|
|
8763
9035
|
*/
|
|
8764
9036
|
'small-rules/no-useless-default'?: Linter.RuleEntry<[]>;
|
|
9037
|
+
/**
|
|
9038
|
+
* Disallow equality comparisons against an empty-string literal.
|
|
9039
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-useless-empty-string-comparison/
|
|
9040
|
+
*/
|
|
9041
|
+
'small-rules/no-useless-empty-string-comparison'?: Linter.RuleEntry<SmallRulesNoUselessEmptyStringComparison>;
|
|
8765
9042
|
/**
|
|
8766
9043
|
* Disallow empty effects, duplicate dependencies, effect chains, log-only effects, derived state, external-store state sync, state initialization, reset effects, parent notifications, parent ref callbacks, and event side effects routed through state.
|
|
8767
9044
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-useless-use-effect/
|
|
@@ -8787,6 +9064,11 @@ interface RuleOptions {
|
|
|
8787
9064
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-warn/
|
|
8788
9065
|
*/
|
|
8789
9066
|
'small-rules/no-warn'?: Linter.RuleEntry<[]>;
|
|
9067
|
+
/**
|
|
9068
|
+
* Disallow local const flows that explicitly widen a known value before asserting the widened binding to a narrower type.
|
|
9069
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-widen-then-assert/
|
|
9070
|
+
*/
|
|
9071
|
+
'small-rules/no-widen-then-assert'?: Linter.RuleEntry<[]>;
|
|
8790
9072
|
/**
|
|
8791
9073
|
* Require all imports to be type-only imports. Benchmarks cannot import non-types because the benchmarker plugin will throw an error.
|
|
8792
9074
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/only-type-imports/
|
|
@@ -8847,6 +9129,11 @@ interface RuleOptions {
|
|
|
8847
9129
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-math-min-max/
|
|
8848
9130
|
*/
|
|
8849
9131
|
'small-rules/prefer-math-min-max'?: Linter.RuleEntry<[]>;
|
|
9132
|
+
/**
|
|
9133
|
+
* Move discarded Jecs query component values into a membership-only with filter.
|
|
9134
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/jecs/prefer-membership-filter-in-jecs/
|
|
9135
|
+
*/
|
|
9136
|
+
'small-rules/prefer-membership-filter-in-jecs'?: Linter.RuleEntry<[]>;
|
|
8850
9137
|
/**
|
|
8851
9138
|
* Prefer Modding.inspect over manually enumerating every enum member in a Record<Enum, true>.
|
|
8852
9139
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-modding-inspect/
|
|
@@ -8857,6 +9144,16 @@ interface RuleOptions {
|
|
|
8857
9144
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/prefer-module-scope-constants/
|
|
8858
9145
|
*/
|
|
8859
9146
|
'small-rules/prefer-module-scope-constants'?: Linter.RuleEntry<[]>;
|
|
9147
|
+
/**
|
|
9148
|
+
* Prefer table.clone over a manual shallow Map or Set copy loop.
|
|
9149
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-native-collection-copy/
|
|
9150
|
+
*/
|
|
9151
|
+
'small-rules/prefer-native-collection-copy'?: Linter.RuleEntry<[]>;
|
|
9152
|
+
/**
|
|
9153
|
+
* Disallow `undefined` in a function parameter's type union; declare the parameter optional with `?` instead.
|
|
9154
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/naming/prefer-optional-parameter/
|
|
9155
|
+
*/
|
|
9156
|
+
'small-rules/prefer-optional-parameter'?: Linter.RuleEntry<[]>;
|
|
8860
9157
|
/**
|
|
8861
9158
|
* Prefer local EqualPadding and DirectionalPadding components over matching <uipadding /> declarations.
|
|
8862
9159
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/prefer-padding-components/
|
|
@@ -8874,12 +9171,12 @@ interface RuleOptions {
|
|
|
8874
9171
|
'small-rules/prefer-sequence-overloads'?: Linter.RuleEntry<[]>;
|
|
8875
9172
|
/**
|
|
8876
9173
|
* Enforce combining multiple world.get() or world.has() calls into a single call for better Jecs performance.
|
|
8877
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-single-world-query/
|
|
9174
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/jecs/prefer-single-world-query-in-jecs/
|
|
8878
9175
|
*/
|
|
8879
|
-
'small-rules/prefer-single-world-query'?: Linter.RuleEntry<[]>;
|
|
9176
|
+
'small-rules/prefer-single-world-query-in-jecs'?: Linter.RuleEntry<[]>;
|
|
8880
9177
|
/**
|
|
8881
9178
|
* Prefer singular naming for enums.
|
|
8882
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/
|
|
9179
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/prefer-singular-enums/
|
|
8883
9180
|
*/
|
|
8884
9181
|
'small-rules/prefer-singular-enums'?: Linter.RuleEntry<[]>;
|
|
8885
9182
|
/**
|
|
@@ -8899,7 +9196,7 @@ interface RuleOptions {
|
|
|
8899
9196
|
'small-rules/prefer-use-reducer'?: Linter.RuleEntry<[]>;
|
|
8900
9197
|
/**
|
|
8901
9198
|
* Prevent abbreviations.
|
|
8902
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/
|
|
9199
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/prevent-abbreviations/
|
|
8903
9200
|
*/
|
|
8904
9201
|
'small-rules/prevent-abbreviations'?: Linter.RuleEntry<SmallRulesPreventAbbreviations>;
|
|
8905
9202
|
/**
|
|
@@ -8937,6 +9234,16 @@ interface RuleOptions {
|
|
|
8937
9234
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/require-react-display-names/
|
|
8938
9235
|
*/
|
|
8939
9236
|
'small-rules/require-react-display-names'?: Linter.RuleEntry<SmallRulesRequireReactDisplayNames>;
|
|
9237
|
+
/**
|
|
9238
|
+
* Require readable spacing between declarations and logical statement groups.
|
|
9239
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/require-readable-spacing/
|
|
9240
|
+
*/
|
|
9241
|
+
'small-rules/require-readable-spacing'?: Linter.RuleEntry<SmallRulesRequireReadableSpacing>;
|
|
9242
|
+
/**
|
|
9243
|
+
* Require a nearby safety-marker comment (or a described Oxlint suppression of typescript/no-unsafe-type-assertion) for every TypeScript type assertion except const assertions.
|
|
9244
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/require-safety-comment-for-type-assertion/
|
|
9245
|
+
*/
|
|
9246
|
+
'small-rules/require-safety-comment-for-type-assertion'?: Linter.RuleEntry<SmallRulesRequireSafetyCommentForTypeAssertion>;
|
|
8940
9247
|
/**
|
|
8941
9248
|
* Require braces around switch case bodies selected by line span or statement count.
|
|
8942
9249
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/require-switch-case-braces/
|
|
@@ -8948,7 +9255,12 @@ interface RuleOptions {
|
|
|
8948
9255
|
*/
|
|
8949
9256
|
'small-rules/require-throw-error-capture'?: Linter.RuleEntry<SmallRulesRequireThrowErrorCapture>;
|
|
8950
9257
|
/**
|
|
8951
|
-
* Require
|
|
9258
|
+
* Require React hooks to be declared in a `.tsx` file.
|
|
9259
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/require-tsx-for-hooks/
|
|
9260
|
+
*/
|
|
9261
|
+
'small-rules/require-tsx-for-hooks'?: Linter.RuleEntry<[]>;
|
|
9262
|
+
/**
|
|
9263
|
+
* Require the 'u' or 'v' unicode flag on calls named `regex()`.
|
|
8952
9264
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/require-unicode-regex/
|
|
8953
9265
|
*/
|
|
8954
9266
|
'small-rules/require-unicode-regex'?: Linter.RuleEntry<[]>;
|
|
@@ -8957,6 +9269,11 @@ interface RuleOptions {
|
|
|
8957
9269
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/rerender-memo-with-default-value/
|
|
8958
9270
|
*/
|
|
8959
9271
|
'small-rules/rerender-memo-with-default-value'?: Linter.RuleEntry<[]>;
|
|
9272
|
+
/**
|
|
9273
|
+
* Require function and method names to begin with a verb.
|
|
9274
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/starts-with-verb/
|
|
9275
|
+
*/
|
|
9276
|
+
'small-rules/starts-with-verb'?: Linter.RuleEntry<SmallRulesStartsWithVerb>;
|
|
8960
9277
|
/**
|
|
8961
9278
|
* Prevent imports that reach into another component's nested modules.
|
|
8962
9279
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/strict-component-boundaries/
|
|
@@ -14550,11 +14867,20 @@ type FlawlessArrowReturnStyle = [] | [{
|
|
|
14550
14867
|
printWidth?: number;
|
|
14551
14868
|
});
|
|
14552
14869
|
}];
|
|
14870
|
+
// ----- flawless/cognitive-complexity -----
|
|
14871
|
+
type FlawlessCognitiveComplexity = [] | [{
|
|
14872
|
+
threshold?: number;
|
|
14873
|
+
}];
|
|
14553
14874
|
// ----- flawless/jsx-shorthand-fragment -----
|
|
14554
14875
|
type FlawlessJsxShorthandFragment = [] | [{
|
|
14555
14876
|
fragmentName?: string;
|
|
14556
14877
|
mode?: ("element" | "syntax");
|
|
14557
14878
|
}];
|
|
14879
|
+
// ----- flawless/max-comment-length -----
|
|
14880
|
+
type FlawlessMaxCommentLength = [] | [{
|
|
14881
|
+
ignoreJSDoc?: boolean;
|
|
14882
|
+
maximumWords?: number;
|
|
14883
|
+
}];
|
|
14558
14884
|
// ----- flawless/max-lines-per-function -----
|
|
14559
14885
|
type FlawlessMaxLinesPerFunction = [] | [{
|
|
14560
14886
|
countFrom?: ("body" | "function");
|
|
@@ -14569,6 +14895,7 @@ type _FlawlessNamingConventionFormatOptionsConfig = (_FlawlessNamingConventionPr
|
|
|
14569
14895
|
type _FlawlessNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
|
|
14570
14896
|
type _FlawlessNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
|
|
14571
14897
|
type _FlawlessNamingConvention_PrefixSuffixConfig = string[];
|
|
14898
|
+
type _FlawlessNamingConventionComponentPropConfig = true;
|
|
14572
14899
|
type _FlawlessNamingConvention_TypeArgumentReferenceMatcher = (_FlawlessNamingConventionTypeArgumentReferenceMatcher & {
|
|
14573
14900
|
name?: string;
|
|
14574
14901
|
from?: string;
|
|
@@ -14618,6 +14945,7 @@ type FlawlessNamingConvention = ({
|
|
|
14618
14945
|
prefix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
14619
14946
|
suffix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
14620
14947
|
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
14948
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14621
14949
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14622
14950
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
14623
14951
|
selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "objectStyleEnum" | "parameterProperty" | "classicAccessor" | "enumMember" | "objectStyleEnumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[];
|
|
@@ -14635,6 +14963,7 @@ type FlawlessNamingConvention = ({
|
|
|
14635
14963
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14636
14964
|
selector: "default";
|
|
14637
14965
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
14966
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14638
14967
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
14639
14968
|
} | {
|
|
14640
14969
|
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
@@ -14716,6 +15045,7 @@ type FlawlessNamingConvention = ({
|
|
|
14716
15045
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14717
15046
|
selector: "memberLike";
|
|
14718
15047
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15048
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14719
15049
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14720
15050
|
} | {
|
|
14721
15051
|
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
@@ -14757,6 +15087,7 @@ type FlawlessNamingConvention = ({
|
|
|
14757
15087
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14758
15088
|
selector: "typeProperty";
|
|
14759
15089
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15090
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14760
15091
|
modifiers?: ("public" | "readonly" | "requiresQuotes")[];
|
|
14761
15092
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14762
15093
|
} | {
|
|
@@ -14785,6 +15116,7 @@ type FlawlessNamingConvention = ({
|
|
|
14785
15116
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14786
15117
|
selector: "property";
|
|
14787
15118
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15119
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14788
15120
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14789
15121
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14790
15122
|
} | {
|
|
@@ -14827,6 +15159,7 @@ type FlawlessNamingConvention = ({
|
|
|
14827
15159
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14828
15160
|
selector: "typeMethod";
|
|
14829
15161
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15162
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14830
15163
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
14831
15164
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14832
15165
|
} | {
|
|
@@ -14841,6 +15174,7 @@ type FlawlessNamingConvention = ({
|
|
|
14841
15174
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14842
15175
|
selector: "method";
|
|
14843
15176
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15177
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14844
15178
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14845
15179
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14846
15180
|
} | {
|
|
@@ -15012,14 +15346,31 @@ type FlawlessNoConditionalInTest = [] | [{
|
|
|
15012
15346
|
additionalTestBlockFunctions?: string[];
|
|
15013
15347
|
allowOptionalChaining?: boolean;
|
|
15014
15348
|
}];
|
|
15349
|
+
// ----- flawless/no-ignored-return -----
|
|
15350
|
+
type FlawlessNoIgnoredReturn = [] | [{
|
|
15351
|
+
pureFunctions?: string[];
|
|
15352
|
+
}];
|
|
15015
15353
|
// ----- flawless/no-materialized-filter-map -----
|
|
15016
15354
|
type FlawlessNoMaterializedFilterMap = [] | [{
|
|
15017
15355
|
iteratorHelpers?: boolean;
|
|
15018
15356
|
}];
|
|
15357
|
+
// ----- flawless/no-redundant-type-annotation -----
|
|
15358
|
+
type FlawlessNoRedundantTypeAnnotation = [] | [{
|
|
15359
|
+
allowExpressions?: boolean;
|
|
15360
|
+
checkReturnTypes?: boolean;
|
|
15361
|
+
}];
|
|
15019
15362
|
// ----- flawless/no-shared-test-state -----
|
|
15020
15363
|
type FlawlessNoSharedTestState = [] | [{
|
|
15021
15364
|
additionalMutatingMethods?: string[];
|
|
15022
15365
|
}];
|
|
15366
|
+
// ----- flawless/no-trivial-functions -----
|
|
15367
|
+
type FlawlessNoTrivialFunctions = [] | [{
|
|
15368
|
+
minimumReferences?: number;
|
|
15369
|
+
}];
|
|
15370
|
+
// ----- flawless/no-unnecessary-prop-alias -----
|
|
15371
|
+
type FlawlessNoUnnecessaryPropAlias = [] | [{
|
|
15372
|
+
reportConflicts?: boolean;
|
|
15373
|
+
}];
|
|
15023
15374
|
// ----- flawless/prefer-ending-with-an-expect -----
|
|
15024
15375
|
type FlawlessPreferEndingWithAnExpect = [] | [{
|
|
15025
15376
|
additionalTestBlockFunctions?: string[];
|
|
@@ -15044,6 +15395,10 @@ type FlawlessPurity = [] | [{
|
|
|
15044
15395
|
additionalFunctions?: string[];
|
|
15045
15396
|
ignore?: string[];
|
|
15046
15397
|
}];
|
|
15398
|
+
// ----- flawless/react-namespace -----
|
|
15399
|
+
type FlawlessReactNamespace = [] | [{
|
|
15400
|
+
umdGlobal?: boolean;
|
|
15401
|
+
}];
|
|
15047
15402
|
// ----- flawless/toml-sort-keys -----
|
|
15048
15403
|
type FlawlessTomlSortKeys = {
|
|
15049
15404
|
order: (string[] | {
|
|
@@ -15053,6 +15408,24 @@ type FlawlessTomlSortKeys = {
|
|
|
15053
15408
|
});
|
|
15054
15409
|
pathPattern: string;
|
|
15055
15410
|
}[];
|
|
15411
|
+
// ----- flawless/yaml-sort-sequence-by-key -----
|
|
15412
|
+
type FlawlessYamlSortSequenceByKey = [{
|
|
15413
|
+
key: string;
|
|
15414
|
+
order?: {
|
|
15415
|
+
caseSensitive?: boolean;
|
|
15416
|
+
natural?: boolean;
|
|
15417
|
+
type?: ("asc" | "desc");
|
|
15418
|
+
};
|
|
15419
|
+
pathPattern: string;
|
|
15420
|
+
}, ...({
|
|
15421
|
+
key: string;
|
|
15422
|
+
order?: {
|
|
15423
|
+
caseSensitive?: boolean;
|
|
15424
|
+
natural?: boolean;
|
|
15425
|
+
type?: ("asc" | "desc");
|
|
15426
|
+
};
|
|
15427
|
+
pathPattern: string;
|
|
15428
|
+
})[]];
|
|
15056
15429
|
// ----- format-lua/stylua -----
|
|
15057
15430
|
type FormatLuaStylua = [] | [{
|
|
15058
15431
|
language?: string;
|
|
@@ -15334,6 +15707,7 @@ type JestValidTitle = [] | [{
|
|
|
15334
15707
|
}];
|
|
15335
15708
|
// ----- jsdoc/check-alignment -----
|
|
15336
15709
|
type JsdocCheckAlignment = [] | [{
|
|
15710
|
+
ignoreEmptyLines?: boolean;
|
|
15337
15711
|
innerIndent?: number;
|
|
15338
15712
|
}];
|
|
15339
15713
|
// ----- jsdoc/check-examples -----
|
|
@@ -15361,6 +15735,7 @@ type JsdocCheckExamples = [] | [{
|
|
|
15361
15735
|
// ----- jsdoc/check-indentation -----
|
|
15362
15736
|
type JsdocCheckIndentation = [] | [{
|
|
15363
15737
|
allowIndentedSections?: boolean;
|
|
15738
|
+
allowNoSpaceAfterAsterisk?: boolean;
|
|
15364
15739
|
excludeTags?: string[];
|
|
15365
15740
|
}];
|
|
15366
15741
|
// ----- jsdoc/check-line-alignment -----
|
|
@@ -15380,18 +15755,26 @@ type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always"
|
|
|
15380
15755
|
// ----- jsdoc/check-param-names -----
|
|
15381
15756
|
type JsdocCheckParamNames = [] | [{
|
|
15382
15757
|
allowExtraTrailingParamDocs?: boolean;
|
|
15758
|
+
badParamNames?: boolean;
|
|
15759
|
+
badParamOrder?: boolean;
|
|
15383
15760
|
checkDestructured?: boolean;
|
|
15384
15761
|
checkRestProperty?: boolean;
|
|
15385
15762
|
checkTypesPattern?: string;
|
|
15386
15763
|
disableExtraPropertyReporting?: boolean;
|
|
15387
15764
|
disableMissingParamChecks?: boolean;
|
|
15765
|
+
duplicateParams?: boolean;
|
|
15388
15766
|
enableFixer?: boolean;
|
|
15767
|
+
extraParams?: boolean;
|
|
15389
15768
|
useDefaultObjectProperties?: boolean;
|
|
15390
15769
|
}];
|
|
15391
15770
|
// ----- jsdoc/check-property-names -----
|
|
15392
15771
|
type JsdocCheckPropertyNames = [] | [{
|
|
15393
15772
|
enableFixer?: boolean;
|
|
15394
15773
|
}];
|
|
15774
|
+
// ----- jsdoc/check-syntax -----
|
|
15775
|
+
type JsdocCheckSyntax = [] | [{
|
|
15776
|
+
enableFixer?: boolean;
|
|
15777
|
+
}];
|
|
15395
15778
|
// ----- jsdoc/check-tag-names -----
|
|
15396
15779
|
type JsdocCheckTagNames = [] | [{
|
|
15397
15780
|
definedTags?: string[];
|
|
@@ -15566,6 +15949,15 @@ type JsdocNoUndefinedTypes = [] | [{
|
|
|
15566
15949
|
disableReporting?: boolean;
|
|
15567
15950
|
markVariablesAsUsed?: boolean;
|
|
15568
15951
|
}];
|
|
15952
|
+
// ----- jsdoc/no-unnecessary-type-assertion -----
|
|
15953
|
+
type JsdocNoUnnecessaryTypeAssertion = [] | [{
|
|
15954
|
+
checkLiteralConstAssertions?: boolean;
|
|
15955
|
+
enableFixer?: boolean;
|
|
15956
|
+
fixTypeChangingCasts?: boolean;
|
|
15957
|
+
preferConstToLiteralTuples?: boolean;
|
|
15958
|
+
treatAnyAsRedundant?: boolean;
|
|
15959
|
+
typesToIgnore?: string[];
|
|
15960
|
+
}];
|
|
15569
15961
|
// ----- jsdoc/normalize-see-links -----
|
|
15570
15962
|
type JsdocNormalizeSeeLinks = [] | [{
|
|
15571
15963
|
canonicalForm?: ("pipe" | "prefix");
|
|
@@ -15768,7 +16160,6 @@ type JsdocRequireTags = [] | [{
|
|
|
15768
16160
|
tags?: (string | {
|
|
15769
16161
|
context?: string;
|
|
15770
16162
|
tag?: string;
|
|
15771
|
-
[k: string]: unknown | undefined;
|
|
15772
16163
|
})[];
|
|
15773
16164
|
}];
|
|
15774
16165
|
// ----- jsdoc/require-template -----
|
|
@@ -15839,6 +16230,22 @@ type JsdocTextEscaping = [] | [{
|
|
|
15839
16230
|
escapeHTML?: boolean;
|
|
15840
16231
|
escapeMarkdown?: boolean;
|
|
15841
16232
|
}];
|
|
16233
|
+
// ----- jsdoc/ts-ban-ts-comment -----
|
|
16234
|
+
type JsdocTsBanTsComment = [] | [{
|
|
16235
|
+
minimumDescriptionLength?: number;
|
|
16236
|
+
"ts-check"?: (boolean | "allow-with-description" | {
|
|
16237
|
+
descriptionFormat?: string;
|
|
16238
|
+
});
|
|
16239
|
+
"ts-expect-error"?: (boolean | "allow-with-description" | {
|
|
16240
|
+
descriptionFormat?: string;
|
|
16241
|
+
});
|
|
16242
|
+
"ts-ignore"?: (boolean | "allow-with-description" | {
|
|
16243
|
+
descriptionFormat?: string;
|
|
16244
|
+
});
|
|
16245
|
+
"ts-nocheck"?: (boolean | "allow-with-description" | {
|
|
16246
|
+
descriptionFormat?: string;
|
|
16247
|
+
});
|
|
16248
|
+
}];
|
|
15842
16249
|
// ----- jsdoc/ts-method-signature-style -----
|
|
15843
16250
|
type JsdocTsMethodSignatureStyle = [] | [("method" | "property")] | [("method" | "property"), {
|
|
15844
16251
|
enableFixer?: boolean;
|
|
@@ -18350,8 +18757,8 @@ type PerfectionistSortClasses = {
|
|
|
18350
18757
|
});
|
|
18351
18758
|
partitionByNewLine?: boolean;
|
|
18352
18759
|
}[];
|
|
18353
|
-
// ----- perfectionist/sort-
|
|
18354
|
-
type
|
|
18760
|
+
// ----- perfectionist/sort-constructor-parameters -----
|
|
18761
|
+
type PerfectionistSortConstructorParameters = [{
|
|
18355
18762
|
fallbackSort?: {
|
|
18356
18763
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18357
18764
|
order?: ("asc" | "desc");
|
|
@@ -18379,6 +18786,15 @@ type PerfectionistSortDecorators = {
|
|
|
18379
18786
|
pattern: string;
|
|
18380
18787
|
flags?: string;
|
|
18381
18788
|
} | string));
|
|
18789
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18790
|
+
selector?: "parameter";
|
|
18791
|
+
decoratorNamePattern?: (({
|
|
18792
|
+
pattern: string;
|
|
18793
|
+
flags?: string;
|
|
18794
|
+
} | string)[] | ({
|
|
18795
|
+
pattern: string;
|
|
18796
|
+
flags?: string;
|
|
18797
|
+
} | string));
|
|
18382
18798
|
}, ...({
|
|
18383
18799
|
elementNamePattern?: (({
|
|
18384
18800
|
pattern: string;
|
|
@@ -18387,6 +18803,15 @@ type PerfectionistSortDecorators = {
|
|
|
18387
18803
|
pattern: string;
|
|
18388
18804
|
flags?: string;
|
|
18389
18805
|
} | string));
|
|
18806
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18807
|
+
selector?: "parameter";
|
|
18808
|
+
decoratorNamePattern?: (({
|
|
18809
|
+
pattern: string;
|
|
18810
|
+
flags?: string;
|
|
18811
|
+
} | string)[] | ({
|
|
18812
|
+
pattern: string;
|
|
18813
|
+
flags?: string;
|
|
18814
|
+
} | string));
|
|
18390
18815
|
})[]];
|
|
18391
18816
|
} | {
|
|
18392
18817
|
fallbackSort?: {
|
|
@@ -18404,6 +18829,15 @@ type PerfectionistSortDecorators = {
|
|
|
18404
18829
|
pattern: string;
|
|
18405
18830
|
flags?: string;
|
|
18406
18831
|
} | string));
|
|
18832
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18833
|
+
selector?: "parameter";
|
|
18834
|
+
decoratorNamePattern?: (({
|
|
18835
|
+
pattern: string;
|
|
18836
|
+
flags?: string;
|
|
18837
|
+
} | string)[] | ({
|
|
18838
|
+
pattern: string;
|
|
18839
|
+
flags?: string;
|
|
18840
|
+
} | string));
|
|
18407
18841
|
})[];
|
|
18408
18842
|
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
18409
18843
|
groups?: (string | [string, ...(string)[]] | {
|
|
@@ -18420,18 +18854,251 @@ type PerfectionistSortDecorators = {
|
|
|
18420
18854
|
order?: ("asc" | "desc");
|
|
18421
18855
|
})[];
|
|
18422
18856
|
newlinesBetween?: ("ignore" | number);
|
|
18423
|
-
|
|
18424
|
-
|
|
18425
|
-
|
|
18426
|
-
|
|
18427
|
-
|
|
18428
|
-
|
|
18429
|
-
|
|
18430
|
-
|
|
18431
|
-
|
|
18432
|
-
|
|
18433
|
-
|
|
18434
|
-
|
|
18857
|
+
useConfigurationIf: {
|
|
18858
|
+
allNamesMatchPattern?: (({
|
|
18859
|
+
pattern: string;
|
|
18860
|
+
flags?: string;
|
|
18861
|
+
} | string)[] | ({
|
|
18862
|
+
pattern: string;
|
|
18863
|
+
flags?: string;
|
|
18864
|
+
} | string));
|
|
18865
|
+
matchesAstSelector?: string;
|
|
18866
|
+
};
|
|
18867
|
+
partitionByComment?: (boolean | (({
|
|
18868
|
+
pattern: string;
|
|
18869
|
+
flags?: string;
|
|
18870
|
+
} | string)[] | ({
|
|
18871
|
+
pattern: string;
|
|
18872
|
+
flags?: string;
|
|
18873
|
+
} | string)) | {
|
|
18874
|
+
block?: (boolean | (({
|
|
18875
|
+
pattern: string;
|
|
18876
|
+
flags?: string;
|
|
18877
|
+
} | string)[] | ({
|
|
18878
|
+
pattern: string;
|
|
18879
|
+
flags?: string;
|
|
18880
|
+
} | string)));
|
|
18881
|
+
line?: (boolean | (({
|
|
18882
|
+
pattern: string;
|
|
18883
|
+
flags?: string;
|
|
18884
|
+
} | string)[] | ({
|
|
18885
|
+
pattern: string;
|
|
18886
|
+
flags?: string;
|
|
18887
|
+
} | string)));
|
|
18888
|
+
});
|
|
18889
|
+
partitionByNewLine?: boolean;
|
|
18890
|
+
}, ...({
|
|
18891
|
+
fallbackSort?: {
|
|
18892
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18893
|
+
order?: ("asc" | "desc");
|
|
18894
|
+
};
|
|
18895
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18896
|
+
specialCharacters?: ("remove" | "trim" | "keep");
|
|
18897
|
+
ignoreCase?: boolean;
|
|
18898
|
+
alphabet?: string;
|
|
18899
|
+
locales?: (string | string[]);
|
|
18900
|
+
order?: ("asc" | "desc");
|
|
18901
|
+
customGroups?: ({
|
|
18902
|
+
fallbackSort?: {
|
|
18903
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18904
|
+
order?: ("asc" | "desc");
|
|
18905
|
+
};
|
|
18906
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18907
|
+
groupName: string;
|
|
18908
|
+
newlinesInside?: ("ignore" | number);
|
|
18909
|
+
order?: ("asc" | "desc");
|
|
18910
|
+
anyOf: [{
|
|
18911
|
+
elementNamePattern?: (({
|
|
18912
|
+
pattern: string;
|
|
18913
|
+
flags?: string;
|
|
18914
|
+
} | string)[] | ({
|
|
18915
|
+
pattern: string;
|
|
18916
|
+
flags?: string;
|
|
18917
|
+
} | string));
|
|
18918
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18919
|
+
selector?: "parameter";
|
|
18920
|
+
decoratorNamePattern?: (({
|
|
18921
|
+
pattern: string;
|
|
18922
|
+
flags?: string;
|
|
18923
|
+
} | string)[] | ({
|
|
18924
|
+
pattern: string;
|
|
18925
|
+
flags?: string;
|
|
18926
|
+
} | string));
|
|
18927
|
+
}, ...({
|
|
18928
|
+
elementNamePattern?: (({
|
|
18929
|
+
pattern: string;
|
|
18930
|
+
flags?: string;
|
|
18931
|
+
} | string)[] | ({
|
|
18932
|
+
pattern: string;
|
|
18933
|
+
flags?: string;
|
|
18934
|
+
} | string));
|
|
18935
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18936
|
+
selector?: "parameter";
|
|
18937
|
+
decoratorNamePattern?: (({
|
|
18938
|
+
pattern: string;
|
|
18939
|
+
flags?: string;
|
|
18940
|
+
} | string)[] | ({
|
|
18941
|
+
pattern: string;
|
|
18942
|
+
flags?: string;
|
|
18943
|
+
} | string));
|
|
18944
|
+
})[]];
|
|
18945
|
+
} | {
|
|
18946
|
+
fallbackSort?: {
|
|
18947
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18948
|
+
order?: ("asc" | "desc");
|
|
18949
|
+
};
|
|
18950
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18951
|
+
groupName: string;
|
|
18952
|
+
newlinesInside?: ("ignore" | number);
|
|
18953
|
+
order?: ("asc" | "desc");
|
|
18954
|
+
elementNamePattern?: (({
|
|
18955
|
+
pattern: string;
|
|
18956
|
+
flags?: string;
|
|
18957
|
+
} | string)[] | ({
|
|
18958
|
+
pattern: string;
|
|
18959
|
+
flags?: string;
|
|
18960
|
+
} | string));
|
|
18961
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18962
|
+
selector?: "parameter";
|
|
18963
|
+
decoratorNamePattern?: (({
|
|
18964
|
+
pattern: string;
|
|
18965
|
+
flags?: string;
|
|
18966
|
+
} | string)[] | ({
|
|
18967
|
+
pattern: string;
|
|
18968
|
+
flags?: string;
|
|
18969
|
+
} | string));
|
|
18970
|
+
})[];
|
|
18971
|
+
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
18972
|
+
groups?: (string | [string, ...(string)[]] | {
|
|
18973
|
+
newlinesBetween: ("ignore" | number);
|
|
18974
|
+
} | {
|
|
18975
|
+
group: (string | [string, ...(string)[]]);
|
|
18976
|
+
fallbackSort?: {
|
|
18977
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18978
|
+
order?: ("asc" | "desc");
|
|
18979
|
+
};
|
|
18980
|
+
commentAbove?: string;
|
|
18981
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18982
|
+
newlinesInside?: ("ignore" | number);
|
|
18983
|
+
order?: ("asc" | "desc");
|
|
18984
|
+
})[];
|
|
18985
|
+
newlinesBetween?: ("ignore" | number);
|
|
18986
|
+
useConfigurationIf: {
|
|
18987
|
+
allNamesMatchPattern?: (({
|
|
18988
|
+
pattern: string;
|
|
18989
|
+
flags?: string;
|
|
18990
|
+
} | string)[] | ({
|
|
18991
|
+
pattern: string;
|
|
18992
|
+
flags?: string;
|
|
18993
|
+
} | string));
|
|
18994
|
+
matchesAstSelector?: string;
|
|
18995
|
+
};
|
|
18996
|
+
partitionByComment?: (boolean | (({
|
|
18997
|
+
pattern: string;
|
|
18998
|
+
flags?: string;
|
|
18999
|
+
} | string)[] | ({
|
|
19000
|
+
pattern: string;
|
|
19001
|
+
flags?: string;
|
|
19002
|
+
} | string)) | {
|
|
19003
|
+
block?: (boolean | (({
|
|
19004
|
+
pattern: string;
|
|
19005
|
+
flags?: string;
|
|
19006
|
+
} | string)[] | ({
|
|
19007
|
+
pattern: string;
|
|
19008
|
+
flags?: string;
|
|
19009
|
+
} | string)));
|
|
19010
|
+
line?: (boolean | (({
|
|
19011
|
+
pattern: string;
|
|
19012
|
+
flags?: string;
|
|
19013
|
+
} | string)[] | ({
|
|
19014
|
+
pattern: string;
|
|
19015
|
+
flags?: string;
|
|
19016
|
+
} | string)));
|
|
19017
|
+
});
|
|
19018
|
+
partitionByNewLine?: boolean;
|
|
19019
|
+
})[]];
|
|
19020
|
+
// ----- perfectionist/sort-decorators -----
|
|
19021
|
+
type PerfectionistSortDecorators = {
|
|
19022
|
+
fallbackSort?: {
|
|
19023
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19024
|
+
order?: ("asc" | "desc");
|
|
19025
|
+
};
|
|
19026
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19027
|
+
specialCharacters?: ("remove" | "trim" | "keep");
|
|
19028
|
+
ignoreCase?: boolean;
|
|
19029
|
+
alphabet?: string;
|
|
19030
|
+
locales?: (string | string[]);
|
|
19031
|
+
order?: ("asc" | "desc");
|
|
19032
|
+
customGroups?: ({
|
|
19033
|
+
fallbackSort?: {
|
|
19034
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19035
|
+
order?: ("asc" | "desc");
|
|
19036
|
+
};
|
|
19037
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19038
|
+
groupName: string;
|
|
19039
|
+
newlinesInside?: ("ignore" | number);
|
|
19040
|
+
order?: ("asc" | "desc");
|
|
19041
|
+
anyOf: [{
|
|
19042
|
+
elementNamePattern?: (({
|
|
19043
|
+
pattern: string;
|
|
19044
|
+
flags?: string;
|
|
19045
|
+
} | string)[] | ({
|
|
19046
|
+
pattern: string;
|
|
19047
|
+
flags?: string;
|
|
19048
|
+
} | string));
|
|
19049
|
+
}, ...({
|
|
19050
|
+
elementNamePattern?: (({
|
|
19051
|
+
pattern: string;
|
|
19052
|
+
flags?: string;
|
|
19053
|
+
} | string)[] | ({
|
|
19054
|
+
pattern: string;
|
|
19055
|
+
flags?: string;
|
|
19056
|
+
} | string));
|
|
19057
|
+
})[]];
|
|
19058
|
+
} | {
|
|
19059
|
+
fallbackSort?: {
|
|
19060
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19061
|
+
order?: ("asc" | "desc");
|
|
19062
|
+
};
|
|
19063
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19064
|
+
groupName: string;
|
|
19065
|
+
newlinesInside?: ("ignore" | number);
|
|
19066
|
+
order?: ("asc" | "desc");
|
|
19067
|
+
elementNamePattern?: (({
|
|
19068
|
+
pattern: string;
|
|
19069
|
+
flags?: string;
|
|
19070
|
+
} | string)[] | ({
|
|
19071
|
+
pattern: string;
|
|
19072
|
+
flags?: string;
|
|
19073
|
+
} | string));
|
|
19074
|
+
})[];
|
|
19075
|
+
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
19076
|
+
groups?: (string | [string, ...(string)[]] | {
|
|
19077
|
+
newlinesBetween: ("ignore" | number);
|
|
19078
|
+
} | {
|
|
19079
|
+
group: (string | [string, ...(string)[]]);
|
|
19080
|
+
fallbackSort?: {
|
|
19081
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19082
|
+
order?: ("asc" | "desc");
|
|
19083
|
+
};
|
|
19084
|
+
commentAbove?: string;
|
|
19085
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19086
|
+
newlinesInside?: ("ignore" | number);
|
|
19087
|
+
order?: ("asc" | "desc");
|
|
19088
|
+
})[];
|
|
19089
|
+
newlinesBetween?: ("ignore" | number);
|
|
19090
|
+
sortOnParameters?: boolean;
|
|
19091
|
+
sortOnProperties?: boolean;
|
|
19092
|
+
sortOnAccessors?: boolean;
|
|
19093
|
+
sortOnMethods?: boolean;
|
|
19094
|
+
sortOnClasses?: boolean;
|
|
19095
|
+
partitionByComment?: (boolean | (({
|
|
19096
|
+
pattern: string;
|
|
19097
|
+
flags?: string;
|
|
19098
|
+
} | string)[] | ({
|
|
19099
|
+
pattern: string;
|
|
19100
|
+
flags?: string;
|
|
19101
|
+
} | string)) | {
|
|
18435
19102
|
block?: (boolean | (({
|
|
18436
19103
|
pattern: string;
|
|
18437
19104
|
flags?: string;
|
|
@@ -19072,10 +19739,6 @@ type PerfectionistSortImports = {
|
|
|
19072
19739
|
sortBy?: ("specifier" | "path");
|
|
19073
19740
|
})[];
|
|
19074
19741
|
newlinesBetween?: ("ignore" | number);
|
|
19075
|
-
tsconfig?: {
|
|
19076
|
-
rootDir: string;
|
|
19077
|
-
filename?: string;
|
|
19078
|
-
};
|
|
19079
19742
|
maxLineLength?: number;
|
|
19080
19743
|
sortSideEffects?: boolean;
|
|
19081
19744
|
environment?: ("node" | "bun");
|
|
@@ -19110,6 +19773,10 @@ type PerfectionistSortImports = {
|
|
|
19110
19773
|
pattern: string;
|
|
19111
19774
|
flags?: string;
|
|
19112
19775
|
} | string));
|
|
19776
|
+
tsconfig?: {
|
|
19777
|
+
rootDir: string;
|
|
19778
|
+
filename?: string;
|
|
19779
|
+
};
|
|
19113
19780
|
}[];
|
|
19114
19781
|
// ----- perfectionist/sort-interfaces -----
|
|
19115
19782
|
type PerfectionistSortInterfaces = {
|
|
@@ -19694,6 +20361,7 @@ type PerfectionistSortModules = [] | [{
|
|
|
19694
20361
|
order?: ("asc" | "desc");
|
|
19695
20362
|
})[];
|
|
19696
20363
|
newlinesBetween?: ("ignore" | number);
|
|
20364
|
+
additionalModuleBlockTypes?: string[];
|
|
19697
20365
|
useExperimentalDependencyDetection?: boolean;
|
|
19698
20366
|
newlinesBetweenOverloadSignatures?: ("ignore" | number);
|
|
19699
20367
|
partitionByComment?: (boolean | (({
|
|
@@ -19719,6 +20387,10 @@ type PerfectionistSortModules = [] | [{
|
|
|
19719
20387
|
} | string)));
|
|
19720
20388
|
});
|
|
19721
20389
|
partitionByNewLine?: boolean;
|
|
20390
|
+
tsconfig?: {
|
|
20391
|
+
rootDir: string;
|
|
20392
|
+
filename?: string;
|
|
20393
|
+
};
|
|
19722
20394
|
}];
|
|
19723
20395
|
// ----- perfectionist/sort-named-exports -----
|
|
19724
20396
|
type PerfectionistSortNamedExports = {
|
|
@@ -20247,6 +20919,13 @@ type PerfectionistSortObjects = {
|
|
|
20247
20919
|
partitionByComputedKey?: boolean;
|
|
20248
20920
|
styledComponents?: boolean;
|
|
20249
20921
|
useExperimentalDependencyDetection?: boolean;
|
|
20922
|
+
ignoreCallbackDependenciesPatterns?: (({
|
|
20923
|
+
pattern: string;
|
|
20924
|
+
flags?: string;
|
|
20925
|
+
} | string)[] | ({
|
|
20926
|
+
pattern: string;
|
|
20927
|
+
flags?: string;
|
|
20928
|
+
} | string));
|
|
20250
20929
|
partitionByComment?: (boolean | (({
|
|
20251
20930
|
pattern: string;
|
|
20252
20931
|
flags?: string;
|
|
@@ -20582,6 +21261,13 @@ type PerfectionistSortVariableDeclarations = {
|
|
|
20582
21261
|
matchesAstSelector?: string;
|
|
20583
21262
|
};
|
|
20584
21263
|
useExperimentalDependencyDetection?: boolean;
|
|
21264
|
+
ignoreCallbackDependenciesPatterns?: (({
|
|
21265
|
+
pattern: string;
|
|
21266
|
+
flags?: string;
|
|
21267
|
+
} | string)[] | ({
|
|
21268
|
+
pattern: string;
|
|
21269
|
+
flags?: string;
|
|
21270
|
+
} | string));
|
|
20585
21271
|
partitionByComment?: (boolean | (({
|
|
20586
21272
|
pattern: string;
|
|
20587
21273
|
flags?: string;
|
|
@@ -20866,6 +21552,13 @@ type SmallRulesConsistentCompoundWords = [] | [{
|
|
|
20866
21552
|
[k: string]: (false | string) | undefined;
|
|
20867
21553
|
};
|
|
20868
21554
|
}];
|
|
21555
|
+
// ----- small-rules/curly -----
|
|
21556
|
+
type SmallRulesCurly = [] | [{
|
|
21557
|
+
allowLiteralReturns?: boolean;
|
|
21558
|
+
oneLineBodies?: (("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type") | [("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type"), ...(("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type"))[]]);
|
|
21559
|
+
printWidth?: number;
|
|
21560
|
+
tabWidth?: number;
|
|
21561
|
+
}];
|
|
20869
21562
|
// ----- small-rules/directive-disable-enable-pair -----
|
|
20870
21563
|
type SmallRulesDirectiveDisableEnablePair = [] | [{
|
|
20871
21564
|
allowWholeFile?: boolean;
|
|
@@ -20900,11 +21593,15 @@ type SmallRulesIsolatedFunctions = [] | [{
|
|
|
20900
21593
|
type SmallRulesMemoizedEffectDependencies = [] | [{
|
|
20901
21594
|
environment?: ("roblox-ts" | "standard");
|
|
20902
21595
|
hooks?: {
|
|
20903
|
-
dependenciesIndex?: number;
|
|
20904
21596
|
name: string;
|
|
21597
|
+
dependenciesIndex?: number;
|
|
20905
21598
|
}[];
|
|
20906
21599
|
mode?: ("aggressive" | "definite" | "moderate");
|
|
20907
21600
|
}];
|
|
21601
|
+
// ----- small-rules/no-adjust-state-on-prop-change -----
|
|
21602
|
+
type SmallRulesNoAdjustStateOnPropChange = [] | [{
|
|
21603
|
+
environment?: ("roblox-ts" | "standard");
|
|
21604
|
+
}];
|
|
20908
21605
|
// ----- small-rules/no-array-constructor-elements -----
|
|
20909
21606
|
type SmallRulesNoArrayConstructorElements = [] | [{
|
|
20910
21607
|
environment?: ("roblox-ts" | "standard");
|
|
@@ -20931,6 +21628,18 @@ type SmallRulesNoAsyncInSystem = [] | [{
|
|
|
20931
21628
|
calleePath: [string, ...(string)[]];
|
|
20932
21629
|
}[];
|
|
20933
21630
|
}];
|
|
21631
|
+
// ----- small-rules/no-chain-state-updates -----
|
|
21632
|
+
type SmallRulesNoChainStateUpdates = [] | [{
|
|
21633
|
+
environment?: ("roblox-ts" | "standard");
|
|
21634
|
+
}];
|
|
21635
|
+
// ----- small-rules/no-chained-type-assertions -----
|
|
21636
|
+
type SmallRulesNoChainedTypeAssertions = [] | [{
|
|
21637
|
+
allowedTargets?: string[];
|
|
21638
|
+
}];
|
|
21639
|
+
// ----- small-rules/no-cliffy-action-wrapper -----
|
|
21640
|
+
type SmallRulesNoCliffyActionWrapper = [] | [{
|
|
21641
|
+
factories?: string[];
|
|
21642
|
+
}];
|
|
20934
21643
|
// ----- small-rules/no-color3-constructor -----
|
|
20935
21644
|
type SmallRulesNoColor3Constructor = [] | [{
|
|
20936
21645
|
reportUnknownComponents?: boolean;
|
|
@@ -20943,10 +21652,22 @@ type SmallRulesNoCommentedCode = [] | [{
|
|
|
20943
21652
|
type SmallRulesNoConstantConditionWithBreak = [] | [{
|
|
20944
21653
|
loopExitCalls?: string[];
|
|
20945
21654
|
}];
|
|
21655
|
+
// ----- small-rules/no-derived-state -----
|
|
21656
|
+
type SmallRulesNoDerivedState = [] | [{
|
|
21657
|
+
environment?: ("roblox-ts" | "standard");
|
|
21658
|
+
}];
|
|
21659
|
+
// ----- small-rules/no-event-handler -----
|
|
21660
|
+
type SmallRulesNoEventHandler = [] | [{
|
|
21661
|
+
environment?: ("roblox-ts" | "standard");
|
|
21662
|
+
}];
|
|
20946
21663
|
// ----- small-rules/no-events-in-events-callback -----
|
|
20947
21664
|
type SmallRulesNoEventsInEventsCallback = [] | [{
|
|
20948
21665
|
eventsImportPaths: string[];
|
|
20949
21666
|
}];
|
|
21667
|
+
// ----- small-rules/no-external-store-subscription -----
|
|
21668
|
+
type SmallRulesNoExternalStoreSubscription = [] | [{
|
|
21669
|
+
environment?: ("roblox-ts" | "standard");
|
|
21670
|
+
}];
|
|
20950
21671
|
// ----- small-rules/no-god-components -----
|
|
20951
21672
|
type SmallRulesNoGodComponents = [] | [{
|
|
20952
21673
|
enforceTargetLines?: boolean;
|
|
@@ -20966,20 +21687,53 @@ type SmallRulesNoIdentityMap = [] | [{
|
|
|
20966
21687
|
type SmallRulesNoIncrementDecrement = [] | [{
|
|
20967
21688
|
allowAutofix?: boolean;
|
|
20968
21689
|
}];
|
|
21690
|
+
// ----- small-rules/no-initialize-state -----
|
|
21691
|
+
type SmallRulesNoInitializeState = [] | [{
|
|
21692
|
+
environment?: ("roblox-ts" | "standard");
|
|
21693
|
+
}];
|
|
21694
|
+
// ----- small-rules/no-inline-signature-types -----
|
|
21695
|
+
type SmallRulesNoInlineSignatureTypes = [] | [{
|
|
21696
|
+
functions?: ("all" | "components");
|
|
21697
|
+
position?: ("anywhere" | "bare" | "wrapped");
|
|
21698
|
+
returnTypes?: boolean;
|
|
21699
|
+
}];
|
|
20969
21700
|
// ----- small-rules/no-instance-methods-without-this -----
|
|
20970
21701
|
type SmallRulesNoInstanceMethodsWithoutThis = [] | [{
|
|
20971
21702
|
checkPrivate?: boolean;
|
|
20972
21703
|
checkProtected?: boolean;
|
|
20973
21704
|
checkPublic?: boolean;
|
|
20974
21705
|
}];
|
|
21706
|
+
// ----- small-rules/no-multiple-cliffy-commands -----
|
|
21707
|
+
type SmallRulesNoMultipleCliffyCommands = [] | [{
|
|
21708
|
+
factories?: string[];
|
|
21709
|
+
}];
|
|
20975
21710
|
// ----- small-rules/no-new-instance-in-use-memo -----
|
|
20976
21711
|
type SmallRulesNoNewInstanceInUseMemo = [] | [{
|
|
20977
21712
|
constructors?: string[];
|
|
20978
21713
|
environment?: ("roblox-ts" | "standard");
|
|
20979
21714
|
maxHelperTraceDepth?: number;
|
|
20980
21715
|
}];
|
|
21716
|
+
// ----- small-rules/no-pass-data-to-parent -----
|
|
21717
|
+
type SmallRulesNoPassDataToParent = [] | [{
|
|
21718
|
+
environment?: ("roblox-ts" | "standard");
|
|
21719
|
+
}];
|
|
21720
|
+
// ----- small-rules/no-pass-live-state-to-parent -----
|
|
21721
|
+
type SmallRulesNoPassLiveStateToParent = [] | [{
|
|
21722
|
+
environment?: ("roblox-ts" | "standard");
|
|
21723
|
+
}];
|
|
21724
|
+
// ----- small-rules/no-real-temporary-directory -----
|
|
21725
|
+
type SmallRulesNoRealTemporaryDirectory = [] | [{
|
|
21726
|
+
additionalFunctions?: {
|
|
21727
|
+
functions: [string, ...(string)[]];
|
|
21728
|
+
source: string;
|
|
21729
|
+
}[];
|
|
21730
|
+
}];
|
|
20981
21731
|
// ----- small-rules/no-recursive -----
|
|
20982
21732
|
type SmallRulesNoRecursive = [] | [{}];
|
|
21733
|
+
// ----- small-rules/no-reset-all-state-on-prop-change -----
|
|
21734
|
+
type SmallRulesNoResetAllStateOnPropChange = [] | [{
|
|
21735
|
+
environment?: ("roblox-ts" | "standard");
|
|
21736
|
+
}];
|
|
20983
21737
|
// ----- small-rules/no-restricted-property-assignment -----
|
|
20984
21738
|
type SmallRulesNoRestrictedPropertyAssignment = [] | [{
|
|
20985
21739
|
allowFiles?: string[];
|
|
@@ -20990,10 +21744,30 @@ type SmallRulesNoRestrictedPropertyAssignment = [] | [{
|
|
|
20990
21744
|
properties: [string, ...(string)[]];
|
|
20991
21745
|
}[];
|
|
20992
21746
|
}];
|
|
21747
|
+
// ----- small-rules/no-runtime-in-type-files -----
|
|
21748
|
+
type SmallRulesNoRuntimeInTypeFiles = [] | [{
|
|
21749
|
+
files?: string[];
|
|
21750
|
+
}];
|
|
21751
|
+
// ----- small-rules/no-runtime-typeof -----
|
|
21752
|
+
type SmallRulesNoRuntimeTypeof = [] | [{
|
|
21753
|
+
allowInTypeGuards?: boolean;
|
|
21754
|
+
}];
|
|
20993
21755
|
// ----- small-rules/no-static-react-create-element -----
|
|
20994
21756
|
type SmallRulesNoStaticReactCreateElement = [] | [{
|
|
20995
21757
|
environment?: ("roblox-ts" | "standard");
|
|
20996
21758
|
}];
|
|
21759
|
+
// ----- small-rules/no-test-timeout -----
|
|
21760
|
+
type SmallRulesNoTestTimeout = [] | [{
|
|
21761
|
+
additionalTestFunctions?: string[];
|
|
21762
|
+
}];
|
|
21763
|
+
// ----- small-rules/no-unsupported-syntax -----
|
|
21764
|
+
type SmallRulesNoUnsupportedSyntax = [] | [{
|
|
21765
|
+
globalThis?: boolean;
|
|
21766
|
+
labels?: boolean;
|
|
21767
|
+
prototype?: boolean;
|
|
21768
|
+
regexLiterals?: boolean;
|
|
21769
|
+
spreadDestructuring?: boolean;
|
|
21770
|
+
}];
|
|
20997
21771
|
// ----- small-rules/no-unused-imports -----
|
|
20998
21772
|
type SmallRulesNoUnusedImports = [] | [{
|
|
20999
21773
|
checkJSDoc?: boolean;
|
|
@@ -21006,6 +21780,10 @@ type SmallRulesNoUnusedUseMemo = [] | [{
|
|
|
21006
21780
|
type SmallRulesNoUselessConstants = [] | [{
|
|
21007
21781
|
ignoreCallPatterns?: string[];
|
|
21008
21782
|
}];
|
|
21783
|
+
// ----- small-rules/no-useless-empty-string-comparison -----
|
|
21784
|
+
type SmallRulesNoUselessEmptyStringComparison = [] | [{
|
|
21785
|
+
allowAutofix?: boolean;
|
|
21786
|
+
}];
|
|
21009
21787
|
// ----- small-rules/no-useless-use-effect -----
|
|
21010
21788
|
type SmallRulesNoUselessUseEffect = [] | [{
|
|
21011
21789
|
environment?: ("roblox-ts" | "standard");
|
|
@@ -21030,7 +21808,7 @@ type SmallRulesNoUselessUseEffect = [] | [{
|
|
|
21030
21808
|
}];
|
|
21031
21809
|
// ----- small-rules/no-useless-use-memo -----
|
|
21032
21810
|
type SmallRulesNoUselessUseMemo = [] | [{
|
|
21033
|
-
dependencyMode?: ("empty-or-omitted" | "
|
|
21811
|
+
dependencyMode?: ("empty-or-omitted" | "aggressive" | "non-updating");
|
|
21034
21812
|
environment?: ("roblox-ts" | "standard");
|
|
21035
21813
|
staticGlobalFactories?: string[];
|
|
21036
21814
|
}];
|
|
@@ -21104,8 +21882,8 @@ type SmallRulesRequireModuleLevelInstantiation = [] | [{
|
|
|
21104
21882
|
type SmallRulesRequireNamedEffectFunctions = [] | [{
|
|
21105
21883
|
environment?: ("roblox-ts" | "standard");
|
|
21106
21884
|
hooks?: {
|
|
21107
|
-
allowAsync: boolean;
|
|
21108
21885
|
name: string;
|
|
21886
|
+
allowAsync: boolean;
|
|
21109
21887
|
}[];
|
|
21110
21888
|
inlineFunctionDeclarations?: boolean;
|
|
21111
21889
|
sloptor?: boolean;
|
|
@@ -21144,6 +21922,28 @@ type SmallRulesRequireReactComponentKeys = [] | [{
|
|
|
21144
21922
|
type SmallRulesRequireReactDisplayNames = [] | [{
|
|
21145
21923
|
environment?: ("roblox-ts" | "standard");
|
|
21146
21924
|
}];
|
|
21925
|
+
// ----- small-rules/require-readable-spacing -----
|
|
21926
|
+
type SmallRulesRequireReadableSpacing = [] | [{
|
|
21927
|
+
afterBlocks?: boolean;
|
|
21928
|
+
afterImports?: boolean;
|
|
21929
|
+
allowAttachedUses?: boolean;
|
|
21930
|
+
allowGuardClauseRuns?: boolean;
|
|
21931
|
+
allowMultilineBindingRuns?: boolean;
|
|
21932
|
+
aroundDeclarations?: boolean;
|
|
21933
|
+
aroundMultilineBindings?: boolean;
|
|
21934
|
+
beforeControlFlow?: boolean;
|
|
21935
|
+
betweenTopLevelStatements?: boolean;
|
|
21936
|
+
overrides?: {
|
|
21937
|
+
blankLine: ("always" | "any");
|
|
21938
|
+
next: (("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type") | [("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type"), ...(("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type"))[]]);
|
|
21939
|
+
previous: (("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type") | [("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type"), ...(("*" | "binding" | "block-like" | "break" | "class" | "continue" | "control-flow" | "declaration" | "enum" | "export" | "expression" | "function" | "if" | "import" | "interface" | "loop" | "multiline" | "multiline-binding" | "overload" | "return" | "single-line" | "single-line-binding" | "single-line-if" | "switch" | "throw" | "top-level" | "try" | "type"))[]]);
|
|
21940
|
+
usesPrevious?: boolean;
|
|
21941
|
+
}[];
|
|
21942
|
+
}];
|
|
21943
|
+
// ----- small-rules/require-safety-comment-for-type-assertion -----
|
|
21944
|
+
type SmallRulesRequireSafetyCommentForTypeAssertion = [] | [{
|
|
21945
|
+
markers?: [string, ...(string)[]];
|
|
21946
|
+
}];
|
|
21147
21947
|
// ----- small-rules/require-switch-case-braces -----
|
|
21148
21948
|
type SmallRulesRequireSwitchCaseBraces = [] | [{
|
|
21149
21949
|
metric?: ("lines" | "statements");
|
|
@@ -21151,12 +21951,17 @@ type SmallRulesRequireSwitchCaseBraces = [] | [{
|
|
|
21151
21951
|
// ----- small-rules/require-throw-error-capture -----
|
|
21152
21952
|
type SmallRulesRequireThrowErrorCapture = [] | [{
|
|
21153
21953
|
allow?: (string | {
|
|
21154
|
-
from?: ("file" | "library" | "package");
|
|
21155
21954
|
name: (string | string[]);
|
|
21955
|
+
from?: ("file" | "library" | "package");
|
|
21156
21956
|
package?: string;
|
|
21157
21957
|
path?: string;
|
|
21158
21958
|
})[];
|
|
21159
21959
|
}];
|
|
21960
|
+
// ----- small-rules/starts-with-verb -----
|
|
21961
|
+
type SmallRulesStartsWithVerb = [] | [{
|
|
21962
|
+
allowList?: string[];
|
|
21963
|
+
denyList?: string[];
|
|
21964
|
+
}];
|
|
21160
21965
|
// ----- small-rules/strict-component-boundaries -----
|
|
21161
21966
|
type SmallRulesStrictComponentBoundaries = [] | [{
|
|
21162
21967
|
allow?: string[];
|
|
@@ -21165,9 +21970,9 @@ type SmallRulesStrictComponentBoundaries = [] | [{
|
|
|
21165
21970
|
// ----- small-rules/use-exhaustive-dependencies -----
|
|
21166
21971
|
type SmallRulesUseExhaustiveDependencies = [] | [{
|
|
21167
21972
|
hooks?: {
|
|
21973
|
+
name: string;
|
|
21168
21974
|
closureIndex?: number;
|
|
21169
21975
|
dependenciesIndex?: number;
|
|
21170
|
-
name: string;
|
|
21171
21976
|
stableResult?: (boolean | number | number[] | string[]);
|
|
21172
21977
|
}[];
|
|
21173
21978
|
reportMissingDependenciesArray?: boolean;
|
|
@@ -27072,6 +27877,10 @@ interface OxlintNativeRuleOptions {
|
|
|
27072
27877
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/button-has-type.html
|
|
27073
27878
|
*/
|
|
27074
27879
|
'react/button-has-type'?: DummyRuleMap$1['react/button-has-type'];
|
|
27880
|
+
/**
|
|
27881
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/capitalized-calls.html
|
|
27882
|
+
*/
|
|
27883
|
+
'react/capitalized-calls'?: DummyRuleMap$1['react/capitalized-calls'];
|
|
27075
27884
|
/**
|
|
27076
27885
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/checked-requires-onchange-or-readonly.html
|
|
27077
27886
|
*/
|
|
@@ -27080,10 +27889,18 @@ interface OxlintNativeRuleOptions {
|
|
|
27080
27889
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/display-name.html
|
|
27081
27890
|
*/
|
|
27082
27891
|
'react/display-name'?: DummyRuleMap$1['react/display-name'];
|
|
27892
|
+
/**
|
|
27893
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/error-boundaries.html
|
|
27894
|
+
*/
|
|
27895
|
+
'react/error-boundaries'?: DummyRuleMap$1['react/error-boundaries'];
|
|
27083
27896
|
/**
|
|
27084
27897
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-deps.html
|
|
27085
27898
|
*/
|
|
27086
27899
|
'react/exhaustive-deps'?: DummyRuleMap$1['react/exhaustive-deps'];
|
|
27900
|
+
/**
|
|
27901
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-effect-dependencies.html
|
|
27902
|
+
*/
|
|
27903
|
+
'react/exhaustive-effect-dependencies'?: DummyRuleMap$1['react/exhaustive-effect-dependencies'];
|
|
27087
27904
|
/**
|
|
27088
27905
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-component-props.html
|
|
27089
27906
|
*/
|
|
@@ -27104,14 +27921,34 @@ interface OxlintNativeRuleOptions {
|
|
|
27104
27921
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/function-component-definition.html
|
|
27105
27922
|
*/
|
|
27106
27923
|
'react/function-component-definition'?: DummyRuleMap$1['react/function-component-definition'];
|
|
27924
|
+
/**
|
|
27925
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/globals.html
|
|
27926
|
+
*/
|
|
27927
|
+
'react/globals'?: DummyRuleMap$1['react/globals'];
|
|
27107
27928
|
/**
|
|
27108
27929
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/hook-use-state.html
|
|
27109
27930
|
*/
|
|
27110
27931
|
'react/hook-use-state'?: DummyRuleMap$1['react/hook-use-state'];
|
|
27932
|
+
/**
|
|
27933
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/hooks.html
|
|
27934
|
+
*/
|
|
27935
|
+
'react/hooks'?: DummyRuleMap$1['react/hooks'];
|
|
27111
27936
|
/**
|
|
27112
27937
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/iframe-missing-sandbox.html
|
|
27113
27938
|
*/
|
|
27114
27939
|
'react/iframe-missing-sandbox'?: DummyRuleMap$1['react/iframe-missing-sandbox'];
|
|
27940
|
+
/**
|
|
27941
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/immutability.html
|
|
27942
|
+
*/
|
|
27943
|
+
'react/immutability'?: DummyRuleMap$1['react/immutability'];
|
|
27944
|
+
/**
|
|
27945
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/incompatible-library.html
|
|
27946
|
+
*/
|
|
27947
|
+
'react/incompatible-library'?: DummyRuleMap$1['react/incompatible-library'];
|
|
27948
|
+
/**
|
|
27949
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/invariant.html
|
|
27950
|
+
*/
|
|
27951
|
+
'react/invariant'?: DummyRuleMap$1['react/invariant'];
|
|
27115
27952
|
/**
|
|
27116
27953
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-boolean-value.html
|
|
27117
27954
|
*/
|
|
@@ -27184,6 +28021,10 @@ interface OxlintNativeRuleOptions {
|
|
|
27184
28021
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-props-no-spreading.html
|
|
27185
28022
|
*/
|
|
27186
28023
|
'react/jsx-props-no-spreading'?: DummyRuleMap$1['react/jsx-props-no-spreading'];
|
|
28024
|
+
/**
|
|
28025
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/memo-dependencies.html
|
|
28026
|
+
*/
|
|
28027
|
+
'react/memo-dependencies'?: DummyRuleMap$1['react/memo-dependencies'];
|
|
27187
28028
|
/**
|
|
27188
28029
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-array-index-key.html
|
|
27189
28030
|
*/
|
|
@@ -27204,6 +28045,10 @@ interface OxlintNativeRuleOptions {
|
|
|
27204
28045
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-danger-with-children.html
|
|
27205
28046
|
*/
|
|
27206
28047
|
'react/no-danger-with-children'?: DummyRuleMap$1['react/no-danger-with-children'];
|
|
28048
|
+
/**
|
|
28049
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-deriving-state-in-effects.html
|
|
28050
|
+
*/
|
|
28051
|
+
'react/no-deriving-state-in-effects'?: DummyRuleMap$1['react/no-deriving-state-in-effects'];
|
|
27207
28052
|
/**
|
|
27208
28053
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-did-mount-set-state.html
|
|
27209
28054
|
*/
|
|
@@ -27293,17 +28138,29 @@ interface OxlintNativeRuleOptions {
|
|
|
27293
28138
|
*/
|
|
27294
28139
|
'react/prefer-function-component'?: DummyRuleMap$1['react/prefer-function-component'];
|
|
27295
28140
|
/**
|
|
27296
|
-
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/
|
|
28141
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/preserve-manual-memoization.html
|
|
27297
28142
|
*/
|
|
27298
|
-
'react/
|
|
28143
|
+
'react/preserve-manual-memoization'?: DummyRuleMap$1['react/preserve-manual-memoization'];
|
|
28144
|
+
/**
|
|
28145
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/purity.html
|
|
28146
|
+
*/
|
|
28147
|
+
'react/purity'?: DummyRuleMap$1['react/purity'];
|
|
27299
28148
|
/**
|
|
27300
28149
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/react-in-jsx-scope.html
|
|
27301
28150
|
*/
|
|
27302
28151
|
'react/react-in-jsx-scope'?: DummyRuleMap$1['react/react-in-jsx-scope'];
|
|
28152
|
+
/**
|
|
28153
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/refs.html
|
|
28154
|
+
*/
|
|
28155
|
+
'react/refs'?: DummyRuleMap$1['react/refs'];
|
|
27303
28156
|
/**
|
|
27304
28157
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/require-render-return.html
|
|
27305
28158
|
*/
|
|
27306
28159
|
'react/require-render-return'?: DummyRuleMap$1['react/require-render-return'];
|
|
28160
|
+
/**
|
|
28161
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/rule-suppression.html
|
|
28162
|
+
*/
|
|
28163
|
+
'react/rule-suppression'?: DummyRuleMap$1['react/rule-suppression'];
|
|
27307
28164
|
/**
|
|
27308
28165
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/rules-of-hooks.html
|
|
27309
28166
|
*/
|
|
@@ -27312,18 +28169,50 @@ interface OxlintNativeRuleOptions {
|
|
|
27312
28169
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/self-closing-comp.html
|
|
27313
28170
|
*/
|
|
27314
28171
|
'react/self-closing-comp'?: DummyRuleMap$1['react/self-closing-comp'];
|
|
28172
|
+
/**
|
|
28173
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/set-state-in-effect.html
|
|
28174
|
+
*/
|
|
28175
|
+
'react/set-state-in-effect'?: DummyRuleMap$1['react/set-state-in-effect'];
|
|
28176
|
+
/**
|
|
28177
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/set-state-in-render.html
|
|
28178
|
+
*/
|
|
28179
|
+
'react/set-state-in-render'?: DummyRuleMap$1['react/set-state-in-render'];
|
|
27315
28180
|
/**
|
|
27316
28181
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/state-in-constructor.html
|
|
27317
28182
|
*/
|
|
27318
28183
|
'react/state-in-constructor'?: DummyRuleMap$1['react/state-in-constructor'];
|
|
28184
|
+
/**
|
|
28185
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/static-components.html
|
|
28186
|
+
*/
|
|
28187
|
+
'react/static-components'?: DummyRuleMap$1['react/static-components'];
|
|
27319
28188
|
/**
|
|
27320
28189
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/style-prop-object.html
|
|
27321
28190
|
*/
|
|
27322
28191
|
'react/style-prop-object'?: DummyRuleMap$1['react/style-prop-object'];
|
|
28192
|
+
/**
|
|
28193
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/syntax.html
|
|
28194
|
+
*/
|
|
28195
|
+
'react/syntax'?: DummyRuleMap$1['react/syntax'];
|
|
28196
|
+
/**
|
|
28197
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/todo.html
|
|
28198
|
+
*/
|
|
28199
|
+
'react/todo'?: DummyRuleMap$1['react/todo'];
|
|
28200
|
+
/**
|
|
28201
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/unsupported-syntax.html
|
|
28202
|
+
*/
|
|
28203
|
+
'react/unsupported-syntax'?: DummyRuleMap$1['react/unsupported-syntax'];
|
|
28204
|
+
/**
|
|
28205
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/use-memo.html
|
|
28206
|
+
*/
|
|
28207
|
+
'react/use-memo'?: DummyRuleMap$1['react/use-memo'];
|
|
27323
28208
|
/**
|
|
27324
28209
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/void-dom-elements-no-children.html
|
|
27325
28210
|
*/
|
|
27326
28211
|
'react/void-dom-elements-no-children'?: DummyRuleMap$1['react/void-dom-elements-no-children'];
|
|
28212
|
+
/**
|
|
28213
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/void-use-memo.html
|
|
28214
|
+
*/
|
|
28215
|
+
'react/void-use-memo'?: DummyRuleMap$1['react/void-use-memo'];
|
|
27327
28216
|
/**
|
|
27328
28217
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/eslint/require-await.html
|
|
27329
28218
|
*/
|
|
@@ -27510,6 +28399,12 @@ interface OxlintNativeRuleOptions {
|
|
|
27510
28399
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-for-in-array.html
|
|
27511
28400
|
*/
|
|
27512
28401
|
'typescript/no-for-in-array'?: DummyRuleMap$1['typescript/no-for-in-array'];
|
|
28402
|
+
/**
|
|
28403
|
+
* Requires type information (`oxlint --type-aware`).
|
|
28404
|
+
*
|
|
28405
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-generated-empty-object-type.html
|
|
28406
|
+
*/
|
|
28407
|
+
'typescript/no-generated-empty-object-type'?: DummyRuleMap$1['typescript/no-generated-empty-object-type'];
|
|
27513
28408
|
/**
|
|
27514
28409
|
* Requires type information (`oxlint --type-aware`).
|
|
27515
28410
|
*
|
|
@@ -27668,6 +28563,12 @@ interface OxlintNativeRuleOptions {
|
|
|
27668
28563
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-declaration-merging.html
|
|
27669
28564
|
*/
|
|
27670
28565
|
'typescript/no-unsafe-declaration-merging'?: DummyRuleMap$1['typescript/no-unsafe-declaration-merging'];
|
|
28566
|
+
/**
|
|
28567
|
+
* Requires type information (`oxlint --type-aware`).
|
|
28568
|
+
*
|
|
28569
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-enum-assignment.html
|
|
28570
|
+
*/
|
|
28571
|
+
'typescript/no-unsafe-enum-assignment'?: DummyRuleMap$1['typescript/no-unsafe-enum-assignment'];
|
|
27671
28572
|
/**
|
|
27672
28573
|
* Requires type information (`oxlint --type-aware`).
|
|
27673
28574
|
*
|
|
@@ -30396,6 +31297,10 @@ interface OxlintRenamedJsPluginRuleOptions {
|
|
|
30396
31297
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
|
|
30397
31298
|
*/
|
|
30398
31299
|
'jsdoc-js/no-undefined-types'?: RuleOptions['jsdoc/no-undefined-types'];
|
|
31300
|
+
/**
|
|
31301
|
+
* Reports redundant @type tags that match or broaden the naturally inferred TypeScript type.
|
|
31302
|
+
*/
|
|
31303
|
+
'jsdoc-js/no-unnecessary-type-assertion'?: RuleOptions['jsdoc/no-unnecessary-type-assertion'];
|
|
30399
31304
|
/**
|
|
30400
31305
|
* Normalizes labeled links in `@see` tags to a canonical `{@link}` form.
|
|
30401
31306
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/normalize-see-links.md#repos-sticky-header
|
|
@@ -30591,6 +31496,11 @@ interface OxlintRenamedJsPluginRuleOptions {
|
|
|
30591
31496
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
|
|
30592
31497
|
*/
|
|
30593
31498
|
'jsdoc-js/text-escaping'?: RuleOptions['jsdoc/text-escaping'];
|
|
31499
|
+
/**
|
|
31500
|
+
* Disallows (or requires descriptions for) `@ts-<directive>` comments, mirroring `@typescript-eslint/ban-ts-comment`.
|
|
31501
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-ban-ts-comment.md#repos-sticky-header
|
|
31502
|
+
*/
|
|
31503
|
+
'jsdoc-js/ts-ban-ts-comment'?: RuleOptions['jsdoc/ts-ban-ts-comment'];
|
|
30594
31504
|
/**
|
|
30595
31505
|
* Prefers either function properties or method signatures
|
|
30596
31506
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
|