diff --git a/src/compiler/compile/utils/invalidate.ts b/src/compiler/compile/utils/invalidate.ts index 0c93ce2694..55f5d49977 100644 --- a/src/compiler/compile/utils/invalidate.ts +++ b/src/compiler/compile/utils/invalidate.ts @@ -18,7 +18,8 @@ export function invalidate(component: Component, scope: Scope, code: MagicString ( variable.referenced || variable.is_reactive_dependency || - variable.export_name + variable.export_name || + variable.name[0] === '$' ) ); }); diff --git a/test/runtime/samples/store-unreferenced/Nested.svelte b/test/runtime/samples/store-unreferenced/Nested.svelte new file mode 100644 index 0000000000..4af1890781 --- /dev/null +++ b/test/runtime/samples/store-unreferenced/Nested.svelte @@ -0,0 +1,5 @@ + + +
count: {$count}
\ No newline at end of file diff --git a/test/runtime/samples/store-unreferenced/_config.js b/test/runtime/samples/store-unreferenced/_config.js new file mode 100644 index 0000000000..0695edf8dc --- /dev/null +++ b/test/runtime/samples/store-unreferenced/_config.js @@ -0,0 +1,13 @@ +import { count } from './store.js'; + +export default { + html: `count: 0
`, + + async test({ assert, component, target }) { + await component.increment(); + + assert.htmlEqual(target.innerHTML, `count: 1
`); + + count.set(0); + } +}; diff --git a/test/runtime/samples/store-unreferenced/main.svelte b/test/runtime/samples/store-unreferenced/main.svelte new file mode 100644 index 0000000000..f55a5bdbdf --- /dev/null +++ b/test/runtime/samples/store-unreferenced/main.svelte @@ -0,0 +1,10 @@ + + +