diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 13d8602f..a9e7a36c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -7,7 +7,7 @@ on: branches: [main] env: - NODE_VER: 22.18 + NODE_VER: 24.13 CI: true jobs: diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 143e6f31..1026b1f5 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: env: - NODE_VER: 22.18 + NODE_VER: 24.13 CI: true # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages diff --git a/.github/workflows/pkg.pr.new.yml b/.github/workflows/pkg.pr.new.yml index c1f14983..0312a0d7 100644 --- a/.github/workflows/pkg.pr.new.yml +++ b/.github/workflows/pkg.pr.new.yml @@ -8,7 +8,7 @@ on: pull_request: env: - NODE_VER: 22.18 + NODE_VER: 24.13 jobs: build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe3718d3..baa2296c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ permissions: id-token: write # required for npm provenance env: - NODE_VER: 22.18 + NODE_VER: 24.13 CI: true jobs: diff --git a/package.json b/package.json index 47c49988..0d763f63 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "@nuxt/module-builder": "^1.0.2", "@nuxt/schema": "^3.20.2", "@nuxtjs/eslint-config-typescript": "^12.1.0", - "@types/node": "^20.19.29", + "@types/node": "^24.10.11", "eslint": "^9.39.2", "nuxt": "^3.20.2", "ofetch": "^1.5.1", diff --git a/playground-local/nuxt.config.ts b/playground-local/nuxt.config.ts index 0d51e9c4..daf18c8f 100644 --- a/playground-local/nuxt.config.ts +++ b/playground-local/nuxt.config.ts @@ -1,9 +1,6 @@ export default defineNuxtConfig({ compatibilityDate: '2024-04-03', modules: ['../src/module.ts'], - build: { - transpile: ['jsonwebtoken'] - }, auth: { provider: { type: 'local', diff --git a/playground-local/package.json b/playground-local/package.json index e45304fe..44715034 100644 --- a/playground-local/package.json +++ b/playground-local/package.json @@ -12,14 +12,13 @@ "test:e2e": "vitest" }, "dependencies": { - "jsonwebtoken": "^9.0.3", + "jose": "^6.1.3", "zod": "^3.25.76" }, "devDependencies": { "@nuxt/test-utils": "^3.23.0", - "@playwright/test": "^1.57.0", - "@types/jsonwebtoken": "^9.0.10", - "@types/node": "^20.19.29", + "@playwright/test": "^1.58.2", + "@types/node": "^24.10.11", "@vue/test-utils": "^2.4.6", "nuxt": "^3.20.2", "typescript": "^5.8.3", diff --git a/playground-local/server/api/auth/refresh.post.ts b/playground-local/server/api/auth/refresh.post.ts index a500eb93..fb7e2b24 100644 --- a/playground-local/server/api/auth/refresh.post.ts +++ b/playground-local/server/api/auth/refresh.post.ts @@ -1,5 +1,5 @@ import { createError, eventHandler, getRequestHeader, readBody } from 'h3' -import { checkUserTokens, decodeToken, extractTokenFromAuthorizationHeader, getTokensByUser, refreshUserAccessToken } from '~/server/utils/session' +import { checkUserTokens, decodeToken, extractTokenFromAuthorizationHeader, getTokensByUser, refreshUserAccessToken, userSchema } from '~/server/utils/session' /* * DISCLAIMER! @@ -19,7 +19,7 @@ export default eventHandler(async (event) => { } // Verify - const decoded = decodeToken(refreshToken) + const decoded = await decodeToken(refreshToken) if (!decoded) { throw createError({ statusCode: 401, @@ -27,8 +27,16 @@ export default eventHandler(async (event) => { }) } + const user = userSchema.safeParse(decoded) + if (!user.success) { + throw createError({ + statusCode: 401, + message: 'Unauthorized, user shape mismatch' + }) + } + // Get the helper (only for demo, use a DB in your implementation) - const userTokens = getTokensByUser(decoded.username) + const userTokens = getTokensByUser(user.data.username) if (!userTokens) { throw createError({ statusCode: 401, diff --git a/playground-local/server/api/auth/user.get.ts b/playground-local/server/api/auth/user.get.ts index 7ce7abea..e6f33304 100644 --- a/playground-local/server/api/auth/user.get.ts +++ b/playground-local/server/api/auth/user.get.ts @@ -1,22 +1,26 @@ import { createError, eventHandler, getRequestHeader } from 'h3' -import { checkUserAccessToken, decodeToken, extractTokenFromAuthorizationHeader, getTokensByUser } from '~/server/utils/session' -import type { JwtPayload } from '~/server/utils/session' +import { checkUserAccessToken, decodeToken, extractTokenFromAuthorizationHeader, getTokensByUser, userSchema } from '~/server/utils/session' +import type { User } from '~/server/utils/session' -export default eventHandler((event) => { +export default eventHandler(async (event) => { const authorizationHeader = getRequestHeader(event, 'Authorization') if (typeof authorizationHeader === 'undefined') { throw createError({ statusCode: 403, message: 'Need to pass valid Bearer-authorization header to access this endpoint' }) } const requestAccessToken = extractTokenFromAuthorizationHeader(authorizationHeader) - let decoded: JwtPayload + let decoded: User try { - const decodeTokenResult = decodeToken(requestAccessToken) + const decodeTokenResult = await decodeToken(requestAccessToken) if (!decodeTokenResult) { throw new Error('Expected decoded JwtPayload to be non-empty') } - decoded = decodeTokenResult + const userParseResult = userSchema.safeParse(decodeTokenResult) + if (!userParseResult.success) { + throw new Error('User shape mismatched') + } + decoded = userParseResult.data } catch (error) { console.error({ diff --git a/playground-local/server/utils/session.ts b/playground-local/server/utils/session.ts index ddfef461..7a45ab42 100644 --- a/playground-local/server/utils/session.ts +++ b/playground-local/server/utils/session.ts @@ -3,28 +3,26 @@ * This is a demo implementation, please create your own handlers */ -import { sign, verify } from 'jsonwebtoken' +import { jwtVerify, SignJWT } from 'jose' +import type { JWTPayload } from 'jose' import { z } from 'zod' /** * This is a demo secret. * Please ensure that your secret is properly protected. */ -const SECRET = 'dummy' +const SECRET = new TextEncoder().encode('dummy') /** 30 seconds */ const ACCESS_TOKEN_TTL = 30 -export interface User { - username: string - name: string - picture: string -} - -export interface JwtPayload extends User { - scope: Array<'test' | 'user'> - exp?: number -} +export const userSchema = z.object({ + username: z.string().min(1), + name: z.string(), + picture: z.string().optional(), + scope: z.enum(['test', 'user']).array().optional(), +}) +export type User = z.infer interface TokensByUser { access: Map @@ -68,15 +66,10 @@ interface UserTokens { * Demo function for signing user tokens. * Your implementation may differ. */ -export function createUserTokens(user: User): Promise { - const tokenData: JwtPayload = { ...user, scope: ['test', 'user'] } - const accessToken = sign(tokenData, SECRET, { - expiresIn: ACCESS_TOKEN_TTL - }) - const refreshToken = sign(tokenData, SECRET, { - // 1 day - expiresIn: 60 * 60 * 24 - }) +export async function createUserTokens(user: User): Promise { + const tokenData: JWTPayload = { ...user, scope: ['test', 'user'] } + const accessToken = await createSignedJwt(tokenData, ACCESS_TOKEN_TTL) + const refreshToken = await createSignedJwt(tokenData, /* 1 day */ 60 * 60 * 24) // Naive implementation - please implement properly yourself! const userTokens: TokensByUser = tokensByUser.get(user.username) ?? { @@ -87,18 +80,18 @@ export function createUserTokens(user: User): Promise { userTokens.refresh.set(refreshToken, accessToken) tokensByUser.set(user.username, userTokens) - // Emulate async work - return Promise.resolve({ + return { accessToken, refreshToken - }) + } } /** * Function for getting the data from a JWT */ -export function decodeToken(token: string): JwtPayload | undefined { - return verify(token, SECRET) as JwtPayload | undefined +export async function decodeToken(token: string): Promise { + const verified = await jwtVerify(token, SECRET) + return verified.payload } /** @@ -138,12 +131,11 @@ export function invalidateAccessToken(tokensByUser: TokensByUser, accessToken: s tokensByUser.access.delete(accessToken) } -export function refreshUserAccessToken(tokensByUser: TokensByUser, refreshToken: string): Promise { +export async function refreshUserAccessToken(tokensByUser: TokensByUser, refreshToken: string): Promise { // Get the access token const oldAccessToken = tokensByUser.refresh.get(refreshToken) if (!oldAccessToken) { - // Promises to emulate async work (e.g. of a DB call) - return Promise.resolve(undefined) + return } // Invalidate old access token @@ -151,20 +143,17 @@ export function refreshUserAccessToken(tokensByUser: TokensByUser, refreshToken: // Get the user data. In a real implementation this is likely a DB call. // In this demo we simply re-use the existing JWT data - const jwtUser = decodeToken(refreshToken) + const jwtUser = await decodeToken(refreshToken) if (!jwtUser) { - return Promise.resolve(undefined) + return } - const user: User = { - username: jwtUser.username, - picture: jwtUser.picture, - name: jwtUser.name + const user = userSchema.safeParse(jwtUser) + if (!user.success) { + return } - const accessToken = sign({ ...user, scope: ['test', 'user'] }, SECRET, { - expiresIn: 60 * 5 // 5 minutes - }) + const accessToken = await createSignedJwt({ ...user.data, scope: ['test', 'user'] }, /* 5 minutes */ 60 * 5) tokensByUser.refresh.set(refreshToken, accessToken) tokensByUser.access.set(accessToken, refreshToken) @@ -179,3 +168,12 @@ export function extractTokenFromAuthorizationHeader(authorizationHeader: string) ? authorizationHeader.slice(7) : authorizationHeader } + +function createSignedJwt(payload: JWTPayload, ttlInSeconds: number): Promise { + const unixTimestampNow = Math.floor(Date.now() / 1000) + + return new SignJWT(payload) + .setProtectedHeader({ alg: 'HS256' }) + .setExpirationTime(unixTimestampNow + ttlInSeconds) + .sign(SECRET) +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70d0c78f..d2d8dc8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,7 +38,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^6.7.3 - version: 6.7.3(@vue/compiler-sfc@3.5.26)(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + version: 6.7.3(@vue/compiler-sfc@3.5.26)(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) '@nuxt/module-builder': specifier: ^1.0.2 version: 1.0.2(@nuxt/cli@3.32.0(cac@6.7.14)(magicast@0.5.1))(@vue/compiler-core@3.5.26)(esbuild@0.27.2)(typescript@5.8.3)(vue-tsc@2.2.12(typescript@5.8.3))(vue@3.5.26(typescript@5.8.3)) @@ -49,14 +49,14 @@ importers: specifier: ^12.1.0 version: 12.1.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3) '@types/node': - specifier: ^20.19.29 - version: 20.19.29 + specifier: ^24.10.11 + version: 24.10.11 eslint: specifier: ^9.39.2 version: 9.39.2(jiti@2.6.1) nuxt: specifier: ^3.20.2 - version: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) + version: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) ofetch: specifier: ^1.5.1 version: 1.5.1 @@ -71,10 +71,10 @@ importers: version: 5.8.3 vitepress: specifier: ^1.6.4 - version: 1.6.4(@algolia/client-search@5.23.4)(@types/node@20.19.29)(change-case@5.4.4)(fuse.js@7.1.0)(jwt-decode@4.0.0)(postcss@8.5.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.14.0)(terser@5.30.3)(typescript@5.8.3) + version: 1.6.4(@algolia/client-search@5.23.4)(@types/node@24.10.11)(change-case@5.4.4)(fuse.js@7.1.0)(jwt-decode@4.0.0)(postcss@8.5.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.14.0)(terser@5.30.3)(typescript@5.8.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) vue-tsc: specifier: ^2.2.12 version: 2.2.12(typescript@5.8.3) @@ -83,7 +83,7 @@ importers: devDependencies: nuxt: specifier: ^3.20.2 - version: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) + version: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -93,37 +93,34 @@ importers: playground-local: dependencies: - jsonwebtoken: - specifier: ^9.0.3 - version: 9.0.3 + jose: + specifier: ^6.1.3 + version: 6.1.3 zod: specifier: ^3.25.76 version: 3.25.76 devDependencies: '@nuxt/test-utils': specifier: ^3.23.0 - version: 3.23.0(@playwright/test@1.57.0)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.57.0)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + version: 3.23.0(@playwright/test@1.58.2)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.58.2)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) '@playwright/test': - specifier: ^1.57.0 - version: 1.57.0 - '@types/jsonwebtoken': - specifier: ^9.0.10 - version: 9.0.10 + specifier: ^1.58.2 + version: 1.58.2 '@types/node': - specifier: ^20.19.29 - version: 20.19.29 + specifier: ^24.10.11 + version: 24.10.11 '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 nuxt: specifier: ^3.20.2 - version: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) + version: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) typescript: specifier: ^5.8.3 version: 5.8.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) vue-tsc: specifier: ^2.2.12 version: 2.2.12(typescript@5.8.3) @@ -1005,8 +1002,8 @@ packages: resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} engines: {node: 20 || >=22} - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + '@isaacs/brace-expansion@5.0.1': + resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==} engines: {node: 20 || >=22} '@isaacs/cliui@8.0.2': @@ -1058,8 +1055,8 @@ packages: resolution: {integrity: sha512-5XUvZuffe3KetyhbWwd4n2ktd7wraocCYw10tlM+/u/95iAz29GjNiuNxbCD1T6Bn1MyGc4QLVNKOWhzJkVFAw==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/open-api@2.46.0': - resolution: {integrity: sha512-ONTAnExC2fX4luhAQ91DD3ORbh+YFMmzk9ebrheVg+W4cTHmNnGxLbiYbmd44IqnLQjgqn4xrmmDULEMZcMdfw==} + '@netlify/open-api@2.47.0': + resolution: {integrity: sha512-jU2zBJVoVaFxyTVgSvDI6lbqv26ODz78yfCLSEdbtCTe5so+nsYep6Y0bNvazryhVrPjuLOutr+vyt78WQWm2A==} engines: {node: '>=14.8.0'} '@netlify/runtime-utils@1.3.1': @@ -1656,8 +1653,8 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@playwright/test@1.57.0': - resolution: {integrity: sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==} + '@playwright/test@1.58.2': + resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==} engines: {node: '>=18'} hasBin: true @@ -1969,9 +1966,6 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/jsonwebtoken@9.0.10': - resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} - '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -1987,8 +1981,8 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@20.19.29': - resolution: {integrity: sha512-YrT9ArrGaHForBaCNwFjoqJWmn8G1Pr7+BH/vwyLHciA9qT/wSiuOhxGCT50JA5xLvFBd6PIiGkE3afxcPE1nw==} + '@types/node@24.10.11': + resolution: {integrity: sha512-/Af7O8r1frCVgOz0I62jWUtMohJ0/ZQU/ZoketltOJPZpnb17yoNc9BSoVuV9qlaIXJiPNOpsfq4ByFajSArNQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2568,9 +2562,6 @@ packages: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} - buffer-equal-constant-time@1.0.1: - resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -3041,9 +3032,6 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - editorconfig@1.0.4: resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} engines: {node: '>=14'} @@ -3755,9 +3743,10 @@ packages: h3@1.15.5: resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} - h3@2.0.1-rc.8: - resolution: {integrity: sha512-IIMQG7qnXx1Ls75suuMHH4xtcvTFxsUguDIZB+dgdYr1RftLj59FkeWF1dOr+jnejDs8Eo+ZKV1CMqogFeqGRQ==} + h3@2.0.1-rc.14: + resolution: {integrity: sha512-163qbGmTr/9rqQRNuqMqtgXnOUAkE4KTdauiC9y0E5iG1I65kte9NyfWvZw5RTDMt6eY+DtyoNzrQ9wA2BfvGQ==} engines: {node: '>=20.11.1'} + hasBin: true peerDependencies: crossws: ^0.4.1 peerDependenciesMeta: @@ -4092,6 +4081,9 @@ packages: jose@4.15.5: resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} + jose@6.1.3: + resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} + js-beautify@1.15.1: resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} engines: {node: '>=14'} @@ -4149,16 +4141,6 @@ packages: resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - jsonwebtoken@9.0.3: - resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} - engines: {node: '>=12', npm: '>=6'} - - jwa@2.0.1: - resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} - - jws@4.0.1: - resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} - jwt-decode@4.0.0: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} engines: {node: '>=18'} @@ -4223,8 +4205,8 @@ packages: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lodash-es@4.17.22: - resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + lodash-es@4.17.23: + resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -4232,41 +4214,20 @@ packages: lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - lodash.isboolean@3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - - lodash.isinteger@4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - - lodash.isnumber@3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.23: + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -4950,13 +4911,13 @@ packages: pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - playwright-core@1.57.0: - resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==} + playwright-core@1.58.2: + resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} engines: {node: '>=18'} hasBin: true - playwright@1.57.0: - resolution: {integrity: sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==} + playwright@1.58.2: + resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} engines: {node: '>=18'} hasBin: true @@ -5567,6 +5528,11 @@ packages: engines: {node: '>=20.16.0'} hasBin: true + srvx@0.11.2: + resolution: {integrity: sha512-u6NbjE84IJwm1XUnJ53WqylLTQ3BdWRw03lcjBNNeMBD+EFjkl0Cnw1RVaGSqRAo38pOHOPXJH30M6cuTINUxw==} + engines: {node: '>=20.16.0'} + hasBin: true + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -5716,10 +5682,9 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.5.2: - resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} + tar@7.5.7: + resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} engines: {node: '>=18'} - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me terser@5.30.3: resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} @@ -5895,8 +5860,8 @@ packages: unctx@2.5.0: resolution: {integrity: sha512-p+Rz9x0R7X+CYDkT+Xg8/GhpcShTlU8n+cf9OtOEf7zEQsNcCZO1dPKNRDqvUTaq+P32PMMkxWHwfrxkqfqAYg==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} @@ -6546,7 +6511,7 @@ snapshots: dependencies: '@algolia/client-common': 5.23.4 - '@antfu/eslint-config@6.7.3(@vue/compiler-sfc@3.5.26)(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': + '@antfu/eslint-config@6.7.3(@vue/compiler-sfc@3.5.26)(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': dependencies: '@antfu/install-pkg': 1.1.0 '@clack/prompts': 0.11.0 @@ -6555,7 +6520,7 @@ snapshots: '@stylistic/eslint-plugin': 5.6.1(eslint@9.39.2(jiti@2.6.1)) '@typescript-eslint/eslint-plugin': 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3) - '@vitest/eslint-plugin': 1.6.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + '@vitest/eslint-plugin': 1.6.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) ansis: 4.2.0 cac: 6.7.14 eslint: 9.39.2(jiti@2.6.1) @@ -6574,7 +6539,7 @@ snapshots: eslint-plugin-regexp: 2.10.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-toml: 0.12.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-unicorn: 62.0.0(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-unused-imports: 4.3.0(@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-unused-imports: 4.3.0(@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-vue: 10.6.2(@stylistic/eslint-plugin@5.6.1(eslint@9.39.2(jiti@2.6.1)))(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))) eslint-plugin-yml: 1.19.1(eslint@9.39.2(jiti@2.6.1)) eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.26)(eslint@9.39.2(jiti@2.6.1)) @@ -7184,7 +7149,7 @@ snapshots: '@isaacs/balanced-match@4.0.1': {} - '@isaacs/brace-expansion@5.0.0': + '@isaacs/brace-expansion@5.0.1': dependencies: '@isaacs/balanced-match': 4.0.1 @@ -7241,7 +7206,7 @@ snapshots: node-fetch: 2.7.0(encoding@0.1.13) nopt: 8.1.0 semver: 7.7.3 - tar: 7.5.2 + tar: 7.5.7 transitivePeerDependencies: - encoding - supports-color @@ -7274,7 +7239,7 @@ snapshots: write-file-atomic: 6.0.0 optional: true - '@netlify/open-api@2.46.0': + '@netlify/open-api@2.47.0': optional: true '@netlify/runtime-utils@1.3.1': @@ -7358,11 +7323,11 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@3.1.1(magicast@0.5.1)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': + '@nuxt/devtools-kit@3.1.1(magicast@0.5.1)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': dependencies: '@nuxt/kit': 4.2.2(magicast@0.5.1) execa: 8.0.1 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) transitivePeerDependencies: - magicast @@ -7377,12 +7342,12 @@ snapshots: prompts: 2.4.2 semver: 7.7.3 - '@nuxt/devtools@3.1.1(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': + '@nuxt/devtools@3.1.1(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': dependencies: - '@nuxt/devtools-kit': 3.1.1(magicast@0.5.1)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + '@nuxt/devtools-kit': 3.1.1(magicast@0.5.1)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) '@nuxt/devtools-wizard': 3.1.1 '@nuxt/kit': 4.2.2(magicast@0.5.1) - '@vue/devtools-core': 8.0.5(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) + '@vue/devtools-core': 8.0.5(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) '@vue/devtools-kit': 8.0.5 birpc: 2.8.0 consola: 3.4.2 @@ -7407,9 +7372,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 1.0.0 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.2.2(magicast@0.5.1))(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) - vite-plugin-vue-tracer: 1.1.3(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.2.2(magicast@0.5.1))(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + vite-plugin-vue-tracer: 1.1.3(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) which: 5.0.0 ws: 8.18.3 transitivePeerDependencies: @@ -7492,7 +7457,7 @@ snapshots: - vue - vue-tsc - '@nuxt/nitro-server@3.20.2(@netlify/blobs@9.1.2)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.9.2)(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(typescript@5.8.3)': + '@nuxt/nitro-server@3.20.2(@netlify/blobs@9.1.2)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.9.2)(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(typescript@5.8.3)': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 3.20.2(magicast@0.5.1) @@ -7510,7 +7475,7 @@ snapshots: klona: 2.0.6 mocked-exports: 0.1.1 nitropack: 2.13.1(@netlify/blobs@9.1.2)(encoding@0.1.13) - nuxt: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) + nuxt: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) pathe: 2.0.3 pkg-types: 2.3.0 radix3: 1.1.2 @@ -7579,7 +7544,7 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/test-utils@3.23.0(@playwright/test@1.57.0)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.57.0)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': + '@nuxt/test-utils@3.23.0(@playwright/test@1.58.2)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.58.2)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': dependencies: '@clack/prompts': 1.0.0-alpha.9 '@nuxt/kit': 3.20.2(magicast@0.5.1) @@ -7592,7 +7557,7 @@ snapshots: fake-indexeddb: 6.2.5 get-port-please: 3.2.0 h3: 1.15.5 - h3-next: h3@2.0.1-rc.8 + h3-next: h3@2.0.1-rc.14 local-pkg: 1.1.2 magic-string: 0.30.21 node-fetch-native: 1.6.7 @@ -7607,24 +7572,24 @@ snapshots: tinyexec: 1.0.2 ufo: 1.6.3 unplugin: 2.3.11 - vitest-environment-nuxt: 1.0.1(@playwright/test@1.57.0)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.57.0)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + vitest-environment-nuxt: 1.0.1(@playwright/test@1.58.2)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.58.2)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) vue: 3.5.26(typescript@5.8.3) optionalDependencies: - '@playwright/test': 1.57.0 + '@playwright/test': 1.58.2 '@vue/test-utils': 2.4.6 - playwright-core: 1.57.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + playwright-core: 1.58.2 + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) transitivePeerDependencies: - crossws - magicast - typescript - '@nuxt/vite-builder@3.20.2(@types/node@20.19.29)(eslint@9.39.2(jiti@2.6.1))(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vue-tsc@2.2.12(typescript@5.8.3))(vue@3.5.26(typescript@5.8.3))(yaml@2.8.2)': + '@nuxt/vite-builder@3.20.2(@types/node@24.10.11)(eslint@9.39.2(jiti@2.6.1))(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vue-tsc@2.2.12(typescript@5.8.3))(vue@3.5.26(typescript@5.8.3))(yaml@2.8.2)': dependencies: '@nuxt/kit': 3.20.2(magicast@0.5.1) '@rollup/plugin-replace': 6.0.3(rollup@4.55.1) - '@vitejs/plugin-vue': 6.0.3(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) - '@vitejs/plugin-vue-jsx': 5.1.3(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) + '@vitejs/plugin-vue': 6.0.3(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) + '@vitejs/plugin-vue-jsx': 5.1.3(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) autoprefixer: 10.4.23(postcss@8.5.6) consola: 3.4.2 cssnano: 7.1.2(postcss@8.5.6) @@ -7640,7 +7605,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 - nuxt: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) + nuxt: 3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2) ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.0.0 @@ -7651,9 +7616,9 @@ snapshots: std-env: 3.10.0 ufo: 1.6.3 unenv: 2.0.0-rc.24 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-node: 5.2.0(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-plugin-checker: 0.12.0(eslint@9.39.2(jiti@2.6.1))(oxlint@1.39.0)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3)) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite-node: 5.2.0(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite-plugin-checker: 0.12.0(eslint@9.39.2(jiti@2.6.1))(oxlint@1.39.0)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3)) vue: 3.5.26(typescript@5.8.3) vue-bundle-renderer: 2.2.0 transitivePeerDependencies: @@ -7688,7 +7653,7 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3) eslint: 9.39.2(jiti@2.6.1) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-vue: 9.27.0(eslint@9.39.2(jiti@2.6.1)) transitivePeerDependencies: - eslint-import-resolver-node @@ -7699,8 +7664,8 @@ snapshots: '@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))': dependencies: eslint: 9.39.2(jiti@2.6.1) - eslint-config-standard: 17.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-n@15.7.0(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-promise@6.6.0(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.39.2(jiti@2.6.1)) + eslint-config-standard: 17.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-n@15.7.0(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-promise@6.6.0(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-n: 15.7.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-node: 11.1.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-promise: 6.6.0(eslint@9.39.2(jiti@2.6.1)) @@ -7950,9 +7915,9 @@ snapshots: '@pkgr/core@0.2.9': {} - '@playwright/test@1.57.0': + '@playwright/test@1.58.2': dependencies: - playwright: 1.57.0 + playwright: 1.58.2 '@polka/url@1.0.0-next.29': {} @@ -8215,11 +8180,6 @@ snapshots: '@types/json5@0.0.29': {} - '@types/jsonwebtoken@9.0.10': - dependencies: - '@types/ms': 2.1.0 - '@types/node': 20.19.29 - '@types/linkify-it@5.0.0': {} '@types/markdown-it@14.1.2': @@ -8235,9 +8195,9 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@20.19.29': + '@types/node@24.10.11': dependencies: - undici-types: 6.21.0 + undici-types: 7.16.0 '@types/normalize-package-data@2.4.4': {} @@ -8455,37 +8415,37 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-vue-jsx@5.1.3(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': + '@vitejs/plugin-vue-jsx@5.1.3(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': dependencies: '@babel/core': 7.28.6 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.6) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.28.6) '@rolldown/pluginutils': 1.0.0-beta.60 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.28.6) - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) vue: 3.5.26(typescript@5.8.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@5.4.21(@types/node@20.19.29)(terser@5.30.3))(vue@3.5.26(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@5.4.21(@types/node@24.10.11)(terser@5.30.3))(vue@3.5.26(typescript@5.8.3))': dependencies: - vite: 5.4.21(@types/node@20.19.29)(terser@5.30.3) + vite: 5.4.21(@types/node@24.10.11)(terser@5.30.3) vue: 3.5.26(typescript@5.8.3) - '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': + '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.53 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) vue: 3.5.26(typescript@5.8.3) - '@vitest/eslint-plugin@1.6.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': + '@vitest/eslint-plugin@1.6.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': dependencies: '@typescript-eslint/scope-manager': 8.53.0 '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3) eslint: 9.39.2(jiti@2.6.1) optionalDependencies: typescript: 5.8.3 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -8497,13 +8457,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': + '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) '@vitest/pretty-format@3.2.4': dependencies: @@ -8629,14 +8589,14 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.7 - '@vue/devtools-core@8.0.5(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': + '@vue/devtools-core@8.0.5(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3))': dependencies: '@vue/devtools-kit': 8.0.5 '@vue/devtools-shared': 8.0.5 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + vite-hot-client: 2.1.0(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) vue: 3.5.26(typescript@5.8.3) transitivePeerDependencies: - vite @@ -8854,7 +8814,7 @@ snapshots: graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 - lodash: 4.17.21 + lodash: 4.17.23 normalize-path: 3.0.0 readable-stream: 4.5.2 @@ -8997,8 +8957,6 @@ snapshots: buffer-crc32@1.0.0: {} - buffer-equal-constant-time@1.0.1: {} - buffer-from@1.1.2: {} buffer@6.0.3: @@ -9439,10 +9397,6 @@ snapshots: eastasianwidth@0.2.0: {} - ecdsa-sig-formatter@1.0.11: - dependencies: - safe-buffer: 5.2.1 - editorconfig@1.0.4: dependencies: '@one-ini/wasm': 0.1.1 @@ -9682,10 +9636,10 @@ snapshots: '@eslint/compat': 1.4.1(eslint@9.39.2(jiti@2.6.1)) eslint: 9.39.2(jiti@2.6.1) - eslint-config-standard@17.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-n@15.7.0(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-promise@6.6.0(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): + eslint-config-standard@17.0.0(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-n@15.7.0(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-promise@6.6.0(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): dependencies: eslint: 9.39.2(jiti@2.6.1) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-n: 15.7.0(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-promise: 6.6.0(eslint@9.39.2(jiti@2.6.1)) @@ -9707,7 +9661,7 @@ snapshots: enhanced-resolve: 5.18.4 eslint: 9.39.2(jiti@2.6.1) eslint-module-utils: 2.12.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) fast-glob: 3.3.3 get-tsconfig: 4.13.0 is-core-module: 2.16.1 @@ -9773,7 +9727,7 @@ snapshots: optionalDependencies: typescript: 5.8.3 - eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -9917,7 +9871,7 @@ snapshots: debug: 4.4.3 eslint: 9.39.2(jiti@2.6.1) eslint-compat-utils: 0.6.5(eslint@9.39.2(jiti@2.6.1)) - lodash: 4.17.21 + lodash: 4.17.23 toml-eslint-parser: 0.10.1 transitivePeerDependencies: - supports-color @@ -9932,7 +9886,7 @@ snapshots: esquery: 1.7.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 - lodash: 4.17.21 + lodash: 4.17.23 pluralize: 8.0.0 read-pkg-up: 7.0.1 regexp-tree: 0.1.27 @@ -9962,7 +9916,7 @@ snapshots: semver: 7.7.3 strip-indent: 4.1.1 - eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@6.21.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.2(jiti@2.6.1)): dependencies: eslint: 9.39.2(jiti@2.6.1) optionalDependencies: @@ -10415,10 +10369,10 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 - h3@2.0.1-rc.8: + h3@2.0.1-rc.14: dependencies: rou3: 0.7.12 - srvx: 0.10.0 + srvx: 0.11.2 has-bigints@1.1.0: {} @@ -10737,6 +10691,8 @@ snapshots: jose@4.15.5: {} + jose@6.1.3: {} + js-beautify@1.15.1: dependencies: config-chain: 1.1.13 @@ -10782,30 +10738,6 @@ snapshots: espree: 9.6.1 semver: 7.7.3 - jsonwebtoken@9.0.3: - dependencies: - jws: 4.0.1 - lodash.includes: 4.3.0 - lodash.isboolean: 3.0.3 - lodash.isinteger: 4.0.4 - lodash.isnumber: 3.0.3 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.once: 4.1.1 - ms: 2.1.3 - semver: 7.7.3 - - jwa@2.0.1: - dependencies: - buffer-equal-constant-time: 1.0.1 - ecdsa-sig-formatter: 1.0.11 - safe-buffer: 5.2.1 - - jws@4.0.1: - dependencies: - jwa: 2.0.1 - safe-buffer: 5.2.1 - jwt-decode@4.0.0: optional: true @@ -10881,7 +10813,7 @@ snapshots: p-locate: 6.0.0 optional: true - lodash-es@4.17.22: + lodash-es@4.17.23: optional: true lodash.debounce@4.0.8: @@ -10889,29 +10821,15 @@ snapshots: lodash.defaults@4.2.0: {} - lodash.includes@4.3.0: {} - lodash.isarguments@3.1.0: {} - lodash.isboolean@3.0.3: {} - - lodash.isinteger@4.0.4: {} - - lodash.isnumber@3.0.3: {} - - lodash.isplainobject@4.0.6: {} - - lodash.isstring@4.0.1: {} - lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} - lodash.once@4.1.1: {} - lodash.uniq@4.5.0: {} - lodash@4.17.21: {} + lodash@4.17.23: {} longest-streak@3.1.0: {} @@ -11316,7 +11234,7 @@ snapshots: minimatch@10.1.1: dependencies: - '@isaacs/brace-expansion': 5.0.0 + '@isaacs/brace-expansion': 5.0.1 minimatch@3.1.2: dependencies: @@ -11398,8 +11316,8 @@ snapshots: netlify@13.3.5: dependencies: - '@netlify/open-api': 2.46.0 - lodash-es: 4.17.22 + '@netlify/open-api': 2.47.0 + lodash-es: 4.17.23 micro-api-client: 3.3.0 node-fetch: 3.3.2 p-wait-for: 5.0.2 @@ -11604,16 +11522,16 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2): + nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2): dependencies: '@dxup/nuxt': 0.2.2(magicast@0.5.1) '@nuxt/cli': 3.32.0(cac@6.7.14)(magicast@0.5.1) - '@nuxt/devtools': 3.1.1(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) + '@nuxt/devtools': 3.1.1(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)) '@nuxt/kit': 3.20.2(magicast@0.5.1) - '@nuxt/nitro-server': 3.20.2(@netlify/blobs@9.1.2)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.9.2)(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(typescript@5.8.3) + '@nuxt/nitro-server': 3.20.2(@netlify/blobs@9.1.2)(db0@0.3.4)(encoding@0.1.13)(ioredis@5.9.2)(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(typescript@5.8.3) '@nuxt/schema': 3.20.2 '@nuxt/telemetry': 2.6.6(magicast@0.5.1) - '@nuxt/vite-builder': 3.20.2(@types/node@20.19.29)(eslint@9.39.2(jiti@2.6.1))(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@20.19.29)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vue-tsc@2.2.12(typescript@5.8.3))(vue@3.5.26(typescript@5.8.3))(yaml@2.8.2) + '@nuxt/vite-builder': 3.20.2(@types/node@24.10.11)(eslint@9.39.2(jiti@2.6.1))(magicast@0.5.1)(nuxt@3.20.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.4.1)(@types/node@24.10.11)(@vue/compiler-sfc@3.5.26)(cac@6.7.14)(db0@0.3.4)(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.9.2)(magicast@0.5.1)(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3))(yaml@2.8.2))(oxlint@1.39.0)(rollup@4.55.1)(terser@5.30.3)(typescript@5.8.3)(vue-tsc@2.2.12(typescript@5.8.3))(vue@3.5.26(typescript@5.8.3))(yaml@2.8.2) '@unhead/vue': 2.0.19(vue@3.5.26(typescript@5.8.3)) '@vue/shared': 3.5.26 c12: 3.3.3(magicast@0.5.1) @@ -11665,7 +11583,7 @@ snapshots: vue-router: 4.6.3(vue@3.5.26(typescript@5.8.3)) optionalDependencies: '@parcel/watcher': 2.4.1 - '@types/node': 20.19.29 + '@types/node': 24.10.11 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -12030,11 +11948,11 @@ snapshots: exsolve: 1.0.8 pathe: 2.0.3 - playwright-core@1.57.0: {} + playwright-core@1.58.2: {} - playwright@1.57.0: + playwright@1.58.2: dependencies: - playwright-core: 1.57.0 + playwright-core: 1.58.2 optionalDependencies: fsevents: 2.3.2 @@ -12679,6 +12597,8 @@ snapshots: srvx@0.10.0: {} + srvx@0.11.2: {} + stackback@0.0.2: {} standard-as-callback@2.1.0: {} @@ -12826,7 +12746,7 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.16.1 - tar@7.5.2: + tar@7.5.7: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 @@ -13019,7 +12939,7 @@ snapshots: magic-string: 0.30.21 unplugin: 2.3.11 - undici-types@6.21.0: {} + undici-types@7.16.0: {} unenv@2.0.0-rc.24: dependencies: @@ -13193,23 +13113,23 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): + vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): dependencies: birpc: 2.8.0 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-hot-client: 2.1.0(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite-hot-client: 2.1.0(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) - vite-hot-client@2.1.0(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): + vite-hot-client@2.1.0(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): dependencies: - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-node@3.2.4(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): + vite-node@3.2.4(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -13224,13 +13144,13 @@ snapshots: - tsx - yaml - vite-node@5.2.0(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): + vite-node@5.2.0(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): dependencies: cac: 6.7.14 es-module-lexer: 1.7.0 obug: 2.1.1 pathe: 2.0.3 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -13244,7 +13164,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.12.0(eslint@9.39.2(jiti@2.6.1))(oxlint@1.39.0)(typescript@5.8.3)(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3)): + vite-plugin-checker@0.12.0(eslint@9.39.2(jiti@2.6.1))(oxlint@1.39.0)(typescript@5.8.3)(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue-tsc@2.2.12(typescript@5.8.3)): dependencies: '@babel/code-frame': 7.28.6 chokidar: 4.0.3 @@ -13253,7 +13173,7 @@ snapshots: picomatch: 4.0.3 tiny-invariant: 1.3.3 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.2(jiti@2.6.1) @@ -13261,7 +13181,7 @@ snapshots: typescript: 5.8.3 vue-tsc: 2.2.12(typescript@5.8.3) - vite-plugin-inspect@11.3.3(@nuxt/kit@4.2.2(magicast@0.5.1))(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): + vite-plugin-inspect@11.3.3(@nuxt/kit@4.2.2(magicast@0.5.1))(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -13271,34 +13191,34 @@ snapshots: perfect-debounce: 2.0.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) optionalDependencies: '@nuxt/kit': 4.2.2(magicast@0.5.1) transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.1.3(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)): + vite-plugin-vue-tracer@1.1.3(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.8.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) vue: 3.5.26(typescript@5.8.3) - vite@5.4.21(@types/node@20.19.29)(terser@5.30.3): + vite@5.4.21(@types/node@24.10.11)(terser@5.30.3): dependencies: esbuild: 0.21.5 postcss: 8.5.6 rollup: 4.55.1 optionalDependencies: - '@types/node': 20.19.29 + '@types/node': 24.10.11 fsevents: 2.3.3 terser: 5.30.3 - vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): + vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -13307,13 +13227,13 @@ snapshots: rollup: 4.55.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 20.19.29 + '@types/node': 24.10.11 fsevents: 2.3.3 jiti: 2.6.1 terser: 5.30.3 yaml: 2.8.2 - vitepress@1.6.4(@algolia/client-search@5.23.4)(@types/node@20.19.29)(change-case@5.4.4)(fuse.js@7.1.0)(jwt-decode@4.0.0)(postcss@8.5.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.14.0)(terser@5.30.3)(typescript@5.8.3): + vitepress@1.6.4(@algolia/client-search@5.23.4)(@types/node@24.10.11)(change-case@5.4.4)(fuse.js@7.1.0)(jwt-decode@4.0.0)(postcss@8.5.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.14.0)(terser@5.30.3)(typescript@5.8.3): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.23.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.14.0) @@ -13322,7 +13242,7 @@ snapshots: '@shikijs/transformers': 2.5.0 '@shikijs/types': 2.5.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.4(vite@5.4.21(@types/node@20.19.29)(terser@5.30.3))(vue@3.5.26(typescript@5.8.3)) + '@vitejs/plugin-vue': 5.2.4(vite@5.4.21(@types/node@24.10.11)(terser@5.30.3))(vue@3.5.26(typescript@5.8.3)) '@vue/devtools-api': 7.7.5 '@vue/shared': 3.5.26 '@vueuse/core': 12.8.2(typescript@5.8.3) @@ -13331,7 +13251,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.1.2 shiki: 2.5.0 - vite: 5.4.21(@types/node@20.19.29)(terser@5.30.3) + vite: 5.4.21(@types/node@24.10.11)(terser@5.30.3) vue: 3.5.26(typescript@5.8.3) optionalDependencies: postcss: 8.5.6 @@ -13362,9 +13282,9 @@ snapshots: - typescript - universal-cookie - vitest-environment-nuxt@1.0.1(@playwright/test@1.57.0)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.57.0)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): + vitest-environment-nuxt@1.0.1(@playwright/test@1.58.2)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.58.2)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)): dependencies: - '@nuxt/test-utils': 3.23.0(@playwright/test@1.57.0)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.57.0)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + '@nuxt/test-utils': 3.23.0(@playwright/test@1.58.2)(@vue/test-utils@2.4.6)(magicast@0.5.1)(playwright-core@1.58.2)(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -13380,11 +13300,11 @@ snapshots: - typescript - vitest - vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) + '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -13402,12 +13322,12 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.1(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) - vite-node: 3.2.4(@types/node@20.19.29)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@24.10.11)(jiti@2.6.1)(terser@5.30.3)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 20.19.29 + '@types/node': 24.10.11 transitivePeerDependencies: - jiti - less @@ -13452,7 +13372,7 @@ snapshots: eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.7.0 - lodash: 4.17.21 + lodash: 4.17.23 semver: 7.7.3 transitivePeerDependencies: - supports-color