mirror of
https://github.com/better-auth/better-auth.git
synced 2026-06-03 21:06:40 -05:00
fix: oauth related tests
This commit is contained in:
@@ -23,8 +23,8 @@
|
||||
"@rn-primitives/slot": "^1.1.0",
|
||||
"@rn-primitives/types": "^1.1.0",
|
||||
"babel-plugin-transform-import-meta": "^2.2.1",
|
||||
"better-auth": "workspace:*",
|
||||
"expo": "~51.0.38",
|
||||
"@better-auth/expo": "workspace:*",
|
||||
"expo-constants": "~16.0.2",
|
||||
"expo-font": "~12.0.9",
|
||||
"expo-linking": "~6.3.1",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"dependencies": {
|
||||
"@hookform/resolvers": "^3.9.0",
|
||||
"@libsql/client": "^0.12.0",
|
||||
"@better-auth/expo": "workspace:*",
|
||||
"@libsql/kysely-libsql": "^0.4.1",
|
||||
"@prisma/adapter-libsql": "^5.19.1",
|
||||
"@prisma/client": "^5.19.1",
|
||||
|
||||
@@ -229,9 +229,6 @@
|
||||
"@types/react": "^18.3.3",
|
||||
"better-sqlite3": "^11.3.0",
|
||||
"drizzle-orm": "^0.33.0",
|
||||
"expo-linking": "~6.3.1",
|
||||
"expo-secure-store": "~13.0.2",
|
||||
"expo-web-browser": "~13.0.3",
|
||||
"happy-dom": "^15.7.4",
|
||||
"hono": "^4.5.4",
|
||||
"listhen": "^1.7.2",
|
||||
|
||||
@@ -56,6 +56,7 @@ describe("account", async () => {
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const { headers } = await signInWithTestUser();
|
||||
it("should list all accounts", async () => {
|
||||
const accounts = await client.listAccounts({
|
||||
@@ -87,17 +88,14 @@ describe("account", async () => {
|
||||
);
|
||||
expect(linkAccountRes.data).toMatchObject({
|
||||
url: expect.stringContaining("google.com"),
|
||||
codeVerifier: expect.any(String),
|
||||
state: {
|
||||
hash: expect.any(String),
|
||||
raw: expect.any(String),
|
||||
},
|
||||
redirect: true,
|
||||
});
|
||||
const state =
|
||||
new URL(linkAccountRes.data!.url).searchParams.get("state") || "";
|
||||
email = "test@test.com";
|
||||
await client.$fetch("/callback/google", {
|
||||
query: {
|
||||
state: linkAccountRes.data?.state.raw,
|
||||
state,
|
||||
code: "test",
|
||||
},
|
||||
method: "GET",
|
||||
|
||||
@@ -74,44 +74,14 @@ export const linkSocialAccount = createAuthEndpoint(
|
||||
message: "Provider not found",
|
||||
});
|
||||
}
|
||||
const cookie = c.context.authCookies;
|
||||
const currentURL = c.query?.currentURL
|
||||
? new URL(c.query?.currentURL)
|
||||
: null;
|
||||
|
||||
const callbackURL = c.body.callbackURL?.startsWith("http")
|
||||
? c.body.callbackURL
|
||||
: `${currentURL?.origin}${c.body.callbackURL || ""}`;
|
||||
|
||||
const state = await generateState(
|
||||
callbackURL || currentURL?.origin || c.context.options.baseURL,
|
||||
{
|
||||
email: session.user.email,
|
||||
userId: session.user.id,
|
||||
},
|
||||
);
|
||||
await c.setSignedCookie(
|
||||
cookie.state.name,
|
||||
state.hash,
|
||||
c.context.secret,
|
||||
cookie.state.options,
|
||||
);
|
||||
const codeVerifier = generateCodeVerifier();
|
||||
await c.setSignedCookie(
|
||||
cookie.pkCodeVerifier.name,
|
||||
codeVerifier,
|
||||
c.context.secret,
|
||||
cookie.pkCodeVerifier.options,
|
||||
);
|
||||
const state = await generateState(c);
|
||||
const url = await provider.createAuthorizationURL({
|
||||
state: state.raw,
|
||||
codeVerifier,
|
||||
state: state.state,
|
||||
codeVerifier: state.codeVerifier,
|
||||
redirectURI: `${c.context.baseURL}/callback/${provider.id}`,
|
||||
});
|
||||
return c.json({
|
||||
url: url.toString(),
|
||||
state: state,
|
||||
codeVerifier,
|
||||
redirect: true,
|
||||
});
|
||||
},
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { getTestInstance } from "../../test-utils/test-instance";
|
||||
import { expo } from ".";
|
||||
import { expoClient } from "./client";
|
||||
|
||||
vi.mock("expo-web-browser", async () => {
|
||||
return {
|
||||
openAuthSessionAsync: vi.fn(async (...args) => {
|
||||
fn(...args);
|
||||
return {
|
||||
type: "success",
|
||||
url: "better-auth://?cookie=better-auth.session_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMzQwZj",
|
||||
};
|
||||
}),
|
||||
};
|
||||
});
|
||||
|
||||
const fn = vi.fn();
|
||||
|
||||
describe("expo", async () => {
|
||||
const storage = new Map<string, string>();
|
||||
const { client, testUser } = await getTestInstance(
|
||||
{
|
||||
plugins: [expo()],
|
||||
trustedOrigins: ["better-auth://"],
|
||||
},
|
||||
{
|
||||
clientOptions: {
|
||||
plugins: [
|
||||
expoClient({
|
||||
scheme: "better-auth",
|
||||
storage: {
|
||||
getItemAsync(key) {
|
||||
return Promise.resolve(storage.get(key) || null);
|
||||
},
|
||||
setItemAsync(key, value) {
|
||||
storage.set(key, value);
|
||||
},
|
||||
deleteItemAsync(key) {
|
||||
storage.delete(key);
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
it("should store cookie with expires date", async () => {
|
||||
await client.signIn.email({
|
||||
email: testUser.email,
|
||||
password: testUser.password,
|
||||
});
|
||||
const storedCookie = storage.get("better-auth_cookie");
|
||||
expect(storedCookie).toBeDefined();
|
||||
const parsedCookie = JSON.parse(storedCookie || "");
|
||||
expect(parsedCookie["better-auth.session_token"]).toMatchObject({
|
||||
value: expect.any(String),
|
||||
expires: expect.any(String),
|
||||
});
|
||||
});
|
||||
|
||||
it("should send cookie and get session", async () => {
|
||||
const { data } = await client.getSession();
|
||||
expect(data).toMatchObject({
|
||||
session: expect.any(Object),
|
||||
user: expect.any(Object),
|
||||
});
|
||||
});
|
||||
|
||||
it("should use the scheme to open the browser", async () => {
|
||||
const { data: res } = await client.signIn.social({
|
||||
provider: "google",
|
||||
callbackURL: "/dashboard",
|
||||
});
|
||||
expect(res).toMatchObject({
|
||||
url: expect.stringContaining("accounts.google"),
|
||||
});
|
||||
expect(fn).toHaveBeenCalledWith(
|
||||
expect.stringContaining("accounts.google"),
|
||||
"better-auth:///dashboard",
|
||||
);
|
||||
});
|
||||
});
|
||||
36
packages/expo/package.json
Normal file
36
packages/expo/package.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "@better-auth/expo",
|
||||
"version": "0.6.3-beta.3",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"test": "vitest",
|
||||
"build": "tsup --dts --minify --clean",
|
||||
"dev": "tsup --watch --sourcemap --dts"
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.mjs",
|
||||
"require": "./dist/index.js"
|
||||
},
|
||||
"./client": {
|
||||
"types": "./dist/client.d.ts",
|
||||
"import": "./dist/client.mjs",
|
||||
"require": "./dist/client.js"
|
||||
}
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"better-auth": "workspace:*",
|
||||
"better-sqlite3": "^11.5.0",
|
||||
"expo-constants": "~16.0.2",
|
||||
"expo-linking": "~6.3.1",
|
||||
"expo-secure-store": "~13.0.2",
|
||||
"expo-web-browser": "~13.0.3",
|
||||
"vitest": "^1.6.0"
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,44 @@ import type { BetterAuthClientPlugin, Store } from "better-auth";
|
||||
import * as Browser from "expo-web-browser";
|
||||
import * as Linking from "expo-linking";
|
||||
import * as SecureStorage from "expo-secure-store";
|
||||
import { parseSetCookieHeader } from "../../cookies";
|
||||
|
||||
interface CookieAttributes {
|
||||
value: string;
|
||||
expires?: Date;
|
||||
"max-age"?: number;
|
||||
domain?: string;
|
||||
path?: string;
|
||||
secure?: boolean;
|
||||
httpOnly?: boolean;
|
||||
sameSite?: "Strict" | "Lax" | "None";
|
||||
}
|
||||
|
||||
function parseSetCookieHeader(header: string): Map<string, CookieAttributes> {
|
||||
const cookieMap = new Map<string, CookieAttributes>();
|
||||
const cookies = header.split(", ");
|
||||
cookies.forEach((cookie) => {
|
||||
const [nameValue, ...attributes] = cookie.split("; ");
|
||||
const [name, value] = nameValue.split("=");
|
||||
|
||||
const cookieObj: CookieAttributes = { value };
|
||||
|
||||
attributes.forEach((attr) => {
|
||||
const [attrName, attrValue] = attr.split("=");
|
||||
cookieObj[attrName.toLowerCase() as "value"] = attrValue;
|
||||
});
|
||||
|
||||
cookieMap.set(name, cookieObj);
|
||||
});
|
||||
|
||||
return cookieMap;
|
||||
}
|
||||
|
||||
interface ExpoClientOptions {
|
||||
scheme: string;
|
||||
storage?: {
|
||||
getItemAsync: (key: string) => Promise<string | null> | string | null;
|
||||
setItemAsync: (key: string, value: string) => Promise<void> | void;
|
||||
deleteItemAsync: (key: string) => Promise<void> | void;
|
||||
setItemAsync: (key: string, value: string) => Promise<any> | any;
|
||||
deleteItemAsync: (key: string) => Promise<any> | any;
|
||||
};
|
||||
cookies?: {
|
||||
name?: string;
|
||||
116
packages/expo/src/expo.test.ts
Normal file
116
packages/expo/src/expo.test.ts
Normal file
@@ -0,0 +1,116 @@
|
||||
import { createAuthClient } from "better-auth/client";
|
||||
import Database from "better-sqlite3";
|
||||
import { beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { expo } from ".";
|
||||
import { expoClient } from "./client";
|
||||
import { betterAuth } from "better-auth";
|
||||
import { getMigrations } from "better-auth/db";
|
||||
|
||||
vi.mock("expo-web-browser", async () => {
|
||||
return {
|
||||
openAuthSessionAsync: vi.fn(async (...args) => {
|
||||
fn(...args);
|
||||
return {
|
||||
type: "success",
|
||||
url: "better-auth://?cookie=better-auth.session_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMzQwZj",
|
||||
};
|
||||
}),
|
||||
};
|
||||
});
|
||||
vi.mock("expo-linking", async () => {
|
||||
return {
|
||||
createURL: vi.fn((url) => `better-auth://${url}`),
|
||||
};
|
||||
});
|
||||
|
||||
vi.mock("expo-secure-store", async () => {
|
||||
return {
|
||||
getItemAsync: vi.fn(async (key) => null),
|
||||
setItemAsync: vi.fn(),
|
||||
deleteItemAsync: vi.fn(),
|
||||
};
|
||||
});
|
||||
|
||||
const fn = vi.fn();
|
||||
|
||||
describe("expo", async () => {
|
||||
const storage = new Map<string, string>();
|
||||
|
||||
const auth = betterAuth({
|
||||
baseURL: "http://localhost:3000",
|
||||
database: new Database(":memory:"),
|
||||
emailAndPassword: {
|
||||
enabled: true,
|
||||
},
|
||||
socialProviders: {
|
||||
google: {
|
||||
clientId: "test",
|
||||
clientSecret: "test",
|
||||
},
|
||||
},
|
||||
plugins: [expo()],
|
||||
trustedOrigins: ["better-auth://"],
|
||||
});
|
||||
|
||||
const client = createAuthClient({
|
||||
baseURL: "http://localhost:3000",
|
||||
fetchOptions: {
|
||||
customFetchImpl: (url, init) => {
|
||||
const req = new Request(url.toString(), init);
|
||||
return auth.handler(req);
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
expoClient({
|
||||
scheme: "better-auth",
|
||||
storage: {
|
||||
getItemAsync: async (key) => storage.get(key) || null,
|
||||
setItemAsync: async (key, value) => storage.set(key, value),
|
||||
deleteItemAsync: async (key) => storage.delete(key),
|
||||
},
|
||||
}),
|
||||
],
|
||||
});
|
||||
beforeAll(async () => {
|
||||
const { runMigrations } = await getMigrations(auth.options);
|
||||
await runMigrations();
|
||||
});
|
||||
|
||||
it("should store cookie with expires date", async () => {
|
||||
const testUser = {
|
||||
email: "test@test.com",
|
||||
password: "password",
|
||||
name: "Test User",
|
||||
};
|
||||
await client.signUp.email(testUser);
|
||||
const storedCookie = storage.get("better-auth_cookie");
|
||||
expect(storedCookie).toBeDefined();
|
||||
const parsedCookie = JSON.parse(storedCookie || "");
|
||||
expect(parsedCookie["better-auth.session_token"]).toMatchObject({
|
||||
value: expect.any(String),
|
||||
expires: expect.any(String),
|
||||
});
|
||||
});
|
||||
|
||||
it("should send cookie and get session", async () => {
|
||||
const { data } = await client.getSession();
|
||||
expect(data).toMatchObject({
|
||||
session: expect.any(Object),
|
||||
user: expect.any(Object),
|
||||
});
|
||||
});
|
||||
|
||||
it("should use the scheme to open the browser", async () => {
|
||||
const { data: res } = await client.signIn.social({
|
||||
provider: "google",
|
||||
callbackURL: "/dashboard",
|
||||
});
|
||||
expect(res).toMatchObject({
|
||||
url: expect.stringContaining("accounts.google"),
|
||||
});
|
||||
expect(fn).toHaveBeenCalledWith(
|
||||
expect.stringContaining("accounts.google"),
|
||||
"better-auth:///dashboard",
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -1,16 +1,16 @@
|
||||
import type { BetterAuthPlugin } from "better-auth";
|
||||
import { isDevelopment } from "../../utils/env";
|
||||
|
||||
export const expo = () => {
|
||||
return {
|
||||
id: "expo",
|
||||
init: (ctx) => {
|
||||
init: () => {
|
||||
return {
|
||||
options: {
|
||||
/**
|
||||
* Add expo go as a trusted origin on dev
|
||||
*/
|
||||
trustedOrigins: isDevelopment ? ["exp://"] : [],
|
||||
trustedOrigins:
|
||||
process.env.NODE_ENV === "development" ? ["exp://"] : [],
|
||||
},
|
||||
};
|
||||
},
|
||||
@@ -43,7 +43,6 @@ export const expo = () => {
|
||||
const url = new URL(location);
|
||||
url.searchParams.set("cookie", cookie);
|
||||
response.headers.set("location", url.toString());
|
||||
console.log("Redirecting to", url.toString());
|
||||
return {
|
||||
response,
|
||||
};
|
||||
20
packages/expo/tsconfig.json
Normal file
20
packages/expo/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "es2022",
|
||||
"allowJs": true,
|
||||
"resolveJsonModule": true,
|
||||
"module": "ESNext",
|
||||
"noEmit": true,
|
||||
"moduleResolution": "Bundler",
|
||||
"moduleDetection": "force",
|
||||
"isolatedModules": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"strict": true,
|
||||
"noImplicitOverride": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"exclude": ["node_modules"],
|
||||
"include": ["src"]
|
||||
}
|
||||
13
packages/expo/tsup.config.ts
Normal file
13
packages/expo/tsup.config.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { defineConfig } from "tsup";
|
||||
|
||||
export default defineConfig((env) => {
|
||||
return {
|
||||
entry: {
|
||||
index: "src/index.ts",
|
||||
client: "src/client.ts",
|
||||
},
|
||||
format: ["esm", "cjs"],
|
||||
bundle: true,
|
||||
skipNodeModulesBundle: true,
|
||||
};
|
||||
});
|
||||
488
pnpm-lock.yaml
generated
488
pnpm-lock.yaml
generated
@@ -684,6 +684,9 @@ importers:
|
||||
|
||||
examples/expo-example:
|
||||
dependencies:
|
||||
'@better-auth/expo':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/expo
|
||||
'@expo/vector-icons':
|
||||
specifier: ^14.0.2
|
||||
version: 14.0.4
|
||||
@@ -711,9 +714,6 @@ importers:
|
||||
babel-plugin-transform-import-meta:
|
||||
specifier: ^2.2.1
|
||||
version: 2.2.1(@babel/core@7.26.0)
|
||||
better-auth:
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/better-auth
|
||||
expo:
|
||||
specifier: ~51.0.38
|
||||
version: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
@@ -808,6 +808,9 @@ importers:
|
||||
|
||||
examples/nextjs-example:
|
||||
dependencies:
|
||||
'@better-auth/expo':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/expo
|
||||
'@hookform/resolvers':
|
||||
specifier: ^3.9.0
|
||||
version: 3.9.0(react-hook-form@7.53.0(react@19.0.0-rc-7771d3a7-20240827))
|
||||
@@ -1105,7 +1108,7 @@ importers:
|
||||
version: 2.5.2
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7(tailwindcss@3.4.14)
|
||||
version: 1.0.7(tailwindcss@3.4.14(ts-node@10.9.1(@types/node@22.8.4)(typescript@5.6.3)))
|
||||
v-calendar:
|
||||
specifier: ^3.1.2
|
||||
version: 3.1.2(@popperjs/core@2.11.8)(vue@3.5.12(typescript@5.6.3))
|
||||
@@ -1648,15 +1651,6 @@ importers:
|
||||
drizzle-orm:
|
||||
specifier: ^0.33.0
|
||||
version: 0.33.0(@cloudflare/workers-types@4.20241011.0)(@libsql/client@0.12.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(@types/react@18.3.9)(better-sqlite3@11.3.0)(bun-types@1.1.32)(kysely@0.27.4)(mysql2@3.11.3)(pg@8.13.0)(postgres@3.4.4)(prisma@5.20.0)(react@18.3.1)
|
||||
expo-linking:
|
||||
specifier: ~6.3.1
|
||||
version: 6.3.1(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
expo-secure-store:
|
||||
specifier: ~13.0.2
|
||||
version: 13.0.2(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
expo-web-browser:
|
||||
specifier: ~13.0.3
|
||||
version: 13.0.3(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
happy-dom:
|
||||
specifier: ^15.7.4
|
||||
version: 15.7.4
|
||||
@@ -1774,38 +1768,28 @@ importers:
|
||||
version: 1.6.0(@edge-runtime/vm@3.2.0)(@types/node@22.8.4)(happy-dom@15.7.4)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.33.0)
|
||||
|
||||
packages/expo:
|
||||
dependencies:
|
||||
'@better-fetch/fetch':
|
||||
specifier: 1.1.12
|
||||
version: 1.1.12
|
||||
nanostores:
|
||||
specifier: ^0.11.2
|
||||
version: 0.11.3
|
||||
react:
|
||||
specifier: 17.0.2
|
||||
version: 17.0.2
|
||||
react-native:
|
||||
specifier: ~0.74.6
|
||||
version: 0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@17.0.2)
|
||||
devDependencies:
|
||||
better-auth:
|
||||
specifier: workspace:^
|
||||
specifier: workspace:*
|
||||
version: link:../better-auth
|
||||
better-sqlite3:
|
||||
specifier: ^11.5.0
|
||||
version: 11.5.0
|
||||
expo-constants:
|
||||
specifier: ~16.0.2
|
||||
version: 16.0.2(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
version: 16.0.2(expo@51.0.38(encoding@0.1.13))
|
||||
expo-linking:
|
||||
specifier: ~6.3.1
|
||||
version: 6.3.1(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
version: 6.3.1(expo@51.0.38(encoding@0.1.13))
|
||||
expo-secure-store:
|
||||
specifier: ~13.0.2
|
||||
version: 13.0.2(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
version: 13.0.2(expo@51.0.38(encoding@0.1.13))
|
||||
expo-web-browser:
|
||||
specifier: ~13.0.3
|
||||
version: 13.0.3(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
unbuild:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0(typescript@5.6.3)
|
||||
version: 13.0.3(expo@51.0.38(encoding@0.1.13))
|
||||
vitest:
|
||||
specifier: ^1.6.0
|
||||
version: 1.6.0(@edge-runtime/vm@3.2.0)(@types/node@22.8.4)(happy-dom@15.7.4)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.33.0)
|
||||
|
||||
packages:
|
||||
|
||||
@@ -11498,10 +11482,6 @@ packages:
|
||||
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
globby@13.2.2:
|
||||
resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
globby@14.0.2:
|
||||
resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -13505,21 +13485,6 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
mkdist@1.6.0:
|
||||
resolution: {integrity: sha512-nD7J/mx33Lwm4Q4qoPgRBVA9JQNKgyE7fLo5vdPWVDdjz96pXglGERp/fRnGPCTB37Kykfxs5bDdXa9BWOT9nw==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
sass: ^1.78.0
|
||||
typescript: '>=5.5.4'
|
||||
vue-tsc: ^1.8.27 || ^2.0.21
|
||||
peerDependenciesMeta:
|
||||
sass:
|
||||
optional: true
|
||||
typescript:
|
||||
optional: true
|
||||
vue-tsc:
|
||||
optional: true
|
||||
|
||||
mlly@1.7.1:
|
||||
resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
|
||||
|
||||
@@ -15220,10 +15185,6 @@ packages:
|
||||
react: '>=16.13'
|
||||
react-dom: '>=16.13'
|
||||
|
||||
react@17.0.2:
|
||||
resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
react@18.3.1:
|
||||
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -15562,13 +15523,6 @@ packages:
|
||||
robust-predicates@3.0.2:
|
||||
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
|
||||
|
||||
rollup-plugin-dts@6.1.1:
|
||||
resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==}
|
||||
engines: {node: '>=16'}
|
||||
peerDependencies:
|
||||
rollup: ^3.29.4 || ^4
|
||||
typescript: ^4.5 || ^5.0
|
||||
|
||||
rollup-plugin-inject@3.0.2:
|
||||
resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
|
||||
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
|
||||
@@ -15589,11 +15543,6 @@ packages:
|
||||
rollup-pluginutils@2.8.2:
|
||||
resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
|
||||
|
||||
rollup@3.29.5:
|
||||
resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==}
|
||||
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
rollup@4.22.4:
|
||||
resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
@@ -15862,10 +15811,6 @@ packages:
|
||||
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
slash@4.0.0:
|
||||
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
slash@5.1.0:
|
||||
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
|
||||
engines: {node: '>=14.16'}
|
||||
@@ -16878,15 +16823,6 @@ packages:
|
||||
unbox-primitive@1.0.2:
|
||||
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
|
||||
|
||||
unbuild@2.0.0:
|
||||
resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
typescript: ^5.1.6
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
uncrypto@0.1.3:
|
||||
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
|
||||
|
||||
@@ -19144,6 +19080,12 @@ snapshots:
|
||||
'@babel/core': 7.26.0
|
||||
'@babel/helper-plugin-utils': 7.25.9
|
||||
|
||||
'@babel/plugin-transform-react-jsx-development@7.24.7':
|
||||
dependencies:
|
||||
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.26.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.0
|
||||
@@ -19369,6 +19311,17 @@ snapshots:
|
||||
'@babel/types': 7.26.0
|
||||
esutils: 2.0.3
|
||||
|
||||
'@babel/preset-react@7.24.7':
|
||||
dependencies:
|
||||
'@babel/helper-plugin-utils': 7.24.8
|
||||
'@babel/helper-validator-option': 7.24.8
|
||||
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2)
|
||||
'@babel/plugin-transform-react-jsx-development': 7.24.7
|
||||
'@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.26.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/preset-react@7.24.7(@babel/core@7.26.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.0
|
||||
@@ -19381,6 +19334,16 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/preset-typescript@7.24.7':
|
||||
dependencies:
|
||||
'@babel/helper-plugin-utils': 7.24.8
|
||||
'@babel/helper-validator-option': 7.24.8
|
||||
'@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
|
||||
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.26.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/preset-typescript@7.24.7(@babel/core@7.26.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.0
|
||||
@@ -21900,7 +21863,7 @@ snapshots:
|
||||
postcss: 8.4.47
|
||||
postcss-nesting: 12.1.5(postcss@8.4.47)
|
||||
tailwind-config-viewer: 2.0.4(tailwindcss@3.4.14)
|
||||
tailwindcss: 3.4.14
|
||||
tailwindcss: 3.4.14(ts-node@10.9.1(@types/node@22.8.4)(typescript@5.6.3))
|
||||
ufo: 1.5.4
|
||||
unctx: 2.3.1
|
||||
transitivePeerDependencies:
|
||||
@@ -25459,6 +25422,54 @@ snapshots:
|
||||
- '@babel/preset-env'
|
||||
- supports-color
|
||||
|
||||
'@react-native/babel-preset@0.74.87':
|
||||
dependencies:
|
||||
'@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.26.0)
|
||||
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.26.0)
|
||||
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0)
|
||||
'@babel/plugin-syntax-export-default-from': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.0)
|
||||
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0)
|
||||
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-flow-strip-types': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2)
|
||||
'@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/template': 7.25.9
|
||||
'@react-native/babel-plugin-codegen': 0.74.87(@babel/preset-env@7.26.0(@babel/core@7.26.0))
|
||||
babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0)
|
||||
react-refresh: 0.14.2
|
||||
transitivePeerDependencies:
|
||||
- '@babel/preset-env'
|
||||
- supports-color
|
||||
|
||||
'@react-native/babel-preset@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.0
|
||||
@@ -25672,15 +25683,6 @@ snapshots:
|
||||
|
||||
'@react-native/normalize-colors@0.74.88': {}
|
||||
|
||||
'@react-native/virtualized-lists@0.74.88(@types/react@18.3.12)(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@17.0.2))(react@17.0.2)':
|
||||
dependencies:
|
||||
invariant: 2.2.4
|
||||
nullthrows: 1.1.1
|
||||
react: 17.0.2
|
||||
react-native: 0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@17.0.2)
|
||||
optionalDependencies:
|
||||
'@types/react': 18.3.12
|
||||
|
||||
'@react-native/virtualized-lists@0.74.88(@types/react@18.3.12)(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)':
|
||||
dependencies:
|
||||
invariant: 2.2.4
|
||||
@@ -26090,25 +26092,10 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@rollup/plugin-alias@5.1.1(rollup@3.29.5)':
|
||||
optionalDependencies:
|
||||
rollup: 3.29.5
|
||||
|
||||
'@rollup/plugin-alias@5.1.1(rollup@4.22.4)':
|
||||
optionalDependencies:
|
||||
rollup: 4.22.4
|
||||
|
||||
'@rollup/plugin-commonjs@25.0.8(rollup@3.29.5)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.5)
|
||||
commondir: 1.0.1
|
||||
estree-walker: 2.0.2
|
||||
glob: 8.1.0
|
||||
is-reference: 1.2.1
|
||||
magic-string: 0.30.11
|
||||
optionalDependencies:
|
||||
rollup: 3.29.5
|
||||
|
||||
'@rollup/plugin-commonjs@25.0.8(rollup@4.22.4)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.22.4)
|
||||
@@ -26128,28 +26115,12 @@ snapshots:
|
||||
optionalDependencies:
|
||||
rollup: 4.22.4
|
||||
|
||||
'@rollup/plugin-json@6.1.0(rollup@3.29.5)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.5)
|
||||
optionalDependencies:
|
||||
rollup: 3.29.5
|
||||
|
||||
'@rollup/plugin-json@6.1.0(rollup@4.22.4)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.22.4)
|
||||
optionalDependencies:
|
||||
rollup: 4.22.4
|
||||
|
||||
'@rollup/plugin-node-resolve@15.3.0(rollup@3.29.5)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.5)
|
||||
'@types/resolve': 1.20.2
|
||||
deepmerge: 4.3.1
|
||||
is-module: 1.0.0
|
||||
resolve: 1.22.8
|
||||
optionalDependencies:
|
||||
rollup: 3.29.5
|
||||
|
||||
'@rollup/plugin-node-resolve@15.3.0(rollup@4.22.4)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.22.4)
|
||||
@@ -26160,13 +26131,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
rollup: 4.22.4
|
||||
|
||||
'@rollup/plugin-replace@5.0.7(rollup@3.29.5)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.5)
|
||||
magic-string: 0.30.11
|
||||
optionalDependencies:
|
||||
rollup: 3.29.5
|
||||
|
||||
'@rollup/plugin-replace@5.0.7(rollup@4.22.4)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.22.4)
|
||||
@@ -26187,14 +26151,6 @@ snapshots:
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
|
||||
'@rollup/pluginutils@5.1.2(rollup@3.29.5)':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
optionalDependencies:
|
||||
rollup: 3.29.5
|
||||
|
||||
'@rollup/pluginutils@5.1.2(rollup@4.22.4)':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
@@ -29240,6 +29196,23 @@ snapshots:
|
||||
'@babel/template': 7.25.9
|
||||
tslib: 2.7.0
|
||||
|
||||
babel-preset-expo@11.0.15:
|
||||
dependencies:
|
||||
'@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0)
|
||||
'@babel/preset-react': 7.24.7
|
||||
'@babel/preset-typescript': 7.24.7
|
||||
'@react-native/babel-preset': 0.74.87
|
||||
babel-plugin-react-compiler: 0.0.0-experimental-592953e-20240517
|
||||
babel-plugin-react-native-web: 0.19.13
|
||||
react-refresh: 0.14.2
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- '@babel/preset-env'
|
||||
- supports-color
|
||||
|
||||
babel-preset-expo@11.0.15(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)):
|
||||
dependencies:
|
||||
'@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.26.0)
|
||||
@@ -31974,6 +31947,15 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
expo-asset@10.0.10(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
expo-constants: 16.0.2(expo@51.0.38(encoding@0.1.13))
|
||||
invariant: 2.2.4
|
||||
md5-file: 3.2.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
expo-constants@16.0.2(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)):
|
||||
dependencies:
|
||||
'@expo/config': 9.0.4
|
||||
@@ -31982,19 +31964,40 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
expo-constants@16.0.2(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
'@expo/config': 9.0.4
|
||||
'@expo/env': 0.3.0
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
expo-file-system@17.0.1(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
|
||||
expo-file-system@17.0.1(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
|
||||
expo-font@12.0.10(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
fontfaceobserver: 2.3.0
|
||||
|
||||
expo-font@12.0.10(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
fontfaceobserver: 2.3.0
|
||||
|
||||
expo-keep-awake@13.0.2(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
|
||||
expo-keep-awake@13.0.2(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
|
||||
expo-linking@6.3.1(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo-constants: 16.0.2(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13))
|
||||
@@ -32003,6 +32006,14 @@ snapshots:
|
||||
- expo
|
||||
- supports-color
|
||||
|
||||
expo-linking@6.3.1(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo-constants: 16.0.2(expo@51.0.38(encoding@0.1.13))
|
||||
invariant: 2.2.4
|
||||
transitivePeerDependencies:
|
||||
- expo
|
||||
- supports-color
|
||||
|
||||
expo-modules-autolinking@1.11.3:
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
@@ -32048,6 +32059,10 @@ snapshots:
|
||||
dependencies:
|
||||
expo: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
|
||||
expo-secure-store@13.0.2(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
|
||||
expo-splash-screen@0.27.5(encoding@0.1.13)(expo-modules-autolinking@1.11.3)(expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)):
|
||||
dependencies:
|
||||
'@expo/prebuild-config': 7.0.6(encoding@0.1.13)(expo-modules-autolinking@1.11.3)
|
||||
@@ -32080,6 +32095,10 @@ snapshots:
|
||||
dependencies:
|
||||
expo: 51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
|
||||
expo-web-browser@13.0.3(expo@51.0.38(encoding@0.1.13)):
|
||||
dependencies:
|
||||
expo: 51.0.38(encoding@0.1.13)
|
||||
|
||||
expo@51.0.38(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13):
|
||||
dependencies:
|
||||
'@babel/runtime': 7.26.0
|
||||
@@ -32105,6 +32124,31 @@ snapshots:
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
expo@51.0.38(encoding@0.1.13):
|
||||
dependencies:
|
||||
'@babel/runtime': 7.26.0
|
||||
'@expo/cli': 0.18.30(encoding@0.1.13)(expo-modules-autolinking@1.11.3)
|
||||
'@expo/config': 9.0.4
|
||||
'@expo/config-plugins': 8.0.10
|
||||
'@expo/metro-config': 0.18.11
|
||||
'@expo/vector-icons': 14.0.4
|
||||
babel-preset-expo: 11.0.15
|
||||
expo-asset: 10.0.10(expo@51.0.38(encoding@0.1.13))
|
||||
expo-file-system: 17.0.1(expo@51.0.38(encoding@0.1.13))
|
||||
expo-font: 12.0.10(expo@51.0.38(encoding@0.1.13))
|
||||
expo-keep-awake: 13.0.2(expo@51.0.38(encoding@0.1.13))
|
||||
expo-modules-autolinking: 1.11.3
|
||||
expo-modules-core: 1.12.26
|
||||
fbemitter: 3.0.0(encoding@0.1.13)
|
||||
whatwg-url-without-unicode: 8.0.0-3
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- '@babel/preset-env'
|
||||
- bufferutil
|
||||
- encoding
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
exponential-backoff@3.1.1: {}
|
||||
|
||||
express@4.21.0:
|
||||
@@ -32890,14 +32934,6 @@ snapshots:
|
||||
merge2: 1.4.1
|
||||
slash: 3.0.0
|
||||
|
||||
globby@13.2.2:
|
||||
dependencies:
|
||||
dir-glob: 3.0.1
|
||||
fast-glob: 3.3.2
|
||||
ignore: 5.3.2
|
||||
merge2: 1.4.1
|
||||
slash: 4.0.0
|
||||
|
||||
globby@14.0.2:
|
||||
dependencies:
|
||||
'@sindresorhus/merge-streams': 2.3.0
|
||||
@@ -35661,24 +35697,6 @@ snapshots:
|
||||
|
||||
mkdirp@1.0.4: {}
|
||||
|
||||
mkdist@1.6.0(typescript@5.6.3):
|
||||
dependencies:
|
||||
autoprefixer: 10.4.20(postcss@8.4.47)
|
||||
citty: 0.1.6
|
||||
cssnano: 7.0.6(postcss@8.4.47)
|
||||
defu: 6.1.4
|
||||
esbuild: 0.24.0
|
||||
jiti: 1.21.6
|
||||
mlly: 1.7.1
|
||||
pathe: 1.1.2
|
||||
pkg-types: 1.2.0
|
||||
postcss: 8.4.47
|
||||
postcss-nested: 6.2.0(postcss@8.4.47)
|
||||
semver: 7.6.3
|
||||
tinyglobby: 0.2.9
|
||||
optionalDependencies:
|
||||
typescript: 5.6.3
|
||||
|
||||
mlly@1.7.1:
|
||||
dependencies:
|
||||
acorn: 8.12.1
|
||||
@@ -37703,57 +37721,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
|
||||
react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@17.0.2):
|
||||
dependencies:
|
||||
'@jest/create-cache-key-function': 29.7.0
|
||||
'@react-native-community/cli': 13.6.9(encoding@0.1.13)
|
||||
'@react-native-community/cli-platform-android': 13.6.9(encoding@0.1.13)
|
||||
'@react-native-community/cli-platform-ios': 13.6.9(encoding@0.1.13)
|
||||
'@react-native/assets-registry': 0.74.88
|
||||
'@react-native/codegen': 0.74.88(@babel/preset-env@7.26.0(@babel/core@7.26.0))
|
||||
'@react-native/community-cli-plugin': 0.74.88(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)
|
||||
'@react-native/gradle-plugin': 0.74.88
|
||||
'@react-native/js-polyfills': 0.74.88
|
||||
'@react-native/normalize-colors': 0.74.88
|
||||
'@react-native/virtualized-lists': 0.74.88(@types/react@18.3.12)(react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@17.0.2))(react@17.0.2)
|
||||
abort-controller: 3.0.0
|
||||
anser: 1.4.10
|
||||
ansi-regex: 5.0.1
|
||||
base64-js: 1.5.1
|
||||
chalk: 4.1.2
|
||||
event-target-shim: 5.0.1
|
||||
flow-enums-runtime: 0.0.6
|
||||
glob: 7.2.3
|
||||
invariant: 2.2.4
|
||||
jest-environment-node: 29.7.0
|
||||
jsc-android: 250231.0.0
|
||||
memoize-one: 5.2.1
|
||||
metro-runtime: 0.80.12
|
||||
metro-source-map: 0.80.12
|
||||
mkdirp: 0.5.6
|
||||
nullthrows: 1.1.1
|
||||
pretty-format: 26.6.2
|
||||
promise: 8.3.0
|
||||
react: 17.0.2
|
||||
react-devtools-core: 5.3.2
|
||||
react-refresh: 0.14.2
|
||||
react-shallow-renderer: 16.15.0(react@17.0.2)
|
||||
regenerator-runtime: 0.13.11
|
||||
scheduler: 0.24.0-canary-efb381bbf-20230505
|
||||
stacktrace-parser: 0.1.10
|
||||
whatwg-fetch: 3.6.20
|
||||
ws: 6.2.3
|
||||
yargs: 17.7.2
|
||||
optionalDependencies:
|
||||
'@types/react': 18.3.12
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- '@babel/preset-env'
|
||||
- bufferutil
|
||||
- encoding
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
react-native@0.74.6(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.12)(encoding@0.1.13)(react@18.3.1):
|
||||
dependencies:
|
||||
'@jest/create-cache-key-function': 29.7.0
|
||||
@@ -38167,12 +38134,6 @@ snapshots:
|
||||
'@remix-run/router': 1.19.2
|
||||
react: 18.3.1
|
||||
|
||||
react-shallow-renderer@16.15.0(react@17.0.2):
|
||||
dependencies:
|
||||
object-assign: 4.1.1
|
||||
react: 17.0.2
|
||||
react-is: 18.3.1
|
||||
|
||||
react-shallow-renderer@16.15.0(react@18.3.1):
|
||||
dependencies:
|
||||
object-assign: 4.1.1
|
||||
@@ -38286,11 +38247,6 @@ snapshots:
|
||||
react: 18.3.1
|
||||
react-dom: 18.3.1(react@18.3.1)
|
||||
|
||||
react@17.0.2:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
object-assign: 4.1.1
|
||||
|
||||
react@18.3.1:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
@@ -38802,14 +38758,6 @@ snapshots:
|
||||
|
||||
robust-predicates@3.0.2: {}
|
||||
|
||||
rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.3):
|
||||
dependencies:
|
||||
magic-string: 0.30.11
|
||||
rollup: 3.29.5
|
||||
typescript: 5.6.3
|
||||
optionalDependencies:
|
||||
'@babel/code-frame': 7.26.0
|
||||
|
||||
rollup-plugin-inject@3.0.2:
|
||||
dependencies:
|
||||
estree-walker: 0.6.1
|
||||
@@ -38836,10 +38784,6 @@ snapshots:
|
||||
estree-walker: 0.6.1
|
||||
optional: true
|
||||
|
||||
rollup@3.29.5:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
|
||||
rollup@4.22.4:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
@@ -39202,8 +39146,6 @@ snapshots:
|
||||
|
||||
slash@3.0.0: {}
|
||||
|
||||
slash@4.0.0: {}
|
||||
|
||||
slash@5.1.0: {}
|
||||
|
||||
slice-ansi@2.1.0:
|
||||
@@ -39762,7 +39704,7 @@ snapshots:
|
||||
open: 7.4.2
|
||||
portfinder: 1.0.32
|
||||
replace-in-file: 6.3.5
|
||||
tailwindcss: 3.4.14
|
||||
tailwindcss: 3.4.14(ts-node@10.9.1(@types/node@22.8.4)(typescript@5.6.3))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -39795,10 +39737,6 @@ snapshots:
|
||||
dependencies:
|
||||
tailwindcss: 3.4.14(ts-node@10.9.1(@types/node@22.8.4)(typescript@5.6.3))
|
||||
|
||||
tailwindcss-animate@1.0.7(tailwindcss@3.4.14):
|
||||
dependencies:
|
||||
tailwindcss: 3.4.14
|
||||
|
||||
tailwindcss@3.4.13(ts-node@10.9.1(@types/node@20.16.9)(typescript@5.6.2)):
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
@@ -39907,33 +39845,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
tailwindcss@3.4.14:
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
arg: 5.0.2
|
||||
chokidar: 3.6.0
|
||||
didyoumean: 1.2.2
|
||||
dlv: 1.1.3
|
||||
fast-glob: 3.3.2
|
||||
glob-parent: 6.0.2
|
||||
is-glob: 4.0.3
|
||||
jiti: 1.21.6
|
||||
lilconfig: 2.1.0
|
||||
micromatch: 4.0.8
|
||||
normalize-path: 3.0.0
|
||||
object-hash: 3.0.0
|
||||
picocolors: 1.1.0
|
||||
postcss: 8.4.47
|
||||
postcss-import: 15.1.0(postcss@8.4.47)
|
||||
postcss-js: 4.0.1(postcss@8.4.47)
|
||||
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@types/node@20.16.9)(typescript@5.6.3))
|
||||
postcss-nested: 6.2.0(postcss@8.4.47)
|
||||
postcss-selector-parser: 6.1.2
|
||||
resolve: 1.22.8
|
||||
sucrase: 3.35.0
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
tailwindcss@3.4.14(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2)):
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
@@ -40615,39 +40526,6 @@ snapshots:
|
||||
has-symbols: 1.0.3
|
||||
which-boxed-primitive: 1.0.2
|
||||
|
||||
unbuild@2.0.0(typescript@5.6.3):
|
||||
dependencies:
|
||||
'@rollup/plugin-alias': 5.1.1(rollup@3.29.5)
|
||||
'@rollup/plugin-commonjs': 25.0.8(rollup@3.29.5)
|
||||
'@rollup/plugin-json': 6.1.0(rollup@3.29.5)
|
||||
'@rollup/plugin-node-resolve': 15.3.0(rollup@3.29.5)
|
||||
'@rollup/plugin-replace': 5.0.7(rollup@3.29.5)
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.5)
|
||||
chalk: 5.3.0
|
||||
citty: 0.1.6
|
||||
consola: 3.2.3
|
||||
defu: 6.1.4
|
||||
esbuild: 0.19.12
|
||||
globby: 13.2.2
|
||||
hookable: 5.5.3
|
||||
jiti: 1.21.6
|
||||
magic-string: 0.30.11
|
||||
mkdist: 1.6.0(typescript@5.6.3)
|
||||
mlly: 1.7.1
|
||||
pathe: 1.1.2
|
||||
pkg-types: 1.2.0
|
||||
pretty-bytes: 6.1.1
|
||||
rollup: 3.29.5
|
||||
rollup-plugin-dts: 6.1.1(rollup@3.29.5)(typescript@5.6.3)
|
||||
scule: 1.3.0
|
||||
untyped: 1.5.0
|
||||
optionalDependencies:
|
||||
typescript: 5.6.3
|
||||
transitivePeerDependencies:
|
||||
- sass
|
||||
- supports-color
|
||||
- vue-tsc
|
||||
|
||||
uncrypto@0.1.3: {}
|
||||
|
||||
unctx@2.3.1:
|
||||
|
||||
Reference in New Issue
Block a user