feat: move password to argon2

This commit is contained in:
Bereket Engida
2024-09-06 21:25:59 +03:00
parent 761d8b54a0
commit 0397b2b7e9
20 changed files with 410 additions and 117 deletions

View File

@@ -1,9 +1,6 @@
--- # Better Auth
title: Introduction
description: Introduction to Better Auth.
---
Better Auth is a type-safe, framework-agnostic authentication library for TypeScript. It provides a comprehensive set of features out of the box and includes a plugin ecosystem that simplifies adding advanced functionalities with minimal code. Whether you need 2FA, multi-tenant support, or other complex features. It lets you focus on building your app instead of reinventing the wheel. Framework-agnostic, Comprehensive, extensible authentication library for TypeScript.
## Getting Started ## Getting Started

View File

@@ -1,4 +1,4 @@
import { auth } from "@/lib/auth"; import { auth } from "@/lib/_auth";
import { toNextJsHandler } from "better-auth/next-js"; import { toNextJsHandler } from "better-auth/next-js";
export const { POST, GET } = toNextJsHandler(auth); export const { POST, GET } = toNextJsHandler(auth);

View File

@@ -1,6 +1,6 @@
import { Organization } from "@/components/organization"; import { Organization } from "@/components/organization";
import UserCard from "@/components/user-card"; import UserCard from "@/components/user-card";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/_auth";
import { headers } from "next/headers"; import { headers } from "next/headers";
export default async function TypewriterEffectSmoothDemo() { export default async function TypewriterEffectSmoothDemo() {

View File

@@ -1,6 +1,12 @@
import { betterAuth } from "better-auth"; import { betterAuth } from "better-auth";
import { organization, passkey, twoFactor } from "better-auth/plugins"; import {
organization,
passkey,
twoFactor,
username,
} from "better-auth/plugins";
import { github, google } from "better-auth/social-providers"; import { github, google } from "better-auth/social-providers";
import { ac, admin } from "./permissions";
export const auth = betterAuth({ export const auth = betterAuth({
basePath: "/api/auth", basePath: "/api/auth",
@@ -30,6 +36,10 @@ export const auth = betterAuth({
async sendInvitationEmail(invitation, email) { async sendInvitationEmail(invitation, email) {
console.log({ invitation, email }); console.log({ invitation, email });
}, },
ac: ac,
roles: {
admin: admin,
},
}), }),
twoFactor({ twoFactor({
issuer: "BetterAuth", issuer: "BetterAuth",
@@ -44,5 +54,6 @@ export const auth = betterAuth({
rpName: "BetterAuth", rpName: "BetterAuth",
origin: "http://localhost:3000", origin: "http://localhost:3000",
}), }),
username(),
], ],
}); });

View File

@@ -3,17 +3,22 @@ import {
organizationClient, organizationClient,
twoFactorClient, twoFactorClient,
passkeyClient, passkeyClient,
usernameClient,
} from "better-auth/client/plugins"; } from "better-auth/client/plugins";
import { ac } from "./permissions";
export const authClient = createAuthClient({ export const authClient = createAuthClient({
fetchOptions: { fetchOptions: {
baseURL: "http://localhost:3000/api/auth", baseURL: "http://localhost:3000/api/auth",
}, },
plugins: [ plugins: [
organizationClient(), organizationClient({
ac: ac,
}),
twoFactorClient({ twoFactorClient({
twoFactorPage: "/two-factor", twoFactorPage: "/two-factor",
}), }),
passkeyClient(), passkeyClient(),
usernameClient(),
], ],
}); });

View File

@@ -0,0 +1,20 @@
import { betterAuth } from "better-auth";
import { twoFactor, organization, passkey } from "better-auth/plugins";
export const auth = betterAuth({
database: {
provider: "sqlite",
url: "./prisma/sqlite.db",
},
plugins: [
twoFactor({
issuer: "my app",
}),
organization(),
passkey({
rpID: "localhost",
rpName: "BetterAuth",
origin: "http://localhost:3000",
}),
],
});

View File

@@ -1,29 +1,19 @@
import { organization } from "better-auth/plugins"; import { createAccessControl } from "better-auth/plugins/access";
import { createAccessControl, AccessControl } from "better-auth/plugins/access";
const statement = { const statement = {
project: ["create"], project: ["create", "share", "delete"],
}; } as const;
const ac = createAccessControl(statement); export const ac = createAccessControl(statement);
const member = ac.newRole({ export const member = ac.newRole({
project: ["create"], project: ["create"],
}); });
const owner = ac.newRole({ export const owner = ac.newRole({
project: ["create", "share", "delete"], project: ["create", "share", "delete"],
}); });
const admin = ac.newRole({ export const admin = ac.newRole({
project: ["create", "share", "delete"], project: ["create", "share"],
});
organization({
ac,
roles: {
member,
owner,
admin,
},
}); });

View File

@@ -1,5 +1,5 @@
import type { InferSession, InferUser } from "better-auth/types"; import type { InferSession, InferUser } from "better-auth/types";
import type { auth } from "./auth"; import type { auth } from "./_auth";
export type User = InferUser<typeof auth>; export type User = InferUser<typeof auth>;
export type Session = InferSession<typeof auth>; export type Session = InferSession<typeof auth>;

View File

@@ -53,6 +53,7 @@
"happy-dom": "^15.7.3", "happy-dom": "^15.7.3",
"hono": "^4.5.4", "hono": "^4.5.4",
"listhen": "^1.7.2", "listhen": "^1.7.2",
"next": "^14.2.8",
"react": "^18.3.1", "react": "^18.3.1",
"solid-js": "^1.8.18", "solid-js": "^1.8.18",
"swr": "^2.2.5", "swr": "^2.2.5",

View File

