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 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.26";
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-forward-ref";
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: RULE_NAME28,
1530
- create: create28,
1630
+ name: RULE_NAME29,
1631
+ create: create29,
1531
1632
  defaultOptions: []
1532
1633
  });
1533
- function create28(context) {
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 RULE_NAME29 = "no-implicit-key";
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: RULE_NAME29,
1639
- create: create29,
1739
+ name: RULE_NAME30,
1740
+ create: create30,
1640
1741
  defaultOptions: []
1641
1742
  });
1642
- function create29(context) {
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 RULE_NAME30 = "no-leaked-conditional-rendering";
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: RULE_NAME30,
1673
- create: create30,
1773
+ name: RULE_NAME31,
1774
+ create: create31,
1674
1775
  defaultOptions: []
1675
1776
  });
1676
- function create30(context) {
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 RULE_NAME31 = "no-missing-component-display-name";
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: RULE_NAME31,
1749
- create: create31,
1849
+ name: RULE_NAME32,
1850
+ create: create32,
1750
1851
  defaultOptions: []
1751
1852
  });
1752
- function create31(context) {
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 RULE_NAME32 = "no-missing-context-display-name";
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: RULE_NAME32,
1806
- create: create32,
1906
+ name: RULE_NAME33,
1907
+ create: create33,
1807
1908
  defaultOptions: []
1808
1909
  });
1809
- function create32(context) {
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 RULE_NAME33 = "no-missing-key";
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: RULE_NAME33,
1881
- create: create33,
1981
+ name: RULE_NAME34,
1982
+ create: create34,
1882
1983
  defaultOptions: []
1883
1984
  });
1884
- function create33(context) {
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 RULE_NAME34 = "no-misused-capture-owner-stack";
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: RULE_NAME34,
2007
- create: create34,
2107
+ name: RULE_NAME35,
2108
+ create: create35,
2008
2109
  defaultOptions: []
2009
2110
  });
2010
- function create34(context) {
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 RULE_NAME35 = "no-nested-component-definitions";
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: RULE_NAME35,
2058
- create: create35,
2158
+ name: RULE_NAME36,
2159
+ create: create36,
2059
2160
  defaultOptions: []
2060
2161
  });
2061
- function create35(context) {
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 RULE_NAME36 = "no-nested-component-definitions";
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: RULE_NAME36,
2175
- create: create36,
2275
+ name: RULE_NAME37,
2276
+ create: create37,
2176
2277
  defaultOptions: []
2177
2278
  });
2178
- function create36(context) {
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 RULE_NAME37 = "no-prop-types";
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: RULE_NAME37,
2238
- create: create37,
2338
+ name: RULE_NAME38,
2339
+ create: create38,
2239
2340
  defaultOptions: []
2240
2341
  });
2241
- function create37(context) {
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 RULE_NAME38 = "no-redundant-should-component-update";
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: RULE_NAME38,
2295
- create: create38,
2395
+ name: RULE_NAME39,
2396
+ create: create39,
2296
2397
  defaultOptions: []
2297
2398
  });
2298
- function create38(context) {
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 RULE_NAME39 = "no-set-state-in-component-did-mount";
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: RULE_NAME39,
2340
- create: create39,
2440
+ name: RULE_NAME40,
2441
+ create: create40,
2341
2442
  defaultOptions: []
2342
2443
  });
2343
- function create39(context) {
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 RULE_NAME40 = "no-set-state-in-component-did-update";
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: RULE_NAME40,
2379
- create: create40,
2479
+ name: RULE_NAME41,
2480
+ create: create41,
2380
2481
  defaultOptions: []
2381
2482
  });
2382
- function create40(context) {
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 RULE_NAME41 = "no-set-state-in-component-will-update";
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: RULE_NAME41,
2418
- create: create41,
2518
+ name: RULE_NAME42,
2519
+ create: create42,
2419
2520
  defaultOptions: []
2420
2521
  });
