eslint-plugin-react-x 1.19.0-beta.2 → 1.19.0-next.1

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
@@ -41,7 +41,7 @@ var ts__default = /*#__PURE__*/_interopDefault(ts);
41
41
 
42
42
  // package.json
43
43
  var name = "eslint-plugin-react-x";
44
- var version = "1.19.0-beta.2";
44
+ var version = "1.19.0-next.1";
45
45
  var createRule = shared.createRuleForPlugin("x");
46
46
 
47
47
  // src/rules/avoid-shorthand-boolean.ts
@@ -1212,22 +1212,33 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1212
1212
  const [typeArg0, typeArg1] = typeArguments;
1213
1213
  if (!arg0) return [];
1214
1214
  const fixedArg0Text = tsPattern.match(arg0).with({ type: types.AST_NODE_TYPES.Identifier }, (n) => tools.O.some(`...${n.name}`)).with({ type: types.AST_NODE_TYPES.ObjectPattern }, (n) => tools.O.some(n.properties.map(getText).join(", "))).otherwise(tools.O.none);
1215
- const fixedArg1Text = tsPattern.match(arg1).with(tsPattern.P.nullish, () => tools.O.some("ref")).with({ type: types.AST_NODE_TYPES.Identifier, name: "ref" }, () => tools.O.some("ref")).with({ type: types.AST_NODE_TYPES.Identifier, name: tsPattern.P.not("ref") }, (n) => tools.O.some(`ref: ${n.name}`)).otherwise(tools.O.none);
1216
- if (tools.O.isNone(fixedArg0Text) || tools.O.isNone(fixedArg1Text)) return [];
1215
+ if (tools.O.isNone(fixedArg0Text)) return [];
1217
1216
  const fixedPropsText = fixedArg0Text.value;
1218
- const fixedRefText = fixedArg1Text.value;
1217
+ if (!arg1) {
1218
+ return [fixer.replaceText(
1219
+ arg0,
1220
+ [
1221
+ "{",
1222
+ "ref,",
1223
+ fixedPropsText,
1224
+ "}"
1225
+ ].join(" ")
1226
+ )];
1227
+ }
1228
+ if (arg1.type !== types.AST_NODE_TYPES.Identifier) return [];
1219
1229
  if (!typeArg0 || !typeArg1) {
1220
1230
  return [
1221
1231
  fixer.replaceText(
1222
1232
  arg0,
1223
1233
  [
1224
1234
  "{",
1225
- fixedRefText + ",",
1235
+ arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1226
1236
  fixedPropsText,
1227
1237
  "}"
1228
1238
  ].join(" ")
1229
1239
  ),
1230
- ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1240
+ fixer.remove(arg1),
1241
+ fixer.removeRange([arg0.range[1], arg1.range[0]])
1231
1242
  ];
1232
1243
  }
1233
1244
  return [
@@ -1235,7 +1246,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1235
1246
  arg0,
1236
1247
  [
1237
1248
  "{",
1238
- fixedRefText + ",",
1249
+ arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1239
1250
  fixedPropsText,
1240
1251
  "}:",
1241
1252
  getText(typeArg1),
@@ -1246,7 +1257,8 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1246
1257
  "}"
1247
1258
  ].join(" ")
1248
1259
  ),
1249
- ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1260
+ fixer.remove(arg1),
1261
+ fixer.removeRange([arg0.range[1], arg1.range[0]])
1250
1262
  ];
1251
1263
  }
1252
1264
  var RULE_NAME27 = "no-implicit-key";
