From 453bf8d0611302dc31ce10e14e081e1be4dda9c3 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 1 Nov 2025 17:26:21 -0400 Subject: [PATCH 1/2] fix: treat client/universal hooks as entrypoints for illegal server import detection --- .changeset/spotty-kings-pull.md | 5 +++++ packages/kit/src/exports/vite/index.js | 3 +++ playgrounds/basic/src/hooks.ts | 8 ++++++++ 3 files changed, 16 insertions(+) create mode 100644 .changeset/spotty-kings-pull.md create mode 100644 playgrounds/basic/src/hooks.ts diff --git a/.changeset/spotty-kings-pull.md b/.changeset/spotty-kings-pull.md new file mode 100644 index 000000000000..039e4ee3424c --- /dev/null +++ b/.changeset/spotty-kings-pull.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: treat client/universal hooks as entrypoints for illegal server import detection diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 7d6cf2a9589f..68adabdd8661 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -598,6 +598,9 @@ async function kit({ svelte_config }) { if (node.universal) entrypoints.add(node.universal); } + if (manifest_data.hooks.client) entrypoints.add(manifest_data.hooks.client); + if (manifest_data.hooks.universal) entrypoints.add(manifest_data.hooks.universal); + const normalized = normalize_id(id, normalized_lib, normalized_cwd); const chain = [normalized]; diff --git a/playgrounds/basic/src/hooks.ts b/playgrounds/basic/src/hooks.ts new file mode 100644 index 000000000000..04b64b4d237b --- /dev/null +++ b/playgrounds/basic/src/hooks.ts @@ -0,0 +1,8 @@ +import { getRequestEvent } from '$app/server'; + +export const transport = { + Foo: { + encode: () => [1], + decode: ([n]) => n + } +}; From b2b6189fb44144337ca890867b9c10a28c80db6e Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 1 Nov 2025 17:30:21 -0400 Subject: [PATCH 2/2] remove test file --- playgrounds/basic/src/hooks.ts | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 playgrounds/basic/src/hooks.ts diff --git a/playgrounds/basic/src/hooks.ts b/playgrounds/basic/src/hooks.ts deleted file mode 100644 index 04b64b4d237b..000000000000 --- a/playgrounds/basic/src/hooks.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { getRequestEvent } from '$app/server'; - -export const transport = { - Foo: { - encode: () => [1], - decode: ([n]) => n - } -};