From f54c401721ac01c31db410ec3bbb004d27750d2e Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Wed, 19 Nov 2025 23:20:25 +0800 Subject: [PATCH 1/5] test with query param and renderBuiltUrl --- packages/kit/src/exports/vite/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 14a1103f6a61..e6446bf2c373 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -1094,6 +1094,14 @@ async function kit({ svelte_config }) { }, optimizeDeps: { force: vite_config.optimizeDeps.force + }, + experimental: { + renderBuiltUrl: (filename) => { + if (process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1') { + return `${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; + } + return filename; + } } }) ); From e08f2b98bfcd6ff67f065018c72c89ca7b3949c7 Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Wed, 19 Nov 2025 23:21:25 +0800 Subject: [PATCH 2/5] avoid defining hook if not needed --- packages/kit/src/exports/vite/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index e6446bf2c373..8323653a717c 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -1096,12 +1096,12 @@ async function kit({ svelte_config }) { force: vite_config.optimizeDeps.force }, experimental: { - renderBuiltUrl: (filename) => { - if (process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1') { - return `${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; - } - return filename; - } + renderBuiltUrl: + process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1' + ? (filename) => { + return `${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; + } + : undefined } }) ); From 04c2dccbb06c3e255197b102390cd07736e1684d Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Wed, 19 Nov 2025 23:45:13 +0800 Subject: [PATCH 3/5] make path absolute and add to ssr config --- packages/kit/src/exports/vite/index.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 8323653a717c..1d6375e4e0f1 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -934,6 +934,9 @@ async function kit({ svelte_config }) { hoistTransitiveImports: false } } + }, + experimental: { + renderBuiltUrl: render_built_url } }; } else { @@ -1094,14 +1097,6 @@ async function kit({ svelte_config }) { }, optimizeDeps: { force: vite_config.optimizeDeps.force - }, - experimental: { - renderBuiltUrl: - process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1' - ? (filename) => { - return `${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; - } - : undefined } }) ); @@ -1434,3 +1429,11 @@ const create_service_worker_module = (config) => dedent` export const prerendered = []; export const version = ${s(config.kit.version.name)}; `; + +/** @type {import('vite').RenderBuiltAssetUrl | undefined} */ +const render_built_url = + process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1' + ? (filename) => { + return `/${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; + } + : undefined; From 8f492a89939fba7d220a32e16b0ec661dbd6120b Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Wed, 19 Nov 2025 23:58:02 +0800 Subject: [PATCH 4/5] add query to manifest node paths too --- packages/kit/src/core/sync/write_client_manifest.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/core/sync/write_client_manifest.js b/packages/kit/src/core/sync/write_client_manifest.js index 7495e3134854..d0b2c3c62cc7 100644 --- a/packages/kit/src/core/sync/write_client_manifest.js +++ b/packages/kit/src/core/sync/write_client_manifest.js @@ -1,4 +1,5 @@ import path from 'node:path'; +import process from 'node:process'; import { relative_path, resolve_entry } from '../../utils/filesystem.js'; import { s } from '../../utils/misc.js'; import { dedent, isSvelte5Plus, write_if_changed } from './utils.js'; @@ -40,6 +41,11 @@ export function write_client_manifest(kit, manifest_data, output, metadata) { return declarations.join('\n'); } + const query = + process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1' + ? `?dpl=${process.env.VERCEL_DEPLOYMENT_ID}` + : ''; + /** @type {Map} */ const indices = new Map(); const nodes = manifest_data.nodes @@ -47,7 +53,7 @@ export function write_client_manifest(kit, manifest_data, output, metadata) { indices.set(node, i); write_if_changed(`${output}/nodes/${i}.js`, generate_node(node)); - return `() => import('./nodes/${i}')`; + return `() => import('./nodes/${i}${query}')`; }) // If route resolution happens on the server, we only need the root layout and root error page // upfront, the rest is loaded on demand as the user navigates the app From 8d511865b52fe398a5f8c00963c4a57d24e41308 Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Wed, 19 Nov 2025 23:58:07 +0800 Subject: [PATCH 5/5] account for base path --- packages/kit/src/exports/vite/index.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 1d6375e4e0f1..a6934d50f74d 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -936,7 +936,12 @@ async function kit({ svelte_config }) { } }, experimental: { - renderBuiltUrl: render_built_url + renderBuiltUrl: + process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1' + ? (filename) => { + return `${kit.paths.base}/${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; + } + : undefined } }; } else { @@ -1429,11 +1434,3 @@ const create_service_worker_module = (config) => dedent` export const prerendered = []; export const version = ${s(config.kit.version.name)}; `; - -/** @type {import('vite').RenderBuiltAssetUrl | undefined} */ -const render_built_url = - process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1' - ? (filename) => { - return `/${filename}?dpl=${process.env.VERCEL_DEPLOYMENT_ID}`; - } - : undefined;