diff --git a/demo/expo-example/components.json b/demo/expo-example/components.json
index 78d20a54..044a9568 100644
--- a/demo/expo-example/components.json
+++ b/demo/expo-example/components.json
@@ -1,6 +1,6 @@
{
- "aliases": {
- "components": "@/components",
- "lib": "@/lib"
- }
+ "aliases": {
+ "components": "@/components",
+ "lib": "@/lib"
+ }
}
diff --git a/demo/nextjs/components/sign-in.tsx b/demo/nextjs/components/sign-in.tsx
index d8382b3f..f80d174c 100644
--- a/demo/nextjs/components/sign-in.tsx
+++ b/demo/nextjs/components/sign-in.tsx
@@ -103,19 +103,20 @@ export default function SignIn() {
toast.success("Successfully signed in");
router.push(getCallbackURL(params));
},
+ onError(context) {
+ toast.error(context.error.message);
+ },
},
);
});
}}
>
-
-
- {loading ? (
-
- ) : (
- "Login"
- )}
-
+
+ {loading ? (
+
+ ) : (
+ "Login"
+ )}
{client.isLastUsedLoginMethod("email") && }
diff --git a/demo/nextjs/components/ui/calendar.tsx b/demo/nextjs/components/ui/calendar.tsx
index 73d5432f..8dddff6f 100644
--- a/demo/nextjs/components/ui/calendar.tsx
+++ b/demo/nextjs/components/ui/calendar.tsx
@@ -1,7 +1,6 @@
"use client";
import * as React from "react";
-import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons";
import { DayPicker } from "react-day-picker";
import { cn } from "@/lib/utils";
@@ -59,10 +58,6 @@ function Calendar({
day_hidden: "invisible",
...classNames,
}}
- components={{
- IconLeft: ({ ...props }) =>
,
- IconRight: ({ ...props }) =>
,
- }}
{...props}
/>
);
diff --git a/docs/app/blog/_components/support.tsx b/docs/app/blog/_components/support.tsx
index 84293b62..15fb584d 100644
--- a/docs/app/blog/_components/support.tsx
+++ b/docs/app/blog/_components/support.tsx
@@ -19,11 +19,9 @@ import {
SelectValue,
} from "@/components/ui/select";
import { Textarea } from "@/components/ui/textarea";
-import { Callout } from "@/components/ui/callout";
import * as React from "react";
import {
Card,
- CardContent,
CardDescription,
CardFooter,
CardHeader,
diff --git a/docs/components/ui/calendar.tsx b/docs/components/ui/calendar.tsx
index c94ef6ec..fc9e54ec 100644
--- a/docs/components/ui/calendar.tsx
+++ b/docs/components/ui/calendar.tsx
@@ -1,7 +1,6 @@
"use client";
import * as React from "react";
-import { ChevronLeft, ChevronRight } from "lucide-react";
import { DayPicker } from "react-day-picker";
import { cn } from "@/lib/utils";
@@ -59,14 +58,6 @@ function Calendar({
day_hidden: "invisible",
...classNames,
}}
- components={{
- IconLeft: ({ className, ...props }) => (
-
- ),
- IconRight: ({ className, ...props }) => (
-
- ),
- }}
{...props}
/>
);
diff --git a/e2e/smoke/tsconfig.json b/e2e/smoke/tsconfig.json
index 865dd2b4..8b92a7c8 100644
--- a/e2e/smoke/tsconfig.json
+++ b/e2e/smoke/tsconfig.json
@@ -2,12 +2,12 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"target": "esnext",
- "module": "esnext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
- "moduleResolution": "node16"
+ "moduleResolution": "node16",
+ "module": "Node16"
},
"include": ["./test/**/*"]
}
diff --git a/package.json b/package.json
index f8f4ccae..68bac164 100644
--- a/package.json
+++ b/package.json
@@ -19,15 +19,17 @@
"test": "turbo --filter \"./packages/*\" test",
"e2e:smoke": "turbo --filter \"./e2e/*\" e2e:smoke",
"e2e:integration": "turbo --filter \"./e2e/*\" e2e:integration",
- "typecheck": "tsc -b --verbose --diagnostics"
+ "typecheck": "turbo --filter \"./packages/*\" typecheck"
},
"devDependencies": {
"@biomejs/biome": "2.2.4",
+ "@types/bun": "^1.2.20",
"@types/node": "^24.4.0",
"bumpp": "^10.2.3",
"tinyglobby": "^0.2.15",
"turbo": "^2.5.6",
"typescript": "catalog:",
+ "unbuild": "catalog:",
"vitest": "catalog:"
},
"resolutions": {
diff --git a/packages/better-auth/CHANGELOG.md b/packages/better-auth/CHANGELOG.md
deleted file mode 100644
index ad7ec087..00000000
--- a/packages/better-auth/CHANGELOG.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# better-auth
-
-## 1.3.4
-
-### Patch Changes
-
-- 2bd2fa9: Added support for listing organization members with pagination, sorting, and filtering, and improved client inference for additional organization fields. Also fixed date handling in rate limits and tokens, improved Notion OAuth user extraction, and ensured session is always set in context.
-
- Organization
-
- - Added listMembers API with pagination, sorting, and filtering.
- - Added membersLimit param to getFullOrganization.
- - Improved client inference for additional fields in organization schemas.
- - Bug Fixes
- - Fixed date handling by casting DB values to Date objects before using date methods.
- - Fixed Notion OAuth to extract user info correctly.
- - Ensured session is set in context when reading from cookie cach
diff --git a/packages/better-auth/src/db/internal-adapter.ts b/packages/better-auth/src/db/internal-adapter.ts
index 43083c41..05a35b6a 100644
--- a/packages/better-auth/src/db/internal-adapter.ts
+++ b/packages/better-auth/src/db/internal-adapter.ts
@@ -69,42 +69,7 @@ export const createInternalAdapter = (
session: parsed.session,
user,
}),
- sessionTTL,
- );
- }),
- );
- }
-
- async function refreshUserSessions(user: User) {
- if (!secondaryStorage) return;
-
- const listRaw = await secondaryStorage.get(`active-sessions-${user.id}`);
- if (!listRaw) return;
-
- const now = Date.now();
- const list =
- safeJSONParse<{ token: string; expiresAt: number }[]>(listRaw) || [];
- const validSessions = list.filter((s) => s.expiresAt > now);
-
- await Promise.all(
- validSessions.map(async ({ token }) => {
- const cached = await secondaryStorage.get(token);
- if (!cached) return;
- const parsed = safeJSONParse<{ session: Session; user: User }>(cached);
- if (!parsed) return;
-
- const sessionTTL = Math.max(
- Math.floor(new Date(parsed.session.expiresAt).getTime() - now) / 1000,
- 0,
- );
-
- await secondaryStorage.set(
- token,
- JSON.stringify({
- session: parsed.session,
- user,
- }),
- sessionTTL,
+ Math.floor(sessionTTL),
);
}),
);
diff --git a/packages/better-auth/src/oauth2/link-account.test.ts b/packages/better-auth/src/oauth2/link-account.test.ts
index 9a84bbf7..983cceba 100644
--- a/packages/better-auth/src/oauth2/link-account.test.ts
+++ b/packages/better-auth/src/oauth2/link-account.test.ts
@@ -1,6 +1,5 @@
import { describe, expect, it, vi } from "vitest";
import { getTestInstance } from "../test-utils/test-instance";
-import { parseSetCookieHeader } from "../cookies";
import type { GoogleProfile } from "../social-providers";
import { DEFAULT_SECRET } from "../utils/constants";
import { getOAuth2Tokens } from "../oauth2";
@@ -43,7 +42,7 @@ vi.mock("../oauth2", async (importOriginal) => {
});
describe("oauth2 - email verification on link", async () => {
- const { auth, client } = await getTestInstance({
+ const { auth, client, cookieSetter } = await getTestInstance({
socialProviders: {
google: {
clientId: "test",
@@ -66,25 +65,19 @@ describe("oauth2 - email verification on link", async () => {
const ctx = await auth.$context;
async function linkGoogleAccount() {
+ const oAuthHeaders = new Headers();
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/",
+ fetchOptions: {
+ onSuccess: cookieSetter(oAuthHeaders),
+ },
});
-
const state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
- const headers = new Headers();
- const cookies = parseSetCookieHeader(
- (signInRes as any).headers?.["set-cookie"] || "",
- );
- headers.set(
- "cookie",
- `better-auth.state=${cookies.get("better-auth.state")?.value}`,
- );
-
await client.$fetch("/callback/google", {
query: { state, code: "test_code" },
method: "GET",
- headers,
+ headers: oAuthHeaders,
onError(context) {
expect(context.response.status).toBe(302);
},
diff --git a/packages/better-auth/src/plugins/admin/admin.test.ts b/packages/better-auth/src/plugins/admin/admin.test.ts
index ee32a7c8..aedf0cec 100644
--- a/packages/better-auth/src/plugins/admin/admin.test.ts
+++ b/packages/better-auth/src/plugins/admin/admin.test.ts
@@ -461,12 +461,14 @@ describe("Admin plugin", async () => {
});
it("should not allow banned user to sign in with social provider", async () => {
+ const headers = new Headers();
const res = await client.signIn.social(
{
provider: "google",
},
{
throw: true,
+ onSuccess: cookieSetter(headers),
},
);
const state = new URL(res.url!).searchParams.get("state");
@@ -476,6 +478,7 @@ describe("Admin plugin", async () => {
state,
code: "test",
},
+ headers,
method: "GET",
onError(context) {
expect(context.response.status).toBe(302);
diff --git a/packages/better-auth/src/plugins/anonymous/anon.test.ts b/packages/better-auth/src/plugins/anonymous/anon.test.ts
index b5630ee5..00945a7e 100644
--- a/packages/better-auth/src/plugins/anonymous/anon.test.ts
+++ b/packages/better-auth/src/plugins/anonymous/anon.test.ts
@@ -45,7 +45,7 @@ vi.mock("../../oauth2", async (importOriginal) => {
describe("anonymous", async () => {
const linkAccountFn = vi.fn();
- const { customFetchImpl, auth, sessionSetter, testUser } =
+ const { customFetchImpl, auth, sessionSetter, testUser, cookieSetter } =
await getTestInstance({
plugins: [
anonymous({
@@ -114,9 +114,13 @@ describe("anonymous", async () => {
headers,
},
});
+
const singInRes = await client.signIn.social({
provider: "google",
callbackURL: "/dashboard",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
const state = new URL(singInRes.data?.url || "").searchParams.get("state");
await client.$fetch("/callback/google", {
diff --git a/packages/better-auth/src/plugins/email-otp/email-otp.test.ts b/packages/better-auth/src/plugins/email-otp/email-otp.test.ts
index 0457cac7..70e39824 100644
--- a/packages/better-auth/src/plugins/email-otp/email-otp.test.ts
+++ b/packages/better-auth/src/plugins/email-otp/email-otp.test.ts
@@ -225,7 +225,7 @@ describe("email-otp", async () => {
type: "email-verification",
});
vi.useFakeTimers();
- await vi.advanceTimersByTimeAsync(1000 * 60 * 5);
+ await vi.advanceTimersByTimeAsync(1000 * 60 * 6);
const res = await client.emailOtp.verifyEmail({
email: testUser.email,
otp,
diff --git a/packages/better-auth/src/plugins/generic-oauth/generic-oauth.test.ts b/packages/better-auth/src/plugins/generic-oauth/generic-oauth.test.ts
index 14b659dc..72aa8bf8 100644
--- a/packages/better-auth/src/plugins/generic-oauth/generic-oauth.test.ts
+++ b/packages/better-auth/src/plugins/generic-oauth/generic-oauth.test.ts
@@ -20,7 +20,7 @@ describe("oauth2", async () => {
await server.stop();
});
- const { customFetchImpl, auth } = await getTestInstance({
+ const { customFetchImpl, auth, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -88,10 +88,7 @@ describe("oauth2", async () => {
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
- newHeaders.set(
- "cookie",
- context.response.headers.get("Set-Cookie") || "",
- );
+ cookieSetter(newHeaders)(context);
},
});
@@ -104,6 +101,9 @@ describe("oauth2", async () => {
providerId: "test",
callbackURL: "http://localhost:3000/dashboard",
newUserCallbackURL: "http://localhost:3000/new_user",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining(`http://localhost:${port}/authorize`),
@@ -133,6 +133,9 @@ describe("oauth2", async () => {
providerId: "test",
callbackURL: "http://localhost:3000/dashboard",
newUserCallbackURL: "http://localhost:3000/new_user",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining(`http://localhost:${port}/authorize`),
@@ -148,7 +151,7 @@ describe("oauth2", async () => {
headers: newHeaders,
},
});
-
+ console.log(session.data, newHeaders);
const ctx = await auth.$context;
const accounts = await ctx.internalAdapter.findAccounts(
session.data?.user.id!,
@@ -173,6 +176,9 @@ describe("oauth2", async () => {
providerId: "test",
callbackURL: "http://localhost:3000/dashboard",
newUserCallbackURL: "http://localhost:3000/new_user",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
const { callbackURL } = await simulateOAuthFlow(
res.data?.url || "",
@@ -250,12 +256,13 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
@@ -263,9 +270,11 @@ describe("oauth2", async () => {
providerId: "test2",
callbackURL: "http://localhost:3000/dashboard",
newUserCallbackURL: "http://localhost:3000/new_user",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(res.data?.url).toContain(`http://localhost:${port}/authorize`);
- const headers = new Headers();
const { callbackURL } = await simulateOAuthFlow(
res.data?.url || "",
headers,
@@ -286,7 +295,7 @@ describe("oauth2", async () => {
userInfoResponse.statusCode = 200;
});
- const { customFetchImpl } = await getTestInstance({
+ const { customFetchImpl, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -302,7 +311,6 @@ describe("oauth2", async () => {
}),
],
});
-
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
@@ -310,14 +318,16 @@ describe("oauth2", async () => {
customFetchImpl,
},
});
-
+ const headers = new Headers();
const res = await authClient.signIn.oauth2({
providerId: "test2",
callbackURL: "http://localhost:3000/dashboard",
errorCallbackURL: "http://localhost:3000/error",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(res.data?.url).toContain(`http://localhost:${port}/authorize`);
- const headers = new Headers();
const { callbackURL } = await simulateOAuthFlow(
res.data?.url || "",
headers,
@@ -340,7 +350,7 @@ describe("oauth2", async () => {
userInfoResponse.statusCode = 200;
});
- const { customFetchImpl } = await getTestInstance({
+ const { customFetchImpl, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -364,15 +374,17 @@ describe("oauth2", async () => {
customFetchImpl,
},
});
-
+ const headers = new Headers();
const res = await authClient.signIn.oauth2({
providerId: "test2",
callbackURL: "http://localhost:3000/dashboard",
errorCallbackURL: "http://localhost:3000/error",
requestSignUp: true,
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(res.data?.url).toContain(`http://localhost:${port}/authorize`);
- const headers = new Headers();
const { callbackURL } = await simulateOAuthFlow(
res.data?.url || "",
headers,
@@ -391,7 +403,7 @@ describe("oauth2", async () => {
receivedHeaders = req.headers as Record
;
});
- const { customFetchImpl } = await getTestInstance({
+ const { customFetchImpl, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -407,12 +419,13 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
@@ -420,10 +433,12 @@ describe("oauth2", async () => {
providerId: "test3",
callbackURL: "http://localhost:3000/dashboard",
newUserCallbackURL: "http://localhost:3000/new_user",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(res.data?.url).toContain(`http://localhost:${port}/authorize`);
- const headers = new Headers();
await simulateOAuthFlow(res.data?.url || "", headers, customFetchImpl);
expect(receivedHeaders).toHaveProperty("x-custom-header");
@@ -432,7 +447,7 @@ describe("oauth2", async () => {
it("should delete oauth user with verification flow without password", async () => {
let token = "";
- const { customFetchImpl } = await getTestInstance({
+ const { customFetchImpl, cookieSetter } = await getTestInstance({
user: {
deleteUser: {
enabled: true,
@@ -454,18 +469,22 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const client = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
const signInRes = await client.signIn.oauth2({
providerId: "test",
callbackURL: "http://localhost:3000/dashboard",
newUserCallbackURL: "http://localhost:3000/new_user",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
@@ -473,22 +492,22 @@ describe("oauth2", async () => {
redirect: true,
});
- const { headers } = await simulateOAuthFlow(
+ const { headers: newHeaders } = await simulateOAuthFlow(
signInRes.data?.url || "",
- new Headers(),
+ headers,
customFetchImpl,
);
const session = await client.getSession({
fetchOptions: {
- headers,
+ headers: newHeaders,
},
});
expect(session.data).not.toBeNull();
const deleteRes = await client.deleteUser({
fetchOptions: {
- headers,
+ headers: newHeaders,
},
});
@@ -501,7 +520,7 @@ describe("oauth2", async () => {
const deleteCallbackRes = await client.deleteUser({
token,
fetchOptions: {
- headers,
+ headers: newHeaders,
},
});
expect(deleteCallbackRes.data).toMatchObject({
@@ -530,7 +549,7 @@ describe("oauth2", async () => {
userInfoResponse.statusCode = 200;
});
- const { customFetchImpl, auth } = await getTestInstance({
+ const { customFetchImpl, auth, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -545,12 +564,13 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
@@ -563,7 +583,7 @@ describe("oauth2", async () => {
const { callbackURL: firstCallbackURL, headers: firstHeaders } =
await simulateOAuthFlow(
firstSignIn.data?.url || "",
- new Headers(),
+ headers,
customFetchImpl,
);
@@ -606,7 +626,7 @@ describe("oauth2", async () => {
const { callbackURL: secondCallbackURL, headers: secondHeaders } =
await simulateOAuthFlow(
secondSignIn.data?.url || "",
- new Headers(),
+ headers,
customFetchImpl,
);
@@ -629,7 +649,7 @@ describe("oauth2", async () => {
it("should handle custom getUserInfo returning numeric ID", async () => {
const numericId = 987654321;
- const { customFetchImpl, auth } = await getTestInstance({
+ const { customFetchImpl, auth, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -654,12 +674,13 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
@@ -669,9 +690,9 @@ describe("oauth2", async () => {
newUserCallbackURL: "http://localhost:3000/new_user",
});
- const { callbackURL, headers } = await simulateOAuthFlow(
+ const { callbackURL, headers: newHeaders } = await simulateOAuthFlow(
signInRes.data?.url || "",
- new Headers(),
+ headers,
customFetchImpl,
);
@@ -679,7 +700,7 @@ describe("oauth2", async () => {
const session = await authClient.getSession({
fetchOptions: {
- headers,
+ headers: newHeaders,
},
});
@@ -706,7 +727,7 @@ describe("oauth2", async () => {
userInfoResponse.statusCode = 200;
});
- const { customFetchImpl, auth } = await getTestInstance({
+ const { customFetchImpl, auth, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -729,12 +750,13 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
@@ -744,9 +766,9 @@ describe("oauth2", async () => {
newUserCallbackURL: "http://localhost:3000/new_user",
});
- const { callbackURL, headers } = await simulateOAuthFlow(
+ const { callbackURL, headers: newHeaders } = await simulateOAuthFlow(
signInRes.data?.url || "",
- new Headers(),
+ headers,
customFetchImpl,
);
@@ -754,7 +776,7 @@ describe("oauth2", async () => {
const session = await authClient.getSession({
fetchOptions: {
- headers,
+ headers: newHeaders,
},
});
@@ -781,7 +803,7 @@ describe("oauth2", async () => {
userInfoResponse.statusCode = 200;
});
- const { customFetchImpl, auth } = await getTestInstance({
+ const { customFetchImpl, auth, cookieSetter } = await getTestInstance({
plugins: [
genericOAuth({
config: [
@@ -809,12 +831,13 @@ describe("oauth2", async () => {
}),
],
});
-
+ const headers = new Headers();
const authClient = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:3000",
fetchOptions: {
customFetchImpl,
+ onSuccess: cookieSetter(headers),
},
});
@@ -828,9 +851,9 @@ describe("oauth2", async () => {
// we missed the `activity:read_all`
expect(signInRes.data?.url).toContain("scope=read+activity");
- const { callbackURL, headers } = await simulateOAuthFlow(
+ const { callbackURL, headers: newHeaders } = await simulateOAuthFlow(
signInRes.data?.url || "",
- new Headers(),
+ headers,
customFetchImpl,
);
@@ -838,7 +861,7 @@ describe("oauth2", async () => {
const session = await authClient.getSession({
fetchOptions: {
- headers,
+ headers: newHeaders,
},
});
diff --git a/packages/better-auth/src/plugins/last-login-method/last-login-method.test.ts b/packages/better-auth/src/plugins/last-login-method/last-login-method.test.ts
index 61ea9ef6..11298fe9 100644
--- a/packages/better-auth/src/plugins/last-login-method/last-login-method.test.ts
+++ b/packages/better-auth/src/plugins/last-login-method/last-login-method.test.ts
@@ -179,7 +179,7 @@ describe("lastLoginMethod", async () => {
});
it("should update the last login method in the database on subsequent logins with email and OAuth", async () => {
- const { client, auth } = await getTestInstance({
+ const { client, auth, cookieSetter } = await getTestInstance({
plugins: [lastLoginMethod({ storeInDatabase: true })],
account: {
accountLinking: {
@@ -216,9 +216,13 @@ describe("lastLoginMethod", async () => {
await client.signOut();
+ const oAuthHeaders = new Headers();
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
+ fetchOptions: {
+ onSuccess: cookieSetter(oAuthHeaders),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -232,6 +236,7 @@ describe("lastLoginMethod", async () => {
state,
code: "test",
},
+ headers: oAuthHeaders,
method: "GET",
onError(context) {
expect(context.response.status).toBe(302);
diff --git a/packages/better-auth/src/plugins/mcp/mcp.test.ts b/packages/better-auth/src/plugins/mcp/mcp.test.ts
index b372a006..e319cefd 100644
--- a/packages/better-auth/src/plugins/mcp/mcp.test.ts
+++ b/packages/better-auth/src/plugins/mcp/mcp.test.ts
@@ -21,7 +21,7 @@ describe("mcp", async () => {
const baseURL = `http://localhost:${port}`;
await tempServer.close();
- const { auth, signInWithTestUser, customFetchImpl, testUser } =
+ const { auth, signInWithTestUser, customFetchImpl, testUser, cookieSetter } =
await getTestInstance({
baseURL,
plugins: [
@@ -161,28 +161,29 @@ describe("mcp", async () => {
});
it("should authenticate public client with PKCE only", async ({ expect }) => {
- const { customFetchImpl: customFetchImplRP } = await getTestInstance({
- account: {
- accountLinking: {
- trustedProviders: ["test-public"],
+ const { customFetchImpl: customFetchImplRP, cookieSetter } =
+ await getTestInstance({
+ account: {
+ accountLinking: {
+ trustedProviders: ["test-public"],
+ },
},
- },
- plugins: [
- genericOAuth({
- config: [
- {
- providerId: "test-public",
- clientId: publicClient.clientId,
- clientSecret: "", // Public client has no secret
- authorizationUrl: `${baseURL}/api/auth/mcp/authorize`,
- tokenUrl: `${baseURL}/api/auth/mcp/token`,
- scopes: ["openid", "profile", "email"],
- pkce: true,
- },
- ],
- }),
- ],
- });
+ plugins: [
+ genericOAuth({
+ config: [
+ {
+ providerId: "test-public",
+ clientId: publicClient.clientId,
+ clientSecret: "", // Public client has no secret
+ authorizationUrl: `${baseURL}/api/auth/mcp/authorize`,
+ tokenUrl: `${baseURL}/api/auth/mcp/token`,
+ scopes: ["openid", "profile", "email"],
+ pkce: true,
+ },
+ ],
+ }),
+ ],
+ });
const client = createAuthClient({
plugins: [genericOAuthClient()],
@@ -191,7 +192,7 @@ describe("mcp", async () => {
customFetchImpl: customFetchImplRP,
},
});
-
+ const oAuthHeaders = new Headers();
const data = await client.signIn.oauth2(
{
providerId: "test-public",
@@ -199,6 +200,7 @@ describe("mcp", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(oAuthHeaders),
},
);
@@ -220,6 +222,7 @@ describe("mcp", async () => {
let callbackURL = "";
await client.$fetch(redirectURI, {
+ headers: oAuthHeaders,
onError(context: any) {
callbackURL = context.response.headers.get("Location") || "";
},
@@ -254,29 +257,30 @@ describe("mcp", async () => {
it("should still support confidential clients in MCP context", async ({
expect,
}) => {
- const { customFetchImpl: customFetchImplRP } = await getTestInstance({
- account: {
- accountLinking: {
- trustedProviders: ["test-confidential"],
+ const { customFetchImpl: customFetchImplRP, cookieSetter } =
+ await getTestInstance({
+ account: {
+ accountLinking: {
+ trustedProviders: ["test-confidential"],
+ },
},
- },
- plugins: [
- genericOAuth({
- config: [
- {
- providerId: "test-confidential",
- clientId: confidentialClient.clientId,
- clientSecret: confidentialClient.clientSecret || "",
- authorizationUrl: `${baseURL}/api/auth/mcp/authorize`,
- tokenUrl: `${baseURL}/api/auth/mcp/token`,
- scopes: ["openid", "profile", "email"],
- pkce: true,
- },
- ],
- }),
- ],
- });
-
+ plugins: [
+ genericOAuth({
+ config: [
+ {
+ providerId: "test-confidential",
+ clientId: confidentialClient.clientId,
+ clientSecret: confidentialClient.clientSecret || "",
+ authorizationUrl: `${baseURL}/api/auth/mcp/authorize`,
+ tokenUrl: `${baseURL}/api/auth/mcp/token`,
+ scopes: ["openid", "profile", "email"],
+ pkce: true,
+ },
+ ],
+ }),
+ ],
+ });
+ const oAuthHeaders = new Headers();
const client = createAuthClient({
plugins: [genericOAuthClient()],
baseURL: "http://localhost:5001",
@@ -292,6 +296,7 @@ describe("mcp", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(oAuthHeaders),
},
);
@@ -311,6 +316,7 @@ describe("mcp", async () => {
let callbackURL = "";
await client.$fetch(redirectURI, {
+ headers: oAuthHeaders,
onError(context: any) {
callbackURL = context.response.headers.get("Location") || "";
},
diff --git a/packages/better-auth/src/plugins/oauth-proxy/oauth-proxy.test.ts b/packages/better-auth/src/plugins/oauth-proxy/oauth-proxy.test.ts
index 427bcccb..3480916d 100644
--- a/packages/better-auth/src/plugins/oauth-proxy/oauth-proxy.test.ts
+++ b/packages/better-auth/src/plugins/oauth-proxy/oauth-proxy.test.ts
@@ -42,7 +42,7 @@ vi.mock("../../oauth2", async (importOriginal) => {
});
describe("oauth-proxy", async () => {
- const { client } = await getTestInstance({
+ const { client, cookieSetter } = await getTestInstance({
plugins: [
oAuthProxy({
currentURL: "http://preview-localhost:3000",
@@ -57,6 +57,7 @@ describe("oauth-proxy", async () => {
});
it("should redirect to proxy url", async () => {
+ const headers = new Headers();
const res = await client.signIn.social(
{
provider: "google",
@@ -64,10 +65,12 @@ describe("oauth-proxy", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(headers),
},
);
const state = new URL(res.url!).searchParams.get("state");
await client.$fetch(`/callback/google?code=test&state=${state}`, {
+ headers,
onError(context) {
const location = context.response.headers.get("location") ?? "";
if (!location) {
@@ -83,7 +86,7 @@ describe("oauth-proxy", async () => {
});
it("shouldn't redirect to proxy url on same origin", async () => {
- const { client } = await getTestInstance({
+ const { client, cookieSetter } = await getTestInstance({
plugins: [oAuthProxy()],
socialProviders: {
google: {
@@ -92,6 +95,7 @@ describe("oauth-proxy", async () => {
},
},
});
+ const headers = new Headers();
const res = await client.signIn.social(
{
provider: "google",
@@ -99,10 +103,12 @@ describe("oauth-proxy", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(headers),
},
);
const state = new URL(res.url!).searchParams.get("state");
await client.$fetch(`/callback/google?code=test&state=${state}`, {
+ headers,
onError(context) {
const location = context.response.headers.get("location");
if (!location) {
@@ -115,7 +121,7 @@ describe("oauth-proxy", async () => {
});
it("should proxy to the original request url", async () => {
- const { client } = await getTestInstance({
+ const { client, cookieSetter } = await getTestInstance({
baseURL: "https://myapp.com",
plugins: [
oAuthProxy({
@@ -129,6 +135,7 @@ describe("oauth-proxy", async () => {
},
},
});
+ const headers = new Headers();
const res = await client.signIn.social(
{
provider: "google",
@@ -136,10 +143,12 @@ describe("oauth-proxy", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(headers),
},
);
const state = new URL(res.url!).searchParams.get("state");
await client.$fetch(`/callback/google?code=test&state=${state}`, {
+ headers,
onError(context) {
const location = context.response.headers.get("location");
if (!location) {
@@ -155,7 +164,7 @@ describe("oauth-proxy", async () => {
});
it("shouldn't redirect to proxy url on same origin", async () => {
- const { client } = await getTestInstance({
+ const { client, cookieSetter } = await getTestInstance({
baseURL: "https://myapp.com",
plugins: [oAuthProxy()],
socialProviders: {
@@ -165,6 +174,7 @@ describe("oauth-proxy", async () => {
},
},
});
+ const headers = new Headers();
const res = await client.signIn.social(
{
provider: "google",
@@ -172,10 +182,12 @@ describe("oauth-proxy", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(headers),
},
);
const state = new URL(res.url!).searchParams.get("state");
await client.$fetch(`/callback/google?code=test&state=${state}`, {
+ headers,
onError(context) {
const location = context.response.headers.get("location");
if (!location) {
diff --git a/packages/better-auth/src/plugins/oidc-provider/oidc.test.ts b/packages/better-auth/src/plugins/oidc-provider/oidc.test.ts
index 95d69c8e..c57d9c68 100644
--- a/packages/better-auth/src/plugins/oidc-provider/oidc.test.ts
+++ b/packages/better-auth/src/plugins/oidc-provider/oidc.test.ts
@@ -24,6 +24,7 @@ describe("oidc", async () => {
auth: authorizationServer,
signInWithTestUser,
customFetchImpl,
+ cookieSetter,
testUser,
} = await getTestInstance({
baseURL: "http://localhost:3000",
@@ -140,6 +141,7 @@ describe("oidc", async () => {
customFetchImpl: customFetchImplRP,
},
});
+ const headers = new Headers();
const data = await client.signIn.oauth2(
{
providerId: "test",
@@ -147,6 +149,7 @@ describe("oidc", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(headers),
},
);
expect(data.url).toContain(
@@ -167,6 +170,7 @@ describe("oidc", async () => {
let callbackURL = "";
await client.$fetch(redirectURI, {
+ headers,
onError(context) {
callbackURL = context.response.headers.get("Location") || "";
},
@@ -209,6 +213,7 @@ describe("oidc", async () => {
customFetchImpl: customFetchImplRP,
},
});
+ const oAuthHeaders = new Headers();
const data = await client.signIn.oauth2(
{
providerId: "test",
@@ -216,6 +221,7 @@ describe("oidc", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(oAuthHeaders),
},
);
expect(data.url).toContain(
@@ -236,6 +242,8 @@ describe("oidc", async () => {
expect(redirectURI).toContain("/oauth2/authorize?");
expect(redirectURI).toContain("consent_code=");
expect(redirectURI).toContain("client_id=");
+
+ console.log({ newHeaders });
const res = await serverClient.oauth2.consent(
{
accept: true,
@@ -251,6 +259,7 @@ describe("oidc", async () => {
let callbackURL = "";
await client.$fetch(res.redirectURI, {
+ headers: oAuthHeaders,
onError(context) {
callbackURL = context.response.headers.get("Location") || "";
},
@@ -293,6 +302,7 @@ describe("oidc", async () => {
customFetchImpl: customFetchImplRP,
},
});
+ const oAuthHeaders = new Headers();
const data = await client.signIn.oauth2(
{
providerId: "test",
@@ -300,6 +310,7 @@ describe("oidc", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(oAuthHeaders),
},
);
expect(data.url).toContain(
@@ -338,6 +349,7 @@ describe("oidc", async () => {
);
let callbackURL = "";
await client.$fetch(redirectURI, {
+ headers: oAuthHeaders,
onError(context) {
callbackURL = context.response.headers.get("Location") || "";
},
@@ -443,29 +455,30 @@ describe("oidc storage", async () => {
};
}
// The RP (Relying Party) - the client application
- const { customFetchImpl: customFetchImplRP } = await getTestInstance({
- account: {
- accountLinking: {
- trustedProviders: ["test"],
+ const { customFetchImpl: customFetchImplRP, cookieSetter } =
+ await getTestInstance({
+ account: {
+ accountLinking: {
+ trustedProviders: ["test"],
+ },
},
- },
- plugins: [
- genericOAuth({
- config: [
- {
- providerId: "test",
- clientId: application.clientId,
- clientSecret: application.clientSecret || "",
- authorizationUrl:
- "http://localhost:3000/api/auth/oauth2/authorize",
- tokenUrl: "http://localhost:3000/api/auth/oauth2/token",
- scopes: ["openid", "profile", "email"],
- pkce: true,
- },
- ],
- }),
- ],
- });
+ plugins: [
+ genericOAuth({
+ config: [
+ {
+ providerId: "test",
+ clientId: application.clientId,
+ clientSecret: application.clientSecret || "",
+ authorizationUrl:
+ "http://localhost:3000/api/auth/oauth2/authorize",
+ tokenUrl: "http://localhost:3000/api/auth/oauth2/token",
+ scopes: ["openid", "profile", "email"],
+ pkce: true,
+ },
+ ],
+ }),
+ ],
+ });
const client = createAuthClient({
plugins: [genericOAuthClient()],
@@ -474,6 +487,7 @@ describe("oidc storage", async () => {
customFetchImpl: customFetchImplRP,
},
});
+ const oAuthHeaders = new Headers();
const data = await client.signIn.oauth2(
{
providerId: "test",
@@ -481,6 +495,7 @@ describe("oidc storage", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(oAuthHeaders),
},
);
expect(data.url).toContain(
@@ -501,6 +516,7 @@ describe("oidc storage", async () => {
let callbackURL = "";
await client.$fetch(redirectURI, {
+ headers: oAuthHeaders,
onError(context) {
callbackURL = context.response.headers.get("Location") || "";
},
@@ -601,29 +617,30 @@ describe("oidc-jwt", async () => {
}
// The RP (Relying Party) - the client application
- const { customFetchImpl: customFetchImplRP } = await getTestInstance({
- account: {
- accountLinking: {
- trustedProviders: ["test"],
+ const { customFetchImpl: customFetchImplRP, cookieSetter } =
+ await getTestInstance({
+ account: {
+ accountLinking: {
+ trustedProviders: ["test"],
+ },
},
- },
- plugins: [
- genericOAuth({
- config: [
- {
- providerId: "test",
- clientId: application.clientId,
- clientSecret: application.clientSecret || "",
- authorizationUrl:
- "http://localhost:3000/api/auth/oauth2/authorize",
- tokenUrl: "http://localhost:3000/api/auth/oauth2/token",
- scopes: ["openid", "profile", "email"],
- pkce: true,
- },
- ],
- }),
- ],
- });
+ plugins: [
+ genericOAuth({
+ config: [
+ {
+ providerId: "test",
+ clientId: application.clientId,
+ clientSecret: application.clientSecret || "",
+ authorizationUrl:
+ "http://localhost:3000/api/auth/oauth2/authorize",
+ tokenUrl: "http://localhost:3000/api/auth/oauth2/token",
+ scopes: ["openid", "profile", "email"],
+ pkce: true,
+ },
+ ],
+ }),
+ ],
+ });
const client = createAuthClient({
plugins: [genericOAuthClient()],
@@ -632,6 +649,7 @@ describe("oidc-jwt", async () => {
customFetchImpl: customFetchImplRP,
},
});
+ const oAuthHeaders = new Headers();
const data = await client.signIn.oauth2(
{
providerId: "test",
@@ -639,6 +657,7 @@ describe("oidc-jwt", async () => {
},
{
throw: true,
+ onSuccess: cookieSetter(oAuthHeaders),
},
);
expect(data.url).toContain(
@@ -659,6 +678,7 @@ describe("oidc-jwt", async () => {
let authToken = undefined;
let callbackURL = "";
await client.$fetch(redirectURI, {
+ headers: oAuthHeaders,
onError(context) {
callbackURL = context.response.headers.get("Location") || "";
authToken = context.response.headers.get("set-auth-token")!;
diff --git a/packages/better-auth/src/plugins/sso/sso.test.ts b/packages/better-auth/src/plugins/sso/sso.test.ts
index 9c675e56..5e98a81a 100644
--- a/packages/better-auth/src/plugins/sso/sso.test.ts
+++ b/packages/better-auth/src/plugins/sso/sso.test.ts
@@ -4,12 +4,23 @@ import { sso } from ".";
import { OAuth2Server } from "oauth2-mock-server";
import { betterFetch } from "@better-fetch/fetch";
import { organization } from "../organization";
+import { createAuthClient } from "../../client";
+import { ssoClient } from "./client";
let server = new OAuth2Server();
describe("SSO", async () => {
- const { auth, signInWithTestUser, customFetchImpl } = await getTestInstance({
- plugins: [sso(), organization()],
+ const { auth, signInWithTestUser, customFetchImpl, cookieSetter } =
+ await getTestInstance({
+ plugins: [sso(), organization()],
+ });
+
+ const authClient = createAuthClient({
+ plugins: [ssoClient()],
+ baseURL: "http://localhost:3000",
+ fetchOptions: {
+ customFetchImpl,
+ },
});
beforeAll(async () => {
@@ -56,7 +67,7 @@ describe("SSO", async () => {
});
if (!location) throw new Error("No redirect location found");
-
+ const newHeaders = new Headers();
let callbackURL = "";
await betterFetch(location, {
method: "GET",
@@ -64,10 +75,11 @@ describe("SSO", async () => {
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
+ cookieSetter(newHeaders)(context);
},
});
- return callbackURL;
+ return { callbackURL, headers: newHeaders };
}
it("should register a new SSO provider", async () => {
@@ -141,58 +153,74 @@ describe("SSO", async () => {
});
it("should sign in with SSO provider with email matching", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
it("should sign in with SSO provider with domain", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@test.com",
- domain: "localhost.com",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@test.com",
+ domain: "localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
it("should sign in with SSO provider with providerId", async () => {
- const res = await auth.api.signInSSO({
- body: {
- providerId: "test",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ providerId: "test",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
});
describe("SSO disable implicit sign in", async () => {
- const { auth, signInWithTestUser, customFetchImpl } = await getTestInstance({
- plugins: [sso({ disableImplicitSignUp: true }), organization()],
+ const { auth, signInWithTestUser, customFetchImpl, cookieSetter } =
+ await getTestInstance({
+ plugins: [sso({ disableImplicitSignUp: true }), organization()],
+ });
+
+ const authClient = createAuthClient({
+ plugins: [ssoClient()],
+ baseURL: "http://localhost:3000",
+ fetchOptions: {
+ customFetchImpl,
+ },
});
beforeAll(async () => {
@@ -239,7 +267,7 @@ describe("SSO disable implicit sign in", async () => {
});
if (!location) throw new Error("No redirect location found");
-
+ const newHeaders = new Headers(headers);
let callbackURL = "";
await betterFetch(location, {
method: "GET",
@@ -247,10 +275,11 @@ describe("SSO disable implicit sign in", async () => {
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
+ cookieSetter(newHeaders)(context);
},
});
- return callbackURL;
+ return { callbackURL, headers: newHeaders };
}
it("should register a new SSO provider", async () => {
@@ -300,44 +329,57 @@ describe("SSO disable implicit sign in", async () => {
});
it("should not create user with SSO provider when sign ups are disabled", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain(
"/api/auth/error/error?error=signup disabled",
);
});
it("should create user with SSO provider when sign ups are disabled but sign up is requested", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
- requestSignUp: true,
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ requestSignUp: true,
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
});
describe("provisioning", async (ctx) => {
- const { auth, signInWithTestUser, customFetchImpl } = await getTestInstance({
- plugins: [sso(), organization()],
+ const { auth, signInWithTestUser, customFetchImpl, cookieSetter } =
+ await getTestInstance({
+ plugins: [sso(), organization()],
+ });
+
+ const authClient = createAuthClient({
+ plugins: [ssoClient()],
+ baseURL: "http://localhost:3000",
+ fetchOptions: {
+ customFetchImpl,
+ },
});
beforeAll(async () => {
@@ -367,12 +409,14 @@ describe("provisioning", async (ctx) => {
if (!location) throw new Error("No redirect location found");
let callbackURL = "";
+ const newHeaders = new Headers();
await betterFetch(location, {
method: "GET",
customFetchImpl: fetchImpl || customFetchImpl,
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
+ cookieSetter(newHeaders)(context);
},
});
@@ -429,18 +473,20 @@ describe("provisioning", async (ctx) => {
expect(provider).toMatchObject({
organizationId: organization?.id,
});
-
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
+ const newHeaders = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ onSuccess: cookieSetter(newHeaders),
+ throw: true,
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const newHeaders = new Headers();
+
const callbackURL = await simulateOAuthFlow(res.url, newHeaders);
expect(callbackURL).toContain("/dashboard");
const org = await auth.api.getFullOrganization({
diff --git a/packages/better-auth/src/social-providers/social.test.ts b/packages/better-auth/src/social-providers/social.test.ts
index 47eab250..44eb5420 100644
--- a/packages/better-auth/src/social-providers/social.test.ts
+++ b/packages/better-auth/src/social-providers/social.test.ts
@@ -181,216 +181,235 @@ describe("Social Providers", async (c) => {
token.payload.name = "Test User";
token.payload.picture = "https://test.com/picture.png";
});
- let state = "";
const headers = new Headers();
- describe("signin", async () => {
- async function simulateOAuthFlowRefresh(
- authUrl: string,
- headers: Headers,
- fetchImpl?: (...args: any) => any,
- ) {
- let location: string | null = null;
- await betterFetch(authUrl, {
- method: "GET",
- redirect: "manual",
- onError(context) {
- location = context.response.headers.get("location");
- },
- });
- if (!location) throw new Error("No redirect location found");
+ async function simulateOAuthFlowRefresh(
+ authUrl: string,
+ headers: Headers,
+ fetchImpl?: (...args: any) => any,
+ ) {
+ let location: string | null = null;
+ await betterFetch(authUrl, {
+ method: "GET",
+ redirect: "manual",
+ onError(context) {
+ location = context.response.headers.get("location");
+ },
+ });
+ if (!location) throw new Error("No redirect location found");
- const tokens = await refreshAccessToken({
- refreshToken: "mock-refresh-token",
- options: {
- clientId: "test-client-id",
- clientKey: "test-client-key",
- clientSecret: "test-client-secret",
- },
- tokenEndpoint: `http://localhost:${port}/token`,
- });
- return tokens;
- }
- it("should be able to add social providers", async () => {
- const signInRes = await client.signIn.social({
- provider: "google",
- callbackURL: "/callback",
- newUserCallbackURL: "/welcome",
- });
- expect(signInRes.data).toMatchObject({
- url: expect.stringContaining("google.com"),
- redirect: true,
- });
- state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
+ const tokens = await refreshAccessToken({
+ refreshToken: "mock-refresh-token",
+ options: {
+ clientId: "test-client-id",
+ clientKey: "test-client-key",
+ clientSecret: "test-client-secret",
+ },
+ tokenEndpoint: `http://localhost:${port}/token`,
+ });
+ return tokens;
+ }
+ it("should be able to add social providers", async () => {
+ const signInRes = await client.signIn.social({
+ provider: "google",
+ callbackURL: "/callback",
+ newUserCallbackURL: "/welcome",
+ });
+ expect(signInRes.data).toMatchObject({
+ url: expect.stringContaining("google.com"),
+ redirect: true,
+ });
+ });
+
+ it("should be able to sign in with social providers", async () => {
+ const headers = new Headers();
+ const signInRes = await client.signIn.social({
+ provider: "google",
+ callbackURL: "/callback",
+ newUserCallbackURL: "/welcome",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
+ });
+ const state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
+ await client.$fetch("/callback/google", {
+ query: {
+ state,
+ code: "test",
+ },
+ headers,
+ method: "GET",
+ onError(context) {
+ expect(context.response.status).toBe(302);
+ const location = context.response.headers.get("location");
+ expect(location).toBeDefined();
+ expect(location).toContain("/welcome");
+ const cookies = parseSetCookieHeader(
+ context.response.headers.get("set-cookie") || "",
+ );
+ expect(cookies.get("better-auth.session_token")?.value).toBeDefined();
+ },
+ });
+ });
+
+ it("Should use callback URL if the user is already registered", async () => {
+ const headers = new Headers();
+ const signInRes = await client.signIn.social({
+ provider: "google",
+ callbackURL: "/callback",
+ newUserCallbackURL: "/welcome",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
+ });
+ const state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
+ expect(signInRes.data).toMatchObject({
+ url: expect.stringContaining("google.com"),
+ redirect: true,
});
- it("should be able to sign in with social providers", async () => {
- await client.$fetch("/callback/google", {
- query: {
- state,
- code: "test",
- },
- method: "GET",
- onError(context) {
- expect(context.response.status).toBe(302);
- const location = context.response.headers.get("location");
- expect(location).toBeDefined();
- expect(location).toContain("/welcome");
- const cookies = parseSetCookieHeader(
- context.response.headers.get("set-cookie") || "",
- );
- expect(cookies.get("better-auth.session_token")?.value).toBeDefined();
- },
- });
+ await client.$fetch("/callback/google", {
+ query: {
+ state,
+ code: "test",
+ },
+ headers,
+ method: "GET",
+ onError(context) {
+ expect(context.response.status).toBe(302);
+ const location = context.response.headers.get("location");
+ expect(location).toBeDefined();
+ expect(location).toContain("/callback");
+ const cookies = parseSetCookieHeader(
+ context.response.headers.get("set-cookie") || "",
+ );
+ expect(cookies.get("better-auth.session_token")?.value).toBeDefined();
+ },
});
+ });
- it("Should use callback URL if the user is already registered", async () => {
- const signInRes = await client.signIn.social({
- provider: "google",
- callbackURL: "/callback",
- newUserCallbackURL: "/welcome",
- });
- expect(signInRes.data).toMatchObject({
- url: expect.stringContaining("google.com"),
- redirect: true,
- });
- state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
-
- await client.$fetch("/callback/google", {
- query: {
- state,
- code: "test",
- },
- method: "GET",
- onError(context) {
- expect(context.response.status).toBe(302);
- const location = context.response.headers.get("location");
- expect(location).toBeDefined();
- expect(location).toContain("/callback");
- const cookies = parseSetCookieHeader(
- context.response.headers.get("set-cookie") || "",
- );
- expect(cookies.get("better-auth.session_token")?.value).toBeDefined();
- },
- });
+ it("should be able to map profile to user", async () => {
+ const headers = new Headers();
+ const signInRes = await client.signIn.social({
+ provider: "google",
+ callbackURL: "/callback",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
-
- it("should be able to map profile to user", async () => {
- const signInRes = await client.signIn.social({
- provider: "google",
- callbackURL: "/callback",
- });
- expect(signInRes.data).toMatchObject({
- url: expect.stringContaining("google.com"),
- redirect: true,
- });
- state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
-
- const headers = new Headers();
-
- const profile = await client.$fetch("/callback/google", {
- query: {
- state,
- code: "test",
- },
- method: "GET",
- onError: (c) => {
- //TODO: fix this
- cookieSetter(headers)(c as any);
- },
- });
- const session = await client.getSession({
- fetchOptions: {
- headers,
- },
- });
- expect(session.data?.user).toMatchObject({
- isOAuth: true,
- firstName: "First",
- lastName: "Last",
- });
+ expect(signInRes.data).toMatchObject({
+ url: expect.stringContaining("google.com"),
+ redirect: true,
});
-
- it("should be protected from callback URL attacks", async () => {
- const signInRes = await client.signIn.social(
- {
- provider: "google",
- callbackURL: "https://evil.com/callback",
- },
- {
- onSuccess(context) {
- const cookies = parseSetCookieHeader(
- context.response.headers.get("set-cookie") || "",
- );
- headers.set(
- "cookie",
- `better-auth.state=${cookies.get("better-auth.state")?.value}`,
- );
- },
- },
- );
-
- expect(signInRes.error?.status).toBe(403);
- expect(signInRes.error?.message).toBe("Invalid callbackURL");
+ const state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
+ await client.$fetch("/callback/google", {
+ query: {
+ state,
+ code: "test",
+ },
+ headers,
+ method: "GET",
+ onError: (c) => {
+ //TODO: fix this
+ cookieSetter(headers)(c as any);
+ },
});
-
- it("should refresh the access token", async () => {
- const signInRes = await client.signIn.social({
- provider: "google",
- callbackURL: "/callback",
- newUserCallbackURL: "/welcome",
- });
- const headers = new Headers();
- expect(signInRes.data).toMatchObject({
- url: expect.stringContaining("google.com"),
- redirect: true,
- });
- state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
- await client.$fetch("/callback/google", {
- query: {
- state,
- code: "test",
- },
- method: "GET",
- onError(context) {
- expect(context.response.status).toBe(302);
- const location = context.response.headers.get("location");
- expect(location).toBeDefined();
- expect(location).toContain("/callback");
- const cookies = parseSetCookieHeader(
- context.response.headers.get("set-cookie") || "",
- );
- cookieSetter(headers)(context as any);
- expect(cookies.get("better-auth.session_token")?.value).toBeDefined();
- },
- });
- const accounts = await client.listAccounts({
- fetchOptions: { headers },
- });
- await client.$fetch("/refresh-token", {
- body: {
- accountId: "test-id",
- providerId: "google",
- },
+ const session = await client.getSession({
+ fetchOptions: {
headers,
- method: "POST",
- onError(context) {
- cookieSetter(headers)(context as any);
- },
- });
+ },
+ });
+ expect(session.data?.user).toMatchObject({
+ isOAuth: true,
+ firstName: "First",
+ lastName: "Last",
+ });
+ });
- const authUrl = signInRes.data?.url;
- if (!authUrl) throw new Error("No auth url found");
- const mockEndpoint = authUrl.replace(
- "https://accounts.google.com/o/oauth2/auth",
- `http://localhost:${port}/authorize`,
- );
- const result = await simulateOAuthFlowRefresh(mockEndpoint, headers);
- const { accessToken, refreshToken } = result;
- expect({ accessToken, refreshToken }).toEqual({
- accessToken: "new-access-token",
- refreshToken: "new-refresh-token",
- });
+ it("should be protected from callback URL attacks", async () => {
+ const signInRes = await client.signIn.social(
+ {
+ provider: "google",
+ callbackURL: "https://evil.com/callback",
+ },
+ {
+ onSuccess(context) {
+ const cookies = parseSetCookieHeader(
+ context.response.headers.get("set-cookie") || "",
+ );
+ headers.set(
+ "cookie",
+ `better-auth.state=${cookies.get("better-auth.state")?.value}`,
+ );
+ },
+ },
+ );
+
+ expect(signInRes.error?.status).toBe(403);
+ expect(signInRes.error?.message).toBe("Invalid callbackURL");
+ });
+
+ it("should refresh the access token", async () => {
+ const headers = new Headers();
+ const signInRes = await client.signIn.social({
+ provider: "google",
+ callbackURL: "/callback",
+ newUserCallbackURL: "/welcome",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
+ });
+
+ expect(signInRes.data).toMatchObject({
+ url: expect.stringContaining("google.com"),
+ redirect: true,
+ });
+ const state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
+ await client.$fetch("/callback/google", {
+ query: {
+ state,
+ code: "test",
+ },
+ headers,
+ method: "GET",
+ onError(context) {
+ expect(context.response.status).toBe(302);
+ const location = context.response.headers.get("location");
+ expect(location).toBeDefined();
+ expect(location).toContain("/callback");
+ const cookies = parseSetCookieHeader(
+ context.response.headers.get("set-cookie") || "",
+ );
+ cookieSetter(headers)(context as any);
+ expect(cookies.get("better-auth.session_token")?.value).toBeDefined();
+ },
+ });
+ const accounts = await client.listAccounts({
+ fetchOptions: { headers },
+ });
+ await client.$fetch("/refresh-token", {
+ body: {
+ accountId: "test-id",
+ providerId: "google",
+ },
+ headers,
+ method: "POST",
+ onError(context) {
+ cookieSetter(headers)(context as any);
+ },
+ });
+
+ const authUrl = signInRes.data?.url;
+ if (!authUrl) throw new Error("No auth url found");
+ const mockEndpoint = authUrl.replace(
+ "https://accounts.google.com/o/oauth2/auth",
+ `http://localhost:${port}/authorize`,
+ );
+ const result = await simulateOAuthFlowRefresh(mockEndpoint, headers);
+ const { accessToken, refreshToken } = result;
+ expect({ accessToken, refreshToken }).toEqual({
+ accessToken: "new-access-token",
+ refreshToken: "new-refresh-token",
});
});
});
@@ -454,7 +473,7 @@ describe("Redirect URI", async () => {
describe("Disable implicit signup", async () => {
it("Should not create user when implicit sign up is disabled", async () => {
- const { client } = await getTestInstance({
+ const { client, cookieSetter } = await getTestInstance({
socialProviders: {
google: {
clientId: "test",
@@ -464,11 +483,14 @@ describe("Disable implicit signup", async () => {
},
},
});
-
+ const headers = new Headers();
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
newUserCallbackURL: "/welcome",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -481,6 +503,7 @@ describe("Disable implicit signup", async () => {
state,
code: "test",
},
+ headers,
method: "GET",
onError(context) {
expect(context.response.status).toBe(302);
@@ -494,7 +517,7 @@ describe("Disable implicit signup", async () => {
});
it("Should create user when implicit sign up is disabled but it is requested", async () => {
- const { client } = await getTestInstance({
+ const { client, cookieSetter } = await getTestInstance({
socialProviders: {
google: {
clientId: "test",
@@ -505,11 +528,15 @@ describe("Disable implicit signup", async () => {
},
});
+ const headers = new Headers();
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
newUserCallbackURL: "/welcome",
requestSignUp: true,
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -522,6 +549,7 @@ describe("Disable implicit signup", async () => {
state,
code: "test",
},
+ headers,
method: "GET",
onError(context) {
expect(context.response.status).toBe(302);
@@ -539,7 +567,8 @@ describe("Disable implicit signup", async () => {
describe("Disable signup", async () => {
it("Should not create user when sign up is disabled", async () => {
- const { client } = await getTestInstance({
+ const headers = new Headers();
+ const { client, cookieSetter } = await getTestInstance({
socialProviders: {
google: {
clientId: "test",
@@ -554,6 +583,9 @@ describe("Disable signup", async () => {
provider: "google",
callbackURL: "/callback",
newUserCallbackURL: "/welcome",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -566,6 +598,7 @@ describe("Disable signup", async () => {
state,
code: "test",
},
+ headers,
method: "GET",
onError(context) {
expect(context.response.status).toBe(302);
@@ -590,6 +623,7 @@ describe("signin", async () => {
});
it("should allow user info override during sign in", async () => {
let state = "";
+ const headers = new Headers();
const { client, cookieSetter } = await getTestInstance({
database,
socialProviders: {
@@ -603,6 +637,9 @@ describe("signin", async () => {
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -610,13 +647,12 @@ describe("signin", async () => {
});
state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
- const headers = new Headers();
-
await client.$fetch("/callback/google", {
query: {
state,
code: "test",
},
+ headers,
method: "GET",
onError: (c) => {
cookieSetter(headers)(c as any);
@@ -634,6 +670,7 @@ describe("signin", async () => {
});
it("should allow user info override during sign in", async () => {
+ const headers = new Headers();
let state = "";
const { client, cookieSetter } = await getTestInstance(
{
@@ -654,6 +691,9 @@ describe("signin", async () => {
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -661,13 +701,12 @@ describe("signin", async () => {
});
state = new URL(signInRes.data!.url!).searchParams.get("state") || "";
- const headers = new Headers();
-
await client.$fetch("/callback/google", {
query: {
state,
code: "test",
},
+ headers,
method: "GET",
onError: (c) => {
cookieSetter(headers)(c as any);
@@ -697,6 +736,9 @@ describe("updateAccountOnSignIn", async () => {
const signInRes = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -710,6 +752,7 @@ describe("updateAccountOnSignIn", async () => {
code: "test",
},
method: "GET",
+ headers,
onError(context) {
cookieSetter(headers)(context as any);
},
@@ -730,6 +773,9 @@ describe("updateAccountOnSignIn", async () => {
const signInRes2 = await client.signIn.social({
provider: "google",
callbackURL: "/callback",
+ fetchOptions: {
+ onSuccess: cookieSetter(headers),
+ },
});
expect(signInRes2.data).toMatchObject({
url: expect.stringContaining("google.com"),
@@ -743,6 +789,7 @@ describe("updateAccountOnSignIn", async () => {
state: state2,
code: "test",
},
+ headers,
method: "GET",
onError(context) {
cookieSetter(headers)(context as any);
diff --git a/packages/better-auth/tsconfig.json b/packages/better-auth/tsconfig.json
index 956d4856..a033d8b7 100644
--- a/packages/better-auth/tsconfig.json
+++ b/packages/better-auth/tsconfig.json
@@ -1,5 +1,4 @@
{
- "extends": "../../tsconfig.json",
"extends": "../../tsconfig.json",
"compilerOptions": {
"rootDir": "./src",
@@ -7,6 +6,5 @@
"lib": ["esnext", "dom", "dom.iterable"],
"types": ["node", "bun"]
},
- "include": ["src"],
- "references": [{ "path": "../core" }]
+ "include": ["src"]
}
diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json
index b479cf75..85e87006 100644
--- a/packages/cli/tsconfig.json
+++ b/packages/cli/tsconfig.json
@@ -5,10 +5,5 @@
"outDir": "./dist",
"lib": ["esnext", "dom", "dom.iterable"]
},
- "references": [
- {
- "path": "../better-auth/tsconfig.json"
- }
- ],
"include": ["src"]
}
diff --git a/packages/expo/tsconfig.json b/packages/expo/tsconfig.json
index b479cf75..85e87006 100644
--- a/packages/expo/tsconfig.json
+++ b/packages/expo/tsconfig.json
@@ -5,10 +5,5 @@
"outDir": "./dist",
"lib": ["esnext", "dom", "dom.iterable"]
},
- "references": [
- {
- "path": "../better-auth/tsconfig.json"
- }
- ],
"include": ["src"]
}
diff --git a/packages/sso/src/oidc.test.ts b/packages/sso/src/oidc.test.ts
index be693945..f4bd65b9 100644
--- a/packages/sso/src/oidc.test.ts
+++ b/packages/sso/src/oidc.test.ts
@@ -1,18 +1,28 @@
import { afterAll, beforeAll, describe, expect, it } from "vitest";
+import { getTestInstanceMemory as getTestInstance } from "better-auth/test";
import { sso } from ".";
import { OAuth2Server } from "oauth2-mock-server";
import { betterFetch } from "@better-fetch/fetch";
-import { organization } from "better-auth/plugins/organization";
-import { getTestInstanceMemory } from "better-auth/test";
+import { organization } from "better-auth/plugins";
+import { createAuthClient } from "better-auth/client";
+import { ssoClient } from "./client";
let server = new OAuth2Server();
describe("SSO", async () => {
- const { auth, signInWithTestUser, customFetchImpl } =
- await getTestInstanceMemory({
+ const { auth, signInWithTestUser, customFetchImpl, cookieSetter } =
+ await getTestInstance({
plugins: [sso(), organization()],
});
+ const authClient = createAuthClient({
+ plugins: [ssoClient()],
+ baseURL: "http://localhost:3000",
+ fetchOptions: {
+ customFetchImpl,
+ },
+ });
+
beforeAll(async () => {
await server.issuer.keys.generate("RS256");
server.issuer.on;
@@ -57,7 +67,7 @@ describe("SSO", async () => {
});
if (!location) throw new Error("No redirect location found");
-
+ const newHeaders = new Headers();
let callbackURL = "";
await betterFetch(location, {
method: "GET",
@@ -65,10 +75,11 @@ describe("SSO", async () => {
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
+ cookieSetter(newHeaders)(context);
},
});
- return callbackURL;
+ return { callbackURL, headers: newHeaders };
}
it("should register a new SSO provider", async () => {
@@ -147,122 +158,76 @@ describe("SSO", async () => {
});
it("should sign in with SSO provider with email matching", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
it("should sign in with SSO provider with domain", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@test.com",
- domain: "localhost.com",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@test.com",
+ domain: "localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
it("should sign in with SSO provider with providerId", async () => {
- const res = await auth.api.signInSSO({
- body: {
- providerId: "test",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ providerId: "test",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
});
-describe("SSO with defaultSSO array", async () => {
- const { auth, signInWithTestUser, customFetchImpl } =
- await getTestInstanceMemory({
- plugins: [
- sso({
- defaultSSO: [
- {
- domain: "localhost.com",
- providerId: "default-test",
- oidcConfig: {
- issuer: "http://localhost:8080",
- clientId: "test",
- clientSecret: "test",
- authorizationEndpoint: "http://localhost:8080/authorize",
- tokenEndpoint: "http://localhost:8080/token",
- jwksEndpoint: "http://localhost:8080/jwks",
- discoveryEndpoint:
- "http://localhost:8080/.well-known/openid-configuration",
- pkce: true,
- mapping: {
- id: "sub",
- email: "email",
- emailVerified: "email_verified",
- name: "name",
- image: "picture",
- },
- },
- },
- ],
- }),
- organization(),
- ],
- });
-
- it("should use default SSO provider from array when no provider found in database using providerId", async () => {
- const res = await auth.api.signInSSO({
- body: {
- providerId: "default-test",
- callbackURL: "/dashboard",
- },
- });
- expect(res.url).toContain("http://localhost:8080/authorize");
- expect(res.url).toContain(
- "redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Fdefault-test",
- );
- });
-
- it("should use default SSO provider from array when no provider found in database using domain fallback", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "test@localhost.com",
- callbackURL: "/dashboard",
- },
- });
- expect(res.url).toContain("http://localhost:8080/authorize");
- expect(res.url).toContain(
- "redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Fdefault-test",
- );
- });
-});
-
describe("SSO disable implicit sign in", async () => {
- const { auth, signInWithTestUser, customFetchImpl } =
- await getTestInstanceMemory({
+ const { auth, signInWithTestUser, customFetchImpl, cookieSetter } =
+ await getTestInstance({
plugins: [sso({ disableImplicitSignUp: true }), organization()],
});
+ const authClient = createAuthClient({
+ plugins: [ssoClient()],
+ baseURL: "http://localhost:3000",
+ fetchOptions: {
+ customFetchImpl,
+ },
+ });
+
beforeAll(async () => {
await server.issuer.keys.generate("RS256");
server.issuer.on;
@@ -307,7 +272,7 @@ describe("SSO disable implicit sign in", async () => {
});
if (!location) throw new Error("No redirect location found");
-
+ const newHeaders = new Headers(headers);
let callbackURL = "";
await betterFetch(location, {
method: "GET",
@@ -315,10 +280,11 @@ describe("SSO disable implicit sign in", async () => {
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
+ cookieSetter(newHeaders)(context);
},
});
- return callbackURL;
+ return { callbackURL, headers: newHeaders };
}
it("should register a new SSO provider", async () => {
@@ -369,150 +335,61 @@ describe("SSO disable implicit sign in", async () => {
userId: expect.any(String),
});
});
- it("should not allow creating a provider if limit is set to 0", async () => {
- const { auth, signInWithTestUser } = await getTestInstanceMemory({
- plugins: [sso({ providersLimit: 0 })],
- });
- const { headers } = await signInWithTestUser();
- await expect(
- auth.api.registerSSOProvider({
- body: {
- issuer: server.issuer.url!,
- domain: "localhost.com",
- oidcConfig: {
- clientId: "test",
- clientSecret: "test",
- },
- providerId: "test",
- },
- headers,
- }),
- ).rejects.toMatchObject({
- status: "FORBIDDEN",
- body: { message: "SSO provider registration is disabled" },
- });
- });
- it("should not allow creating a provider if limit is reached", async () => {
- const { auth, signInWithTestUser } = await getTestInstanceMemory({
- plugins: [sso({ providersLimit: 1 })],
- });
- const { headers } = await signInWithTestUser();
- await auth.api.registerSSOProvider({
- body: {
- issuer: server.issuer.url!,
- domain: "localhost.com",
- oidcConfig: {
- clientId: "test",
- clientSecret: "test",
- },
- providerId: "test-1",
- },
- headers,
- });
-
- await expect(
- auth.api.registerSSOProvider({
- body: {
- issuer: server.issuer.url!,
- domain: "localhost.com",
- oidcConfig: {
- clientId: "test",
- clientSecret: "test",
- },
- providerId: "test-2",
- },
- headers,
- }),
- ).rejects.toMatchObject({
- status: "FORBIDDEN",
- body: {
- message: "You have reached the maximum number of SSO providers",
- },
- });
- });
-
- it("should not allow creating a provider if limit from function is reached", async () => {
- const { auth, signInWithTestUser } = await getTestInstanceMemory({
- plugins: [sso({ providersLimit: async () => 1 })],
- });
- const { headers } = await signInWithTestUser();
-
- await auth.api.registerSSOProvider({
- body: {
- issuer: server.issuer.url!,
- domain: "localhost.com",
- oidcConfig: {
- clientId: "test",
- clientSecret: "test",
- },
- providerId: "test-1",
- },
- headers,
- });
-
- await expect(
- auth.api.registerSSOProvider({
- body: {
- issuer: server.issuer.url!,
- domain: "localhost.com",
- oidcConfig: {
- clientId: "test",
- clientSecret: "test",
- },
- providerId: "test-2",
- },
- headers,
- }),
- ).rejects.toMatchObject({
- status: "FORBIDDEN",
- body: {
- message: "You have reached the maximum number of SSO providers",
- },
- });
- });
it("should not create user with SSO provider when sign ups are disabled", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain(
"/api/auth/error/error?error=signup disabled",
);
});
it("should create user with SSO provider when sign ups are disabled but sign up is requested", async () => {
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
- requestSignUp: true,
+ const headers = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ requestSignUp: true,
+ fetchOptions: {
+ throw: true,
+ onSuccess: cookieSetter(headers),
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const headers = new Headers();
- const callbackURL = await simulateOAuthFlow(res.url, headers);
+ const { callbackURL } = await simulateOAuthFlow(res.url, headers);
expect(callbackURL).toContain("/dashboard");
});
});
describe("provisioning", async (ctx) => {
- const { auth, signInWithTestUser, customFetchImpl } =
- await getTestInstanceMemory({
+ const { auth, signInWithTestUser, customFetchImpl, cookieSetter } =
+ await getTestInstance({
plugins: [sso(), organization()],
});
+ const authClient = createAuthClient({
+ plugins: [ssoClient()],
+ baseURL: "http://localhost:3000",
+ fetchOptions: {
+ customFetchImpl,
+ },
+ });
+
beforeAll(async () => {
await server.issuer.keys.generate("RS256");
server.issuer.on;
@@ -540,12 +417,14 @@ describe("provisioning", async (ctx) => {
if (!location) throw new Error("No redirect location found");
let callbackURL = "";
+ const newHeaders = new Headers();
await betterFetch(location, {
method: "GET",
customFetchImpl: fetchImpl || customFetchImpl,
headers,
onError(context) {
callbackURL = context.response.headers.get("location") || "";
+ cookieSetter(newHeaders)(context);
},
});
@@ -605,18 +484,20 @@ describe("provisioning", async (ctx) => {
expect(provider).toMatchObject({
organizationId: organization?.id,
});
-
- const res = await auth.api.signInSSO({
- body: {
- email: "my-email@localhost.com",
- callbackURL: "/dashboard",
+ const newHeaders = new Headers();
+ const res = await authClient.signIn.sso({
+ email: "my-email@localhost.com",
+ callbackURL: "/dashboard",
+ fetchOptions: {
+ onSuccess: cookieSetter(newHeaders),
+ throw: true,
},
});
expect(res.url).toContain("http://localhost:8080/authorize");
expect(res.url).toContain(
"redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fsso%2Fcallback%2Ftest",
);
- const newHeaders = new Headers();
+
const callbackURL = await simulateOAuthFlow(res.url, newHeaders);
expect(callbackURL).toContain("/dashboard");
const org = await auth.api.getFullOrganization({
diff --git a/packages/sso/tsconfig.json b/packages/sso/tsconfig.json
index b479cf75..85e87006 100644
--- a/packages/sso/tsconfig.json
+++ b/packages/sso/tsconfig.json
@@ -5,10 +5,5 @@
"outDir": "./dist",
"lib": ["esnext", "dom", "dom.iterable"]
},
- "references": [
- {
- "path": "../better-auth/tsconfig.json"
- }
- ],
"include": ["src"]
}
diff --git a/packages/stripe/tsconfig.json b/packages/stripe/tsconfig.json
index b479cf75..85e87006 100644
--- a/packages/stripe/tsconfig.json
+++ b/packages/stripe/tsconfig.json
@@ -5,10 +5,5 @@
"outDir": "./dist",
"lib": ["esnext", "dom", "dom.iterable"]
},
- "references": [
- {
- "path": "../better-auth/tsconfig.json"
- }
- ],
"include": ["src"]
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 457351c6..ebc34a14 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -32,8 +32,12 @@ importers:
.:
devDependencies:
'@biomejs/biome':
+
specifier: 2.2.4
version: 2.2.4
+ '@types/bun':
+ specifier: ^1.2.20
+ version: 1.2.20(@types/react@19.1.12)
'@types/node':
specifier: ^24.4.0
version: 24.4.0
@@ -49,10 +53,160 @@ importers:
typescript:
specifier: 'catalog:'
version: 5.9.2
+ unbuild:
+ specifier: 'catalog:'
+ version: 3.6.1(sass@1.90.0)(typescript@5.9.2)(vue@3.5.19(typescript@5.9.2))
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- version: 3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
+
+ demo/expo-example:
+ dependencies:
+ '@better-auth/expo':
+ specifier: workspace:*
+ version: link:../../packages/expo
+ '@expo/metro-runtime':
+ specifier: ^6.1.2
+ version: 6.1.2(expo@54.0.10)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@expo/vector-icons':
+ specifier: ^15.0.2
+ version: 15.0.2(expo-font@14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@nanostores/react':
+ specifier: ^0.8.4
+ version: 0.8.4(nanostores@0.11.4)(react@19.1.0)
+ '@react-native-async-storage/async-storage':
+ specifier: 2.2.0
+ version: 2.2.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))
+ '@react-navigation/native':
+ specifier: ^7.1.17
+ version: 7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@rn-primitives/avatar':
+ specifier: ^1.1.0
+ version: 1.2.0(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@rn-primitives/separator':
+ specifier: ^1.1.0
+ version: 1.2.0(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@rn-primitives/slot':
+ specifier: ^1.1.0
+ version: 1.2.0(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@rn-primitives/types':
+ specifier: ^1.1.0
+ version: 1.2.0(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@types/better-sqlite3':
+ specifier: ^7.6.12
+ version: 7.6.13
+ babel-plugin-transform-import-meta:
+ specifier: ^2.2.1
+ version: 2.3.3(@babel/core@7.28.4)
+ better-auth:
+ specifier: workspace:*
+ version: link:../../packages/better-auth
+ better-sqlite3:
+ specifier: ^11.6.0
+ version: 11.10.0
+ expo:
+ specifier: ~54.0.10
+ version: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo-constants:
+ specifier: ~18.0.9
+ version: 18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))
+ expo-crypto:
+ specifier: ^15.0.7
+ version: 15.0.7(expo@54.0.10)
+ expo-font:
+ specifier: ~14.0.8
+ version: 14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo-linking:
+ specifier: ~8.0.8
+ version: 8.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo-router:
+ specifier: ~6.0.8
+ version: 6.0.8(e70a043d30323b1c09f8b80fafc503e8)
+ expo-secure-store:
+ specifier: ~15.0.7
+ version: 15.0.7(expo@54.0.10)
+ expo-splash-screen:
+ specifier: ~31.0.10
+ version: 31.0.10(expo@54.0.10)
+ expo-status-bar:
+ specifier: ~3.0.8
+ version: 3.0.8(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo-system-ui:
+ specifier: ~6.0.7
+ version: 6.0.7(expo@54.0.10)(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))
+ expo-web-browser:
+ specifier: ~15.0.7
+ version: 15.0.7(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))
+ nanostores:
+ specifier: ^0.11.3
+ version: 0.11.4
+ nativewind:
+ specifier: ^4.1.23
+ version: 4.2.1(fe0725e5c3570bb5436479ebd0cb613b)
+ pg:
+ specifier: ^8.13.1
+ version: 8.16.3
+ react:
+ specifier: ^19.1.0
+ version: 19.1.0
+ react-dom:
+ specifier: ^19.1.0
+ version: 19.1.0(react@19.1.0)
+ react-native:
+ specifier: ~0.81.4
+ version: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ react-native-css-interop:
+ specifier: ^0.2.1
+ version: 0.2.1(fe0725e5c3570bb5436479ebd0cb613b)
+ react-native-gesture-handler:
+ specifier: ~2.28.0
+ version: 2.28.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-reanimated:
+ specifier: ~4.1.2
+ version: 4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context:
+ specifier: 5.6.1
+ version: 5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-screens:
+ specifier: 4.16.0
+ version: 4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-svg:
+ specifier: ^15.12.1
+ version: 15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-web:
+ specifier: ~0.21.1
+ version: 0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react-native-worklets:
+ specifier: ^0.5.1
+ version: 0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ tailwindcss:
+ specifier: ^3.4.16
+ version: 3.4.17
+ devDependencies:
+ '@babel/core':
+ specifier: ^7.26.0
+ version: 7.28.4
+ '@babel/preset-env':
+ specifier: ^7.26.0
+ version: 7.28.3(@babel/core@7.28.4)
+ '@babel/runtime':
+ specifier: ^7.26.0
+ version: 7.28.4
+ '@types/babel__core':
+ specifier: ^7.20.5
+ version: 7.20.5
+ '@types/jest':
+ specifier: ^29.5.14
+ version: 29.5.14
+ '@types/react':
+ specifier: ^19.1.12
+ version: 19.1.12
+ '@types/react-test-renderer':
+ specifier: ^18.3.1
+ version: 18.3.1
+ typescript:
+ specifier: ^5.7.2
+ version: 5.9.2
demo/nextjs:
dependencies:
@@ -172,8 +326,7 @@ importers:
version: 0.5.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@react-three/fiber':
specifier: ^8.18.0
- version: 8.18.0(1a7d56a84bc02e5ad1bde2480f0aeeca)
- version: 8.18.0(1a7d56a84bc02e5ad1bde2480f0aeeca)
+ version: 8.18.0(@types/react@19.1.12)(expo-asset@12.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(expo-file-system@19.0.15(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)))(expo@54.0.10)(react-dom@19.1.1(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)(three@0.180.0)
'@tanstack/react-query':
specifier: ^5.85.9
version: 5.85.9(react@19.1.1)
@@ -276,9 +429,6 @@ importers:
tailwind-merge:
specifier: ^3.3.1
version: 3.3.1
- tailwindcss-animate:
- specifier: ^1.0.7
- version: 1.0.7(tailwindcss@4.1.13)
three:
specifier: ^0.180.0
version: 0.180.0
@@ -316,6 +466,9 @@ importers:
tailwindcss:
specifier: ^4.1.13
version: 4.1.13
+ tw-animate-css:
+ specifier: ^1.3.8
+ version: 1.3.8
docs:
dependencies:
@@ -415,7 +568,6 @@ importers:
'@vercel/analytics':
specifier: ^1.5.0
version: 1.5.0(@remix-run/react@2.17.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(svelte@5.38.2)(vue-router@4.5.1(vue@3.5.19(typescript@5.9.2)))(vue@3.5.19(typescript@5.9.2))
- version: 1.5.0(@remix-run/react@2.17.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(svelte@5.38.2)(vue-router@4.5.1(vue@3.5.19(typescript@5.9.2)))(vue@3.5.19(typescript@5.9.2))
'@vercel/og':
specifier: ^0.8.5
version: 0.8.5
@@ -452,7 +604,6 @@ importers:
fumadocs-mdx:
specifier: 11.8.3
version: 11.8.3(fumadocs-core@15.7.8(@oramacloud/client@2.1.4)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.12)(algoliasearch@5.36.0)(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- version: 11.8.3(fumadocs-core@15.7.8(@oramacloud/client@2.1.4)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.12)(algoliasearch@5.36.0)(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
fumadocs-typescript:
specifier: ^4.0.6
version: 4.0.6(@types/react@19.1.12)(typescript@5.9.2)
@@ -471,7 +622,6 @@ importers:
jotai:
specifier: ^2.13.1
version: 2.14.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
- version: 2.14.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
js-beautify:
specifier: ^1.15.4
version: 1.15.4
@@ -581,7 +731,7 @@ importers:
version: 0.15.3(solid-js@1.9.9)
'@solidjs/start':
specifier: ^1.1.7
- version: 1.1.7(46fc81c82030c1e0a82ad4eb0ca040d1)
+ version: 1.1.7(bb63ae43a873c57816c68cad9f1df353)
better-auth:
specifier: workspace:*
version: link:../../../packages/better-auth
@@ -593,7 +743,7 @@ importers:
version: 1.9.9
vinxi:
specifier: ^0.5.8
- version: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
+ version: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
devDependencies:
'@better-auth/test-utils':
specifier: workspace:*
@@ -629,7 +779,6 @@ importers:
vite:
specifier: ^7.1.5
version: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- version: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
e2e/smoke:
dependencies:
@@ -652,7 +801,6 @@ importers:
'@cloudflare/vitest-pool-workers':
specifier: ^0.8.69
version: 0.8.69(@cloudflare/workers-types@4.20250903.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- version: 0.8.69(@cloudflare/workers-types@4.20250903.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@cloudflare/workers-types':
specifier: ^4.20250903.0
version: 4.20250903.0
@@ -724,10 +872,9 @@ importers:
'@sveltejs/kit':
specifier: ^2.37.1
version: 2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- version: 2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/react-start':
specifier: ^1.131.3
- version: 1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
+ version: 1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/start-server-core':
specifier: ^1.131.36
version: 1.131.36
@@ -875,9 +1022,6 @@ importers:
jiti:
specifier: ^2.6.0
version: 2.6.0
- jiti:
- specifier: ^2.6.0
- version: 2.6.0
open:
specifier: ^10.2.0
version: 10.2.0
@@ -903,9 +1047,6 @@ importers:
specifier: ^4.1.5
version: 4.1.5
devDependencies:
- '@types/semver':
- specifier: ^7.7.1
- version: 7.7.1
'@types/semver':
specifier: ^7.7.1
version: 7.7.1
@@ -941,9 +1082,6 @@ importers:
specifier: ^4.1.5
version: 4.1.5
devDependencies:
- '@types/better-sqlite3':
- specifier: ^7.6.13
- version: 7.6.13
'@types/better-sqlite3':
specifier: ^7.6.13
version: 7.6.13
@@ -955,27 +1093,19 @@ importers:
version: 12.2.0
expo-constants:
specifier: ~17.1.7
- version: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- version: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
+ version: 17.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
expo-crypto:
specifier: ^13.0.2
- version: 13.0.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))
- version: 13.0.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))
+ version: 13.0.2(expo@54.0.10)
expo-linking:
specifier: ~7.1.7
- version: 7.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- version: 7.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ version: 7.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
expo-secure-store:
specifier: ~14.2.3
- version: 14.2.3(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))
- version: 14.2.3(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))
+ version: 14.2.3(expo@54.0.10)
expo-web-browser:
specifier: ~14.2.0
- version: 14.2.0(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- react-native:
- specifier: ~0.80.2
- version: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- version: 14.2.0(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
+ version: 14.2.0(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
react-native:
specifier: ~0.80.2
version: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
@@ -1876,6 +2006,10 @@ packages:
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
+ '@babel/traverse@7.28.3':
+ resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/traverse@7.28.4':
resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
engines: {node: '>=6.9.0'}
@@ -1884,6 +2018,10 @@ packages:
resolution: {integrity: sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.28.2':
+ resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/types@7.28.4':
resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
engines: {node: '>=6.9.0'}
@@ -5733,9 +5871,6 @@ packages:
'@types/semver@7.7.1':
resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==}
- '@types/semver@7.7.1':
- resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==}
-
'@types/send@0.17.5':
resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==}
@@ -5769,9 +5904,6 @@ packages:
'@types/webidl-conversions@7.0.3':
resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==}
- '@types/webxr@0.5.22':
- resolution: {integrity: sha512-Vr6Stjv5jPRqH690f5I5GLjVk8GSsoQSYJ2FVd/3jJF7KaqfwPi3ehfBS96mlQ2kPCwZaX6U0rG2+NGHBKkA/A==}
-
'@types/webxr@0.5.23':
resolution: {integrity: sha512-GPe4AsfOSpqWd3xA/0gwoKod13ChcfV67trvxaW2krUbgb9gxQjnCx8zGshzMl8LSHZlNH5gQ8LNScsDuc7nGQ==}
@@ -8924,10 +9056,6 @@ packages:
resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==}
hasBin: true
- jiti@2.6.0:
- resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==}
- hasBin: true
-
joi@17.13.3:
resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
@@ -8937,8 +9065,6 @@ packages:
jose@6.1.0:
resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==}
- jotai@2.14.0:
- resolution: {integrity: sha512-JQkNkTnqjk1BlSUjHfXi+pGG/573bVN104gp6CymhrWDseZGDReTNniWrLhJ+zXbM6pH+82+UNJ2vwYQUkQMWQ==}
jotai@2.14.0:
resolution: {integrity: sha512-JQkNkTnqjk1BlSUjHfXi+pGG/573bVN104gp6CymhrWDseZGDReTNniWrLhJ+zXbM6pH+82+UNJ2vwYQUkQMWQ==}
engines: {node: '>=12.20.0'}
@@ -13327,7 +13453,7 @@ snapshots:
'@babel/helper-annotate-as-pure@7.27.3':
dependencies:
- '@babel/types': 7.28.4
+ '@babel/types': 7.28.2
'@babel/helper-compilation-targets@7.27.2':
dependencies:
@@ -13384,7 +13510,7 @@ snapshots:
'@babel/helper-module-imports@7.27.1':
dependencies:
'@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
@@ -13932,7 +14058,7 @@ snapshots:
'@babel/helper-module-imports': 7.27.1
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
- '@babel/types': 7.28.4
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
@@ -14146,6 +14272,18 @@ snapshots:
'@babel/parser': 7.28.4
'@babel/types': 7.28.4
+ '@babel/traverse@7.28.3':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.4
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/traverse@7.28.4':
dependencies:
'@babel/code-frame': 7.27.1
@@ -14163,6 +14301,11 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
+ '@babel/types@7.28.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
'@babel/types@7.28.4':
dependencies:
'@babel/helper-string-parser': 7.27.1
@@ -14243,7 +14386,6 @@ snapshots:
optionalDependencies:
workerd: 1.20250829.0
- '@cloudflare/vitest-pool-workers@0.8.69(@cloudflare/workers-types@4.20250903.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@cloudflare/vitest-pool-workers@0.8.69(@cloudflare/workers-types@4.20250903.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@vitest/runner': 3.2.4
@@ -14254,7 +14396,6 @@ snapshots:
miniflare: 4.20250829.0
semver: 7.7.2
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
wrangler: 4.33.2(@cloudflare/workers-types@4.20250903.0)
zod: 4.1.5
transitivePeerDependencies:
@@ -15076,18 +15217,13 @@ snapshots:
postcss: 8.4.49
resolve-from: 5.0.0
optionalDependencies:
- expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))':
- dependencies:
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- optional: true
-
- '@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))':
+ '@expo/metro-runtime@6.1.2(expo@54.0.10)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)':
dependencies:
anser: 1.4.10
expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
@@ -15179,7 +15315,7 @@ snapshots:
'@expo/json-file': 10.0.7
'@react-native/normalize-colors': 0.81.4
debug: 4.4.1
- expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
resolve-from: 5.0.0
semver: 7.7.2
xml2js: 0.6.0
@@ -15203,24 +15339,23 @@ snapshots:
'@expo/sudo-prompt@9.3.2': {}
- '@expo/vector-icons@14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
- dependencies:
- expo-font: 13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1)
- react: 19.1.1
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
-
- '@expo/vector-icons@14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
- dependencies:
- expo-font: 13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1)
- react: 19.1.1
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
-
- '@expo/vector-icons@14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1))(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
+ '@expo/vector-icons@15.0.2(expo-font@14.0.8(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
dependencies:
expo-font: 14.0.8(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
react: 19.1.1
- react-native: 0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
- optional: true
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+
+ '@expo/vector-icons@15.0.2(expo-font@14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ expo-font: 14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+
+ '@expo/vector-icons@15.0.2(expo-font@14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
+ dependencies:
+ expo-font: 14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
optional: true
'@expo/ws-tunnel@1.0.6': {}
@@ -17302,10 +17437,7 @@ snapshots:
'@react-native/assets-registry@0.80.2': {}
- '@react-native/assets-registry@0.81.0':
- optional: true
- '@react-native/assets-registry@0.81.0':
- optional: true
+ '@react-native/assets-registry@0.81.4': {}
'@react-native/babel-plugin-codegen@0.81.0(@babel/core@7.28.4)':
dependencies:
@@ -17323,8 +17455,6 @@ snapshots:
transitivePeerDependencies:
- '@babel/core'
- supports-color
- optional: true
- optional: true
'@react-native/babel-preset@0.81.0(@babel/core@7.28.4)':
dependencies:
@@ -17426,8 +17556,6 @@ snapshots:
react-refresh: 0.14.2
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
'@react-native/codegen@0.80.2(@babel/core@7.28.4)':
dependencies:
@@ -17457,8 +17585,6 @@ snapshots:
invariant: 2.2.4
nullthrows: 1.1.1
yargs: 17.7.2
- optional: true
- optional: true
'@react-native/community-cli-plugin@0.80.2(@react-native-community/cli@20.0.1(typescript@5.9.2))':
dependencies:
@@ -17493,35 +17619,10 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
- optional: true
- optional: true
-
- '@react-native/debugger-frontend@0.79.5': {}
'@react-native/debugger-frontend@0.80.2': {}
- '@react-native/debugger-frontend@0.81.0':
- optional: true
- '@react-native/debugger-frontend@0.81.0':
- optional: true
-
- '@react-native/dev-middleware@0.79.5':
- dependencies:
- '@isaacs/ttlcache': 1.4.1
- '@react-native/debugger-frontend': 0.79.5
- chrome-launcher: 0.15.2
- chromium-edge-launcher: 0.2.0
- connect: 3.7.0
- debug: 2.6.9
- invariant: 2.2.4
- nullthrows: 1.1.1
- open: 7.4.2
- serve-static: 1.16.2
- ws: 6.2.3
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
+ '@react-native/debugger-frontend@0.81.4': {}
'@react-native/dev-middleware@0.80.2':
dependencies:
@@ -17558,22 +17659,13 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
- optional: true
- optional: true
'@react-native/gradle-plugin@0.80.2': {}
- '@react-native/gradle-plugin@0.81.0':
- optional: true
- '@react-native/gradle-plugin@0.81.0':
- optional: true
+ '@react-native/gradle-plugin@0.81.4': {}
'@react-native/js-polyfills@0.80.2': {}
- '@react-native/js-polyfills@0.81.0':
- optional: true
- '@react-native/js-polyfills@0.81.0':
- optional: true
'@react-native/js-polyfills@0.81.0':
optional: true
@@ -17588,7 +17680,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
optional: true
- optional: true
'@react-native/metro-config@0.81.0(@babel/core@7.28.4)':
dependencies:
@@ -17607,10 +17698,7 @@ snapshots:
'@react-native/normalize-colors@0.80.2': {}
- '@react-native/normalize-colors@0.81.0':
- optional: true
- '@react-native/normalize-colors@0.81.0':
- optional: true
+ '@react-native/normalize-colors@0.81.4': {}
'@react-native/virtualized-lists@0.80.2(@types/react@18.3.23)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@18.3.23)(react@19.1.1))(react@19.1.1)':
dependencies:
@@ -17630,28 +17718,26 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.12
- '@react-native/virtualized-lists@0.80.2(@types/react@19.1.12)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
+ '@react-native/virtualized-lists@0.81.4(@types/react@19.1.12)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.12
+
+ '@react-native/virtualized-lists@0.81.4(@types/react@19.1.12)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
dependencies:
invariant: 2.2.4
nullthrows: 1.1.1
react: 19.1.1
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- optionalDependencies:
- '@types/react': 19.1.12
-
- '@react-native/virtualized-lists@0.81.0(@types/react@19.1.12)(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
- dependencies:
- invariant: 2.2.4
- nullthrows: 1.1.1
- react: 19.1.1
- react-native: 0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
optionalDependencies:
'@types/react': 19.1.12
optional: true
- optional: true
- '@react-three/fiber@8.18.0(1a7d56a84bc02e5ad1bde2480f0aeeca)':
- '@react-three/fiber@8.18.0(1a7d56a84bc02e5ad1bde2480f0aeeca)':
+ '@react-navigation/bottom-tabs@7.4.7(@react-navigation/native@7.1.17(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-safe-area-context@5.6.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-screens@4.16.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)':
dependencies:
'@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-safe-area-context@5.6.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
'@react-navigation/native': 7.1.17(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
@@ -17822,7 +17908,7 @@ snapshots:
dependencies:
'@babel/runtime': 7.28.4
'@types/react-reconciler': 0.26.7
- '@types/webxr': 0.5.22
+ '@types/webxr': 0.5.23
base64-js: 1.5.1
buffer: 6.0.3
its-fine: 1.2.5(@types/react@19.1.12)(react@19.1.1)
@@ -18317,11 +18403,11 @@ snapshots:
dependencies:
solid-js: 1.9.9
- '@solidjs/start@1.1.7(46fc81c82030c1e0a82ad4eb0ca040d1)':
+ '@solidjs/start@1.1.7(bb63ae43a873c57816c68cad9f1df353)':
dependencies:
'@tanstack/server-functions-plugin': 1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@vinxi/server-components': 0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
+ '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
+ '@vinxi/server-components': 0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
defu: 6.1.4
error-stack-parser: 2.1.4
html-to-image: 1.11.13
@@ -18332,7 +18418,7 @@ snapshots:
source-map-js: 1.2.1
terracotta: 1.0.6(solid-js@1.9.9)
tinyglobby: 0.2.14
- vinxi: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
+ vinxi: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vite-plugin-solid: 2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
transitivePeerDependencies:
- '@testing-library/jest-dom'
@@ -18350,13 +18436,11 @@ snapshots:
dependencies:
acorn: 8.15.0
- '@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@standard-schema/spec': 1.0.0
'@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0)
'@sveltejs/vite-plugin-svelte': 6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@sveltejs/vite-plugin-svelte': 6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@types/cookie': 0.6.0
acorn: 8.15.0
cookie: 0.6.0
@@ -18370,24 +18454,18 @@ snapshots:
sirv: 3.0.2
svelte: 5.38.2
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- '@sveltejs/vite-plugin-svelte-inspector@5.0.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@sveltejs/vite-plugin-svelte-inspector@5.0.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
- '@sveltejs/vite-plugin-svelte': 6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@sveltejs/vite-plugin-svelte': 6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
debug: 4.4.1
svelte: 5.38.2
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- '@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 5.0.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@sveltejs/vite-plugin-svelte-inspector': 5.0.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
debug: 4.4.1
deepmerge: 4.3.1
@@ -18396,8 +18474,6 @@ snapshots:
svelte: 5.38.2
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vitefu: 1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vitefu: 1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
transitivePeerDependencies:
- supports-color
@@ -18477,22 +18553,19 @@ snapshots:
postcss: 8.5.6
tailwindcss: 4.1.13
- '@tanstack/directive-functions-plugin@1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/directive-functions-plugin@1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/core': 7.28.4
- '@babel/traverse': 7.28.4
+ '@babel/traverse': 7.28.3
'@babel/types': 7.28.4
'@tanstack/router-utils': 1.131.2
babel-dead-code-elimination: 1.0.10
tiny-invariant: 1.3.3
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- '@tanstack/directive-functions-plugin@1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/directive-functions-plugin@1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/code-frame': 7.27.1
@@ -18503,7 +18576,6 @@ snapshots:
babel-dead-code-elimination: 1.0.10
tiny-invariant: 1.3.3
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@@ -18538,13 +18610,12 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
- '@tanstack/react-start-plugin@1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
+ '@tanstack/react-start-plugin@1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
- '@tanstack/start-plugin-core': 1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
+ '@tanstack/start-plugin-core': 1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@vitejs/plugin-react': 5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
pathe: 2.0.3
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
zod: 4.1.5
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -18590,21 +18661,17 @@ snapshots:
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@tanstack/react-start@1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
+ '@tanstack/react-start@1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@tanstack/react-start-client': 1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@tanstack/react-start-plugin': 1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
+ '@tanstack/react-start-plugin': 1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/react-start-server': 1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tanstack/start-server-functions-client': 1.131.27(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/start-server-functions-server': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@vitejs/plugin-react': 5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@tanstack/start-server-functions-client': 1.131.27(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@tanstack/start-server-functions-server': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@vitejs/plugin-react': 5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -18677,7 +18744,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tanstack/router-plugin@1.131.27(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/router-plugin@1.131.27(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.4
@@ -18698,8 +18764,6 @@ snapshots:
'@tanstack/react-router': 1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vite-plugin-solid: 2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite-plugin-solid: 2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
transitivePeerDependencies:
- supports-color
@@ -18714,7 +18778,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tanstack/server-functions-plugin@1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/server-functions-plugin@1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/code-frame': 7.26.2
@@ -18725,14 +18788,12 @@ snapshots:
'@babel/traverse': 7.28.3
'@babel/types': 7.28.2
'@tanstack/directive-functions-plugin': 1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@tanstack/directive-functions-plugin': 1.121.21(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
babel-dead-code-elimination: 1.0.10
tiny-invariant: 1.3.3
transitivePeerDependencies:
- supports-color
- vite
- '@tanstack/server-functions-plugin@1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/server-functions-plugin@1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/code-frame': 7.27.1
@@ -18743,7 +18804,6 @@ snapshots:
'@babel/traverse': 7.28.4
'@babel/types': 7.28.4
'@tanstack/directive-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@tanstack/directive-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
babel-dead-code-elimination: 1.0.10
tiny-invariant: 1.3.3
transitivePeerDependencies:
@@ -18766,7 +18826,7 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
- '@tanstack/start-plugin-core@1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
+ '@tanstack/start-plugin-core@1.131.27(@libsql/client@0.15.14)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@12.2.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.4)(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/core': 7.28.4
@@ -18774,10 +18834,8 @@ snapshots:
'@tanstack/router-core': 1.131.27
'@tanstack/router-generator': 1.131.27
'@tanstack/router-plugin': 1.131.27(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@tanstack/router-plugin': 1.131.27(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/router-utils': 1.131.2
'@tanstack/server-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@tanstack/server-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/start-server-core': 1.131.27
'@types/babel__code-frame': 7.0.6
'@types/babel__core': 7.20.5
@@ -18789,8 +18847,6 @@ snapshots:
ufo: 1.6.1
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vitefu: 1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vitefu: 1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
xmlbuilder2: 3.1.1
zod: 4.1.5
transitivePeerDependencies:
@@ -18849,10 +18905,8 @@ snapshots:
tiny-warning: 1.0.3
unctx: 2.4.1
- '@tanstack/start-server-functions-client@1.131.27(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/start-server-functions-client@1.131.27(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
- '@tanstack/server-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/server-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/start-server-functions-fetcher': 1.131.27
transitivePeerDependencies:
@@ -18864,10 +18918,8 @@ snapshots:
'@tanstack/router-core': 1.131.27
'@tanstack/start-client-core': 1.131.27
- '@tanstack/start-server-functions-server@1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@tanstack/start-server-functions-server@1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
- '@tanstack/server-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@tanstack/server-functions-plugin': 1.131.2(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
tiny-invariant: 1.3.3
transitivePeerDependencies:
@@ -18941,6 +18993,12 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
+ '@types/bun@1.2.20(@types/react@19.1.12)':
+ dependencies:
+ bun-types: 1.2.20(@types/react@19.1.12)
+ transitivePeerDependencies:
+ - '@types/react'
+
'@types/canvas-confetti@1.9.0': {}
'@types/chai@5.2.2':
@@ -19093,7 +19151,7 @@ snapshots:
'@types/react-reconciler@0.26.7':
dependencies:
- '@types/react': 18.3.23
+ '@types/react': 19.1.12
'@types/react-reconciler@0.28.9(@types/react@19.1.12)':
dependencies:
@@ -19120,8 +19178,6 @@ snapshots:
'@types/semver@7.7.1': {}
- '@types/semver@7.7.1': {}
-
'@types/send@0.17.5':
dependencies:
'@types/mime': 1.3.5
@@ -19159,8 +19215,6 @@ snapshots:
'@types/webidl-conversions@7.0.3': {}
- '@types/webxr@0.5.22': {}
-
'@types/webxr@0.5.23': {}
'@types/whatwg-mimetype@3.0.2': {}
@@ -19242,12 +19296,10 @@ snapshots:
'@urql/core': 5.2.0(graphql@16.11.0)
wonka: 6.3.5
- '@vercel/analytics@1.5.0(@remix-run/react@2.17.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(svelte@5.38.2)(vue-router@4.5.1(vue@3.5.19(typescript@5.9.2)))(vue@3.5.19(typescript@5.9.2))':
'@vercel/analytics@1.5.0(@remix-run/react@2.17.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(svelte@5.38.2)(vue-router@4.5.1(vue@3.5.19(typescript@5.9.2)))(vue@3.5.19(typescript@5.9.2))':
optionalDependencies:
'@remix-run/react': 2.17.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
'@sveltejs/kit': 2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@sveltejs/kit': 2.37.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)))(svelte@5.38.2)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
next: 15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0)
react: 19.1.1
svelte: 5.38.2
@@ -19298,7 +19350,7 @@ snapshots:
untun: 0.1.3
uqr: 0.1.2
- '@vinxi/plugin-directives@0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
+ '@vinxi/plugin-directives@0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/parser': 7.28.3
acorn: 8.15.0
@@ -19309,20 +19361,19 @@ snapshots:
magicast: 0.2.11
recast: 0.23.11
tslib: 2.8.1
- vinxi: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
+ vinxi: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- '@vinxi/server-components@0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
+ '@vinxi/server-components@0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
- '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
+ '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
acorn: 8.15.0
acorn-loose: 8.5.2
acorn-typescript: 1.4.13(acorn@8.15.0)
astring: 1.9.0
magicast: 0.2.11
recast: 0.23.11
- vinxi: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
+ vinxi: 0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- '@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@vitejs/plugin-react@5.0.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.4
@@ -19332,7 +19383,6 @@ snapshots:
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@@ -19344,7 +19394,6 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
'@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))':
dependencies:
'@vitest/spy': 3.2.4
@@ -19352,7 +19401,6 @@ snapshots:
magic-string: 0.30.19
optionalDependencies:
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -19385,7 +19433,6 @@ snapshots:
'@vue/compiler-core@3.5.19':
dependencies:
- '@babel/parser': 7.28.4
'@babel/parser': 7.28.4
'@vue/shared': 3.5.19
entities: 4.5.0
@@ -19399,7 +19446,6 @@ snapshots:
'@vue/compiler-sfc@3.5.19':
dependencies:
- '@babel/parser': 7.28.4
'@babel/parser': 7.28.4
'@vue/compiler-core': 3.5.19
'@vue/compiler-dom': 3.5.19
@@ -19674,7 +19720,6 @@ snapshots:
autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
caniuse-lite: 1.0.30001741
fraction.js: 4.3.7
@@ -19693,7 +19738,7 @@ snapshots:
dependencies:
'@babel/core': 7.28.4
'@babel/parser': 7.28.4
- '@babel/traverse': 7.28.4
+ '@babel/traverse': 7.28.3
'@babel/types': 7.28.4
transitivePeerDependencies:
- supports-color
@@ -19775,8 +19820,6 @@ snapshots:
babel-plugin-syntax-hermes-parser@0.29.1:
dependencies:
hermes-parser: 0.29.1
- optional: true
- optional: true
babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.4):
dependencies:
@@ -19836,7 +19879,7 @@ snapshots:
resolve-from: 5.0.0
optionalDependencies:
'@babel/runtime': 7.28.4
- expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
transitivePeerDependencies:
- '@babel/core'
- supports-color
@@ -20042,6 +20085,11 @@ snapshots:
'@types/node': 24.4.0
'@types/react': 18.3.23
+ bun-types@1.2.20(@types/react@19.1.12):
+ dependencies:
+ '@types/node': 24.4.0
+ '@types/react': 19.1.12
+
bun-types@1.2.21(@types/react@18.3.23):
dependencies:
'@types/node': 24.4.0
@@ -20069,7 +20117,6 @@ snapshots:
exsolve: 1.0.7
giget: 2.0.0
jiti: 2.6.0
- jiti: 2.6.0
ohash: 2.0.11
pathe: 2.0.3
perfect-debounce: 1.0.0
@@ -20117,7 +20164,6 @@ snapshots:
caniuse-api@3.0.0:
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
caniuse-lite: 1.0.30001741
lodash.memoize: 4.1.2
@@ -20582,7 +20628,6 @@ snapshots:
cssnano-preset-default@7.0.7(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
css-declaration-sorter: 7.2.0(postcss@8.5.6)
cssnano-utils: 5.0.1(postcss@8.5.6)
@@ -21314,17 +21359,7 @@ snapshots:
expect-type@1.2.1: {}
- expo-asset@11.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
- dependencies:
- '@expo/image-utils': 0.7.6
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- react: 19.1.1
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- transitivePeerDependencies:
- - supports-color
-
- expo-asset@11.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ expect@29.7.0:
dependencies:
'@jest/expect-utils': 29.7.0
jest-get-type: 29.6.3
@@ -21341,43 +21376,56 @@ snapshots:
react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
transitivePeerDependencies:
- supports-color
- optional: true
- expo-constants@17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
+ expo-asset@12.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
dependencies:
- '@expo/config': 11.0.13
- '@expo/env': 1.0.7
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ '@expo/image-utils': 0.8.7
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo-constants: 18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ expo-asset@12.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@expo/image-utils': 0.8.7
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ expo-constants: 18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
transitivePeerDependencies:
- supports-color
optional: true
- expo-constants@17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
+ expo-constants@17.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
dependencies:
'@expo/config': 11.0.13
'@expo/env': 1.0.7
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
transitivePeerDependencies:
- supports-color
- expo-constants@17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)):
+ expo-constants@18.0.9(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
dependencies:
- '@expo/config': 11.0.13
- '@expo/env': 1.0.7
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react-native: 0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ '@expo/config': 12.0.9
+ '@expo/env': 2.0.7
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
transitivePeerDependencies:
- supports-color
- optional: true
- expo-crypto@13.0.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)):
+ expo-constants@18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)):
dependencies:
- base64-js: 1.5.1
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@expo/config': 12.0.9
+ '@expo/env': 2.0.7
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ transitivePeerDependencies:
+ - supports-color
- expo-file-system@18.1.11(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
+ expo-constants@18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)):
dependencies:
'@expo/config': 12.0.9
'@expo/env': 2.0.7
@@ -21386,26 +21434,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
optional: true
- optional: true
- expo-crypto@13.0.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)):
- expo-crypto@13.0.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)):
+ expo-crypto@13.0.2(expo@54.0.10):
dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react-native: 0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
- optional: true
+ base64-js: 1.5.1
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- expo-file-system@18.1.11(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
+ expo-crypto@15.0.7(expo@54.0.10):
dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
-
- expo-file-system@18.1.11(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
- dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- fontfaceobserver: 2.3.0
- react: 19.1.1
+ base64-js: 1.5.1
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
expo-file-system@19.0.15(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
dependencies:
@@ -21423,24 +21461,12 @@ snapshots:
react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
optional: true
- expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1):
- dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- fontfaceobserver: 2.3.0
- react: 19.1.1
- optional: true
-
- expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1):
+ expo-font@14.0.8(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
dependencies:
expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
fontfaceobserver: 2.3.0
react: 19.1.1
- optional: true
-
- expo-keep-awake@14.1.4(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1):
- dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react: 19.1.1
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
expo-font@14.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
dependencies:
@@ -21454,15 +21480,10 @@ snapshots:
expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
fontfaceobserver: 2.3.0
react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
optional: true
- expo-keep-awake@14.1.4(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1):
- dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react: 19.1.1
- optional: true
-
- expo-keep-awake@14.1.4(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1):
+ expo-keep-awake@15.0.7(expo@54.0.10)(react@19.1.0):
dependencies:
expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
react: 19.1.0
@@ -21471,18 +21492,13 @@ snapshots:
dependencies:
expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
react: 19.1.1
- optional: true
- optional: true
- expo-linking@7.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
- expo-linking@7.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ expo-linking@7.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
dependencies:
- expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
+ expo-constants: 17.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
invariant: 2.2.4
react: 19.1.1
react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
transitivePeerDependencies:
- expo
- supports-color
@@ -21523,72 +21539,193 @@ snapshots:
react: 19.1.1
react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- expo-secure-store@14.2.3(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)):
- expo-secure-store@14.2.3(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)):
+ expo-modules-core@3.0.18(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ invariant: 2.2.4
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
- expo-web-browser@14.2.0(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
- expo-web-browser@14.2.0(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
+ expo-modules-core@3.0.18(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
dependencies:
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
-
- expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
- dependencies:
- '@babel/runtime': 7.28.4
- '@expo/cli': 0.24.20(graphql@16.11.0)
- '@expo/config': 11.0.13
- '@expo/config-plugins': 10.1.2
- '@expo/fingerprint': 0.13.4
- '@expo/metro-config': 0.20.17
- '@expo/vector-icons': 14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- babel-preset-expo: 13.2.4(@babel/core@7.28.4)
- expo-asset: 11.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- expo-file-system: 18.1.11(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- expo-font: 13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1)
- expo-keep-awake: 14.1.4(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1)
- expo-modules-autolinking: 2.1.14
- expo-modules-core: 2.5.0
+ invariant: 2.2.4
react: 19.1.1
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
- expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ expo-router@6.0.8(6493cf4eb129bb0efe12db5814cb95cc):
dependencies:
- '@babel/runtime': 7.28.4
- '@expo/cli': 0.24.20(graphql@16.11.0)
- '@expo/config': 11.0.13
- '@expo/config-plugins': 10.1.2
- '@expo/fingerprint': 0.13.4
- '@expo/metro-config': 0.20.17
- '@expo/vector-icons': 14.1.0(expo-font@13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- babel-preset-expo: 13.2.4(@babel/core@7.28.4)
- expo-asset: 11.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- expo-constants: 17.1.7(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- expo-file-system: 18.1.11(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
- expo-font: 13.3.2(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1)
- expo-keep-awake: 14.1.4(expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react@19.1.1)
- expo-modules-autolinking: 2.1.14
- expo-modules-core: 2.5.0
+ '@expo/metro-runtime': 6.1.2(expo@54.0.10)(react-dom@19.1.1(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@expo/schema-utils': 0.1.7
+ '@expo/server': 0.7.5
+ '@radix-ui/react-slot': 1.2.0(@types/react@19.1.12)(react@19.1.1)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-navigation/bottom-tabs': 7.4.7(@react-navigation/native@7.1.17(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-safe-area-context@5.6.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-screens@4.16.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@react-navigation/native': 7.1.17(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@react-navigation/native-stack': 7.3.26(@react-navigation/native@7.1.17(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-safe-area-context@5.6.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-screens@4.16.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ client-only: 0.0.1
+ debug: 4.4.1
+ escape-string-regexp: 4.0.0
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ expo-constants: 17.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
+ expo-linking: 7.1.7(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ fast-deep-equal: 3.1.3
+ invariant: 2.2.4
+ nanoid: 3.3.11
+ query-string: 7.1.3
react: 19.1.1
+ react-fast-compare: 3.2.2
react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- react-native-edge-to-edge: 1.6.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- whatwg-url-without-unicode: 8.0.0-3
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-safe-area-context: 5.6.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-screens: 4.16.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ semver: 7.6.3
+ server-only: 0.0.1
+ sf-symbols-typescript: 2.1.0
+ shallowequal: 1.1.0
+ use-latest-callback: 0.2.4(react@19.1.1)
+ vaul: 1.1.2(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
optionalDependencies:
- '@expo/metro-runtime': 5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
+ react-dom: 19.1.1(react@19.1.1)
+ react-native-gesture-handler: 2.28.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-reanimated: 4.1.2(@babel/core@7.28.4)(react-native-worklets@0.6.0(@babel/core@7.28.4)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-web: 0.21.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-react-compiler
- - bufferutil
- - graphql
+ - '@react-native-masked-view/masked-view'
+ - '@types/react'
+ - '@types/react-dom'
- supports-color
- - utf-8-validate
- expo: 53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ optional: true
+
+ expo-router@6.0.8(b6c171666c32adf37b0749411192e587):
+ dependencies:
+ '@expo/metro-runtime': 6.1.2(expo@54.0.10)(react-dom@19.1.1(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@expo/schema-utils': 0.1.7
+ '@expo/server': 0.7.5
+ '@radix-ui/react-slot': 1.2.0(@types/react@19.1.12)(react@19.1.1)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@react-navigation/bottom-tabs': 7.4.7(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@react-navigation/native': 7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@react-navigation/native-stack': 7.3.26(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ client-only: 0.0.1
+ debug: 4.4.1
+ escape-string-regexp: 4.0.0
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ expo-constants: 18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))
+ expo-linking: 8.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ fast-deep-equal: 3.1.3
+ invariant: 2.2.4
+ nanoid: 3.3.11
+ query-string: 7.1.3
+ react: 19.1.1
+ react-fast-compare: 3.2.2
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-screens: 4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ semver: 7.6.3
+ server-only: 0.0.1
+ sf-symbols-typescript: 2.1.0
+ shallowequal: 1.1.0
+ use-latest-callback: 0.2.4(react@19.1.1)
+ vaul: 1.1.2(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ optionalDependencies:
+ react-dom: 19.1.1(react@19.1.1)
+ react-native-gesture-handler: 2.28.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-reanimated: 4.1.2(@babel/core@7.28.4)(react-native-worklets@0.6.0(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-web: 0.21.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ transitivePeerDependencies:
+ - '@react-native-masked-view/masked-view'
+ - '@types/react'
+ - '@types/react-dom'
+ - supports-color
+ optional: true
+
+ expo-router@6.0.8(e70a043d30323b1c09f8b80fafc503e8):
+ dependencies:
+ '@expo/metro-runtime': 6.1.2(expo@54.0.10)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@expo/schema-utils': 0.1.7
+ '@expo/server': 0.7.5
+ '@radix-ui/react-slot': 1.2.0(@types/react@19.1.12)(react@19.1.0)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@react-navigation/bottom-tabs': 7.4.7(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native': 7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ '@react-navigation/native-stack': 7.3.26(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ client-only: 0.0.1
+ debug: 4.4.1
+ escape-string-regexp: 4.0.0
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ expo-constants: 18.0.9(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))
+ expo-linking: 8.0.8(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ fast-deep-equal: 3.1.3
+ invariant: 2.2.4
+ nanoid: 3.3.11
+ query-string: 7.1.3
+ react: 19.1.0
+ react-fast-compare: 3.2.2
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-safe-area-context: 5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-screens: 4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ semver: 7.6.3
+ server-only: 0.0.1
+ sf-symbols-typescript: 2.1.0
+ shallowequal: 1.1.0
+ use-latest-callback: 0.2.4(react@19.1.0)
+ vaul: 1.1.2(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ optionalDependencies:
+ react-dom: 19.1.0(react@19.1.0)
+ react-native-gesture-handler: 2.28.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-reanimated: 4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-web: 0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ transitivePeerDependencies:
+ - '@react-native-masked-view/masked-view'
+ - '@types/react'
+ - '@types/react-dom'
+ - supports-color
+
+ expo-secure-store@14.2.3(expo@54.0.10):
+ dependencies:
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+
+ expo-secure-store@15.0.7(expo@54.0.10):
+ dependencies:
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+
+ expo-splash-screen@31.0.10(expo@54.0.10):
+ dependencies:
+ '@expo/prebuild-config': 54.0.3(expo@54.0.10)
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ expo-status-bar@3.0.8(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+
+ expo-system-ui@6.0.7(expo@54.0.10)(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)):
+ dependencies:
+ '@react-native/normalize-colors': 0.81.4
+ debug: 4.4.1
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ optionalDependencies:
+ react-native-web: 0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ expo-web-browser@14.2.0(expo@54.0.10)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)):
+ dependencies:
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
- expo@53.0.20(@babel/core@7.28.4)(@expo/metro-runtime@5.0.4(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)))(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ expo-web-browser@15.0.7(expo@54.0.10)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)):
+ dependencies:
+ expo: 54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+
+ expo@54.0.10(@babel/core@7.28.4)(@expo/metro-runtime@6.1.2)(expo-router@6.0.8)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
dependencies:
'@babel/runtime': 7.28.4
'@expo/cli': 54.0.8(expo-router@6.0.8)(expo@54.0.10)(graphql@16.11.0)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))
@@ -21696,7 +21833,6 @@ snapshots:
- supports-color
- utf-8-validate
optional: true
- optional: true
exponential-backoff@3.1.2: {}
@@ -22030,7 +22166,6 @@ snapshots:
unist-util-visit: 5.0.0
zod: 4.1.5
- fumadocs-mdx@11.8.3(fumadocs-core@15.7.8(@oramacloud/client@2.1.4)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.12)(algoliasearch@5.36.0)(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
fumadocs-mdx@11.8.3(fumadocs-core@15.7.8(@oramacloud/client@2.1.4)(@tanstack/react-router@1.131.27(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.12)(algoliasearch@5.36.0)(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(next@15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0))(react@19.1.1)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
dependencies:
'@mdx-js/mdx': 3.1.1
@@ -22053,7 +22188,6 @@ snapshots:
next: 15.5.2(@babel/core@7.28.4)(@playwright/test@1.55.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.90.0)
react: 19.1.1
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@@ -22808,8 +22942,6 @@ snapshots:
jiti@2.6.0: {}
- jiti@2.6.0: {}
-
joi@17.13.3:
dependencies:
'@hapi/hoek': 9.3.0
@@ -22823,7 +22955,6 @@ snapshots:
jose@6.1.0: {}
- jotai@2.14.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
jotai@2.14.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
optionalDependencies:
'@babel/core': 7.28.4
@@ -23501,8 +23632,6 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
metro-cache-key@0.82.5:
dependencies:
@@ -23511,8 +23640,6 @@ snapshots:
metro-cache-key@0.83.1:
dependencies:
flow-enums-runtime: 0.0.6
- optional: true
- optional: true
metro-cache@0.82.5:
dependencies:
@@ -23531,8 +23658,6 @@ snapshots:
metro-core: 0.83.1
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
metro-config@0.82.5:
dependencies:
@@ -23563,8 +23688,6 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
- optional: true
- optional: true
metro-core@0.82.5:
dependencies:
@@ -23577,8 +23700,6 @@ snapshots:
flow-enums-runtime: 0.0.6
lodash.throttle: 4.1.1
metro-resolver: 0.83.1
- optional: true
- optional: true
metro-file-map@0.82.5:
dependencies:
@@ -23607,21 +23728,16 @@ snapshots:
walker: 1.0.8
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
metro-minify-terser@0.82.5:
dependencies:
flow-enums-runtime: 0.0.6
terser: 5.44.0
- terser: 5.44.0
metro-minify-terser@0.83.1:
dependencies:
flow-enums-runtime: 0.0.6
terser: 5.44.0
- optional: true
- optional: true
metro-resolver@0.82.5:
dependencies:
@@ -23630,12 +23746,9 @@ snapshots:
metro-resolver@0.83.1:
dependencies:
flow-enums-runtime: 0.0.6
- optional: true
- optional: true
metro-runtime@0.82.5:
dependencies:
- '@babel/runtime': 7.28.4
'@babel/runtime': 7.28.4
flow-enums-runtime: 0.0.6
@@ -23643,16 +23756,12 @@ snapshots:
dependencies:
'@babel/runtime': 7.28.4
flow-enums-runtime: 0.0.6
- optional: true
- optional: true
metro-source-map@0.82.5:
dependencies:
- '@babel/traverse': 7.28.4
'@babel/traverse': 7.28.4
'@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.4'
'@babel/types': 7.28.4
- '@babel/types': 7.28.4
flow-enums-runtime: 0.0.6
invariant: 2.2.4
metro-symbolicate: 0.82.5
@@ -23677,8 +23786,6 @@ snapshots:
vlq: 1.0.1
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
metro-symbolicate@0.82.5:
dependencies:
@@ -23701,8 +23808,6 @@ snapshots:
vlq: 1.0.1
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
metro-transform-plugins@0.82.5:
dependencies:
@@ -23725,8 +23830,6 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
- optional: true
- optional: true
metro-transform-worker@0.82.5:
dependencies:
@@ -23767,8 +23870,6 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
- optional: true
- optional: true
metro@0.82.5:
dependencies:
@@ -23863,8 +23964,6 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
- optional: true
- optional: true
micro-api-client@3.3.0: {}
@@ -24708,8 +24807,6 @@ snapshots:
ob1@0.83.1:
dependencies:
flow-enums-runtime: 0.0.6
- optional: true
- optional: true
object-assign@4.1.1: {}
@@ -25078,7 +25175,6 @@ snapshots:
postcss-colormin@7.0.3(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
caniuse-api: 3.0.0
colord: 2.9.3
@@ -25087,7 +25183,6 @@ snapshots:
postcss-convert-values@7.0.5(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
postcss: 8.5.6
postcss-value-parser: 4.2.0
@@ -25136,7 +25231,6 @@ snapshots:
postcss-merge-rules@7.0.5(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
caniuse-api: 3.0.0
cssnano-utils: 5.0.1(postcss@8.5.6)
@@ -25157,7 +25251,6 @@ snapshots:
postcss-minify-params@7.0.3(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
cssnano-utils: 5.0.1(postcss@8.5.6)
postcss: 8.5.6
@@ -25210,7 +25303,6 @@ snapshots:
postcss-normalize-unicode@7.0.3(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
postcss: 8.5.6
postcss-value-parser: 4.2.0
@@ -25233,7 +25325,6 @@ snapshots:
postcss-reduce-initial@7.0.3(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
caniuse-api: 3.0.0
postcss: 8.5.6
@@ -25556,12 +25647,7 @@ snapshots:
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- react-native-edge-to-edge@1.6.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
- dependencies:
- react: 19.1.1
- react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
-
- react-native-edge-to-edge@1.6.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ react-native-css-interop@0.2.1(fe0725e5c3570bb5436479ebd0cb613b):
dependencies:
'@babel/helper-module-imports': 7.27.1
'@babel/traverse': 7.28.4
@@ -25585,7 +25671,211 @@ snapshots:
hoist-non-react-statics: 3.3.2
invariant: 2.2.4
react: 19.1.1
- react-native: 0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
+
+ react-native-gesture-handler@2.28.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ '@egjs/hammerjs': 2.0.17
+ hoist-non-react-statics: 3.3.2
+ invariant: 2.2.4
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+
+ react-native-gesture-handler@2.28.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@egjs/hammerjs': 2.0.17
+ hoist-non-react-statics: 3.3.2
+ invariant: 2.2.4
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
+
+ react-native-is-edge-to-edge@1.2.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
+
+ react-native-is-edge-to-edge@1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+
+ react-native-is-edge-to-edge@1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
+
+ react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ '@babel/core': 7.28.4
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ react-native-worklets: 0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ semver: 7.7.2
+
+ react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.6.0(@babel/core@7.28.4)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@babel/core': 7.28.4
+ react: 19.1.1
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-worklets: 0.6.0(@babel/core@7.28.4)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ semver: 7.7.2
+ optional: true
+
+ react-native-reanimated@4.1.2(@babel/core@7.28.4)(react-native-worklets@0.6.0(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1))(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@babel/core': 7.28.4
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ react-native-worklets: 0.6.0(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ semver: 7.7.2
+ optional: true
+
+ react-native-safe-area-context@5.6.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
+
+ react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+
+ react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ optional: true
+
+ react-native-screens@4.16.0(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-freeze: 1.0.4(react@19.1.1)
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ warn-once: 0.1.1
+ optional: true
+
+ react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ react-freeze: 1.0.4(react@19.1.0)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ warn-once: 0.1.1
+
+ react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ react: 19.1.1
+ react-freeze: 1.0.4(react@19.1.1)
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ warn-once: 0.1.1
+ optional: true
+
+ react-native-svg@15.12.1(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ css-select: 5.2.2
+ css-tree: 1.1.3
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ warn-once: 0.1.1
+
+ react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@react-native/normalize-colors': 0.74.89
+ fbjs: 3.0.5
+ inline-style-prefixer: 7.0.1
+ memoize-one: 6.0.0
+ nullthrows: 1.1.1
+ postcss-value-parser: 4.2.0
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ styleq: 0.1.3
+ transitivePeerDependencies:
+ - encoding
+
+ react-native-web@0.21.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@react-native/normalize-colors': 0.74.89
+ fbjs: 3.0.5
+ inline-style-prefixer: 7.0.1
+ memoize-one: 6.0.0
+ nullthrows: 1.1.1
+ postcss-value-parser: 4.2.0
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+ styleq: 0.1.3
+ transitivePeerDependencies:
+ - encoding
+ optional: true
+
+ react-native-worklets@0.5.1(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ convert-source-map: 2.0.0
+ react: 19.1.0
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
+ semver: 7.7.2
+ transitivePeerDependencies:
+ - supports-color
+
+ react-native-worklets@0.6.0(@babel/core@7.28.4)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ convert-source-map: 2.0.0
+ react: 19.1.1
+ react-native: 0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1)
+ semver: 7.7.2
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ react-native-worklets@0.6.0(@babel/core@7.28.4)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ convert-source-map: 2.0.0
+ react: 19.1.1
+ react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
+ semver: 7.7.2
+ transitivePeerDependencies:
+ - supports-color
optional: true
react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@18.3.23)(react@19.1.1):
@@ -25609,40 +25899,6 @@ snapshots:
flow-enums-runtime: 0.0.6
glob: 7.2.3
invariant: 2.2.4
- react: 19.1.0
- react-native: 0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0)
-
- react-native-gesture-handler@2.28.0(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1):
- dependencies:
- '@egjs/hammerjs': 2.0.17
- hoist-non-react-statics: 3.3.2
- invariant: 2.2.4
- react: 19.1.1
- react-native: 0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1)
- optional: true
- optional: true
-
- react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@18.3.23)(react@19.1.1):
- dependencies:
- '@jest/create-cache-key-function': 29.7.0
- '@react-native/assets-registry': 0.80.2
- '@react-native/codegen': 0.80.2(@babel/core@7.28.4)
- '@react-native/community-cli-plugin': 0.80.2(@react-native-community/cli@20.0.1(typescript@5.9.2))
- '@react-native/gradle-plugin': 0.80.2
- '@react-native/js-polyfills': 0.80.2
- '@react-native/normalize-colors': 0.80.2
- '@react-native/virtualized-lists': 0.80.2(@types/react@19.1.12)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- abort-controller: 3.0.0
- anser: 1.4.10
- ansi-regex: 5.0.1
- babel-jest: 29.7.0(@babel/core@7.28.4)
- babel-plugin-syntax-hermes-parser: 0.28.1
- base64-js: 1.5.1
- chalk: 4.1.2
- commander: 12.1.0
- flow-enums-runtime: 0.0.6
- glob: 7.2.3
- invariant: 2.2.4
jest-environment-node: 29.7.0
memoize-one: 5.2.1
metro-runtime: 0.82.5
@@ -25661,54 +25917,7 @@ snapshots:
ws: 6.2.3
yargs: 17.7.2
optionalDependencies:
- '@types/react': 19.1.12
- transitivePeerDependencies:
- - '@babel/core'
- - '@react-native-community/cli'
- - bufferutil
- - supports-color
- - utf-8-validate
-
- react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1):
- dependencies:
- '@jest/create-cache-key-function': 29.7.0
- '@react-native/assets-registry': 0.80.2
- '@react-native/codegen': 0.80.2(@babel/core@7.28.4)
- '@react-native/community-cli-plugin': 0.80.2(@react-native-community/cli@20.0.1(typescript@5.9.2))
- '@react-native/gradle-plugin': 0.80.2
- '@react-native/js-polyfills': 0.80.2
- '@react-native/normalize-colors': 0.80.2
- '@react-native/virtualized-lists': 0.80.2(@types/react@19.1.12)(react-native@0.80.2(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
- abort-controller: 3.0.0
- anser: 1.4.10
- ansi-regex: 5.0.1
- babel-jest: 29.7.0(@babel/core@7.28.4)
- babel-plugin-syntax-hermes-parser: 0.28.1
- base64-js: 1.5.1
- chalk: 4.1.2
- commander: 12.1.0
- flow-enums-runtime: 0.0.6
- glob: 7.2.3
- invariant: 2.2.4
- jest-environment-node: 29.7.0
- memoize-one: 5.2.1
- metro-runtime: 0.82.5
- metro-source-map: 0.82.5
- nullthrows: 1.1.1
- pretty-format: 29.7.0
- promise: 8.3.0
- react: 19.1.1
- react-devtools-core: 6.1.5
- react-refresh: 0.14.2
- regenerator-runtime: 0.13.11
- scheduler: 0.26.0
- semver: 7.7.2
- stacktrace-parser: 0.1.11
- whatwg-fetch: 3.6.20
- ws: 6.2.3
- yargs: 17.7.2
- optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 18.3.23
transitivePeerDependencies:
- '@babel/core'
- '@react-native-community/cli'
@@ -25763,16 +25972,63 @@ snapshots:
- supports-color
- utf-8-validate
- react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1):
+ react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0):
dependencies:
'@jest/create-cache-key-function': 29.7.0
- '@react-native/assets-registry': 0.81.0
- '@react-native/codegen': 0.81.0(@babel/core@7.28.4)
- '@react-native/community-cli-plugin': 0.81.0(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))
- '@react-native/gradle-plugin': 0.81.0
- '@react-native/js-polyfills': 0.81.0
- '@react-native/normalize-colors': 0.81.0
- '@react-native/virtualized-lists': 0.81.0(@types/react@19.1.12)(react-native@0.81.0(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
+ '@react-native/assets-registry': 0.81.4
+ '@react-native/codegen': 0.81.4(@babel/core@7.28.4)
+ '@react-native/community-cli-plugin': 0.81.4(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))
+ '@react-native/gradle-plugin': 0.81.4
+ '@react-native/js-polyfills': 0.81.4
+ '@react-native/normalize-colors': 0.81.4
+ '@react-native/virtualized-lists': 0.81.4(@types/react@19.1.12)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
+ abort-controller: 3.0.0
+ anser: 1.4.10
+ ansi-regex: 5.0.1
+ babel-jest: 29.7.0(@babel/core@7.28.4)
+ babel-plugin-syntax-hermes-parser: 0.29.1
+ base64-js: 1.5.1
+ commander: 12.1.0
+ flow-enums-runtime: 0.0.6
+ glob: 7.2.3
+ invariant: 2.2.4
+ jest-environment-node: 29.7.0
+ memoize-one: 5.2.1
+ metro-runtime: 0.83.1
+ metro-source-map: 0.83.1
+ nullthrows: 1.1.1
+ pretty-format: 29.7.0
+ promise: 8.3.0
+ react: 19.1.0
+ react-devtools-core: 6.1.5
+ react-refresh: 0.14.2
+ regenerator-runtime: 0.13.11
+ scheduler: 0.26.0
+ semver: 7.7.2
+ stacktrace-parser: 0.1.11
+ whatwg-fetch: 3.6.20
+ ws: 6.2.3
+ yargs: 17.7.2
+ optionalDependencies:
+ '@types/react': 19.1.12
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@react-native-community/cli'
+ - '@react-native/metro-config'
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1):
+ dependencies:
+ '@jest/create-cache-key-function': 29.7.0
+ '@react-native/assets-registry': 0.81.4
+ '@react-native/codegen': 0.81.4(@babel/core@7.28.4)
+ '@react-native/community-cli-plugin': 0.81.4(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))
+ '@react-native/gradle-plugin': 0.81.4
+ '@react-native/js-polyfills': 0.81.4
+ '@react-native/normalize-colors': 0.81.4
+ '@react-native/virtualized-lists': 0.81.4(@types/react@19.1.12)(react-native@0.81.4(@babel/core@7.28.4)(@react-native-community/cli@20.0.1(typescript@5.9.2))(@react-native/metro-config@0.81.0(@babel/core@7.28.4))(@types/react@19.1.12)(react@19.1.1))(react@19.1.1)
abort-controller: 3.0.0
anser: 1.4.10
ansi-regex: 5.0.1
@@ -25810,7 +26066,6 @@ snapshots:
- supports-color
- utf-8-validate
optional: true
- optional: true
react-promise-suspense@0.3.4:
dependencies:
@@ -26869,7 +27124,6 @@ snapshots:
stylehacks@7.0.5(postcss@8.5.6):
dependencies:
- browserslist: 4.26.0
browserslist: 4.26.0
postcss: 8.5.6
postcss-selector-parser: 7.1.0
@@ -27250,7 +27504,6 @@ snapshots:
fix-dts-default-cjs-exports: 1.0.1
hookable: 5.5.3
jiti: 2.6.0
- jiti: 2.6.0
magic-string: 0.30.19
mkdist: 2.3.0(sass@1.90.0)(typescript@5.9.2)(vue@3.5.19(typescript@5.9.2))
mlly: 1.7.4
@@ -27452,7 +27705,6 @@ snapshots:
citty: 0.1.6
defu: 6.1.4
jiti: 2.6.0
- jiti: 2.6.0
knitwork: 1.2.0
scule: 1.3.0
@@ -27590,7 +27842,7 @@ snapshots:
d3-time: 3.1.0
d3-timer: 3.0.1
- vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
+ vinxi@0.5.8(@azure/identity@4.11.1)(@libsql/client@0.15.14)(@netlify/blobs@10.0.8)(@types/node@24.4.0)(better-sqlite3@12.2.0)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(ioredis@5.7.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(mysql2@3.14.4)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
@@ -27623,7 +27875,7 @@ snapshots:
ufo: 1.6.1
unctx: 2.4.1
unenv: 1.10.0
- unstorage: 1.16.1(@azure/identity@4.11.1)(@netlify/blobs@10.0.8)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(prisma@5.22.0))(mysql2@3.14.4))(ioredis@5.7.0)
+ unstorage: 1.16.1(@azure/identity@4.11.1)(@netlify/blobs@10.0.8)(db0@0.3.2(@libsql/client@0.15.14)(better-sqlite3@12.2.0)(drizzle-orm@0.44.5(@cloudflare/workers-types@4.20250903.0)(@libsql/client@0.15.14)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(bun-types@1.2.21(@types/react@19.1.12))(kysely@0.28.5)(mysql2@3.14.4)(pg@8.16.3)(postgres@3.4.7)(prisma@5.22.0))(mysql2@3.14.4))(ioredis@5.7.0)
vite: 6.3.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
zod: 3.25.76
transitivePeerDependencies:
@@ -27668,7 +27920,6 @@ snapshots:
- xml2js
- yaml
- vite-node@3.2.4(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
vite-node@3.2.4(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
cac: 6.7.14
@@ -27676,7 +27927,6 @@ snapshots:
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -27691,7 +27941,6 @@ snapshots:
- tsx
- yaml
- vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
dependencies:
'@babel/core': 7.28.4
@@ -27702,12 +27951,9 @@ snapshots:
solid-refresh: 0.6.3(solid-js@1.9.9)
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vitefu: 1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vitefu: 1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
transitivePeerDependencies:
- supports-color
- vite@6.3.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
vite@6.3.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
esbuild: 0.25.9
@@ -27720,7 +27966,6 @@ snapshots:
'@types/node': 24.4.0
fsevents: 2.3.3
jiti: 2.6.0
- jiti: 2.6.0
less: 4.4.1
lightningcss: 1.30.1
sass: 1.90.0
@@ -27728,7 +27973,6 @@ snapshots:
tsx: 4.20.5
yaml: 2.8.1
- vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
esbuild: 0.25.9
@@ -27741,7 +27985,6 @@ snapshots:
'@types/node': 24.4.0
fsevents: 2.3.3
jiti: 2.6.0
- jiti: 2.6.0
less: 4.4.1
lightningcss: 1.30.1
sass: 1.90.0
@@ -27749,19 +27992,15 @@ snapshots:
tsx: 4.20.5
yaml: 2.8.1
- vitefu@1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
vitefu@1.1.1(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)):
optionalDependencies:
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.4.0)(happy-dom@18.0.1)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
- '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -27771,7 +28010,6 @@ snapshots:
debug: 4.4.1
expect-type: 1.2.1
magic-string: 0.30.19
- magic-string: 0.30.19
pathe: 2.0.3
picomatch: 4.0.3
std-env: 3.9.0
@@ -27782,8 +28020,6 @@ snapshots:
tinyrainbow: 2.0.0
vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
vite-node: 3.2.4(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite: 7.1.5(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
- vite-node: 3.2.4(@types/node@24.4.0)(jiti@2.6.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
diff --git a/tsconfig.json b/tsconfig.json
index f0978138..e6050b66 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,83 +2,18 @@
"compilerOptions": {
"strict": true,
"target": "esnext",
+ "module": "esnext",
+ "moduleResolution": "bundler",
"downlevelIteration": true,
"baseUrl": ".",
- "strict": true,
- "target": "esnext",
- "downlevelIteration": true,
"esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "bundler",
- "module": "esnext",
- "moduleResolution": "bundler",
"skipLibCheck": true,
"verbatimModuleSyntax": true,
- "noUnusedLocals": false,
- "noUnusedParameters": false,
- "noUnusedLocals": false,
- "noUnusedParameters": false,
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": false,
- "declaration": true,
- "emitDeclarationOnly": true,
- "composite": true,
"incremental": true,
"noErrorTruncation": true,
- "types": ["node"]
+ "types": ["node", "bun"]
},
- "references": [
- {
- "path": "./packages/better-auth"
- },
- {
- "path": "./packages/cli"
- },
- {
- "path": "./packages/expo"
- },
- {
- "path": "./packages/sso"
- },
- {
- "path": "./packages/stripe"
- }
- ],
- "files": [],
- "include": [],
- "exactOptionalPropertyTypes": false,
- "declaration": true,
- "emitDeclarationOnly": true,
- "composite": true,
- "incremental": true,
- "noErrorTruncation": true,
- "types": ["node"],
- "paths": {
- "better-auth": ["./packages/better-auth/src"],
- "better-auth/*": ["./packages/better-auth/src/*"]
- }
- },
- "references": [
- {
- "path": "./packages/better-auth"
- },
- {
- "path": "./packages/cli"
- },
- {
- "path": "./packages/cli/tsconfig.test.json"
- },
- {
- "path": "./packages/expo"
- },
- {
- "path": "./packages/sso"
- },
- {
- "path": "./packages/stripe"
- }
- ],
- "files": [],
- "include": [],
- "exclude": ["**/dist/**", "**/node_modules/**", "**/examples/**"]
+ "exclude": ["**/dist/**", "**/node_modules/**"]
}