const isValidHttpUrl = (value: string): boolean => { try { const parsed = new URL(value); return parsed.protocol === "http:" || parsed.protocol === "https:"; } catch { return false; } }; export type SupabasePublicConfig = { url: string; anonKey: string; }; export const readSupabasePublicConfig = (): SupabasePublicConfig | null => { const url = process.env.NEXT_PUBLIC_SUPABASE_URL?.trim(); const anonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY?.trim(); if (!url || !anonKey) { return null; } if (!isValidHttpUrl(url)) { return null; } return { url, anonKey }; };