diff --git a/src/rules/no-reactive-literals.ts b/src/rules/no-reactive-literals.ts index ba69034a1..9c209e7bf 100644 --- a/src/rules/no-reactive-literals.ts +++ b/src/rules/no-reactive-literals.ts @@ -18,7 +18,7 @@ export default createRule("no-reactive-literals", { }, create(context) { return { - [`SvelteReactiveStatement > ExpressionStatement > AssignmentExpression${[ + [`SvelteReactiveStatement > ExpressionStatement > AssignmentExpression:matches(${[ // $: foo = "foo"; // $: foo = 1; `[right.type="Literal"]`, @@ -28,7 +28,7 @@ export default createRule("no-reactive-literals", { // $: foo = {}; `[right.type="ObjectExpression"][right.properties.length=0]`, - ].join(",")}`](node: TSESTree.AssignmentExpression) { + ].join(",")})`](node: TSESTree.AssignmentExpression) { // Move upwards to include the entire reactive statement const parent = node.parent?.parent diff --git a/tests/fixtures/rules/no-reactive-literals/valid/test01-input.svelte b/tests/fixtures/rules/no-reactive-literals/valid/test01-input.svelte index 67e41d3e0..bb3fb3f93 100644 --- a/tests/fixtures/rules/no-reactive-literals/valid/test01-input.svelte +++ b/tests/fixtures/rules/no-reactive-literals/valid/test01-input.svelte @@ -3,4 +3,10 @@ $: foo = `${"bar"}baz` $: bar = [ "bar" ] $: baz = { qux : true } + + let qux; + + qux = 1; + qux = []; + qux = {};