diff --git a/src/compiler/compile/render_ssr/handlers/Element.ts b/src/compiler/compile/render_ssr/handlers/Element.ts index c69d3e88a4..819e04ed29 100644 --- a/src/compiler/compile/render_ssr/handlers/Element.ts +++ b/src/compiler/compile/render_ssr/handlers/Element.ts @@ -24,7 +24,7 @@ export default function (node: Element, renderer: Renderer, options: RenderOptio ); renderer.add_string('<'); - renderer.add_expression(node.tag_expr.node as ESExpression); + add_tag_name(); const class_expression_list = node.classes.map(class_directive => { const { expression, name } = class_directive; @@ -162,9 +162,17 @@ export default function (node: Element, renderer: Renderer, options: RenderOptio function add_close_tag() { if (!is_void(node.name)) { renderer.add_string(''); } } + + function add_tag_name() { + if (node.tag_expr.node.type === 'Literal') { + renderer.add_string(node.tag_expr.node.value as string); + } else { + renderer.add_expression(node.tag_expr.node as ESExpression); + } + } } diff --git a/test/js/samples/debug-ssr-foo/expected.js b/test/js/samples/debug-ssr-foo/expected.js index bbd3ea8dac..40531f18c0 100644 --- a/test/js/samples/debug-ssr-foo/expected.js +++ b/test/js/samples/debug-ssr-foo/expected.js @@ -7,10 +7,10 @@ const Component = create_ssr_component(($$result, $$props, $$bindings, slots) => if ($$props.things === void 0 && $$bindings.things && things !== void 0) $$bindings.things(things); if ($$props.foo === void 0 && $$bindings.foo && foo !== void 0) $$bindings.foo(foo); - return `${each(things, thing => `<${"span"}>${escape(thing.name)} + return `${each(things, thing => `${escape(thing.name)} ${debug(null, 7, 2, { foo })}`)} -<${"p"}>foo: ${escape(foo)}`; +

foo: ${escape(foo)}

`; }); export default Component; diff --git a/test/js/samples/ssr-preserve-comments/expected.js b/test/js/samples/ssr-preserve-comments/expected.js index c787906b04..4f3326cec5 100644 --- a/test/js/samples/ssr-preserve-comments/expected.js +++ b/test/js/samples/ssr-preserve-comments/expected.js @@ -2,9 +2,9 @@ import { create_ssr_component } from "svelte/internal"; const Component = create_ssr_component(($$result, $$props, $$bindings, slots) => { - return `<${"div"}>content + return `
content
-<${"div"}>more content`; +
more content
`; }); export default Component;