diff --git a/.changeset/hip-stingrays-teach.md b/.changeset/hip-stingrays-teach.md new file mode 100644 index 000000000000..4f82007fbba2 --- /dev/null +++ b/.changeset/hip-stingrays-teach.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: add missing hydration mismatch call-site diff --git a/packages/svelte/src/internal/client/dom/hydration.js b/packages/svelte/src/internal/client/dom/hydration.js index 8b03fe7f9eb6..5f0880a67654 100644 --- a/packages/svelte/src/internal/client/dom/hydration.js +++ b/packages/svelte/src/internal/client/dom/hydration.js @@ -1,6 +1,12 @@ /** @import { TemplateNode } from '#client' */ -import { HYDRATION_END, HYDRATION_START, HYDRATION_START_ELSE } from '../../../constants.js'; +import { + HYDRATION_END, + HYDRATION_ERROR, + HYDRATION_START, + HYDRATION_START_ELSE +} from '../../../constants.js'; +import * as w from '../warnings.js'; /** * Use this variable to guard everything related to hydration code so it can be treeshaken out @@ -28,6 +34,10 @@ export function set_hydrate_node(node) { } export function hydrate_next() { + if (hydrate_node === null) { + w.hydration_mismatch(); + throw HYDRATION_ERROR; + } return (hydrate_node = /** @type {TemplateNode} */ (hydrate_node.nextSibling)); }