Skip to content

fix: server-only import guard misses entrypoints outside the project root - #16912

Open
Nic-Polumeyv wants to merge 1 commit into
version-3from
guard-out-of-root-hooks
Open

fix: server-only import guard misses entrypoints outside the project root#16912
Nic-Polumeyv wants to merge 1 commit into
version-3from
guard-out-of-root-hooks

Conversation

@Nic-Polumeyv

Copy link
Copy Markdown
Contributor

Ran into this in a monorepo where several apps share one client hooks file. When files.hooks.client points outside the project root, vite-plugin-sveltekit-guard silently stops detecting server-only imports reachable from it. A $app/env/private import in the hooks file builds cleanly instead of throwing, even though out-of-root hooks are supported (their directory is added to server.fs.allow).

The guard's import map keys go through normalize_id, which leaves ids outside the root absolute, but entrypoints were added as root-relative manifest paths like ../shared/hooks.client.js, so the upward walk never matches the hooks file and concludes the import is server-side only. Entrypoints now go through the same normalize_id. The cwd prefix checks also gained a trailing slash, since a sibling directory whose name extends the root's was treated as inside it.

@pkg-svelte-dev

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from 4376172:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/437617288c9dcc77447affdc780c1c74cdd36a79

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/16912

@changeset-bot

changeset-bot Bot commented Aug 23, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4376172

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sveltejs/kit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@svelte-docs-bot

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant