From 14136f88fc81b10611f46d475932b5dcbea96653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20=C3=87ak=C4=B1r?= <108465492+wfatih@users.noreply.github.com> Date: Tue, 6 Oct 2026 12:18:44 +0300 Subject: [PATCH] fix: print `{#await}` blocks that only have a pending branch (#18908) --- .changeset/print-await-pending-only.md | 5 +++++ packages/svelte/src/compiler/print/index.js | 4 +++- packages/svelte/tests/print/samples/await-block/input.svelte | 4 ++++ .../svelte/tests/print/samples/await-block/output.svelte | 4 ++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/print-await-pending-only.md diff --git a/.changeset/print-await-pending-only.md b/.changeset/print-await-pending-only.md new file mode 100644 index 0000000000..677dc73fc0 --- /dev/null +++ b/.changeset/print-await-pending-only.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: print `{#await}` blocks that only have a pending branch diff --git a/packages/svelte/src/compiler/print/index.js b/packages/svelte/src/compiler/print/index.js index 554e788654..5696a68462 100644 --- a/packages/svelte/src/compiler/print/index.js +++ b/packages/svelte/src/compiler/print/index.js @@ -754,7 +754,9 @@ const svelte_visitors = (comments, state) => ({ if (node.pending) { context.write('}'); block(context, node.pending, state.preserve_whitespace > 0); - context.write('{:'); + if (node.then || node.catch) { + context.write('{:'); + } } else { context.write(' '); } diff --git a/packages/svelte/tests/print/samples/await-block/input.svelte b/packages/svelte/tests/print/samples/await-block/input.svelte index ba0ba8c882..029f31bf53 100644 --- a/packages/svelte/tests/print/samples/await-block/input.svelte +++ b/packages/svelte/tests/print/samples/await-block/input.svelte @@ -34,3 +34,7 @@ {:catch}

Something went wrong

{/await} + +{#await promise} +

waiting for the promise to resolve...

+{/await} diff --git a/packages/svelte/tests/print/samples/await-block/output.svelte b/packages/svelte/tests/print/samples/await-block/output.svelte index ba0ba8c882..029f31bf53 100644 --- a/packages/svelte/tests/print/samples/await-block/output.svelte +++ b/packages/svelte/tests/print/samples/await-block/output.svelte @@ -34,3 +34,7 @@ {:catch}

Something went wrong

{/await} + +{#await promise} +

waiting for the promise to resolve...

+{/await}