mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
fc4f062ba9
### What? Upgrade with-supabase example to be compatible with Next.js 16 ### Why? 1. Users get console warnings about middleware vs proxy 2. Enabling Cache Components config results in build errors for async behaviour outside Suspense boundary 3. Turbopack flag is default and therefore, no longer necessary on `npm run dev` ### How? 1. Renamed all instances of `middleware` to `proxy` 2. Wraped async behaviour in Suspense boundaries 3. Removed --turbopack flag from `npm run dev` --------- Co-authored-by: JJ Kasper <jj@jjsweb.site>
35 lines
969 B
TypeScript
35 lines
969 B
TypeScript
import { createServerClient } from "@supabase/ssr";
|
|
import { cookies } from "next/headers";
|
|
|
|
/**
|
|
* Especially important if using Fluid compute: Don't put this client in a
|
|
* global variable. Always create a new client within each function when using
|
|
* it.
|
|
*/
|
|
export async function createClient() {
|
|
const cookieStore = await cookies();
|
|
|
|
return createServerClient(
|
|
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
|
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY!,
|
|
{
|
|
cookies: {
|
|
getAll() {
|
|
return cookieStore.getAll();
|
|
},
|
|
setAll(cookiesToSet) {
|
|
try {
|
|
cookiesToSet.forEach(({ name, value, options }) =>
|
|
cookieStore.set(name, value, options),
|
|
);
|
|
} catch {
|
|
// The `setAll` method was called from a Server Component.
|
|
// This can be ignored if you have proxy refreshing
|
|
// user sessions.
|
|
}
|
|
},
|
|
},
|
|
},
|
|
);
|
|
}
|