From a0ac904dfc3d69ac70da9b91198a7b5ef247ff3a Mon Sep 17 00:00:00 2001 From: Aymeric Rabot Date: Thu, 19 Feb 2026 01:20:55 -0500 Subject: [PATCH] fix: lazy-init Supabase and Drizzle clients for build compatibility Defer database client creation until first use via Proxy so Next.js builds succeed without POSTGRES_URL and SUPABASE_URL env vars present. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/editor/lib/supabase/server.ts | 4 ++-- packages/db/src/drizzle.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/editor/lib/supabase/server.ts b/apps/editor/lib/supabase/server.ts index a059c430..52e3ff1a 100644 --- a/apps/editor/lib/supabase/server.ts +++ b/apps/editor/lib/supabase/server.ts @@ -1,8 +1,8 @@ import { createClient } from '@supabase/supabase-js' import type { SupabaseDatabase } from '@pascal-app/db' -const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL! -const supabaseServiceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY! +const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL ?? '' +const supabaseServiceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY ?? '' /** * Supabase client for server-side use with service role key diff --git a/packages/db/src/drizzle.ts b/packages/db/src/drizzle.ts index f86e112e..3370cb70 100644 --- a/packages/db/src/drizzle.ts +++ b/packages/db/src/drizzle.ts @@ -2,7 +2,7 @@ import { drizzle } from 'drizzle-orm/postgres-js' import postgres from 'postgres' import * as schema from './schema' -const connectionString = process.env.POSTGRES_URL! +const connectionString = process.env.POSTGRES_URL ?? '' const client = postgres(connectionString, { prepare: false })