diff --git a/src/createBrowserClient.ts b/src/createBrowserClient.ts index 8ba5dfc..0f34f93 100644 --- a/src/createBrowserClient.ts +++ b/src/createBrowserClient.ts @@ -29,9 +29,21 @@ import { createStorageFromOptions } from "./cookies"; let cachedBrowserClient: SupabaseClient | undefined; /** - * @deprecated Please specify `getAll` and `setAll` cookie methods instead of - * the `get`, `set` and `remove`. These will not be supported in the next major - * version. + * Creates a Supabase Client for use in a browser environment. + * + * In most cases you should not configure the `options.cookies` object, as this + * is automatically handled for you. If you do customize this, prefer using the + * `getAll` and `setAll` functions over `get`, `set` and `remove`. The latter + * are deprecated due to being difficult to correctly implement and not + * supporting some edge-cases. Both `getAll` and `setAll` (or both `get`, `set` + * and `remove`) must be provided. Failing to provide the methods for setting + * will throw an exception, and in previous versions of the library will result + * in difficult to debug authentication issues such as random logouts, early + * session termination or problems with inconsistent state. + * + * @param supabaseUrl The URL of the Supabase project. + * @param supabaseKey The `anon` API key of the Supabase project. + * @param options Various configuration options. */ export function createBrowserClient< Database = any, @@ -45,7 +57,7 @@ export function createBrowserClient< supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions & { - cookies: CookieMethodsBrowserDeprecated; + cookies?: CookieMethodsBrowser; cookieOptions?: CookieOptionsWithName; cookieEncoding?: "raw" | "base64url"; isSingleton?: boolean; @@ -53,21 +65,9 @@ export function createBrowserClient< ): SupabaseClient; /** - * Creates a Supabase Client for use in a browser environment. - * - * In most cases you should not configure the `options.cookies` object, as this - * is automatically handled for you. If you do customize this, prefer using the - * `getAll` and `setAll` functions over `get`, `set` and `remove`. The latter - * are deprecated due to being difficult to correctly implement and not - * supporting some edge-cases. Both `getAll` and `setAll` (or both `get`, `set` - * and `remove`) must be provided. Failing to provide the methods for setting - * will throw an exception, and in previous versions of the library will result - * in difficult to debug authentication issues such as random logouts, early - * session termination or problems with inconsistent state. - * - * @param supabaseUrl The URL of the Supabase project. - * @param supabaseKey The `anon` API key of the Supabase project. - * @param options Various configuration options. + * @deprecated Please specify `getAll` and `setAll` cookie methods instead of + * the `get`, `set` and `remove`. These will not be supported in the next major + * version. */ export function createBrowserClient< Database = any, @@ -81,7 +81,7 @@ export function createBrowserClient< supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions & { - cookies?: CookieMethodsBrowser; + cookies: CookieMethodsBrowserDeprecated; cookieOptions?: CookieOptionsWithName; cookieEncoding?: "raw" | "base64url"; isSingleton?: boolean;