From f5d4397eff695876fbcf779fce79166345efee88 Mon Sep 17 00:00:00 2001 From: Katerina Skroumpelou Date: Tue, 29 Sep 2026 19:37:37 +0300 Subject: [PATCH 1/2] feat: drop alpha labels, deprecate adapters, pin doc imports to @1 --- README.md | 51 +++++++++---------- docs/api-reference.md | 27 ---------- docs/error-handling.md | 2 +- docs/getting-started.md | 2 +- docs/mcp.md | 6 --- docs/postgres.md | 5 -- skills/supabase-server/SKILL.md | 30 +++++------ src/core/postgres-pool.ts | 6 +-- src/middleware/admin-client/index.ts | 12 +---- src/middleware/claims/index.ts | 12 +---- src/middleware/client/index.ts | 12 +---- src/middleware/postgres-admin/index.ts | 12 +---- src/middleware/postgres/index.ts | 18 ++----- src/middleware/required-claims/index.ts | 12 +---- src/oauth-protected-resource/index.ts | 3 +- src/oauth-protected-resource/responses.ts | 6 +-- src/oauth-protected-resource/types.ts | 6 +-- src/oauth-protected-resource/url.ts | 6 +-- .../with-oauth-protected-resource.ts | 9 ++-- src/with-supabase.ts | 7 +-- 20 files changed, 65 insertions(+), 179 deletions(-) diff --git a/README.md b/README.md index b037a3c..ac4835c 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ One import. One line of config. Auth is validated, clients are ready, CORS is ha ```bash # Deno / Supabase Edge Functions (no install — import directly) -import { withSupabase } from "npm:@supabase/server"; +import { withSupabase } from "npm:@supabase/server@1"; # npm npm install @supabase/server @@ -279,16 +279,16 @@ withSupabase( Called with config only, `withSupabase(config)` returns an entry for `pipeline` from `@supabase/middleware`. Entries placed after it in the array receive the Supabase context and contribute their own typed keys; entries placed before it run ahead of the auth gate. The first-party entries live on the `@supabase/server/middleware/*` subpaths; see [Postgres](#postgres-rls-scoped-queries). -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - ## Framework Adapters Adapters wrap `withSupabase` for a specific framework's middleware contract. They ship inside `@supabase/server`, so a single `npm install @supabase/server` covers the framework you're using — no separate package per adapter. -> **Adapters are a community-driven initiative.** They're developed, maintained, and evolved by contributors — including responding to upstream framework changes. See [`src/adapters/README.md`](src/adapters/README.md) for the contribution requirements (tests, types, docs, build wiring) if you'd like to add or help maintain one. +> [!WARNING] +> Adapters are deprecated and will be removed on December 1, 2026. Use [middleware](https://github.com/supabase/middleware) to integrate `@supabase/server` with your framework. +> +> We're no longer accepting new adapter submissions. +> +> For Hono, H3, Elysia, NestJS, or TanStack Start, use the framework bridges in [`examples/frameworks`](./examples/frameworks). Read the [framework integration guide](https://supabase.com/docs/reference/server/frameworks) for setup steps. | Framework | Import | Framework version | Docs | | --------- | ---------------------------------- | ---------------------- | -------------------------------------------------- | @@ -463,11 +463,6 @@ export default { ## Postgres (RLS-scoped queries) -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - When PostgREST isn't the right tool — joins, CTEs, window functions — `withPostgresClient` puts a direct Postgres connection on `ctx.postgres`, scoped to the caller by RLS: ```ts @@ -547,22 +542,22 @@ No. `@supabase/ssr` handles cookie-based session management for frameworks like ## Exports -| Export | What's in it | -| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| `@supabase/server` | `withSupabase`, `createSupabaseContext` | -| `@supabase/server/core` | `verifyAuth`, `verifyCredentials`, `extractCredentials`, `createContextClient`, `createAdminClient`, `resolveEnv` | -| `@supabase/server/adapters/hono` | `withSupabase` (Hono middleware) | -| `@supabase/server/adapters/h3` | `withSupabase` (H3 / Nuxt middleware) | -| `@supabase/server/adapters/elysia` | `withSupabase` (Elysia plugin) | -| `@supabase/server/adapters/nestjs` | `withSupabase` (NestJS guard), `SupabaseCtx` (param decorator) | -| `@supabase/server/middleware/client` | **Alpha.** `withSupabaseClient` (RLS-scoped `ctx.supabase` client) | -| `@supabase/server/middleware/admin-client` | **Alpha.** `withSupabaseAdminClient` (`ctx.supabaseAdmin`, bypasses RLS) | -| `@supabase/server/middleware/claims` | **Alpha.** `withClaims` (JWKS-verified `ctx.jwtClaims`) | -| `@supabase/server/middleware/required-claims` | **Alpha.** `withRequiredClaims` (user-mode auth gate, non-null `ctx.jwtClaims`) | -| `@supabase/server/middleware/postgres` | **Alpha.** `withPostgresClient` (RLS-scoped `ctx.postgres` client) | -| `@supabase/server/middleware/postgres-admin` | **Alpha.** `withPostgresAdminClient` (`ctx.postgresAdmin`, bypasses RLS) | -| `@supabase/server/oauth-protected-resource` | **Alpha.** `withOAuthProtectedResource`, `fromSupabaseUrl`, `resourceMetadataResponse`, `unauthorizedResponse`; see [`docs/mcp.md`](docs/mcp.md) | -| `@supabase/server/peer/supabase-js` | Re-exported `supabase-js` types (`SupabaseClient`, `PostgrestError`, …) | +| Export | What's in it | +| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `@supabase/server` | `withSupabase`, `createSupabaseContext` | +| `@supabase/server/core` | `verifyAuth`, `verifyCredentials`, `extractCredentials`, `createContextClient`, `createAdminClient`, `resolveEnv` | +| `@supabase/server/adapters/hono` | `withSupabase` (Hono middleware) | +| `@supabase/server/adapters/h3` | `withSupabase` (H3 / Nuxt middleware) | +| `@supabase/server/adapters/elysia` | `withSupabase` (Elysia plugin) | +| `@supabase/server/adapters/nestjs` | `withSupabase` (NestJS guard), `SupabaseCtx` (param decorator) | +| `@supabase/server/middleware/client` | `withSupabaseClient` (RLS-scoped `ctx.supabase` client) | +| `@supabase/server/middleware/admin-client` | `withSupabaseAdminClient` (`ctx.supabaseAdmin`, bypasses RLS) | +| `@supabase/server/middleware/claims` | `withClaims` (JWKS-verified `ctx.jwtClaims`) | +| `@supabase/server/middleware/required-claims` | `withRequiredClaims` (user-mode auth gate, non-null `ctx.jwtClaims`) | +| `@supabase/server/middleware/postgres` | `withPostgresClient` (RLS-scoped `ctx.postgres` client) | +| `@supabase/server/middleware/postgres-admin` | `withPostgresAdminClient` (`ctx.postgresAdmin`, bypasses RLS) | +| `@supabase/server/oauth-protected-resource` | `withOAuthProtectedResource`, `fromSupabaseUrl`, `resourceMetadataResponse`, `unauthorizedResponse`; see [`docs/mcp.md`](docs/mcp.md) | +| `@supabase/server/peer/supabase-js` | Re-exported `supabase-js` types (`SupabaseClient`, `PostgrestError`, …) | ## Documentation diff --git a/docs/api-reference.md b/docs/api-reference.md index c4d8a94..8bea0b3 100644 --- a/docs/api-reference.md +++ b/docs/api-reference.md @@ -49,10 +49,6 @@ pipeline( Entries before `withSupabase` see every request, including unauthenticated ones, and observe its `401` responses on the way out. Entries after it receive the full `SupabaseContext` and may declare prerequisites on its keys; an entry contributing one of those keys is a compile-time conflict. Nesting works the same way: `withOAuthProtectedResource(withSupabase(config, handler))` places the OAuth middleware ahead of the gate, `withSupabase(config, withPostgresClient(handler))` places Postgres behind it. Placing `withOAuthProtectedResource` directly after `withSupabase` with an auth mode that requires credentials is refused when the stack is built; a pre-auth middleware separated from `withSupabase` by another entry is not detected and must be ordered by hand. -> **Alpha.** The entry form and the `@supabase/server/middleware/*` subpaths -> track `@supabase/middleware` 0.x — entry shapes and context keys may change -> between 0.x releases. Everything else in `@supabase/server` is stable. - ### createSupabaseContext ```ts @@ -203,11 +199,6 @@ Defaults to `auth: 'user'` when config is omitted. ## @supabase/server/middleware/claims -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - ### withClaims ```ts @@ -249,11 +240,6 @@ interface WithClaimsConfig { ## @supabase/server/middleware/required-claims -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - ### withRequiredClaims ```ts @@ -316,11 +302,6 @@ interface WithRequiredClaimsConfig { ## @supabase/server/middleware/postgres -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - ### withPostgresClient ```ts @@ -430,11 +411,6 @@ The minimal claims shape `withPostgresClient` requires upstream at `ctx.jwtClaim ## @supabase/server/middleware/postgres-admin -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - ### withPostgresAdminClient ```ts @@ -470,9 +446,6 @@ interface WithPostgresAdminClientConfig { ## @supabase/server/oauth-protected-resource -> **Alpha.** The config shape, the contributed context key, and the metadata -> route may change in a minor release. - Also re-exported from `@supabase/server`. See [`docs/mcp.md`](mcp.md) for the MCP server walkthrough. ### withOAuthProtectedResource diff --git a/docs/error-handling.md b/docs/error-handling.md index d0b68b6..638ddc3 100644 --- a/docs/error-handling.md +++ b/docs/error-handling.md @@ -38,7 +38,7 @@ Access-Control-Expose-Headers: x-supabase-server-error The code is repeated in the `x-supabase-server-error` response header, and added to `Access-Control-Expose-Headers` so cross-origin browser code can actually read it. -Every layer that answers a request directly uses this shape: `withSupabase`, and the middleware that short-circuit (`withClaims`, `withRequiredClaims`, `withPostgresClient`, `withPostgresAdminClient`, `withOAuthProtectedResource`). The `@supabase/server/middleware/*` subpaths and `@supabase/server/oauth-protected-resource` are alpha; the error payload documented here is stable either way. +Every layer that answers a request directly uses this shape: `withSupabase`, and the middleware that short-circuit (`withClaims`, `withRequiredClaims`, `withPostgresClient`, `withPostgresAdminClient`, `withOAuthProtectedResource`). ## Trimming the response body diff --git a/docs/getting-started.md b/docs/getting-started.md index 7e20a99..0026fd5 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -4,7 +4,7 @@ ```bash # Deno (import directly) -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' # npm npm install @supabase/server diff --git a/docs/mcp.md b/docs/mcp.md index 93c9b75..837d567 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -1,11 +1,5 @@ # MCP servers -> **Alpha.** `withOAuthProtectedResource` and composing `withSupabase` as a -> `pipeline` entry track `@supabase/middleware` 0.x. The config shape, the -> contributed context key, and the metadata route may change in a minor -> release. The nested `withOAuthProtectedResource(withSupabase(config, handler))` -> form is stable. - An MCP server your app exposes to its users is an HTTP endpoint that MCP clients (Claude, ChatGPT, Cursor, VS Code, Claude Code) call after an OAuth 2.1 flow. `@supabase/server` covers the two Supabase-specific parts: OAuth discovery for the client, and turning the user's token into an RLS-scoped Supabase client for your tools. The MCP transport and the tools come from any MCP library. ```ts diff --git a/docs/postgres.md b/docs/postgres.md index 6f0cb90..537c5ce 100644 --- a/docs/postgres.md +++ b/docs/postgres.md @@ -1,10 +1,5 @@ # Postgres (`ctx.postgres`) -> **Alpha.** Composing `withSupabase` as a `pipeline` entry and the -> `@supabase/server/middleware/*` subpaths track `@supabase/middleware` 0.x — -> entry shapes and context keys may change between 0.x releases. The -> `withSupabase(config, handler)` form is stable. - Two middleware give you a direct Postgres connection, mirroring the `ctx.supabase` / `ctx.supabaseAdmin` pair: | Middleware | Subpath | Contributes | RLS | diff --git a/skills/supabase-server/SKILL.md b/skills/supabase-server/SKILL.md index d4ee00c..129f6fd 100644 --- a/skills/supabase-server/SKILL.md +++ b/skills/supabase-server/SKILL.md @@ -34,12 +34,12 @@ Server-side utilities for Supabase. Handles auth, client creation, and context i ## Entry points -| Import | Deno / Edge Functions | Provides | -| ------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `@supabase/server` | `npm:@supabase/server` | `withSupabase`, `createSupabaseContext`, types, errors | -| `@supabase/server/core` | `npm:@supabase/server/core` | `verifyAuth`, `verifyCredentials`, `extractCredentials`, `resolveEnv`, `createContextClient`, `createAdminClient` | -| `@supabase/server/adapters/hono` | `npm:@supabase/server/adapters/hono` | `withSupabase` (Hono middleware variant) | -| `@supabase/server/oauth-protected-resource` | `npm:@supabase/server/oauth-protected-resource` | **Alpha.** `withOAuthProtectedResource`, `fromSupabaseUrl`, `resourceMetadataResponse`, `unauthorizedResponse` — OAuth 2.1 discovery for MCP servers; see `docs/mcp.md` | +| Import | Deno / Edge Functions | Provides | +| ------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `@supabase/server` | `npm:@supabase/server@1` | `withSupabase`, `createSupabaseContext`, types, errors | +| `@supabase/server/core` | `npm:@supabase/server@1/core` | `verifyAuth`, `verifyCredentials`, `extractCredentials`, `resolveEnv`, `createContextClient`, `createAdminClient` | +| `@supabase/server/adapters/hono` | `npm:@supabase/server@1/adapters/hono` | `withSupabase` (Hono middleware variant) | +| `@supabase/server/oauth-protected-resource` | `npm:@supabase/server@1/oauth-protected-resource` | `withOAuthProtectedResource`, `fromSupabaseUrl`, `resourceMetadataResponse`, `unauthorizedResponse` — OAuth 2.1 discovery for MCP servers; see `docs/mcp.md` | ## Quick starts @@ -58,7 +58,7 @@ Environment variables are auto-injected by the platform — zero config. **All i ```ts // withSupabase — high-level wrapper -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' export default { fetch: withSupabase({ auth: 'user' }, async (_req, ctx) => { @@ -70,7 +70,7 @@ export default { ```ts // createSupabaseContext — returns { data, error } for custom response control -import { createSupabaseContext } from 'npm:@supabase/server' +import { createSupabaseContext } from 'npm:@supabase/server@1' export default { fetch: async (req: Request) => { @@ -128,7 +128,7 @@ export default app ```ts // Deno / Supabase Edge Functions import { Hono } from 'npm:hono' -import { withSupabase } from 'npm:@supabase/server/adapters/hono' +import { withSupabase } from 'npm:@supabase/server@1/adapters/hono' const app = new Hono() app.use('*', withSupabase({ auth: 'user' })) @@ -163,7 +163,7 @@ For internal services, cron jobs, or automation calling your Edge Function. The **Edge Function (Deno):** ```ts -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' // Only accept the "automations" named secret key export default { @@ -200,7 +200,7 @@ Bare `auth: 'secret'` matches only the `default` key. Use `auth: 'secret:name'` `audience` and `issuer` check the `aud` and `iss` claims of a `user`-mode token. Each takes a string or an array. A token without the claim, or with a value outside the list, is rejected with `INVALID_JWT`. Set `issuer: fromSupabaseUrl(url)` when one JWKS could be shared across projects or services. Supabase Auth sets `aud` to `authenticated`, so `audience` only matters for tokens from a custom issuer. Both options exist on `withSupabase`, `verifyAuth`, `verifyCredentials`, `withClaims`, and `withRequiredClaims`. ```ts -import { fromSupabaseUrl, withSupabase } from 'npm:@supabase/server' +import { fromSupabaseUrl, withSupabase } from 'npm:@supabase/server@1' export default { fetch: withSupabase( @@ -244,7 +244,7 @@ verify_jwt = false # called with secret key, not a user JWT **Called function** (`supabase/functions/process-order/index.ts`): ```ts -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' export default { fetch: withSupabase({ auth: 'secret' }, async (req, ctx) => { @@ -263,7 +263,7 @@ export default { **Calling function** (`supabase/functions/checkout/index.ts`): ```ts -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' export default { fetch: withSupabase({ auth: 'user' }, async (req, ctx) => { @@ -340,7 +340,7 @@ supabase secrets set STRIPE_WEBHOOK_SECRET=whsec_... **Function** (`supabase/functions/stripe-webhook/index.ts`): ```ts -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' import Stripe from 'npm:stripe' const stripe = new Stripe(Deno.env.get('STRIPE_SECRET_KEY')!) @@ -413,7 +413,7 @@ Deno.serve(async (req: Request) => { Uses the latest API keys, works across runtimes (Deno, Node.js, Cloudflare), and handles auth verification, client creation, and CORS in a single line. ```ts -import { withSupabase } from 'npm:@supabase/server' +import { withSupabase } from 'npm:@supabase/server@1' export default { fetch: withSupabase({ auth: 'user' }, async (_req, ctx) => { diff --git a/src/core/postgres-pool.ts b/src/core/postgres-pool.ts index e1903d2..1c69de1 100644 --- a/src/core/postgres-pool.ts +++ b/src/core/postgres-pool.ts @@ -36,14 +36,10 @@ export const CHECKOUT_TIMEOUT_MS = 10_000 const LOG_PREFIX = '[@supabase/server] postgres pool:' /** - * **Alpha.** Pool sizing for `withPostgresClient` and + * Pool sizing for `withPostgresClient` and * `withPostgresAdminClient`. Two entries on the same connection string share * a pool only when their options resolve to the same values. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export interface PostgresPoolOptions { diff --git a/src/middleware/admin-client/index.ts b/src/middleware/admin-client/index.ts index 8aef214..8d1b000 100644 --- a/src/middleware/admin-client/index.ts +++ b/src/middleware/admin-client/index.ts @@ -9,14 +9,10 @@ import { CreateSupabaseClientError, EnvError, Errors } from '../../errors.js' import type { CreateAdminClientOptions, UntypedDatabase } from '../../types.js' /** - * **Alpha.** Configuration for {@link withSupabaseAdminClient} — the same + * Configuration for {@link withSupabaseAdminClient} — the same * environment and client options `createAdminClient` accepts, minus the * per-request auth identity (which is read from the upstream context). * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export type WithSupabaseAdminClientConfig = Omit< @@ -59,7 +55,7 @@ const base = defineMiddleware< }) /** - * **Alpha.** Contributes `ctx.supabaseAdmin` — an admin Supabase client that + * Contributes `ctx.supabaseAdmin` — an admin Supabase client that * bypasses Row-Level Security, authenticated with a secret key. This is the * same middleware `withSupabase` composes internally to build its context. * @@ -84,10 +80,6 @@ const base = defineMiddleware< * } * ``` * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export function withSupabaseAdminClient( diff --git a/src/middleware/claims/index.ts b/src/middleware/claims/index.ts index 7a44fc9..3d16793 100644 --- a/src/middleware/claims/index.ts +++ b/src/middleware/claims/index.ts @@ -15,12 +15,8 @@ import { import type { JWTClaims, ShortCircuitConfig } from '../../types.js' /** - * **Alpha.** Configuration for {@link withClaims}. + * Configuration for {@link withClaims}. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export interface WithClaimsConfig extends ShortCircuitConfig { @@ -44,7 +40,7 @@ export interface WithClaimsConfig extends ShortCircuitConfig { } /** - * **Alpha.** Contributes `ctx.jwtClaims` by verifying the caller's Bearer + * Contributes `ctx.jwtClaims` by verifying the caller's Bearer * token against the project JWKS — the same verification core `withSupabase` * uses for its `user` auth mode. * @@ -85,10 +81,6 @@ export interface WithClaimsConfig extends ShortCircuitConfig { * } * ``` * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export const withClaims: Middleware< diff --git a/src/middleware/client/index.ts b/src/middleware/client/index.ts index bf9c174..c522cc8 100644 --- a/src/middleware/client/index.ts +++ b/src/middleware/client/index.ts @@ -13,15 +13,11 @@ import type { } from '../../types.js' /** - * **Alpha.** Configuration for {@link withSupabaseClient} — the same + * Configuration for {@link withSupabaseClient} — the same * environment and client options `createContextClient` accepts, minus the * per-request auth identity (which is read from the request and the upstream * context). * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export type WithSupabaseClientConfig = Omit @@ -70,7 +66,7 @@ const base = defineMiddleware< }) /** - * **Alpha.** Contributes `ctx.supabase` — a Supabase client scoped to the + * Contributes `ctx.supabase` — a Supabase client scoped to the * caller's identity, so Row-Level Security policies apply. This is the same * middleware `withSupabase` composes internally to build its context. * @@ -95,10 +91,6 @@ const base = defineMiddleware< * } * ``` * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export function withSupabaseClient( diff --git a/src/middleware/postgres-admin/index.ts b/src/middleware/postgres-admin/index.ts index 2b45113..948dc98 100644 --- a/src/middleware/postgres-admin/index.ts +++ b/src/middleware/postgres-admin/index.ts @@ -20,12 +20,8 @@ export type { PostgresApi, PostgresPoolOptions } export { ident } /** - * **Alpha.** Configuration for {@link withPostgresAdminClient}. + * Configuration for {@link withPostgresAdminClient}. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export interface WithPostgresAdminClientConfig extends ShortCircuitConfig { @@ -40,7 +36,7 @@ export interface WithPostgresAdminClientConfig extends ShortCircuitConfig { } /** - * **Alpha.** Contributes `ctx.postgresAdmin` — a `pg` client that **bypasses + * Contributes `ctx.postgresAdmin` — a `pg` client that **bypasses * RLS**, for full-table access. The direct-connection counterpart to * `withSupabaseAdminClient`, and the deliberate opt-out from the guardrails * `withPostgresClient` (`@supabase/server/middleware/postgres`) enforces. @@ -76,10 +72,6 @@ export interface WithPostgresAdminClientConfig extends ShortCircuitConfig { * > **Runtime note.** `pg` needs raw TCP, so this runs on Node/Deno (including * > the Supabase Edge runtime), **not** on Workers-style isolates. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export const withPostgresAdminClient: Middleware< diff --git a/src/middleware/postgres/index.ts b/src/middleware/postgres/index.ts index 40a3dec..7acb735 100644 --- a/src/middleware/postgres/index.ts +++ b/src/middleware/postgres/index.ts @@ -65,17 +65,13 @@ function resolveRole( } /** - * **Alpha.** Minimal claims shape {@link withPostgresClient} needs on the + * Minimal claims shape {@link withPostgresClient} needs on the * upstream context. * * Satisfied both by `withSupabase`'s JWKS-verified `ctx.jwtClaims` and by the * standalone `withClaims` middleware — `withPostgresClient` only reads `role` * and serializes the whole object into `request.jwt.claims`. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export interface RequestClaims { @@ -84,12 +80,8 @@ export interface RequestClaims { } /** - * **Alpha.** Configuration for {@link withPostgresClient}. - * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. + * Configuration for {@link withPostgresClient}. * - * @alpha * @category Middleware */ export interface WithPostgresClientConfig extends ShortCircuitConfig { @@ -104,7 +96,7 @@ export interface WithPostgresClientConfig extends ShortCircuitConfig { } /** - * **Alpha.** Contributes `ctx.postgres` — an RLS-scoped `pg` client, the safe + * Contributes `ctx.postgres` — an RLS-scoped `pg` client, the safe * version of "authenticate, then query as the user". This is the * direct-connection counterpart to `withSupabaseClient`, and its service-role * companion is `withPostgresAdminClient` @@ -153,10 +145,6 @@ export interface WithPostgresClientConfig extends ShortCircuitConfig { * > **Runtime note.** `pg` needs raw TCP, so this runs on Node/Deno (including * > the Supabase Edge runtime), **not** on Workers-style isolates. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export const withPostgresClient: Middleware< diff --git a/src/middleware/required-claims/index.ts b/src/middleware/required-claims/index.ts index f047026..cb2341c 100644 --- a/src/middleware/required-claims/index.ts +++ b/src/middleware/required-claims/index.ts @@ -22,12 +22,8 @@ import { import type { JWTClaims, ShortCircuitConfig } from '../../types.js' /** - * **Alpha.** Configuration for {@link withRequiredClaims}. + * Configuration for {@link withRequiredClaims}. * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export interface WithRequiredClaimsConfig extends ShortCircuitConfig { @@ -51,7 +47,7 @@ export interface WithRequiredClaimsConfig extends ShortCircuitConfig { } /** - * **Alpha.** The user-mode auth gate: requires a valid user JWT and + * The user-mode auth gate: requires a valid user JWT and * contributes **non-null** `ctx.jwtClaims`. Verification runs against the * project JWKS, the same core `withSupabase` uses for its `user` auth mode. * @@ -101,10 +97,6 @@ export interface WithRequiredClaimsConfig extends ShortCircuitConfig { * } * ``` * - * The composable middleware surface tracks `@supabase/middleware` 0.x — entry - * shapes, context keys, and config options may change between 0.x releases. - * - * @alpha * @category Middleware */ export const withRequiredClaims: Middleware< diff --git a/src/oauth-protected-resource/index.ts b/src/oauth-protected-resource/index.ts index 4438430..67722bc 100644 --- a/src/oauth-protected-resource/index.ts +++ b/src/oauth-protected-resource/index.ts @@ -1,12 +1,11 @@ /** - * **Alpha.** OAuth 2.1 Protected Resource middleware (RFC 9728) for Supabase + * OAuth 2.1 Protected Resource middleware (RFC 9728) for Supabase * Edge Functions. * * The OAuth Protected Resource surface is alpha — the config shape, the * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @module * @packageDocumentation */ diff --git a/src/oauth-protected-resource/responses.ts b/src/oauth-protected-resource/responses.ts index 7c84234..b34ce30 100644 --- a/src/oauth-protected-resource/responses.ts +++ b/src/oauth-protected-resource/responses.ts @@ -10,7 +10,7 @@ import type { } from './types.js' /** - * **Alpha.** `401` response with a + * `401` response with a * `WWW-Authenticate: Bearer resource_metadata="..."` header (RFC 9728). * The metadata URL defaults to the Edge Functions derivation and throws off * platform; pass `resourceMetadataUrl` to override for custom setups. @@ -19,7 +19,6 @@ import type { * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Middleware */ export function unauthorizedResponse( @@ -39,7 +38,7 @@ export function unauthorizedResponse( } /** - * **Alpha.** RFC 9728 OAuth Protected Resource Metadata response. + * RFC 9728 OAuth Protected Resource Metadata response. * Advertises the authorization server, resource URI, and bearer methods supported. * URLs default to the Edge Functions derivation and throw off platform; pass * `resource` / `authorizationServers` to override. @@ -49,7 +48,6 @@ export function unauthorizedResponse( * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Middleware */ export function resourceMetadataResponse( diff --git a/src/oauth-protected-resource/types.ts b/src/oauth-protected-resource/types.ts index 7559493..c8f0393 100644 --- a/src/oauth-protected-resource/types.ts +++ b/src/oauth-protected-resource/types.ts @@ -1,11 +1,10 @@ /** - * **Alpha.** Options for {@link unauthorizedResponse}. + * Options for {@link unauthorizedResponse}. * * The OAuth Protected Resource surface is alpha — the config shape, the * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Types */ export interface UnauthorizedResponseOptions { @@ -14,13 +13,12 @@ export interface UnauthorizedResponseOptions { } /** - * **Alpha.** Options for {@link resourceMetadataResponse}. + * Options for {@link resourceMetadataResponse}. * * The OAuth Protected Resource surface is alpha — the config shape, the * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Types */ export interface ResourceMetadataOptions { diff --git a/src/oauth-protected-resource/url.ts b/src/oauth-protected-resource/url.ts index f54542e..a382d46 100644 --- a/src/oauth-protected-resource/url.ts +++ b/src/oauth-protected-resource/url.ts @@ -10,13 +10,12 @@ import { AUTH_PATH_PREFIX, EDGE_FUNCTIONS_PATH_PREFIX } from './paths.js' import { isEdgeFunctions } from './runtime.js' /** - * **Alpha.** A configured URL: either a fixed value, or derived per request. + * A configured URL: either a fixed value, or derived per request. * * The OAuth Protected Resource surface is alpha — the config shape, the * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Types */ export type UrlOption = string | ((req: Request) => string) @@ -163,7 +162,7 @@ export function defaultAuthorizationServer(req: Request): string { } /** - * **Alpha.** Points `authorizationServer` at a Supabase project's Auth + * Points `authorizationServer` at a Supabase project's Auth * issuer. * * Use this off Supabase Edge Functions, where the app's own origin is unrelated @@ -176,7 +175,6 @@ export function defaultAuthorizationServer(req: Request): string { * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Middleware * * @example diff --git a/src/oauth-protected-resource/with-oauth-protected-resource.ts b/src/oauth-protected-resource/with-oauth-protected-resource.ts index fd8cac6..37913ce 100644 --- a/src/oauth-protected-resource/with-oauth-protected-resource.ts +++ b/src/oauth-protected-resource/with-oauth-protected-resource.ts @@ -13,13 +13,12 @@ import { getAuthUrl, getResourceMetadataUrl, getResourceUrl } from './url.js' import type { UrlOption } from './url.js' /** - * **Alpha.** Shape contributed at `ctx.oauthProtectedResource`. + * Shape contributed at `ctx.oauthProtectedResource`. * * The OAuth Protected Resource surface is alpha — the config shape, the * contributed context key, and the metadata route may change in a minor * release. * - * @alpha */ export interface OAuthProtectedResourceContribution { /** Absolute URL of this resource's OAuth Protected Resource Metadata document (RFC 9728). */ @@ -27,7 +26,7 @@ export interface OAuthProtectedResourceContribution { } /** - * **Alpha.** Configuration for {@link withOAuthProtectedResource}. + * Configuration for {@link withOAuthProtectedResource}. * * Both options accept a fixed string or a function of the request. Both default * to values derived from the request as it arrives through the Supabase Edge @@ -37,7 +36,6 @@ export interface OAuthProtectedResourceContribution { * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Types */ export interface OAuthProtectedResourceConfig extends ShortCircuitConfig { @@ -65,7 +63,7 @@ export interface OAuthProtectedResourceConfig extends ShortCircuitConfig { } /** - * **Alpha.** Wraps a request handler with OAuth 2.1 Protected Resource + * Wraps a request handler with OAuth 2.1 Protected Resource * behavior (RFC 9728). * * - Serves OAuth Protected Resource Metadata at `GET {resource}/oauth-protected-resource` @@ -101,7 +99,6 @@ export interface OAuthProtectedResourceConfig extends ShortCircuitConfig { * contributed context key, and the metadata route may change in a minor * release. * - * @alpha * @category Middleware * * @example Supabase Edge Functions — zero config diff --git a/src/with-supabase.ts b/src/with-supabase.ts index 12c1823..06c347e 100644 --- a/src/with-supabase.ts +++ b/src/with-supabase.ts @@ -164,17 +164,12 @@ export function withSupabase< ): (req: Request, ctx?: Base) => Promise /** - * **Alpha.** Config-only call: returns an entry for a `pipeline` array, so + * Config-only call: returns an entry for a `pipeline` array, so * `withSupabase` composes by position with any other middleware. Entries * placed before it run ahead of the auth gate and may answer unauthenticated * requests; entries placed after it receive the full {@link SupabaseContext} * and may declare prerequisites on its keys. * - * The composable surface tracks `@supabase/middleware` 0.x — entry shapes and - * context keys may change between 0.x releases. The handler-form overload is - * stable. - * - * @alpha * @category Middleware * * @example OAuth discovery ahead of the gate, Postgres behind it From c38fb8791bd4fb437d29a6f266d77377c4a27290 Mon Sep 17 00:00:00 2001 From: Katerina Skroumpelou Date: Wed, 30 Sep 2026 12:42:39 +0300 Subject: [PATCH 2/2] feat: require @supabase/middleware 1.0.0 --- e2e/supabase/functions/server-e2e/deno.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 252 ++++++++++---------- 3 files changed, 128 insertions(+), 128 deletions(-) diff --git a/e2e/supabase/functions/server-e2e/deno.json b/e2e/supabase/functions/server-e2e/deno.json index eca9bde..b8e8e39 100644 --- a/e2e/supabase/functions/server-e2e/deno.json +++ b/e2e/supabase/functions/server-e2e/deno.json @@ -5,7 +5,7 @@ "@supabase/server/middleware/postgres-admin": "../_vendor/package/dist/middleware/postgres-admin/index.mjs", "@supabase/supabase-js": "npm:@supabase/supabase-js@2", "@supabase/supabase-js/cors": "npm:@supabase/supabase-js@2/cors", - "@supabase/middleware": "npm:@supabase/middleware@0.5.0", + "@supabase/middleware": "npm:@supabase/middleware@1.0.0", "jose": "npm:jose@6", "pg": "npm:pg@8" } diff --git a/package.json b/package.json index de19e2e..15beef1 100644 --- a/package.json +++ b/package.json @@ -257,7 +257,7 @@ "vitest": "^5.0.0" }, "dependencies": { - "@supabase/middleware": "^0.6.0", + "@supabase/middleware": "^1.0.0", "jose": "^6.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54e510d..0bdb7a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: .: dependencies: '@supabase/middleware': - specifier: ^0.6.0 - version: 0.6.0(typescript@5.9.3) + specifier: ^1.0.0 + version: 1.0.0(typescript@5.9.3) jose: specifier: ^6.2.0 version: 6.2.0 @@ -107,7 +107,7 @@ importers: version: 8.56.1(eslint@10.0.2(jiti@2.7.0))(typescript@5.9.3) unplugin-swc: specifier: ^1.5.9 - version: 1.5.9(@swc/core@1.15.33)(rollup@4.63.5) + version: 1.5.9(@swc/core@1.15.33)(rollup@4.63.4) vitest: specifier: ^5.0.0 version: 5.0.0(@types/node@26.0.1)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) @@ -116,7 +116,7 @@ importers: devDependencies: '@tanstack/react-start': specifier: ^1.168.0 - version: 1.168.56(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) + version: 1.168.56(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) react: specifier: ^19.0.0 version: 19.3.0 @@ -757,141 +757,141 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.63.5': - resolution: {integrity: sha512-J25QJU+B78T4FhhBsNpLJyVWOi31mwtpcMwywHmOKH65Q9IWGA81gPj+dnwlhU8wktVriYE+tFAaQgrnJRzAZg==} + '@rollup/rollup-android-arm-eabi@4.63.4': + resolution: {integrity: sha512-I+BSHzTAhKN2n7ZwGZsegGcZjDpLqFOMAtJz/u6uFGe0pUFbq56dEHjqJV/ZUdRJtNXNxA+hREUatZBvMR3Oiw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.63.5': - resolution: {integrity: sha512-LDopB3zuZM5Ux9TT2luNEBJW/tYbGU2g1d+VpKk6I+gSKDb+/7sYE6M225gRQt4RbMX6MSwMsVR/phdjVUgRLg==} + '@rollup/rollup-android-arm64@4.63.4': + resolution: {integrity: sha512-pu3BdjS2LtEzRu2elmGzS3fIeWSZy4BMDIaLNwjorO76+k2d0LMluijhsDx3KQyQBQ/lLUZCQA9/s6csvUfuhw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.63.5': - resolution: {integrity: sha512-wlJEERGfeuHeBavCL2qVnNacOK43NDoZM4sjkeRPymd04OAE9T1zBqDJgmZ+CIsPTYKwdzpUC8vmOw84dwY4Tg==} + '@rollup/rollup-darwin-arm64@4.63.4': + resolution: {integrity: sha512-xfSrj9MHnWK9GaSqT9U0ImHtH/N8WZlHLx4cZHiuLcqs640hvZ3hLPd5UR2AZS57FaE8HrRUSpltbZdWRxHiDA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.63.5': - resolution: {integrity: sha512-4nJJGg5jbo2wwPP4JP+LfEBA3bvP8rU9CLuhp7jWvq9sxEyhjQFTFdrqi+/dHEin/pd8jpT0vcehIpnZtmEdcQ==} + '@rollup/rollup-darwin-x64@4.63.4': + resolution: {integrity: sha512-bqU99PLJb/dqb3S0GIMdeuyAEETSUgZBoqXYd3Sd+WCsV+MmPhnN6JrotWyir31+QgH7EvvE5/mwGJlEoci8Fw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.63.5': - resolution: {integrity: sha512-DrZbyCDF1hneuO6jRbvZ2D7+PIBM6yIwYnJpg2vIk58T+wuFpiaGZrfUr59lDWw45bg+IrpTGLPiNi/Fk4w3Cg==} + '@rollup/rollup-freebsd-arm64@4.63.4': + resolution: {integrity: sha512-JinsFZ5G40oXQb+sUuiA5x689vhr6dDYK0H0NL+rwKdL6CqnmYN8PE4ZwfRSoIjrCxqTQG/SLfTtSvHeGxoVlw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.63.5': - resolution: {integrity: sha512-gqfUVMJMB3mehqywxp6hTBFfgtMQykZY19+cfiaYP0toIJLb/1DZRJHVkQQGP13W4TAwfZDWeg1qBcheTRioXQ==} + '@rollup/rollup-freebsd-x64@4.63.4': + resolution: {integrity: sha512-GAdA4UxpiNm27cLHr2GqXBpAD0x9FqwYBY7/YSP0Ss0/PNi4k8gbviqpIpYbVSRBaS2ZcegXEzgTQMbRNCwxCw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.63.5': - resolution: {integrity: sha512-CFmhpvAwzSaWMlN3VN7UtmoTihlZNzoP0juQib5TQRnYUyDV8dXeWOp29sobWAT6gXl/hQgAClLlEiYozQG3OQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.63.4': + resolution: {integrity: sha512-qDd6NoA1znaLjp4jR5U/KWCdLAKDJNB8W9ChbbDaKbo0xA+Atln5HK6LFCZ4oJQpemtRZA288DCirFRjrspptw==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.63.5': - resolution: {integrity: sha512-Uc9H8eXCOayV6JLTH5bXKMId6qbhNHa818/BgYjm4jrlq3vZquC9cqyvHBw17xy5Mnj5f+I3gFK5JcEf3hSqrw==} + '@rollup/rollup-linux-arm-musleabihf@4.63.4': + resolution: {integrity: sha512-WtB5Tz5KTNINb8ZA+8sQ7bmjuS1JrRT7YverYIhUGdWWDlpzVWmIwuZE+jidkEXUn1l0zrEkaIMa8dHF3NGcsA==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.63.5': - resolution: {integrity: sha512-VcPr/szv/1BFw112Kt//fxulXt/JPqzzidU84iW68L2DdjnOO8QFUv2zTSYBEPHD6movBD4z+bbr5y60GYM7Jw==} + '@rollup/rollup-linux-arm64-gnu@4.63.4': + resolution: {integrity: sha512-VcQ3L1tjnkKzWjryAVaFhHEWcqOfICX9uxVVoDzm2t0DpgKRHd2zOpVrJc0xsWeBZcBFyYROCIBdyR/fS174pg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.63.5': - resolution: {integrity: sha512-BnxtJ5/91BrIHYIkGrmjz/lbMhqEHt1dPFqIxIFR+jPn0xVc/oUSCtIT089zfp5ufwGDlYz2UC+Fe1SRBpYFbQ==} + '@rollup/rollup-linux-arm64-musl@4.63.4': + resolution: {integrity: sha512-6+ZQX6P5s0cMDN2Ypb8Lbm2+/sZYmZjdaYny992ujUU9UKi/4CWoJWsl1pNvjWJHNHGK51m+jKGLlh1ylb2ifQ==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.63.5': - resolution: {integrity: sha512-LrYcHZwF+fAMNKHYTOQ5osWM4AZF7YF6D+XtsjDyEvljtt11twc+zHVXBLNEjxVSUnKYsOhvVz4Z213eW02COQ==} + '@rollup/rollup-linux-loong64-gnu@4.63.4': + resolution: {integrity: sha512-D72ZnvkFkBXOfzMMQLcwfPLyGkKb7HZ9/mf97B7v6/P5Lbv4oFOtSY/uHbS8lH6uKUOxoKiuokdb50XZSzzbJw==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.63.5': - resolution: {integrity: sha512-nj7QKQePAAUpCpJHtg0pR0W/b92A9NO17JS3BAQmHDn/yhmkir2p8llrKY9TOhleKIaSzy1JhxS3T9FVld6coA==} + '@rollup/rollup-linux-loong64-musl@4.63.4': + resolution: {integrity: sha512-piU6BxeqA3O9KSu3kRCIQQtNqFFaTu21SEV4FwaRZowpnj3bLaWPZHw+xFqCs0XlJ+aOH3PTRWGoglH+mKA/OA==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.63.5': - resolution: {integrity: sha512-5ylkX6dWMeBKge9nTU+Rxfb+ZfaCIJ9lRqIFaK0eAMcWp7OJbYnLveLgXmm0VrvuLKb8qIK+mHyH0qu88RM+iA==} + '@rollup/rollup-linux-ppc64-gnu@4.63.4': + resolution: {integrity: sha512-/5PGpHwqt2EEEOUs1XwzubE/ucr0dWDQ+to3zqi4Ds7EWpwtQ79wXc4JBoxqj/OwpawTsKWzJxHfSuBOq3DrWA==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.63.5': - resolution: {integrity: sha512-oHK4ZHYFDKjZviK34I+NwgfbGxgI7ztrNxj2hPTSSNFgeq1a/lEd7dHV2fdGAuTH4Iym3RHJg+vAbWaWG4B7Zg==} + '@rollup/rollup-linux-ppc64-musl@4.63.4': + resolution: {integrity: sha512-cX3beZDLWt7G2oJF+nhChiT+qtaihs+S2xi7ziGmVB+2pwPng6D0Ed0HmElQOgv2UsUmSJJLGwpBao/3TDx3VA==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.63.5': - resolution: {integrity: sha512-UcetmHZ6XOXuUByiKZyQmb55ZPr0LABr3Ec/HB9wKZn6CEAFWZkE+hsJErJ9hbPBC7nI0dKuELx7CoV6IM7TMg==} + '@rollup/rollup-linux-riscv64-gnu@4.63.4': + resolution: {integrity: sha512-1uz2mGWHyptR7DgHHrlbdRAjXK7v7elGZ9lMja910/RP+ZYbX6xAmCiU9UZSX4hqmgtHMv6lr5l3kq1HIOpcag==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.63.5': - resolution: {integrity: sha512-C5CmDPQBtvjVo8cgQsBs+w6WB0JLkiixhgi6hVLV11hERWdn/p0XcPU2OUcZzac9BPOFq7SbaHFa8r3SWEysCQ==} + '@rollup/rollup-linux-riscv64-musl@4.63.4': + resolution: {integrity: sha512-nLS8topojxyz7SRpKR2IODRpQ0XPZ+xaOXvT3+hqK/Uy8Lo5HFgkkIBiIrCu5tL5YqzTvgovGw55PwpahTAGig==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.63.5': - resolution: {integrity: sha512-lHVQHJFKsuuxLMi3MQO9XVL8Tje3JR82CzB+QDKC5NWBcsIWuwsn9uIM5e3lBhI+fF1/s63qnyYqsg65+8rV/w==} + '@rollup/rollup-linux-s390x-gnu@4.63.4': + resolution: {integrity: sha512-gs7DRKotr3l3q+jGPQBjH0ng1FjlEDm5ueQrkw5JtQvtLyEIcLASqAEaor56BhkKRzk+IcQzrcanBdb/bBQn8g==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.63.5': - resolution: {integrity: sha512-3W9bTFcQNJn71cSJVM9RKIiZOy8DO/XLDii8Uv/Pm6WKqDRj7JV3ZfuXIEfyuy5LXpIzAbB/1M4Ukp9GKNa7nA==} + '@rollup/rollup-linux-x64-gnu@4.63.4': + resolution: {integrity: sha512-791ET7W17NnScOZM7h4dX5hYspxE28htPFsb1awY/NRR8+PRNkS53e475rDdxXXDrP+kwnCcNWg9CX5ztn/Aqw==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.63.5': - resolution: {integrity: sha512-VDC7rRJlee/scpki96GZ27Omf6yU87s1YXwVTpjE5841faVlDYYT565rgfmoR1U0sqL7z5ivQSDjcsF6VRXyBA==} + '@rollup/rollup-linux-x64-musl@4.63.4': + resolution: {integrity: sha512-iwZQRcmj7g88g3tzefIrQY7qvmuA/cfYwhrDtTBhsmukO4U2huVO5W+86XacUMRvdSFVAc6kZUZy21JaRwiB9w==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.63.5': - resolution: {integrity: sha512-z86Ok2p4pTdv5xqCKZsTooO7yBEiaJR/HzU3Wx8RmWsPoLppnMKROhJusQob8B3IE1ghC343kUW9rC2r+Wf3ig==} + '@rollup/rollup-openbsd-x64@4.63.4': + resolution: {integrity: sha512-dVHFp9gRWrdTpnqQuGfCwd7hOQDatK1VCP2iWhLY/cGrOQs/ucFzJ6A5SRqbXX12ZDI8EUuejSM5kwg+ja7Png==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.63.5': - resolution: {integrity: sha512-IzQmj+xXwQFGhMAMKMQVXkMwMZN3TqkJgAE0nSsqvVwWWciP4AIPMmWRqOQ2GfX7TUDZr+xqGFcBS36CRPGw0g==} + '@rollup/rollup-openharmony-arm64@4.63.4': + resolution: {integrity: sha512-t3NlauOW6gxZVVFcBEnO62Cb4wbyDFL416gTg1uFI/2tgqYQlf69FbSE115Ajre9I+c26Lk4mcmdFUsS/DGifQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.63.5': - resolution: {integrity: sha512-F6qpTaPc9bwBH85kjy0/BLmLSW1uv7AoOXCoRIkg2arlgCYlWYcAbiMkvZuAcaWk9TpCRG//okznLAqLGshkMw==} + '@rollup/rollup-win32-arm64-msvc@4.63.4': + resolution: {integrity: sha512-xWuIaSye5FWZF8+UYtVEcHtRJDN5kN9Kfgxx3Kq8XIov9KSKbc1fiqQCm90SKrgQbUXZelbnUhnlUJmfSE7P9A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.63.5': - resolution: {integrity: sha512-igoDsTFhhwECBeGbUuLeIk7t8Y1apa+cs6mDWpx2EZ0ch7oEQgzHbFUXN9euoHekCAQzXdXApAGkV6jznS7tWw==} + '@rollup/rollup-win32-ia32-msvc@4.63.4': + resolution: {integrity: sha512-9ALJJUOg/ZflMJepVo2PlgsGxSaxN7SQ4Z8GoZfVlarWr6r3rkHUNsd/zAio7p4YMtChSMXPionxej4Hkf6CXQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.63.5': - resolution: {integrity: sha512-U3teMeMbXFmaM5D+OTJpsOXd+wV/qftIeYF9kBKL4v73641qyJmoXFtA28DQLsnmlyayEsTe72xpLHrArq6vHw==} + '@rollup/rollup-win32-x64-gnu@4.63.4': + resolution: {integrity: sha512-blj9z5qx/Pv4WU0W1NMFDB97e0JH5ed+aZGywW8WCvp/NhWX/4PFAq5uu6Q0AebNn+Vo6KzUYDT++JzTT5ojlQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.63.5': - resolution: {integrity: sha512-ypfC34F3RKXvCXBglGqGMsUSMKlgwd1HX9AOAlx9RoZZ6GaI42YHVeKpzg3JG+wpBUJYTG+NNZhqbDWL8tBZkw==} + '@rollup/rollup-win32-x64-msvc@4.63.4': + resolution: {integrity: sha512-Erx822VRBwLa124shbj+wNXe//BOgMEctDV0m1aqTQdNO1S69DgNUCFKC1RCeZfixs1J31l6igk1ziyXErbigQ==} cpu: [x64] os: [win32] @@ -925,8 +925,8 @@ packages: resolution: {integrity: sha512-N3hzlq2xr6IYkkgj0tC4j0U3LWVshr5U/DAvmD5Bu8bW1ne2XOwxOx3ps6Y3NbptBAlzDrezmeJevlZR4AqsLA==} engines: {node: '>=22.0.0'} - '@supabase/middleware@0.6.0': - resolution: {integrity: sha512-0uMdGQLGz7KOxnqYgHaj5ZRjeB8mzqUrkKWjJhdQPns5vJ8bVVyJQ9wOwLaJgxFHO/q0rfPtLisff7DH/nBJeA==} + '@supabase/middleware@1.0.0': + resolution: {integrity: sha512-ecA+z/o5E9sB+quuupGt8d7QjrnD4BBwZr+Qthm0uj6CtL/+yvAUTDlknhGuTbUidvx5CxBHJ1R3H96UjDpgyg==} engines: {node: '>=22'} peerDependencies: typescript: '>=5.4' @@ -2786,8 +2786,8 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.63.5: - resolution: {integrity: sha512-KRWwmNLlPw5M7HcdYfm15oBv9n9LPtjzpzCIxS/phwqvPyxHSoKX6Y2YU3pxSPfy0CLquVgsx/j/hBi6OvH1Nw==} + rollup@4.63.4: + resolution: {integrity: sha512-4U0liVayNIoLp3GFl1FcI8561WepLnZ1rqfraGh7S9B3Ur5F9S283y8Futii7RUU2C/97tOBmBy7nYvhoiOpbQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3941,87 +3941,87 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@rollup/pluginutils@5.3.0(rollup@4.63.5)': + '@rollup/pluginutils@5.3.0(rollup@4.63.4)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.7 optionalDependencies: - rollup: 4.63.5 + rollup: 4.63.4 - '@rollup/rollup-android-arm-eabi@4.63.5': + '@rollup/rollup-android-arm-eabi@4.63.4': optional: true - '@rollup/rollup-android-arm64@4.63.5': + '@rollup/rollup-android-arm64@4.63.4': optional: true - '@rollup/rollup-darwin-arm64@4.63.5': + '@rollup/rollup-darwin-arm64@4.63.4': optional: true - '@rollup/rollup-darwin-x64@4.63.5': + '@rollup/rollup-darwin-x64@4.63.4': optional: true - '@rollup/rollup-freebsd-arm64@4.63.5': + '@rollup/rollup-freebsd-arm64@4.63.4': optional: true - '@rollup/rollup-freebsd-x64@4.63.5': + '@rollup/rollup-freebsd-x64@4.63.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.63.5': + '@rollup/rollup-linux-arm-gnueabihf@4.63.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.63.5': + '@rollup/rollup-linux-arm-musleabihf@4.63.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.63.5': + '@rollup/rollup-linux-arm64-gnu@4.63.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.63.5': + '@rollup/rollup-linux-arm64-musl@4.63.4': optional: true - '@rollup/rollup-linux-loong64-gnu@4.63.5': + '@rollup/rollup-linux-loong64-gnu@4.63.4': optional: true - '@rollup/rollup-linux-loong64-musl@4.63.5': + '@rollup/rollup-linux-loong64-musl@4.63.4': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.63.5': + '@rollup/rollup-linux-ppc64-gnu@4.63.4': optional: true - '@rollup/rollup-linux-ppc64-musl@4.63.5': + '@rollup/rollup-linux-ppc64-musl@4.63.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.63.5': + '@rollup/rollup-linux-riscv64-gnu@4.63.4': optional: true - '@rollup/rollup-linux-riscv64-musl@4.63.5': + '@rollup/rollup-linux-riscv64-musl@4.63.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.63.5': + '@rollup/rollup-linux-s390x-gnu@4.63.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.63.5': + '@rollup/rollup-linux-x64-gnu@4.63.4': optional: true - '@rollup/rollup-linux-x64-musl@4.63.5': + '@rollup/rollup-linux-x64-musl@4.63.4': optional: true - '@rollup/rollup-openbsd-x64@4.63.5': + '@rollup/rollup-openbsd-x64@4.63.4': optional: true - '@rollup/rollup-openharmony-arm64@4.63.5': + '@rollup/rollup-openharmony-arm64@4.63.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.63.5': + '@rollup/rollup-win32-arm64-msvc@4.63.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.63.5': + '@rollup/rollup-win32-ia32-msvc@4.63.4': optional: true - '@rollup/rollup-win32-x64-gnu@4.63.5': + '@rollup/rollup-win32-x64-gnu@4.63.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.63.5': + '@rollup/rollup-win32-x64-msvc@4.63.4': optional: true '@shikijs/engine-oniguruma@3.23.0': @@ -4056,7 +4056,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@supabase/middleware@0.6.0(typescript@5.9.3)': + '@supabase/middleware@1.0.0(typescript@5.9.3)': dependencies: std-env: 4.2.0 optionalDependencies: @@ -4165,14 +4165,14 @@ snapshots: react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - '@tanstack/react-start-rsc@0.1.55(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': + '@tanstack/react-start-rsc@0.1.55(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': dependencies: '@tanstack/react-router': 1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-core': 1.171.32 '@tanstack/router-utils': 1.162.3 '@tanstack/start-client-core': 1.170.32 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-plugin-core': 1.171.46(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) + '@tanstack/start-plugin-core': 1.171.46(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) '@tanstack/start-storage-context': 1.167.34 pathe: 2.0.3 react: 19.3.0 @@ -4201,15 +4201,15 @@ snapshots: transitivePeerDependencies: - crossws - '@tanstack/react-start@1.168.56(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': + '@tanstack/react-start@1.168.56(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': dependencies: '@tanstack/react-router': 1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start-client': 1.168.36(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-rsc': 0.1.55(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) + '@tanstack/react-start-rsc': 0.1.55(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) '@tanstack/react-start-server': 1.167.43(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-utils': 1.162.3 '@tanstack/start-client-core': 1.170.32 - '@tanstack/start-plugin-core': 1.171.46(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) + '@tanstack/start-plugin-core': 1.171.46(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) '@tanstack/start-server-core': 1.169.37 pathe: 2.0.3 react: 19.3.0 @@ -4257,7 +4257,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.40(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': + '@tanstack/router-plugin@1.168.40(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': dependencies: '@babel/core': 7.29.7 '@babel/template': 7.29.7 @@ -4266,7 +4266,7 @@ snapshots: '@tanstack/router-generator': 1.167.38 '@tanstack/router-utils': 1.162.3 chokidar: 5.0.0 - unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) zod: 4.6.5 optionalDependencies: '@tanstack/react-router': 1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -4303,7 +4303,7 @@ snapshots: '@tanstack/start-fn-stubs@1.162.0': {} - '@tanstack/start-plugin-core@1.171.46(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': + '@tanstack/start-plugin-core@1.171.46(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3))': dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7 @@ -4311,7 +4311,7 @@ snapshots: '@jridgewell/remapping': 2.3.5 '@tanstack/router-core': 1.171.32 '@tanstack/router-generator': 1.167.38 - '@tanstack/router-plugin': 1.168.40(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) + '@tanstack/router-plugin': 1.168.40(@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)) '@tanstack/router-utils': 1.162.3 '@tanstack/start-server-core': 1.169.37 exsolve: 1.1.1 @@ -5840,36 +5840,36 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.4 '@rolldown/binding-win32-x64-msvc': 1.2.4 - rollup@4.63.5: + rollup@4.63.4: dependencies: '@types/estree': 1.0.9 optionalDependencies: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 - '@rollup/rollup-android-arm-eabi': 4.63.5 - '@rollup/rollup-android-arm64': 4.63.5 - '@rollup/rollup-darwin-arm64': 4.63.5 - '@rollup/rollup-darwin-x64': 4.63.5 - '@rollup/rollup-freebsd-arm64': 4.63.5 - '@rollup/rollup-freebsd-x64': 4.63.5 - '@rollup/rollup-linux-arm-gnueabihf': 4.63.5 - '@rollup/rollup-linux-arm-musleabihf': 4.63.5 - '@rollup/rollup-linux-arm64-gnu': 4.63.5 - '@rollup/rollup-linux-arm64-musl': 4.63.5 - '@rollup/rollup-linux-loong64-gnu': 4.63.5 - '@rollup/rollup-linux-loong64-musl': 4.63.5 - '@rollup/rollup-linux-ppc64-gnu': 4.63.5 - '@rollup/rollup-linux-ppc64-musl': 4.63.5 - '@rollup/rollup-linux-riscv64-gnu': 4.63.5 - '@rollup/rollup-linux-riscv64-musl': 4.63.5 - '@rollup/rollup-linux-s390x-gnu': 4.63.5 - '@rollup/rollup-linux-x64-gnu': 4.63.5 - '@rollup/rollup-linux-x64-musl': 4.63.5 - '@rollup/rollup-openbsd-x64': 4.63.5 - '@rollup/rollup-openharmony-arm64': 4.63.5 - '@rollup/rollup-win32-arm64-msvc': 4.63.5 - '@rollup/rollup-win32-ia32-msvc': 4.63.5 - '@rollup/rollup-win32-x64-gnu': 4.63.5 - '@rollup/rollup-win32-x64-msvc': 4.63.5 + '@rollup/rollup-android-arm-eabi': 4.63.4 + '@rollup/rollup-android-arm64': 4.63.4 + '@rollup/rollup-darwin-arm64': 4.63.4 + '@rollup/rollup-darwin-x64': 4.63.4 + '@rollup/rollup-freebsd-arm64': 4.63.4 + '@rollup/rollup-freebsd-x64': 4.63.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.63.4 + '@rollup/rollup-linux-arm-musleabihf': 4.63.4 + '@rollup/rollup-linux-arm64-gnu': 4.63.4 + '@rollup/rollup-linux-arm64-musl': 4.63.4 + '@rollup/rollup-linux-loong64-gnu': 4.63.4 + '@rollup/rollup-linux-loong64-musl': 4.63.4 + '@rollup/rollup-linux-ppc64-gnu': 4.63.4 + '@rollup/rollup-linux-ppc64-musl': 4.63.4 + '@rollup/rollup-linux-riscv64-gnu': 4.63.4 + '@rollup/rollup-linux-riscv64-musl': 4.63.4 + '@rollup/rollup-linux-s390x-gnu': 4.63.4 + '@rollup/rollup-linux-x64-gnu': 4.63.4 + '@rollup/rollup-linux-x64-musl': 4.63.4 + '@rollup/rollup-openbsd-x64': 4.63.4 + '@rollup/rollup-openharmony-arm64': 4.63.4 + '@rollup/rollup-win32-arm64-msvc': 4.63.4 + '@rollup/rollup-win32-ia32-msvc': 4.63.4 + '@rollup/rollup-win32-x64-gnu': 4.63.4 + '@rollup/rollup-win32-x64-msvc': 4.63.4 fsevents: 2.3.3 rou3@0.8.1: {} @@ -6189,9 +6189,9 @@ snapshots: unpipe@1.0.0: {} - unplugin-swc@1.5.9(@swc/core@1.15.33)(rollup@4.63.5): + unplugin-swc@1.5.9(@swc/core@1.15.33)(rollup@4.63.4): dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.63.5) + '@rollup/pluginutils': 5.3.0(rollup@4.63.4) '@swc/core': 1.15.33 load-tsconfig: 0.2.5 unplugin: 2.3.11 @@ -6205,7 +6205,7 @@ snapshots: picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 - unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.5)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)): + unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.4)(rollup@4.63.4)(vite@7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 @@ -6213,7 +6213,7 @@ snapshots: optionalDependencies: esbuild: 0.28.2 rolldown: 1.2.4 - rollup: 4.63.5 + rollup: 4.63.4 vite: 7.3.2(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(yaml@2.8.3) update-browserslist-db@1.3.3(browserslist@4.29.0): @@ -6244,7 +6244,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 postcss: 8.5.28 - rollup: 4.63.5 + rollup: 4.63.4 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.0.1