[GH-ISSUE #288] Sveltekit + Svelte 5 error on build #8204

Closed
opened 2026-04-13 03:18:29 -05:00 by GiteaMirror · 0 comments
Owner

Originally created by @gozilla-paradise on GitHub (Oct 22, 2024).
Original GitHub issue: https://github.com/better-auth/better-auth/issues/288

Describe the bug
The app can run in dev but cannot be built.

Here is the following betterauth setup

src/lib/server/auth/index.ts

import { betterAuth } from 'better-auth';
import { drizzleAdapter } from 'better-auth/adapters/drizzle';
import { db } from '../db';
import { env } from '$env/dynamic/public';
import * as schema from '../db/schema';

export const auth = betterAuth({
	emailAndPassword: {
		enabled: true
	},
	database: drizzleAdapter(db, {
		provider: 'pg',
		schema: {
			...schema
		}
	}),
	baseURL: env.PUBLIC_BETTER_AUTH_URL
});

and

src/routes/backoffice/+layout.server.ts

import { redirect } from '@sveltejs/kit';
import type { LayoutServerLoad } from './$types';

export const load = (async ({ request }) => {
	const session = await auth.api.getSession({
		headers: request.headers
	});

	if (!session) {
		throw redirect(307, '/backoffice');
	}

	return {};
}) satisfies LayoutServerLoad;

To Reproduce
Steps to reproduce the behavior:

  1. Have simple better-auth setup with drizzle
  2. Add server-side session checking code
  3. It is error
    CleanShot 2567-10-22 at 12 44 57@2x

Expected behavior
The app can be built properly

Desktop (please complete the following information):

  • OS: OSX
  • Browser Edge

** Software **

  • Sveltekit 2.7.2
  • Svelte 5.0.5
  • Drizzle 0.35.3
  • Postgres 3.4.4
  • Node 20.16.0
Originally created by @gozilla-paradise on GitHub (Oct 22, 2024). Original GitHub issue: https://github.com/better-auth/better-auth/issues/288 **Describe the bug** The app can run in dev but cannot be built. Here is the following betterauth setup `src/lib/server/auth/index.ts` ``` import { betterAuth } from 'better-auth'; import { drizzleAdapter } from 'better-auth/adapters/drizzle'; import { db } from '../db'; import { env } from '$env/dynamic/public'; import * as schema from '../db/schema'; export const auth = betterAuth({ emailAndPassword: { enabled: true }, database: drizzleAdapter(db, { provider: 'pg', schema: { ...schema } }), baseURL: env.PUBLIC_BETTER_AUTH_URL }); ``` and `src/routes/backoffice/+layout.server.ts` ```import { auth } from '$lib/server/auth'; import { redirect } from '@sveltejs/kit'; import type { LayoutServerLoad } from './$types'; export const load = (async ({ request }) => { const session = await auth.api.getSession({ headers: request.headers }); if (!session) { throw redirect(307, '/backoffice'); } return {}; }) satisfies LayoutServerLoad; ``` **To Reproduce** Steps to reproduce the behavior: 1. Have simple better-auth setup with drizzle 2. Add server-side session checking code 3. It is error ![CleanShot 2567-10-22 at 12 44 57@2x](https://github.com/user-attachments/assets/583c516e-50a3-458b-b94d-21d913d8d8b4) **Expected behavior** The app can be built properly **Desktop (please complete the following information):** - OS: OSX - Browser Edge ** Software ** - Sveltekit 2.7.2 - Svelte 5.0.5 - Drizzle 0.35.3 - Postgres 3.4.4 - Node 20.16.0
GiteaMirror added the locked label 2026-04-13 03:18:29 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#8204