From a06bc99944f8a32c6ec7f6effe3da56126e86826 Mon Sep 17 00:00:00 2001 From: Pat Cavit Date: Sun, 31 Jul 2022 00:27:33 -0700 Subject: [PATCH 1/2] fix: corrected query using :matches() Previously it wasn't which meant the resulting query could match too many things. --- src/rules/no-reactive-literals.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From e37b151d34e68e935836b4bb800735196c56e0ae Mon Sep 17 00:00:00 2001 From: Pat Cavit Date: Sun, 31 Jul 2022 00:27:49 -0700 Subject: [PATCH 2/2] test: updated tests to reduce false-positives --- .../rules/no-reactive-literals/valid/test01-input.svelte | 6 ++++++ 1 file changed, 6 insertions(+) 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 = {};