From ccc993933cdcf95208e4d43cb5f4057fb6892d5e Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Fri, 29 Aug 2025 18:02:07 -0700 Subject: [PATCH] fix --- .../3-transform/client/visitors/Program.js | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/Program.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/Program.js index 1e9789e9d5..c2febd3e7b 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/Program.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/Program.js @@ -141,22 +141,29 @@ export function Program(node, context) { const body = []; for (let i = 0; i < node.body.length; i++) { const transformed = /** @type {Program['body'][number]} */ (context.visit(node.body[i])); - const chunk = context.state.parallelized_chunks?.at(-1); body.push(transformed); - if (chunk && chunk.position === i) { - if (chunk.declarators.length === 1) { - const declarator = chunk.declarators[0]; - body.push( - b.declaration(chunk.kind, [ - b.declarator(declarator.id, b.call(b.await(b.call('$.save', declarator.init)))) - ]) - ); - } else { - const pattern = b.array_pattern(chunk.declarators.map(({ id }) => id)); - const init = b.call('$.all', ...chunk.declarators.map(({ init }) => init)); - body.push(b.declaration(chunk.kind, [b.declarator(pattern, b.await(init))])); - } + } + let offset = 0; + for (const chunk of context.state.parallelized_chunks) { + if (chunk.declarators.length === 1) { + const declarator = chunk.declarators[0]; + body.splice( + chunk.position + offset, + 0, + b.declaration(chunk.kind, [ + b.declarator(declarator.id, b.call(b.await(b.call('$.save', declarator.init)))) + ]) + ); + } else { + const pattern = b.array_pattern(chunk.declarators.map(({ id }) => id)); + const init = b.call('$.all', ...chunk.declarators.map(({ init }) => init)); + body.splice( + chunk.position + offset, + 0, + b.declaration(chunk.kind, [b.declarator(pattern, b.await(init))]) + ); } + offset++; } return { ...node,