2421
- function create41(context) {
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 RULE_NAME42 = "no-string-refs";
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: RULE_NAME42,
2460
- create: create42,
2560
+ name: RULE_NAME43,
2561
+ create: create43,
2461
2562
  defaultOptions: []
2462
2563
  });
2463
- function create42(context) {
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 RULE_NAME43 = "no-unnecessary-use-callback";
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: RULE_NAME43,
2524
- create: create43,
2624
+ name: RULE_NAME44,
2625
+ create: create44,
2525
2626
  defaultOptions: []
2526
2627
  });
2527
- function create43(context) {
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 RULE_NAME44 = "no-unnecessary-use-memo";
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: RULE_NAME44,
2603
- create: create44,
2703
+ name: RULE_NAME45,
2704
+ create: create45,
2604
2705
  defaultOptions: []
2605
2706
  });
2606
- function create44(context) {
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 RULE_NAME45 = "no-unnecessary-use-prefix";
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: RULE_NAME45,
2690
- create: create45,
2790
+ name: RULE_NAME46,
2791
+ create: create46,
2691
2792
  defaultOptions: []
2692
2793
  });
2693
- function create45(context) {
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 RULE_NAME46 = "no-unsafe-component-will-mount";
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: RULE_NAME46,
2738
- create: create46,
2838
+ name: RULE_NAME47,
2839
+ create: create47,
2739
2840
  defaultOptions: []
2740
2841
  });
2741
- function create46(context) {
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 RULE_NAME47 = "no-unsafe-component-will-receive-props";
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: RULE_NAME47,
2777
- create: create47,
2877
+ name: RULE_NAME48,
2878
+ create: create48,
2778
2879
  defaultOptions: []
2779
2880
  });
2780
- function create47(context) {
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 RULE_NAME48 = "no-unsafe-component-will-update";
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: RULE_NAME48,
2818
- create: create48,
2918
+ name: RULE_NAME49,
2919
+ create: create49,
2819
2920
  defaultOptions: []
2820
2921
  });
2821
- function create48(context) {
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 RULE_NAME49 = "no-unstable-context-value";
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: RULE_NAME49,
2857
- create: create49,
2957
+ name: RULE_NAME50,
2958
+ create: create50,
2858
2959
  defaultOptions: []
2859
2960
  });
2860
- function create49(context) {
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 RULE_NAME50 = "no-unstable-default-props";
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: RULE_NAME50,
2930
- create: create50,
3030
+ name: RULE_NAME51,
3031
+ create: create51,
2931
3032
  defaultOptions: []
2932
3033
  });
2933
- function create50(context) {
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 RULE_NAME51 = "no-unused-class-component-members";
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: RULE_NAME51,
3024
- create: create51,
3124
+ name: RULE_NAME52,
3125
+ create: create52,
3025
3126
  defaultOptions: []
3026
3127
  });
3027
- function create51(context) {
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 RULE_NAME52 = "no-unused-props";
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: RULE_NAME52,
3152
- create: create52,
3252
+ name: RULE_NAME53,
3253
+ create: create53,
3153
3254
  defaultOptions: []
3154
3255
  });
3155
- function create52(context) {
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 RULE_NAME53 = "no-unused-state";
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: RULE_NAME53,
3309
- create: create53,
3409
+ name: RULE_NAME54,
3410
+ create: create54,
3310
3411
  defaultOptions: []
3311
3412
  });
3312
- function create53(context) {
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 RULE_NAME54 = "no-use-context";
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: RULE_NAME54,
3464
- create: create54,
3564
+ name: RULE_NAME55,
3565
+ create: create55,
3465
3566
  defaultOptions: []
3466
3567
  });
3467
- function create54(context) {
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 RULE_NAME55 = "no-useless-forward-ref";
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: RULE_NAME55,
3565
- create: create55,
3665
+ name: RULE_NAME56,
3666
+ create: create56,
3566
3667
  defaultOptions: []
3567
3668
  });
