UNPKG

supabase-node-kit

Version:

A backend utility package for Supabase authentication and database functionality.

29 lines (21 loc) 963 B
import { createClient } from "@supabase/supabase-js"; // Public variables (safe for client-side) const SUPABASE_URL = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL || ""; const SUPABASE_ANON_KEY = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY || ""; // Private variable (server-side only) const SUPABASE_SERVICE_ROLE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY || ""; // Determine if we're on server side const isServerSide = typeof window === 'undefined'; if (!SUPABASE_URL) { throw new Error("Supabase URL is missing"); } // Create two different clients for different use cases export const supabaseClient = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, { auth: { persistSession: true }, }); // Only create service role client on server-side export const supabaseAdmin = isServerSide ? createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, { auth: { persistSession: false }, }) : null;