Files
supabase/apps/studio/pages/api/platform
Alaister Young 4c7863a5ca fix(studio): defer self-hosted admin client construction
Thirteen self-hosted-only API routes under `pages/api/platform/{auth,
storage}/**` constructed a `createClient(process.env.SUPABASE_URL!,
process.env.SUPABASE_SERVICE_KEY!)` at module scope. On Next.js each
route was its own serverless function, so this only ran when the route
was hit. Under TanStack Start + Nitro the whole API surface is packed
into a single handler, so every request — including page renders —
evaluates every API route's module. On the platform build these env
vars intentionally aren't set (the routes only run on self-hosted), so
module evaluation hit `validateSupabaseUrl` and crashed every request
with a 500.

Introduces `selfHostedSupabaseAdmin`, a `SupabaseClient`-shaped Proxy
that constructs the real client lazily on first property access. Call
sites (`supabase.storage.getBucket(…)`) stay byte-identical; the only
per-file diff is the import.
2026-04-21 20:27:32 +08:00
..