package/dist/index.mjs CHANGED
@@ -14,7 +14,7 @@ import { getTypeImmutability, isUnknown, isImmutable, isReadonlyShallow, isReado
14
14
 
15
15
  // package.json
16
16
  var name = "eslint-plugin-react-x";
17
- var version = "1.19.0-beta.2";
17
+ var version = "1.19.0-next.1";
18
18
  var createRule = createRuleForPlugin("x");
19
19
 
20
20
  // src/rules/avoid-shorthand-boolean.ts
@@ -1185,22 +1185,33 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1185
1185
  const [typeArg0, typeArg1] = typeArguments;
1186
1186
  if (!arg0) return [];
1187
1187
  const fixedArg0Text = match(arg0).with({ type: AST_NODE_TYPES.Identifier }, (n) => O.some(`...${n.name}`)).with({ type: AST_NODE_TYPES.ObjectPattern }, (n) => O.some(n.properties.map(getText).join(", "))).otherwise(O.none);
1188
- const fixedArg1Text = match(arg1).with(P.nullish, () => O.some("ref")).with({ type: AST_NODE_TYPES.Identifier, name: "ref" }, () => O.some("ref")).with({ type: AST_NODE_TYPES.Identifier, name: P.not("ref") }, (n) => O.some(`ref: ${n.name}`)).otherwise(O.none);
1189
- if (O.isNone(fixedArg0Text) || O.isNone(fixedArg1Text)) return [];
1188
+ if (O.isNone(fixedArg0Text)) return [];
1190
1189
  const fixedPropsText = fixedArg0Text.value;
1191
- const fixedRefText = fixedArg1Text.value;
1190
+ if (!arg1) {
1191
+ return [fixer.replaceText(
1192
+ arg0,
1193
+ [
1194
+ "{",
1195
+ "ref,",
1196
+ fixedPropsText,
1197
+ "}"
1198
+ ].join(" ")
1199
+ )];
1200
+ }
1201
+ if (arg1.type !== AST_NODE_TYPES.Identifier) return [];
1192
1202
  if (!typeArg0 || !typeArg1) {
1193
1203
  return [
1194
1204
  fixer.replaceText(
1195
1205
  arg0,
1196
1206
  [
1197
1207
  "{",
1198
- fixedRefText + ",",
1208
+ arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1199
1209
  fixedPropsText,
1200
1210
  "}"
1201
1211
  ].join(" ")
1202
1212
  ),
1203
- ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1213
+ fixer.remove(arg1),
1214
+ fixer.removeRange([arg0.range[1], arg1.range[0]])
1204
1215
  ];
1205
1216
  }
1206
1217
  return [
@@ -1208,7 +1219,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1208
1219
  arg0,
1209
1220
  [
1210
1221
  "{",
1211
- fixedRefText + ",",
1222
+ arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1212
1223
  fixedPropsText,
1213
1224
  "}:",
1214
1225
  getText(typeArg1),
@@ -1219,7 +1230,8 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1219
1230
  "}"
1220
1231
  ].join(" ")
1221
1232
  ),
1222
- ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1233
+ fixer.remove(arg1),
1234
+ fixer.removeRange([arg0.range[1], arg1.range[0]])
1223
1235
  ];
1224
1236
  }
1225
1237
  var RULE_NAME27 = "no-implicit-key";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-x",
3
- "version": "1.19.0-beta.2",
3
+ "version": "1.19.0-next.1",
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
  "eslint",
@@ -49,13 +49,13 @@
49
49
  "compare-versions": "^6.1.1",
50
50
  "is-immutable-type": "^5.0.0",
51
51
  "ts-pattern": "^5.5.0",
52
- "@eslint-react/ast": "1.19.0-beta.2",
53
- "@eslint-react/core": "1.19.0-beta.2",
54
- "@eslint-react/jsx": "1.19.0-beta.2",
55
- "@eslint-react/shared": "1.19.0-beta.2",
56
- "@eslint-react/types": "1.19.0-beta.2",
57
- "@eslint-react/var": "1.19.0-beta.2",
58
- "@eslint-react/tools": "1.19.0-beta.2"
52
+ "@eslint-react/ast": "1.19.0-next.1",
53
+ "@eslint-react/core": "1.19.0-next.1",
54
+ "@eslint-react/jsx": "1.19.0-next.1",
55
+ "@eslint-react/shared": "1.19.0-next.1",
56
+ "@eslint-react/types": "1.19.0-next.1",
57
+ "@eslint-react/var": "1.19.0-next.1",
58
+ "@eslint-react/tools": "1.19.0-next.1"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/react": "^19.0.1",