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}