From 2743cd0fe5a305586e87b65301dc3466b7c265f9 Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Wed, 10 Sep 2025 17:20:04 -0700 Subject: [PATCH] fix: correctly analyze `` components (#16711) * fix: correctly analyze `` components * add test --------- Co-authored-by: Rich Harris --- .changeset/khaki-flies-remember.md | 5 +++++ packages/svelte/src/compiler/phases/scope.js | 2 +- .../samples/snippet-hoisting-4/Component.svelte | 1 + .../samples/snippet-hoisting-4/_config.js | 5 +++++ .../samples/snippet-hoisting-4/main.svelte | 13 +++++++++++++ 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .changeset/khaki-flies-remember.md create mode 100644 packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/Component.svelte create mode 100644 packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/main.svelte diff --git a/.changeset/khaki-flies-remember.md b/.changeset/khaki-flies-remember.md new file mode 100644 index 0000000000..16d0f79e0f --- /dev/null +++ b/.changeset/khaki-flies-remember.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: correctly analyze `` components diff --git a/packages/svelte/src/compiler/phases/scope.js b/packages/svelte/src/compiler/phases/scope.js index 76157d406f..887bc47c56 100644 --- a/packages/svelte/src/compiler/phases/scope.js +++ b/packages/svelte/src/compiler/phases/scope.js @@ -1032,7 +1032,7 @@ export function create_scopes(ast, root, allow_reactive_declarations, parent) { }, Component: (node, context) => { - context.state.scope.reference(b.id(node.name), context.path); + context.state.scope.reference(b.id(node.name.split('.')[0]), context.path); Component(node, context); }, SvelteSelf: Component, diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/Component.svelte b/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/Component.svelte new file mode 100644 index 0000000000..597ecf5fc4 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/Component.svelte @@ -0,0 +1 @@ +

Hello world!

diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/_config.js new file mode 100644 index 0000000000..240263603d --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/_config.js @@ -0,0 +1,5 @@ +import { test } from '../../test'; + +export default test({ + html: '

Hello world!

' +}); diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/main.svelte b/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/main.svelte new file mode 100644 index 0000000000..d3130a99bd --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/snippet-hoisting-4/main.svelte @@ -0,0 +1,13 @@ + + +{#snippet not_hoisted()} + +{/snippet} + +{@render not_hoisted()}