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

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-next.1";
44
+ var version = "1.19.0-next.2";
45
45
  var createRule = shared.createRuleForPlugin("x");
46
46
 
47
47
  // src/rules/avoid-shorthand-boolean.ts
@@ -1212,33 +1212,22 @@ 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
- if (tools.O.isNone(fixedArg0Text)) return [];
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 [];
1216
1217
  const fixedPropsText = fixedArg0Text.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 [];
1218
+ const fixedRefText = fixedArg1Text.value;
1229
1219
  if (!typeArg0 || !typeArg1) {
1230
1220
  return [
1231
1221
  fixer.replaceText(
1232
1222
  arg0,
1233
1223
  [
1234
1224
  "{",
1235
- arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1225
+ fixedRefText + ",",
1236
1226
  fixedPropsText,
1237
1227
  "}"
1238
1228
  ].join(" ")
1239
1229
  ),
1240
- fixer.remove(arg1),
1241
- fixer.removeRange([arg0.range[1], arg1.range[0]])
1230
+ ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1242
1231
  ];
1243
1232
  }
1244
1233
  return [
@@ -1246,7 +1235,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1246
1235
  arg0,
1247
1236
  [
1248
1237
  "{",
1249
- arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1238
+ fixedRefText + ",",
1250
1239
  fixedPropsText,
1251
1240
  "}:",
1252
1241
  getText(typeArg1),
@@ -1257,8 +1246,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1257
1246
  "}"
1258
1247
  ].join(" ")
1259
1248
  ),
1260
- fixer.remove(arg1),
1261
- fixer.removeRange([arg0.range[1], arg1.range[0]])
1249
+ ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1262
1250
  ];
1263
1251
  }
1264
1252
  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-next.1";
17
+ var version = "1.19.0-next.2";
18
18
  var createRule = createRuleForPlugin("x");
19
19
 
20
20
  // src/rules/avoid-shorthand-boolean.ts
@@ -1185,33 +1185,22 @@ 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
- if (O.isNone(fixedArg0Text)) return [];
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 [];
1189
1190
  const fixedPropsText = fixedArg0Text.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 [];
1191
+ const fixedRefText = fixedArg1Text.value;
1202
1192
  if (!typeArg0 || !typeArg1) {
1203
1193
  return [
1204
1194
  fixer.replaceText(
1205
1195
  arg0,
1206
1196
  [
1207
1197
  "{",
1208
- arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1198
+ fixedRefText + ",",
1209
1199
  fixedPropsText,
1210
1200
  "}"
1211
1201
  ].join(" ")
1212
1202
  ),
1213
- fixer.remove(arg1),
1214
- fixer.removeRange([arg0.range[1], arg1.range[0]])
1203
+ ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1215
1204
  ];
1216
1205
  }
1217
1206
  return [
@@ -1219,7 +1208,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1219
1208
  arg0,
1220
1209
  [
1221
1210
  "{",
1222
- arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
1211
+ fixedRefText + ",",
1223
1212
  fixedPropsText,
1224
1213
  "}:",
1225
1214
  getText(typeArg1),
@@ -1230,8 +1219,7 @@ function getComponentPropsFixes(node, typeArguments, fixer, context) {
1230
1219
  "}"
1231
1220
  ].join(" ")
1232
1221
  ),
1233
- fixer.remove(arg1),
1234
- fixer.removeRange([arg0.range[1], arg1.range[0]])
1222
+ ...arg1 ? [fixer.remove(arg1), fixer.removeRange([arg0.range[1], arg1.range[0]])] : []
1235
1223
  ];
1236
1224
  }
1237
1225
  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-next.1",
3
+ "version": "1.19.0-next.2",
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-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"
52
+ "@eslint-react/ast": "1.19.0-next.2",
53
+ "@eslint-react/jsx": "1.19.0-next.2",
54
+ "@eslint-react/shared": "1.19.0-next.2",
55
+ "@eslint-react/tools": "1.19.0-next.2",
56
+ "@eslint-react/types": "1.19.0-next.2",
57
+ "@eslint-react/var": "1.19.0-next.2",
58
+ "@eslint-react/core": "1.19.0-next.2"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/react": "^19.0.1",