@@ -97,12 +97,17 @@ exports[`init > should match config 1`] = `
"warn": [Function], "warn": [Function],
}, },
"options": { "options": {
"basePath": "/api/auth",
"baseURL": "", "baseURL": "",
"database": { "database": {
"provider": "sqlite", "provider": "sqlite",
"url": ":memory:", "url": ":memory:",
}, },
}, },
"password": {
"hash": [Function],
"verify": [Function],
},
"secret": "better-auth-secret-123456789", "secret": "better-auth-secret-123456789",
"session": { "session": {
"expiresIn": 604800, "expiresIn": 604800,

View File

@@ -173,7 +173,7 @@ export const router = <C extends AuthContext, Option extends BetterAuthOptions>(
const { api, middlewares } = getEndpoints(ctx, _options); const { api, middlewares } = getEndpoints(ctx, _options);
const basePath = new URL(ctx.baseURL).pathname; const basePath = new URL(ctx.baseURL).pathname;
return createRouter(api, { return createRouter(api as Omit<typeof api, "error" | "ok" | "welcome">, {
extraContext: ctx, extraContext: ctx,
basePath, basePath,
routerMiddleware: [ routerMiddleware: [
@@ -183,5 +183,8 @@ export const router = <C extends AuthContext, Option extends BetterAuthOptions>(
}, },
...middlewares, ...middlewares,
], ],
onError(e) {
console.log(e);
},
}); });
}; };

View File

@@ -3,7 +3,6 @@ import { createJWT } from "oslo/jwt";
import { validateJWT } from "oslo/jwt"; import { validateJWT } from "oslo/jwt";
import { z } from "zod"; import { z } from "zod";
import { createAuthEndpoint } from "../call"; import { createAuthEndpoint } from "../call";
import { hashPassword } from "../../crypto/password";
export const forgetPassword = createAuthEndpoint( export const forgetPassword = createAuthEndpoint(
"/forget-password", "/forget-password",

View File

@@ -2,14 +2,12 @@ import type { Context } from "better-call";
import { createAuthEndpoint } from "../call"; import { createAuthEndpoint } from "../call";
import { getDate } from "../../utils/date"; import { getDate } from "../../utils/date";
import { deleteSessionCookie, setSessionCookie } from "../../utils/cookies"; import { deleteSessionCookie, setSessionCookie } from "../../utils/cookies";
import { HIDE_ON_CLIENT_METADATA } from "../../client/client-utils";
export const getSession = createAuthEndpoint( export const getSession = createAuthEndpoint(
"/session", "/session",
{ {
method: "GET", method: "GET",
requireHeaders: true, requireHeaders: true,
metadata: HIDE_ON_CLIENT_METADATA,
}, },
async (ctx) => { async (ctx) => {
try { try {

View File

@@ -2,7 +2,6 @@ import { alphabet, generateRandomString } from "oslo/crypto";
import { z } from "zod"; import { z } from "zod";
import { createAuthEndpoint } from "../call"; import { createAuthEndpoint } from "../call";
import { createEmailVerificationToken } from "./verify-email"; import { createEmailVerificationToken } from "./verify-email";
import { hashPassword } from "../../crypto/password";
export const signUpEmail = createAuthEndpoint( export const signUpEmail = createAuthEndpoint(
"/sign-up/email", "/sign-up/email",

View File

@@ -16,7 +16,7 @@ export const betterAuth = <O extends BetterAuthOptions>(options: O) => {
return handler(request); return handler(request);
}, },
api, api,
options, options: authContext.options,
}; };
}; };

View File

@@ -39,7 +39,10 @@ describe("run time proxy", async () => {
const res = client.useComputedAtom(); const res = client.useComputedAtom();
expect(res()).toBe(0); expect(res()).toBe(0);
await client.test(); await client.test();
expect(res()).toBe(1); vi.useFakeTimers();
setTimeout(() => {
expect(res()).toBe(1);
}, 2);
}); });
it("should call useSession", async () => { it("should call useSession", async () => {
@@ -130,9 +133,7 @@ describe("type", () => {
const client = createSvelteClient({ const client = createSvelteClient({
plugins: [testClientPlugin()], plugins: [testClientPlugin()],
}); });
expectTypeOf(client.useComputedAtom).toEqualTypeOf< expectTypeOf(client.useComputedAtom).toEqualTypeOf<ReadableAtom<number>>();
() => ReadableAtom<number>
>();
}); });
it("should infer from multiple plugins", () => { it("should infer from multiple plugins", () => {

View File

@@ -1,4 +1,4 @@
import { Scrypt } from "oslo/password"; import argon2 from "argon2";
const password = new Scrypt(); export const hashPassword = argon2.hash;
export const { hash: hashPassword, verify: verifyPassword } = password; export const verifyPassword = argon2.verify;

View File

@@ -20,6 +20,7 @@ export const init = (options: BetterAuthOptions) => {
options: { options: {
...options, ...options,
baseURL: baseURL ? new URL(baseURL).origin : "", baseURL: baseURL ? new URL(baseURL).origin : "",
basePath: options.basePath || "/api/auth",
}, },
baseURL: baseURL || "", baseURL: baseURL || "",
session: { session: {

View File

@@ -1,4 +1,7 @@
import { betterFetch } from "@better-fetch/fetch";
import type { Auth } from "../auth"; import type { Auth } from "../auth";
import type { Session } from "../adapters/schema";
import { NextRequest, NextResponse } from "next/server";
export function toNextJsHandler(auth: Auth | Auth["handler"]) { export function toNextJsHandler(auth: Auth | Auth["handler"]) {
const handler = async (request: Request) => { const handler = async (request: Request) => {
@@ -9,3 +12,57 @@ export function toNextJsHandler(auth: Auth | Auth["handler"]) {
POST: handler, POST: handler,
}; };
} }
/**
* Middleware that checks if the user is authenticated.
* If not, it redirects to the redirectTo URL.
*/
export async function authMiddleware<T extends Auth>(
auth: T,
options: {
matcher: (request: NextRequest) =>
| Array<{
redirectTo: string;
shouldRedirect: boolean;
}>
| Promise<
Array<{
redirectTo: string;
shouldRedirect: boolean;
}>
>
| {
redirectTo: string;
shouldRedirect: boolean;
}
| Promise<{
redirectTo: string;
shouldRedirect: boolean;
}>;
},
) {
return async (request: NextRequest) => {
let redirection = await options.matcher(request);
if (!Array.isArray(redirection)) {
redirection = [redirection];
}
for (const { shouldRedirect, redirectTo } of redirection) {
console.log({ shouldRedirect, redirectTo });
if (shouldRedirect) {
const url = new URL(request.url).origin;
const basePath = auth.options.basePath || "/api/auth";
const fullURL = `${url}${basePath}/session`;
const res = await betterFetch<{
session: Session;
}>(fullURL, {
headers: request.headers,
});
if (!res.data?.session) {
return NextResponse.redirect(new URL(redirectTo, request.url));
}
}
}
return NextResponse.next();
};
}

358
pnpm-lock.yaml generated
View File

@@ -41,7 +41,7 @@ importers:
version: 1.12.2(hono@4.5.9) version: 1.12.2(hono@4.5.9)
better-auth: better-auth:
specifier: ^0.0.4 specifier: ^0.0.4
version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.2(typescript@5.6.0-beta)) version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.3(typescript@5.6.0-beta))
dotenv: dotenv:
specifier: ^16.4.5 specifier: ^16.4.5
version: 16.4.5 version: 16.4.5
@@ -424,13 +424,13 @@ importers:
dependencies: dependencies:
better-auth: better-auth:
specifier: ^0.0.4 specifier: ^0.0.4
version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.2(typescript@5.6.0-beta)) version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.3(typescript@5.6.0-beta))
nuxt: nuxt:
specifier: ^3.13.0 specifier: ^3.13.0
version: 3.13.0(@biomejs/biome@1.7.3)(@parcel/watcher@2.4.1)(@types/node@22.3.0)(eslint@9.9.1)(ioredis@5.4.1)(lightningcss@1.22.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.6.0-beta)(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6)) version: 3.13.0(@biomejs/biome@1.7.3)(@parcel/watcher@2.4.1)(@types/node@22.3.0)(eslint@9.9.1)(ioredis@5.4.1)(lightningcss@1.22.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.6.0-beta)(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))
vue: vue:
specifier: latest specifier: latest
version: 3.5.2(typescript@5.6.0-beta) version: 3.5.3(typescript@5.6.0-beta)
dev/solidjs: dev/solidjs:
dependencies: dependencies:
@@ -445,7 +445,7 @@ importers:
version: 10.4.20(postcss@8.4.41) version: 10.4.20(postcss@8.4.41)
better-auth: better-auth:
specifier: ^0.0.4 specifier: ^0.0.4
version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.2(typescript@5.6.0-beta)) version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.3(typescript@5.6.0-beta))
postcss: postcss:
specifier: ^8.4.38 specifier: ^8.4.38
version: 8.4.41 version: 8.4.41
@@ -463,7 +463,7 @@ importers:
dependencies: dependencies:
better-auth: better-auth:
specifier: ^0.0.4 specifier: ^0.0.4
version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.5.4)(vue@3.5.2(typescript@5.5.4)) version: 0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.5.4)(vue@3.5.3(typescript@5.5.4))
devDependencies: devDependencies:
'@sveltejs/adapter-auto': '@sveltejs/adapter-auto':
specifier: ^3.0.0 specifier: ^3.0.0
@@ -960,6 +960,9 @@ importers:
'@types/react': '@types/react':
specifier: ^18.3.3 specifier: ^18.3.3
version: 18.3.3 version: 18.3.3
dev:
specifier: ^0.1.3
version: 0.1.3
h3: h3:
specifier: ^1.12.0 specifier: ^1.12.0
version: 1.12.0 version: 1.12.0
@@ -972,6 +975,9 @@ importers:
listhen: listhen:
specifier: ^1.7.2 specifier: ^1.7.2
version: 1.7.2 version: 1.7.2
next:
specifier: ^14.2.8
version: 14.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: react:
specifier: ^18.3.1 specifier: ^18.3.1
version: 18.3.1 version: 18.3.1
@@ -3024,60 +3030,117 @@ packages:
'@next/env@14.2.5': '@next/env@14.2.5':
resolution: {integrity: sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==} resolution: {integrity: sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==}
'@next/env@14.2.8':
resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==}
'@next/swc-darwin-arm64@14.2.5': '@next/swc-darwin-arm64@14.2.5':
resolution: {integrity: sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==} resolution: {integrity: sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@next/swc-darwin-arm64@14.2.8':
resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@14.2.5': '@next/swc-darwin-x64@14.2.5':
resolution: {integrity: sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==} resolution: {integrity: sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@next/swc-darwin-x64@14.2.8':
resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@14.2.5': '@next/swc-linux-arm64-gnu@14.2.5':
resolution: {integrity: sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==} resolution: {integrity: sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@next/swc-linux-arm64-gnu@14.2.8':
resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@next/swc-linux-arm64-musl@14.2.5': '@next/swc-linux-arm64-musl@14.2.5':
resolution: {integrity: sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==} resolution: {integrity: sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@next/swc-linux-arm64-musl@14.2.8':
resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@next/swc-linux-x64-gnu@14.2.5': '@next/swc-linux-x64-gnu@14.2.5':
resolution: {integrity: sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==} resolution: {integrity: sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@next/swc-linux-x64-gnu@14.2.8':
resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@next/swc-linux-x64-musl@14.2.5': '@next/swc-linux-x64-musl@14.2.5':
resolution: {integrity: sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==} resolution: {integrity: sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@next/swc-linux-x64-musl@14.2.8':
resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@next/swc-win32-arm64-msvc@14.2.5': '@next/swc-win32-arm64-msvc@14.2.5':
resolution: {integrity: sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==} resolution: {integrity: sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@next/swc-win32-arm64-msvc@14.2.8':
resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/swc-win32-ia32-msvc@14.2.5': '@next/swc-win32-ia32-msvc@14.2.5':
resolution: {integrity: sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==} resolution: {integrity: sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@next/swc-win32-ia32-msvc@14.2.8':
resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
'@next/swc-win32-x64-msvc@14.2.5': '@next/swc-win32-x64-msvc@14.2.5':
resolution: {integrity: sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==} resolution: {integrity: sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@next/swc-win32-x64-msvc@14.2.8':
resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
'@noble/ciphers@0.6.0': '@noble/ciphers@0.6.0':
resolution: {integrity: sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==} resolution: {integrity: sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==}
@@ -5194,6 +5257,9 @@ packages:
'@vue/compiler-core@3.5.2': '@vue/compiler-core@3.5.2':
resolution: {integrity: sha512-1aP7FL2GkqfcskHWGg3lfWQpJnrmewKc+rNJ/hq9WNaAw4BEyJ5QbNChnqmbw+tJ409zdy1XWmUeXXMrCKJcQQ==} resolution: {integrity: sha512-1aP7FL2GkqfcskHWGg3lfWQpJnrmewKc+rNJ/hq9WNaAw4BEyJ5QbNChnqmbw+tJ409zdy1XWmUeXXMrCKJcQQ==}
'@vue/compiler-core@3.5.3':
resolution: {integrity: sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==}
'@vue/compiler-dom@3.5.0': '@vue/compiler-dom@3.5.0':
resolution: {integrity: sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==} resolution: {integrity: sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==}
@@ -5203,6 +5269,9 @@ packages:
'@vue/compiler-dom@3.5.2': '@vue/compiler-dom@3.5.2':
resolution: {integrity: sha512-QY4DpT8ZIUyu/ZA5gErpSEDocGNEbHmpkZIC/d5jbp/rUF0iOJNigAy3HCCKc0PMMhDlrcysO3ufQ6Ab4MpEcQ==} resolution: {integrity: sha512-QY4DpT8ZIUyu/ZA5gErpSEDocGNEbHmpkZIC/d5jbp/rUF0iOJNigAy3HCCKc0PMMhDlrcysO3ufQ6Ab4MpEcQ==}
'@vue/compiler-dom@3.5.3':
resolution: {integrity: sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==}
'@vue/compiler-sfc@3.5.0': '@vue/compiler-sfc@3.5.0':
resolution: {integrity: sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==} resolution: {integrity: sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==}
@@ -5212,6 +5281,9 @@ packages:
'@vue/compiler-sfc@3.5.2': '@vue/compiler-sfc@3.5.2':
resolution: {integrity: sha512-vErEtybSU290LbMW+ChYllI9tNJEdTW1oU+8cZWINZyjlWeTSa9YqDl4/pZJSnozOI+HmcaC1Vz2eFKmXNSXZA==} resolution: {integrity: sha512-vErEtybSU290LbMW+ChYllI9tNJEdTW1oU+8cZWINZyjlWeTSa9YqDl4/pZJSnozOI+HmcaC1Vz2eFKmXNSXZA==}
'@vue/compiler-sfc@3.5.3':
resolution: {integrity: sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ==}
'@vue/compiler-ssr@3.5.0': '@vue/compiler-ssr@3.5.0':
resolution: {integrity: sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==} resolution: {integrity: sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==}
@@ -5221,6 +5293,9 @@ packages:
'@vue/compiler-ssr@3.5.2': '@vue/compiler-ssr@3.5.2':
resolution: {integrity: sha512-vMtA4tQK/AM3UAYJsmouQzQpgG+h9TKiD5BV+Zt+ZyAMdicxzSEEFGWf/CykRnDpqj9fMfIHPhOezJVNxiXe2A==} resolution: {integrity: sha512-vMtA4tQK/AM3UAYJsmouQzQpgG+h9TKiD5BV+Zt+ZyAMdicxzSEEFGWf/CykRnDpqj9fMfIHPhOezJVNxiXe2A==}
'@vue/compiler-ssr@3.5.3':
resolution: {integrity: sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==}
'@vue/devtools-api@6.6.3': '@vue/devtools-api@6.6.3':
resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
@@ -5236,30 +5311,30 @@ packages:
'@vue/reactivity@3.5.0': '@vue/reactivity@3.5.0':
resolution: {integrity: sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==} resolution: {integrity: sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==}
'@vue/reactivity@3.5.2': '@vue/reactivity@3.5.3':
resolution: {integrity: sha512-lJwWL5bNht+2vIwU/+lnGdH+FKFxzz6z8WkoIJityPLiasWU+HDUvEsC7gm3JFwbTf7Kk+Nr9kJMaPy0HXwwxQ==} resolution: {integrity: sha512-2w61UnRWTP7+rj1H/j6FH706gRBHdFVpIqEkSDAyIpafBXYH8xt4gttstbbCWdU3OlcSWO8/3mbKl/93/HSMpw==}
'@vue/runtime-core@3.5.0': '@vue/runtime-core@3.5.0':
resolution: {integrity: sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==} resolution: {integrity: sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==}
'@vue/runtime-core@3.5.2': '@vue/runtime-core@3.5.3':
resolution: {integrity: sha512-oU+i9sJjGEMfEhlrJ7SZv7CdSIgUNyBHnWHa0SqU2RF48V3/ATajzpWq1/DkiVJ1mtx+cQFAMKs8s/3cB3YlLQ==} resolution: {integrity: sha512-5b2AQw5OZlmCzSsSBWYoZOsy75N4UdMWenTfDdI5bAzXnuVR7iR8Q4AOzQm2OGoA41xjk53VQKrqQhOz2ktWaw==}
'@vue/runtime-dom@3.5.0': '@vue/runtime-dom@3.5.0':
resolution: {integrity: sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==} resolution: {integrity: sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==}
'@vue/runtime-dom@3.5.2': '@vue/runtime-dom@3.5.3':
resolution: {integrity: sha512-2qvysn+oR0QnFKaWZxQ90iVpWAK/WPpYmODHCv24IDXjsBrdHbjLBj9s6YBdPaMuQhs0LNsmhsgZYZBkszLg6g==} resolution: {integrity: sha512-wPR1DEGc3XnQ7yHbmkTt3GoY0cEnVGQnARRdAkDzZ8MbUKEs26gogCQo6AOvvgahfjIcnvWJzkZArQ1fmWjcSg==}
'@vue/server-renderer@3.5.0': '@vue/server-renderer@3.5.0':
resolution: {integrity: sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==} resolution: {integrity: sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==}
peerDependencies: peerDependencies:
vue: 3.5.0 vue: 3.5.0
'@vue/server-renderer@3.5.2': '@vue/server-renderer@3.5.3':
resolution: {integrity: sha512-3POhYCA8KfbmuDuUiNbMXnpdh9pwE4SvAqo7VvACjklLkf3AaMkY3TvV7APeEa/WQezrnL+E4X2ASpJsKeS4cQ==} resolution: {integrity: sha512-28volmaZVG2PGO3V3+gBPKoSHvLlE8FGfG/GKXKkjjfxLuj/50B/0OQGakM/g6ehQeqCrZYM4eHC4Ks48eig1Q==}
peerDependencies: peerDependencies:
vue: 3.5.2 vue: 3.5.3
'@vue/shared@3.4.38': '@vue/shared@3.4.38':
resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
@@ -5273,6 +5348,9 @@ packages:
'@vue/shared@3.5.2': '@vue/shared@3.5.2':
resolution: {integrity: sha512-Ce89WNFBzcDca/AgFTxgX4/K4iAyF7oFIp8Z5aBbFBNbtpwnQr+5pZOoHndxnjE2h+YFcipVMzs9UL11XB6dwA==} resolution: {integrity: sha512-Ce89WNFBzcDca/AgFTxgX4/K4iAyF7oFIp8Z5aBbFBNbtpwnQr+5pZOoHndxnjE2h+YFcipVMzs9UL11XB6dwA==}
'@vue/shared@3.5.3':
resolution: {integrity: sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==}
'@web3-storage/multipart-parser@1.0.0': '@web3-storage/multipart-parser@1.0.0':
resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
@@ -6547,6 +6625,10 @@ packages:
detect-node-es@1.1.0: detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
dev@0.1.3:
resolution: {integrity: sha512-flCHQwAkXk3+1up/wo93Ms9E5Wf9K28ZGA7Oz55nBZ8OTdPPhyvZrwsT+twtySTFHIwv0w9CUNtagZgu1MgzXQ==}
hasBin: true
devalue@5.0.0: devalue@5.0.0:
resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==}
@@ -7766,6 +7848,11 @@ packages:
inline-style-prefixer@6.0.4: inline-style-prefixer@6.0.4:
resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==}
inotify@1.4.6:
resolution: {integrity: sha512-WW8/uqIA04O3AePQVe/Ms3ZLR0yGamaz8YOEpaXc4WBAGOPZfzu58wWErEPSUYaPyDrJRIeCn6PEIQgC1ZyQ5w==}
engines: {node: '>=0.8'}
os: [linux]
input-otp@1.2.4: input-otp@1.2.4:
resolution: {integrity: sha512-md6rhmD+zmMnUh5crQNSQxq3keBRYvE3odbr4Qb9g2NWzQv9azi+t1a3X4TBTbh98fsGHgEEJlzbe1q860uGCA==} resolution: {integrity: sha512-md6rhmD+zmMnUh5crQNSQxq3keBRYvE3odbr4Qb9g2NWzQv9azi+t1a3X4TBTbh98fsGHgEEJlzbe1q860uGCA==}
peerDependencies: peerDependencies:
@@ -9047,6 +9134,9 @@ packages:
resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==} resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
nan@2.20.0:
resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==}
nanoevents@9.0.0: nanoevents@9.0.0:
resolution: {integrity: sha512-X8pU7IOpgKXVLPxYUI55ymXc8XuBE+uypfEyEFBtHkD1EX9KavYTVc+vXZHFyHKzA1TaZoVDqklLdQBBrxIuAw==} resolution: {integrity: sha512-X8pU7IOpgKXVLPxYUI55ymXc8XuBE+uypfEyEFBtHkD1EX9KavYTVc+vXZHFyHKzA1TaZoVDqklLdQBBrxIuAw==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
@@ -9114,6 +9204,24 @@ packages:
sass: sass:
optional: true optional: true
next@14.2.8:
resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.1.0
'@playwright/test': ^1.41.2
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
'@opentelemetry/api':
optional: true
'@playwright/test':
optional: true
sass:
optional: true
nice-try@1.0.5: nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
@@ -11876,8 +11984,8 @@ packages:
typescript: typescript:
optional: true optional: true
vue@3.5.2: vue@3.5.3:
resolution: {integrity: sha512-w1YB4lAwC9ByH6AnFY0JvZF+y70Usul9jDfKIKtM5xA97q/JPS5R7mqq0fhA6D2PQxYPZdgb5jzFKLyOga5pnw==} resolution: {integrity: sha512-xvRbd0HpuLovYbOHXRHlSBsSvmUJbo0pzbkKTApWnQGf3/cu5Z39mQeA5cZdLRVIoNf3zI6MSoOgHUT5i2jO+Q==}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
peerDependenciesMeta: peerDependenciesMeta:
@@ -14241,17 +14349,17 @@ snapshots:
optionalDependencies: optionalDependencies:
'@vue/devtools-api': 6.6.3 '@vue/devtools-api': 6.6.3
'@nanostores/vue@0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.2(typescript@5.5.4))': '@nanostores/vue@0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.3(typescript@5.5.4))':
dependencies: dependencies:
nanostores: 0.11.2 nanostores: 0.11.2
vue: 3.5.2(typescript@5.5.4) vue: 3.5.3(typescript@5.5.4)
optionalDependencies: optionalDependencies:
'@vue/devtools-api': 6.6.3 '@vue/devtools-api': 6.6.3
'@nanostores/vue@0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.2(typescript@5.6.0-beta))': '@nanostores/vue@0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
nanostores: 0.11.2 nanostores: 0.11.2
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
optionalDependencies: optionalDependencies:
'@vue/devtools-api': 6.6.3 '@vue/devtools-api': 6.6.3
@@ -14268,33 +14376,62 @@ snapshots:
'@next/env@14.2.5': {} '@next/env@14.2.5': {}
'@next/env@14.2.8': {}
'@next/swc-darwin-arm64@14.2.5': '@next/swc-darwin-arm64@14.2.5':
optional: true optional: true
'@next/swc-darwin-arm64@14.2.8':
optional: true
'@next/swc-darwin-x64@14.2.5': '@next/swc-darwin-x64@14.2.5':
optional: true optional: true
'@next/swc-darwin-x64@14.2.8':
optional: true
'@next/swc-linux-arm64-gnu@14.2.5': '@next/swc-linux-arm64-gnu@14.2.5':
optional: true optional: true
'@next/swc-linux-arm64-gnu@14.2.8':
optional: true
'@next/swc-linux-arm64-musl@14.2.5': '@next/swc-linux-arm64-musl@14.2.5':
optional: true optional: true
'@next/swc-linux-arm64-musl@14.2.8':
optional: true
'@next/swc-linux-x64-gnu@14.2.5': '@next/swc-linux-x64-gnu@14.2.5':
optional: true optional: true
'@next/swc-linux-x64-gnu@14.2.8':
optional: true
'@next/swc-linux-x64-musl@14.2.5': '@next/swc-linux-x64-musl@14.2.5':
optional: true optional: true
'@next/swc-linux-x64-musl@14.2.8':
optional: true
'@next/swc-win32-arm64-msvc@14.2.5': '@next/swc-win32-arm64-msvc@14.2.5':
optional: true optional: true
'@next/swc-win32-arm64-msvc@14.2.8':
optional: true
'@next/swc-win32-ia32-msvc@14.2.5': '@next/swc-win32-ia32-msvc@14.2.5':
optional: true optional: true
'@next/swc-win32-ia32-msvc@14.2.8':
optional: true
'@next/swc-win32-x64-msvc@14.2.5': '@next/swc-win32-x64-msvc@14.2.5':
optional: true optional: true
'@next/swc-win32-x64-msvc@14.2.8':
optional: true
'@noble/ciphers@0.6.0': {} '@noble/ciphers@0.6.0': {}
'@noble/hashes@1.4.0': {} '@noble/hashes@1.4.0': {}
@@ -14584,12 +14721,12 @@ snapshots:
- rollup - rollup
- supports-color - supports-color
'@nuxt/vite-builder@3.13.0(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.9.1)(lightningcss@1.22.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.6.0-beta)(vue@3.5.2(typescript@5.6.0-beta))': '@nuxt/vite-builder@3.13.0(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.9.1)(lightningcss@1.22.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.6.0-beta)(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2) '@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2)
'@rollup/plugin-replace': 5.0.7(rollup@4.21.2) '@rollup/plugin-replace': 5.0.7(rollup@4.21.2)
'@vitejs/plugin-vue': 5.1.3(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.2(typescript@5.6.0-beta)) '@vitejs/plugin-vue': 5.1.3(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.3(typescript@5.6.0-beta))
'@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.2(typescript@5.6.0-beta)) '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.3(typescript@5.6.0-beta))
autoprefixer: 10.4.20(postcss@8.4.41) autoprefixer: 10.4.20(postcss@8.4.41)
clear: 0.1.0 clear: 0.1.0
consola: 3.2.3 consola: 3.2.3
@@ -14618,7 +14755,7 @@ snapshots:
vite: 5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6) vite: 5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6)
vite-node: 2.0.5(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6) vite-node: 2.0.5(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6)
vite-plugin-checker: 0.7.2(@biomejs/biome@1.7.3)(eslint@9.9.1)(optionator@0.9.4)(typescript@5.6.0-beta)(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6)) vite-plugin-checker: 0.7.2(@biomejs/biome@1.7.3)(eslint@9.9.1)(optionator@0.9.4)(typescript@5.6.0-beta)(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
vue-bundle-renderer: 2.1.0 vue-bundle-renderer: 2.1.0
transitivePeerDependencies: transitivePeerDependencies:
- '@biomejs/biome' - '@biomejs/biome'
@@ -17340,13 +17477,13 @@ snapshots:
'@unhead/schema': 1.10.0 '@unhead/schema': 1.10.0
'@unhead/shared': 1.10.0 '@unhead/shared': 1.10.0
'@unhead/vue@1.10.0(vue@3.5.2(typescript@5.6.0-beta))': '@unhead/vue@1.10.0(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
'@unhead/schema': 1.10.0 '@unhead/schema': 1.10.0
'@unhead/shared': 1.10.0 '@unhead/shared': 1.10.0
hookable: 5.5.3 hookable: 5.5.3
unhead: 1.10.0 unhead: 1.10.0
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
'@urql/core@2.3.6(graphql@15.8.0)': '@urql/core@2.3.6(graphql@15.8.0)':
dependencies: dependencies:
@@ -17446,20 +17583,20 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.2(typescript@5.6.0-beta))': '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
'@babel/core': 7.25.2 '@babel/core': 7.25.2
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
vite: 5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6) vite: 5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6)
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue@5.1.3(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.2(typescript@5.6.0-beta))': '@vitejs/plugin-vue@5.1.3(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
vite: 5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6) vite: 5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6)
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
'@vitest/expect@1.6.0': '@vitest/expect@1.6.0':
dependencies: dependencies:
@@ -17490,7 +17627,7 @@ snapshots:
loupe: 2.3.7 loupe: 2.3.7
pretty-format: 29.7.0 pretty-format: 29.7.0
'@vue-macros/common@1.12.2(rollup@4.21.2)(vue@3.5.2(typescript@5.6.0-beta))': '@vue-macros/common@1.12.2(rollup@4.21.2)(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
'@babel/types': 7.25.6 '@babel/types': 7.25.6
'@rollup/pluginutils': 5.1.0(rollup@4.21.2) '@rollup/pluginutils': 5.1.0(rollup@4.21.2)
@@ -17499,7 +17636,7 @@ snapshots:
local-pkg: 0.5.0 local-pkg: 0.5.0
magic-string-ast: 0.6.2 magic-string-ast: 0.6.2
optionalDependencies: optionalDependencies:
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
@@ -17530,7 +17667,7 @@ snapshots:
'@babel/helper-module-imports': 7.22.15 '@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.8 '@babel/helper-plugin-utils': 7.24.8
'@babel/parser': 7.25.6 '@babel/parser': 7.25.6
'@vue/compiler-sfc': 3.5.1 '@vue/compiler-sfc': 3.5.2
'@vue/compiler-core@3.5.0': '@vue/compiler-core@3.5.0':
dependencies: dependencies:
@@ -17556,6 +17693,14 @@ snapshots:
estree-walker: 2.0.2 estree-walker: 2.0.2
source-map-js: 1.2.0 source-map-js: 1.2.0
'@vue/compiler-core@3.5.3':
dependencies:
'@babel/parser': 7.25.6
'@vue/shared': 3.5.3
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
'@vue/compiler-dom@3.5.0': '@vue/compiler-dom@3.5.0':
dependencies: dependencies:
'@vue/compiler-core': 3.5.0 '@vue/compiler-core': 3.5.0
@@ -17571,6 +17716,11 @@ snapshots:
'@vue/compiler-core': 3.5.2 '@vue/compiler-core': 3.5.2
'@vue/shared': 3.5.2 '@vue/shared': 3.5.2
'@vue/compiler-dom@3.5.3':
dependencies:
'@vue/compiler-core': 3.5.3
'@vue/shared': 3.5.3
'@vue/compiler-sfc@3.5.0': '@vue/compiler-sfc@3.5.0':
dependencies: dependencies:
'@babel/parser': 7.25.6 '@babel/parser': 7.25.6
@@ -17607,6 +17757,18 @@ snapshots:
postcss: 8.4.44 postcss: 8.4.44
source-map-js: 1.2.0 source-map-js: 1.2.0
'@vue/compiler-sfc@3.5.3':
dependencies:
'@babel/parser': 7.25.6
'@vue/compiler-core': 3.5.3
'@vue/compiler-dom': 3.5.3
'@vue/compiler-ssr': 3.5.3
'@vue/shared': 3.5.3
estree-walker: 2.0.2
magic-string: 0.30.11
postcss: 8.4.44
source-map-js: 1.2.0
'@vue/compiler-ssr@3.5.0': '@vue/compiler-ssr@3.5.0':
dependencies: dependencies:
'@vue/compiler-dom': 3.5.0 '@vue/compiler-dom': 3.5.0
@@ -17622,6 +17784,11 @@ snapshots:
'@vue/compiler-dom': 3.5.2 '@vue/compiler-dom': 3.5.2
'@vue/shared': 3.5.2 '@vue/shared': 3.5.2
'@vue/compiler-ssr@3.5.3':
dependencies:
'@vue/compiler-dom': 3.5.3
'@vue/shared': 3.5.3
'@vue/devtools-api@6.6.3': {} '@vue/devtools-api@6.6.3': {}
'@vue/devtools-core@7.3.3(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))': '@vue/devtools-core@7.3.3(vite@5.4.2(@types/node@22.3.0)(lightningcss@1.22.0)(terser@5.31.6))':
@@ -17653,19 +17820,19 @@ snapshots:
dependencies: dependencies:
'@vue/shared': 3.5.0 '@vue/shared': 3.5.0
'@vue/reactivity@3.5.2': '@vue/reactivity@3.5.3':
dependencies: dependencies:
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
'@vue/runtime-core@3.5.0': '@vue/runtime-core@3.5.0':
dependencies: dependencies:
'@vue/reactivity': 3.5.0 '@vue/reactivity': 3.5.0
'@vue/shared': 3.5.0 '@vue/shared': 3.5.0
'@vue/runtime-core@3.5.2': '@vue/runtime-core@3.5.3':
dependencies: dependencies:
'@vue/reactivity': 3.5.2 '@vue/reactivity': 3.5.3
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
'@vue/runtime-dom@3.5.0': '@vue/runtime-dom@3.5.0':
dependencies: dependencies:
@@ -17674,11 +17841,11 @@ snapshots:
'@vue/shared': 3.5.0 '@vue/shared': 3.5.0
csstype: 3.1.3 csstype: 3.1.3
'@vue/runtime-dom@3.5.2': '@vue/runtime-dom@3.5.3':
dependencies: dependencies:
'@vue/reactivity': 3.5.2 '@vue/reactivity': 3.5.3
'@vue/runtime-core': 3.5.2 '@vue/runtime-core': 3.5.3
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
csstype: 3.1.3 csstype: 3.1.3
'@vue/server-renderer@3.5.0(vue@3.5.0(typescript@5.6.0-beta))': '@vue/server-renderer@3.5.0(vue@3.5.0(typescript@5.6.0-beta))':
@@ -17687,17 +17854,17 @@ snapshots:
'@vue/shared': 3.5.0 '@vue/shared': 3.5.0
vue: 3.5.0(typescript@5.6.0-beta) vue: 3.5.0(typescript@5.6.0-beta)
'@vue/server-renderer@3.5.2(vue@3.5.2(typescript@5.5.4))': '@vue/server-renderer@3.5.3(vue@3.5.3(typescript@5.5.4))':
dependencies: dependencies:
'@vue/compiler-ssr': 3.5.2 '@vue/compiler-ssr': 3.5.3
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
vue: 3.5.2(typescript@5.5.4) vue: 3.5.3(typescript@5.5.4)
'@vue/server-renderer@3.5.2(vue@3.5.2(typescript@5.6.0-beta))': '@vue/server-renderer@3.5.3(vue@3.5.3(typescript@5.6.0-beta))':
dependencies: dependencies:
'@vue/compiler-ssr': 3.5.2 '@vue/compiler-ssr': 3.5.3
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
'@vue/shared@3.4.38': {} '@vue/shared@3.4.38': {}
@@ -17707,6 +17874,8 @@ snapshots:
'@vue/shared@3.5.2': {} '@vue/shared@3.5.2': {}
'@vue/shared@3.5.3': {}
'@web3-storage/multipart-parser@1.0.0': {} '@web3-storage/multipart-parser@1.0.0': {}
'@xmldom/xmldom@0.7.13': {} '@xmldom/xmldom@0.7.13': {}
@@ -18049,7 +18218,7 @@ snapshots:
base64-js@1.5.1: {} base64-js@1.5.1: {}
better-auth@0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.5.4)(vue@3.5.2(typescript@5.5.4)): better-auth@0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.5.4)(vue@3.5.3(typescript@5.5.4)):
dependencies: dependencies:
'@better-fetch/fetch': 1.1.4 '@better-fetch/fetch': 1.1.4
'@better-fetch/logger': 1.1.3 '@better-fetch/logger': 1.1.3
@@ -18057,7 +18226,7 @@ snapshots:
'@nanostores/query': 0.3.4(nanostores@0.11.2) '@nanostores/query': 0.3.4(nanostores@0.11.2)
'@nanostores/react': 0.7.3(nanostores@0.11.2)(react@18.3.1) '@nanostores/react': 0.7.3(nanostores@0.11.2)(react@18.3.1)
'@nanostores/solid': 0.4.2(nanostores@0.11.2)(solid-js@1.8.21) '@nanostores/solid': 0.4.2(nanostores@0.11.2)(solid-js@1.8.21)
'@nanostores/vue': 0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.2(typescript@5.5.4)) '@nanostores/vue': 0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.3(typescript@5.5.4))
'@noble/ciphers': 0.6.0 '@noble/ciphers': 0.6.0
'@noble/hashes': 1.4.0 '@noble/hashes': 1.4.0
'@paralleldrive/cuid2': 2.2.2 '@paralleldrive/cuid2': 2.2.2
@@ -18092,7 +18261,7 @@ snapshots:
- typescript - typescript
- vue - vue
better-auth@0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.2(typescript@5.6.0-beta)): better-auth@0.0.4(@vue/devtools-api@6.6.3)(react@18.3.1)(solid-js@1.8.21)(typescript@5.6.0-beta)(vue@3.5.3(typescript@5.6.0-beta)):
dependencies: dependencies:
'@better-fetch/fetch': 1.1.4 '@better-fetch/fetch': 1.1.4
'@better-fetch/logger': 1.1.3 '@better-fetch/logger': 1.1.3
@@ -18100,7 +18269,7 @@ snapshots:
'@nanostores/query': 0.3.4(nanostores@0.11.2) '@nanostores/query': 0.3.4(nanostores@0.11.2)
'@nanostores/react': 0.7.3(nanostores@0.11.2)(react@18.3.1) '@nanostores/react': 0.7.3(nanostores@0.11.2)(react@18.3.1)
'@nanostores/solid': 0.4.2(nanostores@0.11.2)(solid-js@1.8.21) '@nanostores/solid': 0.4.2(nanostores@0.11.2)(solid-js@1.8.21)
'@nanostores/vue': 0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.2(typescript@5.6.0-beta)) '@nanostores/vue': 0.10.0(@vue/devtools-api@6.6.3)(nanostores@0.11.2)(vue@3.5.3(typescript@5.6.0-beta))
'@noble/ciphers': 0.6.0 '@noble/ciphers': 0.6.0
'@noble/hashes': 1.4.0 '@noble/hashes': 1.4.0
'@paralleldrive/cuid2': 2.2.2 '@paralleldrive/cuid2': 2.2.2
@@ -19141,6 +19310,10 @@ snapshots:
detect-node-es@1.1.0: {} detect-node-es@1.1.0: {}
dev@0.1.3:
dependencies:
inotify: 1.4.6
devalue@5.0.0: {} devalue@5.0.0: {}
devlop@1.1.0: devlop@1.1.0:
@@ -20761,6 +20934,11 @@ snapshots:
css-in-js-utils: 3.1.0 css-in-js-utils: 3.1.0
fast-loops: 1.1.4 fast-loops: 1.1.4
inotify@1.4.6:
dependencies:
bindings: 1.5.0
nan: 2.20.0
input-otp@1.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): input-otp@1.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies: dependencies:
react: 18.3.1 react: 18.3.1
@@ -22470,6 +22648,8 @@ snapshots:
dependencies: dependencies:
lru-cache: 7.18.3 lru-cache: 7.18.3
nan@2.20.0: {}
nanoevents@9.0.0: {} nanoevents@9.0.0: {}
nanoid@3.3.7: {} nanoid@3.3.7: {}
@@ -22533,6 +22713,32 @@ snapshots:
- '@babel/core' - '@babel/core'
- babel-plugin-macros - babel-plugin-macros
next@14.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.2.8
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001651
graceful-fs: 4.2.11
postcss: 8.4.31
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
'@next/swc-darwin-arm64': 14.2.8
'@next/swc-darwin-x64': 14.2.8
'@next/swc-linux-arm64-gnu': 14.2.8
'@next/swc-linux-arm64-musl': 14.2.8
'@next/swc-linux-x64-gnu': 14.2.8
'@next/swc-linux-x64-musl': 14.2.8
'@next/swc-win32-arm64-msvc': 14.2.8
'@next/swc-win32-ia32-msvc': 14.2.8
'@next/swc-win32-x64-msvc': 14.2.8
'@opentelemetry/api': 1.9.0
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
nice-try@1.0.5: {} nice-try@1.0.5: {}
nitropack@2.9.7(magicast@0.3.5): nitropack@2.9.7(magicast@0.3.5):
@@ -22715,10 +22921,10 @@ snapshots:
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2) '@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/schema': 3.13.0(rollup@4.21.2) '@nuxt/schema': 3.13.0(rollup@4.21.2)
'@nuxt/telemetry': 2.5.4(magicast@0.3.5)(rollup@4.21.2) '@nuxt/telemetry': 2.5.4(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/vite-builder': 3.13.0(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.9.1)(lightningcss@1.22.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.6.0-beta)(vue@3.5.2(typescript@5.6.0-beta)) '@nuxt/vite-builder': 3.13.0(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.9.1)(lightningcss@1.22.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.6.0-beta)(vue@3.5.3(typescript@5.6.0-beta))
'@unhead/dom': 1.10.0 '@unhead/dom': 1.10.0
'@unhead/ssr': 1.10.0 '@unhead/ssr': 1.10.0
'@unhead/vue': 1.10.0(vue@3.5.2(typescript@5.6.0-beta)) '@unhead/vue': 1.10.0(vue@3.5.3(typescript@5.6.0-beta))
'@vue/shared': 3.4.38 '@vue/shared': 3.4.38
acorn: 8.12.1 acorn: 8.12.1
c12: 1.11.1(magicast@0.3.5) c12: 1.11.1(magicast@0.3.5)
@@ -22762,13 +22968,13 @@ snapshots:
unenv: 1.10.0 unenv: 1.10.0
unimport: 3.11.1(rollup@4.21.2) unimport: 3.11.1(rollup@4.21.2)
unplugin: 1.12.2 unplugin: 1.12.2
unplugin-vue-router: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.2(typescript@5.6.0-beta)))(vue@3.5.2(typescript@5.6.0-beta)) unplugin-vue-router: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.3(typescript@5.6.0-beta)))(vue@3.5.3(typescript@5.6.0-beta))
unstorage: 1.10.2(ioredis@5.4.1) unstorage: 1.10.2(ioredis@5.4.1)
untyped: 1.4.2 untyped: 1.4.2
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
vue-bundle-renderer: 2.1.0 vue-bundle-renderer: 2.1.0
vue-devtools-stub: 0.1.0 vue-devtools-stub: 0.1.0
vue-router: 4.4.3(vue@3.5.2(typescript@5.6.0-beta)) vue-router: 4.4.3(vue@3.5.3(typescript@5.6.0-beta))
optionalDependencies: optionalDependencies:
'@parcel/watcher': 2.4.1 '@parcel/watcher': 2.4.1
'@types/node': 22.3.0 '@types/node': 22.3.0
@@ -25365,11 +25571,11 @@ snapshots:
unpipe@1.0.0: {} unpipe@1.0.0: {}
unplugin-vue-router@0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.2(typescript@5.6.0-beta)))(vue@3.5.2(typescript@5.6.0-beta)): unplugin-vue-router@0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.3(typescript@5.6.0-beta)))(vue@3.5.3(typescript@5.6.0-beta)):
dependencies: dependencies:
'@babel/types': 7.25.6 '@babel/types': 7.25.6
'@rollup/pluginutils': 5.1.0(rollup@4.21.2) '@rollup/pluginutils': 5.1.0(rollup@4.21.2)
'@vue-macros/common': 1.12.2(rollup@4.21.2)(vue@3.5.2(typescript@5.6.0-beta)) '@vue-macros/common': 1.12.2(rollup@4.21.2)(vue@3.5.3(typescript@5.6.0-beta))
ast-walker-scope: 0.6.2 ast-walker-scope: 0.6.2
chokidar: 3.6.0 chokidar: 3.6.0
fast-glob: 3.3.2 fast-glob: 3.3.2
@@ -25382,7 +25588,7 @@ snapshots:
unplugin: 1.12.2 unplugin: 1.12.2
yaml: 2.5.0 yaml: 2.5.0
optionalDependencies: optionalDependencies:
vue-router: 4.4.3(vue@3.5.2(typescript@5.6.0-beta)) vue-router: 4.4.3(vue@3.5.3(typescript@5.6.0-beta))
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- vue - vue
@@ -25847,10 +26053,10 @@ snapshots:
vue-devtools-stub@0.1.0: {} vue-devtools-stub@0.1.0: {}
vue-router@4.4.3(vue@3.5.2(typescript@5.6.0-beta)): vue-router@4.4.3(vue@3.5.3(typescript@5.6.0-beta)):
dependencies: dependencies:
'@vue/devtools-api': 6.6.3 '@vue/devtools-api': 6.6.3
vue: 3.5.2(typescript@5.6.0-beta) vue: 3.5.3(typescript@5.6.0-beta)
vue@3.5.0(typescript@5.6.0-beta): vue@3.5.0(typescript@5.6.0-beta):
dependencies: dependencies:
@@ -25862,23 +26068,23 @@ snapshots:
optionalDependencies: optionalDependencies:
typescript: 5.6.0-beta typescript: 5.6.0-beta
vue@3.5.2(typescript@5.5.4): vue@3.5.3(typescript@5.5.4):
dependencies: dependencies:
'@vue/compiler-dom': 3.5.2 '@vue/compiler-dom': 3.5.3
'@vue/compiler-sfc': 3.5.2 '@vue/compiler-sfc': 3.5.3
'@vue/runtime-dom': 3.5.2 '@vue/runtime-dom': 3.5.3
'@vue/server-renderer': 3.5.2(vue@3.5.2(typescript@5.5.4)) '@vue/server-renderer': 3.5.3(vue@3.5.3(typescript@5.5.4))
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
optionalDependencies: optionalDependencies:
typescript: 5.5.4 typescript: 5.5.4
vue@3.5.2(typescript@5.6.0-beta): vue@3.5.3(typescript@5.6.0-beta):
dependencies: dependencies:
'@vue/compiler-dom': 3.5.2 '@vue/compiler-dom': 3.5.3
'@vue/compiler-sfc': 3.5.2 '@vue/compiler-sfc': 3.5.3
'@vue/runtime-dom': 3.5.2 '@vue/runtime-dom': 3.5.3
'@vue/server-renderer': 3.5.2(vue@3.5.2(typescript@5.6.0-beta)) '@vue/server-renderer': 3.5.3(vue@3.5.3(typescript@5.6.0-beta))
'@vue/shared': 3.5.2 '@vue/shared': 3.5.3
optionalDependencies: optionalDependencies:
typescript: 5.6.0-beta typescript: 5.6.0-beta