eslint-plugin-react-x 1.26.1-beta.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 +17 -16
- package/dist/index.mjs +17 -16
- package/package.json +8 -8
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.1-beta.
|
|
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
|
|
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,
|
|
1040
|
+
return fixer.replaceText(openingElement.name, contextName);
|
|
1043
1041
|
}
|
|
1044
1042
|
return [
|
|
1045
|
-
fixer.replaceText(openingElement.name,
|
|
1046
|
-
fixer.replaceText(closingElement.name,
|
|
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
|
-
|
|
1383
|
-
node.typeArguments?.params ?? [],
|
|
1380
|
+
context,
|
|
1384
1381
|
fixer,
|
|
1385
|
-
|
|
1382
|
+
componentNode,
|
|
1383
|
+
node.typeArguments?.params ?? []
|
|
1386
1384
|
)
|
|
1387
1385
|
];
|
|
1388
1386
|
};
|
|
1389
1387
|
}
|
|
1390
|
-
function getComponentPropsFixes(
|
|
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.
|
|
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
|
|
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
|
-
|
|
2491
|
-
|
|
2488
|
+
eff.getOrUpdate(
|
|
2489
|
+
declarators,
|
|
2490
|
+
functionEntry.node,
|
|
2491
|
+
() => []
|
|
2492
|
+
).push(node);
|
|
2492
2493
|
}
|
|
2493
2494
|
};
|
|
2494
2495
|
},
|
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.1-beta.
|
|
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
|
|
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,
|
|
1013
|
+
return fixer.replaceText(openingElement.name, contextName);
|
|
1016
1014
|
}
|
|
1017
1015
|
return [
|
|
1018
|
-
fixer.replaceText(openingElement.name,
|
|
1019
|
-
fixer.replaceText(closingElement.name,
|
|
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
|
-
|
|
1356
|
-
node.typeArguments?.params ?? [],
|
|
1353
|
+
context,
|
|
1357
1354
|
fixer,
|
|
1358
|
-
|
|
1355
|
+
componentNode,
|
|
1356
|
+
node.typeArguments?.params ?? []
|
|
1359
1357
|
)
|
|
1360
1358
|
];
|
|
1361
1359
|
};
|
|
1362
1360
|
}
|
|
1363
|
-
function getComponentPropsFixes(
|
|
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.
|
|
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
|
|
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
|
-
|
|
2464
|
-
|
|
2461
|
+
getOrUpdate(
|
|
2462
|
+
declarators,
|
|
2463
|
+
functionEntry.node,
|
|
2464
|
+
() => []
|
|
2465
|
+
).push(node);
|
|
2465
2466
|
}
|
|
2466
2467
|
};
|
|
2467
2468
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-x",
|
|
3
|
-
"version": "1.26.1-beta.
|
|
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/ast": "1.26.1-beta.
|
|
52
|
-
"@eslint-react/
|
|
53
|
-
"@eslint-react/
|
|
54
|
-
"@eslint-react/jsx": "1.26.1-beta.
|
|
55
|
-
"@eslint-react/shared": "1.26.1-beta.
|
|
56
|
-
"@eslint-react/var": "1.26.1-beta.
|
|
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.
|
|
61
|
+
"ts-api-utils": "^2.0.1",
|
|
62
62
|
"tsup": "^8.3.6",
|
|
63
63
|
"@workspace/configs": "0.0.0"
|
|
64
64
|
},
|