diff --git a/.changeset/proud-pumpkins-train.md b/.changeset/proud-pumpkins-train.md new file mode 100644 index 000000000000..11d09aeb8060 --- /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 0ebfa563cf9a..e6a83921b1f1 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') {