diff --git a/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js b/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js index 3c0ca2684d..a60f70a0bc 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js @@ -48,10 +48,9 @@ function build_locations(locations) { /** * @param {ComponentClientTransformState} state * @param {Namespace} namespace - * @param {Identifier} template_name * @param {number} [flags] */ -export function transform_template(state, namespace, template_name, flags) { +export function transform_template(state, namespace, flags) { const expression = state.options.templatingMode === 'functional' ? template_to_functions(state.template.nodes) @@ -64,7 +63,7 @@ export function transform_template(state, namespace, template_name, flags) { ); if (dev) { - call = b.call( + return b.call( '$.add_locations', call, b.member(b.id(state.analysis.name), '$.FILENAME', true), @@ -72,5 +71,5 @@ export function transform_template(state, namespace, template_name, flags) { ); } - state.hoisted.push(b.var(template_name, call)); + return call; } diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/Fragment.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/Fragment.js index 9a9b186d47..151258bbc0 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/Fragment.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/Fragment.js @@ -96,7 +96,8 @@ export function Fragment(node, context) { let flags = state.template.needs_import_node ? TEMPLATE_USE_IMPORT_NODE : undefined; - transform_template(state, namespace, template_name, flags); + const template = transform_template(state, namespace, flags); + state.hoisted.push(b.var(template_name, template)); body.push(b.var(id, b.call(template_name))); close = b.stmt(b.call('$.append', b.id('$$anchor'), id)); @@ -144,7 +145,8 @@ export function Fragment(node, context) { // special case — we can use `$.comment` instead of creating a unique template body.push(b.var(id, b.call('$.comment'))); } else { - transform_template(state, namespace, template_name, flags); + const template = transform_template(state, namespace, flags); + state.hoisted.push(b.var(template_name, template)); body.push(b.var(id, b.call(template_name))); }