oxlint-plugin-react-doctor 0.2.9 → 0.2.11-dev.402c7ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1064 -70
- package/dist/index.js +3880 -985
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -82,10 +82,17 @@ interface ScopeAnalysis {
|
|
|
82
82
|
//#region src/plugin/utils/rule-context.d.ts
|
|
83
83
|
interface BaseRuleContext {
|
|
84
84
|
report: (descriptor: ReportDescriptor) => void;
|
|
85
|
-
|
|
85
|
+
readonly filename?: string;
|
|
86
|
+
/**
|
|
87
|
+
* @deprecated Rules use `context.filename`. Read only as a fallback by
|
|
88
|
+
* `wrapWithSemanticContext`; ESLint implements it as a `this`-bound class
|
|
89
|
+
* method, so it must be called on the host context, never a detached
|
|
90
|
+
* reference.
|
|
91
|
+
*/
|
|
92
|
+
getFilename?: () => string | undefined;
|
|
86
93
|
readonly settings?: Readonly<Record<string, unknown>>;
|
|
87
94
|
}
|
|
88
|
-
interface RuleContext extends BaseRuleContext {
|
|
95
|
+
interface RuleContext extends Omit<BaseRuleContext, "getFilename"> {
|
|
89
96
|
readonly scopes: ScopeAnalysis;
|
|
90
97
|
readonly cfg: ControlFlowAnalysis;
|
|
91
98
|
}
|
|
@@ -97,7 +104,7 @@ interface RuleVisitors {
|
|
|
97
104
|
//#endregion
|
|
98
105
|
//#region src/plugin/utils/rule.d.ts
|
|
99
106
|
type RuleSeverity = "error" | "warn";
|
|
100
|
-
type RuleFramework = "global" | "nextjs" | "react-native" | "tanstack-start" | "tanstack-query";
|
|
107
|
+
type RuleFramework = "global" | "nextjs" | "react-native" | "tanstack-start" | "tanstack-query" | "preact";
|
|
101
108
|
interface Rule {
|
|
102
109
|
id: string;
|
|
103
110
|
severity: RuleSeverity;
|
|
@@ -130,6 +137,23 @@ type OxlintRuleSeverity = RuleSeverity | "off";
|
|
|
130
137
|
//#endregion
|
|
131
138
|
//#region src/rules.d.ts
|
|
132
139
|
declare const REACT_DOCTOR_RULES: readonly [{
|
|
140
|
+
readonly key: "react-doctor/activity-wraps-effect-heavy-subtree";
|
|
141
|
+
readonly id: "activity-wraps-effect-heavy-subtree";
|
|
142
|
+
readonly source: "react-doctor";
|
|
143
|
+
readonly originallyExternal: false;
|
|
144
|
+
readonly rule: {
|
|
145
|
+
readonly framework: "global";
|
|
146
|
+
readonly category: "State & Effects";
|
|
147
|
+
readonly id: string;
|
|
148
|
+
readonly severity: RuleSeverity;
|
|
149
|
+
readonly requires?: ReadonlyArray<string>;
|
|
150
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
151
|
+
readonly tags?: ReadonlyArray<string>;
|
|
152
|
+
readonly defaultEnabled?: boolean;
|
|
153
|
+
readonly recommendation?: string;
|
|
154
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
155
|
+
};
|
|
156
|
+
}, {
|
|
133
157
|
readonly key: "react-doctor/advanced-event-handler-refs";
|
|
134
158
|
readonly id: "advanced-event-handler-refs";
|
|
135
159
|
readonly source: "react-doctor";
|
|
@@ -724,6 +748,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
724
748
|
readonly recommendation?: string;
|
|
725
749
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
726
750
|
};
|
|
751
|
+
}, {
|
|
752
|
+
readonly key: "react-doctor/hooks-no-nan-in-deps";
|
|
753
|
+
readonly id: "hooks-no-nan-in-deps";
|
|
754
|
+
readonly source: "react-doctor";
|
|
755
|
+
readonly originallyExternal: false;
|
|
756
|
+
readonly rule: {
|
|
757
|
+
readonly framework: "global";
|
|
758
|
+
readonly category: "State & Effects";
|
|
759
|
+
readonly id: string;
|
|
760
|
+
readonly severity: RuleSeverity;
|
|
761
|
+
readonly requires?: ReadonlyArray<string>;
|
|
762
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
763
|
+
readonly tags?: ReadonlyArray<string>;
|
|
764
|
+
readonly defaultEnabled?: boolean;
|
|
765
|
+
readonly recommendation?: string;
|
|
766
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
767
|
+
};
|
|
727
768
|
}, {
|
|
728
769
|
readonly key: "react-doctor/html-has-lang";
|
|
729
770
|
readonly id: "html-has-lang";
|
|
@@ -741,6 +782,57 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
741
782
|
readonly recommendation?: string;
|
|
742
783
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
743
784
|
};
|
|
785
|
+
}, {
|
|
786
|
+
readonly key: "react-doctor/html-no-invalid-paragraph-child";
|
|
787
|
+
readonly id: "html-no-invalid-paragraph-child";
|
|
788
|
+
readonly source: "react-doctor";
|
|
789
|
+
readonly originallyExternal: false;
|
|
790
|
+
readonly rule: {
|
|
791
|
+
readonly framework: "global";
|
|
792
|
+
readonly category: "Correctness";
|
|
793
|
+
readonly id: string;
|
|
794
|
+
readonly severity: RuleSeverity;
|
|
795
|
+
readonly requires?: ReadonlyArray<string>;
|
|
796
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
797
|
+
readonly tags?: ReadonlyArray<string>;
|
|
798
|
+
readonly defaultEnabled?: boolean;
|
|
799
|
+
readonly recommendation?: string;
|
|
800
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
801
|
+
};
|
|
802
|
+
}, {
|
|
803
|
+
readonly key: "react-doctor/html-no-invalid-table-nesting";
|
|
804
|
+
readonly id: "html-no-invalid-table-nesting";
|
|
805
|
+
readonly source: "react-doctor";
|
|
806
|
+
readonly originallyExternal: false;
|
|
807
|
+
readonly rule: {
|
|
808
|
+
readonly framework: "global";
|
|
809
|
+
readonly category: "Correctness";
|
|
810
|
+
readonly id: string;
|
|
811
|
+
readonly severity: RuleSeverity;
|
|
812
|
+
readonly requires?: ReadonlyArray<string>;
|
|
813
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
814
|
+
readonly tags?: ReadonlyArray<string>;
|
|
815
|
+
readonly defaultEnabled?: boolean;
|
|
816
|
+
readonly recommendation?: string;
|
|
817
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
818
|
+
};
|
|
819
|
+
}, {
|
|
820
|
+
readonly key: "react-doctor/html-no-nested-interactive";
|
|
821
|
+
readonly id: "html-no-nested-interactive";
|
|
822
|
+
readonly source: "react-doctor";
|
|
823
|
+
readonly originallyExternal: false;
|
|
824
|
+
readonly rule: {
|
|
825
|
+
readonly framework: "global";
|
|
826
|
+
readonly category: "Correctness";
|
|
827
|
+
readonly id: string;
|
|
828
|
+
readonly severity: RuleSeverity;
|
|
829
|
+
readonly requires?: ReadonlyArray<string>;
|
|
830
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
831
|
+
readonly tags?: ReadonlyArray<string>;
|
|
832
|
+
readonly defaultEnabled?: boolean;
|
|
833
|
+
readonly recommendation?: string;
|
|
834
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
835
|
+
};
|
|
744
836
|
}, {
|
|
745
837
|
readonly key: "react-doctor/iframe-has-title";
|
|
746
838
|
readonly id: "iframe-has-title";
|
|
@@ -809,6 +901,74 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
809
901
|
readonly recommendation?: string;
|
|
810
902
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
811
903
|
};
|
|
904
|
+
}, {
|
|
905
|
+
readonly key: "react-doctor/jotai-derived-atom-returns-fresh-object";
|
|
906
|
+
readonly id: "jotai-derived-atom-returns-fresh-object";
|
|
907
|
+
readonly source: "react-doctor";
|
|
908
|
+
readonly originallyExternal: false;
|
|
909
|
+
readonly rule: {
|
|
910
|
+
readonly framework: "global";
|
|
911
|
+
readonly category: "State & Effects";
|
|
912
|
+
readonly id: string;
|
|
913
|
+
readonly severity: RuleSeverity;
|
|
914
|
+
readonly requires?: ReadonlyArray<string>;
|
|
915
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
916
|
+
readonly tags?: ReadonlyArray<string>;
|
|
917
|
+
readonly defaultEnabled?: boolean;
|
|
918
|
+
readonly recommendation?: string;
|
|
919
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
920
|
+
};
|
|
921
|
+
}, {
|
|
922
|
+
readonly key: "react-doctor/jotai-select-atom-in-render-body";
|
|
923
|
+
readonly id: "jotai-select-atom-in-render-body";
|
|
924
|
+
readonly source: "react-doctor";
|
|
925
|
+
readonly originallyExternal: false;
|
|
926
|
+
readonly rule: {
|
|
927
|
+
readonly framework: "global";
|
|
928
|
+
readonly category: "State & Effects";
|
|
929
|
+
readonly id: string;
|
|
930
|
+
readonly severity: RuleSeverity;
|
|
931
|
+
readonly requires?: ReadonlyArray<string>;
|
|
932
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
933
|
+
readonly tags?: ReadonlyArray<string>;
|
|
934
|
+
readonly defaultEnabled?: boolean;
|
|
935
|
+
readonly recommendation?: string;
|
|
936
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
937
|
+
};
|
|
938
|
+
}, {
|
|
939
|
+
readonly key: "react-doctor/jotai-tq-use-raw-query-atom";
|
|
940
|
+
readonly id: "jotai-tq-use-raw-query-atom";
|
|
941
|
+
readonly source: "react-doctor";
|
|
942
|
+
readonly originallyExternal: false;
|
|
943
|
+
readonly rule: {
|
|
944
|
+
readonly framework: "global";
|
|
945
|
+
readonly category: "State & Effects";
|
|
946
|
+
readonly id: string;
|
|
947
|
+
readonly severity: RuleSeverity;
|
|
948
|
+
readonly requires?: ReadonlyArray<string>;
|
|
949
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
950
|
+
readonly tags?: ReadonlyArray<string>;
|
|
951
|
+
readonly defaultEnabled?: boolean;
|
|
952
|
+
readonly recommendation?: string;
|
|
953
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
954
|
+
};
|
|
955
|
+
}, {
|
|
956
|
+
readonly key: "react-doctor/js-async-reduce-without-awaited-acc";
|
|
957
|
+
readonly id: "js-async-reduce-without-awaited-acc";
|
|
958
|
+
readonly source: "react-doctor";
|
|
959
|
+
readonly originallyExternal: false;
|
|
960
|
+
readonly rule: {
|
|
961
|
+
readonly framework: "global";
|
|
962
|
+
readonly category: "Performance";
|
|
963
|
+
readonly id: string;
|
|
964
|
+
readonly severity: RuleSeverity;
|
|
965
|
+
readonly requires?: ReadonlyArray<string>;
|
|
966
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
967
|
+
readonly tags?: ReadonlyArray<string>;
|
|
968
|
+
readonly defaultEnabled?: boolean;
|
|
969
|
+
readonly recommendation?: string;
|
|
970
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
971
|
+
};
|
|
812
972
|
}, {
|
|
813
973
|
readonly key: "react-doctor/js-batch-dom-css";
|
|
814
974
|
readonly id: "js-batch-dom-css";
|
|
@@ -1914,6 +2074,40 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
1914
2074
|
readonly recommendation?: string;
|
|
1915
2075
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
1916
2076
|
};
|
|
2077
|
+
}, {
|
|
2078
|
+
readonly key: "react-doctor/no-create-context-in-render";
|
|
2079
|
+
readonly id: "no-create-context-in-render";
|
|
2080
|
+
readonly source: "react-doctor";
|
|
2081
|
+
readonly originallyExternal: false;
|
|
2082
|
+
readonly rule: {
|
|
2083
|
+
readonly framework: "global";
|
|
2084
|
+
readonly category: "Correctness";
|
|
2085
|
+
readonly id: string;
|
|
2086
|
+
readonly severity: RuleSeverity;
|
|
2087
|
+
readonly requires?: ReadonlyArray<string>;
|
|
2088
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
2089
|
+
readonly tags?: ReadonlyArray<string>;
|
|
2090
|
+
readonly defaultEnabled?: boolean;
|
|
2091
|
+
readonly recommendation?: string;
|
|
2092
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
2093
|
+
};
|
|
2094
|
+
}, {
|
|
2095
|
+
readonly key: "react-doctor/no-create-store-in-render";
|
|
2096
|
+
readonly id: "no-create-store-in-render";
|
|
2097
|
+
readonly source: "react-doctor";
|
|
2098
|
+
readonly originallyExternal: false;
|
|
2099
|
+
readonly rule: {
|
|
2100
|
+
readonly framework: "global";
|
|
2101
|
+
readonly category: "Correctness";
|
|
2102
|
+
readonly id: string;
|
|
2103
|
+
readonly severity: RuleSeverity;
|
|
2104
|
+
readonly requires?: ReadonlyArray<string>;
|
|
2105
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
2106
|
+
readonly tags?: ReadonlyArray<string>;
|
|
2107
|
+
readonly defaultEnabled?: boolean;
|
|
2108
|
+
readonly recommendation?: string;
|
|
2109
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
2110
|
+
};
|
|
1917
2111
|
}, {
|
|
1918
2112
|
readonly key: "react-doctor/no-danger";
|
|
1919
2113
|
readonly id: "no-danger";
|
|
@@ -2220,6 +2414,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
2220
2414
|
readonly recommendation?: string;
|
|
2221
2415
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
2222
2416
|
};
|
|
2417
|
+
}, {
|
|
2418
|
+
readonly key: "react-doctor/no-effect-with-fresh-deps";
|
|
2419
|
+
readonly id: "no-effect-with-fresh-deps";
|
|
2420
|
+
readonly source: "react-doctor";
|
|
2421
|
+
readonly originallyExternal: false;
|
|
2422
|
+
readonly rule: {
|
|
2423
|
+
readonly framework: "global";
|
|
2424
|
+
readonly category: "State & Effects";
|
|
2425
|
+
readonly id: string;
|
|
2426
|
+
readonly severity: RuleSeverity;
|
|
2427
|
+
readonly requires?: ReadonlyArray<string>;
|
|
2428
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
2429
|
+
readonly tags?: ReadonlyArray<string>;
|
|
2430
|
+
readonly defaultEnabled?: boolean;
|
|
2431
|
+
readonly recommendation?: string;
|
|
2432
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
2433
|
+
};
|
|
2223
2434
|
}, {
|
|
2224
2435
|
readonly key: "react-doctor/no-eval";
|
|
2225
2436
|
readonly id: "no-eval";
|
|
@@ -2951,6 +3162,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
2951
3162
|
readonly recommendation?: string;
|
|
2952
3163
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
2953
3164
|
};
|
|
3165
|
+
}, {
|
|
3166
|
+
readonly key: "react-doctor/no-prop-types";
|
|
3167
|
+
readonly id: "no-prop-types";
|
|
3168
|
+
readonly source: "react-doctor";
|
|
3169
|
+
readonly originallyExternal: false;
|
|
3170
|
+
readonly rule: {
|
|
3171
|
+
readonly framework: "global";
|
|
3172
|
+
readonly category: "Architecture";
|
|
3173
|
+
readonly id: string;
|
|
3174
|
+
readonly severity: RuleSeverity;
|
|
3175
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3176
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3177
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3178
|
+
readonly defaultEnabled?: boolean;
|
|
3179
|
+
readonly recommendation?: string;
|
|
3180
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3181
|
+
};
|
|
2954
3182
|
}, {
|
|
2955
3183
|
readonly key: "react-doctor/no-pure-black-background";
|
|
2956
3184
|
readonly id: "no-pure-black-background";
|
|
@@ -2968,6 +3196,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
2968
3196
|
readonly recommendation?: string;
|
|
2969
3197
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
2970
3198
|
};
|
|
3199
|
+
}, {
|
|
3200
|
+
readonly key: "react-doctor/no-random-key";
|
|
3201
|
+
readonly id: "no-random-key";
|
|
3202
|
+
readonly source: "react-doctor";
|
|
3203
|
+
readonly originallyExternal: false;
|
|
3204
|
+
readonly rule: {
|
|
3205
|
+
readonly framework: "global";
|
|
3206
|
+
readonly category: "Correctness";
|
|
3207
|
+
readonly id: string;
|
|
3208
|
+
readonly severity: RuleSeverity;
|
|
3209
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3210
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3211
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3212
|
+
readonly defaultEnabled?: boolean;
|
|
3213
|
+
readonly recommendation?: string;
|
|
3214
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3215
|
+
};
|
|
2971
3216
|
}, {
|
|
2972
3217
|
readonly key: "react-doctor/no-react-children";
|
|
2973
3218
|
readonly id: "no-react-children";
|
|
@@ -3479,13 +3724,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3479
3724
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3480
3725
|
};
|
|
3481
3726
|
}, {
|
|
3482
|
-
readonly key: "react-doctor/
|
|
3483
|
-
readonly id: "
|
|
3727
|
+
readonly key: "react-doctor/preact-no-children-length";
|
|
3728
|
+
readonly id: "preact-no-children-length";
|
|
3484
3729
|
readonly source: "react-doctor";
|
|
3485
3730
|
readonly originallyExternal: false;
|
|
3486
3731
|
readonly rule: {
|
|
3487
|
-
readonly framework: "
|
|
3488
|
-
readonly category: "
|
|
3732
|
+
readonly framework: "preact";
|
|
3733
|
+
readonly category: "Preact";
|
|
3489
3734
|
readonly id: string;
|
|
3490
3735
|
readonly severity: RuleSeverity;
|
|
3491
3736
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3496,13 +3741,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3496
3741
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3497
3742
|
};
|
|
3498
3743
|
}, {
|
|
3499
|
-
readonly key: "react-doctor/
|
|
3500
|
-
readonly id: "
|
|
3744
|
+
readonly key: "react-doctor/preact-no-react-hooks-import";
|
|
3745
|
+
readonly id: "preact-no-react-hooks-import";
|
|
3501
3746
|
readonly source: "react-doctor";
|
|
3502
|
-
readonly originallyExternal:
|
|
3747
|
+
readonly originallyExternal: false;
|
|
3503
3748
|
readonly rule: {
|
|
3504
|
-
readonly framework: "
|
|
3505
|
-
readonly category: "
|
|
3749
|
+
readonly framework: "preact";
|
|
3750
|
+
readonly category: "Preact";
|
|
3506
3751
|
readonly id: string;
|
|
3507
3752
|
readonly severity: RuleSeverity;
|
|
3508
3753
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3513,13 +3758,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3513
3758
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3514
3759
|
};
|
|
3515
3760
|
}, {
|
|
3516
|
-
readonly key: "react-doctor/
|
|
3517
|
-
readonly id: "
|
|
3761
|
+
readonly key: "react-doctor/preact-no-render-arguments";
|
|
3762
|
+
readonly id: "preact-no-render-arguments";
|
|
3518
3763
|
readonly source: "react-doctor";
|
|
3519
|
-
readonly originallyExternal:
|
|
3764
|
+
readonly originallyExternal: false;
|
|
3520
3765
|
readonly rule: {
|
|
3521
|
-
readonly framework: "
|
|
3522
|
-
readonly category: "
|
|
3766
|
+
readonly framework: "preact";
|
|
3767
|
+
readonly category: "Preact";
|
|
3523
3768
|
readonly id: string;
|
|
3524
3769
|
readonly severity: RuleSeverity;
|
|
3525
3770
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3530,13 +3775,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3530
3775
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3531
3776
|
};
|
|
3532
3777
|
}, {
|
|
3533
|
-
readonly key: "react-doctor/prefer-
|
|
3534
|
-
readonly id: "prefer-
|
|
3778
|
+
readonly key: "react-doctor/preact-prefer-ondblclick";
|
|
3779
|
+
readonly id: "preact-prefer-ondblclick";
|
|
3535
3780
|
readonly source: "react-doctor";
|
|
3536
|
-
readonly originallyExternal:
|
|
3781
|
+
readonly originallyExternal: false;
|
|
3537
3782
|
readonly rule: {
|
|
3538
|
-
readonly framework: "
|
|
3539
|
-
readonly category: "
|
|
3783
|
+
readonly framework: "preact";
|
|
3784
|
+
readonly category: "Preact";
|
|
3540
3785
|
readonly id: string;
|
|
3541
3786
|
readonly severity: RuleSeverity;
|
|
3542
3787
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3547,13 +3792,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3547
3792
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3548
3793
|
};
|
|
3549
3794
|
}, {
|
|
3550
|
-
readonly key: "react-doctor/prefer-
|
|
3551
|
-
readonly id: "prefer-
|
|
3795
|
+
readonly key: "react-doctor/preact-prefer-oninput";
|
|
3796
|
+
readonly id: "preact-prefer-oninput";
|
|
3552
3797
|
readonly source: "react-doctor";
|
|
3553
3798
|
readonly originallyExternal: false;
|
|
3554
3799
|
readonly rule: {
|
|
3555
|
-
readonly framework: "
|
|
3556
|
-
readonly category: "
|
|
3800
|
+
readonly framework: "preact";
|
|
3801
|
+
readonly category: "Preact";
|
|
3557
3802
|
readonly id: string;
|
|
3558
3803
|
readonly severity: RuleSeverity;
|
|
3559
3804
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3564,13 +3809,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3564
3809
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3565
3810
|
};
|
|
3566
3811
|
}, {
|
|
3567
|
-
readonly key: "react-doctor/prefer-
|
|
3568
|
-
readonly id: "prefer-
|
|
3812
|
+
readonly key: "react-doctor/prefer-dynamic-import";
|
|
3813
|
+
readonly id: "prefer-dynamic-import";
|
|
3569
3814
|
readonly source: "react-doctor";
|
|
3570
3815
|
readonly originallyExternal: false;
|
|
3571
3816
|
readonly rule: {
|
|
3572
3817
|
readonly framework: "global";
|
|
3573
|
-
readonly category: "
|
|
3818
|
+
readonly category: "Bundle Size";
|
|
3574
3819
|
readonly id: string;
|
|
3575
3820
|
readonly severity: RuleSeverity;
|
|
3576
3821
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3581,13 +3826,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3581
3826
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3582
3827
|
};
|
|
3583
3828
|
}, {
|
|
3584
|
-
readonly key: "react-doctor/prefer-
|
|
3585
|
-
readonly id: "prefer-
|
|
3829
|
+
readonly key: "react-doctor/prefer-es6-class";
|
|
3830
|
+
readonly id: "prefer-es6-class";
|
|
3586
3831
|
readonly source: "react-doctor";
|
|
3587
|
-
readonly originallyExternal:
|
|
3832
|
+
readonly originallyExternal: true;
|
|
3588
3833
|
readonly rule: {
|
|
3589
3834
|
readonly framework: "global";
|
|
3590
|
-
readonly category: "
|
|
3835
|
+
readonly category: "Architecture";
|
|
3591
3836
|
readonly id: string;
|
|
3592
3837
|
readonly severity: RuleSeverity;
|
|
3593
3838
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3598,10 +3843,163 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3598
3843
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3599
3844
|
};
|
|
3600
3845
|
}, {
|
|
3601
|
-
readonly key: "react-doctor/
|
|
3602
|
-
readonly id: "
|
|
3846
|
+
readonly key: "react-doctor/prefer-function-component";
|
|
3847
|
+
readonly id: "prefer-function-component";
|
|
3603
3848
|
readonly source: "react-doctor";
|
|
3604
|
-
readonly originallyExternal:
|
|
3849
|
+
readonly originallyExternal: true;
|
|
3850
|
+
readonly rule: {
|
|
3851
|
+
readonly framework: "global";
|
|
3852
|
+
readonly category: "Architecture";
|
|
3853
|
+
readonly id: string;
|
|
3854
|
+
readonly severity: RuleSeverity;
|
|
3855
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3856
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3857
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3858
|
+
readonly defaultEnabled?: boolean;
|
|
3859
|
+
readonly recommendation?: string;
|
|
3860
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3861
|
+
};
|
|
3862
|
+
}, {
|
|
3863
|
+
readonly key: "react-doctor/prefer-html-dialog";
|
|
3864
|
+
readonly id: "prefer-html-dialog";
|
|
3865
|
+
readonly source: "react-doctor";
|
|
3866
|
+
readonly originallyExternal: false;
|
|
3867
|
+
readonly rule: {
|
|
3868
|
+
readonly framework: "global";
|
|
3869
|
+
readonly category: "Accessibility";
|
|
3870
|
+
readonly id: string;
|
|
3871
|
+
readonly severity: RuleSeverity;
|
|
3872
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3873
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3874
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3875
|
+
readonly defaultEnabled?: boolean;
|
|
3876
|
+
readonly recommendation?: string;
|
|
3877
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3878
|
+
};
|
|
3879
|
+
}, {
|
|
3880
|
+
readonly key: "react-doctor/prefer-module-scope-pure-function";
|
|
3881
|
+
readonly id: "prefer-module-scope-pure-function";
|
|
3882
|
+
readonly source: "react-doctor";
|
|
3883
|
+
readonly originallyExternal: false;
|
|
3884
|
+
readonly rule: {
|
|
3885
|
+
readonly framework: "global";
|
|
3886
|
+
readonly category: "Architecture";
|
|
3887
|
+
readonly id: string;
|
|
3888
|
+
readonly severity: RuleSeverity;
|
|
3889
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3890
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3891
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3892
|
+
readonly defaultEnabled?: boolean;
|
|
3893
|
+
readonly recommendation?: string;
|
|
3894
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3895
|
+
};
|
|
3896
|
+
}, {
|
|
3897
|
+
readonly key: "react-doctor/prefer-module-scope-static-value";
|
|
3898
|
+
readonly id: "prefer-module-scope-static-value";
|
|
3899
|
+
readonly source: "react-doctor";
|
|
3900
|
+
readonly originallyExternal: false;
|
|
3901
|
+
readonly rule: {
|
|
3902
|
+
readonly framework: "global";
|
|
3903
|
+
readonly category: "Architecture";
|
|
3904
|
+
readonly id: string;
|
|
3905
|
+
readonly severity: RuleSeverity;
|
|
3906
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3907
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3908
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3909
|
+
readonly defaultEnabled?: boolean;
|
|
3910
|
+
readonly recommendation?: string;
|
|
3911
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3912
|
+
};
|
|
3913
|
+
}, {
|
|
3914
|
+
readonly key: "react-doctor/prefer-stable-empty-fallback";
|
|
3915
|
+
readonly id: "prefer-stable-empty-fallback";
|
|
3916
|
+
readonly source: "react-doctor";
|
|
3917
|
+
readonly originallyExternal: false;
|
|
3918
|
+
readonly rule: {
|
|
3919
|
+
readonly framework: "global";
|
|
3920
|
+
readonly category: "Performance";
|
|
3921
|
+
readonly id: string;
|
|
3922
|
+
readonly severity: RuleSeverity;
|
|
3923
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3924
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3925
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3926
|
+
readonly defaultEnabled?: boolean;
|
|
3927
|
+
readonly recommendation?: string;
|
|
3928
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3929
|
+
};
|
|
3930
|
+
}, {
|
|
3931
|
+
readonly key: "react-doctor/prefer-tag-over-role";
|
|
3932
|
+
readonly id: "prefer-tag-over-role";
|
|
3933
|
+
readonly source: "react-doctor";
|
|
3934
|
+
readonly originallyExternal: true;
|
|
3935
|
+
readonly rule: {
|
|
3936
|
+
readonly framework: "global";
|
|
3937
|
+
readonly category: "Accessibility";
|
|
3938
|
+
readonly id: string;
|
|
3939
|
+
readonly severity: RuleSeverity;
|
|
3940
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3941
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3942
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3943
|
+
readonly defaultEnabled?: boolean;
|
|
3944
|
+
readonly recommendation?: string;
|
|
3945
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3946
|
+
};
|
|
3947
|
+
}, {
|
|
3948
|
+
readonly key: "react-doctor/prefer-use-effect-event";
|
|
3949
|
+
readonly id: "prefer-use-effect-event";
|
|
3950
|
+
readonly source: "react-doctor";
|
|
3951
|
+
readonly originallyExternal: false;
|
|
3952
|
+
readonly rule: {
|
|
3953
|
+
readonly framework: "global";
|
|
3954
|
+
readonly category: "State & Effects";
|
|
3955
|
+
readonly id: string;
|
|
3956
|
+
readonly severity: RuleSeverity;
|
|
3957
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3958
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3959
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3960
|
+
readonly defaultEnabled?: boolean;
|
|
3961
|
+
readonly recommendation?: string;
|
|
3962
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3963
|
+
};
|
|
3964
|
+
}, {
|
|
3965
|
+
readonly key: "react-doctor/prefer-use-sync-external-store";
|
|
3966
|
+
readonly id: "prefer-use-sync-external-store";
|
|
3967
|
+
readonly source: "react-doctor";
|
|
3968
|
+
readonly originallyExternal: false;
|
|
3969
|
+
readonly rule: {
|
|
3970
|
+
readonly framework: "global";
|
|
3971
|
+
readonly category: "State & Effects";
|
|
3972
|
+
readonly id: string;
|
|
3973
|
+
readonly severity: RuleSeverity;
|
|
3974
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3975
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3976
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3977
|
+
readonly defaultEnabled?: boolean;
|
|
3978
|
+
readonly recommendation?: string;
|
|
3979
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3980
|
+
};
|
|
3981
|
+
}, {
|
|
3982
|
+
readonly key: "react-doctor/prefer-useReducer";
|
|
3983
|
+
readonly id: "prefer-useReducer";
|
|
3984
|
+
readonly source: "react-doctor";
|
|
3985
|
+
readonly originallyExternal: false;
|
|
3986
|
+
readonly rule: {
|
|
3987
|
+
readonly framework: "global";
|
|
3988
|
+
readonly category: "State & Effects";
|
|
3989
|
+
readonly id: string;
|
|
3990
|
+
readonly severity: RuleSeverity;
|
|
3991
|
+
readonly requires?: ReadonlyArray<string>;
|
|
3992
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
3993
|
+
readonly tags?: ReadonlyArray<string>;
|
|
3994
|
+
readonly defaultEnabled?: boolean;
|
|
3995
|
+
readonly recommendation?: string;
|
|
3996
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3997
|
+
};
|
|
3998
|
+
}, {
|
|
3999
|
+
readonly key: "react-doctor/query-mutation-missing-invalidation";
|
|
4000
|
+
readonly id: "query-mutation-missing-invalidation";
|
|
4001
|
+
readonly source: "react-doctor";
|
|
4002
|
+
readonly originallyExternal: false;
|
|
3605
4003
|
readonly rule: {
|
|
3606
4004
|
readonly framework: "tanstack-query";
|
|
3607
4005
|
readonly category: "TanStack Query";
|
|
@@ -3700,8 +4098,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3700
4098
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3701
4099
|
};
|
|
3702
4100
|
}, {
|
|
3703
|
-
readonly key: "react-doctor/react-compiler-
|
|
3704
|
-
readonly id: "react-compiler-
|
|
4101
|
+
readonly key: "react-doctor/react-compiler-no-manual-memoization";
|
|
4102
|
+
readonly id: "react-compiler-no-manual-memoization";
|
|
3705
4103
|
readonly source: "react-doctor";
|
|
3706
4104
|
readonly originallyExternal: false;
|
|
3707
4105
|
readonly rule: {
|
|
@@ -3717,13 +4115,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3717
4115
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3718
4116
|
};
|
|
3719
4117
|
}, {
|
|
3720
|
-
readonly key: "react-doctor/react-
|
|
3721
|
-
readonly id: "react-
|
|
4118
|
+
readonly key: "react-doctor/react-in-jsx-scope";
|
|
4119
|
+
readonly id: "react-in-jsx-scope";
|
|
4120
|
+
readonly source: "react-doctor";
|
|
4121
|
+
readonly originallyExternal: true;
|
|
4122
|
+
readonly rule: {
|
|
4123
|
+
readonly framework: "global";
|
|
4124
|
+
readonly category: "Correctness";
|
|
4125
|
+
readonly id: string;
|
|
4126
|
+
readonly severity: RuleSeverity;
|
|
4127
|
+
readonly requires?: ReadonlyArray<string>;
|
|
4128
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
4129
|
+
readonly tags?: ReadonlyArray<string>;
|
|
4130
|
+
readonly defaultEnabled?: boolean;
|
|
4131
|
+
readonly recommendation?: string;
|
|
4132
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4133
|
+
};
|
|
4134
|
+
}, {
|
|
4135
|
+
readonly key: "react-doctor/redux-useselector-inline-derivation";
|
|
4136
|
+
readonly id: "redux-useselector-inline-derivation";
|
|
3722
4137
|
readonly source: "react-doctor";
|
|
3723
4138
|
readonly originallyExternal: false;
|
|
3724
4139
|
readonly rule: {
|
|
3725
4140
|
readonly framework: "global";
|
|
3726
|
-
readonly category: "
|
|
4141
|
+
readonly category: "Performance";
|
|
3727
4142
|
readonly id: string;
|
|
3728
4143
|
readonly severity: RuleSeverity;
|
|
3729
4144
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3734,13 +4149,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3734
4149
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3735
4150
|
};
|
|
3736
4151
|
}, {
|
|
3737
|
-
readonly key: "react-doctor/
|
|
3738
|
-
readonly id: "
|
|
4152
|
+
readonly key: "react-doctor/redux-useselector-returns-new-collection";
|
|
4153
|
+
readonly id: "redux-useselector-returns-new-collection";
|
|
3739
4154
|
readonly source: "react-doctor";
|
|
3740
|
-
readonly originallyExternal:
|
|
4155
|
+
readonly originallyExternal: false;
|
|
3741
4156
|
readonly rule: {
|
|
3742
4157
|
readonly framework: "global";
|
|
3743
|
-
readonly category: "
|
|
4158
|
+
readonly category: "Performance";
|
|
3744
4159
|
readonly id: string;
|
|
3745
4160
|
readonly severity: RuleSeverity;
|
|
3746
4161
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -3971,6 +4386,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
3971
4386
|
readonly recommendation?: string;
|
|
3972
4387
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
3973
4388
|
};
|
|
4389
|
+
}, {
|
|
4390
|
+
readonly key: "react-doctor/rerender-lazy-ref-init";
|
|
4391
|
+
readonly id: "rerender-lazy-ref-init";
|
|
4392
|
+
readonly source: "react-doctor";
|
|
4393
|
+
readonly originallyExternal: false;
|
|
4394
|
+
readonly rule: {
|
|
4395
|
+
readonly framework: "global";
|
|
4396
|
+
readonly category: "Performance";
|
|
4397
|
+
readonly id: string;
|
|
4398
|
+
readonly severity: RuleSeverity;
|
|
4399
|
+
readonly requires?: ReadonlyArray<string>;
|
|
4400
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
4401
|
+
readonly tags?: ReadonlyArray<string>;
|
|
4402
|
+
readonly defaultEnabled?: boolean;
|
|
4403
|
+
readonly recommendation?: string;
|
|
4404
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4405
|
+
};
|
|
3974
4406
|
}, {
|
|
3975
4407
|
readonly key: "react-doctor/rerender-lazy-state-init";
|
|
3976
4408
|
readonly id: "rerender-lazy-state-init";
|
|
@@ -4141,6 +4573,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4141
4573
|
readonly recommendation?: string;
|
|
4142
4574
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4143
4575
|
};
|
|
4576
|
+
}, {
|
|
4577
|
+
readonly key: "react-doctor/rn-list-missing-estimated-item-size";
|
|
4578
|
+
readonly id: "rn-list-missing-estimated-item-size";
|
|
4579
|
+
readonly source: "react-doctor";
|
|
4580
|
+
readonly originallyExternal: false;
|
|
4581
|
+
readonly rule: {
|
|
4582
|
+
readonly framework: "react-native";
|
|
4583
|
+
readonly category: "React Native";
|
|
4584
|
+
readonly tags: readonly string[];
|
|
4585
|
+
readonly id: string;
|
|
4586
|
+
readonly severity: RuleSeverity;
|
|
4587
|
+
readonly requires?: ReadonlyArray<string>;
|
|
4588
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
4589
|
+
readonly defaultEnabled?: boolean;
|
|
4590
|
+
readonly recommendation?: string;
|
|
4591
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4592
|
+
};
|
|
4144
4593
|
}, {
|
|
4145
4594
|
readonly key: "react-doctor/rn-list-recyclable-without-types";
|
|
4146
4595
|
readonly id: "rn-list-recyclable-without-types";
|
|
@@ -4311,6 +4760,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4311
4760
|
readonly recommendation?: string;
|
|
4312
4761
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4313
4762
|
};
|
|
4763
|
+
}, {
|
|
4764
|
+
readonly key: "react-doctor/rn-no-renderitem-key";
|
|
4765
|
+
readonly id: "rn-no-renderitem-key";
|
|
4766
|
+
readonly source: "react-doctor";
|
|
4767
|
+
readonly originallyExternal: false;
|
|
4768
|
+
readonly rule: {
|
|
4769
|
+
readonly framework: "react-native";
|
|
4770
|
+
readonly category: "React Native";
|
|
4771
|
+
readonly tags: readonly string[];
|
|
4772
|
+
readonly id: string;
|
|
4773
|
+
readonly severity: RuleSeverity;
|
|
4774
|
+
readonly requires?: ReadonlyArray<string>;
|
|
4775
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
4776
|
+
readonly defaultEnabled?: boolean;
|
|
4777
|
+
readonly recommendation?: string;
|
|
4778
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4779
|
+
};
|
|
4314
4780
|
}, {
|
|
4315
4781
|
readonly key: "react-doctor/rn-no-scroll-state";
|
|
4316
4782
|
readonly id: "rn-no-scroll-state";
|
|
@@ -4413,6 +4879,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4413
4879
|
readonly recommendation?: string;
|
|
4414
4880
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4415
4881
|
};
|
|
4882
|
+
}, {
|
|
4883
|
+
readonly key: "react-doctor/rn-prefer-pressable-over-gesture-detector";
|
|
4884
|
+
readonly id: "rn-prefer-pressable-over-gesture-detector";
|
|
4885
|
+
readonly source: "react-doctor";
|
|
4886
|
+
readonly originallyExternal: false;
|
|
4887
|
+
readonly rule: {
|
|
4888
|
+
readonly framework: "react-native";
|
|
4889
|
+
readonly category: "React Native";
|
|
4890
|
+
readonly tags: readonly string[];
|
|
4891
|
+
readonly id: string;
|
|
4892
|
+
readonly severity: RuleSeverity;
|
|
4893
|
+
readonly requires?: ReadonlyArray<string>;
|
|
4894
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
4895
|
+
readonly defaultEnabled?: boolean;
|
|
4896
|
+
readonly recommendation?: string;
|
|
4897
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4898
|
+
};
|
|
4416
4899
|
}, {
|
|
4417
4900
|
readonly key: "react-doctor/rn-prefer-reanimated";
|
|
4418
4901
|
readonly id: "rn-prefer-reanimated";
|
|
@@ -4464,6 +4947,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4464
4947
|
readonly recommendation?: string;
|
|
4465
4948
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4466
4949
|
};
|
|
4950
|
+
}, {
|
|
4951
|
+
readonly key: "react-doctor/rn-scrollview-flex-in-content-container";
|
|
4952
|
+
readonly id: "rn-scrollview-flex-in-content-container";
|
|
4953
|
+
readonly source: "react-doctor";
|
|
4954
|
+
readonly originallyExternal: false;
|
|
4955
|
+
readonly rule: {
|
|
4956
|
+
readonly framework: "react-native";
|
|
4957
|
+
readonly category: "React Native";
|
|
4958
|
+
readonly tags: readonly string[];
|
|
4959
|
+
readonly id: string;
|
|
4960
|
+
readonly severity: RuleSeverity;
|
|
4961
|
+
readonly requires?: ReadonlyArray<string>;
|
|
4962
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
4963
|
+
readonly defaultEnabled?: boolean;
|
|
4964
|
+
readonly recommendation?: string;
|
|
4965
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4966
|
+
};
|
|
4467
4967
|
}, {
|
|
4468
4968
|
readonly key: "react-doctor/rn-style-prefer-boxshadow";
|
|
4469
4969
|
readonly id: "rn-style-prefer-boxshadow";
|
|
@@ -5092,6 +5592,23 @@ declare const EXTERNAL_RULES: readonly [{
|
|
|
5092
5592
|
readonly severity: "error";
|
|
5093
5593
|
}];
|
|
5094
5594
|
declare const RULES: readonly [{
|
|
5595
|
+
readonly key: "react-doctor/activity-wraps-effect-heavy-subtree";
|
|
5596
|
+
readonly id: "activity-wraps-effect-heavy-subtree";
|
|
5597
|
+
readonly source: "react-doctor";
|
|
5598
|
+
readonly originallyExternal: false;
|
|
5599
|
+
readonly rule: {
|
|
5600
|
+
readonly framework: "global";
|
|
5601
|
+
readonly category: "State & Effects";
|
|
5602
|
+
readonly id: string;
|
|
5603
|
+
readonly severity: RuleSeverity;
|
|
5604
|
+
readonly requires?: ReadonlyArray<string>;
|
|
5605
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
5606
|
+
readonly tags?: ReadonlyArray<string>;
|
|
5607
|
+
readonly defaultEnabled?: boolean;
|
|
5608
|
+
readonly recommendation?: string;
|
|
5609
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
5610
|
+
};
|
|
5611
|
+
}, {
|
|
5095
5612
|
readonly key: "react-doctor/advanced-event-handler-refs";
|
|
5096
5613
|
readonly id: "advanced-event-handler-refs";
|
|
5097
5614
|
readonly source: "react-doctor";
|
|
@@ -5686,6 +6203,23 @@ declare const RULES: readonly [{
|
|
|
5686
6203
|
readonly recommendation?: string;
|
|
5687
6204
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
5688
6205
|
};
|
|
6206
|
+
}, {
|
|
6207
|
+
readonly key: "react-doctor/hooks-no-nan-in-deps";
|
|
6208
|
+
readonly id: "hooks-no-nan-in-deps";
|
|
6209
|
+
readonly source: "react-doctor";
|
|
6210
|
+
readonly originallyExternal: false;
|
|
6211
|
+
readonly rule: {
|
|
6212
|
+
readonly framework: "global";
|
|
6213
|
+
readonly category: "State & Effects";
|
|
6214
|
+
readonly id: string;
|
|
6215
|
+
readonly severity: RuleSeverity;
|
|
6216
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6217
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6218
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6219
|
+
readonly defaultEnabled?: boolean;
|
|
6220
|
+
readonly recommendation?: string;
|
|
6221
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6222
|
+
};
|
|
5689
6223
|
}, {
|
|
5690
6224
|
readonly key: "react-doctor/html-has-lang";
|
|
5691
6225
|
readonly id: "html-has-lang";
|
|
@@ -5703,6 +6237,57 @@ declare const RULES: readonly [{
|
|
|
5703
6237
|
readonly recommendation?: string;
|
|
5704
6238
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
5705
6239
|
};
|
|
6240
|
+
}, {
|
|
6241
|
+
readonly key: "react-doctor/html-no-invalid-paragraph-child";
|
|
6242
|
+
readonly id: "html-no-invalid-paragraph-child";
|
|
6243
|
+
readonly source: "react-doctor";
|
|
6244
|
+
readonly originallyExternal: false;
|
|
6245
|
+
readonly rule: {
|
|
6246
|
+
readonly framework: "global";
|
|
6247
|
+
readonly category: "Correctness";
|
|
6248
|
+
readonly id: string;
|
|
6249
|
+
readonly severity: RuleSeverity;
|
|
6250
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6251
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6252
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6253
|
+
readonly defaultEnabled?: boolean;
|
|
6254
|
+
readonly recommendation?: string;
|
|
6255
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6256
|
+
};
|
|
6257
|
+
}, {
|
|
6258
|
+
readonly key: "react-doctor/html-no-invalid-table-nesting";
|
|
6259
|
+
readonly id: "html-no-invalid-table-nesting";
|
|
6260
|
+
readonly source: "react-doctor";
|
|
6261
|
+
readonly originallyExternal: false;
|
|
6262
|
+
readonly rule: {
|
|
6263
|
+
readonly framework: "global";
|
|
6264
|
+
readonly category: "Correctness";
|
|
6265
|
+
readonly id: string;
|
|
6266
|
+
readonly severity: RuleSeverity;
|
|
6267
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6268
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6269
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6270
|
+
readonly defaultEnabled?: boolean;
|
|
6271
|
+
readonly recommendation?: string;
|
|
6272
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6273
|
+
};
|
|
6274
|
+
}, {
|
|
6275
|
+
readonly key: "react-doctor/html-no-nested-interactive";
|
|
6276
|
+
readonly id: "html-no-nested-interactive";
|
|
6277
|
+
readonly source: "react-doctor";
|
|
6278
|
+
readonly originallyExternal: false;
|
|
6279
|
+
readonly rule: {
|
|
6280
|
+
readonly framework: "global";
|
|
6281
|
+
readonly category: "Correctness";
|
|
6282
|
+
readonly id: string;
|
|
6283
|
+
readonly severity: RuleSeverity;
|
|
6284
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6285
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6286
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6287
|
+
readonly defaultEnabled?: boolean;
|
|
6288
|
+
readonly recommendation?: string;
|
|
6289
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6290
|
+
};
|
|
5706
6291
|
}, {
|
|
5707
6292
|
readonly key: "react-doctor/iframe-has-title";
|
|
5708
6293
|
readonly id: "iframe-has-title";
|
|
@@ -5771,6 +6356,74 @@ declare const RULES: readonly [{
|
|
|
5771
6356
|
readonly recommendation?: string;
|
|
5772
6357
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
5773
6358
|
};
|
|
6359
|
+
}, {
|
|
6360
|
+
readonly key: "react-doctor/jotai-derived-atom-returns-fresh-object";
|
|
6361
|
+
readonly id: "jotai-derived-atom-returns-fresh-object";
|
|
6362
|
+
readonly source: "react-doctor";
|
|
6363
|
+
readonly originallyExternal: false;
|
|
6364
|
+
readonly rule: {
|
|
6365
|
+
readonly framework: "global";
|
|
6366
|
+
readonly category: "State & Effects";
|
|
6367
|
+
readonly id: string;
|
|
6368
|
+
readonly severity: RuleSeverity;
|
|
6369
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6370
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6371
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6372
|
+
readonly defaultEnabled?: boolean;
|
|
6373
|
+
readonly recommendation?: string;
|
|
6374
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6375
|
+
};
|
|
6376
|
+
}, {
|
|
6377
|
+
readonly key: "react-doctor/jotai-select-atom-in-render-body";
|
|
6378
|
+
readonly id: "jotai-select-atom-in-render-body";
|
|
6379
|
+
readonly source: "react-doctor";
|
|
6380
|
+
readonly originallyExternal: false;
|
|
6381
|
+
readonly rule: {
|
|
6382
|
+
readonly framework: "global";
|
|
6383
|
+
readonly category: "State & Effects";
|
|
6384
|
+
readonly id: string;
|
|
6385
|
+
readonly severity: RuleSeverity;
|
|
6386
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6387
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6388
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6389
|
+
readonly defaultEnabled?: boolean;
|
|
6390
|
+
readonly recommendation?: string;
|
|
6391
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6392
|
+
};
|
|
6393
|
+
}, {
|
|
6394
|
+
readonly key: "react-doctor/jotai-tq-use-raw-query-atom";
|
|
6395
|
+
readonly id: "jotai-tq-use-raw-query-atom";
|
|
6396
|
+
readonly source: "react-doctor";
|
|
6397
|
+
readonly originallyExternal: false;
|
|
6398
|
+
readonly rule: {
|
|
6399
|
+
readonly framework: "global";
|
|
6400
|
+
readonly category: "State & Effects";
|
|
6401
|
+
readonly id: string;
|
|
6402
|
+
readonly severity: RuleSeverity;
|
|
6403
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6404
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6405
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6406
|
+
readonly defaultEnabled?: boolean;
|
|
6407
|
+
readonly recommendation?: string;
|
|
6408
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6409
|
+
};
|
|
6410
|
+
}, {
|
|
6411
|
+
readonly key: "react-doctor/js-async-reduce-without-awaited-acc";
|
|
6412
|
+
readonly id: "js-async-reduce-without-awaited-acc";
|
|
6413
|
+
readonly source: "react-doctor";
|
|
6414
|
+
readonly originallyExternal: false;
|
|
6415
|
+
readonly rule: {
|
|
6416
|
+
readonly framework: "global";
|
|
6417
|
+
readonly category: "Performance";
|
|
6418
|
+
readonly id: string;
|
|
6419
|
+
readonly severity: RuleSeverity;
|
|
6420
|
+
readonly requires?: ReadonlyArray<string>;
|
|
6421
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
6422
|
+
readonly tags?: ReadonlyArray<string>;
|
|
6423
|
+
readonly defaultEnabled?: boolean;
|
|
6424
|
+
readonly recommendation?: string;
|
|
6425
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6426
|
+
};
|
|
5774
6427
|
}, {
|
|
5775
6428
|
readonly key: "react-doctor/js-batch-dom-css";
|
|
5776
6429
|
readonly id: "js-batch-dom-css";
|
|
@@ -6876,6 +7529,40 @@ declare const RULES: readonly [{
|
|
|
6876
7529
|
readonly recommendation?: string;
|
|
6877
7530
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
6878
7531
|
};
|
|
7532
|
+
}, {
|
|
7533
|
+
readonly key: "react-doctor/no-create-context-in-render";
|
|
7534
|
+
readonly id: "no-create-context-in-render";
|
|
7535
|
+
readonly source: "react-doctor";
|
|
7536
|
+
readonly originallyExternal: false;
|
|
7537
|
+
readonly rule: {
|
|
7538
|
+
readonly framework: "global";
|
|
7539
|
+
readonly category: "Correctness";
|
|
7540
|
+
readonly id: string;
|
|
7541
|
+
readonly severity: RuleSeverity;
|
|
7542
|
+
readonly requires?: ReadonlyArray<string>;
|
|
7543
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
7544
|
+
readonly tags?: ReadonlyArray<string>;
|
|
7545
|
+
readonly defaultEnabled?: boolean;
|
|
7546
|
+
readonly recommendation?: string;
|
|
7547
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7548
|
+
};
|
|
7549
|
+
}, {
|
|
7550
|
+
readonly key: "react-doctor/no-create-store-in-render";
|
|
7551
|
+
readonly id: "no-create-store-in-render";
|
|
7552
|
+
readonly source: "react-doctor";
|
|
7553
|
+
readonly originallyExternal: false;
|
|
7554
|
+
readonly rule: {
|
|
7555
|
+
readonly framework: "global";
|
|
7556
|
+
readonly category: "Correctness";
|
|
7557
|
+
readonly id: string;
|
|
7558
|
+
readonly severity: RuleSeverity;
|
|
7559
|
+
readonly requires?: ReadonlyArray<string>;
|
|
7560
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
7561
|
+
readonly tags?: ReadonlyArray<string>;
|
|
7562
|
+
readonly defaultEnabled?: boolean;
|
|
7563
|
+
readonly recommendation?: string;
|
|
7564
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7565
|
+
};
|
|
6879
7566
|
}, {
|
|
6880
7567
|
readonly key: "react-doctor/no-danger";
|
|
6881
7568
|
readonly id: "no-danger";
|
|
@@ -7182,6 +7869,23 @@ declare const RULES: readonly [{
|
|
|
7182
7869
|
readonly recommendation?: string;
|
|
7183
7870
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7184
7871
|
};
|
|
7872
|
+
}, {
|
|
7873
|
+
readonly key: "react-doctor/no-effect-with-fresh-deps";
|
|
7874
|
+
readonly id: "no-effect-with-fresh-deps";
|
|
7875
|
+
readonly source: "react-doctor";
|
|
7876
|
+
readonly originallyExternal: false;
|
|
7877
|
+
readonly rule: {
|
|
7878
|
+
readonly framework: "global";
|
|
7879
|
+
readonly category: "State & Effects";
|
|
7880
|
+
readonly id: string;
|
|
7881
|
+
readonly severity: RuleSeverity;
|
|
7882
|
+
readonly requires?: ReadonlyArray<string>;
|
|
7883
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
7884
|
+
readonly tags?: ReadonlyArray<string>;
|
|
7885
|
+
readonly defaultEnabled?: boolean;
|
|
7886
|
+
readonly recommendation?: string;
|
|
7887
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7888
|
+
};
|
|
7185
7889
|
}, {
|
|
7186
7890
|
readonly key: "react-doctor/no-eval";
|
|
7187
7891
|
readonly id: "no-eval";
|
|
@@ -7846,13 +8550,47 @@ declare const RULES: readonly [{
|
|
|
7846
8550
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7847
8551
|
};
|
|
7848
8552
|
}, {
|
|
7849
|
-
readonly key: "react-doctor/no-permanent-will-change";
|
|
7850
|
-
readonly id: "no-permanent-will-change";
|
|
8553
|
+
readonly key: "react-doctor/no-permanent-will-change";
|
|
8554
|
+
readonly id: "no-permanent-will-change";
|
|
8555
|
+
readonly source: "react-doctor";
|
|
8556
|
+
readonly originallyExternal: false;
|
|
8557
|
+
readonly rule: {
|
|
8558
|
+
readonly framework: "global";
|
|
8559
|
+
readonly category: "Performance";
|
|
8560
|
+
readonly id: string;
|
|
8561
|
+
readonly severity: RuleSeverity;
|
|
8562
|
+
readonly requires?: ReadonlyArray<string>;
|
|
8563
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
8564
|
+
readonly tags?: ReadonlyArray<string>;
|
|
8565
|
+
readonly defaultEnabled?: boolean;
|
|
8566
|
+
readonly recommendation?: string;
|
|
8567
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8568
|
+
};
|
|
8569
|
+
}, {
|
|
8570
|
+
readonly key: "react-doctor/no-polymorphic-children";
|
|
8571
|
+
readonly id: "no-polymorphic-children";
|
|
8572
|
+
readonly source: "react-doctor";
|
|
8573
|
+
readonly originallyExternal: false;
|
|
8574
|
+
readonly rule: {
|
|
8575
|
+
readonly framework: "global";
|
|
8576
|
+
readonly category: "Architecture";
|
|
8577
|
+
readonly id: string;
|
|
8578
|
+
readonly severity: RuleSeverity;
|
|
8579
|
+
readonly requires?: ReadonlyArray<string>;
|
|
8580
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
8581
|
+
readonly tags?: ReadonlyArray<string>;
|
|
8582
|
+
readonly defaultEnabled?: boolean;
|
|
8583
|
+
readonly recommendation?: string;
|
|
8584
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8585
|
+
};
|
|
8586
|
+
}, {
|
|
8587
|
+
readonly key: "react-doctor/no-prevent-default";
|
|
8588
|
+
readonly id: "no-prevent-default";
|
|
7851
8589
|
readonly source: "react-doctor";
|
|
7852
8590
|
readonly originallyExternal: false;
|
|
7853
8591
|
readonly rule: {
|
|
7854
8592
|
readonly framework: "global";
|
|
7855
|
-
readonly category: "
|
|
8593
|
+
readonly category: "Correctness";
|
|
7856
8594
|
readonly id: string;
|
|
7857
8595
|
readonly severity: RuleSeverity;
|
|
7858
8596
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -7863,13 +8601,13 @@ declare const RULES: readonly [{
|
|
|
7863
8601
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7864
8602
|
};
|
|
7865
8603
|
}, {
|
|
7866
|
-
readonly key: "react-doctor/no-
|
|
7867
|
-
readonly id: "no-
|
|
8604
|
+
readonly key: "react-doctor/no-prop-callback-in-effect";
|
|
8605
|
+
readonly id: "no-prop-callback-in-effect";
|
|
7868
8606
|
readonly source: "react-doctor";
|
|
7869
8607
|
readonly originallyExternal: false;
|
|
7870
8608
|
readonly rule: {
|
|
7871
8609
|
readonly framework: "global";
|
|
7872
|
-
readonly category: "
|
|
8610
|
+
readonly category: "State & Effects";
|
|
7873
8611
|
readonly id: string;
|
|
7874
8612
|
readonly severity: RuleSeverity;
|
|
7875
8613
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -7880,13 +8618,13 @@ declare const RULES: readonly [{
|
|
|
7880
8618
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7881
8619
|
};
|
|
7882
8620
|
}, {
|
|
7883
|
-
readonly key: "react-doctor/no-
|
|
7884
|
-
readonly id: "no-
|
|
8621
|
+
readonly key: "react-doctor/no-prop-types";
|
|
8622
|
+
readonly id: "no-prop-types";
|
|
7885
8623
|
readonly source: "react-doctor";
|
|
7886
8624
|
readonly originallyExternal: false;
|
|
7887
8625
|
readonly rule: {
|
|
7888
8626
|
readonly framework: "global";
|
|
7889
|
-
readonly category: "
|
|
8627
|
+
readonly category: "Architecture";
|
|
7890
8628
|
readonly id: string;
|
|
7891
8629
|
readonly severity: RuleSeverity;
|
|
7892
8630
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -7897,13 +8635,13 @@ declare const RULES: readonly [{
|
|
|
7897
8635
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7898
8636
|
};
|
|
7899
8637
|
}, {
|
|
7900
|
-
readonly key: "react-doctor/no-
|
|
7901
|
-
readonly id: "no-
|
|
8638
|
+
readonly key: "react-doctor/no-pure-black-background";
|
|
8639
|
+
readonly id: "no-pure-black-background";
|
|
7902
8640
|
readonly source: "react-doctor";
|
|
7903
8641
|
readonly originallyExternal: false;
|
|
7904
8642
|
readonly rule: {
|
|
7905
8643
|
readonly framework: "global";
|
|
7906
|
-
readonly category: "
|
|
8644
|
+
readonly category: "Architecture";
|
|
7907
8645
|
readonly id: string;
|
|
7908
8646
|
readonly severity: RuleSeverity;
|
|
7909
8647
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -7914,13 +8652,13 @@ declare const RULES: readonly [{
|
|
|
7914
8652
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
7915
8653
|
};
|
|
7916
8654
|
}, {
|
|
7917
|
-
readonly key: "react-doctor/no-
|
|
7918
|
-
readonly id: "no-
|
|
8655
|
+
readonly key: "react-doctor/no-random-key";
|
|
8656
|
+
readonly id: "no-random-key";
|
|
7919
8657
|
readonly source: "react-doctor";
|
|
7920
8658
|
readonly originallyExternal: false;
|
|
7921
8659
|
readonly rule: {
|
|
7922
8660
|
readonly framework: "global";
|
|
7923
|
-
readonly category: "
|
|
8661
|
+
readonly category: "Correctness";
|
|
7924
8662
|
readonly id: string;
|
|
7925
8663
|
readonly severity: RuleSeverity;
|
|
7926
8664
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -8440,6 +9178,91 @@ declare const RULES: readonly [{
|
|
|
8440
9178
|
readonly recommendation?: string;
|
|
8441
9179
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8442
9180
|
};
|
|
9181
|
+
}, {
|
|
9182
|
+
readonly key: "react-doctor/preact-no-children-length";
|
|
9183
|
+
readonly id: "preact-no-children-length";
|
|
9184
|
+
readonly source: "react-doctor";
|
|
9185
|
+
readonly originallyExternal: false;
|
|
9186
|
+
readonly rule: {
|
|
9187
|
+
readonly framework: "preact";
|
|
9188
|
+
readonly category: "Preact";
|
|
9189
|
+
readonly id: string;
|
|
9190
|
+
readonly severity: RuleSeverity;
|
|
9191
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9192
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9193
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9194
|
+
readonly defaultEnabled?: boolean;
|
|
9195
|
+
readonly recommendation?: string;
|
|
9196
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9197
|
+
};
|
|
9198
|
+
}, {
|
|
9199
|
+
readonly key: "react-doctor/preact-no-react-hooks-import";
|
|
9200
|
+
readonly id: "preact-no-react-hooks-import";
|
|
9201
|
+
readonly source: "react-doctor";
|
|
9202
|
+
readonly originallyExternal: false;
|
|
9203
|
+
readonly rule: {
|
|
9204
|
+
readonly framework: "preact";
|
|
9205
|
+
readonly category: "Preact";
|
|
9206
|
+
readonly id: string;
|
|
9207
|
+
readonly severity: RuleSeverity;
|
|
9208
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9209
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9210
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9211
|
+
readonly defaultEnabled?: boolean;
|
|
9212
|
+
readonly recommendation?: string;
|
|
9213
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9214
|
+
};
|
|
9215
|
+
}, {
|
|
9216
|
+
readonly key: "react-doctor/preact-no-render-arguments";
|
|
9217
|
+
readonly id: "preact-no-render-arguments";
|
|
9218
|
+
readonly source: "react-doctor";
|
|
9219
|
+
readonly originallyExternal: false;
|
|
9220
|
+
readonly rule: {
|
|
9221
|
+
readonly framework: "preact";
|
|
9222
|
+
readonly category: "Preact";
|
|
9223
|
+
readonly id: string;
|
|
9224
|
+
readonly severity: RuleSeverity;
|
|
9225
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9226
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9227
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9228
|
+
readonly defaultEnabled?: boolean;
|
|
9229
|
+
readonly recommendation?: string;
|
|
9230
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9231
|
+
};
|
|
9232
|
+
}, {
|
|
9233
|
+
readonly key: "react-doctor/preact-prefer-ondblclick";
|
|
9234
|
+
readonly id: "preact-prefer-ondblclick";
|
|
9235
|
+
readonly source: "react-doctor";
|
|
9236
|
+
readonly originallyExternal: false;
|
|
9237
|
+
readonly rule: {
|
|
9238
|
+
readonly framework: "preact";
|
|
9239
|
+
readonly category: "Preact";
|
|
9240
|
+
readonly id: string;
|
|
9241
|
+
readonly severity: RuleSeverity;
|
|
9242
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9243
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9244
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9245
|
+
readonly defaultEnabled?: boolean;
|
|
9246
|
+
readonly recommendation?: string;
|
|
9247
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9248
|
+
};
|
|
9249
|
+
}, {
|
|
9250
|
+
readonly key: "react-doctor/preact-prefer-oninput";
|
|
9251
|
+
readonly id: "preact-prefer-oninput";
|
|
9252
|
+
readonly source: "react-doctor";
|
|
9253
|
+
readonly originallyExternal: false;
|
|
9254
|
+
readonly rule: {
|
|
9255
|
+
readonly framework: "preact";
|
|
9256
|
+
readonly category: "Preact";
|
|
9257
|
+
readonly id: string;
|
|
9258
|
+
readonly severity: RuleSeverity;
|
|
9259
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9260
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9261
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9262
|
+
readonly defaultEnabled?: boolean;
|
|
9263
|
+
readonly recommendation?: string;
|
|
9264
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9265
|
+
};
|
|
8443
9266
|
}, {
|
|
8444
9267
|
readonly key: "react-doctor/prefer-dynamic-import";
|
|
8445
9268
|
readonly id: "prefer-dynamic-import";
|
|
@@ -8491,6 +9314,74 @@ declare const RULES: readonly [{
|
|
|
8491
9314
|
readonly recommendation?: string;
|
|
8492
9315
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8493
9316
|
};
|
|
9317
|
+
}, {
|
|
9318
|
+
readonly key: "react-doctor/prefer-html-dialog";
|
|
9319
|
+
readonly id: "prefer-html-dialog";
|
|
9320
|
+
readonly source: "react-doctor";
|
|
9321
|
+
readonly originallyExternal: false;
|
|
9322
|
+
readonly rule: {
|
|
9323
|
+
readonly framework: "global";
|
|
9324
|
+
readonly category: "Accessibility";
|
|
9325
|
+
readonly id: string;
|
|
9326
|
+
readonly severity: RuleSeverity;
|
|
9327
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9328
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9329
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9330
|
+
readonly defaultEnabled?: boolean;
|
|
9331
|
+
readonly recommendation?: string;
|
|
9332
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9333
|
+
};
|
|
9334
|
+
}, {
|
|
9335
|
+
readonly key: "react-doctor/prefer-module-scope-pure-function";
|
|
9336
|
+
readonly id: "prefer-module-scope-pure-function";
|
|
9337
|
+
readonly source: "react-doctor";
|
|
9338
|
+
readonly originallyExternal: false;
|
|
9339
|
+
readonly rule: {
|
|
9340
|
+
readonly framework: "global";
|
|
9341
|
+
readonly category: "Architecture";
|
|
9342
|
+
readonly id: string;
|
|
9343
|
+
readonly severity: RuleSeverity;
|
|
9344
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9345
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9346
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9347
|
+
readonly defaultEnabled?: boolean;
|
|
9348
|
+
readonly recommendation?: string;
|
|
9349
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9350
|
+
};
|
|
9351
|
+
}, {
|
|
9352
|
+
readonly key: "react-doctor/prefer-module-scope-static-value";
|
|
9353
|
+
readonly id: "prefer-module-scope-static-value";
|
|
9354
|
+
readonly source: "react-doctor";
|
|
9355
|
+
readonly originallyExternal: false;
|
|
9356
|
+
readonly rule: {
|
|
9357
|
+
readonly framework: "global";
|
|
9358
|
+
readonly category: "Architecture";
|
|
9359
|
+
readonly id: string;
|
|
9360
|
+
readonly severity: RuleSeverity;
|
|
9361
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9362
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9363
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9364
|
+
readonly defaultEnabled?: boolean;
|
|
9365
|
+
readonly recommendation?: string;
|
|
9366
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9367
|
+
};
|
|
9368
|
+
}, {
|
|
9369
|
+
readonly key: "react-doctor/prefer-stable-empty-fallback";
|
|
9370
|
+
readonly id: "prefer-stable-empty-fallback";
|
|
9371
|
+
readonly source: "react-doctor";
|
|
9372
|
+
readonly originallyExternal: false;
|
|
9373
|
+
readonly rule: {
|
|
9374
|
+
readonly framework: "global";
|
|
9375
|
+
readonly category: "Performance";
|
|
9376
|
+
readonly id: string;
|
|
9377
|
+
readonly severity: RuleSeverity;
|
|
9378
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9379
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9380
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9381
|
+
readonly defaultEnabled?: boolean;
|
|
9382
|
+
readonly recommendation?: string;
|
|
9383
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9384
|
+
};
|
|
8494
9385
|
}, {
|
|
8495
9386
|
readonly key: "react-doctor/prefer-tag-over-role";
|
|
8496
9387
|
readonly id: "prefer-tag-over-role";
|
|
@@ -8662,8 +9553,8 @@ declare const RULES: readonly [{
|
|
|
8662
9553
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8663
9554
|
};
|
|
8664
9555
|
}, {
|
|
8665
|
-
readonly key: "react-doctor/react-compiler-
|
|
8666
|
-
readonly id: "react-compiler-
|
|
9556
|
+
readonly key: "react-doctor/react-compiler-no-manual-memoization";
|
|
9557
|
+
readonly id: "react-compiler-no-manual-memoization";
|
|
8667
9558
|
readonly source: "react-doctor";
|
|
8668
9559
|
readonly originallyExternal: false;
|
|
8669
9560
|
readonly rule: {
|
|
@@ -8679,13 +9570,30 @@ declare const RULES: readonly [{
|
|
|
8679
9570
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8680
9571
|
};
|
|
8681
9572
|
}, {
|
|
8682
|
-
readonly key: "react-doctor/react-
|
|
8683
|
-
readonly id: "react-
|
|
9573
|
+
readonly key: "react-doctor/react-in-jsx-scope";
|
|
9574
|
+
readonly id: "react-in-jsx-scope";
|
|
9575
|
+
readonly source: "react-doctor";
|
|
9576
|
+
readonly originallyExternal: true;
|
|
9577
|
+
readonly rule: {
|
|
9578
|
+
readonly framework: "global";
|
|
9579
|
+
readonly category: "Correctness";
|
|
9580
|
+
readonly id: string;
|
|
9581
|
+
readonly severity: RuleSeverity;
|
|
9582
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9583
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9584
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9585
|
+
readonly defaultEnabled?: boolean;
|
|
9586
|
+
readonly recommendation?: string;
|
|
9587
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9588
|
+
};
|
|
9589
|
+
}, {
|
|
9590
|
+
readonly key: "react-doctor/redux-useselector-inline-derivation";
|
|
9591
|
+
readonly id: "redux-useselector-inline-derivation";
|
|
8684
9592
|
readonly source: "react-doctor";
|
|
8685
9593
|
readonly originallyExternal: false;
|
|
8686
9594
|
readonly rule: {
|
|
8687
9595
|
readonly framework: "global";
|
|
8688
|
-
readonly category: "
|
|
9596
|
+
readonly category: "Performance";
|
|
8689
9597
|
readonly id: string;
|
|
8690
9598
|
readonly severity: RuleSeverity;
|
|
8691
9599
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -8696,13 +9604,13 @@ declare const RULES: readonly [{
|
|
|
8696
9604
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8697
9605
|
};
|
|
8698
9606
|
}, {
|
|
8699
|
-
readonly key: "react-doctor/
|
|
8700
|
-
readonly id: "
|
|
9607
|
+
readonly key: "react-doctor/redux-useselector-returns-new-collection";
|
|
9608
|
+
readonly id: "redux-useselector-returns-new-collection";
|
|
8701
9609
|
readonly source: "react-doctor";
|
|
8702
|
-
readonly originallyExternal:
|
|
9610
|
+
readonly originallyExternal: false;
|
|
8703
9611
|
readonly rule: {
|
|
8704
9612
|
readonly framework: "global";
|
|
8705
|
-
readonly category: "
|
|
9613
|
+
readonly category: "Performance";
|
|
8706
9614
|
readonly id: string;
|
|
8707
9615
|
readonly severity: RuleSeverity;
|
|
8708
9616
|
readonly requires?: ReadonlyArray<string>;
|
|
@@ -8933,6 +9841,23 @@ declare const RULES: readonly [{
|
|
|
8933
9841
|
readonly recommendation?: string;
|
|
8934
9842
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
8935
9843
|
};
|
|
9844
|
+
}, {
|
|
9845
|
+
readonly key: "react-doctor/rerender-lazy-ref-init";
|
|
9846
|
+
readonly id: "rerender-lazy-ref-init";
|
|
9847
|
+
readonly source: "react-doctor";
|
|
9848
|
+
readonly originallyExternal: false;
|
|
9849
|
+
readonly rule: {
|
|
9850
|
+
readonly framework: "global";
|
|
9851
|
+
readonly category: "Performance";
|
|
9852
|
+
readonly id: string;
|
|
9853
|
+
readonly severity: RuleSeverity;
|
|
9854
|
+
readonly requires?: ReadonlyArray<string>;
|
|
9855
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
9856
|
+
readonly tags?: ReadonlyArray<string>;
|
|
9857
|
+
readonly defaultEnabled?: boolean;
|
|
9858
|
+
readonly recommendation?: string;
|
|
9859
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9860
|
+
};
|
|
8936
9861
|
}, {
|
|
8937
9862
|
readonly key: "react-doctor/rerender-lazy-state-init";
|
|
8938
9863
|
readonly id: "rerender-lazy-state-init";
|
|
@@ -9103,6 +10028,23 @@ declare const RULES: readonly [{
|
|
|
9103
10028
|
readonly recommendation?: string;
|
|
9104
10029
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9105
10030
|
};
|
|
10031
|
+
}, {
|
|
10032
|
+
readonly key: "react-doctor/rn-list-missing-estimated-item-size";
|
|
10033
|
+
readonly id: "rn-list-missing-estimated-item-size";
|
|
10034
|
+
readonly source: "react-doctor";
|
|
10035
|
+
readonly originallyExternal: false;
|
|
10036
|
+
readonly rule: {
|
|
10037
|
+
readonly framework: "react-native";
|
|
10038
|
+
readonly category: "React Native";
|
|
10039
|
+
readonly tags: readonly string[];
|
|
10040
|
+
readonly id: string;
|
|
10041
|
+
readonly severity: RuleSeverity;
|
|
10042
|
+
readonly requires?: ReadonlyArray<string>;
|
|
10043
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
10044
|
+
readonly defaultEnabled?: boolean;
|
|
10045
|
+
readonly recommendation?: string;
|
|
10046
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
10047
|
+
};
|
|
9106
10048
|
}, {
|
|
9107
10049
|
readonly key: "react-doctor/rn-list-recyclable-without-types";
|
|
9108
10050
|
readonly id: "rn-list-recyclable-without-types";
|
|
@@ -9273,6 +10215,23 @@ declare const RULES: readonly [{
|
|
|
9273
10215
|
readonly recommendation?: string;
|
|
9274
10216
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9275
10217
|
};
|
|
10218
|
+
}, {
|
|
10219
|
+
readonly key: "react-doctor/rn-no-renderitem-key";
|
|
10220
|
+
readonly id: "rn-no-renderitem-key";
|
|
10221
|
+
readonly source: "react-doctor";
|
|
10222
|
+
readonly originallyExternal: false;
|
|
10223
|
+
readonly rule: {
|
|
10224
|
+
readonly framework: "react-native";
|
|
10225
|
+
readonly category: "React Native";
|
|
10226
|
+
readonly tags: readonly string[];
|
|
10227
|
+
readonly id: string;
|
|
10228
|
+
readonly severity: RuleSeverity;
|
|
10229
|
+
readonly requires?: ReadonlyArray<string>;
|
|
10230
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
10231
|
+
readonly defaultEnabled?: boolean;
|
|
10232
|
+
readonly recommendation?: string;
|
|
10233
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
10234
|
+
};
|
|
9276
10235
|
}, {
|
|
9277
10236
|
readonly key: "react-doctor/rn-no-scroll-state";
|
|
9278
10237
|
readonly id: "rn-no-scroll-state";
|
|
@@ -9375,6 +10334,23 @@ declare const RULES: readonly [{
|
|
|
9375
10334
|
readonly recommendation?: string;
|
|
9376
10335
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9377
10336
|
};
|
|
10337
|
+
}, {
|
|
10338
|
+
readonly key: "react-doctor/rn-prefer-pressable-over-gesture-detector";
|
|
10339
|
+
readonly id: "rn-prefer-pressable-over-gesture-detector";
|
|
10340
|
+
readonly source: "react-doctor";
|
|
10341
|
+
readonly originallyExternal: false;
|
|
10342
|
+
readonly rule: {
|
|
10343
|
+
readonly framework: "react-native";
|
|
10344
|
+
readonly category: "React Native";
|
|
10345
|
+
readonly tags: readonly string[];
|
|
10346
|
+
readonly id: string;
|
|
10347
|
+
readonly severity: RuleSeverity;
|
|
10348
|
+
readonly requires?: ReadonlyArray<string>;
|
|
10349
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
10350
|
+
readonly defaultEnabled?: boolean;
|
|
10351
|
+
readonly recommendation?: string;
|
|
10352
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
10353
|
+
};
|
|
9378
10354
|
}, {
|
|
9379
10355
|
readonly key: "react-doctor/rn-prefer-reanimated";
|
|
9380
10356
|
readonly id: "rn-prefer-reanimated";
|
|
@@ -9426,6 +10402,23 @@ declare const RULES: readonly [{
|
|
|
9426
10402
|
readonly recommendation?: string;
|
|
9427
10403
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
9428
10404
|
};
|
|
10405
|
+
}, {
|
|
10406
|
+
readonly key: "react-doctor/rn-scrollview-flex-in-content-container";
|
|
10407
|
+
readonly id: "rn-scrollview-flex-in-content-container";
|
|
10408
|
+
readonly source: "react-doctor";
|
|
10409
|
+
readonly originallyExternal: false;
|
|
10410
|
+
readonly rule: {
|
|
10411
|
+
readonly framework: "react-native";
|
|
10412
|
+
readonly category: "React Native";
|
|
10413
|
+
readonly tags: readonly string[];
|
|
10414
|
+
readonly id: string;
|
|
10415
|
+
readonly severity: RuleSeverity;
|
|
10416
|
+
readonly requires?: ReadonlyArray<string>;
|
|
10417
|
+
readonly disabledBy?: ReadonlyArray<string>;
|
|
10418
|
+
readonly defaultEnabled?: boolean;
|
|
10419
|
+
readonly recommendation?: string;
|
|
10420
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
10421
|
+
};
|
|
9429
10422
|
}, {
|
|
9430
10423
|
readonly key: "react-doctor/rn-style-prefer-boxshadow";
|
|
9431
10424
|
readonly id: "rn-style-prefer-boxshadow";
|
|
@@ -10057,6 +11050,7 @@ declare const NEXTJS_RULES: Record<string, OxlintRuleSeverity>;
|
|
|
10057
11050
|
declare const REACT_NATIVE_RULES: Record<string, OxlintRuleSeverity>;
|
|
10058
11051
|
declare const TANSTACK_START_RULES: Record<string, OxlintRuleSeverity>;
|
|
10059
11052
|
declare const TANSTACK_QUERY_RULES: Record<string, OxlintRuleSeverity>;
|
|
11053
|
+
declare const PREACT_RULES: Record<string, OxlintRuleSeverity>;
|
|
10060
11054
|
declare const ALL_REACT_DOCTOR_RULES: Record<string, OxlintRuleSeverity>;
|
|
10061
11055
|
declare const ALL_REACT_DOCTOR_RULE_KEYS: ReadonlySet<string>;
|
|
10062
11056
|
declare const FRAMEWORK_SPECIFIC_RULE_KEYS: ReadonlySet<string>;
|
|
@@ -10070,5 +11064,5 @@ declare const REACT_NATIVE_DEPENDENCY_NAMES: ReadonlySet<string>;
|
|
|
10070
11064
|
declare const REACT_NATIVE_DEPENDENCY_PREFIXES: ReadonlyArray<string>;
|
|
10071
11065
|
declare const isReactNativeDependencyName: (dependencyName: string) => boolean;
|
|
10072
11066
|
//#endregion
|
|
10073
|
-
export { ALL_REACT_DOCTOR_RULES, ALL_REACT_DOCTOR_RULE_KEYS, EXTERNAL_RULES, type EsTreeNode, FRAMEWORK_SPECIFIC_RULE_KEYS, MOTION_LIBRARY_PACKAGES, NEXTJS_RULES, type OxlintRuleSeverity, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, REACT_NATIVE_DEPENDENCY_NAMES, REACT_NATIVE_DEPENDENCY_PREFIXES, REACT_NATIVE_RULES, RECOMMENDED_RULES, RULES, type Rule, type RuleFramework, type RulePlugin, type RuleSeverity, type RuleVisitors, TANSTACK_QUERY_RULES, TANSTACK_START_RULES, plugin as default, isReactNativeDependencyName };
|
|
11067
|
+
export { ALL_REACT_DOCTOR_RULES, ALL_REACT_DOCTOR_RULE_KEYS, EXTERNAL_RULES, type EsTreeNode, FRAMEWORK_SPECIFIC_RULE_KEYS, MOTION_LIBRARY_PACKAGES, NEXTJS_RULES, type OxlintRuleSeverity, PREACT_RULES, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, REACT_NATIVE_DEPENDENCY_NAMES, REACT_NATIVE_DEPENDENCY_PREFIXES, REACT_NATIVE_RULES, RECOMMENDED_RULES, RULES, type Rule, type RuleFramework, type RulePlugin, type RuleSeverity, type RuleVisitors, TANSTACK_QUERY_RULES, TANSTACK_START_RULES, plugin as default, isReactNativeDependencyName };
|
|
10074
11068
|
//# sourceMappingURL=index.d.ts.map
|