Files
deckyvault/lib/eden.ts
T
adrianbonpin 8d058f02dd fix(eden): resolve server/client detection and bundler issues
- Use typeof window === undefined for standard Next.js server detection
- Use NEXT_PUBLIC_SITE_URL env var instead of hardcoded localhost:3000
- Use require() for server branch to prevent Elysia from entering client bundle
- Add type assertion on require() to preserve Eden Treaty types
2026-04-25 13:25:38 +08:00

11 lines
504 B
TypeScript

import { treaty } from "@elysia/eden"
import type { App } from "@/app/api/[[...slugs]]/route"
// Use require() on the server branch to prevent the client bundler from
// pulling in Elysia and the route module. The typeof window check is the
// standard Next.js server-vs-client guard.
export const api =
typeof window === "undefined"
? treaty((require("../../app/api/[[...slugs]]/route") as { app: App }).app).api
: treaty<App>(process.env.NEXT_PUBLIC_SITE_URL || "http://localhost:3000").api