Skip to content

Commit fcb7226

Browse files
authored
fix: false positives for builtin $$ vars in svelte/prefer-destructured-store-props (#464)
1 parent e022e40 commit fcb7226

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

.changeset/gorgeous-geckos-unite.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"eslint-plugin-svelte": patch
3+
---
4+
5+
fix: false positives for builtin `$$` vars in `svelte/prefer-destructured-store-props`

src/rules/prefer-destructured-store-props.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ export default createRule("prefer-destructured-store-props", {
157157
// $: ({ bar } = $foo);
158158
// {bar}
159159
// Same with {$foo["bar"]}
160-
"MemberExpression[object.type='Identifier'][object.name=/^\\$/]"(
160+
"MemberExpression[object.type='Identifier'][object.name=/^\\$[^\\$]/]"(
161161
node: StoreMemberExpression,
162162
) {
163163
if (inScriptElement) return // Within a script tag
@@ -166,7 +166,7 @@ export default createRule("prefer-destructured-store-props", {
166166
Identifier(node: TSESTree.Identifier) {
167167
storeMemberAccessStack[0]?.identifiers.push(node)
168168
},
169-
"MemberExpression[object.type='Identifier'][object.name=/^\\$/]:exit"(
169+
"MemberExpression[object.type='Identifier'][object.name=/^\\$[^\\$]/]:exit"(
170170
node: StoreMemberExpression,
171171
) {
172172
if (storeMemberAccessStack[0]?.node !== node) return
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div>
2+
<slot name="title" />
3+
{#if $$slots.description}
4+
<hr />
5+
<slot name="description" />
6+
{/if}
7+
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<Widget prop={$$props.prop} />
2+
<input type={$$restProps.type} />

0 commit comments

Comments
 (0)