diff --git a/.changeset/giant-planets-shake.md b/.changeset/giant-planets-shake.md new file mode 100644 index 0000000000..6aae50c26b --- /dev/null +++ b/.changeset/giant-planets-shake.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: treat snippets like normal components when inferring namespace diff --git a/packages/svelte/src/compiler/phases/3-transform/utils.js b/packages/svelte/src/compiler/phases/3-transform/utils.js index ceb8838c90..8476181479 100644 --- a/packages/svelte/src/compiler/phases/3-transform/utils.js +++ b/packages/svelte/src/compiler/phases/3-transform/utils.js @@ -245,11 +245,7 @@ function check_nodes_for_namespace(nodes, namespace) { } else if (namespace === 'keep') { namespace = 'svg'; } - } else if ( - (node.type === 'Text' && node.data.trim() !== '') || - node.type === 'HtmlTag' || - node.type === 'RenderTag' - ) { + } else if ((node.type === 'Text' && node.data.trim() !== '') || node.type === 'HtmlTag') { namespace = 'maybe_html'; } else if (node.type === 'EachBlock') { namespace = check_nodes_for_namespace(node.body.nodes, namespace); diff --git a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte index 41f3f38fa8..13a7e816eb 100644 --- a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte +++ b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte @@ -2,12 +2,16 @@ {#if true} true -{:else} - false {/if} -{#each Array(3).fill(0) as item, idx} +{#each Array(2).fill(0) as item, idx} {idx} {/each} - +{@render test("test")} + +{#snippet test(text)} +{text} +{/snippet} + + diff --git a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js index 46118026af..7629ae5010 100644 --- a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js @@ -7,7 +7,7 @@ export default test({ true 0 1 - 2 + test `, test({ assert, target }) {