import { createClient, type SupabaseClient } from "@supabase/supabase-js"; import { defineNuxtPlugin, useRuntimeConfig } from "nuxt/app"; export default defineNuxtPlugin((nuxtApp) => { const { url, anonKey } = useRuntimeConfig().public.supabase; if (!url || !anonKey) { if (process.env.NODE_ENV !== "production") { console.warn( "Supabase configuration is incomplete. Set SUPABASE_URL and SUPABASE_ANON_KEY in your environment." ); } nuxtApp.provide("supabase", null); return; } const supabase = createClient(url, anonKey, { auth: { persistSession: true, storageKey: "slipmatz.supabase.auth", }, }); nuxtApp.provide("supabase", supabase); nuxtApp.vueApp.config.globalProperties.$supabase = supabase; });