From f075ea2fe84909328f008444596737d3d318a24b Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Sun, 1 Jun 2025 14:47:02 -0700 Subject: [PATCH] fix: avoid recursion error in `EachBlock` visitor --- .changeset/proud-pumpkins-train.md | 5 +++++ .../src/compiler/phases/2-analyze/visitors/EachBlock.js | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 .changeset/proud-pumpkins-train.md diff --git a/.changeset/proud-pumpkins-train.md b/.changeset/proud-pumpkins-train.md new file mode 100644 index 0000000000..11d09aeb80 --- /dev/null +++ b/.changeset/proud-pumpkins-train.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: avoid recursion error in `EachBlock` visitor diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js index 0ebfa563cf..e6a83921b1 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js @@ -77,6 +77,9 @@ export function EachBlock(node, context) { * @returns {void} */ function collect_transitive_dependencies(binding, bindings) { + if (bindings.has(binding)) { + return; + } bindings.add(binding); if (binding.kind === 'legacy_reactive') {