eslint-plugin-react-dom 5.5.6-beta.0 → 5.6.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 +19 -9
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { merge } from "@eslint-react/eslint";
|
|
|
3
3
|
import { findAttribute, getAttributeStaticValue, getElementFullType, hasAnyAttribute, hasAttribute, isHostElement, isWhitespace, resolveAttributeValue } from "@eslint-react/jsx";
|
|
4
4
|
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
5
5
|
import { AST_NODE_TYPES } from "@typescript-eslint/types";
|
|
6
|
+
import { Check, Extract } from "@eslint-react/ast";
|
|
6
7
|
import { compare } from "compare-versions";
|
|
7
8
|
|
|
8
9
|
//#region \0rolldown/runtime.js
|
|
@@ -24,7 +25,7 @@ var __exportAll = (all, no_symbols) => {
|
|
|
24
25
|
//#endregion
|
|
25
26
|
//#region package.json
|
|
26
27
|
var name$2 = "eslint-plugin-react-dom";
|
|
27
|
-
var version = "5.
|
|
28
|
+
var version = "5.6.0-beta.1";
|
|
28
29
|
|
|
29
30
|
//#endregion
|
|
30
31
|
//#region src/utils/create-jsx-element-resolver.ts
|
|
@@ -221,15 +222,16 @@ function create$11(context) {
|
|
|
221
222
|
const hydrateNames = /* @__PURE__ */ new Set();
|
|
222
223
|
return merge({
|
|
223
224
|
CallExpression(node) {
|
|
225
|
+
const callee = Extract.unwrap(node.callee);
|
|
224
226
|
switch (true) {
|
|
225
|
-
case
|
|
227
|
+
case callee.type === AST_NODE_TYPES.Identifier && hydrateNames.has(callee.name):
|
|
226
228
|
context.report({
|
|
227
229
|
fix: getFix$2(context, node),
|
|
228
230
|
messageId: "default",
|
|
229
231
|
node
|
|
230
232
|
});
|
|
231
233
|
return;
|
|
232
|
-
case
|
|
234
|
+
case callee.type === AST_NODE_TYPES.MemberExpression && callee.object.type === AST_NODE_TYPES.Identifier && callee.property.type === AST_NODE_TYPES.Identifier && callee.property.name === hydrate && reactDomNames.has(callee.object.name):
|
|
233
235
|
context.report({
|
|
234
236
|
fix: getFix$2(context, node),
|
|
235
237
|
messageId: "default",
|
|
@@ -370,6 +372,11 @@ const banParentTypes = [
|
|
|
370
372
|
AST_NODE_TYPES.ArrowFunctionExpression,
|
|
371
373
|
AST_NODE_TYPES.AssignmentExpression
|
|
372
374
|
];
|
|
375
|
+
function isReturnValueUsed(node) {
|
|
376
|
+
let parent = node.parent;
|
|
377
|
+
while (Check.isTypeExpression(parent)) parent = parent.parent;
|
|
378
|
+
return banParentTypes.includes(parent.type);
|
|
379
|
+
}
|
|
373
380
|
var no_render_return_value_default = createRule({
|
|
374
381
|
meta: {
|
|
375
382
|
type: "problem",
|
|
@@ -386,14 +393,15 @@ function create$8(context) {
|
|
|
386
393
|
const renderNames = /* @__PURE__ */ new Set();
|
|
387
394
|
return merge({
|
|
388
395
|
CallExpression(node) {
|
|
396
|
+
const callee = Extract.unwrap(node.callee);
|
|
389
397
|
switch (true) {
|
|
390
|
-
case
|
|
398
|
+
case callee.type === AST_NODE_TYPES.Identifier && renderNames.has(callee.name) && isReturnValueUsed(node):
|
|
391
399
|
context.report({
|
|
392
400
|
messageId: "default",
|
|
393
401
|
node
|
|
394
402
|
});
|
|
395
403
|
return;
|
|
396
|
-
case
|
|
404
|
+
case callee.type === AST_NODE_TYPES.MemberExpression && callee.object.type === AST_NODE_TYPES.Identifier && callee.property.type === AST_NODE_TYPES.Identifier && callee.property.name === "render" && reactDomNames.has(callee.object.name) && isReturnValueUsed(node):
|
|
397
405
|
context.report({
|
|
398
406
|
messageId: "default",
|
|
399
407
|
node
|
|
@@ -440,15 +448,16 @@ function create$7(context) {
|
|
|
440
448
|
const renderNames = /* @__PURE__ */ new Set();
|
|
441
449
|
return merge({
|
|
442
450
|
CallExpression(node) {
|
|
451
|
+
const callee = Extract.unwrap(node.callee);
|
|
443
452
|
switch (true) {
|
|
444
|
-
case
|
|
453
|
+
case callee.type === AST_NODE_TYPES.Identifier && renderNames.has(callee.name):
|
|
445
454
|
context.report({
|
|
446
455
|
fix: getFix$1(context, node),
|
|
447
456
|
messageId: "default",
|
|
448
457
|
node
|
|
449
458
|
});
|
|
450
459
|
return;
|
|
451
|
-
case
|
|
460
|
+
case callee.type === AST_NODE_TYPES.MemberExpression && callee.object.type === AST_NODE_TYPES.Identifier && callee.property.type === AST_NODE_TYPES.Identifier && callee.property.name === "render" && reactDomNames.has(callee.object.name):
|
|
452
461
|
context.report({
|
|
453
462
|
fix: getFix$1(context, node),
|
|
454
463
|
messageId: "default",
|
|
@@ -1820,15 +1829,16 @@ function create$1(context) {
|
|
|
1820
1829
|
const useFormStateNames = /* @__PURE__ */ new Set();
|
|
1821
1830
|
return merge({
|
|
1822
1831
|
CallExpression(node) {
|
|
1832
|
+
const callee = Extract.unwrap(node.callee);
|
|
1823
1833
|
switch (true) {
|
|
1824
|
-
case
|
|
1834
|
+
case callee.type === AST_NODE_TYPES.Identifier && useFormStateNames.has(callee.name):
|
|
1825
1835
|
context.report({
|
|
1826
1836
|
fix: getFix(context, node),
|
|
1827
1837
|
messageId: "default",
|
|
1828
1838
|
node
|
|
1829
1839
|
});
|
|
1830
1840
|
return;
|
|
1831
|
-
case
|
|
1841
|
+
case callee.type === AST_NODE_TYPES.MemberExpression && callee.object.type === AST_NODE_TYPES.Identifier && callee.property.type === AST_NODE_TYPES.Identifier && callee.property.name === "useFormState" && reactDomNames.has(callee.object.name):
|
|
1832
1842
|
context.report({
|
|
1833
1843
|
fix: getFix(context, node),
|
|
1834
1844
|
messageId: "default",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-dom",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0-beta.1",
|
|
4
4
|
"description": "ESLint React's ESLint plugin for DOM related rules.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -40,9 +40,10 @@
|
|
|
40
40
|
"@typescript-eslint/types": "^8.59.1",
|
|
41
41
|
"@typescript-eslint/utils": "^8.59.1",
|
|
42
42
|
"compare-versions": "^6.1.1",
|
|
43
|
-
"@eslint-react/
|
|
44
|
-
"@eslint-react/
|
|
45
|
-
"@eslint-react/shared": "5.
|
|
43
|
+
"@eslint-react/ast": "5.6.0-beta.1",
|
|
44
|
+
"@eslint-react/eslint": "5.6.0-beta.1",
|
|
45
|
+
"@eslint-react/shared": "5.6.0-beta.1",
|
|
46
|
+
"@eslint-react/jsx": "5.6.0-beta.1"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
49
|
"@types/react": "^19.2.14",
|