eslint-plugin-react-x 5.24.4 → 5.24.5
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.js +100 -163
- package/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -135,7 +135,7 @@ const rules$6 = {
|
|
|
135
135
|
//#endregion
|
|
136
136
|
//#region package.json
|
|
137
137
|
var name$6 = "eslint-plugin-react-x";
|
|
138
|
-
var version = "5.24.
|
|
138
|
+
var version = "5.24.5";
|
|
139
139
|
//#endregion
|
|
140
140
|
//#region src/utils/create-rule.ts
|
|
141
141
|
function getDocsUrl(ruleName) {
|
|
@@ -153,8 +153,7 @@ var error_boundaries_default = createRule({
|
|
|
153
153
|
schema: []
|
|
154
154
|
},
|
|
155
155
|
name: "error-boundaries",
|
|
156
|
-
create: create$50
|
|
157
|
-
defaultOptions: []
|
|
156
|
+
create: create$50
|
|
158
157
|
});
|
|
159
158
|
function create$50(context) {
|
|
160
159
|
if (!context.sourceCode.text.includes("try")) return {};
|
|
@@ -1260,8 +1259,7 @@ var globals_default = createRule({
|
|
|
1260
1259
|
schema: []
|
|
1261
1260
|
},
|
|
1262
1261
|
name: "globals",
|
|
1263
|
-
create: create$49
|
|
1264
|
-
defaultOptions: []
|
|
1262
|
+
create: create$49
|
|
1265
1263
|
});
|
|
1266
1264
|
function create$49(context) {
|
|
1267
1265
|
const hooks = core.getHookCollector(context);
|
|
@@ -1635,8 +1633,7 @@ var immutability_default = createRule({
|
|
|
1635
1633
|
schema: []
|
|
1636
1634
|
},
|
|
1637
1635
|
name: "immutability",
|
|
1638
|
-
create: create$48
|
|
1639
|
-
defaultOptions: []
|
|
1636
|
+
create: create$48
|
|
1640
1637
|
});
|
|
1641
1638
|
function create$48(context) {
|
|
1642
1639
|
const hooks = core.getHookCollector(context);
|
|
@@ -1695,8 +1692,7 @@ var no_access_state_in_setstate_default = createRule({
|
|
|
1695
1692
|
schema: []
|
|
1696
1693
|
},
|
|
1697
1694
|
name: "no-access-state-in-setstate",
|
|
1698
|
-
create: create$47
|
|
1699
|
-
defaultOptions: []
|
|
1695
|
+
create: create$47
|
|
1700
1696
|
});
|
|
1701
1697
|
function create$47(context) {
|
|
1702
1698
|
if (!context.sourceCode.text.includes("setState")) return {};
|
|
@@ -1763,8 +1759,7 @@ var no_array_index_key_default = createRule({
|
|
|
1763
1759
|
schema: []
|
|
1764
1760
|
},
|
|
1765
1761
|
name: RULE_NAME$46,
|
|
1766
|
-
create: create$46
|
|
1767
|
-
defaultOptions: []
|
|
1762
|
+
create: create$46
|
|
1768
1763
|
});
|
|
1769
1764
|
function create$46(context) {
|
|
1770
1765
|
function isArrayIndex(node) {
|
|
@@ -1834,8 +1829,7 @@ var no_children_count_default = createRule({
|
|
|
1834
1829
|
schema: []
|
|
1835
1830
|
},
|
|
1836
1831
|
name: "no-children-count",
|
|
1837
|
-
create: create$45
|
|
1838
|
-
defaultOptions: []
|
|
1832
|
+
create: create$45
|
|
1839
1833
|
});
|
|
1840
1834
|
function create$45(context) {
|
|
1841
1835
|
return { MemberExpression(node) {
|
|
@@ -1853,8 +1847,7 @@ var no_children_for_each_default = createRule({
|
|
|
1853
1847
|
schema: []
|
|
1854
1848
|
},
|
|
1855
1849
|
name: "no-children-for-each",
|
|
1856
|
-
create: create$44
|
|
1857
|
-
defaultOptions: []
|
|
1850
|
+
create: create$44
|
|
1858
1851
|
});
|
|
1859
1852
|
function create$44(context) {
|
|
1860
1853
|
return { MemberExpression(node) {
|
|
@@ -1872,8 +1865,7 @@ var no_children_map_default = createRule({
|
|
|
1872
1865
|
schema: []
|
|
1873
1866
|
},
|
|
1874
1867
|
name: "no-children-map",
|
|
1875
|
-
create: create$43
|
|
1876
|
-
defaultOptions: []
|
|
1868
|
+
create: create$43
|
|
1877
1869
|
});
|
|
1878
1870
|
function create$43(context) {
|
|
1879
1871
|
return { MemberExpression(node) {
|
|
@@ -1891,8 +1883,7 @@ var no_children_only_default = createRule({
|
|
|
1891
1883
|
schema: []
|
|
1892
1884
|
},
|
|
1893
1885
|
name: "no-children-only",
|
|
1894
|
-
create: create$42
|
|
1895
|
-
defaultOptions: []
|
|
1886
|
+
create: create$42
|
|
1896
1887
|
});
|
|
1897
1888
|
function create$42(context) {
|
|
1898
1889
|
return { MemberExpression(node) {
|
|
@@ -1910,8 +1901,7 @@ var no_children_to_array_default = createRule({
|
|
|
1910
1901
|
schema: []
|
|
1911
1902
|
},
|
|
1912
1903
|
name: "no-children-to-array",
|
|
1913
|
-
create: create$41
|
|
1914
|
-
defaultOptions: []
|
|
1904
|
+
create: create$41
|
|
1915
1905
|
});
|
|
1916
1906
|
function create$41(context) {
|
|
1917
1907
|
return { MemberExpression(node) {
|
|
@@ -2062,18 +2052,16 @@ var no_class_component_default = createRule({
|
|
|
2062
2052
|
schema: []
|
|
2063
2053
|
},
|
|
2064
2054
|
name: "no-class-component",
|
|
2065
|
-
create: create$40
|
|
2066
|
-
defaultOptions: []
|
|
2055
|
+
create: create$40
|
|
2067
2056
|
});
|
|
2068
2057
|
function create$40(context) {
|
|
2069
2058
|
if (!context.sourceCode.text.includes("Component")) return {};
|
|
2070
2059
|
const { api, visitor } = core.getClassComponentCollector(context);
|
|
2071
2060
|
return merge(visitor, { "Program:exit"(program) {
|
|
2072
|
-
for (const { id,
|
|
2061
|
+
for (const { id, node: component } of api.getAllComponents(program)) {
|
|
2073
2062
|
if (component.body.body.some(or(core.isComponentDidCatch, core.isGetDerivedStateFromError))) continue;
|
|
2074
2063
|
const classToken = context.sourceCode.getFirstToken(component, { filter: (token) => token.value === "class" });
|
|
2075
2064
|
context.report({
|
|
2076
|
-
data: { name },
|
|
2077
2065
|
loc: (id ?? classToken ?? component).loc,
|
|
2078
2066
|
messageId: "default",
|
|
2079
2067
|
node: component
|
|
@@ -2089,8 +2077,7 @@ var no_clone_element_default = createRule({
|
|
|
2089
2077
|
schema: []
|
|
2090
2078
|
},
|
|
2091
2079
|
name: "no-clone-element",
|
|
2092
|
-
create: create$39
|
|
2093
|
-
defaultOptions: []
|
|
2080
|
+
create: create$39
|
|
2094
2081
|
});
|
|
2095
2082
|
function create$39(context) {
|
|
2096
2083
|
return { CallExpression(node) {
|
|
@@ -2109,8 +2096,7 @@ var no_component_will_mount_default = createRule({
|
|
|
2109
2096
|
schema: []
|
|
2110
2097
|
},
|
|
2111
2098
|
name: "no-component-will-mount",
|
|
2112
|
-
create: create$38
|
|
2113
|
-
defaultOptions: []
|
|
2099
|
+
create: create$38
|
|
2114
2100
|
});
|
|
2115
2101
|
function create$38(context) {
|
|
2116
2102
|
if (!context.sourceCode.text.includes("componentWillMount")) return {};
|
|
@@ -2138,8 +2124,7 @@ var no_component_will_receive_props_default = createRule({
|
|
|
2138
2124
|
schema: []
|
|
2139
2125
|
},
|
|
2140
2126
|
name: "no-component-will-receive-props",
|
|
2141
|
-
create: create$37
|
|
2142
|
-
defaultOptions: []
|
|
2127
|
+
create: create$37
|
|
2143
2128
|
});
|
|
2144
2129
|
function create$37(context) {
|
|
2145
2130
|
if (!context.sourceCode.text.includes("componentWillReceiveProps")) return {};
|
|
@@ -2167,8 +2152,7 @@ var no_component_will_update_default = createRule({
|
|
|
2167
2152
|
schema: []
|
|
2168
2153
|
},
|
|
2169
2154
|
name: "no-component-will-update",
|
|
2170
|
-
create: create$36
|
|
2171
|
-
defaultOptions: []
|
|
2155
|
+
create: create$36
|
|
2172
2156
|
});
|
|
2173
2157
|
function create$36(context) {
|
|
2174
2158
|
if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
|
|
@@ -2200,8 +2184,7 @@ var no_context_provider_default = createRule({
|
|
|
2200
2184
|
schema: []
|
|
2201
2185
|
},
|
|
2202
2186
|
name: "no-context-provider",
|
|
2203
|
-
create: create$35
|
|
2204
|
-
defaultOptions: []
|
|
2187
|
+
create: create$35
|
|
2205
2188
|
});
|
|
2206
2189
|
function create$35(context) {
|
|
2207
2190
|
if (!context.sourceCode.text.includes("Provider")) return {};
|
|
@@ -2238,24 +2221,23 @@ var no_create_ref_default = createRule({
|
|
|
2238
2221
|
schema: []
|
|
2239
2222
|
},
|
|
2240
2223
|
name: "no-create-ref",
|
|
2241
|
-
create: create$34
|
|
2242
|
-
defaultOptions: []
|
|
2224
|
+
create: create$34
|
|
2243
2225
|
});
|
|
2244
2226
|
function create$34(context) {
|
|
2245
2227
|
if (!context.sourceCode.text.includes("createRef")) return {};
|
|
2246
2228
|
const fc = core.getFunctionComponentCollector(context);
|
|
2247
2229
|
const hc = core.getHookCollector(context);
|
|
2248
|
-
const
|
|
2230
|
+
const facts = /* @__PURE__ */ new Set();
|
|
2249
2231
|
return merge(fc.visitor, hc.visitor, {
|
|
2250
2232
|
CallExpression(node) {
|
|
2251
2233
|
if (!core.isCreateRefCall(context, node)) return;
|
|
2252
|
-
|
|
2234
|
+
facts.add(node);
|
|
2253
2235
|
},
|
|
2254
2236
|
"Program:exit"(node) {
|
|
2255
2237
|
const comps = fc.api.getAllComponents(node);
|
|
2256
2238
|
const hooks = hc.api.getAllHooks(node);
|
|
2257
2239
|
const funcs = [...comps, ...hooks];
|
|
2258
|
-
for (const call of
|
|
2240
|
+
for (const call of facts) {
|
|
2259
2241
|
if (Traverse.findParent(call, (n) => funcs.some((f) => f.node === n)) == null) continue;
|
|
2260
2242
|
context.report({
|
|
2261
2243
|
messageId: "default",
|
|
@@ -2273,8 +2255,7 @@ var no_direct_mutation_state_default = createRule({
|
|
|
2273
2255
|
schema: []
|
|
2274
2256
|
},
|
|
2275
2257
|
name: "no-direct-mutation-state",
|
|
2276
|
-
create: create$33
|
|
2277
|
-
defaultOptions: []
|
|
2258
|
+
create: create$33
|
|
2278
2259
|
});
|
|
2279
2260
|
function isConstructorFunction(node) {
|
|
2280
2261
|
return Check.isOneOf([AST_NODE_TYPES.FunctionDeclaration, AST_NODE_TYPES.FunctionExpression])(node) && Check.isPropertyOrMethod(node.parent) && Check.isIdentifier(node.parent.key, "constructor");
|
|
@@ -2309,8 +2290,7 @@ var no_duplicate_key_default = createRule({
|
|
|
2309
2290
|
schema: []
|
|
2310
2291
|
},
|
|
2311
2292
|
name: "no-duplicate-key",
|
|
2312
|
-
create: create$32
|
|
2313
|
-
defaultOptions: []
|
|
2293
|
+
create: create$32
|
|
2314
2294
|
});
|
|
2315
2295
|
function create$32(context) {
|
|
2316
2296
|
if (!context.sourceCode.text.includes("key=")) return {};
|
|
@@ -2361,7 +2341,6 @@ function create$32(context) {
|
|
|
2361
2341
|
for (const { hasDuplicate, keys } of keyedEntries.values()) {
|
|
2362
2342
|
if (!hasDuplicate) continue;
|
|
2363
2343
|
for (const key of keys) context.report({
|
|
2364
|
-
data: { value: context.sourceCode.getText(key) },
|
|
2365
2344
|
messageId: "default",
|
|
2366
2345
|
node: key
|
|
2367
2346
|
});
|
|
@@ -2382,8 +2361,7 @@ var no_forward_ref_default = createRule({
|
|
|
2382
2361
|
schema: []
|
|
2383
2362
|
},
|
|
2384
2363
|
name: "no-forward-ref",
|
|
2385
|
-
create: create$31
|
|
2386
|
-
defaultOptions: []
|
|
2364
|
+
create: create$31
|
|
2387
2365
|
});
|
|
2388
2366
|
function create$31(context) {
|
|
2389
2367
|
if (!context.sourceCode.text.includes("forwardRef")) return {};
|
|
@@ -2497,8 +2475,7 @@ var no_implicit_children_default = createRule({
|
|
|
2497
2475
|
schema: []
|
|
2498
2476
|
},
|
|
2499
2477
|
name: RULE_NAME$30,
|
|
2500
|
-
create: create$30
|
|
2501
|
-
defaultOptions: []
|
|
2478
|
+
create: create$30
|
|
2502
2479
|
});
|
|
2503
2480
|
function create$30(context) {
|
|
2504
2481
|
return createImplicitPropListener(context, {
|
|
@@ -2521,8 +2498,7 @@ var no_implicit_key_default = createRule({
|
|
|
2521
2498
|
schema: []
|
|
2522
2499
|
},
|
|
2523
2500
|
name: "no-implicit-key",
|
|
2524
|
-
create: create$29
|
|
2525
|
-
defaultOptions: []
|
|
2501
|
+
create: create$29
|
|
2526
2502
|
});
|
|
2527
2503
|
function create$29(context) {
|
|
2528
2504
|
return createImplicitPropListener(context, {
|
|
@@ -2549,8 +2525,7 @@ var no_implicit_ref_default = createRule({
|
|
|
2549
2525
|
schema: []
|
|
2550
2526
|
},
|
|
2551
2527
|
name: RULE_NAME$28,
|
|
2552
|
-
create: create$28
|
|
2553
|
-
defaultOptions: []
|
|
2528
|
+
create: create$28
|
|
2554
2529
|
});
|
|
2555
2530
|
function create$28(context) {
|
|
2556
2531
|
return createImplicitPropListener(context, {
|
|
@@ -2573,8 +2548,7 @@ var no_leaked_conditional_rendering_default = createRule({
|
|
|
2573
2548
|
schema: []
|
|
2574
2549
|
},
|
|
2575
2550
|
name: "no-leaked-conditional-rendering",
|
|
2576
|
-
create: create$27
|
|
2577
|
-
defaultOptions: []
|
|
2551
|
+
create: create$27
|
|
2578
2552
|
});
|
|
2579
2553
|
function create$27(context) {
|
|
2580
2554
|
if (!context.sourceCode.text.includes("&&")) return {};
|
|
@@ -2636,8 +2610,7 @@ var no_missing_component_display_name_default = createRule({
|
|
|
2636
2610
|
schema: []
|
|
2637
2611
|
},
|
|
2638
2612
|
name: "no-missing-component-display-name",
|
|
2639
|
-
create: create$26
|
|
2640
|
-
defaultOptions: []
|
|
2613
|
+
create: create$26
|
|
2641
2614
|
});
|
|
2642
2615
|
function create$26(context) {
|
|
2643
2616
|
if (!context.sourceCode.text.includes("memo") && !context.sourceCode.text.includes("forwardRef")) return {};
|
|
@@ -2667,8 +2640,7 @@ var no_missing_context_display_name_default = createRule({
|
|
|
2667
2640
|
schema: []
|
|
2668
2641
|
},
|
|
2669
2642
|
name: "no-missing-context-display-name",
|
|
2670
|
-
create: create$25
|
|
2671
|
-
defaultOptions: []
|
|
2643
|
+
create: create$25
|
|
2672
2644
|
});
|
|
2673
2645
|
function create$25(context) {
|
|
2674
2646
|
if (!context.sourceCode.text.includes("createContext")) return {};
|
|
@@ -2747,8 +2719,7 @@ var no_missing_key_default = createRule({
|
|
|
2747
2719
|
schema: []
|
|
2748
2720
|
},
|
|
2749
2721
|
name: "no-missing-key",
|
|
2750
|
-
create: create$24
|
|
2751
|
-
defaultOptions: []
|
|
2722
|
+
create: create$24
|
|
2752
2723
|
});
|
|
2753
2724
|
function getIteratorCallback(node) {
|
|
2754
2725
|
const callee = Extract.unwrap(node.callee);
|
|
@@ -2842,8 +2813,7 @@ var no_misused_capture_owner_stack_default = createRule({
|
|
|
2842
2813
|
schema: []
|
|
2843
2814
|
},
|
|
2844
2815
|
name: "no-misused-capture-owner-stack",
|
|
2845
|
-
create: create$23
|
|
2846
|
-
defaultOptions: []
|
|
2816
|
+
create: create$23
|
|
2847
2817
|
});
|
|
2848
2818
|
function create$23(context) {
|
|
2849
2819
|
if (!context.sourceCode.text.includes("captureOwnerStack")) return {};
|
|
@@ -2947,8 +2917,7 @@ var no_nested_component_definitions_default = createRule({
|
|
|
2947
2917
|
schema: []
|
|
2948
2918
|
},
|
|
2949
2919
|
name: "no-nested-component-definitions",
|
|
2950
|
-
create: create$22
|
|
2951
|
-
defaultOptions: []
|
|
2920
|
+
create: create$22
|
|
2952
2921
|
});
|
|
2953
2922
|
function create$22(context) {
|
|
2954
2923
|
const hint = core.FunctionComponentDetectionHint.DoNotIncludeJsxWithNumberValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithBooleanValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithNullValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithStringValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithUndefinedValue | core.FunctionComponentDetectionHint.RequireBothSidesOfLogicalExpressionToBeJsx | core.FunctionComponentDetectionHint.RequireBothBranchesOfConditionalExpressionToBeJsx | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayPatternElement | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayExpressionElement | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayMapCallback | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayFlatMapCallback;
|
|
@@ -2971,10 +2940,7 @@ function create$22(context) {
|
|
|
2971
2940
|
if (name == null || !core.isFunctionComponentNameLoose(name)) continue;
|
|
2972
2941
|
if (isInsideJSXAttributeValue(component)) {
|
|
2973
2942
|
context.report({
|
|
2974
|
-
data: {
|
|
2975
|
-
name,
|
|
2976
|
-
suggestion: "Move it to the top level or pass it as a prop."
|
|
2977
|
-
},
|
|
2943
|
+
data: { suggestion: "Move it to the top level or pass it as a prop." },
|
|
2978
2944
|
messageId: "default",
|
|
2979
2945
|
node: component
|
|
2980
2946
|
});
|
|
@@ -2982,10 +2948,7 @@ function create$22(context) {
|
|
|
2982
2948
|
}
|
|
2983
2949
|
if (core.isInsideCreateElementProps(context, component)) {
|
|
2984
2950
|
context.report({
|
|
2985
|
-
data: {
|
|
2986
|
-
name,
|
|
2987
|
-
suggestion: "Move it to the top level or pass it as a prop."
|
|
2988
|
-
},
|
|
2951
|
+
data: { suggestion: "Move it to the top level or pass it as a prop." },
|
|
2989
2952
|
messageId: "default",
|
|
2990
2953
|
node: component
|
|
2991
2954
|
});
|
|
@@ -2993,31 +2956,22 @@ function create$22(context) {
|
|
|
2993
2956
|
}
|
|
2994
2957
|
if (findEnclosingComponent(component) != null) {
|
|
2995
2958
|
context.report({
|
|
2996
|
-
data: {
|
|
2997
|
-
name,
|
|
2998
|
-
suggestion: component.parent.type === AST_NODE_TYPES.Property ? "Move it to the top level or pass it as a prop." : "Move it to the top level."
|
|
2999
|
-
},
|
|
2959
|
+
data: { suggestion: component.parent.type === AST_NODE_TYPES.Property ? "Move it to the top level or pass it as a prop." : "Move it to the top level." },
|
|
3000
2960
|
messageId: "default",
|
|
3001
2961
|
node: component
|
|
3002
2962
|
});
|
|
3003
2963
|
continue;
|
|
3004
2964
|
}
|
|
3005
2965
|
if (isInsideRenderMethod(component)) context.report({
|
|
3006
|
-
data: {
|
|
3007
|
-
name,
|
|
3008
|
-
suggestion: "Move it to the top level."
|
|
3009
|
-
},
|
|
2966
|
+
data: { suggestion: "Move it to the top level." },
|
|
3010
2967
|
messageId: "default",
|
|
3011
2968
|
node: component
|
|
3012
2969
|
});
|
|
3013
2970
|
}
|
|
3014
|
-
for (const {
|
|
2971
|
+
for (const { node: component } of cComponents) {
|
|
3015
2972
|
if (findEnclosingComponent(component) == null) continue;
|
|
3016
2973
|
context.report({
|
|
3017
|
-
data: {
|
|
3018
|
-
name,
|
|
3019
|
-
suggestion: component.parent.type === AST_NODE_TYPES.Property ? "Move it to the top level or pass it as a prop." : "Move it to the top level."
|
|
3020
|
-
},
|
|
2974
|
+
data: { suggestion: component.parent.type === AST_NODE_TYPES.Property ? "Move it to the top level or pass it as a prop." : "Move it to the top level." },
|
|
3021
2975
|
messageId: "default",
|
|
3022
2976
|
node: component
|
|
3023
2977
|
});
|
|
@@ -3032,8 +2986,7 @@ var no_nested_lazy_component_declarations_default = createRule({
|
|
|
3032
2986
|
schema: []
|
|
3033
2987
|
},
|
|
3034
2988
|
name: "no-nested-lazy-component-declarations",
|
|
3035
|
-
create: create$21
|
|
3036
|
-
defaultOptions: []
|
|
2989
|
+
create: create$21
|
|
3037
2990
|
});
|
|
3038
2991
|
function create$21(context) {
|
|
3039
2992
|
const fc = core.getFunctionComponentCollector(context);
|
|
@@ -3042,7 +2995,7 @@ function create$21(context) {
|
|
|
3042
2995
|
const lazyCalls = /* @__PURE__ */ new Set();
|
|
3043
2996
|
return merge(fc.visitor, cc.visitor, hc.visitor, {
|
|
3044
2997
|
ImportExpression(node) {
|
|
3045
|
-
const lazyCall = Traverse.findParent(node,
|
|
2998
|
+
const lazyCall = Traverse.findParent(node, core.isLazyCall(context));
|
|
3046
2999
|
if (lazyCall != null) lazyCalls.add(lazyCall);
|
|
3047
3000
|
},
|
|
3048
3001
|
"Program:exit"(program) {
|
|
@@ -3066,8 +3019,7 @@ var no_set_state_in_component_did_mount_default = createRule({
|
|
|
3066
3019
|
schema: []
|
|
3067
3020
|
},
|
|
3068
3021
|
name: "no-set-state-in-component-did-mount",
|
|
3069
|
-
create: create$20
|
|
3070
|
-
defaultOptions: []
|
|
3022
|
+
create: create$20
|
|
3071
3023
|
});
|
|
3072
3024
|
function create$20(context) {
|
|
3073
3025
|
if (!context.sourceCode.text.includes("componentDidMount")) return {};
|
|
@@ -3092,8 +3044,7 @@ var no_set_state_in_component_did_update_default = createRule({
|
|
|
3092
3044
|
schema: []
|
|
3093
3045
|
},
|
|
3094
3046
|
name: "no-set-state-in-component-did-update",
|
|
3095
|
-
create: create$19
|
|
3096
|
-
defaultOptions: []
|
|
3047
|
+
create: create$19
|
|
3097
3048
|
});
|
|
3098
3049
|
function create$19(context) {
|
|
3099
3050
|
if (!context.sourceCode.text.includes("componentDidUpdate")) return {};
|
|
@@ -3118,8 +3069,7 @@ var no_set_state_in_component_will_update_default = createRule({
|
|
|
3118
3069
|
schema: []
|
|
3119
3070
|
},
|
|
3120
3071
|
name: "no-set-state-in-component-will-update",
|
|
3121
|
-
create: create$18
|
|
3122
|
-
defaultOptions: []
|
|
3072
|
+
create: create$18
|
|
3123
3073
|
});
|
|
3124
3074
|
function create$18(context) {
|
|
3125
3075
|
if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
|
|
@@ -3163,8 +3113,7 @@ var no_unnecessary_use_prefix_default = createRule({
|
|
|
3163
3113
|
schema: []
|
|
3164
3114
|
},
|
|
3165
3115
|
name: "no-unnecessary-use-prefix",
|
|
3166
|
-
create: create$17
|
|
3167
|
-
defaultOptions: []
|
|
3116
|
+
create: create$17
|
|
3168
3117
|
});
|
|
3169
3118
|
function create$17(context) {
|
|
3170
3119
|
const { api, visitor } = core.getHookCollector(context);
|
|
@@ -3177,7 +3126,6 @@ function create$17(context) {
|
|
|
3177
3126
|
if (containsUseComments(context, node)) continue;
|
|
3178
3127
|
if (isInTestMock(node)) continue;
|
|
3179
3128
|
context.report({
|
|
3180
|
-
data: { name },
|
|
3181
3129
|
messageId: "default",
|
|
3182
3130
|
node: id ?? node
|
|
3183
3131
|
});
|
|
@@ -3192,8 +3140,7 @@ var no_unsafe_component_will_mount_default = createRule({
|
|
|
3192
3140
|
schema: []
|
|
3193
3141
|
},
|
|
3194
3142
|
name: "no-unsafe-component-will-mount",
|
|
3195
|
-
create: create$16
|
|
3196
|
-
defaultOptions: []
|
|
3143
|
+
create: create$16
|
|
3197
3144
|
});
|
|
3198
3145
|
function create$16(context) {
|
|
3199
3146
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillMount")) return {};
|
|
@@ -3216,8 +3163,7 @@ var no_unsafe_component_will_receive_props_default = createRule({
|
|
|
3216
3163
|
schema: []
|
|
3217
3164
|
},
|
|
3218
3165
|
name: "no-unsafe-component-will-receive-props",
|
|
3219
|
-
create: create$15
|
|
3220
|
-
defaultOptions: []
|
|
3166
|
+
create: create$15
|
|
3221
3167
|
});
|
|
3222
3168
|
function create$15(context) {
|
|
3223
3169
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillReceiveProps")) return {};
|
|
@@ -3240,8 +3186,7 @@ var no_unsafe_component_will_update_default = createRule({
|
|
|
3240
3186
|
schema: []
|
|
3241
3187
|
},
|
|
3242
3188
|
name: "no-unsafe-component-will-update",
|
|
3243
|
-
create: create$14
|
|
3244
|
-
defaultOptions: []
|
|
3189
|
+
create: create$14
|
|
3245
3190
|
});
|
|
3246
3191
|
function create$14(context) {
|
|
3247
3192
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillUpdate")) return {};
|
|
@@ -3279,8 +3224,7 @@ var no_unstable_context_value_default = createRule({
|
|
|
3279
3224
|
schema: []
|
|
3280
3225
|
},
|
|
3281
3226
|
name: "no-unstable-context-value",
|
|
3282
|
-
create: create$13
|
|
3283
|
-
defaultOptions: []
|
|
3227
|
+
create: create$13
|
|
3284
3228
|
});
|
|
3285
3229
|
function create$13(context) {
|
|
3286
3230
|
const { compilationMode, version } = getSettingsFromContext(context);
|
|
@@ -3341,23 +3285,28 @@ function getHumanReadableKind(node) {
|
|
|
3341
3285
|
}
|
|
3342
3286
|
return toLowerCase(delimiterCase(node.type, " "));
|
|
3343
3287
|
}
|
|
3288
|
+
//#endregion
|
|
3289
|
+
//#region src/rules/no-unstable-default-props/no-unstable-default-props.ts
|
|
3290
|
+
const RULE_NAME$12 = "no-unstable-default-props";
|
|
3291
|
+
const defaultOptions$1 = [{ safeDefaultProps: [] }];
|
|
3292
|
+
const schema$1 = [{
|
|
3293
|
+
type: "object",
|
|
3294
|
+
additionalProperties: false,
|
|
3295
|
+
properties: { safeDefaultProps: {
|
|
3296
|
+
type: "array",
|
|
3297
|
+
items: { type: "string" }
|
|
3298
|
+
} }
|
|
3299
|
+
}];
|
|
3344
3300
|
var no_unstable_default_props_default = createRule({
|
|
3345
3301
|
meta: {
|
|
3346
3302
|
type: "problem",
|
|
3303
|
+
defaultOptions: [...defaultOptions$1],
|
|
3347
3304
|
docs: { description: "Prevents using referential-type values as default props in object destructuring." },
|
|
3348
3305
|
messages: { default: "A/an '{{kind}}' as default prop. This could lead to potential infinite render loop in React. Use a variable instead of '{{kind}}'." },
|
|
3349
|
-
schema:
|
|
3350
|
-
type: "object",
|
|
3351
|
-
additionalProperties: false,
|
|
3352
|
-
properties: { safeDefaultProps: {
|
|
3353
|
-
type: "array",
|
|
3354
|
-
items: { type: "string" }
|
|
3355
|
-
} }
|
|
3356
|
-
}]
|
|
3306
|
+
schema: schema$1
|
|
3357
3307
|
},
|
|
3358
|
-
name:
|
|
3359
|
-
create: create$12
|
|
3360
|
-
defaultOptions: [{ safeDefaultProps: [] }]
|
|
3308
|
+
name: RULE_NAME$12,
|
|
3309
|
+
create: create$12
|
|
3361
3310
|
});
|
|
3362
3311
|
function create$12(context, [options]) {
|
|
3363
3312
|
const { compilationMode } = getSettingsFromContext(context);
|
|
@@ -3440,8 +3389,7 @@ var no_unused_class_component_members_default = createRule({
|
|
|
3440
3389
|
schema: []
|
|
3441
3390
|
},
|
|
3442
3391
|
name: "no-unused-class-component-members",
|
|
3443
|
-
create: create$11
|
|
3444
|
-
defaultOptions: []
|
|
3392
|
+
create: create$11
|
|
3445
3393
|
});
|
|
3446
3394
|
function create$11(context) {
|
|
3447
3395
|
const propertyDefs = /* @__PURE__ */ new WeakMap();
|
|
@@ -3571,8 +3519,7 @@ var no_unused_props_default = createRule({
|
|
|
3571
3519
|
schema: []
|
|
3572
3520
|
},
|
|
3573
3521
|
name: "no-unused-props",
|
|
3574
|
-
create: create$10
|
|
3575
|
-
defaultOptions: []
|
|
3522
|
+
create: create$10
|
|
3576
3523
|
});
|
|
3577
3524
|
function create$10(context) {
|
|
3578
3525
|
const services = ESLintUtils.getParserServices(context, false);
|
|
@@ -3618,8 +3565,7 @@ var no_unused_state_default = createRule({
|
|
|
3618
3565
|
schema: []
|
|
3619
3566
|
},
|
|
3620
3567
|
name: "no-unused-state",
|
|
3621
|
-
create: create$9
|
|
3622
|
-
defaultOptions: []
|
|
3568
|
+
create: create$9
|
|
3623
3569
|
});
|
|
3624
3570
|
function create$9(context) {
|
|
3625
3571
|
const { additionalStateHooks } = getSettingsFromContext(context);
|
|
@@ -3670,8 +3616,7 @@ var no_use_context_default = createRule({
|
|
|
3670
3616
|
schema: []
|
|
3671
3617
|
},
|
|
3672
3618
|
name: "no-use-context",
|
|
3673
|
-
create: create$8
|
|
3674
|
-
defaultOptions: []
|
|
3619
|
+
create: create$8
|
|
3675
3620
|
});
|
|
3676
3621
|
function create$8(context) {
|
|
3677
3622
|
if (!context.sourceCode.text.includes("useContext")) return {};
|
|
@@ -4152,8 +4097,7 @@ var purity_default = createRule({
|
|
|
4152
4097
|
schema: []
|
|
4153
4098
|
},
|
|
4154
4099
|
name: "purity",
|
|
4155
|
-
create: create$7
|
|
4156
|
-
defaultOptions: []
|
|
4100
|
+
create: create$7
|
|
4157
4101
|
});
|
|
4158
4102
|
function create$7(context) {
|
|
4159
4103
|
const hc = core.getHookCollector(context);
|
|
@@ -4785,8 +4729,7 @@ var refs_default = createRule({
|
|
|
4785
4729
|
schema: []
|
|
4786
4730
|
},
|
|
4787
4731
|
name: "refs",
|
|
4788
|
-
create: create$6
|
|
4789
|
-
defaultOptions: []
|
|
4732
|
+
create: create$6
|
|
4790
4733
|
});
|
|
4791
4734
|
function create$6(context) {
|
|
4792
4735
|
const hooks = core.getHookCollector(context);
|
|
@@ -6803,8 +6746,7 @@ var set_state_in_effect_default = createRule({
|
|
|
6803
6746
|
schema: []
|
|
6804
6747
|
},
|
|
6805
6748
|
name: "set-state-in-effect",
|
|
6806
|
-
create: create$5
|
|
6807
|
-
defaultOptions: []
|
|
6749
|
+
create: create$5
|
|
6808
6750
|
});
|
|
6809
6751
|
function create$5(context) {
|
|
6810
6752
|
if (!/use\w*Effect/u.test(context.sourceCode.text)) return {};
|
|
@@ -6981,8 +6923,7 @@ var set_state_in_render_default = createRule({
|
|
|
6981
6923
|
schema: []
|
|
6982
6924
|
},
|
|
6983
6925
|
name: "set-state-in-render",
|
|
6984
|
-
create: create$4
|
|
6985
|
-
defaultOptions: []
|
|
6926
|
+
create: create$4
|
|
6986
6927
|
});
|
|
6987
6928
|
function create$4(context) {
|
|
6988
6929
|
const { additionalStateHooks } = getSettingsFromContext(context);
|
|
@@ -7117,8 +7058,7 @@ var static_components_default = createRule({
|
|
|
7117
7058
|
schema: []
|
|
7118
7059
|
},
|
|
7119
7060
|
name: "static-components",
|
|
7120
|
-
create: create$3
|
|
7121
|
-
defaultOptions: []
|
|
7061
|
+
create: create$3
|
|
7122
7062
|
});
|
|
7123
7063
|
function create$3(context) {
|
|
7124
7064
|
const hint = core.FunctionComponentDetectionHint.DoNotIncludeJsxWithNumberValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithBooleanValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithNullValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithStringValue | core.FunctionComponentDetectionHint.DoNotIncludeJsxWithUndefinedValue | core.FunctionComponentDetectionHint.RequireBothSidesOfLogicalExpressionToBeJsx | core.FunctionComponentDetectionHint.RequireBothBranchesOfConditionalExpressionToBeJsx | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayPatternElement | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayExpressionElement | core.FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayMapCallback;
|
|
@@ -7130,14 +7070,12 @@ function create$3(context) {
|
|
|
7130
7070
|
const reportedCreations = /* @__PURE__ */ new Set();
|
|
7131
7071
|
for (const effect of inferCreatedComponents(context, facts.facts.componentUsages, isInsideRender)) {
|
|
7132
7072
|
context.report({
|
|
7133
|
-
data: { name: effect.name },
|
|
7134
7073
|
messageId: "default",
|
|
7135
7074
|
node: effect.node
|
|
7136
7075
|
});
|
|
7137
7076
|
if (effect.creationNode != null && !reportedCreations.has(effect.creationNode)) {
|
|
7138
7077
|
reportedCreations.add(effect.creationNode);
|
|
7139
7078
|
context.report({
|
|
7140
|
-
data: { name: effect.name },
|
|
7141
7079
|
messageId: "created-here",
|
|
7142
7080
|
node: effect.creationNode
|
|
7143
7081
|
});
|
|
@@ -7168,8 +7106,7 @@ var unsupported_syntax_default = createRule({
|
|
|
7168
7106
|
schema: []
|
|
7169
7107
|
},
|
|
7170
7108
|
name: "unsupported-syntax",
|
|
7171
|
-
create: create$2
|
|
7172
|
-
defaultOptions: []
|
|
7109
|
+
create: create$2
|
|
7173
7110
|
});
|
|
7174
7111
|
function create$2(context) {
|
|
7175
7112
|
const hc = core.getHookCollector(context);
|
|
@@ -7350,8 +7287,7 @@ var use_memo_default = createRule({
|
|
|
7350
7287
|
schema: []
|
|
7351
7288
|
},
|
|
7352
7289
|
name: "use-memo",
|
|
7353
|
-
create: create$1
|
|
7354
|
-
defaultOptions: []
|
|
7290
|
+
create: create$1
|
|
7355
7291
|
});
|
|
7356
7292
|
function create$1(context) {
|
|
7357
7293
|
if (!context.sourceCode.text.includes("useMemo")) return {};
|
|
@@ -7448,37 +7384,38 @@ const defaultOptions = [{
|
|
|
7448
7384
|
enforceLazyInitialization: true,
|
|
7449
7385
|
enforceSetterName: true
|
|
7450
7386
|
}];
|
|
7387
|
+
const schema = [{
|
|
7388
|
+
type: "object",
|
|
7389
|
+
additionalProperties: false,
|
|
7390
|
+
properties: {
|
|
7391
|
+
enforceAssignment: {
|
|
7392
|
+
type: "boolean",
|
|
7393
|
+
default: true
|
|
7394
|
+
},
|
|
7395
|
+
enforceLazyInitialization: {
|
|
7396
|
+
type: "boolean",
|
|
7397
|
+
default: true
|
|
7398
|
+
},
|
|
7399
|
+
enforceSetterName: {
|
|
7400
|
+
type: "boolean",
|
|
7401
|
+
default: true
|
|
7402
|
+
}
|
|
7403
|
+
}
|
|
7404
|
+
}];
|
|
7451
7405
|
var use_state_default = createRule({
|
|
7452
7406
|
meta: {
|
|
7453
7407
|
type: "suggestion",
|
|
7408
|
+
defaultOptions: [...defaultOptions],
|
|
7454
7409
|
docs: { description: "Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function." },
|
|
7455
7410
|
messages: {
|
|
7456
7411
|
"invalid-assignment": "useState should be destructured into a value and setter pair, e.g., const [state, setState] = useState(...).",
|
|
7457
7412
|
"invalid-initialization": "To prevent re-computation, consider using lazy initial state for useState calls that involve function calls. Ex: 'useState(() => getValue())'.",
|
|
7458
7413
|
"invalid-setter-name": "The setter should be named 'set' followed by the capitalized state variable name, e.g., 'setState' for 'state'."
|
|
7459
7414
|
},
|
|
7460
|
-
schema
|
|
7461
|
-
type: "object",
|
|
7462
|
-
additionalProperties: false,
|
|
7463
|
-
properties: {
|
|
7464
|
-
enforceAssignment: {
|
|
7465
|
-
type: "boolean",
|
|
7466
|
-
default: true
|
|
7467
|
-
},
|
|
7468
|
-
enforceLazyInitialization: {
|
|
7469
|
-
type: "boolean",
|
|
7470
|
-
default: true
|
|
7471
|
-
},
|
|
7472
|
-
enforceSetterName: {
|
|
7473
|
-
type: "boolean",
|
|
7474
|
-
default: true
|
|
7475
|
-
}
|
|
7476
|
-
}
|
|
7477
|
-
}]
|
|
7415
|
+
schema
|
|
7478
7416
|
},
|
|
7479
7417
|
name: RULE_NAME,
|
|
7480
|
-
create
|
|
7481
|
-
defaultOptions
|
|
7418
|
+
create
|
|
7482
7419
|
});
|
|
7483
7420
|
function create(context) {
|
|
7484
7421
|
const { enforceAssignment = true, enforceLazyInitialization = true, enforceSetterName = true } = context.options[0] ?? defaultOptions[0];
|
|
@@ -7491,7 +7428,7 @@ function create(context) {
|
|
|
7491
7428
|
for (const expr of getNestedNewExpressions(useStateInput)) {
|
|
7492
7429
|
if (!hasProperty(expr.callee, "name")) continue;
|
|
7493
7430
|
if (LAZY_INIT_ALLOW_LIST.includes(expr.callee.name)) continue;
|
|
7494
|
-
if (Traverse.findParent(expr,
|
|
7431
|
+
if (Traverse.findParent(expr, core.isUseCall(context)) != null) continue;
|
|
7495
7432
|
context.report({
|
|
7496
7433
|
messageId: "invalid-initialization",
|
|
7497
7434
|
node: expr
|
|
@@ -7501,7 +7438,7 @@ function create(context) {
|
|
|
7501
7438
|
if (!hasProperty(expr.callee, "name")) continue;
|
|
7502
7439
|
if (core.isHookName(expr.callee.name)) continue;
|
|
7503
7440
|
if (LAZY_INIT_ALLOW_LIST.includes(expr.callee.name)) continue;
|
|
7504
|
-
if (Traverse.findParent(expr,
|
|
7441
|
+
if (Traverse.findParent(expr, core.isUseCall(context)) != null) continue;
|
|
7505
7442
|
context.report({
|
|
7506
7443
|
messageId: "invalid-initialization",
|
|
7507
7444
|
node: expr
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-x",
|
|
3
|
-
"version": "5.24.
|
|
3
|
+
"version": "5.24.5",
|
|
4
4
|
"description": "A set of composable ESLint rules for libraries and frameworks that use React as a UI runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
"dist"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@eslint-react/ast": "5.24.
|
|
40
|
-
"@eslint-react/core": "5.24.
|
|
41
|
-
"@eslint-react/eslint": "5.24.
|
|
42
|
-
"@eslint-react/jsx": "5.24.
|
|
43
|
-
"@eslint-react/shared": "5.24.
|
|
44
|
-
"@eslint-react/var": "5.24.
|
|
39
|
+
"@eslint-react/ast": "5.24.5",
|
|
40
|
+
"@eslint-react/core": "5.24.5",
|
|
41
|
+
"@eslint-react/eslint": "5.24.5",
|
|
42
|
+
"@eslint-react/jsx": "5.24.5",
|
|
43
|
+
"@eslint-react/shared": "5.24.5",
|
|
44
|
+
"@eslint-react/var": "5.24.5",
|
|
45
45
|
"@typescript-eslint/scope-manager": "^8.71.0",
|
|
46
46
|
"@typescript-eslint/types": "^8.71.0",
|
|
47
47
|
"@typescript-eslint/typescript-estree": "^8.71.0",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"react-dom": "^19.3.0",
|
|
65
65
|
"tsdown": "^0.23.0",
|
|
66
66
|
"tsl": "^1.0.30",
|
|
67
|
-
"tsl-dx": "^0.
|
|
67
|
+
"tsl-dx": "^0.14.0",
|
|
68
68
|
"typescript": "6.0.3"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|