diff --git a/.changeset/sharp-gorillas-impress.md b/.changeset/sharp-gorillas-impress.md new file mode 100644 index 000000000000..37c74aafa649 --- /dev/null +++ b/.changeset/sharp-gorillas-impress.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: only treat instance context exports as accessors diff --git a/packages/svelte/src/compiler/phases/2-analyze/index.js b/packages/svelte/src/compiler/phases/2-analyze/index.js index 7a769a225628..1a3bd900204d 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/index.js +++ b/packages/svelte/src/compiler/phases/2-analyze/index.js @@ -680,7 +680,7 @@ const runes_scope_tweaker = { }); }, ExportNamedDeclaration(node, { next, state }) { - if (!node.declaration) { + if (!node.declaration || state.ast_type !== 'instance') { return next(); } diff --git a/packages/svelte/tests/runtime-runes/samples/module-context-export/_config.js b/packages/svelte/tests/runtime-runes/samples/module-context-export/_config.js new file mode 100644 index 000000000000..c594a1480925 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/module-context-export/_config.js @@ -0,0 +1,9 @@ +import { test } from '../../test'; + +export default test({ + html: `

42

`, + + async test({ assert, target, window, component }) { + assert.equal(component.answer, undefined); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/module-context-export/main.svelte b/packages/svelte/tests/runtime-runes/samples/module-context-export/main.svelte new file mode 100644 index 000000000000..e3109ef1f12d --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/module-context-export/main.svelte @@ -0,0 +1,7 @@ + + + + +

{answer}