From 86f8f8a52c50e3854aa29ab33d9b03b217178070 Mon Sep 17 00:00:00 2001 From: Julian Sigmund <58262143+pixelmund@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:31:17 +0100 Subject: [PATCH] [fix] refactor navigation singletons to avoid storing undefined reference (#3374) Co-authored-by: Rich Harris Co-authored-by: Bjorn Lu Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com> --- .changeset/brown-mangos-tie.md | 5 +++++ packages/kit/src/runtime/app/navigation.js | 4 +--- packages/kit/src/runtime/client/singletons.js | 7 +++++-- 3 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 .changeset/brown-mangos-tie.md 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; }