Skip to content

Commit 025af04

Browse files
author
Jan Vogt
committed
make hydration less whitespace sensitive
this fixes #16242 and allows to sucessfully hydrate #15851 as well.
1 parent 541546e commit 025af04

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

.changeset/curvy-colts-occur.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: make hydration less whitespace sensitive

packages/svelte/src/internal/client/dom/hydration.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** @import { TemplateNode } from '#client' */
22

3-
import { COMMENT_NODE } from '#client/constants';
3+
import { COMMENT_NODE, TEXT_NODE } from '#client/constants';
44
import {
55
HYDRATION_END,
66
HYDRATION_ERROR,
@@ -41,7 +41,13 @@ export function set_hydrate_node(node) {
4141
}
4242

4343
export function hydrate_next() {
44-
return set_hydrate_node(/** @type {TemplateNode} */ (get_next_sibling(hydrate_node)));
44+
var node = set_hydrate_node(/** @type {TemplateNode} */(get_next_sibling(hydrate_node)));
45+
while (hydrate_node.nodeType === TEXT_NODE && !hydrate_node.nodeValue?.trim()) {
46+
var next_sibling = get_next_sibling(hydrate_node)
47+
hydrate_node.parentElement?.removeChild(hydrate_node)
48+
node = set_hydrate_node(/** @type {TemplateNode} */(next_sibling))
49+
}
50+
return node
4551
}
4652

4753
/** @param {TemplateNode} node */

0 commit comments

Comments
 (0)