From 97d45f85c6cbaa15bbac1c45b08cf302bb115482 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 31 Mar 2026 18:47:54 +0200 Subject: [PATCH] fix: don't override `$destroy/set/on` instance methods in dev mode (#18034) Don't think we need a test for this Fixes #17988 --- .changeset/orange-geckos-rest.md | 5 +++++ .../compiler/phases/3-transform/client/transform-client.js | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/orange-geckos-rest.md diff --git a/.changeset/orange-geckos-rest.md b/.changeset/orange-geckos-rest.md new file mode 100644 index 0000000000..5717c249b6 --- /dev/null +++ b/.changeset/orange-geckos-rest.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: don't override `$destroy/set/on` instance methods in dev mode diff --git a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js index 9328d20be3..5cd837d08e 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js @@ -352,7 +352,7 @@ export function client_component(analysis, options) { ) ); } else if (dev) { - component_returned_object.push(b.spread(b.call(b.id('$.legacy_api')))); + component_returned_object.unshift(b.spread(b.call(b.id('$.legacy_api')))); } const push_args = [b.id('$$props'), b.literal(analysis.runes)];