diff --git a/.changeset/two-onions-end.md b/.changeset/two-onions-end.md new file mode 100644 index 0000000000..9e6a56bbf9 --- /dev/null +++ b/.changeset/two-onions-end.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: remove trailing semicolon from {@const} tag printer diff --git a/packages/svelte/src/compiler/print/index.js b/packages/svelte/src/compiler/print/index.js index 160aeb4345..26dc1b88e8 100644 --- a/packages/svelte/src/compiler/print/index.js +++ b/packages/svelte/src/compiler/print/index.js @@ -592,8 +592,13 @@ const svelte_visitors = (comments) => ({ }, ConstTag(node, context) { - context.write('{@'); - context.visit(node.declaration); + context.write('{@const '); + const declarators = node.declaration.declarations; + for (let i = 0; i < declarators.length; i++) { + if (i > 0) context.write(', '); + context.visit(declarators[i]); + } + context.write('}'); }, diff --git a/packages/svelte/tests/print/samples/const-tag/output.svelte b/packages/svelte/tests/print/samples/const-tag/output.svelte index d9d8addcbb..dded998a84 100644 --- a/packages/svelte/tests/print/samples/const-tag/output.svelte +++ b/packages/svelte/tests/print/samples/const-tag/output.svelte @@ -3,6 +3,6 @@ {#each boxes as box} - {@const area = box.width * box.height;} + {@const area = box.width * box.height} {box.width} * {box.height} = {area} {/each}