3568
- function create55(context) {
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 RULE_NAME56 = "no-useless-fragment";
3590
- var defaultOptions3 = [{
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: [...defaultOptions3],
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: RULE_NAME56,
3616
- create: create56,
3617
- defaultOptions: defaultOptions3
3716
+ name: RULE_NAME57,
3717
+ create: create57,
3718
+ defaultOptions: defaultOptions4
3618
3719
  });
3619
- function create56(context, [option]) {
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 RULE_NAME57 = "prefer-destructuring-assignment";
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: RULE_NAME57,
3757
- create: create57,
3857
+ name: RULE_NAME58,
3858
+ create: create58,
3758
3859
  defaultOptions: []
3759
3860
  });
3760
- function create57(context) {
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 RULE_NAME58 = "prefer-namespace-import";
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: RULE_NAME58,
3838
- create: create58,
3938
+ name: RULE_NAME59,
3939
+ create: create59,
3839
3940
  defaultOptions: []
3840
3941
  });
3841
- function create58(context) {
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 RULE_NAME59 = "prefer-read-only-props";
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: RULE_NAME59,
3894
- create: create59,
3994
+ name: RULE_NAME60,
3995
+ create: create60,
3895
3996
  defaultOptions: []
3896
3997
  });
3897
- function create59(context) {
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 RULE_NAME60 = "prefer-use-state-lazy-initialization";
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: RULE_NAME60,
3951
- create: create60,
4051
+ name: RULE_NAME61,
4052
+ create: create61,
3952
4053
  defaultOptions: []
3953
4054
  });
3954
- function create60(context) {
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 RULE_NAME61 = "avoid-shorthand-boolean";
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: RULE_NAME61,
4011
- create: create61,
4111
+ name: RULE_NAME62,
4112
+ create: create62,
4012
4113
  defaultOptions: []
4013
4114
  });
4014
- function create61(context) {
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 RULE_NAME62 = "avoid-shorthand-fragment";
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: RULE_NAME62,
4049
- create: create62,
4149
+ name: RULE_NAME63,
4150
+ create: create63,
4050
4151
  defaultOptions: []
4051
4152
  });
4052
- function create62(context) {
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 RULE_NAME63 = "prefer-shorthand-boolean";
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: RULE_NAME63,
4093
- create: create63,
4193
+ name: RULE_NAME64,
4194
+ create: create64,
4094
4195
  defaultOptions: []
4095
4196
  });
4096
- function create63(context) {
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 RULE_NAME64 = "prefer-shorthand-fragment";
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: RULE_NAME64,
4138
- create: create64,
4238
+ name: RULE_NAME65,
4239
+ create: create65,
4139
4240
  defaultOptions: []
4140
4241
  });
4141
- function create64(context) {
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 RULE_NAME65 = "prefer-react-namespace-import";
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: RULE_NAME65,
4188
- create: create65,
4288
+ name: RULE_NAME66,
4289
+ create: create66,
4189
4290
  defaultOptions: []
4190
4291
  });
4191
- function create65(context) {
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 RULE_NAME66 = "no-comment-textnodes";
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: RULE_NAME66,
4245
- create: create66,
4345
+ name: RULE_NAME67,
4346
+ create: create67,
4246
4347
  defaultOptions: []
4247
4348
  });
4248
- function create66(context) {
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 RULE_NAME67 = "no-complex-conditional-rendering";
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: RULE_NAME67,
4294
- create: create67,
4394
+ name: RULE_NAME68,
4395
+ create: create68,
4295
4396
  defaultOptions: []
4296
4397
  });
4297
- function create67(context) {
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.26",
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.26",
46
- "@eslint-react/core": "2.0.0-beta.26",
47
- "@eslint-react/kit": "2.0.0-beta.26",
48
- "@eslint-react/eff": "2.0.0-beta.26",
49
- "@eslint-react/shared": "2.0.0-beta.26",
50
- "@eslint-react/var": "2.0.0-beta.26"
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",