From bf76e07755e7c1589553d89edd8a4876cfef1966 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 15 Jan 2025 14:23:38 +0900 Subject: [PATCH 1/5] update --- packages/eslint-plugin-svelte/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/eslint-plugin-svelte/package.json b/packages/eslint-plugin-svelte/package.json index fad005edf..d8c8225fb 100644 --- a/packages/eslint-plugin-svelte/package.json +++ b/packages/eslint-plugin-svelte/package.json @@ -65,7 +65,7 @@ "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^7.0.0", "semver": "^7.6.3", - "svelte-eslint-parser": "^1.0.0-next.10" + "svelte-eslint-parser": "^1.0.0-next.12" }, "devDependencies": { "@babel/core": "^7.26.0", From f293e2385d7aaa763492c200d52e77f9f5d39f91 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 15 Jan 2025 14:24:31 +0900 Subject: [PATCH 2/5] changeset --- .changeset/red-jokes-tickle.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/red-jokes-tickle.md diff --git a/.changeset/red-jokes-tickle.md b/.changeset/red-jokes-tickle.md new file mode 100644 index 000000000..ab06d7f7a --- /dev/null +++ b/.changeset/red-jokes-tickle.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': patch +--- + +chore: update `svelte-eslint-parser` to `v1.0.0-next.12` From 788e94d2c55c3044b14a5bc65d8c3234b9201ccc Mon Sep 17 00:00:00 2001 From: baseballyama Date: Thu, 16 Jan 2025 09:13:39 +0900 Subject: [PATCH 3/5] bump parser and fix --- packages/eslint-plugin-svelte/package.json | 2 +- .../src/rules/require-store-reactive-access.ts | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/eslint-plugin-svelte/package.json b/packages/eslint-plugin-svelte/package.json index d8c8225fb..f3fb2db94 100644 --- a/packages/eslint-plugin-svelte/package.json +++ b/packages/eslint-plugin-svelte/package.json @@ -65,7 +65,7 @@ "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^7.0.0", "semver": "^7.6.3", - "svelte-eslint-parser": "^1.0.0-next.12" + "svelte-eslint-parser": "^1.0.0-next.13" }, "devDependencies": { "@babel/core": "^7.26.0", diff --git a/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts b/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts index 616825059..52fe7a51c 100644 --- a/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts +++ b/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts @@ -76,10 +76,18 @@ export default createRule('require-store-reactive-access', { if (node.key.name.name !== 'this' && canAcceptStoreAttributeElement(node.parent.parent)) { return; } - // Check for - verifyExpression(node.expression, { - disableFix: node.shorthand - }); + if (node.expression?.type === 'SvelteFunctionBindingsExpression') { + for (const expr of node.expression.expressions) { + verifyExpression(expr, { + disableFix: node.shorthand + }); + } + } else { + // Check for + verifyExpression(node.expression, { + disableFix: node.shorthand + }); + } } else if (node.kind === 'Class') { // Check for
verifyExpression(node.expression, { From 6fe6ee6325f6ce6b73541c745d851c6c0596547b Mon Sep 17 00:00:00 2001 From: baseballyama Date: Thu, 16 Jan 2025 09:15:07 +0900 Subject: [PATCH 4/5] add comment --- .../src/rules/require-store-reactive-access.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts b/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts index 52fe7a51c..957a497fc 100644 --- a/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts +++ b/packages/eslint-plugin-svelte/src/rules/require-store-reactive-access.ts @@ -76,6 +76,7 @@ export default createRule('require-store-reactive-access', { if (node.key.name.name !== 'this' && canAcceptStoreAttributeElement(node.parent.parent)) { return; } + // Check for {}, (v) => {} } /> if (node.expression?.type === 'SvelteFunctionBindingsExpression') { for (const expr of node.expression.expressions) { verifyExpression(expr, { From c8e1e69dec282f1e00cca99e1f7ecf3662dc7d60 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Thu, 16 Jan 2025 09:16:15 +0900 Subject: [PATCH 5/5] update --- packages/eslint-plugin-svelte/src/types-for-node.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/eslint-plugin-svelte/src/types-for-node.ts b/packages/eslint-plugin-svelte/src/types-for-node.ts index 00bf3c670..e67a7c5b3 100644 --- a/packages/eslint-plugin-svelte/src/types-for-node.ts +++ b/packages/eslint-plugin-svelte/src/types-for-node.ts @@ -495,6 +495,12 @@ export type ASTNodeListener = { 'SvelteHTMLComment:exit'?: (node: AST.SvelteHTMLComment & ASTNodeWithParent) => void; SvelteReactiveStatement?: (node: AST.SvelteReactiveStatement & ASTNodeWithParent) => void; 'SvelteReactiveStatement:exit'?: (node: AST.SvelteReactiveStatement & ASTNodeWithParent) => void; + SvelteFunctionBindingsExpression?: ( + node: AST.SvelteFunctionBindingsExpression & ASTNodeWithParent + ) => void; + 'SvelteFunctionBindingsExpression:exit'?: ( + node: AST.SvelteFunctionBindingsExpression & ASTNodeWithParent + ) => void; }; export type ESNodeListener = { @@ -950,4 +956,10 @@ export type SvelteNodeListener = { 'SvelteText:exit'?: (node: AST.SvelteText & ASTNodeWithParent) => void; SvelteHTMLComment?: (node: AST.SvelteHTMLComment & ASTNodeWithParent) => void; 'SvelteHTMLComment:exit'?: (node: AST.SvelteHTMLComment & ASTNodeWithParent) => void; + SvelteFunctionBindingsExpression?: ( + node: AST.SvelteFunctionBindingsExpression & ASTNodeWithParent + ) => void; + 'SvelteFunctionBindingsExpression:exit'?: ( + node: AST.SvelteFunctionBindingsExpression & ASTNodeWithParent + ) => void; };