eslint-plugin-react-x 1.26.0 → 1.26.1-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -42,7 +42,7 @@ var ts__default = /*#__PURE__*/_interopDefault(ts);
42
42
 
43
43
  // package.json
44
44
  var name = "eslint-plugin-react-x";
45
- var version = "1.26.0";
45
+ var version = "1.26.1-beta.3";
46
46
  var createRule = shared.createRuleForPlugin("x");
47
47
 
48
48
  // src/utils/get-associated-tokens.ts
@@ -1018,9 +1018,7 @@ var no_context_provider_default = createRule({
1018
1018
  },
1019
1019
  name: RULE_NAME19,
1020
1020
  create(context) {
1021
- if (!context.sourceCode.text.includes(".Provider")) {
1022
- return {};
1023
- }
1021
+ if (!context.sourceCode.text.includes(".Provider")) return {};
1024
1022
  const { version: version2 } = shared.getSettingsFromContext(context);
1025
1023
  if (compareVersions.compare(version2, "19.0.0", "<")) {
1026
1024
  return {};
@@ -1035,15 +1033,15 @@ var no_context_provider_default = createRule({
1035
1033
  messageId: "noContextProvider",
1036
1034
  node,
1037
1035
  fix(fixer) {
1038
- const providerName = elementName.replace(/\.Provider$/, "");
1036
+ const contextName = elementName.replace(/\.Provider$/, "");
1039
1037
  const openingElement = node.openingElement;
1040
1038
  const closingElement = node.closingElement;
1041
1039
  if (closingElement == null) {
1042
- return fixer.replaceText(openingElement.name, providerName);
1040
+ return fixer.replaceText(openingElement.name, contextName);
1043
1041
  }
1044
1042
  return [
1045
- fixer.replaceText(openingElement.name, providerName),
1046
- fixer.replaceText(closingElement.name, providerName)
1043
+ fixer.replaceText(openingElement.name, contextName),
1044
+ fixer.replaceText(closingElement.name, contextName)
1047
1045
  ];
1048
1046
  }
1049
1047
  });
@@ -1379,15 +1377,15 @@ function getFix(node, context) {
1379
1377
  fixer.removeRange([componentNode.range[1], node.range[1]]),
1380
1378
  // update component props and ref arguments to match the new signature
1381
1379
  ...getComponentPropsFixes(
1382
- componentNode,
1383
- node.typeArguments?.params ?? [],
1380
+ context,
1384
1381
  fixer,
1385
- context
1382
+ componentNode,
1383
+ node.typeArguments?.params ?? []
1386
1384
  )
1387
1385
  ];
1388
1386
  };
1389
1387
  }
1390
- function getComponentPropsFixes(node, typeArguments, fixer, context) {
1388
+ function getComponentPropsFixes(context, fixer, node, typeArguments) {
1391
1389
  const getText = (node2) => context.sourceCode.getText(node2);
1392
1390
  const [arg0, arg1] = node.params;
1393
1391
  const [typeArg0, typeArg1] = typeArguments;
@@ -1395,7 +1393,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1395
1393
  return [];
1396
1394
  }
1397
1395
  const fixedArg0Text = tsPattern.match(arg0).with({ type: types.AST_NODE_TYPES.Identifier }, (n) => `...${n.name}`).with({ type: types.AST_NODE_TYPES.ObjectPattern }, (n) => n.properties.map(getText).join(", ")).otherwise(() => eff._);
1398
- const fixedArg1Text = tsPattern.match(arg1).with(tsPattern.P.nullish, () => "ref").with({ type: types.AST_NODE_TYPES.Identifier, name: "ref" }, () => "ref").with({ type: types.AST_NODE_TYPES.Identifier, name: tsPattern.P.not("ref") }, (n) => `ref: ${n.name}`).otherwise(() => eff._);
1396
+ const fixedArg1Text = tsPattern.match(arg1).with(tsPattern.P.nullish, () => "ref").with({ type: types.AST_NODE_TYPES.Identifier, name: "ref" }, () => "ref").with({ type: types.AST_NODE_TYPES.Identifier, name: tsPattern.P.string }, (n) => `ref: ${n.name}`).otherwise(() => eff._);
1399
1397
  if (fixedArg0Text == null || fixedArg1Text == null) {
1400
1398
  return [];
1401
1399
  }
@@ -2441,7 +2439,7 @@ var no_unstable_default_props_default = createRule({
2441
2439
  name: RULE_NAME41,
2442
2440
  create(context) {
2443
2441
  const { ctx, listeners } = core.useComponentCollector(context);
2444
- const declarators = /* @__PURE__ */ new WeakMap();
2442
+ const declarators = /* @__PURE__ */ new Map();
2445
2443
  return {
2446
2444
  ...listeners,
2447
2445
  "Program:exit"(node) {
@@ -2487,8 +2485,11 @@ var no_unstable_default_props_default = createRule({
2487
2485
  "VariableDeclarator[id.type='ObjectPattern'][init.type='Identifier']"(node) {
2488
2486
  const functionEntry = ctx.getCurrentEntry();
2489
2487
  if (functionEntry == null) return;
2490
- const prevs = declarators.get(functionEntry.node) ?? [];
2491
- declarators.set(functionEntry.node, [...prevs, node]);
2488
+ eff.getOrUpdate(
2489
+ declarators,
2490
+ functionEntry.node,
2491
+ () => []
2492
+ ).push(node);
2492
2493
  }
2493
2494
  };
2494
2495
  },
@@ -2847,11 +2848,9 @@ var no_use_context_default = createRule({
2847
2848
  },
2848
2849
  name: RULE_NAME44,
2849
2850
  create(context) {
2851
+ if (!context.sourceCode.text.includes("useContext")) return {};
2850
2852
  const settings = shared.getSettingsFromContext(context);
2851
2853
  const useContextAlias = /* @__PURE__ */ new Set();
2852
- if (!context.sourceCode.text.includes("useContext")) {
2853
- return {};
2854
- }
2855
2854
  if (compareVersions.compare(settings.version, "19.0.0", "<")) {
2856
2855
  return {};
2857
2856
  }
package/dist/index.mjs CHANGED
@@ -15,7 +15,7 @@ import { getTypeImmutability, isUnknown, isImmutable, isReadonlyShallow, isReado
15
15
 
16
16
  // package.json
17
17
  var name = "eslint-plugin-react-x";
18
- var version = "1.26.0";
18
+ var version = "1.26.1-beta.3";
19
19
  var createRule = createRuleForPlugin("x");
20
20
 
21
21
  // src/utils/get-associated-tokens.ts
@@ -991,9 +991,7 @@ var no_context_provider_default = createRule({
991
991
  },
992
992
  name: RULE_NAME19,
993
993
  create(context) {
994
- if (!context.sourceCode.text.includes(".Provider")) {
995
- return {};
996
- }
994
+ if (!context.sourceCode.text.includes(".Provider")) return {};
997
995
  const { version: version2 } = getSettingsFromContext(context);
998
996
  if (compare(version2, "19.0.0", "<")) {
999
997
  return {};
@@ -1008,15 +1006,15 @@ var no_context_provider_default = createRule({
1008
1006
  messageId: "noContextProvider",
1009
1007
  node,
1010
1008
  fix(fixer) {
1011
- const providerName = elementName.replace(/\.Provider$/, "");
1009
+ const contextName = elementName.replace(/\.Provider$/, "");
1012
1010
  const openingElement = node.openingElement;
1013
1011
  const closingElement = node.closingElement;
1014
1012
  if (closingElement == null) {
1015
- return fixer.replaceText(openingElement.name, providerName);
1013
+ return fixer.replaceText(openingElement.name, contextName);
1016
1014
  }
1017
1015
  return [
1018
- fixer.replaceText(openingElement.name, providerName),
1019
- fixer.replaceText(closingElement.name, providerName)
1016
+ fixer.replaceText(openingElement.name, contextName),
1017
+ fixer.replaceText(closingElement.name, contextName)
1020
1018
  ];
1021
1019
  }
1022
1020
  });
@@ -1352,15 +1350,15 @@ function getFix(node, context) {
1352
1350
  fixer.removeRange([componentNode.range[1], node.range[1]]),
1353
1351
  // update component props and ref arguments to match the new signature
1354
1352
  ...getComponentPropsFixes(
1355
- componentNode,
1356
- node.typeArguments?.params ?? [],
1353
+ context,
1357
1354
  fixer,
1358
- context
1355
+ componentNode,
1356
+ node.typeArguments?.params ?? []
1359
1357
  )
1360
1358
  ];
1361
1359
  };
1362
1360
  }
1363
- function getComponentPropsFixes(node, typeArguments, fixer, context) {
1361
+ function getComponentPropsFixes(context, fixer, node, typeArguments) {
1364
1362
  const getText = (node2) => context.sourceCode.getText(node2);
1365
1363
  const [arg0, arg1] = node.params;
1366
1364
  const [typeArg0, typeArg1] = typeArguments;
@@ -1368,7 +1366,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1368
1366
  return [];
1369
1367
  }
1370
1368
  const fixedArg0Text = match(arg0).with({ type: AST_NODE_TYPES.Identifier }, (n) => `...${n.name}`).with({ type: AST_NODE_TYPES.ObjectPattern }, (n) => n.properties.map(getText).join(", ")).otherwise(() => _);
1371
- const fixedArg1Text = match(arg1).with(P.nullish, () => "ref").with({ type: AST_NODE_TYPES.Identifier, name: "ref" }, () => "ref").with({ type: AST_NODE_TYPES.Identifier, name: P.not("ref") }, (n) => `ref: ${n.name}`).otherwise(() => _);
1369
+ const fixedArg1Text = match(arg1).with(P.nullish, () => "ref").with({ type: AST_NODE_TYPES.Identifier, name: "ref" }, () => "ref").with({ type: AST_NODE_TYPES.Identifier, name: P.string }, (n) => `ref: ${n.name}`).otherwise(() => _);
1372
1370
  if (fixedArg0Text == null || fixedArg1Text == null) {
1373
1371
  return [];
1374
1372
  }
@@ -2414,7 +2412,7 @@ var no_unstable_default_props_default = createRule({
2414
2412
  name: RULE_NAME41,
2415
2413
  create(context) {
2416
2414
  const { ctx, listeners } = useComponentCollector(context);
2417
- const declarators = /* @__PURE__ */ new WeakMap();
2415
+ const declarators = /* @__PURE__ */ new Map();
2418
2416
  return {
2419
2417
  ...listeners,
2420
2418
  "Program:exit"(node) {
@@ -2460,8 +2458,11 @@ var no_unstable_default_props_default = createRule({
2460
2458
  "VariableDeclarator[id.type='ObjectPattern'][init.type='Identifier']"(node) {
2461
2459
  const functionEntry = ctx.getCurrentEntry();
2462
2460
  if (functionEntry == null) return;
2463
- const prevs = declarators.get(functionEntry.node) ?? [];
2464
- declarators.set(functionEntry.node, [...prevs, node]);
2461
+ getOrUpdate(
2462
+ declarators,
2463
+ functionEntry.node,
2464
+ () => []
2465
+ ).push(node);
2465
2466
  }
2466
2467
  };
2467
2468
  },
@@ -2820,11 +2821,9 @@ var no_use_context_default = createRule({
2820
2821
  },
2821
2822
  name: RULE_NAME44,
2822
2823
  create(context) {
2824
+ if (!context.sourceCode.text.includes("useContext")) return {};
2823
2825
  const settings = getSettingsFromContext(context);
2824
2826
  const useContextAlias = /* @__PURE__ */ new Set();
2825
- if (!context.sourceCode.text.includes("useContext")) {
2826
- return {};
2827
- }
2828
2827
  if (compare(settings.version, "19.0.0", "<")) {
2829
2828
  return {};
2830
2829
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-x",
3
- "version": "1.26.0",
3
+ "version": "1.26.1-beta.3",
4
4
  "description": "A set of composable ESLint rules for libraries and frameworks that use React as a UI runtime.",
5
5
  "keywords": [
6
6
  "react",
@@ -48,17 +48,17 @@
48
48
  "is-immutable-type": "^5.0.1",
49
49
  "string-ts": "^2.2.0",
50
50
  "ts-pattern": "^5.6.2",
51
- "@eslint-react/core": "1.26.0",
52
- "@eslint-react/ast": "1.26.0",
53
- "@eslint-react/eff": "1.26.0",
54
- "@eslint-react/jsx": "1.26.0",
55
- "@eslint-react/shared": "1.26.0",
56
- "@eslint-react/var": "1.26.0"
51
+ "@eslint-react/ast": "1.26.1-beta.3",
52
+ "@eslint-react/core": "1.26.1-beta.3",
53
+ "@eslint-react/eff": "1.26.1-beta.3",
54
+ "@eslint-react/jsx": "1.26.1-beta.3",
55
+ "@eslint-react/shared": "1.26.1-beta.3",
56
+ "@eslint-react/var": "1.26.1-beta.3"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/react": "^19.0.8",
60
60
  "@types/react-dom": "^19.0.3",
61
- "ts-api-utils": "^2.0.0",
61
+ "ts-api-utils": "^2.0.1",
62
62
  "tsup": "^8.3.6",
63
63
  "@workspace/configs": "0.0.0"
64
64
  },