From 3adf6534f59fb378a9bc198dbb2a702e9125ebff Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 3 Mar 2022 21:06:29 -0500 Subject: [PATCH 1/4] unscope SSR handler --- packages/kit/src/core/preview/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/core/preview/index.js b/packages/kit/src/core/preview/index.js index 57920864706c..6e6fa2c93c0e 100644 --- a/packages/kit/src/core/preview/index.js +++ b/packages/kit/src/core/preview/index.js @@ -124,7 +124,7 @@ export async function preview({ port, host, config, https: use_https = false }) }), // SSR - scoped(base, async (req, res) => { + async (req, res) => { const protocol = use_https ? 'https' : 'http'; const host = req.headers['host']; @@ -138,7 +138,7 @@ export async function preview({ port, host, config, https: use_https = false }) } setResponse(res, await server.respond(request)); - }) + } ]); const vite_config = (config.kit.vite && (await config.kit.vite())) || {}; From 9cf074d34e39977438979272d472260ec981974a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 3 Mar 2022 21:10:58 -0500 Subject: [PATCH 2/4] override before creating server, doh --- packages/kit/src/core/preview/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/core/preview/index.js b/packages/kit/src/core/preview/index.js index 6e6fa2c93c0e..2f6fe05dbe11 100644 --- a/packages/kit/src/core/preview/index.js +++ b/packages/kit/src/core/preview/index.js @@ -50,8 +50,6 @@ export async function preview({ port, host, config, https: use_https = false }) const { Server, override } = await import(pathToFileURL(index_file).href); const { manifest } = await import(pathToFileURL(manifest_file).href); - const server = new Server(manifest); - override({ paths: { base, assets }, prerendering: false, @@ -59,6 +57,8 @@ export async function preview({ port, host, config, https: use_https = false }) read: (file) => fs.readFileSync(join(config.kit.files.assets, file)) }); + const server = new Server(manifest); + const handle = compose([ // files in `static` scoped(assets, mutable(config.kit.files.assets)), From b7d887c46387d7c9cdac2ac4abedd3482aebc91c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 3 Mar 2022 21:58:36 -0500 Subject: [PATCH 3/4] i really screwed this up, huh --- packages/kit/src/core/preview/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/core/preview/index.js b/packages/kit/src/core/preview/index.js index 2f6fe05dbe11..1340358b8705 100644 --- a/packages/kit/src/core/preview/index.js +++ b/packages/kit/src/core/preview/index.js @@ -96,7 +96,7 @@ export async function preview({ port, host, config, https: use_https = false }) if (normalized !== pathname) { res.writeHead(307, { - location: normalized + search + location: base + normalized + search }); res.end(); return; @@ -219,9 +219,10 @@ function scoped(scope, handler) { return (req, res, next) => { if (req.url?.startsWith(scope)) { + const original_url = req.url; req.url = req.url.slice(scope.length); handler(req, res, () => { - req.url = scope + req.url; + req.url = original_url; next(); }); } else { From b8201bea7d4e0fcdfa1466fde246f54b49afb13c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 3 Mar 2022 22:28:11 -0500 Subject: [PATCH 4/4] Create quiet-knives-refuse.md --- .changeset/quiet-knives-refuse.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/quiet-knives-refuse.md diff --git a/.changeset/quiet-knives-refuse.md b/.changeset/quiet-knives-refuse.md new file mode 100644 index 000000000000..020d1a687959 --- /dev/null +++ b/.changeset/quiet-knives-refuse.md @@ -0,0 +1,5 @@ +--- +"@sveltejs/kit": patch +--- + +Fix `svelte-kit preview`