diff --git a/packages/svelte/src/compiler/phases/3-transform/shared/assignments.js b/packages/svelte/src/compiler/phases/3-transform/shared/assignments.js index 4e9f043535..f5cbf92edc 100644 --- a/packages/svelte/src/compiler/phases/3-transform/shared/assignments.js +++ b/packages/svelte/src/compiler/phases/3-transform/shared/assignments.js @@ -54,6 +54,10 @@ export function visit_assignment_expression(node, context, build_assignment) { block.body.push(b.return(rhs)); } + if (is_standalone && !should_cache) { + return block; + } + const iife = b.arrow(should_cache ? [rhs] : [], block); const iife_is_async = diff --git a/packages/svelte/tests/snapshot/samples/destructured-assignments/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/destructured-assignments/_expected/client/index.svelte.js index 2d6690b63c..b2ef29ccaf 100644 --- a/packages/svelte/tests/snapshot/samples/destructured-assignments/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/destructured-assignments/_expected/client/index.svelte.js @@ -7,12 +7,12 @@ let c = 3; let d = 4; export function update(array) { - (() => { + { let [$$1, $$2] = array; $.set(a, $$1, true); $.set(b, $$2, true); - })(); + }; [c, d] = array; } \ No newline at end of file