From beada059454c3b8ee6bc3825eecdceea92e03fda Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Wed, 25 Jun 2025 21:44:09 -0700 Subject: [PATCH 1/2] fix: use fallback if `untrack` doesn't exist in svelte package --- .changeset/nasty-forks-drum.md | 5 +++++ packages/kit/src/runtime/client/client.js | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .changeset/nasty-forks-drum.md diff --git a/.changeset/nasty-forks-drum.md b/.changeset/nasty-forks-drum.md new file mode 100644 index 000000000000..ac3d51918db0 --- /dev/null +++ b/.changeset/nasty-forks-drum.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: use fallback if `untrack` doesn't exist in svelte package diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index 84beeb95d79a..02ce34f546de 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -1,5 +1,7 @@ import { BROWSER, DEV } from 'esm-env'; -import { onMount, tick, untrack } from 'svelte'; +import { onMount, tick } from 'svelte'; +// Svelte 4 and under don't have `untrack`, so we have to fallback if `untrack` is not exported +const untrack = (await import('svelte')).untrack ?? ((value) => value()); import { decode_params, decode_pathname, From 331e9796f25f793e5b1ee4eed81a967695428dc9 Mon Sep 17 00:00:00 2001 From: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com> Date: Wed, 25 Jun 2025 22:52:38 -0700 Subject: [PATCH 2/2] fix --- packages/kit/src/runtime/client/client.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index 02ce34f546de..7d07af6aa5a6 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -1,7 +1,8 @@ import { BROWSER, DEV } from 'esm-env'; -import { onMount, tick } from 'svelte'; +import * as svelte from 'svelte'; +const { onMount, tick } = svelte; // Svelte 4 and under don't have `untrack`, so we have to fallback if `untrack` is not exported -const untrack = (await import('svelte')).untrack ?? ((value) => value()); +const untrack = svelte.untrack ?? ((value) => value()); import { decode_params, decode_pathname,