eslint-plugin-react-x 1.18.1-next.3 → 1.19.0-beta.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 +16 -8
- package/dist/index.mjs +16 -8
- package/package.json +8 -8
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.
|
|
44
|
+
var version = "1.19.0-beta.1";
|
|
45
45
|
var createRule = shared.createRuleForPlugin("x");
|
|
46
46
|
|
|
47
47
|
// src/rules/avoid-shorthand-boolean.ts
|
|
@@ -1197,21 +1197,30 @@ function getFix(node, context) {
|
|
|
1197
1197
|
return [
|
|
1198
1198
|
fixer.removeRange([node.range[0], componentNode.range[0]]),
|
|
1199
1199
|
fixer.removeRange([componentNode.range[1], node.range[1]]),
|
|
1200
|
-
...
|
|
1200
|
+
...getComponentPropsFixes(
|
|
1201
|
+
componentNode,
|
|
1202
|
+
node.typeArguments?.params ?? [],
|
|
1203
|
+
fixer,
|
|
1204
|
+
context
|
|
1205
|
+
)
|
|
1201
1206
|
];
|
|
1202
1207
|
};
|
|
1203
1208
|
}
|
|
1204
|
-
function
|
|
1209
|
+
function getComponentPropsFixes(node, typeArguments, fixer, context) {
|
|
1210
|
+
const getText = (node2) => context.sourceCode.getText(node2);
|
|
1205
1211
|
const [arg0, arg1] = node.params;
|
|
1206
1212
|
const [typeArg0, typeArg1] = typeArguments;
|
|
1207
|
-
if (arg0
|
|
1213
|
+
if (!arg0) return [];
|
|
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 [];
|
|
1216
|
+
const fixedPropsText = fixedArg0Text.value;
|
|
1208
1217
|
if (!arg1) {
|
|
1209
1218
|
return [fixer.replaceText(
|
|
1210
1219
|
arg0,
|
|
1211
1220
|
[
|
|
1212
1221
|
"{",
|
|
1213
1222
|
"ref,",
|
|
1214
|
-
|
|
1223
|
+
fixedPropsText,
|
|
1215
1224
|
"}"
|
|
1216
1225
|
].join(" ")
|
|
1217
1226
|
)];
|
|
@@ -1224,7 +1233,7 @@ function getParamsFixes(node, context, typeArguments, fixer) {
|
|
|
1224
1233
|
[
|
|
1225
1234
|
"{",
|
|
1226
1235
|
arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
|
|
1227
|
-
|
|
1236
|
+
fixedPropsText,
|
|
1228
1237
|
"}"
|
|
1229
1238
|
].join(" ")
|
|
1230
1239
|
),
|
|
@@ -1232,14 +1241,13 @@ function getParamsFixes(node, context, typeArguments, fixer) {
|
|
|
1232
1241
|
fixer.removeRange([arg0.range[1], arg1.range[0]])
|
|
1233
1242
|
];
|
|
1234
1243
|
}
|
|
1235
|
-
const getText = (node2) => context.sourceCode.getText(node2);
|
|
1236
1244
|
return [
|
|
1237
1245
|
fixer.replaceText(
|
|
1238
1246
|
arg0,
|
|
1239
1247
|
[
|
|
1240
1248
|
"{",
|
|
1241
1249
|
arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
|
|
1242
|
-
|
|
1250
|
+
fixedPropsText,
|
|
1243
1251
|
"}:",
|
|
1244
1252
|
getText(typeArg1),
|
|
1245
1253
|
"&",
|
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.
|
|
17
|
+
var version = "1.19.0-beta.1";
|
|
18
18
|
var createRule = createRuleForPlugin("x");
|
|
19
19
|
|
|
20
20
|
// src/rules/avoid-shorthand-boolean.ts
|
|
@@ -1170,21 +1170,30 @@ function getFix(node, context) {
|
|
|
1170
1170
|
return [
|
|
1171
1171
|
fixer.removeRange([node.range[0], componentNode.range[0]]),
|
|
1172
1172
|
fixer.removeRange([componentNode.range[1], node.range[1]]),
|
|
1173
|
-
...
|
|
1173
|
+
...getComponentPropsFixes(
|
|
1174
|
+
componentNode,
|
|
1175
|
+
node.typeArguments?.params ?? [],
|
|
1176
|
+
fixer,
|
|
1177
|
+
context
|
|
1178
|
+
)
|
|
1174
1179
|
];
|
|
1175
1180
|
};
|
|
1176
1181
|
}
|
|
1177
|
-
function
|
|
1182
|
+
function getComponentPropsFixes(node, typeArguments, fixer, context) {
|
|
1183
|
+
const getText = (node2) => context.sourceCode.getText(node2);
|
|
1178
1184
|
const [arg0, arg1] = node.params;
|
|
1179
1185
|
const [typeArg0, typeArg1] = typeArguments;
|
|
1180
|
-
if (arg0
|
|
1186
|
+
if (!arg0) return [];
|
|
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 [];
|
|
1189
|
+
const fixedPropsText = fixedArg0Text.value;
|
|
1181
1190
|
if (!arg1) {
|
|
1182
1191
|
return [fixer.replaceText(
|
|
1183
1192
|
arg0,
|
|
1184
1193
|
[
|
|
1185
1194
|
"{",
|
|
1186
1195
|
"ref,",
|
|
1187
|
-
|
|
1196
|
+
fixedPropsText,
|
|
1188
1197
|
"}"
|
|
1189
1198
|
].join(" ")
|
|
1190
1199
|
)];
|
|
@@ -1197,7 +1206,7 @@ function getParamsFixes(node, context, typeArguments, fixer) {
|
|
|
1197
1206
|
[
|
|
1198
1207
|
"{",
|
|
1199
1208
|
arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
|
|
1200
|
-
|
|
1209
|
+
fixedPropsText,
|
|
1201
1210
|
"}"
|
|
1202
1211
|
].join(" ")
|
|
1203
1212
|
),
|
|
@@ -1205,14 +1214,13 @@ function getParamsFixes(node, context, typeArguments, fixer) {
|
|
|
1205
1214
|
fixer.removeRange([arg0.range[1], arg1.range[0]])
|
|
1206
1215
|
];
|
|
1207
1216
|
}
|
|
1208
|
-
const getText = (node2) => context.sourceCode.getText(node2);
|
|
1209
1217
|
return [
|
|
1210
1218
|
fixer.replaceText(
|
|
1211
1219
|
arg0,
|
|
1212
1220
|
[
|
|
1213
1221
|
"{",
|
|
1214
1222
|
arg1.name === "ref" ? `ref,` : `ref: ${arg1.name},`,
|
|
1215
|
-
|
|
1223
|
+
fixedPropsText,
|
|
1216
1224
|
"}:",
|
|
1217
1225
|
getText(typeArg1),
|
|
1218
1226
|
"&",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-x",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0-beta.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.
|
|
53
|
-
"@eslint-react/
|
|
54
|
-
"@eslint-react/
|
|
55
|
-
"@eslint-react/
|
|
56
|
-
"@eslint-react/
|
|
57
|
-
"@eslint-react/
|
|
58
|
-
"@eslint-react/
|
|
52
|
+
"@eslint-react/ast": "1.19.0-beta.1",
|
|
53
|
+
"@eslint-react/core": "1.19.0-beta.1",
|
|
54
|
+
"@eslint-react/jsx": "1.19.0-beta.1",
|
|
55
|
+
"@eslint-react/shared": "1.19.0-beta.1",
|
|
56
|
+
"@eslint-react/var": "1.19.0-beta.1",
|
|
57
|
+
"@eslint-react/tools": "1.19.0-beta.1",
|
|
58
|
+
"@eslint-react/types": "1.19.0-beta.1"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/react": "^19.0.1",
|