From 763f8e24566c7b264c3cf55f90a9e9141e71ff7d Mon Sep 17 00:00:00 2001 From: jycouet Date: Thu, 30 Oct 2025 23:05:41 +0100 Subject: [PATCH 1/3] using same default base --- packages/kit/src/exports/vite/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 7d6cf2a9589f..cb5e92310632 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -791,6 +791,8 @@ async function kit({ svelte_config }) { /** @type {import('vite').UserConfig} */ let new_config; + const kit_base_path = kit.paths.base || '/'; + if (is_build) { const ssr = /** @type {boolean} */ (config.build?.ssr); const prefix = `${kit.appDir}/immutable`; @@ -871,8 +873,7 @@ async function kit({ svelte_config }) { // E.g. Vite generates `new URL('/asset.png', import.meta).href` for a relative path vs just '/asset.png'. // That's larger and takes longer to run and also causes an HTML diff between SSR and client // causing us to do a more expensive hydration check. - const client_base = - kit.paths.relative !== false || kit.paths.assets ? './' : kit.paths.base || '/'; + const client_base = kit.paths.relative !== false || kit.paths.assets ? './' : kit_base_path; const inline = !ssr && svelte_config.kit.output.bundleStrategy === 'inline'; const split = ssr || svelte_config.kit.output.bundleStrategy === 'split'; @@ -931,7 +932,7 @@ async function kit({ svelte_config }) { } else { new_config = { appType: 'custom', - base: kit.paths.base, + base: kit_base_path, build: { rollupOptions: { // Vite dependency crawler needs an explicit JS entry point From 3d18b4284d0d106c7a029785573e40562dc35813 Mon Sep 17 00:00:00 2001 From: jycouet Date: Thu, 30 Oct 2025 23:18:30 +0100 Subject: [PATCH 2/3] add changeset --- .changeset/gold-wolves-fix.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/gold-wolves-fix.md diff --git a/.changeset/gold-wolves-fix.md b/.changeset/gold-wolves-fix.md new file mode 100644 index 000000000000..3e4484402684 --- /dev/null +++ b/.changeset/gold-wolves-fix.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: reusing `kit.base.path` default in different phases From bf6191c5aede021ddb89c5c896e3c3ba16785313 Mon Sep 17 00:00:00 2001 From: jycouet Date: Fri, 31 Oct 2025 20:00:24 +0100 Subject: [PATCH 3/3] kit_base_path kit_paths_base >< --- packages/kit/src/exports/vite/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index cb5e92310632..a401e3afd0ff 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -791,7 +791,7 @@ async function kit({ svelte_config }) { /** @type {import('vite').UserConfig} */ let new_config; - const kit_base_path = kit.paths.base || '/'; + const kit_paths_base = kit.paths.base || '/'; if (is_build) { const ssr = /** @type {boolean} */ (config.build?.ssr); @@ -873,7 +873,8 @@ async function kit({ svelte_config }) { // E.g. Vite generates `new URL('/asset.png', import.meta).href` for a relative path vs just '/asset.png'. // That's larger and takes longer to run and also causes an HTML diff between SSR and client // causing us to do a more expensive hydration check. - const client_base = kit.paths.relative !== false || kit.paths.assets ? './' : kit_base_path; + const client_base = + kit.paths.relative !== false || kit.paths.assets ? './' : kit_paths_base; const inline = !ssr && svelte_config.kit.output.bundleStrategy === 'inline'; const split = ssr || svelte_config.kit.output.bundleStrategy === 'split'; @@ -932,7 +933,7 @@ async function kit({ svelte_config }) { } else { new_config = { appType: 'custom', - base: kit_base_path, + base: kit_paths_base, build: { rollupOptions: { // Vite dependency crawler needs an explicit JS entry point