From f6fb7e3f6a01887a67b03053b2fd23d03dafb9f5 Mon Sep 17 00:00:00 2001 From: Caique Torres Date: Fri, 19 Apr 2024 11:31:41 -0300 Subject: [PATCH 1/2] feat: checking for runes when generating js code for object mutations --- .../src/compiler/phases/3-transform/client/visitors/global.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js index c299dd99ef6f..811407b35b84 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js @@ -105,6 +105,8 @@ export const global_visitors = { if (serialized_assignment === assignment) { // No change to output -> nothing to transform -> we can keep the original update expression return next(); + } else if (context.state.analysis.runes) { + return serialized_assignment; } else { /** @type {import('estree').Statement[]} */ let statements; From 20292197f24db9b5dfc43fa3143229627e490d43 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 19 Apr 2024 13:00:48 -0400 Subject: [PATCH 2/2] changeset --- .changeset/sixty-pandas-rush.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sixty-pandas-rush.md diff --git a/.changeset/sixty-pandas-rush.md b/.changeset/sixty-pandas-rush.md new file mode 100644 index 000000000000..0bae18c06c6d --- /dev/null +++ b/.changeset/sixty-pandas-rush.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: optimize object property mutations in compilation