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 @@ + + + \ No newline at end of file diff --git a/test/runtime/samples/store-unreferenced/store.js b/test/runtime/samples/store-unreferenced/store.js new file mode 100644 index 0000000000..99e27e5584 --- /dev/null +++ b/test/runtime/samples/store-unreferenced/store.js @@ -0,0 +1,3 @@ +import { writable } from '../../../../store'; + +export const count = writable(0); \ No newline at end of file