eslint-plugin-react-x 2.0.0-beta.26 → 2.0.0-beta.28
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 +36 -0
- package/dist/index.js +267 -165
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -42,6 +42,15 @@ declare const _default: {
|
|
|
42
42
|
readonly "no-default-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noDefaultProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
43
43
|
readonly "no-direct-mutation-state": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectMutationState", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
44
44
|
readonly "no-duplicate-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noDuplicateKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
45
|
+
readonly "no-forbidden-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noForbiddenProps", readonly [{
|
|
46
|
+
forbid: (string | {
|
|
47
|
+
excludedNodes?: string[];
|
|
48
|
+
prop: string;
|
|
49
|
+
} | {
|
|
50
|
+
includedNodes?: string[];
|
|
51
|
+
prop: string;
|
|
52
|
+
})[];
|
|
53
|
+
}], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
45
54
|
readonly "no-forward-ref": _typescript_eslint_utils_ts_eslint.RuleModule<"noForwardRef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
46
55
|
readonly "no-implicit-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noImplicitKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
47
56
|
readonly "no-leaked-conditional-rendering": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedConditionalRendering", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
@@ -129,6 +138,15 @@ declare const _default: {
|
|
|
129
138
|
readonly "no-default-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noDefaultProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
130
139
|
readonly "no-direct-mutation-state": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectMutationState", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
131
140
|
readonly "no-duplicate-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noDuplicateKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
141
|
+
readonly "no-forbidden-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noForbiddenProps", readonly [{
|
|
142
|
+
forbid: (string | {
|
|
143
|
+
excludedNodes?: string[];
|
|
144
|
+
prop: string;
|
|
145
|
+
} | {
|
|
146
|
+
includedNodes?: string[];
|
|
147
|
+
prop: string;
|
|
148
|
+
})[];
|
|
149
|
+
}], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
132
150
|
readonly "no-forward-ref": _typescript_eslint_utils_ts_eslint.RuleModule<"noForwardRef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
133
151
|
readonly "no-implicit-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noImplicitKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
134
152
|
readonly "no-leaked-conditional-rendering": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedConditionalRendering", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
@@ -216,6 +234,15 @@ declare const _default: {
|
|
|
216
234
|
readonly "no-default-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noDefaultProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
217
235
|
readonly "no-direct-mutation-state": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectMutationState", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
218
236
|
readonly "no-duplicate-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noDuplicateKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
237
|
+
readonly "no-forbidden-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noForbiddenProps", readonly [{
|
|
238
|
+
forbid: (string | {
|
|
239
|
+
excludedNodes?: string[];
|
|
240
|
+
prop: string;
|
|
241
|
+
} | {
|
|
242
|
+
includedNodes?: string[];
|
|
243
|
+
prop: string;
|
|
244
|
+
})[];
|
|
245
|
+
}], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
219
246
|
readonly "no-forward-ref": _typescript_eslint_utils_ts_eslint.RuleModule<"noForwardRef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
220
247
|
readonly "no-implicit-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noImplicitKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
221
248
|
readonly "no-leaked-conditional-rendering": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedConditionalRendering", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
@@ -301,6 +328,15 @@ declare const _default: {
|
|
|
301
328
|
readonly "no-default-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noDefaultProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
302
329
|
readonly "no-direct-mutation-state": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectMutationState", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
303
330
|
readonly "no-duplicate-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noDuplicateKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
331
|
+
readonly "no-forbidden-props": _typescript_eslint_utils_ts_eslint.RuleModule<"noForbiddenProps", readonly [{
|
|
332
|
+
forbid: (string | {
|
|
333
|
+
excludedNodes?: string[];
|
|
334
|
+
prop: string;
|
|
335
|
+
} | {
|
|
336
|
+
includedNodes?: string[];
|
|
337
|
+
prop: string;
|
|
338
|
+
})[];
|
|
339
|
+
}], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
304
340
|
readonly "no-forward-ref": _typescript_eslint_utils_ts_eslint.RuleModule<"noForwardRef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
305
341
|
readonly "no-implicit-key": _typescript_eslint_utils_ts_eslint.RuleModule<"noImplicitKey", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
306
342
|
readonly "no-leaked-conditional-rendering": _typescript_eslint_utils_ts_eslint.RuleModule<"noLeakedConditionalRendering", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
package/dist/index.js
CHANGED
|
@@ -5,9 +5,10 @@ import * as AST13 from '@eslint-react/ast';
|
|
|
5
5
|
import * as VAR5 from '@eslint-react/var';
|
|
6
6
|
import { match, isMatching, P } from 'ts-pattern';
|
|
7
7
|
import * as ER27 from '@eslint-react/core';
|
|
8
|
-
import { JsxConfig, Reporter, Selector, LanguagePreference } from '@eslint-react/kit';
|
|
8
|
+
import { JsxConfig, Reporter, RegExp, Selector, LanguagePreference } from '@eslint-react/kit';
|
|
9
9
|
import { flow, identity, getOrElseUpdate, constTrue, constFalse, unit } from '@eslint-react/eff';
|
|
10
10
|
import { compare } from 'compare-versions';
|
|
11
|
+
import { camelCase } from 'string-ts';
|
|
11
12
|
import { getConstrainedTypeAtLocation, isTypeReadonly } from '@typescript-eslint/type-utils';
|
|
12
13
|
import { unionConstituents } from 'ts-api-utils';
|
|
13
14
|
import { getTypeImmutability, isUnknown, isImmutable, isReadonlyShallow, isReadonlyDeep } from 'is-immutable-type';
|
|
@@ -132,7 +133,7 @@ var settings3 = {
|
|
|
132
133
|
|
|
133
134
|
// package.json
|
|
134
135
|
var name4 = "eslint-plugin-react-x";
|
|
135
|
-
var version = "2.0.0-beta.
|
|
136
|
+
var version = "2.0.0-beta.28";
|
|
136
137
|
var createRule = ESLintUtils.RuleCreator(getDocsUrl("x"));
|
|
137
138
|
|
|
138
139
|
// src/rules/jsx-key-before-spread.ts
|
|
@@ -1509,7 +1510,107 @@ function create27(context) {
|
|
|
1509
1510
|
}
|
|
1510
1511
|
};
|
|
1511
1512
|
}
|
|
1512
|
-
var RULE_NAME28 = "no-
|
|
1513
|
+
var RULE_NAME28 = "no-forbidden-props";
|
|
1514
|
+
var messageId = camelCase(RULE_NAME28);
|
|
1515
|
+
var defaultOptions3 = [{
|
|
1516
|
+
forbid: [{ prop: "/_/" }]
|
|
1517
|
+
}];
|
|
1518
|
+
var no_forbidden_props_default = createRule({
|
|
1519
|
+
meta: {
|
|
1520
|
+
type: "problem",
|
|
1521
|
+
defaultOptions: [...defaultOptions3],
|
|
1522
|
+
docs: {
|
|
1523
|
+
description: "Disallow certain props on components."
|
|
1524
|
+
},
|
|
1525
|
+
messages: {
|
|
1526
|
+
[messageId]: 'Prop "{{name}}" is forbidden.'
|
|
1527
|
+
},
|
|
1528
|
+
schema: [{
|
|
1529
|
+
type: "object",
|
|
1530
|
+
properties: {
|
|
1531
|
+
forbid: {
|
|
1532
|
+
type: "array",
|
|
1533
|
+
items: {
|
|
1534
|
+
anyOf: [
|
|
1535
|
+
{ type: "string" },
|
|
1536
|
+
{
|
|
1537
|
+
type: "object",
|
|
1538
|
+
additionalProperties: false,
|
|
1539
|
+
properties: {
|
|
1540
|
+
excludedNodes: {
|
|
1541
|
+
type: "array",
|
|
1542
|
+
items: { type: "string" },
|
|
1543
|
+
uniqueItems: true
|
|
1544
|
+
},
|
|
1545
|
+
prop: { type: "string" }
|
|
1546
|
+
},
|
|
1547
|
+
required: ["prop"]
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
type: "object",
|
|
1551
|
+
additionalProperties: false,
|
|
1552
|
+
properties: {
|
|
1553
|
+
includedNodes: {
|
|
1554
|
+
type: "array",
|
|
1555
|
+
items: { type: "string" },
|
|
1556
|
+
uniqueItems: true
|
|
1557
|
+
},
|
|
1558
|
+
prop: { type: "string" }
|
|
1559
|
+
},
|
|
1560
|
+
required: ["prop"]
|
|
1561
|
+
}
|
|
1562
|
+
]
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
}]
|
|
1567
|
+
},
|
|
1568
|
+
name: RULE_NAME28,
|
|
1569
|
+
create: create28,
|
|
1570
|
+
defaultOptions: defaultOptions3
|
|
1571
|
+
});
|
|
1572
|
+
function create28(context, [option]) {
|
|
1573
|
+
const { forbid = [{ prop: "/_/" }] } = option;
|
|
1574
|
+
return {
|
|
1575
|
+
JSXOpeningElement(node) {
|
|
1576
|
+
let nodeName = null;
|
|
1577
|
+
if (node.name.type === AST_NODE_TYPES.JSXIdentifier) {
|
|
1578
|
+
nodeName = node.name.name;
|
|
1579
|
+
} else if (node.name.type === AST_NODE_TYPES.JSXNamespacedName) {
|
|
1580
|
+
nodeName = node.name.name.name;
|
|
1581
|
+
}
|
|
1582
|
+
for (const attr of node.attributes) {
|
|
1583
|
+
if (attr.type === AST_NODE_TYPES.JSXSpreadAttribute) {
|
|
1584
|
+
continue;
|
|
1585
|
+
}
|
|
1586
|
+
const name5 = attr.name.name;
|
|
1587
|
+
if (typeof name5 !== "string") {
|
|
1588
|
+
continue;
|
|
1589
|
+
}
|
|
1590
|
+
for (const forbiddenPropItem of forbid) {
|
|
1591
|
+
if (typeof forbiddenPropItem !== "string" && nodeName != null) {
|
|
1592
|
+
if ("excludedNodes" in forbiddenPropItem && forbiddenPropItem.excludedNodes.includes(nodeName)) {
|
|
1593
|
+
continue;
|
|
1594
|
+
}
|
|
1595
|
+
if ("includedNodes" in forbiddenPropItem && !forbiddenPropItem.includedNodes.includes(nodeName)) {
|
|
1596
|
+
continue;
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
const forbiddenProp = typeof forbiddenPropItem === "string" ? forbiddenPropItem : forbiddenPropItem.prop;
|
|
1600
|
+
const forbiddenPropRegExp = RegExp.toRegExp(forbiddenProp);
|
|
1601
|
+
if (forbiddenPropRegExp.test(name5)) {
|
|
1602
|
+
context.report({
|
|
1603
|
+
messageId,
|
|
1604
|
+
node: attr,
|
|
1605
|
+
data: { name: name5 }
|
|
1606
|
+
});
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
}
|
|
1610
|
+
}
|
|
1611
|
+
};
|
|
1612
|
+
}
|
|
1613
|
+
var RULE_NAME29 = "no-forward-ref";
|
|
1513
1614
|
var RULE_FEATURES28 = [
|
|
1514
1615
|
"MOD"
|
|
1515
1616
|
];
|
|
@@ -1526,11 +1627,11 @@ var no_forward_ref_default = createRule({
|
|
|
1526
1627
|
},
|
|
1527
1628
|
schema: []
|
|
1528
1629
|
},
|
|
1529
|
-
name:
|
|
1530
|
-
create:
|
|
1630
|
+
name: RULE_NAME29,
|
|
1631
|
+
create: create29,
|
|
1531
1632
|
defaultOptions: []
|
|
1532
1633
|
});
|
|
1533
|
-
function
|
|
1634
|
+
function create29(context) {
|
|
1534
1635
|
if (!context.sourceCode.text.includes("forwardRef")) {
|
|
1535
1636
|
return {};
|
|
1536
1637
|
}
|
|
@@ -1619,7 +1720,7 @@ function getComponentPropsFixes(context, fixer, node, typeArguments) {
|
|
|
1619
1720
|
...arg1 == null ? [] : [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])]
|
|
1620
1721
|
];
|
|
1621
1722
|
}
|
|
1622
|
-
var
|
|
1723
|
+
var RULE_NAME30 = "no-implicit-key";
|
|
1623
1724
|
var RULE_FEATURES29 = [
|
|
1624
1725
|
"EXP"
|
|
1625
1726
|
];
|
|
@@ -1635,11 +1736,11 @@ var no_implicit_key_default = createRule({
|
|
|
1635
1736
|
},
|
|
1636
1737
|
schema: []
|
|
1637
1738
|
},
|
|
1638
|
-
name:
|
|
1639
|
-
create:
|
|
1739
|
+
name: RULE_NAME30,
|
|
1740
|
+
create: create30,
|
|
1640
1741
|
defaultOptions: []
|
|
1641
1742
|
});
|
|
1642
|
-
function
|
|
1743
|
+
function create30(context) {
|
|
1643
1744
|
return {
|
|
1644
1745
|
JSXOpeningElement(node) {
|
|
1645
1746
|
const initialScope = context.sourceCode.getScope(node);
|
|
@@ -1653,7 +1754,7 @@ function create29(context) {
|
|
|
1653
1754
|
}
|
|
1654
1755
|
};
|
|
1655
1756
|
}
|
|
1656
|
-
var
|
|
1757
|
+
var RULE_NAME31 = "no-leaked-conditional-rendering";
|
|
1657
1758
|
var RULE_FEATURES30 = [
|
|
1658
1759
|
"TSC"
|
|
1659
1760
|
];
|
|
@@ -1669,11 +1770,11 @@ var no_leaked_conditional_rendering_default = createRule({
|
|
|
1669
1770
|
},
|
|
1670
1771
|
schema: []
|
|
1671
1772
|
},
|
|
1672
|
-
name:
|
|
1673
|
-
create:
|
|
1773
|
+
name: RULE_NAME31,
|
|
1774
|
+
create: create31,
|
|
1674
1775
|
defaultOptions: []
|
|
1675
1776
|
});
|
|
1676
|
-
function
|
|
1777
|
+
function create31(context) {
|
|
1677
1778
|
if (!context.sourceCode.text.includes("&&")) return {};
|
|
1678
1779
|
const { version: version2 } = getSettingsFromContext(context);
|
|
1679
1780
|
const allowedVariants = [
|
|
@@ -1731,7 +1832,7 @@ function create30(context) {
|
|
|
1731
1832
|
JSXExpressionContainer: flow(getReportDescriptor, Reporter.make(context).send)
|
|
1732
1833
|
};
|
|
1733
1834
|
}
|
|
1734
|
-
var
|
|
1835
|
+
var RULE_NAME32 = "no-missing-component-display-name";
|
|
1735
1836
|
var RULE_FEATURES31 = [];
|
|
1736
1837
|
var no_missing_component_display_name_default = createRule({
|
|
1737
1838
|
meta: {
|
|
@@ -1745,11 +1846,11 @@ var no_missing_component_display_name_default = createRule({
|
|
|
1745
1846
|
},
|
|
1746
1847
|
schema: []
|
|
1747
1848
|
},
|
|
1748
|
-
name:
|
|
1749
|
-
create:
|
|
1849
|
+
name: RULE_NAME32,
|
|
1850
|
+
create: create32,
|
|
1750
1851
|
defaultOptions: []
|
|
1751
1852
|
});
|
|
1752
|
-
function
|
|
1853
|
+
function create32(context) {
|
|
1753
1854
|
if (!context.sourceCode.text.includes("memo") && !context.sourceCode.text.includes("forwardRef")) return {};
|
|
1754
1855
|
const {
|
|
1755
1856
|
ctx,
|
|
@@ -1785,7 +1886,7 @@ function create31(context) {
|
|
|
1785
1886
|
}
|
|
1786
1887
|
};
|
|
1787
1888
|
}
|
|
1788
|
-
var
|
|
1889
|
+
var RULE_NAME33 = "no-missing-context-display-name";
|
|
1789
1890
|
var RULE_FEATURES32 = [
|
|
1790
1891
|
"FIX"
|
|
1791
1892
|
];
|
|
@@ -1802,11 +1903,11 @@ var no_missing_context_display_name_default = createRule({
|
|
|
1802
1903
|
},
|
|
1803
1904
|
schema: []
|
|
1804
1905
|
},
|
|
1805
|
-
name:
|
|
1806
|
-
create:
|
|
1906
|
+
name: RULE_NAME33,
|
|
1907
|
+
create: create33,
|
|
1807
1908
|
defaultOptions: []
|
|
1808
1909
|
});
|
|
1809
|
-
function
|
|
1910
|
+
function create33(context) {
|
|
1810
1911
|
if (!context.sourceCode.text.includes("createContext")) return {};
|
|
1811
1912
|
const createCalls = [];
|
|
1812
1913
|
const displayNameAssignments = [];
|
|
@@ -1862,7 +1963,7 @@ function create32(context) {
|
|
|
1862
1963
|
}
|
|
1863
1964
|
};
|
|
1864
1965
|
}
|
|
1865
|
-
var
|
|
1966
|
+
var RULE_NAME34 = "no-missing-key";
|
|
1866
1967
|
var RULE_FEATURES33 = [];
|
|
1867
1968
|
var no_missing_key_default = createRule({
|
|
1868
1969
|
meta: {
|
|
@@ -1877,11 +1978,11 @@ var no_missing_key_default = createRule({
|
|
|
1877
1978
|
},
|
|
1878
1979
|
schema: []
|
|
1879
1980
|
},
|
|
1880
|
-
name:
|
|
1881
|
-
create:
|
|
1981
|
+
name: RULE_NAME34,
|
|
1982
|
+
create: create34,
|
|
1882
1983
|
defaultOptions: []
|
|
1883
1984
|
});
|
|
1884
|
-
function
|
|
1985
|
+
function create34(context) {
|
|
1885
1986
|
const report = Reporter.make(context);
|
|
1886
1987
|
const state = { isWithinChildrenToArray: false };
|
|
1887
1988
|
function checkIteratorElement(node) {
|
|
@@ -1984,7 +2085,7 @@ function create33(context) {
|
|
|
1984
2085
|
}
|
|
1985
2086
|
};
|
|
1986
2087
|
}
|
|
1987
|
-
var
|
|
2088
|
+
var RULE_NAME35 = "no-misused-capture-owner-stack";
|
|
1988
2089
|
var RULE_FEATURES34 = [
|
|
1989
2090
|
"EXP"
|
|
1990
2091
|
];
|
|
@@ -2003,11 +2104,11 @@ var no_misused_capture_owner_stack_default = createRule({
|
|
|
2003
2104
|
},
|
|
2004
2105
|
schema: []
|
|
2005
2106
|
},
|
|
2006
|
-
name:
|
|
2007
|
-
create:
|
|
2107
|
+
name: RULE_NAME35,
|
|
2108
|
+
create: create35,
|
|
2008
2109
|
defaultOptions: []
|
|
2009
2110
|
});
|
|
2010
|
-
function
|
|
2111
|
+
function create35(context) {
|
|
2011
2112
|
if (!context.sourceCode.text.includes("captureOwnerStack")) return {};
|
|
2012
2113
|
const { importSource } = getSettingsFromContext(context);
|
|
2013
2114
|
return {
|
|
@@ -2040,7 +2141,7 @@ function isDevelopmentOnlyCheck(node) {
|
|
|
2040
2141
|
if (AST13.isProcessEnvNodeEnvCompare(node.test, "!==", "production")) return true;
|
|
2041
2142
|
return false;
|
|
2042
2143
|
}
|
|
2043
|
-
var
|
|
2144
|
+
var RULE_NAME36 = "no-nested-component-definitions";
|
|
2044
2145
|
var RULE_FEATURES35 = [];
|
|
2045
2146
|
var no_nested_component_definitions_default = createRule({
|
|
2046
2147
|
meta: {
|
|
@@ -2054,11 +2155,11 @@ var no_nested_component_definitions_default = createRule({
|
|
|
2054
2155
|
},
|
|
2055
2156
|
schema: []
|
|
2056
2157
|
},
|
|
2057
|
-
name:
|
|
2058
|
-
create:
|
|
2158
|
+
name: RULE_NAME36,
|
|
2159
|
+
create: create36,
|
|
2059
2160
|
defaultOptions: []
|
|
2060
2161
|
});
|
|
2061
|
-
function
|
|
2162
|
+
function create36(context) {
|
|
2062
2163
|
const hint = ER27.ComponentDetectionHint.SkipArrayMapArgument | ER27.ComponentDetectionHint.SkipNullLiteral | ER27.ComponentDetectionHint.SkipUndefined | ER27.ComponentDetectionHint.SkipBooleanLiteral | ER27.ComponentDetectionHint.SkipStringLiteral | ER27.ComponentDetectionHint.SkipNumberLiteral | ER27.ComponentDetectionHint.StrictLogical | ER27.ComponentDetectionHint.StrictConditional;
|
|
2063
2164
|
const collector = ER27.useComponentCollector(context, { hint });
|
|
2064
2165
|
const collectorLegacy = ER27.useComponentCollectorLegacy();
|
|
@@ -2157,7 +2258,7 @@ function isInsideCreateElementProps(context, node) {
|
|
|
2157
2258
|
if (prop == null) return false;
|
|
2158
2259
|
return prop === call.arguments[1];
|
|
2159
2260
|
}
|
|
2160
|
-
var
|
|
2261
|
+
var RULE_NAME37 = "no-nested-component-definitions";
|
|
2161
2262
|
var RULE_FEATURES36 = [];
|
|
2162
2263
|
var no_nested_lazy_component_declarations_default = createRule({
|
|
2163
2264
|
meta: {
|
|
@@ -2171,11 +2272,11 @@ var no_nested_lazy_component_declarations_default = createRule({
|
|
|
2171
2272
|
},
|
|
2172
2273
|
schema: []
|
|
2173
2274
|
},
|
|
2174
|
-
name:
|
|
2175
|
-
create:
|
|
2275
|
+
name: RULE_NAME37,
|
|
2276
|
+
create: create37,
|
|
2176
2277
|
defaultOptions: []
|
|
2177
2278
|
});
|
|
2178
|
-
function
|
|
2279
|
+
function create37(context) {
|
|
2179
2280
|
const hint = ER27.ComponentDetectionHint.None;
|
|
2180
2281
|
const collector = ER27.useComponentCollector(context, { hint });
|
|
2181
2282
|
const collectorLegacy = ER27.useComponentCollectorLegacy();
|
|
@@ -2220,7 +2321,7 @@ function create36(context) {
|
|
|
2220
2321
|
}
|
|
2221
2322
|
};
|
|
2222
2323
|
}
|
|
2223
|
-
var
|
|
2324
|
+
var RULE_NAME38 = "no-prop-types";
|
|
2224
2325
|
var RULE_FEATURES37 = [];
|
|
2225
2326
|
var no_prop_types_default = createRule({
|
|
2226
2327
|
meta: {
|
|
@@ -2234,11 +2335,11 @@ var no_prop_types_default = createRule({
|
|
|
2234
2335
|
},
|
|
2235
2336
|
schema: []
|
|
2236
2337
|
},
|
|
2237
|
-
name:
|
|
2238
|
-
create:
|
|
2338
|
+
name: RULE_NAME38,
|
|
2339
|
+
create: create38,
|
|
2239
2340
|
defaultOptions: []
|
|
2240
2341
|
});
|
|
2241
|
-
function
|
|
2342
|
+
function create38(context) {
|
|
2242
2343
|
if (!context.sourceCode.text.includes("propTypes")) {
|
|
2243
2344
|
return {};
|
|
2244
2345
|
}
|
|
@@ -2274,7 +2375,7 @@ function create37(context) {
|
|
|
2274
2375
|
}
|
|
2275
2376
|
};
|
|
2276
2377
|
}
|
|
2277
|
-
var
|
|
2378
|
+
var RULE_NAME39 = "no-redundant-should-component-update";
|
|
2278
2379
|
var RULE_FEATURES38 = [];
|
|
2279
2380
|
function isShouldComponentUpdate(node) {
|
|
2280
2381
|
return AST13.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
|
|
@@ -2291,11 +2392,11 @@ var no_redundant_should_component_update_default = createRule({
|
|
|
2291
2392
|
},
|
|
2292
2393
|
schema: []
|
|
2293
2394
|
},
|
|
2294
|
-
name:
|
|
2295
|
-
create:
|
|
2395
|
+
name: RULE_NAME39,
|
|
2396
|
+
create: create39,
|
|
2296
2397
|
defaultOptions: []
|
|
2297
2398
|
});
|
|
2298
|
-
function
|
|
2399
|
+
function create39(context) {
|
|
2299
2400
|
if (!context.sourceCode.text.includes("shouldComponentUpdate")) return {};
|
|
2300
2401
|
const { ctx, listeners } = ER27.useComponentCollectorLegacy();
|
|
2301
2402
|
return {
|
|
@@ -2322,7 +2423,7 @@ function create38(context) {
|
|
|
2322
2423
|
}
|
|
2323
2424
|
};
|
|
2324
2425
|
}
|
|
2325
|
-
var
|
|
2426
|
+
var RULE_NAME40 = "no-set-state-in-component-did-mount";
|
|
2326
2427
|
var RULE_FEATURES39 = [];
|
|
2327
2428
|
var no_set_state_in_component_did_mount_default = createRule({
|
|
2328
2429
|
meta: {
|
|
@@ -2336,11 +2437,11 @@ var no_set_state_in_component_did_mount_default = createRule({
|
|
|
2336
2437
|
},
|
|
2337
2438
|
schema: []
|
|
2338
2439
|
},
|
|
2339
|
-
name:
|
|
2340
|
-
create:
|
|
2440
|
+
name: RULE_NAME40,
|
|
2441
|
+
create: create40,
|
|
2341
2442
|
defaultOptions: []
|
|
2342
2443
|
});
|
|
2343
|
-
function
|
|
2444
|
+
function create40(context) {
|
|
2344
2445
|
if (!context.sourceCode.text.includes("componentDidMount")) return {};
|
|
2345
2446
|
return {
|
|
2346
2447
|
CallExpression(node) {
|
|
@@ -2361,7 +2462,7 @@ function create39(context) {
|
|
|
2361
2462
|
}
|
|
2362
2463
|
};
|
|
2363
2464
|
}
|
|
2364
|
-
var
|
|
2465
|
+
var RULE_NAME41 = "no-set-state-in-component-did-update";
|
|
2365
2466
|
var RULE_FEATURES40 = [];
|
|
2366
2467
|
var no_set_state_in_component_did_update_default = createRule({
|
|
2367
2468
|
meta: {
|
|
@@ -2375,11 +2476,11 @@ var no_set_state_in_component_did_update_default = createRule({
|
|
|
2375
2476
|
},
|
|
2376
2477
|
schema: []
|
|
2377
2478
|
},
|
|
2378
|
-
name:
|
|
2379
|
-
create:
|
|
2479
|
+
name: RULE_NAME41,
|
|
2480
|
+
create: create41,
|
|
2380
2481
|
defaultOptions: []
|
|
2381
2482
|
});
|
|
2382
|
-
function
|
|
2483
|
+
function create41(context) {
|
|
2383
2484
|
if (!context.sourceCode.text.includes("componentDidUpdate")) return {};
|
|
2384
2485
|
return {
|
|
2385
2486
|
CallExpression(node) {
|
|
@@ -2400,7 +2501,7 @@ function create40(context) {
|
|
|
2400
2501
|
}
|
|
2401
2502
|
};
|
|
2402
2503
|
}
|
|
2403
|
-
var
|
|
2504
|
+
var RULE_NAME42 = "no-set-state-in-component-will-update";
|
|
2404
2505
|
var RULE_FEATURES41 = [];
|
|
2405
2506
|
var no_set_state_in_component_will_update_default = createRule({
|
|
2406
2507
|
meta: {
|
|
@@ -2414,11 +2515,11 @@ var no_set_state_in_component_will_update_default = createRule({
|
|
|
2414
2515
|
},
|
|
2415
2516
|
schema: []
|
|
2416
2517
|
},
|
|
2417
|
-
name:
|
|
2418
|
-
create:
|
|
2518
|
+
name: RULE_NAME42,
|
|
2519
|
+
create: create42,
|
|
2419
2520
|
defaultOptions: []
|
|
2420
2521
|
});
|
|
2421
|
-
function
|
|
2522
|
+
function create42(context) {
|
|
2422
2523
|
if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
|
|
2423
2524
|
return {
|
|
2424
2525
|
CallExpression(node) {
|
|
@@ -2439,7 +2540,7 @@ function create41(context) {
|
|
|
2439
2540
|
}
|
|
2440
2541
|
};
|
|
2441
2542
|
}
|
|
2442
|
-
var
|
|
2543
|
+
var RULE_NAME43 = "no-string-refs";
|
|
2443
2544
|
var RULE_FEATURES42 = [
|
|
2444
2545
|
"MOD"
|
|
2445
2546
|
];
|
|
@@ -2456,11 +2557,11 @@ var no_string_refs_default = createRule({
|
|
|
2456
2557
|
},
|
|
2457
2558
|
schema: []
|
|
2458
2559
|
},
|
|
2459
|
-
name:
|
|
2460
|
-
create:
|
|
2560
|
+
name: RULE_NAME43,
|
|
2561
|
+
create: create43,
|
|
2461
2562
|
defaultOptions: []
|
|
2462
2563
|
});
|
|
2463
|
-
function
|
|
2564
|
+
function create43(context) {
|
|
2464
2565
|
const state = {
|
|
2465
2566
|
isWithinClassComponent: false
|
|
2466
2567
|
};
|
|
@@ -2504,7 +2605,7 @@ function getAttributeValueText(context, node) {
|
|
|
2504
2605
|
return null;
|
|
2505
2606
|
}
|
|
2506
2607
|
}
|
|
2507
|
-
var
|
|
2608
|
+
var RULE_NAME44 = "no-unnecessary-use-callback";
|
|
2508
2609
|
var RULE_FEATURES43 = [
|
|
2509
2610
|
"EXP"
|
|
2510
2611
|
];
|
|
@@ -2520,11 +2621,11 @@ var no_unnecessary_use_callback_default = createRule({
|
|
|
2520
2621
|
},
|
|
2521
2622
|
schema: []
|
|
2522
2623
|
},
|
|
2523
|
-
name:
|
|
2524
|
-
create:
|
|
2624
|
+
name: RULE_NAME44,
|
|
2625
|
+
create: create44,
|
|
2525
2626
|
defaultOptions: []
|
|
2526
2627
|
});
|
|
2527
|
-
function
|
|
2628
|
+
function create44(context) {
|
|
2528
2629
|
if (!context.sourceCode.text.includes("use")) return {};
|
|
2529
2630
|
const alias = getSettingsFromContext(context).additionalHooks.useCallback ?? [];
|
|
2530
2631
|
const isUseCallbackCall = ER27.isReactHookCallWithNameAlias(context, "useCallback", alias);
|
|
@@ -2583,7 +2684,7 @@ function create43(context) {
|
|
|
2583
2684
|
}
|
|
2584
2685
|
};
|
|
2585
2686
|
}
|
|
2586
|
-
var
|
|
2687
|
+
var RULE_NAME45 = "no-unnecessary-use-memo";
|
|
2587
2688
|
var RULE_FEATURES44 = [
|
|
2588
2689
|
"EXP"
|
|
2589
2690
|
];
|
|
@@ -2599,11 +2700,11 @@ var no_unnecessary_use_memo_default = createRule({
|
|
|
2599
2700
|
},
|
|
2600
2701
|
schema: []
|
|
2601
2702
|
},
|
|
2602
|
-
name:
|
|
2603
|
-
create:
|
|
2703
|
+
name: RULE_NAME45,
|
|
2704
|
+
create: create45,
|
|
2604
2705
|
defaultOptions: []
|
|
2605
2706
|
});
|
|
2606
|
-
function
|
|
2707
|
+
function create45(context) {
|
|
2607
2708
|
if (!context.sourceCode.text.includes("use")) return {};
|
|
2608
2709
|
const alias = getSettingsFromContext(context).additionalHooks.useMemo ?? [];
|
|
2609
2710
|
const isUseMemoCall = ER27.isReactHookCallWithNameAlias(context, "useMemo", alias);
|
|
@@ -2666,7 +2767,7 @@ function create44(context) {
|
|
|
2666
2767
|
}
|
|
2667
2768
|
};
|
|
2668
2769
|
}
|
|
2669
|
-
var
|
|
2770
|
+
var RULE_NAME46 = "no-unnecessary-use-prefix";
|
|
2670
2771
|
var RULE_FEATURES45 = [];
|
|
2671
2772
|
var WELL_KNOWN_HOOKS = [
|
|
2672
2773
|
"useMDXComponents"
|
|
@@ -2686,11 +2787,11 @@ var no_unnecessary_use_prefix_default = createRule({
|
|
|
2686
2787
|
},
|
|
2687
2788
|
schema: []
|
|
2688
2789
|
},
|
|
2689
|
-
name:
|
|
2690
|
-
create:
|
|
2790
|
+
name: RULE_NAME46,
|
|
2791
|
+
create: create46,
|
|
2691
2792
|
defaultOptions: []
|
|
2692
2793
|
});
|
|
2693
|
-
function
|
|
2794
|
+
function create46(context) {
|
|
2694
2795
|
const { ctx, listeners } = ER27.useHookCollector();
|
|
2695
2796
|
return {
|
|
2696
2797
|
...listeners,
|
|
@@ -2720,7 +2821,7 @@ function create45(context) {
|
|
|
2720
2821
|
}
|
|
2721
2822
|
};
|
|
2722
2823
|
}
|
|
2723
|
-
var
|
|
2824
|
+
var RULE_NAME47 = "no-unsafe-component-will-mount";
|
|
2724
2825
|
var RULE_FEATURES46 = [];
|
|
2725
2826
|
var no_unsafe_component_will_mount_default = createRule({
|
|
2726
2827
|
meta: {
|
|
@@ -2734,11 +2835,11 @@ var no_unsafe_component_will_mount_default = createRule({
|
|
|
2734
2835
|
},
|
|
2735
2836
|
schema: []
|
|
2736
2837
|
},
|
|
2737
|
-
name:
|
|
2738
|
-
create:
|
|
2838
|
+
name: RULE_NAME47,
|
|
2839
|
+
create: create47,
|
|
2739
2840
|
defaultOptions: []
|
|
2740
2841
|
});
|
|
2741
|
-
function
|
|
2842
|
+
function create47(context) {
|
|
2742
2843
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillMount")) return {};
|
|
2743
2844
|
const { ctx, listeners } = ER27.useComponentCollectorLegacy();
|
|
2744
2845
|
return {
|
|
@@ -2759,7 +2860,7 @@ function create46(context) {
|
|
|
2759
2860
|
}
|
|
2760
2861
|
};
|
|
2761
2862
|
}
|
|
2762
|
-
var
|
|
2863
|
+
var RULE_NAME48 = "no-unsafe-component-will-receive-props";
|
|
2763
2864
|
var RULE_FEATURES47 = [];
|
|
2764
2865
|
var no_unsafe_component_will_receive_props_default = createRule({
|
|
2765
2866
|
meta: {
|
|
@@ -2773,11 +2874,11 @@ var no_unsafe_component_will_receive_props_default = createRule({
|
|
|
2773
2874
|
},
|
|
2774
2875
|
schema: []
|
|
2775
2876
|
},
|
|
2776
|
-
name:
|
|
2777
|
-
create:
|
|
2877
|
+
name: RULE_NAME48,
|
|
2878
|
+
create: create48,
|
|
2778
2879
|
defaultOptions: []
|
|
2779
2880
|
});
|
|
2780
|
-
function
|
|
2881
|
+
function create48(context) {
|
|
2781
2882
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillReceiveProps")) {
|
|
2782
2883
|
return {};
|
|
2783
2884
|
}
|
|
@@ -2800,7 +2901,7 @@ function create47(context) {
|
|
|
2800
2901
|
}
|
|
2801
2902
|
};
|
|
2802
2903
|
}
|
|
2803
|
-
var
|
|
2904
|
+
var RULE_NAME49 = "no-unsafe-component-will-update";
|
|
2804
2905
|
var RULE_FEATURES48 = [];
|
|
2805
2906
|
var no_unsafe_component_will_update_default = createRule({
|
|
2806
2907
|
meta: {
|
|
@@ -2814,11 +2915,11 @@ var no_unsafe_component_will_update_default = createRule({
|
|
|
2814
2915
|
},
|
|
2815
2916
|
schema: []
|
|
2816
2917
|
},
|
|
2817
|
-
name:
|
|
2818
|
-
create:
|
|
2918
|
+
name: RULE_NAME49,
|
|
2919
|
+
create: create49,
|
|
2819
2920
|
defaultOptions: []
|
|
2820
2921
|
});
|
|
2821
|
-
function
|
|
2922
|
+
function create49(context) {
|
|
2822
2923
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillUpdate")) return {};
|
|
2823
2924
|
const { ctx, listeners } = ER27.useComponentCollectorLegacy();
|
|
2824
2925
|
return {
|
|
@@ -2839,7 +2940,7 @@ function create48(context) {
|
|
|
2839
2940
|
}
|
|
2840
2941
|
};
|
|
2841
2942
|
}
|
|
2842
|
-
var
|
|
2943
|
+
var RULE_NAME50 = "no-unstable-context-value";
|
|
2843
2944
|
var RULE_FEATURES49 = [];
|
|
2844
2945
|
var no_unstable_context_value_default = createRule({
|
|
2845
2946
|
meta: {
|
|
@@ -2853,11 +2954,11 @@ var no_unstable_context_value_default = createRule({
|
|
|
2853
2954
|
},
|
|
2854
2955
|
schema: []
|
|
2855
2956
|
},
|
|
2856
|
-
name:
|
|
2857
|
-
create:
|
|
2957
|
+
name: RULE_NAME50,
|
|
2958
|
+
create: create50,
|
|
2858
2959
|
defaultOptions: []
|
|
2859
2960
|
});
|
|
2860
|
-
function
|
|
2961
|
+
function create50(context) {
|
|
2861
2962
|
const { version: version2 } = getSettingsFromContext(context);
|
|
2862
2963
|
const isReact18OrBelow = compare(version2, "19.0.0", "<");
|
|
2863
2964
|
const { ctx, listeners } = ER27.useComponentCollector(context);
|
|
@@ -2912,7 +3013,7 @@ function isContextName(name5, isReact18OrBelow) {
|
|
|
2912
3013
|
}
|
|
2913
3014
|
return false;
|
|
2914
3015
|
}
|
|
2915
|
-
var
|
|
3016
|
+
var RULE_NAME51 = "no-unstable-default-props";
|
|
2916
3017
|
var RULE_FEATURES50 = [];
|
|
2917
3018
|
var no_unstable_default_props_default = createRule({
|
|
2918
3019
|
meta: {
|
|
@@ -2926,11 +3027,11 @@ var no_unstable_default_props_default = createRule({
|
|
|
2926
3027
|
},
|
|
2927
3028
|
schema: []
|
|
2928
3029
|
},
|
|
2929
|
-
name:
|
|
2930
|
-
create:
|
|
3030
|
+
name: RULE_NAME51,
|
|
3031
|
+
create: create51,
|
|
2931
3032
|
defaultOptions: []
|
|
2932
3033
|
});
|
|
2933
|
-
function
|
|
3034
|
+
function create51(context) {
|
|
2934
3035
|
const { ctx, listeners } = ER27.useComponentCollector(context);
|
|
2935
3036
|
const declarators = /* @__PURE__ */ new WeakMap();
|
|
2936
3037
|
return {
|
|
@@ -2986,7 +3087,7 @@ function create50(context) {
|
|
|
2986
3087
|
}
|
|
2987
3088
|
};
|
|
2988
3089
|
}
|
|
2989
|
-
var
|
|
3090
|
+
var RULE_NAME52 = "no-unused-class-component-members";
|
|
2990
3091
|
var RULE_FEATURES51 = [];
|
|
2991
3092
|
var LIFECYCLE_METHODS = /* @__PURE__ */ new Set([
|
|
2992
3093
|
"componentDidCatch",
|
|
@@ -3020,11 +3121,11 @@ var no_unused_class_component_members_default = createRule({
|
|
|
3020
3121
|
},
|
|
3021
3122
|
schema: []
|
|
3022
3123
|
},
|
|
3023
|
-
name:
|
|
3024
|
-
create:
|
|
3124
|
+
name: RULE_NAME52,
|
|
3125
|
+
create: create52,
|
|
3025
3126
|
defaultOptions: []
|
|
3026
3127
|
});
|
|
3027
|
-
function
|
|
3128
|
+
function create52(context) {
|
|
3028
3129
|
const classEntries = [];
|
|
3029
3130
|
const methodEntries = [];
|
|
3030
3131
|
const propertyDefs = /* @__PURE__ */ new WeakMap();
|
|
@@ -3134,7 +3235,7 @@ function create51(context) {
|
|
|
3134
3235
|
}
|
|
3135
3236
|
};
|
|
3136
3237
|
}
|
|
3137
|
-
var
|
|
3238
|
+
var RULE_NAME53 = "no-unused-props";
|
|
3138
3239
|
var RULE_FEATURES52 = ["TSC", "EXP"];
|
|
3139
3240
|
var no_unused_props_default = createRule({
|
|
3140
3241
|
meta: {
|
|
@@ -3148,11 +3249,11 @@ var no_unused_props_default = createRule({
|
|
|
3148
3249
|
},
|
|
3149
3250
|
schema: []
|
|
3150
3251
|
},
|
|
3151
|
-
name:
|
|
3152
|
-
create:
|
|
3252
|
+
name: RULE_NAME53,
|
|
3253
|
+
create: create53,
|
|
3153
3254
|
defaultOptions: []
|
|
3154
3255
|
});
|
|
3155
|
-
function
|
|
3256
|
+
function create53(context) {
|
|
3156
3257
|
const services = ESLintUtils.getParserServices(context, false);
|
|
3157
3258
|
const { ctx, listeners } = ER27.useComponentCollector(context);
|
|
3158
3259
|
return {
|
|
@@ -3288,7 +3389,7 @@ function reportUnusedProp(context, services, prop) {
|
|
|
3288
3389
|
data: { name: prop.name }
|
|
3289
3390
|
});
|
|
3290
3391
|
}
|
|
3291
|
-
var
|
|
3392
|
+
var RULE_NAME54 = "no-unused-state";
|
|
3292
3393
|
var RULE_FEATURES53 = [];
|
|
3293
3394
|
function isKeyLiteral3(node, key) {
|
|
3294
3395
|
return match(key).with({ type: AST_NODE_TYPES.Literal }, constTrue).with({ type: AST_NODE_TYPES.TemplateLiteral, expressions: [] }, constTrue).with({ type: AST_NODE_TYPES.Identifier }, () => !node.computed).otherwise(constFalse);
|
|
@@ -3305,11 +3406,11 @@ var no_unused_state_default = createRule({
|
|
|
3305
3406
|
},
|
|
3306
3407
|
schema: []
|
|
3307
3408
|
},
|
|
3308
|
-
name:
|
|
3309
|
-
create:
|
|
3409
|
+
name: RULE_NAME54,
|
|
3410
|
+
create: create54,
|
|
3310
3411
|
defaultOptions: []
|
|
3311
3412
|
});
|
|
3312
|
-
function
|
|
3413
|
+
function create54(context) {
|
|
3313
3414
|
const classEntries = [];
|
|
3314
3415
|
const methodEntries = [];
|
|
3315
3416
|
const constructorEntries = [];
|
|
@@ -3443,7 +3544,7 @@ function create53(context) {
|
|
|
3443
3544
|
}
|
|
3444
3545
|
};
|
|
3445
3546
|
}
|
|
3446
|
-
var
|
|
3547
|
+
var RULE_NAME55 = "no-use-context";
|
|
3447
3548
|
var RULE_FEATURES54 = [
|
|
3448
3549
|
"MOD"
|
|
3449
3550
|
];
|
|
@@ -3460,11 +3561,11 @@ var no_use_context_default = createRule({
|
|
|
3460
3561
|
},
|
|
3461
3562
|
schema: []
|
|
3462
3563
|
},
|
|
3463
|
-
name:
|
|
3464
|
-
create:
|
|
3564
|
+
name: RULE_NAME55,
|
|
3565
|
+
create: create55,
|
|
3465
3566
|
defaultOptions: []
|
|
3466
3567
|
});
|
|
3467
|
-
function
|
|
3568
|
+
function create55(context) {
|
|
3468
3569
|
if (!context.sourceCode.text.includes("useContext")) return {};
|
|
3469
3570
|
const settings4 = getSettingsFromContext(context);
|
|
3470
3571
|
if (compare(settings4.version, "19.0.0", "<")) {
|
|
@@ -3547,7 +3648,7 @@ function getCorrelativeTokens(context, node) {
|
|
|
3547
3648
|
}
|
|
3548
3649
|
return tokens;
|
|
3549
3650
|
}
|
|
3550
|
-
var
|
|
3651
|
+
var RULE_NAME56 = "no-useless-forward-ref";
|
|
3551
3652
|
var RULE_FEATURES55 = [];
|
|
3552
3653
|
var no_useless_forward_ref_default = createRule({
|
|
3553
3654
|
meta: {
|
|
@@ -3561,11 +3662,11 @@ var no_useless_forward_ref_default = createRule({
|
|
|
3561
3662
|
},
|
|
3562
3663
|
schema: []
|
|
3563
3664
|
},
|
|
3564
|
-
name:
|
|
3565
|
-
create:
|
|
3665
|
+
name: RULE_NAME56,
|
|
3666
|
+
create: create56,
|
|
3566
3667
|
defaultOptions: []
|
|
3567
3668
|
});
|
|
3568
|
-
function
|
|
3669
|
+
function create56(context) {
|
|
3569
3670
|
return {
|
|
3570
3671
|
CallExpression(node) {
|
|
3571
3672
|
if (!ER27.isForwardRefCall(context, node)) {
|
|
@@ -3586,14 +3687,14 @@ function create55(context) {
|
|
|
3586
3687
|
}
|
|
3587
3688
|
};
|
|
3588
3689
|
}
|
|
3589
|
-
var
|
|
3590
|
-
var
|
|
3690
|
+
var RULE_NAME57 = "no-useless-fragment";
|
|
3691
|
+
var defaultOptions4 = [{
|
|
3591
3692
|
allowExpressions: true
|
|
3592
3693
|
}];
|
|
3593
3694
|
var no_useless_fragment_default = createRule({
|
|
3594
3695
|
meta: {
|
|
3595
3696
|
type: "problem",
|
|
3596
|
-
defaultOptions: [...
|
|
3697
|
+
defaultOptions: [...defaultOptions4],
|
|
3597
3698
|
docs: {
|
|
3598
3699
|
description: "Disallow useless fragment elements."
|
|
3599
3700
|
},
|
|
@@ -3612,11 +3713,11 @@ var no_useless_fragment_default = createRule({
|
|
|
3612
3713
|
}
|
|
3613
3714
|
}]
|
|
3614
3715
|
},
|
|
3615
|
-
name:
|
|
3616
|
-
create:
|
|
3617
|
-
defaultOptions:
|
|
3716
|
+
name: RULE_NAME57,
|
|
3717
|
+
create: create57,
|
|
3718
|
+
defaultOptions: defaultOptions4
|
|
3618
3719
|
});
|
|
3619
|
-
function
|
|
3720
|
+
function create57(context, [option]) {
|
|
3620
3721
|
const { allowExpressions = true } = option;
|
|
3621
3722
|
return {
|
|
3622
3723
|
JSXElement(node) {
|
|
@@ -3736,7 +3837,7 @@ function canFix(context, node) {
|
|
|
3736
3837
|
}
|
|
3737
3838
|
return true;
|
|
3738
3839
|
}
|
|
3739
|
-
var
|
|
3840
|
+
var RULE_NAME58 = "prefer-destructuring-assignment";
|
|
3740
3841
|
var RULE_FEATURES56 = [];
|
|
3741
3842
|
function isMemberExpressionWithObjectName(node) {
|
|
3742
3843
|
return node.object.type === AST_NODE_TYPES.Identifier && "name" in node.object;
|
|
@@ -3753,11 +3854,11 @@ var prefer_destructuring_assignment_default = createRule({
|
|
|
3753
3854
|
},
|
|
3754
3855
|
schema: []
|
|
3755
3856
|
},
|
|
3756
|
-
name:
|
|
3757
|
-
create:
|
|
3857
|
+
name: RULE_NAME58,
|
|
3858
|
+
create: create58,
|
|
3758
3859
|
defaultOptions: []
|
|
3759
3860
|
});
|
|
3760
|
-
function
|
|
3861
|
+
function create58(context) {
|
|
3761
3862
|
const { ctx, listeners } = ER27.useComponentCollector(context);
|
|
3762
3863
|
const memberExpressionWithNames = [];
|
|
3763
3864
|
return {
|
|
@@ -3817,7 +3918,7 @@ function create57(context) {
|
|
|
3817
3918
|
}
|
|
3818
3919
|
};
|
|
3819
3920
|
}
|
|
3820
|
-
var
|
|
3921
|
+
var RULE_NAME59 = "prefer-namespace-import";
|
|
3821
3922
|
var RULE_FEATURES57 = [
|
|
3822
3923
|
"FIX"
|
|
3823
3924
|
];
|
|
@@ -3834,11 +3935,11 @@ var prefer_namespace_import_default = createRule({
|
|
|
3834
3935
|
},
|
|
3835
3936
|
schema: []
|
|
3836
3937
|
},
|
|
3837
|
-
name:
|
|
3838
|
-
create:
|
|
3938
|
+
name: RULE_NAME59,
|
|
3939
|
+
create: create59,
|
|
3839
3940
|
defaultOptions: []
|
|
3840
3941
|
});
|
|
3841
|
-
function
|
|
3942
|
+
function create59(context) {
|
|
3842
3943
|
const { importSource } = getSettingsFromContext(context);
|
|
3843
3944
|
return {
|
|
3844
3945
|
[`ImportDeclaration[source.value="${importSource}"] ImportDefaultSpecifier`](node) {
|
|
@@ -3873,7 +3974,7 @@ function create58(context) {
|
|
|
3873
3974
|
}
|
|
3874
3975
|
};
|
|
3875
3976
|
}
|
|
3876
|
-
var
|
|
3977
|
+
var RULE_NAME60 = "prefer-read-only-props";
|
|
3877
3978
|
var RULE_FEATURES58 = [
|
|
3878
3979
|
"TSC",
|
|
3879
3980
|
"EXP"
|
|
@@ -3890,11 +3991,11 @@ var prefer_read_only_props_default = createRule({
|
|
|
3890
3991
|
},
|
|
3891
3992
|
schema: []
|
|
3892
3993
|
},
|
|
3893
|
-
name:
|
|
3894
|
-
create:
|
|
3994
|
+
name: RULE_NAME60,
|
|
3995
|
+
create: create60,
|
|
3895
3996
|
defaultOptions: []
|
|
3896
3997
|
});
|
|
3897
|
-
function
|
|
3998
|
+
function create60(context) {
|
|
3898
3999
|
const services = ESLintUtils.getParserServices(context, false);
|
|
3899
4000
|
const { ctx, listeners } = ER27.useComponentCollector(context);
|
|
3900
4001
|
return {
|
|
@@ -3926,7 +4027,7 @@ function isTypeReadonlyLoose(services, type) {
|
|
|
3926
4027
|
return true;
|
|
3927
4028
|
}
|
|
3928
4029
|
}
|
|
3929
|
-
var
|
|
4030
|
+
var RULE_NAME61 = "prefer-use-state-lazy-initialization";
|
|
3930
4031
|
var RULE_FEATURES59 = [
|
|
3931
4032
|
"EXP"
|
|
3932
4033
|
];
|
|
@@ -3947,11 +4048,11 @@ var prefer_use_state_lazy_initialization_default = createRule({
|
|
|
3947
4048
|
},
|
|
3948
4049
|
schema: []
|
|
3949
4050
|
},
|
|
3950
|
-
name:
|
|
3951
|
-
create:
|
|
4051
|
+
name: RULE_NAME61,
|
|
4052
|
+
create: create61,
|
|
3952
4053
|
defaultOptions: []
|
|
3953
4054
|
});
|
|
3954
|
-
function
|
|
4055
|
+
function create61(context) {
|
|
3955
4056
|
const alias = getSettingsFromContext(context).additionalHooks.useState ?? [];
|
|
3956
4057
|
const isUseStateCall = ER27.isReactHookCallWithNameAlias(context, "useState", alias);
|
|
3957
4058
|
return {
|
|
@@ -3988,7 +4089,7 @@ function create60(context) {
|
|
|
3988
4089
|
}
|
|
3989
4090
|
};
|
|
3990
4091
|
}
|
|
3991
|
-
var
|
|
4092
|
+
var RULE_NAME62 = "avoid-shorthand-boolean";
|
|
3992
4093
|
var RULE_FEATURES60 = [];
|
|
3993
4094
|
var avoid_shorthand_boolean_default = createRule({
|
|
3994
4095
|
meta: {
|
|
@@ -4007,11 +4108,11 @@ var avoid_shorthand_boolean_default = createRule({
|
|
|
4007
4108
|
],
|
|
4008
4109
|
schema: []
|
|
4009
4110
|
},
|
|
4010
|
-
name:
|
|
4011
|
-
create:
|
|
4111
|
+
name: RULE_NAME62,
|
|
4112
|
+
create: create62,
|
|
4012
4113
|
defaultOptions: []
|
|
4013
4114
|
});
|
|
4014
|
-
function
|
|
4115
|
+
function create62(context) {
|
|
4015
4116
|
return {
|
|
4016
4117
|
JSXAttribute(node) {
|
|
4017
4118
|
if (node.value == null) {
|
|
@@ -4027,7 +4128,7 @@ function create61(context) {
|
|
|
4027
4128
|
}
|
|
4028
4129
|
};
|
|
4029
4130
|
}
|
|
4030
|
-
var
|
|
4131
|
+
var RULE_NAME63 = "avoid-shorthand-fragment";
|
|
4031
4132
|
var RULE_FEATURES61 = [];
|
|
4032
4133
|
var avoid_shorthand_fragment_default = createRule({
|
|
4033
4134
|
meta: {
|
|
@@ -4045,11 +4146,11 @@ var avoid_shorthand_fragment_default = createRule({
|
|
|
4045
4146
|
],
|
|
4046
4147
|
schema: []
|
|
4047
4148
|
},
|
|
4048
|
-
name:
|
|
4049
|
-
create:
|
|
4149
|
+
name: RULE_NAME63,
|
|
4150
|
+
create: create63,
|
|
4050
4151
|
defaultOptions: []
|
|
4051
4152
|
});
|
|
4052
|
-
function
|
|
4153
|
+
function create63(context) {
|
|
4053
4154
|
const jsxConfigFromContext = JsxConfig.getFromContext(context);
|
|
4054
4155
|
const jsxConfigFromAnnotation = JsxConfig.getFromAnnotation(context);
|
|
4055
4156
|
const jsxConfig = {
|
|
@@ -4068,7 +4169,7 @@ function create62(context) {
|
|
|
4068
4169
|
}
|
|
4069
4170
|
};
|
|
4070
4171
|
}
|
|
4071
|
-
var
|
|
4172
|
+
var RULE_NAME64 = "prefer-shorthand-boolean";
|
|
4072
4173
|
var RULE_FEATURES62 = [
|
|
4073
4174
|
"FIX"
|
|
4074
4175
|
];
|
|
@@ -4089,11 +4190,11 @@ var prefer_shorthand_boolean_default = createRule({
|
|
|
4089
4190
|
],
|
|
4090
4191
|
schema: []
|
|
4091
4192
|
},
|
|
4092
|
-
name:
|
|
4093
|
-
create:
|
|
4193
|
+
name: RULE_NAME64,
|
|
4194
|
+
create: create64,
|
|
4094
4195
|
defaultOptions: []
|
|
4095
4196
|
});
|
|
4096
|
-
function
|
|
4197
|
+
function create64(context) {
|
|
4097
4198
|
return {
|
|
4098
4199
|
JSXAttribute(node) {
|
|
4099
4200
|
const { value } = node;
|
|
@@ -4113,7 +4214,7 @@ function create63(context) {
|
|
|
4113
4214
|
}
|
|
4114
4215
|
};
|
|
4115
4216
|
}
|
|
4116
|
-
var
|
|
4217
|
+
var RULE_NAME65 = "prefer-shorthand-fragment";
|
|
4117
4218
|
var RULE_FEATURES63 = [
|
|
4118
4219
|
"FIX"
|
|
4119
4220
|
];
|
|
@@ -4134,11 +4235,11 @@ var prefer_shorthand_fragment_default = createRule({
|
|
|
4134
4235
|
],
|
|
4135
4236
|
schema: []
|
|
4136
4237
|
},
|
|
4137
|
-
name:
|
|
4138
|
-
create:
|
|
4238
|
+
name: RULE_NAME65,
|
|
4239
|
+
create: create65,
|
|
4139
4240
|
defaultOptions: []
|
|
4140
4241
|
});
|
|
4141
|
-
function
|
|
4242
|
+
function create65(context) {
|
|
4142
4243
|
return {
|
|
4143
4244
|
JSXElement(node) {
|
|
4144
4245
|
if (!ER27.isFragmentElement(context, node)) return;
|
|
@@ -4163,7 +4264,7 @@ function create64(context) {
|
|
|
4163
4264
|
}
|
|
4164
4265
|
};
|
|
4165
4266
|
}
|
|
4166
|
-
var
|
|
4267
|
+
var RULE_NAME66 = "prefer-react-namespace-import";
|
|
4167
4268
|
var RULE_FEATURES64 = [
|
|
4168
4269
|
"FIX"
|
|
4169
4270
|
];
|
|
@@ -4184,11 +4285,11 @@ var prefer_react_namespace_import_default = createRule({
|
|
|
4184
4285
|
],
|
|
4185
4286
|
schema: []
|
|
4186
4287
|
},
|
|
4187
|
-
name:
|
|
4188
|
-
create:
|
|
4288
|
+
name: RULE_NAME66,
|
|
4289
|
+
create: create66,
|
|
4189
4290
|
defaultOptions: []
|
|
4190
4291
|
});
|
|
4191
|
-
function
|
|
4292
|
+
function create66(context) {
|
|
4192
4293
|
const { importSource } = getSettingsFromContext(context);
|
|
4193
4294
|
return {
|
|
4194
4295
|
[`ImportDeclaration[source.value="${importSource}"] ImportDefaultSpecifier`](node) {
|
|
@@ -4223,7 +4324,7 @@ function create65(context) {
|
|
|
4223
4324
|
}
|
|
4224
4325
|
};
|
|
4225
4326
|
}
|
|
4226
|
-
var
|
|
4327
|
+
var RULE_NAME67 = "no-comment-textnodes";
|
|
4227
4328
|
var RULE_FEATURES65 = [];
|
|
4228
4329
|
var no_comment_textnodes_default = createRule({
|
|
4229
4330
|
meta: {
|
|
@@ -4241,11 +4342,11 @@ var no_comment_textnodes_default = createRule({
|
|
|
4241
4342
|
],
|
|
4242
4343
|
schema: []
|
|
4243
4344
|
},
|
|
4244
|
-
name:
|
|
4245
|
-
create:
|
|
4345
|
+
name: RULE_NAME67,
|
|
4346
|
+
create: create67,
|
|
4246
4347
|
defaultOptions: []
|
|
4247
4348
|
});
|
|
4248
|
-
function
|
|
4349
|
+
function create67(context) {
|
|
4249
4350
|
function hasCommentLike(node) {
|
|
4250
4351
|
if (AST13.isOneOf([AST_NODE_TYPES.JSXAttribute, AST_NODE_TYPES.JSXExpressionContainer])(node.parent)) {
|
|
4251
4352
|
return false;
|
|
@@ -4273,7 +4374,7 @@ function create66(context) {
|
|
|
4273
4374
|
Literal: visitorFunction
|
|
4274
4375
|
};
|
|
4275
4376
|
}
|
|
4276
|
-
var
|
|
4377
|
+
var RULE_NAME68 = "no-complex-conditional-rendering";
|
|
4277
4378
|
var RULE_FEATURES66 = [
|
|
4278
4379
|
"EXP"
|
|
4279
4380
|
];
|
|
@@ -4290,11 +4391,11 @@ var no_complex_conditional_rendering_default = createRule({
|
|
|
4290
4391
|
},
|
|
4291
4392
|
schema: []
|
|
4292
4393
|
},
|
|
4293
|
-
name:
|
|
4294
|
-
create:
|
|
4394
|
+
name: RULE_NAME68,
|
|
4395
|
+
create: create68,
|
|
4295
4396
|
defaultOptions: []
|
|
4296
4397
|
});
|
|
4297
|
-
function
|
|
4398
|
+
function create68(context) {
|
|
4298
4399
|
const visitorFunction = (node) => {
|
|
4299
4400
|
const jsxExpContainer = node.parent?.parent;
|
|
4300
4401
|
if (!AST13.is(AST_NODE_TYPES.JSXExpressionContainer)(jsxExpContainer)) {
|
|
@@ -4354,6 +4455,7 @@ var plugin = {
|
|
|
4354
4455
|
"no-default-props": no_default_props_default,
|
|
4355
4456
|
"no-direct-mutation-state": no_direct_mutation_state_default,
|
|
4356
4457
|
"no-duplicate-key": no_duplicate_key_default,
|
|
4458
|
+
"no-forbidden-props": no_forbidden_props_default,
|
|
4357
4459
|
"no-forward-ref": no_forward_ref_default,
|
|
4358
4460
|
"no-implicit-key": no_implicit_key_default,
|
|
4359
4461
|
"no-leaked-conditional-rendering": no_leaked_conditional_rendering_default,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-x",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.28",
|
|
4
4
|
"description": "A set of composable ESLint rules for for libraries and frameworks that use React as a UI runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -42,12 +42,12 @@
|
|
|
42
42
|
"is-immutable-type": "^5.0.1",
|
|
43
43
|
"string-ts": "^2.2.1",
|
|
44
44
|
"ts-pattern": "^5.8.0",
|
|
45
|
-
"@eslint-react/ast": "2.0.0-beta.
|
|
46
|
-
"@eslint-react/
|
|
47
|
-
"@eslint-react/kit": "2.0.0-beta.
|
|
48
|
-
"@eslint-react/
|
|
49
|
-
"@eslint-react/
|
|
50
|
-
"@eslint-react/var": "2.0.0-beta.
|
|
45
|
+
"@eslint-react/ast": "2.0.0-beta.28",
|
|
46
|
+
"@eslint-react/eff": "2.0.0-beta.28",
|
|
47
|
+
"@eslint-react/kit": "2.0.0-beta.28",
|
|
48
|
+
"@eslint-react/shared": "2.0.0-beta.28",
|
|
49
|
+
"@eslint-react/core": "2.0.0-beta.28",
|
|
50
|
+
"@eslint-react/var": "2.0.0-beta.28"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/react": "^19.1.10",
|