nextauthjs / nextauthjs/next-auth
Prerendering causing build error in SvelteKit
Open
Nobody has claimed this yet.
bug
svelte
triage
- Dominant language
- TypeScript
- Stars
- 28.4k
- Forks
- 4k
- PR merge metrics
- No merged PRs in 30d
Description
Environment
System:
OS: Windows 11 10.0.22621
CPU: (12) x64 AMD Ryzen 5 3600 6-Core Processor
Memory: 6.26 GB / 15.91 GB
Binaries:
Node: 18.18.2 - C:\Program Files\nodejs\node.EXE
npm: 10.2.3 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Chromium (120.0.2210.144)
Internet Explorer: 11.0.22621.1
npmPackages:
@auth/core: ^0.23.0 => 0.23.0
@auth/sveltekit: ^0.9.0 => 0.9.0
Reproduction URL
https://github.com/WhyAsh5114/authjs-sveltekit-prerender
Describe the issue
Marking a route as prenderable with export const prerender = true creates a build error, usable in dev though. Removing the prerender line fixes it.
TypeError: Cannot read properties of undefined (reading 'length')
at Object.handle (file:///D:/Programming/Web/authjs-sveltekit-prerender/.svelte-kit/output/server/chunks/hooks.server.js:49:24)
at respond (file:///D:/Programming/Web/authjs-sveltekit-prerender/.svelte-kit/output/server/index.js:2650:43)
at async visit (file:///D:/Programming/Web/authjs-sveltekit-prerender/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:202:20)
node:internal/event_target:1033
process.nextTick(() => { throw err; });
^
Error: 500 /prerender
To suppress or handle this error, implement `handleHttpError` in https://kit.svelte.dev/docs/configuration#prerender
at file:///D:/Programming/Web/authjs-sveltekit-prerender/node_modules/@sveltejs/kit/src/core/config/options.js:202:13
at file:///D:/Programming/Web/authjs-sveltekit-prerender/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:65:25
at save (file:///D:/Programming/Web/authjs-sveltekit-prerender/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:403:4)
at visit (file:///D:/Programming/Web/authjs-sveltekit-prerender/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:236:3)
Emitted 'error' event on Worker instance at:
at [kOnErrorMessage] (node:internal/worker:300:10)
at [kOnMessage] (node:internal/worker:311:37)
at MessagePort.<anonymous> (node:internal/worker:212:57)
at [nodejs.internal.kHybridDispatch] (node:internal/event_target:757:20)
at exports.emitMessage (node:internal/per_context/messageport:23:28)
Node.js v18.18.2
How to reproduce
- Initialize new SvelteKit project, install
@auth/sveltekitand@auth/core. - Setup the
handlehook withSvelteKitAuth() - Create a prerenderable route, exclude it from validation in the root layout so it's accessible even if not logged in.
- Try building with
npm run build.
Expected behavior
Build should succeed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked reproduction repository and follow the listed setup steps, then run npm run build with the prerenderable route enabled. Use the reported failure in .svelte-kit/output/server/chunks/hooks.server.js and the prerender stack trace to trace the build path; done means the build succeeds with export const prerender = true.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- authentication, build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100