@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/index.d.mts
CHANGED
|
@@ -446,9 +446,6 @@ interface JsoncRuleDefaults {
|
|
|
446
446
|
"sonar/bool-param-default": {
|
|
447
447
|
"*": "error";
|
|
448
448
|
};
|
|
449
|
-
"sonar/cognitive-complexity": {
|
|
450
|
-
"*": ["warn", 15];
|
|
451
|
-
};
|
|
452
449
|
"sonar/constructor-for-side-effects": {
|
|
453
450
|
"*": "error";
|
|
454
451
|
};
|
|
@@ -501,9 +498,6 @@ interface JsoncRuleDefaults {
|
|
|
501
498
|
"sonar/no-empty-collection": {
|
|
502
499
|
"*": "error";
|
|
503
500
|
};
|
|
504
|
-
"sonar/no-floating-point-equality": {
|
|
505
|
-
"*": "error";
|
|
506
|
-
};
|
|
507
501
|
"sonar/no-gratuitous-expressions": {
|
|
508
502
|
"*": "off";
|
|
509
503
|
};
|
|
@@ -516,9 +510,6 @@ interface JsoncRuleDefaults {
|
|
|
516
510
|
"sonar/no-identical-functions": {
|
|
517
511
|
"*": ["error", 3];
|
|
518
512
|
};
|
|
519
|
-
"sonar/no-ignored-return": {
|
|
520
|
-
"*": "error";
|
|
521
|
-
};
|
|
522
513
|
"sonar/no-inverted-boolean-check": {
|
|
523
514
|
"*": "error";
|
|
524
515
|
};
|
|
@@ -844,6 +835,11 @@ interface MainRuleDefaults {
|
|
|
844
835
|
"severityOnly": "error";
|
|
845
836
|
};
|
|
846
837
|
};
|
|
838
|
+
"flawless/cognitive-complexity": {
|
|
839
|
+
"*": ["warn", {
|
|
840
|
+
"threshold": 15;
|
|
841
|
+
}];
|
|
842
|
+
};
|
|
847
843
|
"flawless/max-lines-per-function": {
|
|
848
844
|
"*": ["warn", {
|
|
849
845
|
"countFrom": "body";
|
|
@@ -859,17 +855,31 @@ interface MainRuleDefaults {
|
|
|
859
855
|
"flawless/no-floating-point-equality": {
|
|
860
856
|
"*": "error";
|
|
861
857
|
};
|
|
858
|
+
"flawless/no-ignored-return": {
|
|
859
|
+
game_roblox: ["error", {
|
|
860
|
+
"pureFunctions": ["bit32", "buffer", "math", "os", "string", "table.clone", "table.create", "table.isfrozen", "utf8", "vector"];
|
|
861
|
+
}];
|
|
862
|
+
game_std: ["error", {
|
|
863
|
+
"pureFunctions": [];
|
|
864
|
+
}];
|
|
865
|
+
package_roblox: ["error", {
|
|
866
|
+
"pureFunctions": ["bit32", "buffer", "math", "os", "string", "table.clone", "table.create", "table.isfrozen", "utf8", "vector"];
|
|
867
|
+
}];
|
|
868
|
+
package_std: ["error", {
|
|
869
|
+
"pureFunctions": [];
|
|
870
|
+
}];
|
|
871
|
+
};
|
|
862
872
|
"flawless/no-redundant-type-annotation": {
|
|
863
|
-
"*": "error"
|
|
873
|
+
"*": ["error", {
|
|
874
|
+
"allowExpressions": false;
|
|
875
|
+
"checkReturnTypes": false;
|
|
876
|
+
}];
|
|
864
877
|
};
|
|
865
878
|
"flawless/prefer-parameter-destructuring": {
|
|
866
879
|
"*": ["warn", {
|
|
867
880
|
"allowSideEffectReordering": true;
|
|
868
881
|
}];
|
|
869
882
|
};
|
|
870
|
-
"flawless/prefer-read-only-props": {
|
|
871
|
-
"*": ["error", {}];
|
|
872
|
-
};
|
|
873
883
|
"flowtype/boolean-style": {
|
|
874
884
|
"*": "off";
|
|
875
885
|
};
|
|
@@ -991,6 +1001,11 @@ interface MainRuleDefaults {
|
|
|
991
1001
|
"jsdoc/convert-to-jsdoc-comments": {
|
|
992
1002
|
"*": ["warn", {
|
|
993
1003
|
"allowedPrefixes": ["@ts-", "istanbul ", "c8 ", "v8 ", "eslint", "jshint", "jslint", "globals", "exported", "jscs", "oxlint-", "prettier-"];
|
|
1004
|
+
"contextsAfter": [];
|
|
1005
|
+
"contextsBeforeAndAfter": ["VariableDeclarator", "TSPropertySignature", "PropertyDefinition"];
|
|
1006
|
+
"enableFixer": true;
|
|
1007
|
+
"enforceJsdocLineStyle": "multi";
|
|
1008
|
+
"lineOrBlockStyle": "both";
|
|
994
1009
|
}];
|
|
995
1010
|
};
|
|
996
1011
|
"jsdoc/empty-tags": {
|
|
@@ -2316,9 +2331,6 @@ interface MainRuleDefaults {
|
|
|
2316
2331
|
"sonar/bool-param-default": {
|
|
2317
2332
|
"*": "error";
|
|
2318
2333
|
};
|
|
2319
|
-
"sonar/cognitive-complexity": {
|
|
2320
|
-
"*": ["warn", 15];
|
|
2321
|
-
};
|
|
2322
2334
|
"sonar/constructor-for-side-effects": {
|
|
2323
2335
|
"*": "error";
|
|
2324
2336
|
};
|
|
@@ -2371,9 +2383,6 @@ interface MainRuleDefaults {
|
|
|
2371
2383
|
"sonar/no-empty-collection": {
|
|
2372
2384
|
"*": "error";
|
|
2373
2385
|
};
|
|
2374
|
-
"sonar/no-floating-point-equality": {
|
|
2375
|
-
"*": "error";
|
|
2376
|
-
};
|
|
2377
2386
|
"sonar/no-gratuitous-expressions": {
|
|
2378
2387
|
"*": "off";
|
|
2379
2388
|
};
|
|
@@ -2386,9 +2395,6 @@ interface MainRuleDefaults {
|
|
|
2386
2395
|
"sonar/no-identical-functions": {
|
|
2387
2396
|
"*": ["error", 3];
|
|
2388
2397
|
};
|
|
2389
|
-
"sonar/no-ignored-return": {
|
|
2390
|
-
"*": "error";
|
|
2391
|
-
};
|
|
2392
2398
|
"sonar/no-inverted-boolean-check": {
|
|
2393
2399
|
"*": "error";
|
|
2394
2400
|
};
|
|
@@ -2793,18 +2799,14 @@ interface MainRuleDefaults {
|
|
|
2793
2799
|
"style/jsx-closing-tag-location": {
|
|
2794
2800
|
"*": ["off", "tag-aligned"];
|
|
2795
2801
|
};
|
|
2796
|
-
"style/jsx-curly-brace-presence": {
|
|
2797
|
-
"*": ["error", {
|
|
2798
|
-
"props": "never";
|
|
2799
|
-
"children": "never";
|
|
2800
|
-
"propElementValues": "always";
|
|
2801
|
-
}];
|
|
2802
|
-
};
|
|
2803
2802
|
"style/jsx-curly-newline": {
|
|
2804
2803
|
"*": ["off", "consistent"];
|
|
2805
2804
|
};
|
|
2806
2805
|
"style/jsx-curly-spacing": {
|
|
2807
|
-
"*": ["off",
|
|
2806
|
+
"*": ["off", {
|
|
2807
|
+
"when": "never";
|
|
2808
|
+
"allowMultiline": true;
|
|
2809
|
+
}];
|
|
2808
2810
|
};
|
|
2809
2811
|
"style/jsx-equals-spacing": {
|
|
2810
2812
|
"*": ["off", "never"];
|
|
@@ -2812,21 +2814,15 @@ interface MainRuleDefaults {
|
|
|
2812
2814
|
"style/jsx-first-prop-new-line": {
|
|
2813
2815
|
"*": ["off", "multiline-multiprop"];
|
|
2814
2816
|
};
|
|
2815
|
-
"style/jsx-function-call-newline": {
|
|
2816
|
-
"*": ["error", "multiline"];
|
|
2817
|
-
};
|
|
2818
2817
|
"style/jsx-indent": {
|
|
2819
2818
|
"*": ["off", 4];
|
|
2820
2819
|
};
|
|
2821
2820
|
"style/jsx-indent-props": {
|
|
2822
|
-
"*":
|
|
2823
|
-
"severityOnly": "off";
|
|
2824
|
-
};
|
|
2821
|
+
"*": ["off", 4];
|
|
2825
2822
|
};
|
|
2826
2823
|
"style/jsx-max-props-per-line": {
|
|
2827
2824
|
"*": ["off", {
|
|
2828
2825
|
"maximum": 1;
|
|
2829
|
-
"when": "multiline";
|
|
2830
2826
|
}];
|
|
2831
2827
|
};
|
|
2832
2828
|
"style/jsx-newline": {
|
|
@@ -2837,7 +2833,7 @@ interface MainRuleDefaults {
|
|
|
2837
2833
|
};
|
|
2838
2834
|
"style/jsx-one-expression-per-line": {
|
|
2839
2835
|
"*": ["off", {
|
|
2840
|
-
"allow": "
|
|
2836
|
+
"allow": "none";
|
|
2841
2837
|
}];
|
|
2842
2838
|
};
|
|
2843
2839
|
"style/jsx-props-no-multi-spaces": {
|
|
@@ -2851,19 +2847,19 @@ interface MainRuleDefaults {
|
|
|
2851
2847
|
"closingSlash": "never";
|
|
2852
2848
|
"beforeSelfClosing": "always";
|
|
2853
2849
|
"afterOpening": "never";
|
|
2854
|
-
"beforeClosing": "
|
|
2850
|
+
"beforeClosing": "allow";
|
|
2855
2851
|
}];
|
|
2856
2852
|
};
|
|
2857
2853
|
"style/jsx-wrap-multilines": {
|
|
2858
2854
|
"*": ["off", {
|
|
2859
|
-
"declaration": "parens
|
|
2860
|
-
"assignment": "parens
|
|
2861
|
-
"return": "parens
|
|
2862
|
-
"arrow": "parens
|
|
2863
|
-
"condition": "
|
|
2864
|
-
"logical": "
|
|
2865
|
-
"prop": "
|
|
2866
|
-
"propertyValue": "
|
|
2855
|
+
"declaration": "parens";
|
|
2856
|
+
"assignment": "parens";
|
|
2857
|
+
"return": "parens";
|
|
2858
|
+
"arrow": "parens";
|
|
2859
|
+
"condition": "ignore";
|
|
2860
|
+
"logical": "ignore";
|
|
2861
|
+
"prop": "ignore";
|
|
2862
|
+
"propertyValue": "ignore";
|
|
2867
2863
|
}];
|
|
2868
2864
|
};
|
|
2869
2865
|
"style/jsx/jsx-child-element-spacing": {
|
|
@@ -3414,6 +3410,9 @@ interface MainRuleDefaults {
|
|
|
3414
3410
|
"ts/no-for-in-array": {
|
|
3415
3411
|
"*": "error";
|
|
3416
3412
|
};
|
|
3413
|
+
"ts/no-generated-empty-object-type": {
|
|
3414
|
+
"*": "error";
|
|
3415
|
+
};
|
|
3417
3416
|
"ts/no-implied-eval": {
|
|
3418
3417
|
"*": "error";
|
|
3419
3418
|
};
|
|
@@ -3512,6 +3511,9 @@ interface MainRuleDefaults {
|
|
|
3512
3511
|
"ts/no-unsafe-declaration-merging": {
|
|
3513
3512
|
"*": "error";
|
|
3514
3513
|
};
|
|
3514
|
+
"ts/no-unsafe-enum-assignment": {
|
|
3515
|
+
"*": "error";
|
|
3516
|
+
};
|
|
3515
3517
|
"ts/no-unsafe-enum-comparison": {
|
|
3516
3518
|
"*": "error";
|
|
3517
3519
|
};
|
|
@@ -4734,6 +4736,11 @@ interface ReactRuleDefaults {
|
|
|
4734
4736
|
"selector": "variable";
|
|
4735
4737
|
}];
|
|
4736
4738
|
};
|
|
4739
|
+
"flawless/no-unnecessary-prop-alias": {
|
|
4740
|
+
"*": ["error", {
|
|
4741
|
+
"reportConflicts": true;
|
|
4742
|
+
}];
|
|
4743
|
+
};
|
|
4737
4744
|
"flawless/no-unnecessary-use-callback": {
|
|
4738
4745
|
"*": "error";
|
|
4739
4746
|
};
|
|
@@ -4743,11 +4750,16 @@ interface ReactRuleDefaults {
|
|
|
4743
4750
|
"flawless/prefer-destructuring-assignment": {
|
|
4744
4751
|
"*": "error";
|
|
4745
4752
|
};
|
|
4753
|
+
"flawless/prefer-read-only-props": {
|
|
4754
|
+
"*": ["error", {}];
|
|
4755
|
+
};
|
|
4746
4756
|
"flawless/purity": {
|
|
4747
4757
|
"*": ["error", {}];
|
|
4748
4758
|
};
|
|
4749
4759
|
"flawless/react-namespace": {
|
|
4750
|
-
"*": "error"
|
|
4760
|
+
"*": ["error", {
|
|
4761
|
+
"umdGlobal": false;
|
|
4762
|
+
}];
|
|
4751
4763
|
};
|
|
4752
4764
|
"one-var": {
|
|
4753
4765
|
"*": ["off", {
|
|
@@ -4974,12 +4986,61 @@ interface ReactRuleDefaults {
|
|
|
4974
4986
|
"small-rules/react-hooks-strict-return": {
|
|
4975
4987
|
"*": "error";
|
|
4976
4988
|
};
|
|
4989
|
+
"style/jsx-curly-brace-presence": {
|
|
4990
|
+
"*": ["error", {
|
|
4991
|
+
"props": "never";
|
|
4992
|
+
"children": "never";
|
|
4993
|
+
"propElementValues": "always";
|
|
4994
|
+
}];
|
|
4995
|
+
};
|
|
4996
|
+
"style/jsx-curly-spacing": {
|
|
4997
|
+
"*": ["off", "never"];
|
|
4998
|
+
};
|
|
4999
|
+
"style/jsx-function-call-newline": {
|
|
5000
|
+
"*": ["error", "multiline"];
|
|
5001
|
+
};
|
|
5002
|
+
"style/jsx-indent-props": {
|
|
5003
|
+
"*": {
|
|
5004
|
+
"severityOnly": "off";
|
|
5005
|
+
};
|
|
5006
|
+
};
|
|
5007
|
+
"style/jsx-max-props-per-line": {
|
|
5008
|
+
"*": ["off", {
|
|
5009
|
+
"maximum": 1;
|
|
5010
|
+
"when": "multiline";
|
|
5011
|
+
}];
|
|
5012
|
+
};
|
|
5013
|
+
"style/jsx-one-expression-per-line": {
|
|
5014
|
+
"*": ["off", {
|
|
5015
|
+
"allow": "single-child";
|
|
5016
|
+
}];
|
|
5017
|
+
};
|
|
4977
5018
|
"style/jsx-self-closing-comp": {
|
|
4978
5019
|
"*": ["error", {
|
|
4979
5020
|
"component": true;
|
|
4980
5021
|
"html": true;
|
|
4981
5022
|
}];
|
|
4982
5023
|
};
|
|
5024
|
+
"style/jsx-tag-spacing": {
|
|
5025
|
+
"*": ["off", {
|
|
5026
|
+
"closingSlash": "never";
|
|
5027
|
+
"beforeSelfClosing": "always";
|
|
5028
|
+
"afterOpening": "never";
|
|
5029
|
+
"beforeClosing": "never";
|
|
5030
|
+
}];
|
|
5031
|
+
};
|
|
5032
|
+
"style/jsx-wrap-multilines": {
|
|
5033
|
+
"*": ["off", {
|
|
5034
|
+
"declaration": "parens-new-line";
|
|
5035
|
+
"assignment": "parens-new-line";
|
|
5036
|
+
"return": "parens-new-line";
|
|
5037
|
+
"arrow": "parens-new-line";
|
|
5038
|
+
"condition": "parens-new-line";
|
|
5039
|
+
"logical": "parens-new-line";
|
|
5040
|
+
"prop": "parens-new-line";
|
|
5041
|
+
"propertyValue": "parens-new-line";
|
|
5042
|
+
}];
|
|
5043
|
+
};
|
|
4983
5044
|
}
|
|
4984
5045
|
interface SourceFeatureRuleDefaults {
|
|
4985
5046
|
"eslint-plugin/consistent-output": {
|
|
@@ -5310,6 +5371,9 @@ interface TestRuleDefaults {
|
|
|
5310
5371
|
"allowOptionalChaining": false;
|
|
5311
5372
|
}];
|
|
5312
5373
|
};
|
|
5374
|
+
"flawless/no-incompatible-assertion-types": {
|
|
5375
|
+
"*": "error";
|
|
5376
|
+
};
|
|
5313
5377
|
"flawless/no-shared-mocks": {
|
|
5314
5378
|
"*": "error";
|
|
5315
5379
|
};
|
|
@@ -5520,9 +5584,6 @@ interface TestRuleDefaults {
|
|
|
5520
5584
|
"ignoreStrings": "Not implemented";
|
|
5521
5585
|
}];
|
|
5522
5586
|
};
|
|
5523
|
-
"sonar/no-incompatible-assertion-types": {
|
|
5524
|
-
"*": "error";
|
|
5525
|
-
};
|
|
5526
5587
|
"sonar/no-mixed-completion-style": {
|
|
5527
5588
|
"*": "error";
|
|
5528
5589
|
};
|
|
@@ -5916,9 +5977,6 @@ interface TomlRuleDefaults {
|
|
|
5916
5977
|
"sonar/bool-param-default": {
|
|
5917
5978
|
"*": "error";
|
|
5918
5979
|
};
|
|
5919
|
-
"sonar/cognitive-complexity": {
|
|
5920
|
-
"*": ["warn", 15];
|
|
5921
|
-
};
|
|
5922
5980
|
"sonar/constructor-for-side-effects": {
|
|
5923
5981
|
"*": "error";
|
|
5924
5982
|
};
|
|
@@ -5971,9 +6029,6 @@ interface TomlRuleDefaults {
|
|
|
5971
6029
|
"sonar/no-empty-collection": {
|
|
5972
6030
|
"*": "error";
|
|
5973
6031
|
};
|
|
5974
|
-
"sonar/no-floating-point-equality": {
|
|
5975
|
-
"*": "error";
|
|
5976
|
-
};
|
|
5977
6032
|
"sonar/no-gratuitous-expressions": {
|
|
5978
6033
|
"*": "off";
|
|
5979
6034
|
};
|
|
@@ -5986,9 +6041,6 @@ interface TomlRuleDefaults {
|
|
|
5986
6041
|
"sonar/no-identical-functions": {
|
|
5987
6042
|
"*": ["error", 3];
|
|
5988
6043
|
};
|
|
5989
|
-
"sonar/no-ignored-return": {
|
|
5990
|
-
"*": "error";
|
|
5991
|
-
};
|
|
5992
6044
|
"sonar/no-inverted-boolean-check": {
|
|
5993
6045
|
"*": "error";
|
|
5994
6046
|
};
|
|
@@ -6228,9 +6280,6 @@ interface YamlRuleDefaults {
|
|
|
6228
6280
|
"sonar/bool-param-default": {
|
|
6229
6281
|
"*": "error";
|
|
6230
6282
|
};
|
|
6231
|
-
"sonar/cognitive-complexity": {
|
|
6232
|
-
"*": ["warn", 15];
|
|
6233
|
-
};
|
|
6234
6283
|
"sonar/constructor-for-side-effects": {
|
|
6235
6284
|
"*": "error";
|
|
6236
6285
|
};
|
|
@@ -6283,9 +6332,6 @@ interface YamlRuleDefaults {
|
|
|
6283
6332
|
"sonar/no-empty-collection": {
|
|
6284
6333
|
"*": "error";
|
|
6285
6334
|
};
|
|
6286
|
-
"sonar/no-floating-point-equality": {
|
|
6287
|
-
"*": "error";
|
|
6288
|
-
};
|
|
6289
6335
|
"sonar/no-gratuitous-expressions": {
|
|
6290
6336
|
"*": "off";
|
|
6291
6337
|
};
|
|
@@ -6298,9 +6344,6 @@ interface YamlRuleDefaults {
|
|
|
6298
6344
|
"sonar/no-identical-functions": {
|
|
6299
6345
|
"*": ["error", 3];
|
|
6300
6346
|
};
|
|
6301
|
-
"sonar/no-ignored-return": {
|
|
6302
|
-
"*": "error";
|
|
6303
|
-
};
|
|
6304
6347
|
"sonar/no-inverted-boolean-check": {
|
|
6305
6348
|
"*": "error";
|
|
6306
6349
|
};
|
|
@@ -6374,6 +6417,11 @@ interface YamlRuleDefaults {
|
|
|
6374
6417
|
"sonar/use-type-alias": {
|
|
6375
6418
|
"*": "error";
|
|
6376
6419
|
};
|
|
6420
|
+
"style/max-len": {
|
|
6421
|
+
"*": {
|
|
6422
|
+
"severityOnly": "error";
|
|
6423
|
+
};
|
|
6424
|
+
};
|
|
6377
6425
|
"style/multiline-comment-style": {
|
|
6378
6426
|
"*": ["error", "separate-lines"];
|
|
6379
6427
|
};
|
|
@@ -6496,7 +6544,7 @@ interface OverrideSiteChains {
|
|
|
6496
6544
|
type TestChain = [TestRuleDefaults, SourceFeatureRuleDefaults, MainRuleDefaults];
|
|
6497
6545
|
type ValidateOptionsWith<O, VK extends VariantKey> = ValidateSite<O, "rules", MainChain, VK> & ValidateSubOptionsFromTable<O, OverrideSiteChains, VK> & ValidateTestOption<O, TestChain, VK>;
|
|
6498
6546
|
//#endregion
|
|
6499
|
-
//#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eslint-config-flat-gitignore/2.3.0/
|
|
6547
|
+
//#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eslint-config-flat-gitignore/2.3.0/f307e164f36f43b448a8ceebca34f679d5f323ee99520236b96e9853454ef176/node_modules/eslint-config-flat-gitignore/dist/index.d.mts
|
|
6500
6548
|
interface FlatGitignoreOptions {
|
|
6501
6549
|
/**
|
|
6502
6550
|
* Name of the configuration.
|
|
@@ -7169,184 +7217,224 @@ interface RuleOptions {
|
|
|
7169
7217
|
'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
|
|
7170
7218
|
/**
|
|
7171
7219
|
* Enforce arrow function return style based on line length
|
|
7172
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7220
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/arrow-return-style/documentation.md
|
|
7173
7221
|
*/
|
|
7174
7222
|
'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
|
|
7223
|
+
/**
|
|
7224
|
+
* Limit the Cognitive Complexity of each function
|
|
7225
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/cognitive-complexity/documentation.md
|
|
7226
|
+
*/
|
|
7227
|
+
'flawless/cognitive-complexity'?: Linter.RuleEntry<FlawlessCognitiveComplexity>;
|
|
7175
7228
|
/**
|
|
7176
7229
|
* Disallow shorthand boolean JSX attributes
|
|
7177
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7230
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/jsx-shorthand-boolean/documentation.md
|
|
7178
7231
|
*/
|
|
7179
7232
|
'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
|
|
7180
7233
|
/**
|
|
7181
7234
|
* Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
|
|
7182
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7235
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/jsx-shorthand-fragment/documentation.md
|
|
7183
7236
|
*/
|
|
7184
7237
|
'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
|
|
7238
|
+
/**
|
|
7239
|
+
* Limit comments by word count
|
|
7240
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/max-comment-length/documentation.md
|
|
7241
|
+
*/
|
|
7242
|
+
'flawless/max-comment-length'?: Linter.RuleEntry<FlawlessMaxCommentLength>;
|
|
7185
7243
|
/**
|
|
7186
7244
|
* Enforce a maximum number of lines of code in a function
|
|
7187
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7245
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/max-lines-per-function/documentation.md
|
|
7188
7246
|
*/
|
|
7189
7247
|
'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
|
|
7190
7248
|
/**
|
|
7191
7249
|
* Enforce naming conventions for everything across a codebase
|
|
7192
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7250
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/naming-convention/documentation.md
|
|
7193
7251
|
*/
|
|
7194
7252
|
'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
|
|
7195
7253
|
/**
|
|
7196
7254
|
* Disallow conditional empty-object spreads
|
|
7197
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7255
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-conditional-empty-object-spread/documentation.md
|
|
7198
7256
|
*/
|
|
7199
7257
|
'flawless/no-conditional-empty-object-spread'?: Linter.RuleEntry<[]>;
|
|
7200
7258
|
/**
|
|
7201
7259
|
* Disallow conditional logic in tests
|
|
7202
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7260
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-conditional-in-test/documentation.md
|
|
7203
7261
|
*/
|
|
7204
7262
|
'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
|
|
7263
|
+
/**
|
|
7264
|
+
* Disallow em dashes in comments, strings, JSX text, and Markdown prose
|
|
7265
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-em-dash/documentation.md
|
|
7266
|
+
*/
|
|
7267
|
+
'flawless/no-em-dash'?: Linter.RuleEntry<[]>;
|
|
7205
7268
|
/**
|
|
7206
7269
|
* Disallow anonymous arrow functions as export default declarations
|
|
7207
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7270
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-export-default-arrow/documentation.md
|
|
7208
7271
|
*/
|
|
7209
7272
|
'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
|
|
7210
7273
|
/**
|
|
7211
7274
|
* Disallow exact equality checks involving floating-point-sensitive values
|
|
7212
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7275
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-floating-point-equality/documentation.md
|
|
7213
7276
|
*/
|
|
7214
7277
|
'flawless/no-floating-point-equality'?: Linter.RuleEntry<[]>;
|
|
7278
|
+
/**
|
|
7279
|
+
* Disallow ignoring the result of a built-in method that has no side effects
|
|
7280
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-ignored-return/documentation.md
|
|
7281
|
+
*/
|
|
7282
|
+
'flawless/no-ignored-return'?: Linter.RuleEntry<FlawlessNoIgnoredReturn>;
|
|
7283
|
+
/**
|
|
7284
|
+
* Disallow equality assertions whose operands have types that can never be equal
|
|
7285
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-incompatible-assertion-types/documentation.md
|
|
7286
|
+
*/
|
|
7287
|
+
'flawless/no-incompatible-assertion-types'?: Linter.RuleEntry<[]>;
|
|
7215
7288
|
/**
|
|
7216
7289
|
* Disallow syntactically established values from flowing into explicitly broad or anonymous target types that discard useful evidence
|
|
7217
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7290
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-known-value-widening/documentation.md
|
|
7218
7291
|
*/
|
|
7219
7292
|
'flawless/no-known-value-widening'?: Linter.RuleEntry<[]>;
|
|
7220
7293
|
/**
|
|
7221
7294
|
* Disallow copying an iterable into an array only to `filter` or `map` it
|
|
7222
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7295
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-materialized-filter-map/documentation.md
|
|
7223
7296
|
*/
|
|
7224
7297
|
'flawless/no-materialized-filter-map'?: Linter.RuleEntry<FlawlessNoMaterializedFilterMap>;
|
|
7225
7298
|
/**
|
|
7226
7299
|
* Disallow function parameters that accept any object shape
|
|
7227
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7300
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-object-parameters/documentation.md
|
|
7228
7301
|
*/
|
|
7229
7302
|
'flawless/no-object-parameters'?: Linter.RuleEntry<[]>;
|
|
7230
7303
|
/**
|
|
7231
7304
|
* Disallow tsconfig options that redundantly re-set a value already provided by an extended config
|
|
7232
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7305
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-redundant-tsconfig-options/documentation.md
|
|
7233
7306
|
*/
|
|
7234
7307
|
'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
|
|
7235
7308
|
/**
|
|
7236
7309
|
* Disallow type annotations that restate the initializer's own type
|
|
7237
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7310
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-redundant-type-annotation/documentation.md
|
|
7238
7311
|
*/
|
|
7239
|
-
'flawless/no-redundant-type-annotation'?: Linter.RuleEntry<
|
|
7312
|
+
'flawless/no-redundant-type-annotation'?: Linter.RuleEntry<FlawlessNoRedundantTypeAnnotation>;
|
|
7240
7313
|
/**
|
|
7241
7314
|
* Disallow the two-argument `Reflect.get` in favour of typed property access
|
|
7242
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7315
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-reflect-get/documentation.md
|
|
7243
7316
|
*/
|
|
7244
7317
|
'flawless/no-reflect-get'?: Linter.RuleEntry<[]>;
|
|
7245
7318
|
/**
|
|
7246
7319
|
* Disallow `Reflect.set` with a compile-time-fixed key in favour of a plain assignment
|
|
7247
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7320
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-reflect-set/documentation.md
|
|
7248
7321
|
*/
|
|
7249
7322
|
'flawless/no-reflect-set'?: Linter.RuleEntry<[]>;
|
|
7250
7323
|
/**
|
|
7251
7324
|
* Disallow the term 'shape' in declared symbol names
|
|
7252
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7325
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-shape-in-symbol-names/documentation.md
|
|
7253
7326
|
*/
|
|
7254
7327
|
'flawless/no-shape-in-symbol-names'?: Linter.RuleEntry<[]>;
|
|
7255
7328
|
/**
|
|
7256
7329
|
* Disallow mocks created once and shared between tests
|
|
7257
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7330
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-shared-mocks/documentation.md
|
|
7258
7331
|
*/
|
|
7259
7332
|
'flawless/no-shared-mocks'?: Linter.RuleEntry<[]>;
|
|
7260
7333
|
/**
|
|
7261
7334
|
* Disallow state declared outside tests and written inside them
|
|
7262
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7335
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-shared-test-state/documentation.md
|
|
7263
7336
|
*/
|
|
7264
7337
|
'flawless/no-shared-test-state'?: Linter.RuleEntry<FlawlessNoSharedTestState>;
|
|
7338
|
+
/**
|
|
7339
|
+
* Disallow rarely used top-level functions that only forward their parameters or read a parameter's property
|
|
7340
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-trivial-functions/documentation.md
|
|
7341
|
+
*/
|
|
7342
|
+
'flawless/no-trivial-functions'?: Linter.RuleEntry<FlawlessNoTrivialFunctions>;
|
|
7265
7343
|
/**
|
|
7266
7344
|
* Disallow `unknown` function parameters outside type-predicate subjects and recorded error causes
|
|
7267
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7345
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-unknown-parameters/documentation.md
|
|
7268
7346
|
*/
|
|
7269
7347
|
'flawless/no-unknown-parameters'?: Linter.RuleEntry<[]>;
|
|
7270
7348
|
/**
|
|
7271
7349
|
* Disallow explicit return type annotations that resolve to `unknown`
|
|
7272
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7350
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-unknown-returns/documentation.md
|
|
7273
7351
|
*/
|
|
7274
7352
|
'flawless/no-unknown-returns'?: Linter.RuleEntry<[]>;
|
|
7353
|
+
/**
|
|
7354
|
+
* Disallow unnecessary aliases when destructuring component props
|
|
7355
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-unnecessary-prop-alias/documentation.md
|
|
7356
|
+
*/
|
|
7357
|
+
'flawless/no-unnecessary-prop-alias'?: Linter.RuleEntry<FlawlessNoUnnecessaryPropAlias>;
|
|
7275
7358
|
/**
|
|
7276
7359
|
* Disallow unnecessary usage of 'useCallback'
|
|
7277
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7360
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-unnecessary-use-callback/documentation.md
|
|
7278
7361
|
*/
|
|
7279
7362
|
'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
|
|
7280
7363
|
/**
|
|
7281
7364
|
* Disallow unnecessary usage of 'useMemo'
|
|
7282
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7365
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-unnecessary-use-memo/documentation.md
|
|
7283
7366
|
*/
|
|
7284
7367
|
'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
|
|
7285
7368
|
/**
|
|
7286
7369
|
* Disallow unsafe object dictionary value types
|
|
7287
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7370
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/no-unsafe-dictionary-type/documentation.md
|
|
7288
7371
|
*/
|
|
7289
7372
|
'flawless/no-unsafe-dictionary-type'?: Linter.RuleEntry<[]>;
|
|
7290
7373
|
/**
|
|
7291
7374
|
* Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
|
|
7292
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7375
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/padding-after-expect-assertions/documentation.md
|
|
7293
7376
|
*/
|
|
7294
7377
|
'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
|
|
7295
7378
|
/**
|
|
7296
7379
|
* Enforce destructuring assignment for component props
|
|
7297
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7380
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-destructuring-assignment/documentation.md
|
|
7298
7381
|
*/
|
|
7299
7382
|
'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
|
|
7300
7383
|
/**
|
|
7301
7384
|
* Prefer having the last statement in a test be an assertion
|
|
7302
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7385
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-ending-with-an-expect/documentation.md
|
|
7303
7386
|
*/
|
|
7304
7387
|
'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
|
|
7305
7388
|
/**
|
|
7306
7389
|
* Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
|
|
7307
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7390
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-expect-assertions-count/documentation.md
|
|
7308
7391
|
*/
|
|
7309
7392
|
'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
|
|
7310
7393
|
/**
|
|
7311
7394
|
* Prefer `mockThrow` / `mockThrowOnce` over a mock implementation that only throws
|
|
7312
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7395
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-mock-throw/documentation.md
|
|
7313
7396
|
*/
|
|
7314
7397
|
'flawless/prefer-mock-throw'?: Linter.RuleEntry<[]>;
|
|
7315
7398
|
/**
|
|
7316
7399
|
* Enforce destructuring parameters in the function signature
|
|
7317
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7400
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-parameter-destructuring/documentation.md
|
|
7318
7401
|
*/
|
|
7319
7402
|
'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
|
|
7320
7403
|
/**
|
|
7321
7404
|
* Enforce that function component props are read-only
|
|
7322
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7405
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-read-only-props/documentation.md
|
|
7323
7406
|
*/
|
|
7324
7407
|
'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
|
|
7325
7408
|
/**
|
|
7326
7409
|
* Prefer test-bound Vitest APIs from the local test context
|
|
7327
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7410
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/prefer-vitest-local-context/documentation.md
|
|
7328
7411
|
*/
|
|
7329
7412
|
'flawless/prefer-vitest-local-context'?: Linter.RuleEntry<FlawlessPreferVitestLocalContext>;
|
|
7330
7413
|
/**
|
|
7331
7414
|
* Disallow impure calls such as `math.random` or `os.clock` during render
|
|
7332
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7415
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/purity/documentation.md
|
|
7333
7416
|
*/
|
|
7334
7417
|
'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
|
|
7335
7418
|
/**
|
|
7336
7419
|
* Prefer named imports for React runtime values and the React namespace for React types
|
|
7337
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7420
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/react-namespace/documentation.md
|
|
7338
7421
|
*/
|
|
7339
|
-
'flawless/react-namespace'?: Linter.RuleEntry<
|
|
7422
|
+
'flawless/react-namespace'?: Linter.RuleEntry<FlawlessReactNamespace>;
|
|
7340
7423
|
/**
|
|
7341
7424
|
* Enforce a configured sort order for TOML keys and tables
|
|
7342
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7425
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/toml-sort-keys/documentation.md
|
|
7343
7426
|
*/
|
|
7344
7427
|
'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
|
|
7345
7428
|
/**
|
|
7346
7429
|
* Enforce blank lines around top-level YAML block collection keys
|
|
7347
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7430
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/yaml-block-key-blank-lines/documentation.md
|
|
7348
7431
|
*/
|
|
7349
7432
|
'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
|
|
7433
|
+
/**
|
|
7434
|
+
* Enforce sorted YAML sequences of mappings by a key
|
|
7435
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.16.2/src/rules/yaml-sort-sequence-by-key/documentation.md
|
|
7436
|
+
*/
|
|
7437
|
+
'flawless/yaml-sort-sequence-by-key'?: Linter.RuleEntry<FlawlessYamlSortSequenceByKey>;
|
|
7350
7438
|
/**
|
|
7351
7439
|
* Enforce `for` loop update clause moving the counter in the right direction
|
|
7352
7440
|
* @see https://eslint.org/docs/latest/rules/for-direction
|
|
@@ -7930,7 +8018,7 @@ interface RuleOptions {
|
|
|
7930
8018
|
* Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
|
|
7931
8019
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
|
|
7932
8020
|
*/
|
|
7933
|
-
'jsdoc/check-syntax'?: Linter.RuleEntry<
|
|
8021
|
+
'jsdoc/check-syntax'?: Linter.RuleEntry<JsdocCheckSyntax>;
|
|
7934
8022
|
/**
|
|
7935
8023
|
* Reports invalid block tag names.
|
|
7936
8024
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
|
|
@@ -8046,6 +8134,10 @@ interface RuleOptions {
|
|
|
8046
8134
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
|
|
8047
8135
|
*/
|
|
8048
8136
|
'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
|
|
8137
|
+
/**
|
|
8138
|
+
* Reports redundant @type tags that match or broaden the naturally inferred TypeScript type.
|
|
8139
|
+
*/
|
|
8140
|
+
'jsdoc/no-unnecessary-type-assertion'?: Linter.RuleEntry<JsdocNoUnnecessaryTypeAssertion>;
|
|
8049
8141
|
/**
|
|
8050
8142
|
* Normalizes labeled links in `@see` tags to a canonical `{@link}` form.
|
|
8051
8143
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/normalize-see-links.md#repos-sticky-header
|
|
@@ -8241,6 +8333,11 @@ interface RuleOptions {
|
|
|
8241
8333
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
|
|
8242
8334
|
*/
|
|
8243
8335
|
'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
|
|
8336
|
+
/**
|
|
8337
|
+
* Disallows (or requires descriptions for) `@ts-<directive>` comments, mirroring `@typescript-eslint/ban-ts-comment`.
|
|
8338
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-ban-ts-comment.md#repos-sticky-header
|
|
8339
|
+
*/
|
|
8340
|
+
'jsdoc/ts-ban-ts-comment'?: Linter.RuleEntry<JsdocTsBanTsComment>;
|
|
8244
8341
|
/**
|
|
8245
8342
|
* Prefers either function properties or method signatures
|
|
8246
8343
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
|
|
@@ -10323,6 +10420,11 @@ interface RuleOptions {
|
|
|
10323
10420
|
* @see https://perfectionist.dev/rules/sort-classes
|
|
10324
10421
|
*/
|
|
10325
10422
|
'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>;
|
|
10423
|
+
/**
|
|
10424
|
+
* Enforce sorted constructor parameters.
|
|
10425
|
+
* @see https://perfectionist.dev/rules/sort-constructor-parameters
|
|
10426
|
+
*/
|
|
10427
|
+
'perfectionist/sort-constructor-parameters'?: Linter.RuleEntry<PerfectionistSortConstructorParameters>;
|
|
10326
10428
|
/**
|
|
10327
10429
|
* Enforce sorted decorators.
|
|
10328
10430
|
* @see https://perfectionist.dev/rules/sort-decorators
|
|
@@ -11172,9 +11274,14 @@ interface RuleOptions {
|
|
|
11172
11274
|
'small-rules/ban-types'?: Linter.RuleEntry<SmallRulesBanTypes>;
|
|
11173
11275
|
/**
|
|
11174
11276
|
* Enforce consistent spelling of compound words in identifiers.
|
|
11175
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/
|
|
11277
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/consistent-compound-words/
|
|
11176
11278
|
*/
|
|
11177
11279
|
'small-rules/consistent-compound-words'?: Linter.RuleEntry<SmallRulesConsistentCompoundWords>;
|
|
11280
|
+
/**
|
|
11281
|
+
* 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.
|
|
11282
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/curly/
|
|
11283
|
+
*/
|
|
11284
|
+
'small-rules/curly'?: Linter.RuleEntry<SmallRulesCurly>;
|
|
11178
11285
|
/**
|
|
11179
11286
|
* Require a matching enable comment for every `oxlint-disable` or `eslint-disable` block directive.
|
|
11180
11287
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/directive-disable-enable-pair/
|
|
@@ -11230,6 +11337,11 @@ interface RuleOptions {
|
|
|
11230
11337
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/memoized-effect-dependencies/
|
|
11231
11338
|
*/
|
|
11232
11339
|
'small-rules/memoized-effect-dependencies'?: Linter.RuleEntry<SmallRulesMemoizedEffectDependencies>;
|
|
11340
|
+
/**
|
|
11341
|
+
* Disallow adjusting state in an effect when a prop changes.
|
|
11342
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-adjust-state-on-prop-change/
|
|
11343
|
+
*/
|
|
11344
|
+
'small-rules/no-adjust-state-on-prop-change'?: Linter.RuleEntry<SmallRulesNoAdjustStateOnPropChange>;
|
|
11233
11345
|
/**
|
|
11234
11346
|
* Disallow array constructor element forms and enforce roblox-ts-aware constructor patterns.
|
|
11235
11347
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-array-constructor-elements/
|
|
@@ -11260,6 +11372,21 @@ interface RuleOptions {
|
|
|
11260
11372
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-cascading-set-state/
|
|
11261
11373
|
*/
|
|
11262
11374
|
'small-rules/no-cascading-set-state'?: Linter.RuleEntry<[]>;
|
|
11375
|
+
/**
|
|
11376
|
+
* Disallow chaining state changes in an effect.
|
|
11377
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-chain-state-updates/
|
|
11378
|
+
*/
|
|
11379
|
+
'small-rules/no-chain-state-updates'?: Linter.RuleEntry<SmallRulesNoChainStateUpdates>;
|
|
11380
|
+
/**
|
|
11381
|
+
* Disallow chained TypeScript as and angle-bracket assertions, including parenthesized chains.
|
|
11382
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-chained-type-assertions/
|
|
11383
|
+
*/
|
|
11384
|
+
'small-rules/no-chained-type-assertions'?: Linter.RuleEntry<SmallRulesNoChainedTypeAssertions>;
|
|
11385
|
+
/**
|
|
11386
|
+
* Disallow Cliffy `.action` handlers that only forward their arguments to another function.
|
|
11387
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/cliffy/no-cliffy-action-wrapper/
|
|
11388
|
+
*/
|
|
11389
|
+
'small-rules/no-cliffy-action-wrapper'?: Linter.RuleEntry<SmallRulesNoCliffyActionWrapper>;
|
|
11263
11390
|
/**
|
|
11264
11391
|
* Ban new Color3(...) except new Color3() or new Color3(0, 0, 0). Use Color3.fromRGB() instead.
|
|
11265
11392
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-color3-constructor/
|
|
@@ -11270,6 +11397,11 @@ interface RuleOptions {
|
|
|
11270
11397
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-commented-code/
|
|
11271
11398
|
*/
|
|
11272
11399
|
'small-rules/no-commented-code'?: Linter.RuleEntry<SmallRulesNoCommentedCode>;
|
|
11400
|
+
/**
|
|
11401
|
+
* Disallow object spreads that conditionally spread an empty object to omit fields.
|
|
11402
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-conditional-empty-object-spread/
|
|
11403
|
+
*/
|
|
11404
|
+
'small-rules/no-conditional-empty-object-spread'?: Linter.RuleEntry<[]>;
|
|
11273
11405
|
/**
|
|
11274
11406
|
* Disallow constant conditions, but allow constant loops that include loop exits such as break, return, or configured calls.
|
|
11275
11407
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-constant-condition-with-break/
|
|
@@ -11280,18 +11412,38 @@ interface RuleOptions {
|
|
|
11280
11412
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-dead-store/
|
|
11281
11413
|
*/
|
|
11282
11414
|
'small-rules/no-dead-store'?: Linter.RuleEntry<[]>;
|
|
11415
|
+
/**
|
|
11416
|
+
* Disallow storing derived state in an effect.
|
|
11417
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-derived-state/
|
|
11418
|
+
*/
|
|
11419
|
+
'small-rules/no-derived-state'?: Linter.RuleEntry<SmallRulesNoDerivedState>;
|
|
11420
|
+
/**
|
|
11421
|
+
* Warn when a Promise rejection handler explicitly discards the failure and resolves to undefined.
|
|
11422
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-discarded-rejection/
|
|
11423
|
+
*/
|
|
11424
|
+
'small-rules/no-discarded-rejection'?: Linter.RuleEntry<[]>;
|
|
11283
11425
|
/**
|
|
11284
11426
|
* Use throw instead of error().
|
|
11285
11427
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-error/
|
|
11286
11428
|
*/
|
|
11287
11429
|
'small-rules/no-error'?: Linter.RuleEntry<[]>;
|
|
11430
|
+
/**
|
|
11431
|
+
* Disallow using state and an effect as an event handler.
|
|
11432
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-event-handler/
|
|
11433
|
+
*/
|
|
11434
|
+
'small-rules/no-event-handler'?: Linter.RuleEntry<SmallRulesNoEventHandler>;
|
|
11288
11435
|
/**
|
|
11289
11436
|
* Disallow sending Events back to the same player inside an Events.connect callback; use Functions for request/response.
|
|
11290
11437
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-events-in-events-callback/
|
|
11291
11438
|
*/
|
|
11292
11439
|
'small-rules/no-events-in-events-callback'?: Linter.RuleEntry<SmallRulesNoEventsInEventsCallback>;
|
|
11293
11440
|
/**
|
|
11294
|
-
* Disallow
|
|
11441
|
+
* Disallow subscribing to an external store in an effect.
|
|
11442
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-external-store-subscription/
|
|
11443
|
+
*/
|
|
11444
|
+
'small-rules/no-external-store-subscription'?: Linter.RuleEntry<SmallRulesNoExternalStoreSubscription>;
|
|
11445
|
+
/**
|
|
11446
|
+
* Disallow `Array.prototype.map(...)` directly after `Array.prototype.filter(...)`.
|
|
11295
11447
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-filter-map-chain/
|
|
11296
11448
|
*/
|
|
11297
11449
|
'small-rules/no-filter-map-chain'?: Linter.RuleEntry<[]>;
|
|
@@ -11310,6 +11462,11 @@ interface RuleOptions {
|
|
|
11310
11462
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-god-components/
|
|
11311
11463
|
*/
|
|
11312
11464
|
'small-rules/no-god-components'?: Linter.RuleEntry<SmallRulesNoGodComponents>;
|
|
11465
|
+
/**
|
|
11466
|
+
* Disallow redundant Jecs World.has guards around World.remove calls.
|
|
11467
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/jecs/no-has-before-remove-in-jecs/
|
|
11468
|
+
*/
|
|
11469
|
+
'small-rules/no-has-before-remove-in-jecs'?: Linter.RuleEntry<[]>;
|
|
11313
11470
|
/**
|
|
11314
11471
|
* Disallow Ianitor validator creation inside function bodies. Hoist to module scope to avoid recreating validators on every call.
|
|
11315
11472
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-ianitor-in-function-body/
|
|
@@ -11321,7 +11478,7 @@ interface RuleOptions {
|
|
|
11321
11478
|
*/
|
|
11322
11479
|
'small-rules/no-ianitor-success-access'?: Linter.RuleEntry<[]>;
|
|
11323
11480
|
/**
|
|
11324
|
-
* Disallow pointless identity
|
|
11481
|
+
* Disallow pointless identity `Array.prototype.map()` calls that return the parameter unchanged
|
|
11325
11482
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-identity-map/
|
|
11326
11483
|
*/
|
|
11327
11484
|
'small-rules/no-identity-map'?: Linter.RuleEntry<SmallRulesNoIdentityMap>;
|
|
@@ -11330,56 +11487,146 @@ interface RuleOptions {
|
|
|
11330
11487
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-increment-decrement/
|
|
11331
11488
|
*/
|
|
11332
11489
|
'small-rules/no-increment-decrement'?: Linter.RuleEntry<SmallRulesNoIncrementDecrement>;
|
|
11490
|
+
/**
|
|
11491
|
+
* Disallow initializing state in an effect.
|
|
11492
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-initialize-state/
|
|
11493
|
+
*/
|
|
11494
|
+
'small-rules/no-initialize-state'?: Linter.RuleEntry<SmallRulesNoInitializeState>;
|
|
11333
11495
|
/**
|
|
11334
11496
|
* Prevent inline properties from being passed to memoized components.
|
|
11335
11497
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-inline-property-on-memo-component/
|
|
11336
11498
|
*/
|
|
11337
11499
|
'small-rules/no-inline-property-on-memo-component'?: Linter.RuleEntry<[]>;
|
|
11500
|
+
/**
|
|
11501
|
+
* Disallow inline object types in parameter and return type annotations; declare a named interface instead.
|
|
11502
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/naming/no-inline-signature-types/
|
|
11503
|
+
*/
|
|
11504
|
+
'small-rules/no-inline-signature-types'?: Linter.RuleEntry<SmallRulesNoInlineSignatureTypes>;
|
|
11338
11505
|
/**
|
|
11339
11506
|
* Detect instance methods that do not use 'this' and suggest converting them to standalone functions for better performance in roblox-ts.
|
|
11340
11507
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-instance-methods-without-this/
|
|
11341
11508
|
*/
|
|
11342
11509
|
'small-rules/no-instance-methods-without-this'?: Linter.RuleEntry<SmallRulesNoInstanceMethodsWithoutThis>;
|
|
11510
|
+
/**
|
|
11511
|
+
* Disallow a spread in JSX child position.
|
|
11512
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-jsx-spread-child/
|
|
11513
|
+
*/
|
|
11514
|
+
'small-rules/no-jsx-spread-child'?: Linter.RuleEntry<[]>;
|
|
11515
|
+
/**
|
|
11516
|
+
* Disallow syntactically established values from flowing into explicitly broad or anonymous target types that discard useful evidence.
|
|
11517
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-known-value-widening/
|
|
11518
|
+
*/
|
|
11519
|
+
'small-rules/no-known-value-widening'?: Linter.RuleEntry<[]>;
|
|
11343
11520
|
/**
|
|
11344
11521
|
* Disallow mutating a loop iterable during iteration.
|
|
11345
11522
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-loop-iterable-mutation/
|
|
11346
11523
|
*/
|
|
11347
11524
|
'small-rules/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
|
|
11525
|
+
/**
|
|
11526
|
+
* Disallow Vitest and Jest module mocking; tests must replace dependencies through real interfaces.
|
|
11527
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-module-mocking/
|
|
11528
|
+
*/
|
|
11529
|
+
'small-rules/no-module-mocking'?: Linter.RuleEntry<[]>;
|
|
11530
|
+
/**
|
|
11531
|
+
* Disallow defining more than one Cliffy command in a file.
|
|
11532
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/cliffy/no-multiple-cliffy-commands/
|
|
11533
|
+
*/
|
|
11534
|
+
'small-rules/no-multiple-cliffy-commands'?: Linter.RuleEntry<SmallRulesNoMultipleCliffyCommands>;
|
|
11348
11535
|
/**
|
|
11349
11536
|
* 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.
|
|
11350
11537
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-native-properties-spread/
|
|
11351
11538
|
*/
|
|
11352
11539
|
'small-rules/no-native-properties-spread'?: Linter.RuleEntry<[]>;
|
|
11540
|
+
/**
|
|
11541
|
+
* Disallow nesting a hook call inside another hook call.
|
|
11542
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-nested-hook-calls/
|
|
11543
|
+
*/
|
|
11544
|
+
'small-rules/no-nested-hook-calls'?: Linter.RuleEntry<[]>;
|
|
11353
11545
|
/**
|
|
11354
11546
|
* Disallow configured constructor calls (default: new Instance) inside React useMemo callbacks.
|
|
11355
11547
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-new-instance-in-use-memo/
|
|
11356
11548
|
*/
|
|
11357
11549
|
'small-rules/no-new-instance-in-use-memo'?: Linter.RuleEntry<SmallRulesNoNewInstanceInUseMemo>;
|
|
11550
|
+
/**
|
|
11551
|
+
* Disallow object function parameters; inputs must use an owner-provided type and be parsed at their boundary.
|
|
11552
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-object-parameters/
|
|
11553
|
+
*/
|
|
11554
|
+
'small-rules/no-object-parameters'?: Linter.RuleEntry<[]>;
|
|
11555
|
+
/**
|
|
11556
|
+
* Disallow passing data to parents in an effect.
|
|
11557
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-pass-data-to-parent/
|
|
11558
|
+
*/
|
|
11559
|
+
'small-rules/no-pass-data-to-parent'?: Linter.RuleEntry<SmallRulesNoPassDataToParent>;
|
|
11560
|
+
/**
|
|
11561
|
+
* Disallow passing live state to parents in an effect.
|
|
11562
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-pass-live-state-to-parent/
|
|
11563
|
+
*/
|
|
11564
|
+
'small-rules/no-pass-live-state-to-parent'?: Linter.RuleEntry<SmallRulesNoPassLiveStateToParent>;
|
|
11358
11565
|
/**
|
|
11359
11566
|
* Use Log instead of print().
|
|
11360
11567
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-print/
|
|
11361
11568
|
*/
|
|
11362
11569
|
'small-rules/no-print'?: Linter.RuleEntry<[]>;
|
|
11570
|
+
/**
|
|
11571
|
+
* Disallow real temp directories (`os.tmpdir`, `fs.mkdtemp`) in unit tests.
|
|
11572
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-real-temporary-directory/
|
|
11573
|
+
*/
|
|
11574
|
+
'small-rules/no-real-temporary-directory'?: Linter.RuleEntry<SmallRulesNoRealTemporaryDirectory>;
|
|
11363
11575
|
/**
|
|
11364
11576
|
* Disallow recursive function calls to prevent stack overflow.
|
|
11365
11577
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-recursive/
|
|
11366
11578
|
*/
|
|
11367
11579
|
'small-rules/no-recursive'?: Linter.RuleEntry<SmallRulesNoRecursive>;
|
|
11580
|
+
/**
|
|
11581
|
+
* Disallow copying growing reducer accumulators with Object.assign, Array.from, or array copy methods.
|
|
11582
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-reduce-accumulator-copy/
|
|
11583
|
+
*/
|
|
11584
|
+
'small-rules/no-reduce-accumulator-copy'?: Linter.RuleEntry<[]>;
|
|
11368
11585
|
/**
|
|
11369
11586
|
* Disallow redundant uiaspectratioconstraint children inside components that already manage their own aspect ratio internally.
|
|
11370
11587
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-redundant-aspect-ratio-constraint/
|
|
11371
11588
|
*/
|
|
11372
11589
|
'small-rules/no-redundant-aspect-ratio-constraint'?: Linter.RuleEntry<[]>;
|
|
11590
|
+
/**
|
|
11591
|
+
* Disallow Reflect.apply; call typed functions directly or model dynamic dispatch behind an interface.
|
|
11592
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-reflect-apply/
|
|
11593
|
+
*/
|
|
11594
|
+
'small-rules/no-reflect-apply'?: Linter.RuleEntry<[]>;
|
|
11595
|
+
/**
|
|
11596
|
+
* Disallow Reflect.get; use typed property access or parse dynamic input into a domain type.
|
|
11597
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-reflect-get/
|
|
11598
|
+
*/
|
|
11599
|
+
'small-rules/no-reflect-get'?: Linter.RuleEntry<[]>;
|
|
11373
11600
|
/**
|
|
11374
11601
|
* Disallow non-component functions that return JSX or React elements.
|
|
11375
11602
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-render-helper-functions/
|
|
11376
11603
|
*/
|
|
11377
11604
|
'small-rules/no-render-helper-functions'?: Linter.RuleEntry<[]>;
|
|
11605
|
+
/**
|
|
11606
|
+
* Disallow resetting all state in an effect when a prop changes.
|
|
11607
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-reset-all-state-on-property-change/
|
|
11608
|
+
*/
|
|
11609
|
+
'small-rules/no-reset-all-state-on-prop-change'?: Linter.RuleEntry<SmallRulesNoResetAllStateOnPropChange>;
|
|
11378
11610
|
/**
|
|
11379
11611
|
* Disallow assignment to restricted object properties.
|
|
11380
11612
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-restricted-property-assignment/
|
|
11381
11613
|
*/
|
|
11382
11614
|
'small-rules/no-restricted-property-assignment'?: Linter.RuleEntry<SmallRulesNoRestrictedPropertyAssignment>;
|
|
11615
|
+
/**
|
|
11616
|
+
* Disallow runtime code in files that hold only types.
|
|
11617
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-runtime-in-type-files/
|
|
11618
|
+
*/
|
|
11619
|
+
'small-rules/no-runtime-in-type-files'?: Linter.RuleEntry<SmallRulesNoRuntimeInTypeFiles>;
|
|
11620
|
+
/**
|
|
11621
|
+
* Disallow runtime typeof checks; external values must be decoded into meaningful types at their I/O boundary.
|
|
11622
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-runtime-typeof/
|
|
11623
|
+
*/
|
|
11624
|
+
'small-rules/no-runtime-typeof'?: Linter.RuleEntry<SmallRulesNoRuntimeTypeof>;
|
|
11625
|
+
/**
|
|
11626
|
+
* Disallow the case-insensitive substring "shape" in JavaScript, TypeScript, private, and JSX symbol names.
|
|
11627
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-shape-in-symbol-names/
|
|
11628
|
+
*/
|
|
11629
|
+
'small-rules/no-shape-in-symbol-names'?: Linter.RuleEntry<[]>;
|
|
11383
11630
|
/**
|
|
11384
11631
|
* Disallow the .spec.{ts,tsx} file extension for test files. Use .test.{ts,tsx} instead.
|
|
11385
11632
|
* @see https://docs.howmanysmall.com/small-rules/rules/naming/no-spec-file-extension/
|
|
@@ -11400,6 +11647,11 @@ interface RuleOptions {
|
|
|
11400
11647
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-task-wait/
|
|
11401
11648
|
*/
|
|
11402
11649
|
'small-rules/no-task-wait'?: Linter.RuleEntry<[]>;
|
|
11650
|
+
/**
|
|
11651
|
+
* Disallow per-test timeouts in unit tests.
|
|
11652
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-test-timeout/
|
|
11653
|
+
*/
|
|
11654
|
+
'small-rules/no-test-timeout'?: Linter.RuleEntry<SmallRulesNoTestTimeout>;
|
|
11403
11655
|
/**
|
|
11404
11656
|
* Disallow assertions that always succeed or compare against freshly created values.
|
|
11405
11657
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-trivial-assertions/
|
|
@@ -11410,6 +11662,31 @@ interface RuleOptions {
|
|
|
11410
11662
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-underscore-react-props/
|
|
11411
11663
|
*/
|
|
11412
11664
|
'small-rules/no-underscore-react-props'?: Linter.RuleEntry<[]>;
|
|
11665
|
+
/**
|
|
11666
|
+
* Disallow explicitly unknown function parameters except `cause` and the parameter named by a type predicate; decode unknown input at its I/O boundary instead.
|
|
11667
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unknown-parameters/
|
|
11668
|
+
*/
|
|
11669
|
+
'small-rules/no-unknown-parameters'?: Linter.RuleEntry<[]>;
|
|
11670
|
+
/**
|
|
11671
|
+
* Disallow functions whose explicit return contract is unknown or Promise<unknown>.
|
|
11672
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unknown-returns/
|
|
11673
|
+
*/
|
|
11674
|
+
'small-rules/no-unknown-returns'?: Linter.RuleEntry<[]>;
|
|
11675
|
+
/**
|
|
11676
|
+
* Disallow type aliases whose resolved type is unknown; unknown must remain visible at an allowed boundary.
|
|
11677
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unknown-type-aliases/
|
|
11678
|
+
*/
|
|
11679
|
+
'small-rules/no-unknown-type-aliases'?: Linter.RuleEntry<[]>;
|
|
11680
|
+
/**
|
|
11681
|
+
* Disallow object-dictionary contracts whose direct value type is unknown, any, object, {}, or a union/alias containing one of those escape hatches.
|
|
11682
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-unsafe-dictionary-type/
|
|
11683
|
+
*/
|
|
11684
|
+
'small-rules/no-unsafe-dictionary-type'?: Linter.RuleEntry<[]>;
|
|
11685
|
+
/**
|
|
11686
|
+
* Disallow syntax that roblox-ts cannot compile to Luau.
|
|
11687
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-unsupported-syntax/
|
|
11688
|
+
*/
|
|
11689
|
+
'small-rules/no-unsupported-syntax'?: Linter.RuleEntry<SmallRulesNoUnsupportedSyntax>;
|
|
11413
11690
|
/**
|
|
11414
11691
|
* Disallow unused imports
|
|
11415
11692
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-unused-imports/
|
|
@@ -11440,6 +11717,11 @@ interface RuleOptions {
|
|
|
11440
11717
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-useless-default/
|
|
11441
11718
|
*/
|
|
11442
11719
|
'small-rules/no-useless-default'?: Linter.RuleEntry<[]>;
|
|
11720
|
+
/**
|
|
11721
|
+
* Disallow equality comparisons against an empty-string literal.
|
|
11722
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/general/no-useless-empty-string-comparison/
|
|
11723
|
+
*/
|
|
11724
|
+
'small-rules/no-useless-empty-string-comparison'?: Linter.RuleEntry<SmallRulesNoUselessEmptyStringComparison>;
|
|
11443
11725
|
/**
|
|
11444
11726
|
* 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.
|
|
11445
11727
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/no-useless-use-effect/
|
|
@@ -11465,6 +11747,11 @@ interface RuleOptions {
|
|
|
11465
11747
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/no-warn/
|
|
11466
11748
|
*/
|
|
11467
11749
|
'small-rules/no-warn'?: Linter.RuleEntry<[]>;
|
|
11750
|
+
/**
|
|
11751
|
+
* Disallow local const flows that explicitly widen a known value before asserting the widened binding to a narrower type.
|
|
11752
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/no-widen-then-assert/
|
|
11753
|
+
*/
|
|
11754
|
+
'small-rules/no-widen-then-assert'?: Linter.RuleEntry<[]>;
|
|
11468
11755
|
/**
|
|
11469
11756
|
* Require all imports to be type-only imports. Benchmarks cannot import non-types because the benchmarker plugin will throw an error.
|
|
11470
11757
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/only-type-imports/
|
|
@@ -11525,6 +11812,11 @@ interface RuleOptions {
|
|
|
11525
11812
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-math-min-max/
|
|
11526
11813
|
*/
|
|
11527
11814
|
'small-rules/prefer-math-min-max'?: Linter.RuleEntry<[]>;
|
|
11815
|
+
/**
|
|
11816
|
+
* Move discarded Jecs query component values into a membership-only with filter.
|
|
11817
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/jecs/prefer-membership-filter-in-jecs/
|
|
11818
|
+
*/
|
|
11819
|
+
'small-rules/prefer-membership-filter-in-jecs'?: Linter.RuleEntry<[]>;
|
|
11528
11820
|
/**
|
|
11529
11821
|
* Prefer Modding.inspect over manually enumerating every enum member in a Record<Enum, true>.
|
|
11530
11822
|
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-modding-inspect/
|
|
@@ -11535,6 +11827,16 @@ interface RuleOptions {
|
|
|
11535
11827
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/prefer-module-scope-constants/
|
|
11536
11828
|
*/
|
|
11537
11829
|
'small-rules/prefer-module-scope-constants'?: Linter.RuleEntry<[]>;
|
|
11830
|
+
/**
|
|
11831
|
+
* Prefer table.clone over a manual shallow Map or Set copy loop.
|
|
11832
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-native-collection-copy/
|
|
11833
|
+
*/
|
|
11834
|
+
'small-rules/prefer-native-collection-copy'?: Linter.RuleEntry<[]>;
|
|
11835
|
+
/**
|
|
11836
|
+
* Disallow `undefined` in a function parameter's type union; declare the parameter optional with `?` instead.
|
|
11837
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/naming/prefer-optional-parameter/
|
|
11838
|
+
*/
|
|
11839
|
+
'small-rules/prefer-optional-parameter'?: Linter.RuleEntry<[]>;
|
|
11538
11840
|
/**
|
|
11539
11841
|
* Prefer local EqualPadding and DirectionalPadding components over matching <uipadding /> declarations.
|
|
11540
11842
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/prefer-padding-components/
|
|
@@ -11552,12 +11854,12 @@ interface RuleOptions {
|
|
|
11552
11854
|
'small-rules/prefer-sequence-overloads'?: Linter.RuleEntry<[]>;
|
|
11553
11855
|
/**
|
|
11554
11856
|
* Enforce combining multiple world.get() or world.has() calls into a single call for better Jecs performance.
|
|
11555
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/prefer-single-world-query/
|
|
11857
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/roblox/jecs/prefer-single-world-query-in-jecs/
|
|
11556
11858
|
*/
|
|
11557
|
-
'small-rules/prefer-single-world-query'?: Linter.RuleEntry<[]>;
|
|
11859
|
+
'small-rules/prefer-single-world-query-in-jecs'?: Linter.RuleEntry<[]>;
|
|
11558
11860
|
/**
|
|
11559
11861
|
* Prefer singular naming for enums.
|
|
11560
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/
|
|
11862
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/prefer-singular-enums/
|
|
11561
11863
|
*/
|
|
11562
11864
|
'small-rules/prefer-singular-enums'?: Linter.RuleEntry<[]>;
|
|
11563
11865
|
/**
|
|
@@ -11577,7 +11879,7 @@ interface RuleOptions {
|
|
|
11577
11879
|
'small-rules/prefer-use-reducer'?: Linter.RuleEntry<[]>;
|
|
11578
11880
|
/**
|
|
11579
11881
|
* Prevent abbreviations.
|
|
11580
|
-
* @see https://docs.howmanysmall.com/small-rules/rules/
|
|
11882
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/prevent-abbreviations/
|
|
11581
11883
|
*/
|
|
11582
11884
|
'small-rules/prevent-abbreviations'?: Linter.RuleEntry<SmallRulesPreventAbbreviations>;
|
|
11583
11885
|
/**
|
|
@@ -11615,6 +11917,16 @@ interface RuleOptions {
|
|
|
11615
11917
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/require-react-display-names/
|
|
11616
11918
|
*/
|
|
11617
11919
|
'small-rules/require-react-display-names'?: Linter.RuleEntry<SmallRulesRequireReactDisplayNames>;
|
|
11920
|
+
/**
|
|
11921
|
+
* Require readable spacing between declarations and logical statement groups.
|
|
11922
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/require-readable-spacing/
|
|
11923
|
+
*/
|
|
11924
|
+
'small-rules/require-readable-spacing'?: Linter.RuleEntry<SmallRulesRequireReadableSpacing>;
|
|
11925
|
+
/**
|
|
11926
|
+
* 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.
|
|
11927
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/anti-slop/require-safety-comment-for-type-assertion/
|
|
11928
|
+
*/
|
|
11929
|
+
'small-rules/require-safety-comment-for-type-assertion'?: Linter.RuleEntry<SmallRulesRequireSafetyCommentForTypeAssertion>;
|
|
11618
11930
|
/**
|
|
11619
11931
|
* Require braces around switch case bodies selected by line span or statement count.
|
|
11620
11932
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/require-switch-case-braces/
|
|
@@ -11626,7 +11938,12 @@ interface RuleOptions {
|
|
|
11626
11938
|
*/
|
|
11627
11939
|
'small-rules/require-throw-error-capture'?: Linter.RuleEntry<SmallRulesRequireThrowErrorCapture>;
|
|
11628
11940
|
/**
|
|
11629
|
-
* Require
|
|
11941
|
+
* Require React hooks to be declared in a `.tsx` file.
|
|
11942
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/react/require-tsx-for-hooks/
|
|
11943
|
+
*/
|
|
11944
|
+
'small-rules/require-tsx-for-hooks'?: Linter.RuleEntry<[]>;
|
|
11945
|
+
/**
|
|
11946
|
+
* Require the 'u' or 'v' unicode flag on calls named `regex()`.
|
|
11630
11947
|
* @see https://docs.howmanysmall.com/small-rules/rules/general/require-unicode-regex/
|
|
11631
11948
|
*/
|
|
11632
11949
|
'small-rules/require-unicode-regex'?: Linter.RuleEntry<[]>;
|
|
@@ -11635,6 +11952,11 @@ interface RuleOptions {
|
|
|
11635
11952
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/rerender-memo-with-default-value/
|
|
11636
11953
|
*/
|
|
11637
11954
|
'small-rules/rerender-memo-with-default-value'?: Linter.RuleEntry<[]>;
|
|
11955
|
+
/**
|
|
11956
|
+
* Require function and method names to begin with a verb.
|
|
11957
|
+
* @see https://docs.howmanysmall.com/small-rules/rules/english/starts-with-verb/
|
|
11958
|
+
*/
|
|
11959
|
+
'small-rules/starts-with-verb'?: Linter.RuleEntry<SmallRulesStartsWithVerb>;
|
|
11638
11960
|
/**
|
|
11639
11961
|
* Prevent imports that reach into another component's nested modules.
|
|
11640
11962
|
* @see https://docs.howmanysmall.com/small-rules/rules/react/strict-component-boundaries/
|
|
@@ -13905,7 +14227,7 @@ interface RuleOptions {
|
|
|
13905
14227
|
* Disallow awaiting a value that is not a Thenable
|
|
13906
14228
|
* @see https://typescript-eslint.io/rules/await-thenable
|
|
13907
14229
|
*/
|
|
13908
|
-
'ts/await-thenable'?: Linter.RuleEntry<
|
|
14230
|
+
'ts/await-thenable'?: Linter.RuleEntry<TsAwaitThenable>;
|
|
13909
14231
|
/**
|
|
13910
14232
|
* Disallow `@ts-<directive>` comments or require descriptions after directives
|
|
13911
14233
|
* @see https://typescript-eslint.io/rules/ban-ts-comment
|
|
@@ -14102,6 +14424,11 @@ interface RuleOptions {
|
|
|
14102
14424
|
* @see https://typescript-eslint.io/rules/no-for-in-array
|
|
14103
14425
|
*/
|
|
14104
14426
|
'ts/no-for-in-array'?: Linter.RuleEntry<[]>;
|
|
14427
|
+
/**
|
|
14428
|
+
* Disallow type operations that resolve to the "empty object" type
|
|
14429
|
+
* @see https://typescript-eslint.io/rules/no-generated-empty-object-type
|
|
14430
|
+
*/
|
|
14431
|
+
'ts/no-generated-empty-object-type'?: Linter.RuleEntry<[]>;
|
|
14105
14432
|
/**
|
|
14106
14433
|
* Disallow the use of `eval()`-like functions
|
|
14107
14434
|
* @see https://typescript-eslint.io/rules/no-implied-eval
|
|
@@ -14301,6 +14628,11 @@ interface RuleOptions {
|
|
|
14301
14628
|
* @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
|
|
14302
14629
|
*/
|
|
14303
14630
|
'ts/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>;
|
|
14631
|
+
/**
|
|
14632
|
+
* Disallow assigning non-enum values to enum typed locations
|
|
14633
|
+
* @see https://typescript-eslint.io/rules/no-unsafe-enum-assignment
|
|
14634
|
+
*/
|
|
14635
|
+
'ts/no-unsafe-enum-assignment'?: Linter.RuleEntry<[]>;
|
|
14304
14636
|
/**
|
|
14305
14637
|
* Disallow comparing an enum value with a non-enum value
|
|
14306
14638
|
* @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
|
|
@@ -17228,11 +17560,20 @@ type FlawlessArrowReturnStyle = [] | [{
|
|
|
17228
17560
|
printWidth?: number;
|
|
17229
17561
|
});
|
|
17230
17562
|
}];
|
|
17563
|
+
// ----- flawless/cognitive-complexity -----
|
|
17564
|
+
type FlawlessCognitiveComplexity = [] | [{
|
|
17565
|
+
threshold?: number;
|
|
17566
|
+
}];
|
|
17231
17567
|
// ----- flawless/jsx-shorthand-fragment -----
|
|
17232
17568
|
type FlawlessJsxShorthandFragment = [] | [{
|
|
17233
17569
|
fragmentName?: string;
|
|
17234
17570
|
mode?: ("element" | "syntax");
|
|
17235
17571
|
}];
|
|
17572
|
+
// ----- flawless/max-comment-length -----
|
|
17573
|
+
type FlawlessMaxCommentLength = [] | [{
|
|
17574
|
+
ignoreJSDoc?: boolean;
|
|
17575
|
+
maximumWords?: number;
|
|
17576
|
+
}];
|
|
17236
17577
|
// ----- flawless/max-lines-per-function -----
|
|
17237
17578
|
type FlawlessMaxLinesPerFunction = [] | [{
|
|
17238
17579
|
countFrom?: ("body" | "function");
|
|
@@ -17247,6 +17588,7 @@ type _FlawlessNamingConventionFormatOptionsConfig = (_FlawlessNamingConventionPr
|
|
|
17247
17588
|
type _FlawlessNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
|
|
17248
17589
|
type _FlawlessNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
|
|
17249
17590
|
type _FlawlessNamingConvention_PrefixSuffixConfig = string[];
|
|
17591
|
+
type _FlawlessNamingConventionComponentPropConfig = true;
|
|
17250
17592
|
type _FlawlessNamingConvention_TypeArgumentReferenceMatcher = (_FlawlessNamingConventionTypeArgumentReferenceMatcher & {
|
|
17251
17593
|
name?: string;
|
|
17252
17594
|
from?: string;
|
|
@@ -17296,6 +17638,7 @@ type FlawlessNamingConvention = ({
|
|
|
17296
17638
|
prefix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
17297
17639
|
suffix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
17298
17640
|
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
17641
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17299
17642
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17300
17643
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
17301
17644
|
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")[];
|
|
@@ -17313,6 +17656,7 @@ type FlawlessNamingConvention = ({
|
|
|
17313
17656
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17314
17657
|
selector: "default";
|
|
17315
17658
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
17659
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17316
17660
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
17317
17661
|
} | {
|
|
17318
17662
|
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
@@ -17394,6 +17738,7 @@ type FlawlessNamingConvention = ({
|
|
|
17394
17738
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17395
17739
|
selector: "memberLike";
|
|
17396
17740
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
17741
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17397
17742
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17398
17743
|
} | {
|
|
17399
17744
|
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
@@ -17435,6 +17780,7 @@ type FlawlessNamingConvention = ({
|
|
|
17435
17780
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17436
17781
|
selector: "typeProperty";
|
|
17437
17782
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
17783
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17438
17784
|
modifiers?: ("public" | "readonly" | "requiresQuotes")[];
|
|
17439
17785
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17440
17786
|
} | {
|
|
@@ -17463,6 +17809,7 @@ type FlawlessNamingConvention = ({
|
|
|
17463
17809
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17464
17810
|
selector: "property";
|
|
17465
17811
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
17812
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17466
17813
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17467
17814
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17468
17815
|
} | {
|
|
@@ -17505,6 +17852,7 @@ type FlawlessNamingConvention = ({
|
|
|
17505
17852
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17506
17853
|
selector: "typeMethod";
|
|
17507
17854
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
17855
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17508
17856
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
17509
17857
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17510
17858
|
} | {
|
|
@@ -17519,6 +17867,7 @@ type FlawlessNamingConvention = ({
|
|
|
17519
17867
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17520
17868
|
selector: "method";
|
|
17521
17869
|
typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
|
|
17870
|
+
componentProp?: _FlawlessNamingConventionComponentPropConfig;
|
|
17522
17871
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17523
17872
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17524
17873
|
} | {
|
|
@@ -17690,14 +18039,31 @@ type FlawlessNoConditionalInTest = [] | [{
|
|
|
17690
18039
|
additionalTestBlockFunctions?: string[];
|
|
17691
18040
|
allowOptionalChaining?: boolean;
|
|
17692
18041
|
}];
|
|
18042
|
+
// ----- flawless/no-ignored-return -----
|
|
18043
|
+
type FlawlessNoIgnoredReturn = [] | [{
|
|
18044
|
+
pureFunctions?: string[];
|
|
18045
|
+
}];
|
|
17693
18046
|
// ----- flawless/no-materialized-filter-map -----
|
|
17694
18047
|
type FlawlessNoMaterializedFilterMap = [] | [{
|
|
17695
18048
|
iteratorHelpers?: boolean;
|
|
17696
18049
|
}];
|
|
17697
|
-
// ----- flawless/no-
|
|
18050
|
+
// ----- flawless/no-redundant-type-annotation -----
|
|
18051
|
+
type FlawlessNoRedundantTypeAnnotation = [] | [{
|
|
18052
|
+
allowExpressions?: boolean;
|
|
18053
|
+
checkReturnTypes?: boolean;
|
|
18054
|
+
}];
|
|
18055
|
+
// ----- flawless/no-shared-test-state -----
|
|
17698
18056
|
type FlawlessNoSharedTestState = [] | [{
|
|
17699
18057
|
additionalMutatingMethods?: string[];
|
|
17700
18058
|
}];
|
|
18059
|
+
// ----- flawless/no-trivial-functions -----
|
|
18060
|
+
type FlawlessNoTrivialFunctions = [] | [{
|
|
18061
|
+
minimumReferences?: number;
|
|
18062
|
+
}];
|
|
18063
|
+
// ----- flawless/no-unnecessary-prop-alias -----
|
|
18064
|
+
type FlawlessNoUnnecessaryPropAlias = [] | [{
|
|
18065
|
+
reportConflicts?: boolean;
|
|
18066
|
+
}];
|
|
17701
18067
|
// ----- flawless/prefer-ending-with-an-expect -----
|
|
17702
18068
|
type FlawlessPreferEndingWithAnExpect = [] | [{
|
|
17703
18069
|
additionalTestBlockFunctions?: string[];
|
|
@@ -17722,6 +18088,10 @@ type FlawlessPurity = [] | [{
|
|
|
17722
18088
|
additionalFunctions?: string[];
|
|
17723
18089
|
ignore?: string[];
|
|
17724
18090
|
}];
|
|
18091
|
+
// ----- flawless/react-namespace -----
|
|
18092
|
+
type FlawlessReactNamespace = [] | [{
|
|
18093
|
+
umdGlobal?: boolean;
|
|
18094
|
+
}];
|
|
17725
18095
|
// ----- flawless/toml-sort-keys -----
|
|
17726
18096
|
type FlawlessTomlSortKeys = {
|
|
17727
18097
|
order: (string[] | {
|
|
@@ -17731,6 +18101,16 @@ type FlawlessTomlSortKeys = {
|
|
|
17731
18101
|
});
|
|
17732
18102
|
pathPattern: string;
|
|
17733
18103
|
}[];
|
|
18104
|
+
// ----- flawless/yaml-sort-sequence-by-key -----
|
|
18105
|
+
type FlawlessYamlSortSequenceByKey = {
|
|
18106
|
+
key: string;
|
|
18107
|
+
order?: {
|
|
18108
|
+
caseSensitive?: boolean;
|
|
18109
|
+
natural?: boolean;
|
|
18110
|
+
type?: ("asc" | "desc");
|
|
18111
|
+
};
|
|
18112
|
+
pathPattern: string;
|
|
18113
|
+
}[];
|
|
17734
18114
|
// ----- format-lua/stylua -----
|
|
17735
18115
|
type FormatLuaStylua = [] | [{
|
|
17736
18116
|
language?: string;
|
|
@@ -18012,6 +18392,7 @@ type JestValidTitle = [] | [{
|
|
|
18012
18392
|
}];
|
|
18013
18393
|
// ----- jsdoc/check-alignment -----
|
|
18014
18394
|
type JsdocCheckAlignment = [] | [{
|
|
18395
|
+
ignoreEmptyLines?: boolean;
|
|
18015
18396
|
innerIndent?: number;
|
|
18016
18397
|
}];
|
|
18017
18398
|
// ----- jsdoc/check-examples -----
|
|
@@ -18039,6 +18420,7 @@ type JsdocCheckExamples = [] | [{
|
|
|
18039
18420
|
// ----- jsdoc/check-indentation -----
|
|
18040
18421
|
type JsdocCheckIndentation = [] | [{
|
|
18041
18422
|
allowIndentedSections?: boolean;
|
|
18423
|
+
allowNoSpaceAfterAsterisk?: boolean;
|
|
18042
18424
|
excludeTags?: string[];
|
|
18043
18425
|
}];
|
|
18044
18426
|
// ----- jsdoc/check-line-alignment -----
|
|
@@ -18058,18 +18440,26 @@ type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always"
|
|
|
18058
18440
|
// ----- jsdoc/check-param-names -----
|
|
18059
18441
|
type JsdocCheckParamNames = [] | [{
|
|
18060
18442
|
allowExtraTrailingParamDocs?: boolean;
|
|
18443
|
+
badParamNames?: boolean;
|
|
18444
|
+
badParamOrder?: boolean;
|
|
18061
18445
|
checkDestructured?: boolean;
|
|
18062
18446
|
checkRestProperty?: boolean;
|
|
18063
18447
|
checkTypesPattern?: string;
|
|
18064
18448
|
disableExtraPropertyReporting?: boolean;
|
|
18065
18449
|
disableMissingParamChecks?: boolean;
|
|
18450
|
+
duplicateParams?: boolean;
|
|
18066
18451
|
enableFixer?: boolean;
|
|
18452
|
+
extraParams?: boolean;
|
|
18067
18453
|
useDefaultObjectProperties?: boolean;
|
|
18068
18454
|
}];
|
|
18069
18455
|
// ----- jsdoc/check-property-names -----
|
|
18070
18456
|
type JsdocCheckPropertyNames = [] | [{
|
|
18071
18457
|
enableFixer?: boolean;
|
|
18072
18458
|
}];
|
|
18459
|
+
// ----- jsdoc/check-syntax -----
|
|
18460
|
+
type JsdocCheckSyntax = [] | [{
|
|
18461
|
+
enableFixer?: boolean;
|
|
18462
|
+
}];
|
|
18073
18463
|
// ----- jsdoc/check-tag-names -----
|
|
18074
18464
|
type JsdocCheckTagNames = [] | [{
|
|
18075
18465
|
definedTags?: string[];
|
|
@@ -18244,6 +18634,15 @@ type JsdocNoUndefinedTypes = [] | [{
|
|
|
18244
18634
|
disableReporting?: boolean;
|
|
18245
18635
|
markVariablesAsUsed?: boolean;
|
|
18246
18636
|
}];
|
|
18637
|
+
// ----- jsdoc/no-unnecessary-type-assertion -----
|
|
18638
|
+
type JsdocNoUnnecessaryTypeAssertion = [] | [{
|
|
18639
|
+
checkLiteralConstAssertions?: boolean;
|
|
18640
|
+
enableFixer?: boolean;
|
|
18641
|
+
fixTypeChangingCasts?: boolean;
|
|
18642
|
+
preferConstToLiteralTuples?: boolean;
|
|
18643
|
+
treatAnyAsRedundant?: boolean;
|
|
18644
|
+
typesToIgnore?: string[];
|
|
18645
|
+
}];
|
|
18247
18646
|
// ----- jsdoc/normalize-see-links -----
|
|
18248
18647
|
type JsdocNormalizeSeeLinks = [] | [{
|
|
18249
18648
|
canonicalForm?: ("pipe" | "prefix");
|
|
@@ -18446,7 +18845,6 @@ type JsdocRequireTags = [] | [{
|
|
|
18446
18845
|
tags?: (string | {
|
|
18447
18846
|
context?: string;
|
|
18448
18847
|
tag?: string;
|
|
18449
|
-
[k: string]: unknown | undefined;
|
|
18450
18848
|
})[];
|
|
18451
18849
|
}];
|
|
18452
18850
|
// ----- jsdoc/require-template -----
|
|
@@ -18517,6 +18915,22 @@ type JsdocTextEscaping = [] | [{
|
|
|
18517
18915
|
escapeHTML?: boolean;
|
|
18518
18916
|
escapeMarkdown?: boolean;
|
|
18519
18917
|
}];
|
|
18918
|
+
// ----- jsdoc/ts-ban-ts-comment -----
|
|
18919
|
+
type JsdocTsBanTsComment = [] | [{
|
|
18920
|
+
minimumDescriptionLength?: number;
|
|
18921
|
+
"ts-check"?: (boolean | "allow-with-description" | {
|
|
18922
|
+
descriptionFormat?: string;
|
|
18923
|
+
});
|
|
18924
|
+
"ts-expect-error"?: (boolean | "allow-with-description" | {
|
|
18925
|
+
descriptionFormat?: string;
|
|
18926
|
+
});
|
|
18927
|
+
"ts-ignore"?: (boolean | "allow-with-description" | {
|
|
18928
|
+
descriptionFormat?: string;
|
|
18929
|
+
});
|
|
18930
|
+
"ts-nocheck"?: (boolean | "allow-with-description" | {
|
|
18931
|
+
descriptionFormat?: string;
|
|
18932
|
+
});
|
|
18933
|
+
}];
|
|
18520
18934
|
// ----- jsdoc/ts-method-signature-style -----
|
|
18521
18935
|
type JsdocTsMethodSignatureStyle = [] | [("method" | "property")] | [("method" | "property"), {
|
|
18522
18936
|
enableFixer?: boolean;
|
|
@@ -21028,6 +21442,266 @@ type PerfectionistSortClasses = {
|
|
|
21028
21442
|
});
|
|
21029
21443
|
partitionByNewLine?: boolean;
|
|
21030
21444
|
}[];
|
|
21445
|
+
// ----- perfectionist/sort-constructor-parameters -----
|
|
21446
|
+
type PerfectionistSortConstructorParameters = [{
|
|
21447
|
+
fallbackSort?: {
|
|
21448
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21449
|
+
order?: ("asc" | "desc");
|
|
21450
|
+
};
|
|
21451
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21452
|
+
specialCharacters?: ("remove" | "trim" | "keep");
|
|
21453
|
+
ignoreCase?: boolean;
|
|
21454
|
+
alphabet?: string;
|
|
21455
|
+
locales?: (string | string[]);
|
|
21456
|
+
order?: ("asc" | "desc");
|
|
21457
|
+
customGroups?: ({
|
|
21458
|
+
fallbackSort?: {
|
|
21459
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21460
|
+
order?: ("asc" | "desc");
|
|
21461
|
+
};
|
|
21462
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21463
|
+
groupName: string;
|
|
21464
|
+
newlinesInside?: ("ignore" | number);
|
|
21465
|
+
order?: ("asc" | "desc");
|
|
21466
|
+
anyOf: [{
|
|
21467
|
+
elementNamePattern?: (({
|
|
21468
|
+
pattern: string;
|
|
21469
|
+
flags?: string;
|
|
21470
|
+
} | string)[] | ({
|
|
21471
|
+
pattern: string;
|
|
21472
|
+
flags?: string;
|
|
21473
|
+
} | string));
|
|
21474
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
21475
|
+
selector?: "parameter";
|
|
21476
|
+
decoratorNamePattern?: (({
|
|
21477
|
+
pattern: string;
|
|
21478
|
+
flags?: string;
|
|
21479
|
+
} | string)[] | ({
|
|
21480
|
+
pattern: string;
|
|
21481
|
+
flags?: string;
|
|
21482
|
+
} | string));
|
|
21483
|
+
}, ...({
|
|
21484
|
+
elementNamePattern?: (({
|
|
21485
|
+
pattern: string;
|
|
21486
|
+
flags?: string;
|
|
21487
|
+
} | string)[] | ({
|
|
21488
|
+
pattern: string;
|
|
21489
|
+
flags?: string;
|
|
21490
|
+
} | string));
|
|
21491
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
21492
|
+
selector?: "parameter";
|
|
21493
|
+
decoratorNamePattern?: (({
|
|
21494
|
+
pattern: string;
|
|
21495
|
+
flags?: string;
|
|
21496
|
+
} | string)[] | ({
|
|
21497
|
+
pattern: string;
|
|
21498
|
+
flags?: string;
|
|
21499
|
+
} | string));
|
|
21500
|
+
})[]];
|
|
21501
|
+
} | {
|
|
21502
|
+
fallbackSort?: {
|
|
21503
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21504
|
+
order?: ("asc" | "desc");
|
|
21505
|
+
};
|
|
21506
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21507
|
+
groupName: string;
|
|
21508
|
+
newlinesInside?: ("ignore" | number);
|
|
21509
|
+
order?: ("asc" | "desc");
|
|
21510
|
+
elementNamePattern?: (({
|
|
21511
|
+
pattern: string;
|
|
21512
|
+
flags?: string;
|
|
21513
|
+
} | string)[] | ({
|
|
21514
|
+
pattern: string;
|
|
21515
|
+
flags?: string;
|
|
21516
|
+
} | string));
|
|
21517
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
21518
|
+
selector?: "parameter";
|
|
21519
|
+
decoratorNamePattern?: (({
|
|
21520
|
+
pattern: string;
|
|
21521
|
+
flags?: string;
|
|
21522
|
+
} | string)[] | ({
|
|
21523
|
+
pattern: string;
|
|
21524
|
+
flags?: string;
|
|
21525
|
+
} | string));
|
|
21526
|
+
})[];
|
|
21527
|
+
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
21528
|
+
groups?: (string | [string, ...(string)[]] | {
|
|
21529
|
+
newlinesBetween: ("ignore" | number);
|
|
21530
|
+
} | {
|
|
21531
|
+
group: (string | [string, ...(string)[]]);
|
|
21532
|
+
fallbackSort?: {
|
|
21533
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21534
|
+
order?: ("asc" | "desc");
|
|
21535
|
+
};
|
|
21536
|
+
commentAbove?: string;
|
|
21537
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21538
|
+
newlinesInside?: ("ignore" | number);
|
|
21539
|
+
order?: ("asc" | "desc");
|
|
21540
|
+
})[];
|
|
21541
|
+
newlinesBetween?: ("ignore" | number);
|
|
21542
|
+
useConfigurationIf: {
|
|
21543
|
+
allNamesMatchPattern?: (({
|
|
21544
|
+
pattern: string;
|
|
21545
|
+
flags?: string;
|
|
21546
|
+
} | string)[] | ({
|
|
21547
|
+
pattern: string;
|
|
21548
|
+
flags?: string;
|
|
21549
|
+
} | string));
|
|
21550
|
+
matchesAstSelector?: string;
|
|
21551
|
+
};
|
|
21552
|
+
partitionByComment?: (boolean | (({
|
|
21553
|
+
pattern: string;
|
|
21554
|
+
flags?: string;
|
|
21555
|
+
} | string)[] | ({
|
|
21556
|
+
pattern: string;
|
|
21557
|
+
flags?: string;
|
|
21558
|
+
} | string)) | {
|
|
21559
|
+
block?: (boolean | (({
|
|
21560
|
+
pattern: string;
|
|
21561
|
+
flags?: string;
|
|
21562
|
+
} | string)[] | ({
|
|
21563
|
+
pattern: string;
|
|
21564
|
+
flags?: string;
|
|
21565
|
+
} | string)));
|
|
21566
|
+
line?: (boolean | (({
|
|
21567
|
+
pattern: string;
|
|
21568
|
+
flags?: string;
|
|
21569
|
+
} | string)[] | ({
|
|
21570
|
+
pattern: string;
|
|
21571
|
+
flags?: string;
|
|
21572
|
+
} | string)));
|
|
21573
|
+
});
|
|
21574
|
+
partitionByNewLine?: boolean;
|
|
21575
|
+
}, ...({
|
|
21576
|
+
fallbackSort?: {
|
|
21577
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21578
|
+
order?: ("asc" | "desc");
|
|
21579
|
+
};
|
|
21580
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21581
|
+
specialCharacters?: ("remove" | "trim" | "keep");
|
|
21582
|
+
ignoreCase?: boolean;
|
|
21583
|
+
alphabet?: string;
|
|
21584
|
+
locales?: (string | string[]);
|
|
21585
|
+
order?: ("asc" | "desc");
|
|
21586
|
+
customGroups?: ({
|
|
21587
|
+
fallbackSort?: {
|
|
21588
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21589
|
+
order?: ("asc" | "desc");
|
|
21590
|
+
};
|
|
21591
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21592
|
+
groupName: string;
|
|
21593
|
+
newlinesInside?: ("ignore" | number);
|
|
21594
|
+
order?: ("asc" | "desc");
|
|
21595
|
+
anyOf: [{
|
|
21596
|
+
elementNamePattern?: (({
|
|
21597
|
+
pattern: string;
|
|
21598
|
+
flags?: string;
|
|
21599
|
+
} | string)[] | ({
|
|
21600
|
+
pattern: string;
|
|
21601
|
+
flags?: string;
|
|
21602
|
+
} | string));
|
|
21603
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
21604
|
+
selector?: "parameter";
|
|
21605
|
+
decoratorNamePattern?: (({
|
|
21606
|
+
pattern: string;
|
|
21607
|
+
flags?: string;
|
|
21608
|
+
} | string)[] | ({
|
|
21609
|
+
pattern: string;
|
|
21610
|
+
flags?: string;
|
|
21611
|
+
} | string));
|
|
21612
|
+
}, ...({
|
|
21613
|
+
elementNamePattern?: (({
|
|
21614
|
+
pattern: string;
|
|
21615
|
+
flags?: string;
|
|
21616
|
+
} | string)[] | ({
|
|
21617
|
+
pattern: string;
|
|
21618
|
+
flags?: string;
|
|
21619
|
+
} | string));
|
|
21620
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
21621
|
+
selector?: "parameter";
|
|
21622
|
+
decoratorNamePattern?: (({
|
|
21623
|
+
pattern: string;
|
|
21624
|
+
flags?: string;
|
|
21625
|
+
} | string)[] | ({
|
|
21626
|
+
pattern: string;
|
|
21627
|
+
flags?: string;
|
|
21628
|
+
} | string));
|
|
21629
|
+
})[]];
|
|
21630
|
+
} | {
|
|
21631
|
+
fallbackSort?: {
|
|
21632
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21633
|
+
order?: ("asc" | "desc");
|
|
21634
|
+
};
|
|
21635
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21636
|
+
groupName: string;
|
|
21637
|
+
newlinesInside?: ("ignore" | number);
|
|
21638
|
+
order?: ("asc" | "desc");
|
|
21639
|
+
elementNamePattern?: (({
|
|
21640
|
+
pattern: string;
|
|
21641
|
+
flags?: string;
|
|
21642
|
+
} | string)[] | ({
|
|
21643
|
+
pattern: string;
|
|
21644
|
+
flags?: string;
|
|
21645
|
+
} | string));
|
|
21646
|
+
modifiers?: ("decorated" | "override" | "readonly" | "protected" | "private" | "public")[];
|
|
21647
|
+
selector?: "parameter";
|
|
21648
|
+
decoratorNamePattern?: (({
|
|
21649
|
+
pattern: string;
|
|
21650
|
+
flags?: string;
|
|
21651
|
+
} | string)[] | ({
|
|
21652
|
+
pattern: string;
|
|
21653
|
+
flags?: string;
|
|
21654
|
+
} | string));
|
|
21655
|
+
})[];
|
|
21656
|
+
newlinesInside?: (("ignore" | number) | "newlinesBetween");
|
|
21657
|
+
groups?: (string | [string, ...(string)[]] | {
|
|
21658
|
+
newlinesBetween: ("ignore" | number);
|
|
21659
|
+
} | {
|
|
21660
|
+
group: (string | [string, ...(string)[]]);
|
|
21661
|
+
fallbackSort?: {
|
|
21662
|
+
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21663
|
+
order?: ("asc" | "desc");
|
|
21664
|
+
};
|
|
21665
|
+
commentAbove?: string;
|
|
21666
|
+
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
|
|
21667
|
+
newlinesInside?: ("ignore" | number);
|
|
21668
|
+
order?: ("asc" | "desc");
|
|
21669
|
+
})[];
|
|
21670
|
+
newlinesBetween?: ("ignore" | number);
|
|
21671
|
+
useConfigurationIf: {
|
|
21672
|
+
allNamesMatchPattern?: (({
|
|
21673
|
+
pattern: string;
|
|
21674
|
+
flags?: string;
|
|
21675
|
+
} | string)[] | ({
|
|
21676
|
+
pattern: string;
|
|
21677
|
+
flags?: string;
|
|
21678
|
+
} | string));
|
|
21679
|
+
matchesAstSelector?: string;
|
|
21680
|
+
};
|
|
21681
|
+
partitionByComment?: (boolean | (({
|
|
21682
|
+
pattern: string;
|
|
21683
|
+
flags?: string;
|
|
21684
|
+
} | string)[] | ({
|
|
21685
|
+
pattern: string;
|
|
21686
|
+
flags?: string;
|
|
21687
|
+
} | string)) | {
|
|
21688
|
+
block?: (boolean | (({
|
|
21689
|
+
pattern: string;
|
|
21690
|
+
flags?: string;
|
|
21691
|
+
} | string)[] | ({
|
|
21692
|
+
pattern: string;
|
|
21693
|
+
flags?: string;
|
|
21694
|
+
} | string)));
|
|
21695
|
+
line?: (boolean | (({
|
|
21696
|
+
pattern: string;
|
|
21697
|
+
flags?: string;
|
|
21698
|
+
} | string)[] | ({
|
|
21699
|
+
pattern: string;
|
|
21700
|
+
flags?: string;
|
|
21701
|
+
} | string)));
|
|
21702
|
+
});
|
|
21703
|
+
partitionByNewLine?: boolean;
|
|
21704
|
+
})[]];
|
|
21031
21705
|
// ----- perfectionist/sort-decorators -----
|
|
21032
21706
|
type PerfectionistSortDecorators = {
|
|
21033
21707
|
fallbackSort?: {
|
|
@@ -21750,10 +22424,6 @@ type PerfectionistSortImports = {
|
|
|
21750
22424
|
sortBy?: ("specifier" | "path");
|
|
21751
22425
|
})[];
|
|
21752
22426
|
newlinesBetween?: ("ignore" | number);
|
|
21753
|
-
tsconfig?: {
|
|
21754
|
-
rootDir: string;
|
|
21755
|
-
filename?: string;
|
|
21756
|
-
};
|
|
21757
22427
|
maxLineLength?: number;
|
|
21758
22428
|
sortSideEffects?: boolean;
|
|
21759
22429
|
environment?: ("node" | "bun");
|
|
@@ -21788,6 +22458,10 @@ type PerfectionistSortImports = {
|
|
|
21788
22458
|
pattern: string;
|
|
21789
22459
|
flags?: string;
|
|
21790
22460
|
} | string));
|
|
22461
|
+
tsconfig?: {
|
|
22462
|
+
rootDir: string;
|
|
22463
|
+
filename?: string;
|
|
22464
|
+
};
|
|
21791
22465
|
}[];
|
|
21792
22466
|
// ----- perfectionist/sort-interfaces -----
|
|
21793
22467
|
type PerfectionistSortInterfaces = {
|
|
@@ -22372,6 +23046,7 @@ type PerfectionistSortModules = [] | [{
|
|
|
22372
23046
|
order?: ("asc" | "desc");
|
|
22373
23047
|
})[];
|
|
22374
23048
|
newlinesBetween?: ("ignore" | number);
|
|
23049
|
+
additionalModuleBlockTypes?: string[];
|
|
22375
23050
|
useExperimentalDependencyDetection?: boolean;
|
|
22376
23051
|
newlinesBetweenOverloadSignatures?: ("ignore" | number);
|
|
22377
23052
|
partitionByComment?: (boolean | (({
|
|
@@ -22397,6 +23072,10 @@ type PerfectionistSortModules = [] | [{
|
|
|
22397
23072
|
} | string)));
|
|
22398
23073
|
});
|
|
22399
23074
|
partitionByNewLine?: boolean;
|
|
23075
|
+
tsconfig?: {
|
|
23076
|
+
rootDir: string;
|
|
23077
|
+
filename?: string;
|
|
23078
|
+
};
|
|
22400
23079
|
}];
|
|
22401
23080
|
// ----- perfectionist/sort-named-exports -----
|
|
22402
23081
|
type PerfectionistSortNamedExports = {
|
|
@@ -22925,6 +23604,13 @@ type PerfectionistSortObjects = {
|
|
|
22925
23604
|
partitionByComputedKey?: boolean;
|
|
22926
23605
|
styledComponents?: boolean;
|
|
22927
23606
|
useExperimentalDependencyDetection?: boolean;
|
|
23607
|
+
ignoreCallbackDependenciesPatterns?: (({
|
|
23608
|
+
pattern: string;
|
|
23609
|
+
flags?: string;
|
|
23610
|
+
} | string)[] | ({
|
|
23611
|
+
pattern: string;
|
|
23612
|
+
flags?: string;
|
|
23613
|
+
} | string));
|
|
22928
23614
|
partitionByComment?: (boolean | (({
|
|
22929
23615
|
pattern: string;
|
|
22930
23616
|
flags?: string;
|
|
@@ -23260,6 +23946,13 @@ type PerfectionistSortVariableDeclarations = {
|
|
|
23260
23946
|
matchesAstSelector?: string;
|
|
23261
23947
|
};
|
|
23262
23948
|
useExperimentalDependencyDetection?: boolean;
|
|
23949
|
+
ignoreCallbackDependenciesPatterns?: (({
|
|
23950
|
+
pattern: string;
|
|
23951
|
+
flags?: string;
|
|
23952
|
+
} | string)[] | ({
|
|
23953
|
+
pattern: string;
|
|
23954
|
+
flags?: string;
|
|
23955
|
+
} | string));
|
|
23263
23956
|
partitionByComment?: (boolean | (({
|
|
23264
23957
|
pattern: string;
|
|
23265
23958
|
flags?: string;
|
|
@@ -23544,6 +24237,13 @@ type SmallRulesConsistentCompoundWords = [] | [{
|
|
|
23544
24237
|
[k: string]: (false | string) | undefined;
|
|
23545
24238
|
};
|
|
23546
24239
|
}];
|
|
24240
|
+
// ----- small-rules/curly -----
|
|
24241
|
+
type SmallRulesCurly = [] | [{
|
|
24242
|
+
allowLiteralReturns?: boolean;
|
|
24243
|
+
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"))[]]);
|
|
24244
|
+
printWidth?: number;
|
|
24245
|
+
tabWidth?: number;
|
|
24246
|
+
}];
|
|
23547
24247
|
// ----- small-rules/directive-disable-enable-pair -----
|
|
23548
24248
|
type SmallRulesDirectiveDisableEnablePair = [] | [{
|
|
23549
24249
|
allowWholeFile?: boolean;
|
|
@@ -23578,11 +24278,15 @@ type SmallRulesIsolatedFunctions = [] | [{
|
|
|
23578
24278
|
type SmallRulesMemoizedEffectDependencies = [] | [{
|
|
23579
24279
|
environment?: ("roblox-ts" | "standard");
|
|
23580
24280
|
hooks?: {
|
|
23581
|
-
dependenciesIndex?: number;
|
|
23582
24281
|
name: string;
|
|
24282
|
+
dependenciesIndex?: number;
|
|
23583
24283
|
}[];
|
|
23584
24284
|
mode?: ("aggressive" | "definite" | "moderate");
|
|
23585
24285
|
}];
|
|
24286
|
+
// ----- small-rules/no-adjust-state-on-prop-change -----
|
|
24287
|
+
type SmallRulesNoAdjustStateOnPropChange = [] | [{
|
|
24288
|
+
environment?: ("roblox-ts" | "standard");
|
|
24289
|
+
}];
|
|
23586
24290
|
// ----- small-rules/no-array-constructor-elements -----
|
|
23587
24291
|
type SmallRulesNoArrayConstructorElements = [] | [{
|
|
23588
24292
|
environment?: ("roblox-ts" | "standard");
|
|
@@ -23609,6 +24313,18 @@ type SmallRulesNoAsyncInSystem = [] | [{
|
|
|
23609
24313
|
calleePath: [string, ...(string)[]];
|
|
23610
24314
|
}[];
|
|
23611
24315
|
}];
|
|
24316
|
+
// ----- small-rules/no-chain-state-updates -----
|
|
24317
|
+
type SmallRulesNoChainStateUpdates = [] | [{
|
|
24318
|
+
environment?: ("roblox-ts" | "standard");
|
|
24319
|
+
}];
|
|
24320
|
+
// ----- small-rules/no-chained-type-assertions -----
|
|
24321
|
+
type SmallRulesNoChainedTypeAssertions = [] | [{
|
|
24322
|
+
allowedTargets?: string[];
|
|
24323
|
+
}];
|
|
24324
|
+
// ----- small-rules/no-cliffy-action-wrapper -----
|
|
24325
|
+
type SmallRulesNoCliffyActionWrapper = [] | [{
|
|
24326
|
+
factories?: string[];
|
|
24327
|
+
}];
|
|
23612
24328
|
// ----- small-rules/no-color3-constructor -----
|
|
23613
24329
|
type SmallRulesNoColor3Constructor = [] | [{
|
|
23614
24330
|
reportUnknownComponents?: boolean;
|
|
@@ -23621,10 +24337,22 @@ type SmallRulesNoCommentedCode = [] | [{
|
|
|
23621
24337
|
type SmallRulesNoConstantConditionWithBreak = [] | [{
|
|
23622
24338
|
loopExitCalls?: string[];
|
|
23623
24339
|
}];
|
|
24340
|
+
// ----- small-rules/no-derived-state -----
|
|
24341
|
+
type SmallRulesNoDerivedState = [] | [{
|
|
24342
|
+
environment?: ("roblox-ts" | "standard");
|
|
24343
|
+
}];
|
|
24344
|
+
// ----- small-rules/no-event-handler -----
|
|
24345
|
+
type SmallRulesNoEventHandler = [] | [{
|
|
24346
|
+
environment?: ("roblox-ts" | "standard");
|
|
24347
|
+
}];
|
|
23624
24348
|
// ----- small-rules/no-events-in-events-callback -----
|
|
23625
24349
|
type SmallRulesNoEventsInEventsCallback = [] | [{
|
|
23626
24350
|
eventsImportPaths: string[];
|
|
23627
24351
|
}];
|
|
24352
|
+
// ----- small-rules/no-external-store-subscription -----
|
|
24353
|
+
type SmallRulesNoExternalStoreSubscription = [] | [{
|
|
24354
|
+
environment?: ("roblox-ts" | "standard");
|
|
24355
|
+
}];
|
|
23628
24356
|
// ----- small-rules/no-god-components -----
|
|
23629
24357
|
type SmallRulesNoGodComponents = [] | [{
|
|
23630
24358
|
enforceTargetLines?: boolean;
|
|
@@ -23644,20 +24372,53 @@ type SmallRulesNoIdentityMap = [] | [{
|
|
|
23644
24372
|
type SmallRulesNoIncrementDecrement = [] | [{
|
|
23645
24373
|
allowAutofix?: boolean;
|
|
23646
24374
|
}];
|
|
24375
|
+
// ----- small-rules/no-initialize-state -----
|
|
24376
|
+
type SmallRulesNoInitializeState = [] | [{
|
|
24377
|
+
environment?: ("roblox-ts" | "standard");
|
|
24378
|
+
}];
|
|
24379
|
+
// ----- small-rules/no-inline-signature-types -----
|
|
24380
|
+
type SmallRulesNoInlineSignatureTypes = [] | [{
|
|
24381
|
+
functions?: ("all" | "components");
|
|
24382
|
+
position?: ("anywhere" | "bare" | "wrapped");
|
|
24383
|
+
returnTypes?: boolean;
|
|
24384
|
+
}];
|
|
23647
24385
|
// ----- small-rules/no-instance-methods-without-this -----
|
|
23648
24386
|
type SmallRulesNoInstanceMethodsWithoutThis = [] | [{
|
|
23649
24387
|
checkPrivate?: boolean;
|
|
23650
24388
|
checkProtected?: boolean;
|
|
23651
24389
|
checkPublic?: boolean;
|
|
23652
24390
|
}];
|
|
24391
|
+
// ----- small-rules/no-multiple-cliffy-commands -----
|
|
24392
|
+
type SmallRulesNoMultipleCliffyCommands = [] | [{
|
|
24393
|
+
factories?: string[];
|
|
24394
|
+
}];
|
|
23653
24395
|
// ----- small-rules/no-new-instance-in-use-memo -----
|
|
23654
24396
|
type SmallRulesNoNewInstanceInUseMemo = [] | [{
|
|
23655
24397
|
constructors?: string[];
|
|
23656
24398
|
environment?: ("roblox-ts" | "standard");
|
|
23657
24399
|
maxHelperTraceDepth?: number;
|
|
23658
24400
|
}];
|
|
24401
|
+
// ----- small-rules/no-pass-data-to-parent -----
|
|
24402
|
+
type SmallRulesNoPassDataToParent = [] | [{
|
|
24403
|
+
environment?: ("roblox-ts" | "standard");
|
|
24404
|
+
}];
|
|
24405
|
+
// ----- small-rules/no-pass-live-state-to-parent -----
|
|
24406
|
+
type SmallRulesNoPassLiveStateToParent = [] | [{
|
|
24407
|
+
environment?: ("roblox-ts" | "standard");
|
|
24408
|
+
}];
|
|
24409
|
+
// ----- small-rules/no-real-temporary-directory -----
|
|
24410
|
+
type SmallRulesNoRealTemporaryDirectory = [] | [{
|
|
24411
|
+
additionalFunctions?: {
|
|
24412
|
+
functions: [string, ...(string)[]];
|
|
24413
|
+
source: string;
|
|
24414
|
+
}[];
|
|
24415
|
+
}];
|
|
23659
24416
|
// ----- small-rules/no-recursive -----
|
|
23660
24417
|
type SmallRulesNoRecursive = [] | [{}];
|
|
24418
|
+
// ----- small-rules/no-reset-all-state-on-prop-change -----
|
|
24419
|
+
type SmallRulesNoResetAllStateOnPropChange = [] | [{
|
|
24420
|
+
environment?: ("roblox-ts" | "standard");
|
|
24421
|
+
}];
|
|
23661
24422
|
// ----- small-rules/no-restricted-property-assignment -----
|
|
23662
24423
|
type SmallRulesNoRestrictedPropertyAssignment = [] | [{
|
|
23663
24424
|
allowFiles?: string[];
|
|
@@ -23668,10 +24429,30 @@ type SmallRulesNoRestrictedPropertyAssignment = [] | [{
|
|
|
23668
24429
|
properties: [string, ...(string)[]];
|
|
23669
24430
|
}[];
|
|
23670
24431
|
}];
|
|
24432
|
+
// ----- small-rules/no-runtime-in-type-files -----
|
|
24433
|
+
type SmallRulesNoRuntimeInTypeFiles = [] | [{
|
|
24434
|
+
files?: string[];
|
|
24435
|
+
}];
|
|
24436
|
+
// ----- small-rules/no-runtime-typeof -----
|
|
24437
|
+
type SmallRulesNoRuntimeTypeof = [] | [{
|
|
24438
|
+
allowInTypeGuards?: boolean;
|
|
24439
|
+
}];
|
|
23671
24440
|
// ----- small-rules/no-static-react-create-element -----
|
|
23672
24441
|
type SmallRulesNoStaticReactCreateElement = [] | [{
|
|
23673
24442
|
environment?: ("roblox-ts" | "standard");
|
|
23674
24443
|
}];
|
|
24444
|
+
// ----- small-rules/no-test-timeout -----
|
|
24445
|
+
type SmallRulesNoTestTimeout = [] | [{
|
|
24446
|
+
additionalTestFunctions?: string[];
|
|
24447
|
+
}];
|
|
24448
|
+
// ----- small-rules/no-unsupported-syntax -----
|
|
24449
|
+
type SmallRulesNoUnsupportedSyntax = [] | [{
|
|
24450
|
+
globalThis?: boolean;
|
|
24451
|
+
labels?: boolean;
|
|
24452
|
+
prototype?: boolean;
|
|
24453
|
+
regexLiterals?: boolean;
|
|
24454
|
+
spreadDestructuring?: boolean;
|
|
24455
|
+
}];
|
|
23675
24456
|
// ----- small-rules/no-unused-imports -----
|
|
23676
24457
|
type SmallRulesNoUnusedImports = [] | [{
|
|
23677
24458
|
checkJSDoc?: boolean;
|
|
@@ -23684,6 +24465,10 @@ type SmallRulesNoUnusedUseMemo = [] | [{
|
|
|
23684
24465
|
type SmallRulesNoUselessConstants = [] | [{
|
|
23685
24466
|
ignoreCallPatterns?: string[];
|
|
23686
24467
|
}];
|
|
24468
|
+
// ----- small-rules/no-useless-empty-string-comparison -----
|
|
24469
|
+
type SmallRulesNoUselessEmptyStringComparison = [] | [{
|
|
24470
|
+
allowAutofix?: boolean;
|
|
24471
|
+
}];
|
|
23687
24472
|
// ----- small-rules/no-useless-use-effect -----
|
|
23688
24473
|
type SmallRulesNoUselessUseEffect = [] | [{
|
|
23689
24474
|
environment?: ("roblox-ts" | "standard");
|
|
@@ -23708,7 +24493,7 @@ type SmallRulesNoUselessUseEffect = [] | [{
|
|
|
23708
24493
|
}];
|
|
23709
24494
|
// ----- small-rules/no-useless-use-memo -----
|
|
23710
24495
|
type SmallRulesNoUselessUseMemo = [] | [{
|
|
23711
|
-
dependencyMode?: ("empty-or-omitted" | "
|
|
24496
|
+
dependencyMode?: ("empty-or-omitted" | "aggressive" | "non-updating");
|
|
23712
24497
|
environment?: ("roblox-ts" | "standard");
|
|
23713
24498
|
staticGlobalFactories?: string[];
|
|
23714
24499
|
}];
|
|
@@ -23782,8 +24567,8 @@ type SmallRulesRequireModuleLevelInstantiation = [] | [{
|
|
|
23782
24567
|
type SmallRulesRequireNamedEffectFunctions = [] | [{
|
|
23783
24568
|
environment?: ("roblox-ts" | "standard");
|
|
23784
24569
|
hooks?: {
|
|
23785
|
-
allowAsync: boolean;
|
|
23786
24570
|
name: string;
|
|
24571
|
+
allowAsync: boolean;
|
|
23787
24572
|
}[];
|
|
23788
24573
|
inlineFunctionDeclarations?: boolean;
|
|
23789
24574
|
sloptor?: boolean;
|
|
@@ -23822,6 +24607,28 @@ type SmallRulesRequireReactComponentKeys = [] | [{
|
|
|
23822
24607
|
type SmallRulesRequireReactDisplayNames = [] | [{
|
|
23823
24608
|
environment?: ("roblox-ts" | "standard");
|
|
23824
24609
|
}];
|
|
24610
|
+
// ----- small-rules/require-readable-spacing -----
|
|
24611
|
+
type SmallRulesRequireReadableSpacing = [] | [{
|
|
24612
|
+
afterBlocks?: boolean;
|
|
24613
|
+
afterImports?: boolean;
|
|
24614
|
+
allowAttachedUses?: boolean;
|
|
24615
|
+
allowGuardClauseRuns?: boolean;
|
|
24616
|
+
allowMultilineBindingRuns?: boolean;
|
|
24617
|
+
aroundDeclarations?: boolean;
|
|
24618
|
+
aroundMultilineBindings?: boolean;
|
|
24619
|
+
beforeControlFlow?: boolean;
|
|
24620
|
+
betweenTopLevelStatements?: boolean;
|
|
24621
|
+
overrides?: {
|
|
24622
|
+
blankLine: ("always" | "any");
|
|
24623
|
+
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"))[]]);
|
|
24624
|
+
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"))[]]);
|
|
24625
|
+
usesPrevious?: boolean;
|
|
24626
|
+
}[];
|
|
24627
|
+
}];
|
|
24628
|
+
// ----- small-rules/require-safety-comment-for-type-assertion -----
|
|
24629
|
+
type SmallRulesRequireSafetyCommentForTypeAssertion = [] | [{
|
|
24630
|
+
markers?: [string, ...(string)[]];
|
|
24631
|
+
}];
|
|
23825
24632
|
// ----- small-rules/require-switch-case-braces -----
|
|
23826
24633
|
type SmallRulesRequireSwitchCaseBraces = [] | [{
|
|
23827
24634
|
metric?: ("lines" | "statements");
|
|
@@ -23829,12 +24636,17 @@ type SmallRulesRequireSwitchCaseBraces = [] | [{
|
|
|
23829
24636
|
// ----- small-rules/require-throw-error-capture -----
|
|
23830
24637
|
type SmallRulesRequireThrowErrorCapture = [] | [{
|
|
23831
24638
|
allow?: (string | {
|
|
23832
|
-
from?: ("file" | "library" | "package");
|
|
23833
24639
|
name: (string | string[]);
|
|
24640
|
+
from?: ("file" | "library" | "package");
|
|
23834
24641
|
package?: string;
|
|
23835
24642
|
path?: string;
|
|
23836
24643
|
})[];
|
|
23837
24644
|
}];
|
|
24645
|
+
// ----- small-rules/starts-with-verb -----
|
|
24646
|
+
type SmallRulesStartsWithVerb = [] | [{
|
|
24647
|
+
allowList?: string[];
|
|
24648
|
+
denyList?: string[];
|
|
24649
|
+
}];
|
|
23838
24650
|
// ----- small-rules/strict-component-boundaries -----
|
|
23839
24651
|
type SmallRulesStrictComponentBoundaries = [] | [{
|
|
23840
24652
|
allow?: string[];
|
|
@@ -23843,9 +24655,9 @@ type SmallRulesStrictComponentBoundaries = [] | [{
|
|
|
23843
24655
|
// ----- small-rules/use-exhaustive-dependencies -----
|
|
23844
24656
|
type SmallRulesUseExhaustiveDependencies = [] | [{
|
|
23845
24657
|
hooks?: {
|
|
24658
|
+
name: string;
|
|
23846
24659
|
closureIndex?: number;
|
|
23847
24660
|
dependenciesIndex?: number;
|
|
23848
|
-
name: string;
|
|
23849
24661
|
stableResult?: (boolean | number | number[] | string[]);
|
|
23850
24662
|
}[];
|
|
23851
24663
|
reportMissingDependenciesArray?: boolean;
|
|
@@ -25489,6 +26301,10 @@ type TsArrayType = [] | [{
|
|
|
25489
26301
|
default?: ("array" | "generic" | "array-simple");
|
|
25490
26302
|
readonly?: ("array" | "generic" | "array-simple");
|
|
25491
26303
|
}];
|
|
26304
|
+
// ----- ts/await-thenable -----
|
|
26305
|
+
type TsAwaitThenable = [] | [{
|
|
26306
|
+
allowMixedPromiseArrays?: boolean;
|
|
26307
|
+
}];
|
|
25492
26308
|
// ----- ts/ban-ts-comment -----
|
|
25493
26309
|
type TsBanTsComment = [] | [{
|
|
25494
26310
|
minimumDescriptionLength?: number;
|
|
@@ -26061,7 +26877,9 @@ type TsNoMeaninglessVoidOperator = [] | [{
|
|
|
26061
26877
|
}];
|
|
26062
26878
|
// ----- ts/no-misused-promises -----
|
|
26063
26879
|
type TsNoMisusedPromises = [] | [{
|
|
26064
|
-
checksConditionals?: boolean
|
|
26880
|
+
checksConditionals?: (boolean | {
|
|
26881
|
+
flagUnions?: ("all" | "strict" | "none");
|
|
26882
|
+
});
|
|
26065
26883
|
checksSpreads?: boolean;
|
|
26066
26884
|
checksVoidReturn?: (boolean | {
|
|
26067
26885
|
arguments?: boolean;
|
|
@@ -27270,7 +28088,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
|
|
|
27270
28088
|
onlyEquality?: boolean;
|
|
27271
28089
|
}];
|
|
27272
28090
|
// Names of all the configs
|
|
27273
|
-
type ConfigNames = 'isentinel/eslint/comments' | 'isentinel/eslint/comments/src' | 'isentinel/e18e/rules' | 'isentinel/eslint-plugin/setup' | 'isentinel/eslint-plugin/rules' | 'isentinel/flawless/setup' | 'isentinel/flawless/rules' | 'isentinel/flawless/rules-type-aware' | 'isentinel/gitignore' | 'isentinel/ignores' | 'isentinel/imports/rules' | 'isentinel/imports/game' | 'isentinel/javascript/setup' | 'isentinel/javascript/rules' | 'isentinel/jsdoc/setup' | 'isentinel/jsdoc' | 'isentinel/jsonc/setup' | 'isentinel/jsonc/rules' | 'isentinel/jsonc/tsconfig' | 'isentinel/markdown/setup' | 'isentinel/markdown/processor' | 'isentinel/markdown/parser' | 'isentinel/markdown/disables' | 'isentinel/naming/setup' | 'isentinel/naming/ts/rules-type-aware' | 'isentinel/naming/tsx/rules-type-aware' | 'isentinel/node/rules' | 'isentinel/oxfmt/setup' | 'isentinel/oxfmt/javascript' | 'isentinel/oxfmt/typescript' | 'isentinel/oxfmt/css' | 'isentinel/oxfmt/scss' | 'isentinel/oxfmt/less' | 'isentinel/oxfmt/html' | 'isentinel/oxfmt/markdown' | 'isentinel/oxfmt/graphql' | 'isentinel/oxfmt/json' | 'isentinel/oxfmt/json5' | 'isentinel/oxfmt/yaml' | 'isentinel/oxfmt/markdown-code/javascript' | 'isentinel/oxfmt/markdown-code/typescript' | 'isentinel/oxfmt/markdown-code/css' | 'isentinel/oxfmt/markdown-code/scss' | 'isentinel/oxfmt/markdown-code/less' | 'isentinel/oxfmt/markdown-code/html' | 'isentinel/oxfmt/markdown-code/graphql' | 'isentinel/oxfmt/markdown-code/json' | 'isentinel/oxfmt/markdown-code/json5' | 'isentinel/oxfmt/markdown-code/yaml' | 'isentinel/package-json/setup' | 'isentinel/package-json' | 'isentinel/package-json/root' | 'isentinel/perfectionist/setup' | 'isentinel/perfectionist' | 'isentinel/perfectionist/jsx' | 'isentinel/pnpm/setup' | 'isentinel/pnpm/package-json' | 'isentinel/pnpm/pnpm-workspace-yaml' | 'isentinel/project-structure/setup' | 'isentinel/project-structure/rules' | 'isentinel/promise' | 'isentinel/react/setup' | 'isentinel/react/setup/naming' | 'isentinel/react/setup/testing-library' | 'isentinel/react/rules' | 'isentinel/react/type-aware-rules' | 'isentinel/roblox/setup' | 'isentinel/roblox/parser' | 'isentinel/roblox/type-aware-parser' | 'isentinel/roblox' | 'isentinel/roblox/rules-type-aware' | 'isentinel/roblox/format-lua/setup' | 'isentinel/roblox/format-lua' | 'isentinel/small-rules/setup' | 'isentinel/small-rules' | 'isentinel/sonarjs' | 'isentinel/spelling/setup' | 'isentinel/spelling' | 'isentinel/stylistic/setup' | 'isentinel/stylistic' | 'isentinel/test/jest/setup' | 'isentinel/test/jest/rules' | 'isentinel/test/jest/type-tests' | 'isentinel/test/vitest/setup' | 'isentinel/test/vitest/rules' | 'isentinel/test/vitest/type-tests' | 'isentinel/toml/setup' | 'isentinel/toml/rules' | 'isentinel/typescript/setup' | 'isentinel/typescript/parser' | 'isentinel/typescript/type-aware-parser' | 'isentinel/typescript/rules' | 'isentinel/typescript/rules-type-aware' | 'isentinel/typescript/erasable-syntax-only' | 'isentinel/unicorn/setup' | 'isentinel/unicorn/rules' | 'isentinel/unicorn/root' | 'isentinel/yaml/setup' | 'isentinel/yaml/rules';
|
|
28091
|
+
type ConfigNames = 'isentinel/eslint/comments' | 'isentinel/eslint/comments/src' | 'isentinel/e18e/rules' | 'isentinel/eslint-plugin/setup' | 'isentinel/eslint-plugin/rules' | 'isentinel/flawless/setup' | 'isentinel/flawless/rules' | 'isentinel/flawless/tsx/rules-type-aware' | 'isentinel/flawless/rules-type-aware' | 'isentinel/gitignore' | 'isentinel/ignores' | 'isentinel/imports/rules' | 'isentinel/imports/game' | 'isentinel/javascript/setup' | 'isentinel/javascript/rules' | 'isentinel/jsdoc/setup' | 'isentinel/jsdoc' | 'isentinel/jsonc/setup' | 'isentinel/jsonc/rules' | 'isentinel/jsonc/tsconfig' | 'isentinel/markdown/setup' | 'isentinel/markdown/processor' | 'isentinel/markdown/parser' | 'isentinel/markdown/disables' | 'isentinel/naming/setup' | 'isentinel/naming/ts/rules-type-aware' | 'isentinel/naming/tsx/rules-type-aware' | 'isentinel/node/rules' | 'isentinel/oxfmt/setup' | 'isentinel/oxfmt/javascript' | 'isentinel/oxfmt/typescript' | 'isentinel/oxfmt/css' | 'isentinel/oxfmt/scss' | 'isentinel/oxfmt/less' | 'isentinel/oxfmt/html' | 'isentinel/oxfmt/markdown' | 'isentinel/oxfmt/graphql' | 'isentinel/oxfmt/json' | 'isentinel/oxfmt/json5' | 'isentinel/oxfmt/yaml' | 'isentinel/oxfmt/markdown-code/javascript' | 'isentinel/oxfmt/markdown-code/typescript' | 'isentinel/oxfmt/markdown-code/css' | 'isentinel/oxfmt/markdown-code/scss' | 'isentinel/oxfmt/markdown-code/less' | 'isentinel/oxfmt/markdown-code/html' | 'isentinel/oxfmt/markdown-code/graphql' | 'isentinel/oxfmt/markdown-code/json' | 'isentinel/oxfmt/markdown-code/json5' | 'isentinel/oxfmt/markdown-code/yaml' | 'isentinel/package-json/setup' | 'isentinel/package-json' | 'isentinel/package-json/root' | 'isentinel/perfectionist/setup' | 'isentinel/perfectionist' | 'isentinel/perfectionist/jsx' | 'isentinel/pnpm/setup' | 'isentinel/pnpm/package-json' | 'isentinel/pnpm/pnpm-workspace-yaml' | 'isentinel/project-structure/setup' | 'isentinel/project-structure/rules' | 'isentinel/promise' | 'isentinel/react/setup' | 'isentinel/react/setup/naming' | 'isentinel/react/setup/testing-library' | 'isentinel/react/rules' | 'isentinel/react/type-aware-rules' | 'isentinel/roblox/setup' | 'isentinel/roblox/parser' | 'isentinel/roblox/type-aware-parser' | 'isentinel/roblox' | 'isentinel/roblox/rules-type-aware' | 'isentinel/roblox/format-lua/setup' | 'isentinel/roblox/format-lua' | 'isentinel/small-rules/setup' | 'isentinel/small-rules' | 'isentinel/sonarjs' | 'isentinel/spelling/setup' | 'isentinel/spelling' | 'isentinel/stylistic/setup' | 'isentinel/stylistic' | 'isentinel/stylistic/jsx' | 'isentinel/test/jest/setup' | 'isentinel/test/jest/rules' | 'isentinel/test/jest/type-tests' | 'isentinel/test/vitest/setup' | 'isentinel/test/vitest/rules' | 'isentinel/test/vitest/type-tests' | 'isentinel/toml/setup' | 'isentinel/toml/rules' | 'isentinel/typescript/setup' | 'isentinel/typescript/parser' | 'isentinel/typescript/type-aware-parser' | 'isentinel/typescript/rules' | 'isentinel/typescript/rules-type-aware' | 'isentinel/typescript/erasable-syntax-only' | 'isentinel/unicorn/setup' | 'isentinel/unicorn/rules' | 'isentinel/unicorn/root' | 'isentinel/yaml/setup' | 'isentinel/yaml/rules';
|
|
27274
28092
|
//#endregion
|
|
27275
28093
|
//#region src/utils.d.ts
|
|
27276
28094
|
type ExtractRuleOptions<T> = T extends Linter.RuleEntry<infer U> ? U : never;
|
|
@@ -28315,7 +29133,7 @@ declare const GLOB_JSX = "**/*.{,c,m}jsx";
|
|
|
28315
29133
|
declare const GLOB_TS = "**/*.{,c,m}ts";
|
|
28316
29134
|
declare const GLOB_TSX = "**/*.{,c,m}tsx";
|
|
28317
29135
|
declare const GLOB_DTS = "**/*.d.{,c,m}ts";
|
|
28318
|
-
declare const GLOB_BIN:
|
|
29136
|
+
declare const GLOB_BIN: string[];
|
|
28319
29137
|
declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
|
|
28320
29138
|
declare const GLOB_CSS = "**/*.css";
|
|
28321
29139
|
declare const GLOB_POSTCSS = "**/*.{p,post}css";
|
|
@@ -28338,7 +29156,7 @@ declare const GLOB_MARKDOWN_CODE: string;
|
|
|
28338
29156
|
declare const GLOB_MARKDOWN_BLOCKS: string;
|
|
28339
29157
|
declare const GLOB_YAML = "**/*.y{,a}ml";
|
|
28340
29158
|
declare const GLOB_TOML = "**/*.toml";
|
|
28341
|
-
declare const GLOB_MISE:
|
|
29159
|
+
declare const GLOB_MISE: string[];
|
|
28342
29160
|
declare const GLOB_HTML = "**/*.htm{,l}";
|
|
28343
29161
|
declare const GLOB_XML = "**/*.xml";
|
|
28344
29162
|
declare const GLOB_GRAPHQL = "**/*.{g,graph}ql";
|
|
@@ -28347,8 +29165,8 @@ declare const GLOB_GRAPHQL = "**/*.{g,graph}ql";
|
|
|
28347
29165
|
* mode. They are test files, but assert nothing at runtime.
|
|
28348
29166
|
*/
|
|
28349
29167
|
declare const GLOB_TYPE_TESTS = "**/*.{test,spec}-d.{,c,m}[jt]s{,x}";
|
|
28350
|
-
declare const GLOB_TESTS:
|
|
28351
|
-
declare const GLOB_BUILD_CONFIGS:
|
|
29168
|
+
declare const GLOB_TESTS: string[];
|
|
29169
|
+
declare const GLOB_BUILD_CONFIGS: string[];
|
|
28352
29170
|
declare const GLOB_ALL_SRC: string[];
|
|
28353
29171
|
declare const GLOB_EXCLUDE: string[];
|
|
28354
29172
|
//#endregion
|
|
@@ -28421,7 +29239,7 @@ declare function flawless(options?: FlawlessRuleOptions & OptionsOverridesTypeAw
|
|
|
28421
29239
|
* linted as standard-TS/Node land.
|
|
28422
29240
|
*/
|
|
28423
29241
|
complementIgnores?: Array<string>;
|
|
28424
|
-
}, prettierOptions?: PrettierOptions):
|
|
29242
|
+
}, prettierOptions?: PrettierOptions): Array<TypedFlatConfigItem>;
|
|
28425
29243
|
//#endregion
|
|
28426
29244
|
//#region src/eslint/configs/gitignore.d.ts
|
|
28427
29245
|
interface GitignoreOptions {
|
|
@@ -28444,7 +29262,7 @@ declare function javascript({ complementIgnores, isInEditor, overrides, roblox,
|
|
|
28444
29262
|
* standard-TS/Node land.
|
|
28445
29263
|
*/
|
|
28446
29264
|
complementIgnores?: Array<string>;
|
|
28447
|
-
}):
|
|
29265
|
+
}): Array<TypedFlatConfigItem>;
|
|
28448
29266
|
//#endregion
|
|
28449
29267
|
//#region src/eslint/configs/jsdoc.d.ts
|
|
28450
29268
|
declare function jsdoc({ full, stylistic, type }?: JsdocOptions & OptionsProjectType & OptionsStylistic): Array<TypedFlatConfigItem>;
|
|
@@ -28470,10 +29288,10 @@ declare function jsonc({ bracketSpacing, files, formatIndent, layoutOverrides, o
|
|
|
28470
29288
|
* loading the plugin. `test/lazy-plugin.spec.ts` asserts the two match.
|
|
28471
29289
|
*/
|
|
28472
29290
|
declare const MARKDOWN_PROCESSOR_NAME = "@eslint/markdown/markdown";
|
|
28473
|
-
declare function markdown({ componentExts: componentExtensions, files, overrides, type }?: OptionsComponentExtensions & OptionsFiles & OptionsOverrides & OptionsProjectType): Array<TypedFlatConfigItem>;
|
|
29291
|
+
declare function markdown({ antiSlop, componentExts: componentExtensions, files, overrides, type }?: FlawlessRuleOptions & OptionsComponentExtensions & OptionsFiles & OptionsOverrides & OptionsProjectType): Array<TypedFlatConfigItem>;
|
|
28474
29292
|
//#endregion
|
|
28475
29293
|
//#region src/eslint/configs/naming.d.ts
|
|
28476
|
-
declare function naming(options?: NamingConfig & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes):
|
|
29294
|
+
declare function naming(options?: NamingConfig & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Array<TypedFlatConfigItem>;
|
|
28477
29295
|
//#endregion
|
|
28478
29296
|
//#region src/eslint/configs/node.d.ts
|
|
28479
29297
|
declare function node({ files, ignores }?: OptionsFiles & {
|
|
@@ -28530,11 +29348,11 @@ declare function sonarjs({ complementIgnores, isInEditor, roblox }: OptionsHasRo
|
|
|
28530
29348
|
* standard-TS/Node land.
|
|
28531
29349
|
*/
|
|
28532
29350
|
complementIgnores?: Array<string>;
|
|
28533
|
-
}):
|
|
29351
|
+
}): Array<TypedFlatConfigItem>;
|
|
28534
29352
|
//#endregion
|
|
28535
29353
|
//#region src/eslint/configs/sort.d.ts
|
|
28536
29354
|
/**
|
|
28537
|
-
* Sort GitHub Actions workflow files.
|
|
29355
|
+
* Sort GitHub Actions workflow, composite action and label files.
|
|
28538
29356
|
*
|
|
28539
29357
|
* Requires `yaml` config.
|
|
28540
29358
|
*
|
|
@@ -28548,7 +29366,7 @@ declare function sortGithubAction(): Array<TypedFlatConfigItem>;
|
|
|
28548
29366
|
*
|
|
28549
29367
|
* @returns A promise resolving to an array of flat configuration items.
|
|
28550
29368
|
*/
|
|
28551
|
-
declare function sortMiseToml():
|
|
29369
|
+
declare function sortMiseToml(): Array<TypedFlatConfigItem>;
|
|
28552
29370
|
declare function sortPnpmWorkspace(): Array<TypedFlatConfigItem>;
|
|
28553
29371
|
/**
|
|
28554
29372
|
* Sort Rojo .project.json files.
|
|
@@ -28607,9 +29425,9 @@ declare function unicorn({ complementIgnores, nameReplacements, roblox, root: cu
|
|
|
28607
29425
|
*/
|
|
28608
29426
|
complementIgnores?: Array<string>;
|
|
28609
29427
|
root?: Array<string>;
|
|
28610
|
-
}):
|
|
29428
|
+
}): Array<TypedFlatConfigItem>;
|
|
28611
29429
|
//#endregion
|
|
28612
29430
|
//#region src/eslint/configs/yaml.d.ts
|
|
28613
|
-
declare function yaml({ files, overrides, stylistic }?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
|
|
29431
|
+
declare function yaml({ files, overrides, prettierOptions, stylistic }?: OptionsFiles & OptionsFormatters & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
|
|
28614
29432
|
//#endregion
|
|
28615
29433
|
export { type Awaitable, type ConfigNames, type ConfigSettings, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BIN, GLOB_BUILD_CONFIGS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LINTABLE_EXTENSIONS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_PACKAGE_JSON, GLOB_PACKAGE_JSON_ROOT, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_SRC_EXTENSIONS, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_TYPE_TESTS, GLOB_XML, GLOB_YAML, GitignoreOptions, type JsdocOptions, MARKDOWN_PROCESSOR_NAME, type NamedFlatConfigItem, type NamedOptionsConfig, type NamingConfig, type NamingSelector, type OptionsComponentExtensions, type OptionsConfig, type OptionsE18e, type OptionsFiles, type OptionsFilesTypeAware, type OptionsFormatters, type OptionsHasRoblox, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsJest, type OptionsOverrides, type OptionsOverridesTypeAware, type OptionsPnpm, type OptionsProjectType, type OptionsStylistic, type OptionsTestFramework, type OptionsTypeScriptErasableOnly, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnicorn, type OptionsVitest, type OxfmtOptions, type PerfectionistConfig, type PrettierOptions, type ProjectStructureConfig, ROBLOX_ALLOWED_WORDS, type ReactConfig, type ReactSettings, type Rules, type SpellCheckConfig, type StylisticConfig, StylisticConfigDefaults, type TypedFlatConfigItem, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore$1 as gitignore, ignores$1 as ignores, imports, isAgentAutofixDisabled, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, loadSmallRulesPlugin, markdown, naming, node, oxfmt, packageJson, perfectionist, pnpm, projectStructure, promise, react, roblox$1 as roblox, smallRules, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic$1 as stylistic, test, toml, typescript, unicorn, yaml };
|