From 91ba2035bc9cd1544247a2d2deaef4439da2d1e6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 26 Nov 2024 13:00:45 -0500 Subject: [PATCH] simplify --- .../compiler/phases/2-analyze/css/css-prune.js | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js b/packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js index f3a5d77d77..de0eec9aa4 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js +++ b/packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js @@ -895,7 +895,7 @@ function get_possible_element_siblings(element, adjacent_only) { let i = path.length; while (i--) { - let current = node; + let fragment = /** @type {Compiler.AST.Fragment} */ (path[i--]); // @ts-expect-error while ((node = node.prev)) { @@ -928,20 +928,14 @@ function get_possible_element_siblings(element, adjacent_only) { } } - let parent = path[i]; + node = path[i]; - if (parent.type === 'Fragment') { - parent = path[--i]; - } - - if (!parent || !is_block(parent)) break; + if (!node || !is_block(node)) break; - if (parent.type === 'EachBlock' && !parent.fallback?.nodes.includes(current)) { + if (node.type === 'EachBlock' && fragment === node.body) { // `{#each ...}{/each}` — `` can be previous sibling of `` - add_to_map(get_possible_last_child(parent, adjacent_only), result); + add_to_map(get_possible_last_child(node, adjacent_only), result); } - - node = parent; } return result;