From 27bb4630e3dd3473c11f14ed98b436907ca0874e Mon Sep 17 00:00:00 2001 From: David Roizenman Date: Thu, 1 Sep 2022 17:14:36 -0700 Subject: [PATCH 01/13] feat: use config.kit.paths.base for static assets fixes #4442, fixes #2843 - add manifest.appPath and builder.getAppPath() - adapter-cloudflare*: use manifest.appPath instead of manifest.appDir - adapter-netlify: use prefixed appDir for cache headers - adapter-vercel: use prefixed appDir for routes.json - adapter-cloudflare, adapter-cloudflare-workers, adapter-netlify: write static assets to "$dest/$base" --- .changeset/smooth-waves-accept.md | 9 +++++++++ packages/adapter-cloudflare-workers/files/entry.js | 6 +++--- packages/adapter-cloudflare-workers/index.js | 5 +++-- packages/adapter-cloudflare/index.js | 5 +++-- packages/adapter-cloudflare/src/worker.js | 6 +++--- packages/adapter-netlify/index.js | 7 ++++--- packages/adapter-vercel/index.js | 2 +- packages/kit/src/core/adapt/builder.js | 4 ++++ packages/kit/src/core/generate_manifest/index.js | 1 + packages/kit/src/exports/vite/dev/index.js | 1 + packages/kit/src/exports/vite/index.js | 4 ++++ packages/kit/types/index.d.ts | 3 +++ packages/kit/types/internal.d.ts | 1 + 13 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 .changeset/smooth-waves-accept.md diff --git a/.changeset/smooth-waves-accept.md b/.changeset/smooth-waves-accept.md new file mode 100644 index 000000000000..131bdef68694 --- /dev/null +++ b/.changeset/smooth-waves-accept.md @@ -0,0 +1,9 @@ +--- +'@sveltejs/adapter-cloudflare': patch +'@sveltejs/adapter-cloudflare-workers': patch +'@sveltejs/adapter-netlify': patch +'@sveltejs/adapter-vercel': patch +'@sveltejs/kit': patch +--- + +Use config.kit.paths.base prefix for static assets \ No newline at end of file diff --git a/packages/adapter-cloudflare-workers/files/entry.js b/packages/adapter-cloudflare-workers/files/entry.js index fe1c45a246ea..9b512b5c88b5 100644 --- a/packages/adapter-cloudflare-workers/files/entry.js +++ b/packages/adapter-cloudflare-workers/files/entry.js @@ -6,7 +6,7 @@ const static_asset_manifest = JSON.parse(static_asset_manifest_json); const server = new Server(manifest); -const prefix = `/${manifest.appDir}/`; +const appPath = `/${manifest.appPath}/`; export default { /** @@ -20,12 +20,12 @@ export default { const url = new URL(req.url); // static assets - if (url.pathname.startsWith(prefix)) { + if (url.pathname.startsWith(appPath)) { /** @type {Response} */ const res = await get_asset_from_kv(req, env, context); if (is_error(res.status)) return res; - const cache_control = url.pathname.startsWith(prefix + 'immutable/') + const cache_control = url.pathname.startsWith(appPath + 'immutable/') ? 'public, immutable, max-age=31536000' : 'no-cache'; diff --git a/packages/adapter-cloudflare-workers/index.js b/packages/adapter-cloudflare-workers/index.js index c8830c12bfa7..5c345661bdf2 100644 --- a/packages/adapter-cloudflare-workers/index.js +++ b/packages/adapter-cloudflare-workers/index.js @@ -73,8 +73,9 @@ export default function () { }); builder.log.minor('Copying assets...'); - builder.writeClient(site.bucket); - builder.writePrerendered(site.bucket); + const prefixedBucket = `${site.bucket}${builder.config.kit.paths.base}`; + builder.writeClient(prefixedBucket); + builder.writePrerendered(prefixedBucket); } }; } diff --git a/packages/adapter-cloudflare/index.js b/packages/adapter-cloudflare/index.js index 0b6eb5c41f98..a8504e8201aa 100644 --- a/packages/adapter-cloudflare/index.js +++ b/packages/adapter-cloudflare/index.js @@ -23,8 +23,9 @@ export default function () { builder.rimraf(tmp); builder.mkdirp(tmp); - const written_files = builder.writeClient(dest); - builder.writePrerendered(dest); + const prefixedDest = `${dest}${builder.config.kit.paths.base}`; + const written_files = builder.writeClient(prefixedDest); + builder.writePrerendered(prefixedDest); const relativePath = posix.relative(tmp, builder.getServerDirectory()); diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index d3223615f2a0..b2249587fa4f 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -4,7 +4,7 @@ import * as Cache from 'worktop/cfw.cache'; const server = new Server(manifest); -const prefix = `/${manifest.appDir}/`; +const appPath = `/${manifest.appPath}/`; /** @type {import('worktop/cfw').Module.Worker<{ ASSETS: import('worktop/cfw.durable').Durable.Object }>} */ const worker = { @@ -18,11 +18,11 @@ const worker = { let { pathname } = new URL(req.url); // static assets - if (pathname.startsWith(prefix)) { + if (pathname.startsWith(appPath)) { res = await env.ASSETS.fetch(req); if (!res.ok) return res; - const cache_control = pathname.startsWith(prefix + 'immutable/') + const cache_control = pathname.startsWith(appPath + 'immutable/') ? 'public, immutable, max-age=31536000' : 'no-cache'; diff --git a/packages/adapter-netlify/index.js b/packages/adapter-netlify/index.js index 6d77b17a7ccc..8bffa028fd20 100644 --- a/packages/adapter-netlify/index.js +++ b/packages/adapter-netlify/index.js @@ -54,15 +54,16 @@ export default function ({ split = false, edge = edge_set_in_env_var } = {}) { builder.log.minor(`Publishing to "${publish}"`); builder.log.minor('Copying assets...'); - builder.writeClient(publish); - builder.writePrerendered(publish); + const prefixedPublish = `${publish}${builder.config.kit.paths.base}`; + builder.writeClient(prefixedPublish); + builder.writePrerendered(prefixedPublish); builder.log.minor('Writing custom headers...'); const headers_file = join(publish, '_headers'); builder.copy('_headers', headers_file); appendFileSync( headers_file, - `\n\n/${builder.config.kit.appDir}/immutable/*\n cache-control: public\n cache-control: immutable\n cache-control: max-age=31536000\n` + `\n\n/${builder.getAppPath()}/immutable/*\n cache-control: public\n cache-control: immutable\n cache-control: max-age=31536000\n` ); if (edge) { diff --git a/packages/adapter-vercel/index.js b/packages/adapter-vercel/index.js index 071d025e760e..297df6dd6af2 100644 --- a/packages/adapter-vercel/index.js +++ b/packages/adapter-vercel/index.js @@ -118,7 +118,7 @@ export default function ({ external = [], edge, split } = {}) { ...redirects[builder.config.kit.trailingSlash], ...prerendered_redirects, { - src: `/${builder.config.kit.appDir}/.+`, + src: `/${builder.getAppPath()}/.+`, headers: { 'cache-control': 'public, immutable, max-age=31536000' } diff --git a/packages/kit/src/core/adapt/builder.js b/packages/kit/src/core/adapt/builder.js index f8dcc36d1c61..93998ec7e2e1 100644 --- a/packages/kit/src/core/adapt/builder.js +++ b/packages/kit/src/core/adapt/builder.js @@ -128,6 +128,10 @@ export function create_builder({ config, build_data, routes, prerendered, log }) return config.kit.files.assets; }, + getAppPath() { + return build_data.app_path; + }, + writeClient(dest) { return [...copy(`${config.kit.outDir}/output/client`, dest)]; }, diff --git a/packages/kit/src/core/generate_manifest/index.js b/packages/kit/src/core/generate_manifest/index.js index 91ec76997636..46d56d340f03 100644 --- a/packages/kit/src/core/generate_manifest/index.js +++ b/packages/kit/src/core/generate_manifest/index.js @@ -45,6 +45,7 @@ export function generate_manifest({ build_data, relative_path, routes, format = /** @type {import('types').SSRManifest} */ return `{ appDir: ${s(build_data.app_dir)}, + appPath: ${s(build_data.app_path)}, assets: new Set(${s(assets)}), mimeTypes: ${s(get_mime_lookup(build_data.manifest_data))}, _: { diff --git a/packages/kit/src/exports/vite/dev/index.js b/packages/kit/src/exports/vite/dev/index.js index cbab3e1a5779..489d78c9e4a6 100644 --- a/packages/kit/src/exports/vite/dev/index.js +++ b/packages/kit/src/exports/vite/dev/index.js @@ -59,6 +59,7 @@ export async function dev(vite, vite_config, svelte_config) { manifest = { appDir: svelte_config.kit.appDir, + appPath: svelte_config.kit.appDir, assets: new Set(manifest_data.assets.map((asset) => asset.file)), mimeTypes: get_mime_lookup(manifest_data), _: { diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index c6b99a81527d..dd9d4f0e5c45 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -379,6 +379,7 @@ function kit() { ); log.info('Building server'); + const options = { cwd, config: svelte_config, @@ -395,6 +396,9 @@ function kit() { /** @type {import('types').BuildData} */ build_data = { app_dir: svelte_config.kit.appDir, + app_path: `${svelte_config.kit.paths.base.slice(1)}${ + svelte_config.kit.paths.base ? '/' : '' + }${svelte_config.kit.appDir}`, manifest_data, service_worker: options.service_worker_entry_file ? 'service-worker.js' : null, // TODO make file configurable? client, diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index c346f5bc53d8..9468fce84785 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -85,6 +85,8 @@ export interface Builder { getClientDirectory(): string; getServerDirectory(): string; getStaticDirectory(): string; + /** The application path including any configured base path */ + getAppPath(): string; /** * @param dest the destination folder to which files should be copied @@ -379,6 +381,7 @@ export interface ServerInitOptions { export interface SSRManifest { appDir: string; + appPath: string; assets: Set; mimeTypes: Record; diff --git a/packages/kit/types/internal.d.ts b/packages/kit/types/internal.d.ts index 3f7ff7d76016..c2d27ee6fec9 100644 --- a/packages/kit/types/internal.d.ts +++ b/packages/kit/types/internal.d.ts @@ -47,6 +47,7 @@ export interface Asset { export interface BuildData { app_dir: string; + app_path: string; manifest_data: ManifestData; service_worker: string | null; client: { From 3cf961ca1c84a6816b943682f4e71073e07ed8c9 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 7 Oct 2022 14:49:00 +0200 Subject: [PATCH 02/13] fix vercel adapter --- packages/adapter-vercel/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-vercel/index.js b/packages/adapter-vercel/index.js index 297df6dd6af2..d18d4342071e 100644 --- a/packages/adapter-vercel/index.js +++ b/packages/adapter-vercel/index.js @@ -98,7 +98,7 @@ export default function ({ external = [], edge, split } = {}) { const files = fileURLToPath(new URL('./files', import.meta.url).href); const dirs = { - static: `${dir}/static`, + static: `${dir}/static${builder.config.kit.paths.base}`, functions: `${dir}/functions` }; From a6666b832692815c85a7130f3b6bdb3a5f79f6a2 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:57:19 -0700 Subject: [PATCH 03/13] Update packages/adapter-netlify/index.js --- packages/adapter-netlify/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/adapter-netlify/index.js b/packages/adapter-netlify/index.js index 8bffa028fd20..4c4bfac3be17 100644 --- a/packages/adapter-netlify/index.js +++ b/packages/adapter-netlify/index.js @@ -54,9 +54,9 @@ export default function ({ split = false, edge = edge_set_in_env_var } = {}) { builder.log.minor(`Publishing to "${publish}"`); builder.log.minor('Copying assets...'); - const prefixedPublish = `${publish}${builder.config.kit.paths.base}`; - builder.writeClient(prefixedPublish); - builder.writePrerendered(prefixedPublish); + const publish_dir = `${publish}${builder.config.kit.paths.base}`; + builder.writeClient(publish_dir); + builder.writePrerendered(publish_dir); builder.log.minor('Writing custom headers...'); const headers_file = join(publish, '_headers'); From d182c92e09cbab4a5bc4d473d969c32b04fd5d00 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:57:47 -0700 Subject: [PATCH 04/13] Update packages/adapter-cloudflare/src/worker.js --- packages/adapter-cloudflare/src/worker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index b2249587fa4f..402ab83eb4fb 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -4,7 +4,7 @@ import * as Cache from 'worktop/cfw.cache'; const server = new Server(manifest); -const appPath = `/${manifest.appPath}/`; +const app_path = `/${manifest.appPath}/`; /** @type {import('worktop/cfw').Module.Worker<{ ASSETS: import('worktop/cfw.durable').Durable.Object }>} */ const worker = { From b0cbf2c18c10ae3506ac0dbb3c9bd29da0c7566d Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:58:01 -0700 Subject: [PATCH 05/13] Update packages/adapter-cloudflare/src/worker.js --- packages/adapter-cloudflare/src/worker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index 402ab83eb4fb..1c180ea53aed 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -18,7 +18,7 @@ const worker = { let { pathname } = new URL(req.url); // static assets - if (pathname.startsWith(appPath)) { + if (pathname.startsWith(app_path)) { res = await env.ASSETS.fetch(req); if (!res.ok) return res; From d48a83138bf2ad7a613c0b4da8ffbb38d924c511 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:58:18 -0700 Subject: [PATCH 06/13] Update packages/adapter-cloudflare/src/worker.js --- packages/adapter-cloudflare/src/worker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-cloudflare/src/worker.js b/packages/adapter-cloudflare/src/worker.js index 1c180ea53aed..7f57140c1005 100644 --- a/packages/adapter-cloudflare/src/worker.js +++ b/packages/adapter-cloudflare/src/worker.js @@ -22,7 +22,7 @@ const worker = { res = await env.ASSETS.fetch(req); if (!res.ok) return res; - const cache_control = pathname.startsWith(appPath + 'immutable/') + const cache_control = pathname.startsWith(app_path + 'immutable/') ? 'public, immutable, max-age=31536000' : 'no-cache'; From 6d96de8601fa571bb6f238ed76ead5bf0aeaa4da Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:58:48 -0700 Subject: [PATCH 07/13] Update packages/adapter-cloudflare/index.js --- packages/adapter-cloudflare/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/adapter-cloudflare/index.js b/packages/adapter-cloudflare/index.js index a8504e8201aa..fd5a60c3e230 100644 --- a/packages/adapter-cloudflare/index.js +++ b/packages/adapter-cloudflare/index.js @@ -23,9 +23,9 @@ export default function () { builder.rimraf(tmp); builder.mkdirp(tmp); - const prefixedDest = `${dest}${builder.config.kit.paths.base}`; - const written_files = builder.writeClient(prefixedDest); - builder.writePrerendered(prefixedDest); + const dest_dir = `${dest}${builder.config.kit.paths.base}`; + const written_files = builder.writeClient(dest_dir); + builder.writePrerendered(dest_dir); const relativePath = posix.relative(tmp, builder.getServerDirectory()); From 9bcd34dee9fb31629372b6f9386f8c291fc30254 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:59:35 -0700 Subject: [PATCH 08/13] Update packages/adapter-cloudflare-workers/index.js --- packages/adapter-cloudflare-workers/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/adapter-cloudflare-workers/index.js b/packages/adapter-cloudflare-workers/index.js index 5c345661bdf2..7512b83c6a51 100644 --- a/packages/adapter-cloudflare-workers/index.js +++ b/packages/adapter-cloudflare-workers/index.js @@ -73,9 +73,9 @@ export default function () { }); builder.log.minor('Copying assets...'); - const prefixedBucket = `${site.bucket}${builder.config.kit.paths.base}`; - builder.writeClient(prefixedBucket); - builder.writePrerendered(prefixedBucket); + const bucket_dir = `${site.bucket}${builder.config.kit.paths.base}`; + builder.writeClient(bucket_dir); + builder.writePrerendered(bucket_dir); } }; } From 4489dcb896e1adb775f56f700b62c2a8976fc450 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 16:59:54 -0700 Subject: [PATCH 09/13] Update packages/adapter-cloudflare-workers/files/entry.js --- packages/adapter-cloudflare-workers/files/entry.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-cloudflare-workers/files/entry.js b/packages/adapter-cloudflare-workers/files/entry.js index 9b512b5c88b5..2a18f17de65b 100644 --- a/packages/adapter-cloudflare-workers/files/entry.js +++ b/packages/adapter-cloudflare-workers/files/entry.js @@ -6,7 +6,7 @@ const static_asset_manifest = JSON.parse(static_asset_manifest_json); const server = new Server(manifest); -const appPath = `/${manifest.appPath}/`; +const app_path = `/${manifest.appPath}/`; export default { /** From 0e3bd808890571a2efad6300ac02d1c691ba955e Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 17:00:06 -0700 Subject: [PATCH 10/13] Update packages/adapter-cloudflare-workers/files/entry.js --- packages/adapter-cloudflare-workers/files/entry.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-cloudflare-workers/files/entry.js b/packages/adapter-cloudflare-workers/files/entry.js index 2a18f17de65b..a3946b6515d8 100644 --- a/packages/adapter-cloudflare-workers/files/entry.js +++ b/packages/adapter-cloudflare-workers/files/entry.js @@ -20,7 +20,7 @@ export default { const url = new URL(req.url); // static assets - if (url.pathname.startsWith(appPath)) { + if (url.pathname.startsWith(app_path)) { /** @type {Response} */ const res = await get_asset_from_kv(req, env, context); if (is_error(res.status)) return res; From 65ec1b7afa2fce7c91049640fed63bfeeeccd86a Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 17:00:19 -0700 Subject: [PATCH 11/13] Update packages/adapter-cloudflare-workers/files/entry.js --- packages/adapter-cloudflare-workers/files/entry.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-cloudflare-workers/files/entry.js b/packages/adapter-cloudflare-workers/files/entry.js index a3946b6515d8..7501777152a4 100644 --- a/packages/adapter-cloudflare-workers/files/entry.js +++ b/packages/adapter-cloudflare-workers/files/entry.js @@ -25,7 +25,7 @@ export default { const res = await get_asset_from_kv(req, env, context); if (is_error(res.status)) return res; - const cache_control = url.pathname.startsWith(appPath + 'immutable/') + const cache_control = url.pathname.startsWith(app_path + 'immutable/') ? 'public, immutable, max-age=31536000' : 'no-cache'; From 03db8761ca26a51cc07a6a6366d3ca43c33e476d Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 11 Oct 2022 19:46:08 -0700 Subject: [PATCH 12/13] fix netlify edge and adapter-node. drop other changes --- packages/adapter-netlify/src/edge.js | 2 +- packages/adapter-node/index.js | 4 ++-- packages/adapter-node/src/handler.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/adapter-netlify/src/edge.js b/packages/adapter-netlify/src/edge.js index 2a478285a71d..819c6047e825 100644 --- a/packages/adapter-netlify/src/edge.js +++ b/packages/adapter-netlify/src/edge.js @@ -2,7 +2,7 @@ import { Server } from '0SERVER'; import { manifest, prerendered } from 'MANIFEST'; const server = new Server(manifest); -const prefix = `/${manifest.appDir}/`; +const prefix = `/${manifest.appPath}/`; const initialized = server.init({ // @ts-ignore diff --git a/packages/adapter-node/index.js b/packages/adapter-node/index.js index 3e4b2df135ab..e39513692c24 100644 --- a/packages/adapter-node/index.js +++ b/packages/adapter-node/index.js @@ -30,8 +30,8 @@ export default function (opts = {}) { builder.mkdirp(tmp); builder.log.minor('Copying assets'); - builder.writeClient(`${out}/client`); - builder.writePrerendered(`${out}/prerendered`); + builder.writeClient(`${out}/client${builder.config.kit.paths.base}`); + builder.writePrerendered(`${out}/prerendered${builder.config.kit.paths.base}`); if (precompress) { builder.log.minor('Compressing assets'); diff --git a/packages/adapter-node/src/handler.js b/packages/adapter-node/src/handler.js index 7177e836bf75..26ad1324c0da 100644 --- a/packages/adapter-node/src/handler.js +++ b/packages/adapter-node/src/handler.js @@ -36,7 +36,7 @@ function serve(path, client = false) { client && ((res, pathname) => { // only apply to build directory, not e.g. version.json - if (pathname.startsWith(`/${manifest.appDir}/immutable/`)) { + if (pathname.startsWith(`/${manifest.appPath}/immutable/`)) { res.setHeader('cache-control', 'public,max-age=31536000,immutable'); } }) From 069a17a3dc824b5f51a48d5687de9ebbb7e5e3d9 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Wed, 12 Oct 2022 10:17:35 +0200 Subject: [PATCH 13/13] changeset --- .changeset/smooth-waves-accept.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changeset/smooth-waves-accept.md b/.changeset/smooth-waves-accept.md index 131bdef68694..4076d14b3846 100644 --- a/.changeset/smooth-waves-accept.md +++ b/.changeset/smooth-waves-accept.md @@ -2,6 +2,7 @@ '@sveltejs/adapter-cloudflare': patch '@sveltejs/adapter-cloudflare-workers': patch '@sveltejs/adapter-netlify': patch +'@sveltejs/adapter-node': patch '@sveltejs/adapter-vercel': patch '@sveltejs/kit': patch ---