@isentinel/eslint-config 6.3.0 → 6.5.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 +7 -5
- package/dist/cli.mjs +6 -6
- package/dist/index.d.mts +962 -144
- package/dist/index.mjs +650 -383
- package/dist/lint-cli.mjs +64 -54
- package/dist/oxfmt.mjs +17 -6
- package/dist/oxlint.d.mts +1010 -92
- package/dist/oxlint.mjs +195 -53
- package/package.json +18 -18
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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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.2/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/
|
|
@@ -11227,7 +11544,7 @@ interface RuleOptions {
|
|
|
11227
11544
|
* Disallow awaiting a value that is not a Thenable
|
|
11228
11545
|
* @see https://typescript-eslint.io/rules/await-thenable
|
|
11229
11546
|
*/
|
|
11230
|
-
'ts/await-thenable'?: Linter.RuleEntry<
|
|
11547
|
+
'ts/await-thenable'?: Linter.RuleEntry<TsAwaitThenable>;
|
|
11231
11548
|
/**
|
|
11232
11549
|
* Disallow `@ts-<directive>` comments or require descriptions after directives
|
|
11233
11550
|
* @see https://typescript-eslint.io/rules/ban-ts-comment
|
|
@@ -11424,6 +11741,11 @@ interface RuleOptions {
|
|
|
11424
11741
|
* @see https://typescript-eslint.io/rules/no-for-in-array
|
|
11425
11742
|
*/
|
|
11426
11743
|
'ts/no-for-in-array'?: Linter.RuleEntry<[]>;
|
|
11744
|
+
/**
|
|
11745
|
+
* Disallow type operations that resolve to the "empty object" type
|
|
11746
|
+
* @see https://typescript-eslint.io/rules/no-generated-empty-object-type
|
|
11747
|
+
*/
|
|
11748
|
+
'ts/no-generated-empty-object-type'?: Linter.RuleEntry<[]>;
|
|
11427
11749
|
/**
|
|
11428
11750
|
* Disallow the use of `eval()`-like functions
|
|
11429
11751
|
* @see https://typescript-eslint.io/rules/no-implied-eval
|
|
@@ -11623,6 +11945,11 @@ interface RuleOptions {
|
|
|
11623
11945
|
* @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
|
|
11624
11946
|
*/
|
|
11625
11947
|
'ts/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>;
|
|
11948
|
+
/**
|
|
11949
|
+
* Disallow assigning non-enum values to enum typed locations
|
|
11950
|
+
* @see https://typescript-eslint.io/rules/no-unsafe-enum-assignment
|
|
11951
|
+
*/
|
|
11952
|
+
'ts/no-unsafe-enum-assignment'?: Linter.RuleEntry<[]>;
|
|
11626
11953
|
/**
|
|
11627
11954
|
* Disallow comparing an enum value with a non-enum value
|
|
11628
11955
|
* @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
|
|
@@ -14550,11 +14877,20 @@ type FlawlessArrowReturnStyle = [] | [{
|
|
|
14550
14877
|
printWidth?: number;
|
|
14551
14878
|
});
|
|
14552
14879
|
}];
|
|
14880
|
+
// ----- flawless/cognitive-complexity -----
|
|
14881
|
+
type FlawlessCognitiveComplexity = [] | [{
|
|
14882
|
+
threshold?: number;
|
|
14883
|
+
}];
|
|
14553
14884
|
// ----- flawless/jsx-shorthand-fragment -----
|
|
14554
14885
|
type FlawlessJsxShorthandFragment = [] | [{
|
|
14555
14886
|
fragmentName?: string;
|
|
14556
14887
|
mode?: ("element" | "syntax");
|
|
14557
14888
|
}];
|
|
14889
|
+
// ----- flawless/max-comment-length -----
|
|
14890
|
+
type FlawlessMaxCommentLength = [] | [{
|
|
14891
|
+
ignoreJSDoc?: boolean;
|
|
14892
|
+
maximumWords?: number;
|
|
14893
|
+
}];
|
|
14558
14894
|
// ----- flawless/max-lines-per-function -----
|
|
14559
14895
|
type FlawlessMaxLinesPerFunction = [] | [{
|
|
14560
14896
|
countFrom?: ("body" | "function");
|
|
@@ -14569,6 +14905,7 @@ type _FlawlessNamingConventionFormatOptionsConfig = (_FlawlessNamingConventionPr
|
|
|
14569
14905
|
type _FlawlessNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
|
|
14570
14906
|
type _FlawlessNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
|
|
14571
14907
|
type _FlawlessNamingConvention_PrefixSuffixConfig = string[];
|
|
14908
|
+
type _FlawlessNamingConventionComponentPropConfig = true;
|
|
14572
14909
|
type _FlawlessNamingConvention_TypeArgumentReferenceMatcher = (_FlawlessNamingConventionTypeArgumentReferenceMatcher & {
|
|
14573
14910
|
name?: string;
|
|
14574
14911
|
from?: string;
|
|
@@ -14618,6 +14955,7 @@ type FlawlessNamingConvention = ({
|
|
|
14618
14955
|
prefix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
14619
14956
|
suffix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
14620
14957
|
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
14958
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14621
14959
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14622
14960
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
14623
14961
|
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 +14973,7 @@ type FlawlessNamingConvention = ({
|
|
|
14635
14973
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14636
14974
|
selector: "default";
|
|
14637
14975
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
14976
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14638
14977
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
14639
14978
|
} | {
|
|
14640
14979
|
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
@@ -14716,6 +15055,7 @@ type FlawlessNamingConvention = ({
|
|
|
14716
15055
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14717
15056
|
selector: "memberLike";
|
|
14718
15057
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15058
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14719
15059
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14720
15060
|
} | {
|
|
14721
15061
|
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
@@ -14757,6 +15097,7 @@ type FlawlessNamingConvention = ({
|
|
|
14757
15097
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14758
15098
|
selector: "typeProperty";
|
|
14759
15099
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15100
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14760
15101
|
modifiers?: ("public" | "readonly" | "requiresQuotes")[];
|
|
14761
15102
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14762
15103
|
} | {
|
|
@@ -14785,6 +15126,7 @@ type FlawlessNamingConvention = ({
|
|
|
14785
15126
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14786
15127
|
selector: "property";
|
|
14787
15128
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15129
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14788
15130
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14789
15131
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14790
15132
|
} | {
|
|
@@ -14827,6 +15169,7 @@ type FlawlessNamingConvention = ({
|
|
|
14827
15169
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14828
15170
|
selector: "typeMethod";
|
|
14829
15171
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15172
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14830
15173
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
14831
15174
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14832
15175
|
} | {
|
|
@@ -14841,6 +15184,7 @@ type FlawlessNamingConvention = ({
|
|
|
14841
15184
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14842
15185
|
selector: "method";
|
|
14843
15186
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
15187
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
14844
15188
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14845
15189
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14846
15190
|
} | {
|
|
@@ -15012,14 +15356,31 @@ type FlawlessNoConditionalInTest = [] | [{
|
|
|
15012
15356
|
additionalTestBlockFunctions?: string[];
|
|
15013
15357
|
allowOptionalChaining?: boolean;
|
|
15014
15358
|
}];
|
|
15359
|
+
// ----- flawless/no-ignored-return -----
|
|
15360
|
+
type FlawlessNoIgnoredReturn = [] | [{
|
|
15361
|
+
pureFunctions?: string[];
|
|
15362
|
+
}];
|
|
15015
15363
|
// ----- flawless/no-materialized-filter-map -----
|
|
15016
15364
|
type FlawlessNoMaterializedFilterMap = [] | [{
|
|
15017
15365
|
iteratorHelpers?: boolean;
|
|
15018
15366
|
}];
|
|
15367
|
+
// ----- flawless/no-redundant-type-annotation -----
|
|
15368
|
+
type FlawlessNoRedundantTypeAnnotation = [] | [{
|
|
15369
|
+
allowExpressions?: boolean;
|
|
15370
|
+
checkReturnTypes?: boolean;
|
|
15371
|
+
}];
|
|
15019
15372
|
// ----- flawless/no-shared-test-state -----
|
|
15020
15373
|
type FlawlessNoSharedTestState = [] | [{
|
|
15021
15374
|
additionalMutatingMethods?: string[];
|
|
15022
15375
|
}];
|
|
15376
|
+
// ----- flawless/no-trivial-functions -----
|
|
15377
|
+
type FlawlessNoTrivialFunctions = [] | [{
|
|
15378
|
+
minimumReferences?: number;
|
|
15379
|
+
}];
|
|
15380
|
+
// ----- flawless/no-unnecessary-prop-alias -----
|
|
15381
|
+
type FlawlessNoUnnecessaryPropAlias = [] | [{
|
|
15382
|
+
reportConflicts?: boolean;
|
|
15383
|
+
}];
|
|
15023
15384
|
// ----- flawless/prefer-ending-with-an-expect -----
|
|
15024
15385
|
type FlawlessPreferEndingWithAnExpect = [] | [{
|
|
15025
15386
|
additionalTestBlockFunctions?: string[];
|
|
@@ -15044,6 +15405,10 @@ type FlawlessPurity = [] | [{
|
|
|
15044
15405
|
additionalFunctions?: string[];
|
|
15045
15406
|
ignore?: string[];
|
|
15046
15407
|
}];
|
|
15408
|
+
// ----- flawless/react-namespace -----
|
|
15409
|
+
type FlawlessReactNamespace = [] | [{
|
|
15410
|
+
umdGlobal?: boolean;
|
|
15411
|
+
}];
|
|
15047
15412
|
// ----- flawless/toml-sort-keys -----
|
|
15048
15413
|
type FlawlessTomlSortKeys = {
|
|
15049
15414
|
order: (string[] | {
|
|
@@ -15053,6 +15418,16 @@ type FlawlessTomlSortKeys = {
|
|
|
15053
15418
|
});
|
|
15054
15419
|
pathPattern: string;
|
|
15055
15420
|
}[];
|
|
15421
|
+
// ----- flawless/yaml-sort-sequence-by-key -----
|
|
15422
|
+
type FlawlessYamlSortSequenceByKey = {
|
|
15423
|
+
key: string;
|
|
15424
|
+
order?: {
|
|
15425
|
+
caseSensitive?: boolean;
|
|
15426
|
+
natural?: boolean;
|
|
15427
|
+
type?: ("asc" | "desc");
|
|
15428
|
+
};
|
|
15429
|
+
pathPattern: string;
|
|
15430
|
+
}[];
|
|
15056
15431
|
// ----- format-lua/stylua -----
|
|
15057
15432
|
type FormatLuaStylua = [] | [{
|
|
15058
15433
|
language?: string;
|
|
@@ -15334,6 +15709,7 @@ type JestValidTitle = [] | [{
|
|
|
15334
15709
|
}];
|
|
15335
15710
|
// ----- jsdoc/check-alignment -----
|
|
15336
15711
|
type JsdocCheckAlignment = [] | [{
|
|
15712
|
+
ignoreEmptyLines?: boolean;
|
|
15337
15713
|
innerIndent?: number;
|
|
15338
15714
|
}];
|
|
15339
15715
|
// ----- jsdoc/check-examples -----
|
|
@@ -15361,6 +15737,7 @@ type JsdocCheckExamples = [] | [{
|
|
|
15361
15737
|
// ----- jsdoc/check-indentation -----
|
|
15362
15738
|
type JsdocCheckIndentation = [] | [{
|
|
15363
15739
|
allowIndentedSections?: boolean;
|
|
15740
|
+
allowNoSpaceAfterAsterisk?: boolean;
|
|
15364
15741
|
excludeTags?: string[];
|
|
15365
15742
|
}];
|
|
15366
15743
|
// ----- jsdoc/check-line-alignment -----
|
|
@@ -15380,18 +15757,26 @@ type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always"
|
|
|
15380
15757
|
// ----- jsdoc/check-param-names -----
|
|
15381
15758
|
type JsdocCheckParamNames = [] | [{
|
|
15382
15759
|
allowExtraTrailingParamDocs?: boolean;
|
|
15760
|
+
badParamNames?: boolean;
|
|
15761
|
+
badParamOrder?: boolean;
|
|
15383
15762
|
checkDestructured?: boolean;
|
|
15384
15763
|
checkRestProperty?: boolean;
|
|
15385
15764
|
checkTypesPattern?: string;
|
|
15386
15765
|
disableExtraPropertyReporting?: boolean;
|
|
15387
15766
|
disableMissingParamChecks?: boolean;
|
|
15767
|
+
duplicateParams?: boolean;
|
|
15388
15768
|
enableFixer?: boolean;
|
|
15769
|
+
extraParams?: boolean;
|
|
15389
15770
|
useDefaultObjectProperties?: boolean;
|
|
15390
15771
|
}];
|
|
15391
15772
|
// ----- jsdoc/check-property-names -----
|
|
15392
15773
|
type JsdocCheckPropertyNames = [] | [{
|
|
15393
15774
|
enableFixer?: boolean;
|
|
15394
15775
|
}];
|
|
15776
|
+
// ----- jsdoc/check-syntax -----
|
|
15777
|
+
type JsdocCheckSyntax = [] | [{
|
|
15778
|
+
enableFixer?: boolean;
|
|
15779
|
+
}];
|
|
15395
15780
|
// ----- jsdoc/check-tag-names -----
|
|
15396
15781
|
type JsdocCheckTagNames = [] | [{
|
|
15397
15782
|
definedTags?: string[];
|
|
@@ -15566,6 +15951,15 @@ type JsdocNoUndefinedTypes = [] | [{
|
|
|
15566
15951
|
disableReporting?: boolean;
|
|
15567
15952
|
markVariablesAsUsed?: boolean;
|
|
15568
15953
|
}];
|
|
15954
|
+
// ----- jsdoc/no-unnecessary-type-assertion -----
|
|
15955
|
+
type JsdocNoUnnecessaryTypeAssertion = [] | [{
|
|
15956
|
+
checkLiteralConstAssertions?: boolean;
|
|
15957
|
+
enableFixer?: boolean;
|
|
15958
|
+
fixTypeChangingCasts?: boolean;
|
|
15959
|
+
preferConstToLiteralTuples?: boolean;
|
|
15960
|
+
treatAnyAsRedundant?: boolean;
|
|
15961
|
+
typesToIgnore?: string[];
|
|
15962
|
+
}];
|
|
15569
15963
|
// ----- jsdoc/normalize-see-links -----
|
|
15570
15964
|
type JsdocNormalizeSeeLinks = [] | [{
|
|
15571
15965
|
canonicalForm?: ("pipe" | "prefix");
|
|
@@ -15768,7 +16162,6 @@ type JsdocRequireTags = [] | [{
|
|
|
15768
16162
|
tags?: (string | {
|
|
15769
16163
|
context?: string;
|
|
15770
16164
|
tag?: string;
|
|
15771
|
-
[k: string]: unknown | undefined;
|
|
15772
16165
|
})[];
|
|
15773
16166
|
}];
|
|
15774
16167
|
// ----- jsdoc/require-template -----
|
|
@@ -15839,6 +16232,22 @@ type JsdocTextEscaping = [] | [{
|
|
|
15839
16232
|
escapeHTML?: boolean;
|
|
15840
16233
|
escapeMarkdown?: boolean;
|
|
15841
16234
|
}];
|
|
16235
|
+
// ----- jsdoc/ts-ban-ts-comment -----
|
|
16236
|
+
type JsdocTsBanTsComment = [] | [{
|
|
16237
|
+
minimumDescriptionLength?: number;
|
|
16238
|
+
"ts-check"?: (boolean | "allow-with-description" | {
|
|
16239
|
+
descriptionFormat?: string;
|
|
16240
|
+
});
|
|
16241
|
+
"ts-expect-error"?: (boolean | "allow-with-description" | {
|
|
16242
|
+
descriptionFormat?: string;
|
|
16243
|
+
});
|
|
16244
|
+
"ts-ignore"?: (boolean | "allow-with-description" | {
|
|
16245
|
+
descriptionFormat?: string;
|
|
16246
|
+
});
|
|
16247
|
+
"ts-nocheck"?: (boolean | "allow-with-description" | {
|
|
16248
|
+
descriptionFormat?: string;
|
|
16249
|
+
});
|
|
16250
|
+
}];
|
|
15842
16251
|
// ----- jsdoc/ts-method-signature-style -----
|
|
15843
16252
|
type JsdocTsMethodSignatureStyle = [] | [("method" | "property")] | [("method" | "property"), {
|
|
15844
16253
|
enableFixer?: boolean;
|
|
@@ -18350,8 +18759,8 @@ type PerfectionistSortClasses = {
|
|
|
18350
18759
|
});
|
|
18351
18760
|
partitionByNewLine?: boolean;
|
|
18352
18761
|
}[];
|
|
18353
|
-
// ----- perfectionist/sort-
|
|
18354
|
-
type
|
|
18762
|
+
// ----- perfectionist/sort-constructor-parameters -----
|
|
18763
|
+
type PerfectionistSortConstructorParameters = [{
|
|
18355
18764
|
fallbackSort?: {
|
|
18356
18765
|
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18357
18766
|
order?: ("asc" | "desc");
|
|
@@ -18379,6 +18788,15 @@ type PerfectionistSortDecorators = {
|
|
|
18379
18788
|
pattern: string;
|
|
18380
18789
|
flags?: string;
|
|
18381
18790
|
} | string));
|
|
18791
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18792
|
+
selector?: "parameter";
|
|
18793
|
+
decoratorNamePattern?: (({
|
|
18794
|
+
pattern: string;
|
|
18795
|
+
flags?: string;
|
|
18796
|
+
} | string)[] | ({
|
|
18797
|
+
pattern: string;
|
|
18798
|
+
flags?: string;
|
|
18799
|
+
} | string));
|
|
18382
18800
|
}, ...({
|
|
18383
18801
|
elementNamePattern?: (({
|
|
18384
18802
|
pattern: string;
|
|
@@ -18387,6 +18805,15 @@ type PerfectionistSortDecorators = {
|
|
|
18387
18805
|
pattern: string;
|
|
18388
18806
|
flags?: string;
|
|
18389
18807
|
} | string));
|
|
18808
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18809
|
+
selector?: "parameter";
|
|
18810
|
+
decoratorNamePattern?: (({
|
|
18811
|
+
pattern: string;
|
|
18812
|
+
flags?: string;
|
|
18813
|
+
} | string)[] | ({
|
|
18814
|
+
pattern: string;
|
|
18815
|
+
flags?: string;
|
|
18816
|
+
} | string));
|
|
18390
18817
|
})[]];
|
|
18391
18818
|
} | {
|
|
18392
18819
|
fallbackSort?: {
|
|
@@ -18404,6 +18831,15 @@ type PerfectionistSortDecorators = {
|
|
|
18404
18831
|
pattern: string;
|
|
18405
18832
|
flags?: string;
|
|
18406
18833
|
} | string));
|
|
18834
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18835
|
+
selector?: "parameter";
|
|
18836
|
+
decoratorNamePattern?: (({
|
|
18837
|
+
pattern: string;
|
|
18838
|
+
flags?: string;
|
|
18839
|
+
} | string)[] | ({
|
|
18840
|
+
pattern: string;
|
|
18841
|
+
flags?: string;
|
|
18842
|
+
} | string));
|
|
18407
18843
|
})[];
|
|
18408
18844
|
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
18409
18845
|
groups?: (string | [string, ...(string)[]] | {
|
|
@@ -18420,11 +18856,244 @@ type PerfectionistSortDecorators = {
|
|
|
18420
18856
|
order?: ("asc" | "desc");
|
|
18421
18857
|
})[];
|
|
18422
18858
|
newlinesBetween?: ("ignore" | number);
|
|
18423
|
-
|
|
18424
|
-
|
|
18425
|
-
|
|
18426
|
-
|
|
18427
|
-
|
|
18859
|
+
useConfigurationIf: {
|
|
18860
|
+
allNamesMatchPattern?: (({
|
|
18861
|
+
pattern: string;
|
|
18862
|
+
flags?: string;
|
|
18863
|
+
} | string)[] | ({
|
|
18864
|
+
pattern: string;
|
|
18865
|
+
flags?: string;
|
|
18866
|
+
} | string));
|
|
18867
|
+
matchesAstSelector?: string;
|
|
18868
|
+
};
|
|
18869
|
+
partitionByComment?: (boolean | (({
|
|
18870
|
+
pattern: string;
|
|
18871
|
+
flags?: string;
|
|
18872
|
+
} | string)[] | ({
|
|
18873
|
+
pattern: string;
|
|
18874
|
+
flags?: string;
|
|
18875
|
+
} | string)) | {
|
|
18876
|
+
block?: (boolean | (({
|
|
18877
|
+
pattern: string;
|
|
18878
|
+
flags?: string;
|
|
18879
|
+
} | string)[] | ({
|
|
18880
|
+
pattern: string;
|
|
18881
|
+
flags?: string;
|
|
18882
|
+
} | string)));
|
|
18883
|
+
line?: (boolean | (({
|
|
18884
|
+
pattern: string;
|
|
18885
|
+
flags?: string;
|
|
18886
|
+
} | string)[] | ({
|
|
18887
|
+
pattern: string;
|
|
18888
|
+
flags?: string;
|
|
18889
|
+
} | string)));
|
|
18890
|
+
});
|
|
18891
|
+
partitionByNewLine?: boolean;
|
|
18892
|
+
}, ...({
|
|
18893
|
+
fallbackSort?: {
|
|
18894
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18895
|
+
order?: ("asc" | "desc");
|
|
18896
|
+
};
|
|
18897
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18898
|
+
specialCharacters?: ("remove" | "trim" | "keep");
|
|
18899
|
+
ignoreCase?: boolean;
|
|
18900
|
+
alphabet?: string;
|
|
18901
|
+
locales?: (string | string[]);
|
|
18902
|
+
order?: ("asc" | "desc");
|
|
18903
|
+
customGroups?: ({
|
|
18904
|
+
fallbackSort?: {
|
|
18905
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18906
|
+
order?: ("asc" | "desc");
|
|
18907
|
+
};
|
|
18908
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18909
|
+
groupName: string;
|
|
18910
|
+
newlinesInside?: ("ignore" | number);
|
|
18911
|
+
order?: ("asc" | "desc");
|
|
18912
|
+
anyOf: [{
|
|
18913
|
+
elementNamePattern?: (({
|
|
18914
|
+
pattern: string;
|
|
18915
|
+
flags?: string;
|
|
18916
|
+
} | string)[] | ({
|
|
18917
|
+
pattern: string;
|
|
18918
|
+
flags?: string;
|
|
18919
|
+
} | string));
|
|
18920
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18921
|
+
selector?: "parameter";
|
|
18922
|
+
decoratorNamePattern?: (({
|
|
18923
|
+
pattern: string;
|
|
18924
|
+
flags?: string;
|
|
18925
|
+
} | string)[] | ({
|
|
18926
|
+
pattern: string;
|
|
18927
|
+
flags?: string;
|
|
18928
|
+
} | string));
|
|
18929
|
+
}, ...({
|
|
18930
|
+
elementNamePattern?: (({
|
|
18931
|
+
pattern: string;
|
|
18932
|
+
flags?: string;
|
|
18933
|
+
} | string)[] | ({
|
|
18934
|
+
pattern: string;
|
|
18935
|
+
flags?: string;
|
|
18936
|
+
} | string));
|
|
18937
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18938
|
+
selector?: "parameter";
|
|
18939
|
+
decoratorNamePattern?: (({
|
|
18940
|
+
pattern: string;
|
|
18941
|
+
flags?: string;
|
|
18942
|
+
} | string)[] | ({
|
|
18943
|
+
pattern: string;
|
|
18944
|
+
flags?: string;
|
|
18945
|
+
} | string));
|
|
18946
|
+
})[]];
|
|
18947
|
+
} | {
|
|
18948
|
+
fallbackSort?: {
|
|
18949
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18950
|
+
order?: ("asc" | "desc");
|
|
18951
|
+
};
|
|
18952
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18953
|
+
groupName: string;
|
|
18954
|
+
newlinesInside?: ("ignore" | number);
|
|
18955
|
+
order?: ("asc" | "desc");
|
|
18956
|
+
elementNamePattern?: (({
|
|
18957
|
+
pattern: string;
|
|
18958
|
+
flags?: string;
|
|
18959
|
+
} | string)[] | ({
|
|
18960
|
+
pattern: string;
|
|
18961
|
+
flags?: string;
|
|
18962
|
+
} | string));
|
|
18963
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
18964
|
+
selector?: "parameter";
|
|
18965
|
+
decoratorNamePattern?: (({
|
|
18966
|
+
pattern: string;
|
|
18967
|
+
flags?: string;
|
|
18968
|
+
} | string)[] | ({
|
|
18969
|
+
pattern: string;
|
|
18970
|
+
flags?: string;
|
|
18971
|
+
} | string));
|
|
18972
|
+
})[];
|
|
18973
|
+
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
18974
|
+
groups?: (string | [string, ...(string)[]] | {
|
|
18975
|
+
newlinesBetween: ("ignore" | number);
|
|
18976
|
+
} | {
|
|
18977
|
+
group: (string | [string, ...(string)[]]);
|
|
18978
|
+
fallbackSort?: {
|
|
18979
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18980
|
+
order?: ("asc" | "desc");
|
|
18981
|
+
};
|
|
18982
|
+
commentAbove?: string;
|
|
18983
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
18984
|
+
newlinesInside?: ("ignore" | number);
|
|
18985
|
+
order?: ("asc" | "desc");
|
|
18986
|
+
})[];
|
|
18987
|
+
newlinesBetween?: ("ignore" | number);
|
|
18988
|
+
useConfigurationIf: {
|
|
18989
|
+
allNamesMatchPattern?: (({
|
|
18990
|
+
pattern: string;
|
|
18991
|
+
flags?: string;
|
|
18992
|
+
} | string)[] | ({
|
|
18993
|
+
pattern: string;
|
|
18994
|
+
flags?: string;
|
|
18995
|
+
} | string));
|
|
18996
|
+
matchesAstSelector?: string;
|
|
18997
|
+
};
|
|
18998
|
+
partitionByComment?: (boolean | (({
|
|
18999
|
+
pattern: string;
|
|
19000
|
+
flags?: string;
|
|
19001
|
+
} | string)[] | ({
|
|
19002
|
+
pattern: string;
|
|
19003
|
+
flags?: string;
|
|
19004
|
+
} | string)) | {
|
|
19005
|
+
block?: (boolean | (({
|
|
19006
|
+
pattern: string;
|
|
19007
|
+
flags?: string;
|
|
19008
|
+
} | string)[] | ({
|
|
19009
|
+
pattern: string;
|
|
19010
|
+
flags?: string;
|
|
19011
|
+
} | string)));
|
|
19012
|
+
line?: (boolean | (({
|
|
19013
|
+
pattern: string;
|
|
19014
|
+
flags?: string;
|
|
19015
|
+
} | string)[] | ({
|
|
19016
|
+
pattern: string;
|
|
19017
|
+
flags?: string;
|
|
19018
|
+
} | string)));
|
|
19019
|
+
});
|
|
19020
|
+
partitionByNewLine?: boolean;
|
|
19021
|
+
})[]];
|
|
19022
|
+
// ----- perfectionist/sort-decorators -----
|
|
19023
|
+
type PerfectionistSortDecorators = {
|
|
19024
|
+
fallbackSort?: {
|
|
19025
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19026
|
+
order?: ("asc" | "desc");
|
|
19027
|
+
};
|
|
19028
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19029
|
+
specialCharacters?: ("remove" | "trim" | "keep");
|
|
19030
|
+
ignoreCase?: boolean;
|
|
19031
|
+
alphabet?: string;
|
|
19032
|
+
locales?: (string | string[]);
|
|
19033
|
+
order?: ("asc" | "desc");
|
|
19034
|
+
customGroups?: ({
|
|
19035
|
+
fallbackSort?: {
|
|
19036
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19037
|
+
order?: ("asc" | "desc");
|
|
19038
|
+
};
|
|
19039
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19040
|
+
groupName: string;
|
|
19041
|
+
newlinesInside?: ("ignore" | number);
|
|
19042
|
+
order?: ("asc" | "desc");
|
|
19043
|
+
anyOf: [{
|
|
19044
|
+
elementNamePattern?: (({
|
|
19045
|
+
pattern: string;
|
|
19046
|
+
flags?: string;
|
|
19047
|
+
} | string)[] | ({
|
|
19048
|
+
pattern: string;
|
|
19049
|
+
flags?: string;
|
|
19050
|
+
} | string));
|
|
19051
|
+
}, ...({
|
|
19052
|
+
elementNamePattern?: (({
|
|
19053
|
+
pattern: string;
|
|
19054
|
+
flags?: string;
|
|
19055
|
+
} | string)[] | ({
|
|
19056
|
+
pattern: string;
|
|
19057
|
+
flags?: string;
|
|
19058
|
+
} | string));
|
|
19059
|
+
})[]];
|
|
19060
|
+
} | {
|
|
19061
|
+
fallbackSort?: {
|
|
19062
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19063
|
+
order?: ("asc" | "desc");
|
|
19064
|
+
};
|
|
19065
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19066
|
+
groupName: string;
|
|
19067
|
+
newlinesInside?: ("ignore" | number);
|
|
19068
|
+
order?: ("asc" | "desc");
|
|
19069
|
+
elementNamePattern?: (({
|
|
19070
|
+
pattern: string;
|
|
19071
|
+
flags?: string;
|
|
19072
|
+
} | string)[] | ({
|
|
19073
|
+
pattern: string;
|
|
19074
|
+
flags?: string;
|
|
19075
|
+
} | string));
|
|
19076
|
+
})[];
|
|
19077
|
+
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
19078
|
+
groups?: (string | [string, ...(string)[]] | {
|
|
19079
|
+
newlinesBetween: ("ignore" | number);
|
|
19080
|
+
} | {
|
|
19081
|
+
group: (string | [string, ...(string)[]]);
|
|
19082
|
+
fallbackSort?: {
|
|
19083
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19084
|
+
order?: ("asc" | "desc");
|
|
19085
|
+
};
|
|
19086
|
+
commentAbove?: string;
|
|
19087
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
19088
|
+
newlinesInside?: ("ignore" | number);
|
|
19089
|
+
order?: ("asc" | "desc");
|
|
19090
|
+
})[];
|
|
19091
|
+
newlinesBetween?: ("ignore" | number);
|
|
19092
|
+
sortOnParameters?: boolean;
|
|
19093
|
+
sortOnProperties?: boolean;
|
|
19094
|
+
sortOnAccessors?: boolean;
|
|
19095
|
+
sortOnMethods?: boolean;
|
|
19096
|
+
sortOnClasses?: boolean;
|
|
18428
19097
|
partitionByComment?: (boolean | (({
|
|
18429
19098
|
pattern: string;
|
|
18430
19099
|
flags?: string;
|
|
@@ -19072,10 +19741,6 @@ type PerfectionistSortImports = {
|
|
|
19072
19741
|
sortBy?: ("specifier" | "path");
|
|
19073
19742
|
})[];
|
|
19074
19743
|
newlinesBetween?: ("ignore" | number);
|
|
19075
|
-
tsconfig?: {
|
|
19076
|
-
rootDir: string;
|
|
19077
|
-
filename?: string;
|
|
19078
|
-
};
|
|
19079
19744
|
maxLineLength?: number;
|
|
19080
19745
|
sortSideEffects?: boolean;
|
|
19081
19746
|
environment?: ("node" | "bun");
|
|
@@ -19110,6 +19775,10 @@ type PerfectionistSortImports = {
|
|
|
19110
19775
|
pattern: string;
|
|
19111
19776
|
flags?: string;
|
|
19112
19777
|
} | string));
|
|
19778
|
+
tsconfig?: {
|
|
19779
|
+
rootDir: string;
|
|
19780
|
+
filename?: string;
|
|
19781
|
+
};
|
|
19113
19782
|
}[];
|
|
19114
19783
|
// ----- perfectionist/sort-interfaces -----
|
|
19115
19784
|
type PerfectionistSortInterfaces = {
|
|
@@ -19694,6 +20363,7 @@ type PerfectionistSortModules = [] | [{
|
|
|
19694
20363
|
order?: ("asc" | "desc");
|
|
19695
20364
|
})[];
|
|
19696
20365
|
newlinesBetween?: ("ignore" | number);
|
|
20366
|
+
additionalModuleBlockTypes?: string[];
|
|
19697
20367
|
useExperimentalDependencyDetection?: boolean;
|
|
19698
20368
|
newlinesBetweenOverloadSignatures?: ("ignore" | number);
|
|
19699
20369
|
partitionByComment?: (boolean | (({
|
|
@@ -19719,6 +20389,10 @@ type PerfectionistSortModules = [] | [{
|
|
|
19719
20389
|
} | string)));
|
|
19720
20390
|
});
|
|
19721
20391
|
partitionByNewLine?: boolean;
|
|
20392
|
+
tsconfig?: {
|
|
20393
|
+
rootDir: string;
|
|
20394
|
+
filename?: string;
|
|
20395
|
+
};
|
|
19722
20396
|
}];
|
|
19723
20397
|
// ----- perfectionist/sort-named-exports -----
|
|
19724
20398
|
type PerfectionistSortNamedExports = {
|
|
@@ -20247,6 +20921,13 @@ type PerfectionistSortObjects = {
|
|
|
20247
20921
|
partitionByComputedKey?: boolean;
|
|
20248
20922
|
styledComponents?: boolean;
|
|
20249
20923
|
useExperimentalDependencyDetection?: boolean;
|
|
20924
|
+
ignoreCallbackDependenciesPatterns?: (({
|
|
20925
|
+
pattern: string;
|
|
20926
|
+
flags?: string;
|
|
20927
|
+
} | string)[] | ({
|
|
20928
|
+
pattern: string;
|
|
20929
|
+
flags?: string;
|
|
20930
|
+
} | string));
|
|
20250
20931
|
partitionByComment?: (boolean | (({
|
|
20251
20932
|
pattern: string;
|
|
20252
20933
|
flags?: string;
|
|
@@ -20582,6 +21263,13 @@ type PerfectionistSortVariableDeclarations = {
|
|
|
20582
21263
|
matchesAstSelector?: string;
|
|
20583
21264
|
};
|
|
20584
21265
|
useExperimentalDependencyDetection?: boolean;
|
|
21266
|
+
ignoreCallbackDependenciesPatterns?: (({
|
|
21267
|
+
pattern: string;
|
|
21268
|
+
flags?: string;
|
|
21269
|
+
} | string)[] | ({
|
|
21270
|
+
pattern: string;
|
|
21271
|
+
flags?: string;
|
|
21272
|
+
} | string));
|
|
20585
21273
|
partitionByComment?: (boolean | (({
|
|
20586
21274
|
pattern: string;
|
|
20587
21275
|
flags?: string;
|
|
@@ -20866,6 +21554,13 @@ type SmallRulesConsistentCompoundWords = [] | [{
|
|
|
20866
21554
|
[k: string]: (false | string) | undefined;
|
|
20867
21555
|
};
|
|
20868
21556
|
}];
|
|
21557
|
+
// ----- small-rules/curly -----
|
|
21558
|
+
type SmallRulesCurly = [] | [{
|
|
21559
|
+
allowLiteralReturns?: boolean;
|
|
21560
|
+
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"))[]]);
|
|
21561
|
+
printWidth?: number;
|
|
21562
|
+
tabWidth?: number;
|
|
21563
|
+
}];
|
|
20869
21564
|
// ----- small-rules/directive-disable-enable-pair -----
|
|
20870
21565
|
type SmallRulesDirectiveDisableEnablePair = [] | [{
|
|
20871
21566
|
allowWholeFile?: boolean;
|
|
@@ -20900,11 +21595,15 @@ type SmallRulesIsolatedFunctions = [] | [{
|
|
|
20900
21595
|
type SmallRulesMemoizedEffectDependencies = [] | [{
|
|
20901
21596
|
environment?: ("roblox-ts" | "standard");
|
|
20902
21597
|
hooks?: {
|
|
20903
|
-
dependenciesIndex?: number;
|
|
20904
21598
|
name: string;
|
|
21599
|
+
dependenciesIndex?: number;
|
|
20905
21600
|
}[];
|
|
20906
21601
|
mode?: ("aggressive" | "definite" | "moderate");
|
|
20907
21602
|
}];
|
|
21603
|
+
// ----- small-rules/no-adjust-state-on-prop-change -----
|
|
21604
|
+
type SmallRulesNoAdjustStateOnPropChange = [] | [{
|
|
21605
|
+
environment?: ("roblox-ts" | "standard");
|
|
21606
|
+
}];
|
|
20908
21607
|
// ----- small-rules/no-array-constructor-elements -----
|
|
20909
21608
|
type SmallRulesNoArrayConstructorElements = [] | [{
|
|
20910
21609
|
environment?: ("roblox-ts" | "standard");
|
|
@@ -20931,6 +21630,18 @@ type SmallRulesNoAsyncInSystem = [] | [{
|
|
|
20931
21630
|
calleePath: [string, ...(string)[]];
|
|
20932
21631
|
}[];
|
|
20933
21632
|
}];
|
|
21633
|
+
// ----- small-rules/no-chain-state-updates -----
|
|
21634
|
+
type SmallRulesNoChainStateUpdates = [] | [{
|
|
21635
|
+
environment?: ("roblox-ts" | "standard");
|
|
21636
|
+
}];
|
|
21637
|
+
// ----- small-rules/no-chained-type-assertions -----
|
|
21638
|
+
type SmallRulesNoChainedTypeAssertions = [] | [{
|
|
21639
|
+
allowedTargets?: string[];
|
|
21640
|
+
}];
|
|
21641
|
+
// ----- small-rules/no-cliffy-action-wrapper -----
|
|
21642
|
+
type SmallRulesNoCliffyActionWrapper = [] | [{
|
|
21643
|
+
factories?: string[];
|
|
21644
|
+
}];
|
|
20934
21645
|
// ----- small-rules/no-color3-constructor -----
|
|
20935
21646
|
type SmallRulesNoColor3Constructor = [] | [{
|
|
20936
21647
|
reportUnknownComponents?: boolean;
|
|
@@ -20943,10 +21654,22 @@ type SmallRulesNoCommentedCode = [] | [{
|
|
|
20943
21654
|
type SmallRulesNoConstantConditionWithBreak = [] | [{
|
|
20944
21655
|
loopExitCalls?: string[];
|
|
20945
21656
|
}];
|
|
21657
|
+
// ----- small-rules/no-derived-state -----
|
|
21658
|
+
type SmallRulesNoDerivedState = [] | [{
|
|
21659
|
+
environment?: ("roblox-ts" | "standard");
|
|
21660
|
+
}];
|
|
21661
|
+
// ----- small-rules/no-event-handler -----
|
|
21662
|
+
type SmallRulesNoEventHandler = [] | [{
|
|
21663
|
+
environment?: ("roblox-ts" | "standard");
|
|
21664
|
+
}];
|
|
20946
21665
|
// ----- small-rules/no-events-in-events-callback -----
|
|
20947
21666
|
type SmallRulesNoEventsInEventsCallback = [] | [{
|
|
20948
21667
|
eventsImportPaths: string[];
|
|
20949
21668
|
}];
|
|
21669
|
+
// ----- small-rules/no-external-store-subscription -----
|
|
21670
|
+
type SmallRulesNoExternalStoreSubscription = [] | [{
|
|
21671
|
+
environment?: ("roblox-ts" | "standard");
|
|
21672
|
+
}];
|
|
20950
21673
|
// ----- small-rules/no-god-components -----
|
|
20951
21674
|
type SmallRulesNoGodComponents = [] | [{
|
|
20952
21675
|
enforceTargetLines?: boolean;
|
|
@@ -20966,20 +21689,53 @@ type SmallRulesNoIdentityMap = [] | [{
|
|
|
20966
21689
|
type SmallRulesNoIncrementDecrement = [] | [{
|
|
20967
21690
|
allowAutofix?: boolean;
|
|
20968
21691
|
}];
|
|
21692
|
+
// ----- small-rules/no-initialize-state -----
|
|
21693
|
+
type SmallRulesNoInitializeState = [] | [{
|
|
21694
|
+
environment?: ("roblox-ts" | "standard");
|
|
21695
|
+
}];
|
|
21696
|
+
// ----- small-rules/no-inline-signature-types -----
|
|
21697
|
+
type SmallRulesNoInlineSignatureTypes = [] | [{
|
|
21698
|
+
functions?: ("all" | "components");
|
|
21699
|
+
position?: ("anywhere" | "bare" | "wrapped");
|
|
21700
|
+
returnTypes?: boolean;
|
|
21701
|
+
}];
|
|
20969
21702
|
// ----- small-rules/no-instance-methods-without-this -----
|
|
20970
21703
|
type SmallRulesNoInstanceMethodsWithoutThis = [] | [{
|
|
20971
21704
|
checkPrivate?: boolean;
|
|
20972
21705
|
checkProtected?: boolean;
|
|
20973
21706
|
checkPublic?: boolean;
|
|
20974
21707
|
}];
|
|
21708
|
+
// ----- small-rules/no-multiple-cliffy-commands -----
|
|
21709
|
+
type SmallRulesNoMultipleCliffyCommands = [] | [{
|
|
21710
|
+
factories?: string[];
|
|
21711
|
+
}];
|
|
20975
21712
|
// ----- small-rules/no-new-instance-in-use-memo -----
|
|
20976
21713
|
type SmallRulesNoNewInstanceInUseMemo = [] | [{
|
|
20977
21714
|
constructors?: string[];
|
|
20978
21715
|
environment?: ("roblox-ts" | "standard");
|
|
20979
21716
|
maxHelperTraceDepth?: number;
|
|
20980
21717
|
}];
|
|
21718
|
+
// ----- small-rules/no-pass-data-to-parent -----
|
|
21719
|
+
type SmallRulesNoPassDataToParent = [] | [{
|
|
21720
|
+
environment?: ("roblox-ts" | "standard");
|
|
21721
|
+
}];
|
|
21722
|
+
// ----- small-rules/no-pass-live-state-to-parent -----
|
|
21723
|
+
type SmallRulesNoPassLiveStateToParent = [] | [{
|
|
21724
|
+
environment?: ("roblox-ts" | "standard");
|
|
21725
|
+
}];
|
|
21726
|
+
// ----- small-rules/no-real-temporary-directory -----
|
|
21727
|
+
type SmallRulesNoRealTemporaryDirectory = [] | [{
|
|
21728
|
+
additionalFunctions?: {
|
|
21729
|
+
functions: [string, ...(string)[]];
|
|
21730
|
+
source: string;
|
|
21731
|
+
}[];
|
|
21732
|
+
}];
|
|
20981
21733
|
// ----- small-rules/no-recursive -----
|
|
20982
21734
|
type SmallRulesNoRecursive = [] | [{}];
|
|
21735
|
+
// ----- small-rules/no-reset-all-state-on-prop-change -----
|
|
21736
|
+
type SmallRulesNoResetAllStateOnPropChange = [] | [{
|
|
21737
|
+
environment?: ("roblox-ts" | "standard");
|
|
21738
|
+
}];
|
|
20983
21739
|
// ----- small-rules/no-restricted-property-assignment -----
|
|
20984
21740
|
type SmallRulesNoRestrictedPropertyAssignment = [] | [{
|
|
20985
21741
|
allowFiles?: string[];
|
|
@@ -20990,10 +21746,30 @@ type SmallRulesNoRestrictedPropertyAssignment = [] | [{
|
|
|
20990
21746
|
properties: [string, ...(string)[]];
|
|
20991
21747
|
}[];
|
|
20992
21748
|
}];
|
|
21749
|
+
// ----- small-rules/no-runtime-in-type-files -----
|
|
21750
|
+
type SmallRulesNoRuntimeInTypeFiles = [] | [{
|
|
21751
|
+
files?: string[];
|
|
21752
|
+
}];
|
|
21753
|
+
// ----- small-rules/no-runtime-typeof -----
|
|
21754
|
+
type SmallRulesNoRuntimeTypeof = [] | [{
|
|
21755
|
+
allowInTypeGuards?: boolean;
|
|
21756
|
+
}];
|
|
20993
21757
|
// ----- small-rules/no-static-react-create-element -----
|
|
20994
21758
|
type SmallRulesNoStaticReactCreateElement = [] | [{
|
|
20995
21759
|
environment?: ("roblox-ts" | "standard");
|
|
20996
21760
|
}];
|
|
21761
|
+
// ----- small-rules/no-test-timeout -----
|
|
21762
|
+
type SmallRulesNoTestTimeout = [] | [{
|
|
21763
|
+
additionalTestFunctions?: string[];
|
|
21764
|
+
}];
|
|
21765
|
+
// ----- small-rules/no-unsupported-syntax -----
|
|
21766
|
+
type SmallRulesNoUnsupportedSyntax = [] | [{
|
|
21767
|
+
globalThis?: boolean;
|
|
21768
|
+
labels?: boolean;
|
|
21769
|
+
prototype?: boolean;
|
|
21770
|
+
regexLiterals?: boolean;
|
|
21771
|
+
spreadDestructuring?: boolean;
|
|
21772
|
+
}];
|
|
20997
21773
|
// ----- small-rules/no-unused-imports -----
|
|
20998
21774
|
type SmallRulesNoUnusedImports = [] | [{
|
|
20999
21775
|
checkJSDoc?: boolean;
|
|
@@ -21006,6 +21782,10 @@ type SmallRulesNoUnusedUseMemo = [] | [{
|
|
|
21006
21782
|
type SmallRulesNoUselessConstants = [] | [{
|
|
21007
21783
|
ignoreCallPatterns?: string[];
|
|
21008
21784
|
}];
|
|
21785
|
+
// ----- small-rules/no-useless-empty-string-comparison -----
|
|
21786
|
+
type SmallRulesNoUselessEmptyStringComparison = [] | [{
|
|
21787
|
+
allowAutofix?: boolean;
|
|
21788
|
+
}];
|
|
21009
21789
|
// ----- small-rules/no-useless-use-effect -----
|
|
21010
21790
|
type SmallRulesNoUselessUseEffect = [] | [{
|
|
21011
21791
|
environment?: ("roblox-ts" | "standard");
|
|
@@ -21030,7 +21810,7 @@ type SmallRulesNoUselessUseEffect = [] | [{
|
|
|
21030
21810
|
}];
|
|
21031
21811
|
// ----- small-rules/no-useless-use-memo -----
|
|
21032
21812
|
type SmallRulesNoUselessUseMemo = [] | [{
|
|
21033
|
-
dependencyMode?: ("empty-or-omitted" | "
|
|
21813
|
+
dependencyMode?: ("empty-or-omitted" | "aggressive" | "non-updating");
|
|
21034
21814
|
environment?: ("roblox-ts" | "standard");
|
|
21035
21815
|
staticGlobalFactories?: string[];
|
|
21036
21816
|
}];
|
|
@@ -21104,8 +21884,8 @@ type SmallRulesRequireModuleLevelInstantiation = [] | [{
|
|
|
21104
21884
|
type SmallRulesRequireNamedEffectFunctions = [] | [{
|
|
21105
21885
|
environment?: ("roblox-ts" | "standard");
|
|
21106
21886
|
hooks?: {
|
|
21107
|
-
allowAsync: boolean;
|
|
21108
21887
|
name: string;
|
|
21888
|
+
allowAsync: boolean;
|
|
21109
21889
|
}[];
|
|
21110
21890
|
inlineFunctionDeclarations?: boolean;
|
|
21111
21891
|
sloptor?: boolean;
|
|
@@ -21144,6 +21924,28 @@ type SmallRulesRequireReactComponentKeys = [] | [{
|
|
|
21144
21924
|
type SmallRulesRequireReactDisplayNames = [] | [{
|
|
21145
21925
|
environment?: ("roblox-ts" | "standard");
|
|
21146
21926
|
}];
|
|
21927
|
+
// ----- small-rules/require-readable-spacing -----
|
|
21928
|
+
type SmallRulesRequireReadableSpacing = [] | [{
|
|
21929
|
+
afterBlocks?: boolean;
|
|
21930
|
+
afterImports?: boolean;
|
|
21931
|
+
allowAttachedUses?: boolean;
|
|
21932
|
+
allowGuardClauseRuns?: boolean;
|
|
21933
|
+
allowMultilineBindingRuns?: boolean;
|
|
21934
|
+
aroundDeclarations?: boolean;
|
|
21935
|
+
aroundMultilineBindings?: boolean;
|
|
21936
|
+
beforeControlFlow?: boolean;
|
|
21937
|
+
betweenTopLevelStatements?: boolean;
|
|
21938
|
+
overrides?: {
|
|
21939
|
+
blankLine: ("always" | "any");
|
|
21940
|
+
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"))[]]);
|
|
21941
|
+
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"))[]]);
|
|
21942
|
+
usesPrevious?: boolean;
|
|
21943
|
+
}[];
|
|
21944
|
+
}];
|
|
21945
|
+
// ----- small-rules/require-safety-comment-for-type-assertion -----
|
|
21946
|
+
type SmallRulesRequireSafetyCommentForTypeAssertion = [] | [{
|
|
21947
|
+
markers?: [string, ...(string)[]];
|
|
21948
|
+
}];
|
|
21147
21949
|
// ----- small-rules/require-switch-case-braces -----
|
|
21148
21950
|
type SmallRulesRequireSwitchCaseBraces = [] | [{
|
|
21149
21951
|
metric?: ("lines" | "statements");
|
|
@@ -21151,12 +21953,17 @@ type SmallRulesRequireSwitchCaseBraces = [] | [{
|
|
|
21151
21953
|
// ----- small-rules/require-throw-error-capture -----
|
|
21152
21954
|
type SmallRulesRequireThrowErrorCapture = [] | [{
|
|
21153
21955
|
allow?: (string | {
|
|
21154
|
-
from?: ("file" | "library" | "package");
|
|
21155
21956
|
name: (string | string[]);
|
|
21957
|
+
from?: ("file" | "library" | "package");
|
|
21156
21958
|
package?: string;
|
|
21157
21959
|
path?: string;
|
|
21158
21960
|
})[];
|
|
21159
21961
|
}];
|
|
21962
|
+
// ----- small-rules/starts-with-verb -----
|
|
21963
|
+
type SmallRulesStartsWithVerb = [] | [{
|
|
21964
|
+
allowList?: string[];
|
|
21965
|
+
denyList?: string[];
|
|
21966
|
+
}];
|
|
21160
21967
|
// ----- small-rules/strict-component-boundaries -----
|
|
21161
21968
|
type SmallRulesStrictComponentBoundaries = [] | [{
|
|
21162
21969
|
allow?: string[];
|
|
@@ -21165,9 +21972,9 @@ type SmallRulesStrictComponentBoundaries = [] | [{
|
|
|
21165
21972
|
// ----- small-rules/use-exhaustive-dependencies -----
|
|
21166
21973
|
type SmallRulesUseExhaustiveDependencies = [] | [{
|
|
21167
21974
|
hooks?: {
|
|
21975
|
+
name: string;
|
|
21168
21976
|
closureIndex?: number;
|
|
21169
21977
|
dependenciesIndex?: number;
|
|
21170
|
-
name: string;
|
|
21171
21978
|
stableResult?: (boolean | number | number[] | string[]);
|
|
21172
21979
|
}[];
|
|
21173
21980
|
reportMissingDependenciesArray?: boolean;
|
|
@@ -22811,6 +23618,10 @@ type TsArrayType = [] | [{
|
|
|
22811
23618
|
default?: ("array" | "generic" | "array-simple");
|
|
22812
23619
|
readonly?: ("array" | "generic" | "array-simple");
|
|
22813
23620
|
}];
|
|
23621
|
+
// ----- ts/await-thenable -----
|
|
23622
|
+
type TsAwaitThenable = [] | [{
|
|
23623
|
+
allowMixedPromiseArrays?: boolean;
|
|
23624
|
+
}];
|
|
22814
23625
|
// ----- ts/ban-ts-comment -----
|
|
22815
23626
|
type TsBanTsComment = [] | [{
|
|
22816
23627
|
minimumDescriptionLength?: number;
|
|
@@ -23383,7 +24194,9 @@ type TsNoMeaninglessVoidOperator = [] | [{
|
|
|
23383
24194
|
}];
|
|
23384
24195
|
// ----- ts/no-misused-promises -----
|
|
23385
24196
|
type TsNoMisusedPromises = [] | [{
|
|
23386
|
-
checksConditionals?: boolean
|
|
24197
|
+
checksConditionals?: (boolean | {
|
|
24198
|
+
flagUnions?: ("all" | "strict" | "none");
|
|
24199
|
+
});
|
|
23387
24200
|
checksSpreads?: boolean;
|
|
23388
24201
|
checksVoidReturn?: (boolean | {
|
|
23389
24202
|
arguments?: boolean;
|
|
@@ -27072,6 +27885,10 @@ interface OxlintNativeRuleOptions {
|
|
|
27072
27885
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/button-has-type.html
|
|
27073
27886
|
*/
|
|
27074
27887
|
'react/button-has-type'?: DummyRuleMap$1['react/button-has-type'];
|
|
27888
|
+
/**
|
|
27889
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/capitalized-calls.html
|
|
27890
|
+
*/
|
|
27891
|
+
'react/capitalized-calls'?: DummyRuleMap$1['react/capitalized-calls'];
|
|
27075
27892
|
/**
|
|
27076
27893
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/checked-requires-onchange-or-readonly.html
|
|
27077
27894
|
*/
|
|
@@ -27080,10 +27897,18 @@ interface OxlintNativeRuleOptions {
|
|
|
27080
27897
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/display-name.html
|
|
27081
27898
|
*/
|
|
27082
27899
|
'react/display-name'?: DummyRuleMap$1['react/display-name'];
|
|
27900
|
+
/**
|
|
27901
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/error-boundaries.html
|
|
27902
|
+
*/
|
|
27903
|
+
'react/error-boundaries'?: DummyRuleMap$1['react/error-boundaries'];
|
|
27083
27904
|
/**
|
|
27084
27905
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-deps.html
|
|
27085
27906
|
*/
|
|
27086
27907
|
'react/exhaustive-deps'?: DummyRuleMap$1['react/exhaustive-deps'];
|
|
27908
|
+
/**
|
|
27909
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/exhaustive-effect-dependencies.html
|
|
27910
|
+
*/
|
|
27911
|
+
'react/exhaustive-effect-dependencies'?: DummyRuleMap$1['react/exhaustive-effect-dependencies'];
|
|
27087
27912
|
/**
|
|
27088
27913
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/forbid-component-props.html
|
|
27089
27914
|
*/
|
|
@@ -27104,14 +27929,34 @@ interface OxlintNativeRuleOptions {
|
|
|
27104
27929
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/function-component-definition.html
|
|
27105
27930
|
*/
|
|
27106
27931
|
'react/function-component-definition'?: DummyRuleMap$1['react/function-component-definition'];
|
|
27932
|
+
/**
|
|
27933
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/globals.html
|
|
27934
|
+
*/
|
|
27935
|
+
'react/globals'?: DummyRuleMap$1['react/globals'];
|
|
27107
27936
|
/**
|
|
27108
27937
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/hook-use-state.html
|
|
27109
27938
|
*/
|
|
27110
27939
|
'react/hook-use-state'?: DummyRuleMap$1['react/hook-use-state'];
|
|
27940
|
+
/**
|
|
27941
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/hooks.html
|
|
27942
|
+
*/
|
|
27943
|
+
'react/hooks'?: DummyRuleMap$1['react/hooks'];
|
|
27111
27944
|
/**
|
|
27112
27945
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/iframe-missing-sandbox.html
|
|
27113
27946
|
*/
|
|
27114
27947
|
'react/iframe-missing-sandbox'?: DummyRuleMap$1['react/iframe-missing-sandbox'];
|
|
27948
|
+
/**
|
|
27949
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/immutability.html
|
|
27950
|
+
*/
|
|
27951
|
+
'react/immutability'?: DummyRuleMap$1['react/immutability'];
|
|
27952
|
+
/**
|
|
27953
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/incompatible-library.html
|
|
27954
|
+
*/
|
|
27955
|
+
'react/incompatible-library'?: DummyRuleMap$1['react/incompatible-library'];
|
|
27956
|
+
/**
|
|
27957
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/invariant.html
|
|
27958
|
+
*/
|
|
27959
|
+
'react/invariant'?: DummyRuleMap$1['react/invariant'];
|
|
27115
27960
|
/**
|
|
27116
27961
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-boolean-value.html
|
|
27117
27962
|
*/
|
|
@@ -27184,6 +28029,10 @@ interface OxlintNativeRuleOptions {
|
|
|
27184
28029
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/jsx-props-no-spreading.html
|
|
27185
28030
|
*/
|
|
27186
28031
|
'react/jsx-props-no-spreading'?: DummyRuleMap$1['react/jsx-props-no-spreading'];
|
|
28032
|
+
/**
|
|
28033
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/memo-dependencies.html
|
|
28034
|
+
*/
|
|
28035
|
+
'react/memo-dependencies'?: DummyRuleMap$1['react/memo-dependencies'];
|
|
27187
28036
|
/**
|
|
27188
28037
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-array-index-key.html
|
|
27189
28038
|
*/
|
|
@@ -27204,6 +28053,10 @@ interface OxlintNativeRuleOptions {
|
|
|
27204
28053
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-danger-with-children.html
|
|
27205
28054
|
*/
|
|
27206
28055
|
'react/no-danger-with-children'?: DummyRuleMap$1['react/no-danger-with-children'];
|
|
28056
|
+
/**
|
|
28057
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-deriving-state-in-effects.html
|
|
28058
|
+
*/
|
|
28059
|
+
'react/no-deriving-state-in-effects'?: DummyRuleMap$1['react/no-deriving-state-in-effects'];
|
|
27207
28060
|
/**
|
|
27208
28061
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/no-did-mount-set-state.html
|
|
27209
28062
|
*/
|
|
@@ -27293,17 +28146,29 @@ interface OxlintNativeRuleOptions {
|
|
|
27293
28146
|
*/
|
|
27294
28147
|
'react/prefer-function-component'?: DummyRuleMap$1['react/prefer-function-component'];
|
|
27295
28148
|
/**
|
|
27296
|
-
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/
|
|
28149
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/preserve-manual-memoization.html
|
|
28150
|
+
*/
|
|
28151
|
+
'react/preserve-manual-memoization'?: DummyRuleMap$1['react/preserve-manual-memoization'];
|
|
28152
|
+
/**
|
|
28153
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/purity.html
|
|
27297
28154
|
*/
|
|
27298
|
-
'react/
|
|
28155
|
+
'react/purity'?: DummyRuleMap$1['react/purity'];
|
|
27299
28156
|
/**
|
|
27300
28157
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/react-in-jsx-scope.html
|
|
27301
28158
|
*/
|
|
27302
28159
|
'react/react-in-jsx-scope'?: DummyRuleMap$1['react/react-in-jsx-scope'];
|
|
28160
|
+
/**
|
|
28161
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/refs.html
|
|
28162
|
+
*/
|
|
28163
|
+
'react/refs'?: DummyRuleMap$1['react/refs'];
|
|
27303
28164
|
/**
|
|
27304
28165
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/require-render-return.html
|
|
27305
28166
|
*/
|
|
27306
28167
|
'react/require-render-return'?: DummyRuleMap$1['react/require-render-return'];
|
|
28168
|
+
/**
|
|
28169
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/rule-suppression.html
|
|
28170
|
+
*/
|
|
28171
|
+
'react/rule-suppression'?: DummyRuleMap$1['react/rule-suppression'];
|
|
27307
28172
|
/**
|
|
27308
28173
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/rules-of-hooks.html
|
|
27309
28174
|
*/
|
|
@@ -27312,18 +28177,50 @@ interface OxlintNativeRuleOptions {
|
|
|
27312
28177
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/self-closing-comp.html
|
|
27313
28178
|
*/
|
|
27314
28179
|
'react/self-closing-comp'?: DummyRuleMap$1['react/self-closing-comp'];
|
|
28180
|
+
/**
|
|
28181
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/set-state-in-effect.html
|
|
28182
|
+
*/
|
|
28183
|
+
'react/set-state-in-effect'?: DummyRuleMap$1['react/set-state-in-effect'];
|
|
28184
|
+
/**
|
|
28185
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/set-state-in-render.html
|
|
28186
|
+
*/
|
|
28187
|
+
'react/set-state-in-render'?: DummyRuleMap$1['react/set-state-in-render'];
|
|
27315
28188
|
/**
|
|
27316
28189
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/state-in-constructor.html
|
|
27317
28190
|
*/
|
|
27318
28191
|
'react/state-in-constructor'?: DummyRuleMap$1['react/state-in-constructor'];
|
|
28192
|
+
/**
|
|
28193
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/static-components.html
|
|
28194
|
+
*/
|
|
28195
|
+
'react/static-components'?: DummyRuleMap$1['react/static-components'];
|
|
27319
28196
|
/**
|
|
27320
28197
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/style-prop-object.html
|
|
27321
28198
|
*/
|
|
27322
28199
|
'react/style-prop-object'?: DummyRuleMap$1['react/style-prop-object'];
|
|
28200
|
+
/**
|
|
28201
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/syntax.html
|
|
28202
|
+
*/
|
|
28203
|
+
'react/syntax'?: DummyRuleMap$1['react/syntax'];
|
|
28204
|
+
/**
|
|
28205
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/todo.html
|
|
28206
|
+
*/
|
|
28207
|
+
'react/todo'?: DummyRuleMap$1['react/todo'];
|
|
28208
|
+
/**
|
|
28209
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/unsupported-syntax.html
|
|
28210
|
+
*/
|
|
28211
|
+
'react/unsupported-syntax'?: DummyRuleMap$1['react/unsupported-syntax'];
|
|
28212
|
+
/**
|
|
28213
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/use-memo.html
|
|
28214
|
+
*/
|
|
28215
|
+
'react/use-memo'?: DummyRuleMap$1['react/use-memo'];
|
|
27323
28216
|
/**
|
|
27324
28217
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/void-dom-elements-no-children.html
|
|
27325
28218
|
*/
|
|
27326
28219
|
'react/void-dom-elements-no-children'?: DummyRuleMap$1['react/void-dom-elements-no-children'];
|
|
28220
|
+
/**
|
|
28221
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/react/void-use-memo.html
|
|
28222
|
+
*/
|
|
28223
|
+
'react/void-use-memo'?: DummyRuleMap$1['react/void-use-memo'];
|
|
27327
28224
|
/**
|
|
27328
28225
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/eslint/require-await.html
|
|
27329
28226
|
*/
|
|
@@ -27510,6 +28407,12 @@ interface OxlintNativeRuleOptions {
|
|
|
27510
28407
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-for-in-array.html
|
|
27511
28408
|
*/
|
|
27512
28409
|
'typescript/no-for-in-array'?: DummyRuleMap$1['typescript/no-for-in-array'];
|
|
28410
|
+
/**
|
|
28411
|
+
* Requires type information (`oxlint --type-aware`).
|
|
28412
|
+
*
|
|
28413
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-generated-empty-object-type.html
|
|
28414
|
+
*/
|
|
28415
|
+
'typescript/no-generated-empty-object-type'?: DummyRuleMap$1['typescript/no-generated-empty-object-type'];
|
|
27513
28416
|
/**
|
|
27514
28417
|
* Requires type information (`oxlint --type-aware`).
|
|
27515
28418
|
*
|
|
@@ -27668,6 +28571,12 @@ interface OxlintNativeRuleOptions {
|
|
|
27668
28571
|
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-declaration-merging.html
|
|
27669
28572
|
*/
|
|
27670
28573
|
'typescript/no-unsafe-declaration-merging'?: DummyRuleMap$1['typescript/no-unsafe-declaration-merging'];
|
|
28574
|
+
/**
|
|
28575
|
+
* Requires type information (`oxlint --type-aware`).
|
|
28576
|
+
*
|
|
28577
|
+
* @see https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-unsafe-enum-assignment.html
|
|
28578
|
+
*/
|
|
28579
|
+
'typescript/no-unsafe-enum-assignment'?: DummyRuleMap$1['typescript/no-unsafe-enum-assignment'];
|
|
27671
28580
|
/**
|
|
27672
28581
|
* Requires type information (`oxlint --type-aware`).
|
|
27673
28582
|
*
|
|
@@ -30396,6 +31305,10 @@ interface OxlintRenamedJsPluginRuleOptions {
|
|
|
30396
31305
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
|
|
30397
31306
|
*/
|
|
30398
31307
|
'jsdoc-js/no-undefined-types'?: RuleOptions['jsdoc/no-undefined-types'];
|
|
31308
|
+
/**
|
|
31309
|
+
* Reports redundant @type tags that match or broaden the naturally inferred TypeScript type.
|
|
31310
|
+
*/
|
|
31311
|
+
'jsdoc-js/no-unnecessary-type-assertion'?: RuleOptions['jsdoc/no-unnecessary-type-assertion'];
|
|
30399
31312
|
/**
|
|
30400
31313
|
* Normalizes labeled links in `@see` tags to a canonical `{@link}` form.
|
|
30401
31314
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/normalize-see-links.md#repos-sticky-header
|
|
@@ -30591,6 +31504,11 @@ interface OxlintRenamedJsPluginRuleOptions {
|
|
|
30591
31504
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
|
|
30592
31505
|
*/
|
|
30593
31506
|
'jsdoc-js/text-escaping'?: RuleOptions['jsdoc/text-escaping'];
|
|
31507
|
+
/**
|
|
31508
|
+
* Disallows (or requires descriptions for) `@ts-<directive>` comments, mirroring `@typescript-eslint/ban-ts-comment`.
|
|
31509
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-ban-ts-comment.md#repos-sticky-header
|
|
31510
|
+
*/
|
|
31511
|
+
'jsdoc-js/ts-ban-ts-comment'?: RuleOptions['jsdoc/ts-ban-ts-comment'];
|
|
30594
31512
|
/**
|
|
30595
31513
|
* Prefers either function properties or method signatures
|
|
30596
31514
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
|