diff --git a/.changeset/brown-mangos-tie.md b/.changeset/brown-mangos-tie.md new file mode 100644 index 000000000000..cd87886529a8 --- /dev/null +++ b/.changeset/brown-mangos-tie.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +[fix] refactor navigation singletons to avoid storing undefined reference diff --git a/packages/kit/src/runtime/app/navigation.js b/packages/kit/src/runtime/app/navigation.js index 8b75cf27d4b9..52ee7d4397b3 100644 --- a/packages/kit/src/runtime/app/navigation.js +++ b/packages/kit/src/runtime/app/navigation.js @@ -1,8 +1,6 @@ -import { router as router_, renderer } from '../client/singletons.js'; +import { router, renderer } from '../client/singletons.js'; import { get_base_uri } from '../client/utils.js'; -const router = /** @type {import('../client/router').Router} */ (router_); - /** * @param {string} name */ diff --git a/packages/kit/src/runtime/client/singletons.js b/packages/kit/src/runtime/client/singletons.js index eb423ed202c2..aa2a6ad40392 100644 --- a/packages/kit/src/runtime/client/singletons.js +++ b/packages/kit/src/runtime/client/singletons.js @@ -1,4 +1,7 @@ -/** @type {import('./router').Router?} */ +/** + * The router is nullable, but not typed that way for ease-of-use + * @type {import('./router').Router} + */ export let router; /** @type {import('./renderer').Renderer} */ @@ -11,6 +14,6 @@ export let renderer; * }} opts */ export function init(opts) { - router = opts.router; + router = /** @type {import('../client/router').Router} */ (opts.router); renderer = opts.renderer; }