@vitibase/ssr
v0.1.0
Published
Server-side rendering helpers for Vitibase — cookie-based sessions for Next.js, Remix, SvelteKit and other frameworks that render on the server.
Maintainers
Readme
@vitibase/ssr
Server-side rendering helpers for Vitibase — cookie-based auth sessions for Next.js, Remix, SvelteKit and anything else that renders on a server.
npm install @vitibase/client @vitibase/ssr// utils/vitibase/server.ts
import { createServerClient } from '@vitibase/ssr'
import { cookies } from 'next/headers'
export const createClient = (cookieStore: Awaited<ReturnType<typeof cookies>>) =>
createServerClient(
process.env.NEXT_PUBLIC_VITIBASE_PROJECT_REF!,
process.env.NEXT_PUBLIC_VITIBASE_ANON_KEY!,
{
cookies: {
getAll: () => cookieStore.getAll(),
setAll: (list) =>
list.forEach(({ name, value, options }) => cookieStore.set(name, value, options)),
},
}
)createServerClient and createBrowserClient take a project ref or a full URL, exactly like
@vitibase/client. Everything else —
parseCookieHeader, serializeCookieHeader, the chunking helpers, the cookie option defaults —
is re-exported unchanged.
What this package is
A thin layer over @supabase/ssr, which does the genuinely
hard part: keeping one auth session consistent across a server render, a client hydration and a
middleware refresh, for frameworks that each disagree about how cookies are read and written.
Reimplementing that would be a way to introduce session bugs, not a way to own the code.
Licence and attribution
Apache-2.0. Depends on @supabase/ssr, which is Apache-2.0 licensed and copyright Supabase, Inc.
Supabase is a trademark of Supabase, Inc., which does not endorse Vitibase.
