From ec3da4aa0451658961032e4242ecda85918fac34 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Nov 2023 17:06:53 -0500 Subject: [PATCH 1/3] failing test for #9499 --- .../samples/module-context-export/_config.js | 9 +++++++++ .../samples/module-context-export/main.svelte | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 packages/svelte/tests/runtime-runes/samples/module-context-export/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/module-context-export/main.svelte 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}

From f4cf61f94616dde9518bc4ed960eaee56b91f99f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Nov 2023 17:18:10 -0500 Subject: [PATCH 2/3] limit export handling to instance context --- packages/svelte/src/compiler/phases/2-analyze/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); } From 385bda906d16d20c73b2675430cb4fb8580b40d6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Nov 2023 17:18:31 -0500 Subject: [PATCH 3/3] changeset --- .changeset/sharp-gorillas-impress.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sharp-gorillas-impress.md 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