diff --git a/packages/devtools-kit/src/_types/index.ts b/packages/devtools-kit/src/_types/index.ts index 44dca2ea3e..2d507ea674 100644 --- a/packages/devtools-kit/src/_types/index.ts +++ b/packages/devtools-kit/src/_types/index.ts @@ -5,6 +5,7 @@ export * from './client-api' export * from './common' export * from './custom-tabs' export * from './integrations' +export * from './nitro' export * from './options' export * from './rpc' export * from './server-ctx' diff --git a/packages/devtools-kit/src/_types/nitro.ts b/packages/devtools-kit/src/_types/nitro.ts new file mode 100644 index 0000000000..3ebab8c80d --- /dev/null +++ b/packages/devtools-kit/src/_types/nitro.ts @@ -0,0 +1,45 @@ +// Compatibility types for nitropack v2 and nitro v3 +// Defines the subset of Nitro types used by devtools, compatible with both versions. + +import type { Storage } from 'unstorage' + +export interface StorageMounts { + [name: string]: { + driver: string + [option: string]: any + } +} + +/** + * Merged Nitro instance type covering properties used by devtools. + * Works with both nitropack v2 (where `storage` exists) and nitro v3 (where it was removed). + */ +export interface NitroLike { + options: { + storage: StorageMounts + devStorage: StorageMounts + handlers: Array<{ + route?: string + handler: string + method?: string + middleware?: boolean + }> + tasks: { + [name: string]: { + handler: string + description: string + } + } + scheduledTasks?: Record + [key: string]: any + } + scannedHandlers: Array<{ + route?: string + handler: string + method?: string + middleware?: boolean + }> + /** Present in nitropack v2, removed in nitro v3 */ + storage?: Storage + [key: string]: any +} diff --git a/packages/devtools-kit/src/_types/rpc.ts b/packages/devtools-kit/src/_types/rpc.ts index 70a37f52b2..5c38bd9154 100644 --- a/packages/devtools-kit/src/_types/rpc.ts +++ b/packages/devtools-kit/src/_types/rpc.ts @@ -1,10 +1,10 @@ -import type { Nitro, StorageMounts } from 'nitropack' import type { Component, NuxtApp, NuxtLayout, NuxtOptions, NuxtPage } from 'nuxt/schema' import type { StorageValue } from 'unstorage' import type { ResolvedConfig } from 'vite' import type { AnalyzeBuildsInfo } from './analyze-build' import type { ModuleCustomTab } from './custom-tabs' import type { AssetEntry, AssetInfo, AutoImportsWithMetadata, ComponentRelationship, HookInfo, ImageMeta, NpmCommandOptions, NpmCommandType, PackageUpdateInfo, ScannedNitroTasks, ServerRouteInfo } from './integrations' +import type { NitroLike, StorageMounts } from './nitro' import type { ModuleOptions, NuxtDevToolsOptions } from './options' import type { InstallModuleReturn, ServerDebugContext } from './server-ctx' import type { TerminalAction, TerminalInfo } from './terminals' @@ -90,7 +90,7 @@ export interface ClientFunctions { export interface NuxtServerData { nuxt: NuxtOptions - nitro?: Nitro['options'] + nitro?: NitroLike['options'] vite: { server?: ResolvedConfig client?: ResolvedConfig diff --git a/packages/devtools/package.json b/packages/devtools/package.json index 8eb238f6bf..244e95c5de 100644 --- a/packages/devtools/package.json +++ b/packages/devtools/package.json @@ -122,6 +122,7 @@ "markdown-it": "catalog:frontend", "markdown-it-link-attributes": "catalog:frontend", "my-ua-parser": "catalog:frontend", + "nitro": "catalog:buildtools", "nitropack": "catalog:buildtools", "nuxt": "catalog:buildtools", "ofetch": "catalog:frontend", diff --git a/packages/devtools/src/runtime/nitro/inline.ts b/packages/devtools/src/runtime/nitro/inline.ts index ee2206e32f..57b8581424 100644 --- a/packages/devtools/src/runtime/nitro/inline.ts +++ b/packages/devtools/src/runtime/nitro/inline.ts @@ -1,10 +1,8 @@ -import type { NitroAppPlugin } from 'nitropack' - // @ts-expect-error injected import { script } from '#nuxt-devtools-inline' -export default function (nitro) { - nitro.hooks.hook('render:html', (htmlContext) => { +export default function (nitroApp: { hooks: { hook: (name: string, fn: (...args: any[]) => void) => void } }) { + nitroApp.hooks.hook('render:html', (htmlContext: { head: string[] }) => { htmlContext.head.push(``) }) } diff --git a/packages/devtools/src/server-rpc/server-data.ts b/packages/devtools/src/server-rpc/server-data.ts index 1f05bcbb31..65c1a1e2d2 100644 --- a/packages/devtools/src/server-rpc/server-data.ts +++ b/packages/devtools/src/server-rpc/server-data.ts @@ -1,13 +1,12 @@ -import type { Nitro } from 'nitropack' import type { ResolvedConfig } from 'vite' -import type { NuxtDevtoolsServerContext, ServerFunctions } from '../types' +import type { NitroLike, NuxtDevtoolsServerContext, ServerFunctions } from '../types' import { addVitePlugin } from '@nuxt/kit' export function setupServerDataRPC({ nuxt, ensureDevAuthToken, }: NuxtDevtoolsServerContext) { - let nitro: Nitro | undefined + let nitro: NitroLike | undefined let viteServer: ResolvedConfig | undefined let viteClient: ResolvedConfig | undefined diff --git a/packages/devtools/src/server-rpc/server-routes.ts b/packages/devtools/src/server-rpc/server-routes.ts index 18962b3a43..844e4436a5 100644 --- a/packages/devtools/src/server-rpc/server-routes.ts +++ b/packages/devtools/src/server-rpc/server-routes.ts @@ -1,11 +1,9 @@ -import type { Nitro } from 'nitropack' -import type { NuxtDevtoolsServerContext, ServerFunctions, ServerRouteInfo } from '../types' +import type { NitroLike, NuxtDevtoolsServerContext, ServerFunctions, ServerRouteInfo } from '../types' +import { relative, resolve } from 'pathe' import { debounce } from 'perfect-debounce' -import { watchStorageMount } from './storage-watch' export function setupServerRoutesRPC({ nuxt, refresh }: NuxtDevtoolsServerContext) { - let nitro: Nitro - let unwatchStorage: (() => Promise | void) | undefined + let nitro: NitroLike | undefined let cache: ServerRouteInfo[] | null = null @@ -14,26 +12,20 @@ export function setupServerRoutesRPC({ nuxt, refresh }: NuxtDevtoolsServerContex refresh('getServerRoutes') }, 500) - nuxt.hook('nitro:init', (_) => { + nuxt.hook('nitro:init', (_: NitroLike) => { nitro = _ cache = null refresh('getServerRoutes') }) - nuxt.hook('ready', async () => { - if (!nitro) - return - - await unwatchStorage?.() - unwatchStorage = await watchStorageMount(nitro.storage, 'src', (_event, key) => { - if (key.startsWith('src:api:') || key.startsWith('src:routes:')) - refreshDebounced() - }) - }) - - nuxt.hook('close', async () => { - await unwatchStorage?.() - unwatchStorage = undefined + // Watch for server route file changes + const serverDir = resolve(nuxt.options.srcDir, nuxt.options.serverDir) + nuxt.hook('builder:watch', (_event, path) => { + const absolutePath = resolve(nuxt.options.srcDir, path) + const rel = relative(serverDir, absolutePath) + if (!rel.startsWith('..') && (rel.startsWith('api/') || rel.startsWith('routes/'))) { + refreshDebounced() + } }) function scan() { diff --git a/packages/devtools/src/server-rpc/server-tasks.ts b/packages/devtools/src/server-rpc/server-tasks.ts index cf8d8730d3..67ca9d759f 100644 --- a/packages/devtools/src/server-rpc/server-tasks.ts +++ b/packages/devtools/src/server-rpc/server-tasks.ts @@ -1,11 +1,9 @@ -import type { Nitro } from 'nitropack' -import type { NuxtDevtoolsServerContext, ScannedNitroTasks, ServerFunctions } from '../types' +import type { NitroLike, NuxtDevtoolsServerContext, ScannedNitroTasks, ServerFunctions } from '../types' +import { relative, resolve } from 'pathe' import { debounce } from 'perfect-debounce' -import { watchStorageMount } from './storage-watch' export function setupServerTasksRPC({ nuxt, refresh }: NuxtDevtoolsServerContext) { - let nitro: Nitro - let unwatchStorage: (() => Promise | void) | undefined + let nitro: NitroLike | undefined let cache: ScannedNitroTasks | null = null @@ -14,26 +12,20 @@ export function setupServerTasksRPC({ nuxt, refresh }: NuxtDevtoolsServerContext refresh('getServerTasks') }, 500) - nuxt.hook('nitro:init', (_) => { + nuxt.hook('nitro:init', (_: NitroLike) => { nitro = _ cache = null refresh('getServerTasks') }) - nuxt.hook('ready', async () => { - if (!nitro) - return - - await unwatchStorage?.() - unwatchStorage = await watchStorageMount(nitro.storage, 'src', (_event, key) => { - if (key.startsWith('src:tasks:')) - refreshDebounced() - }) - }) - - nuxt.hook('close', async () => { - await unwatchStorage?.() - unwatchStorage = undefined + // Watch for server task file changes + const serverDir = resolve(nuxt.options.srcDir, nuxt.options.serverDir) + nuxt.hook('builder:watch', (_event, path) => { + const absolutePath = resolve(nuxt.options.srcDir, path) + const rel = relative(serverDir, absolutePath) + if (rel.startsWith('tasks/')) { + refreshDebounced() + } }) function scan() { diff --git a/packages/devtools/src/server-rpc/storage.ts b/packages/devtools/src/server-rpc/storage.ts index 52b0224e75..c482a7c85e 100644 --- a/packages/devtools/src/server-rpc/storage.ts +++ b/packages/devtools/src/server-rpc/storage.ts @@ -1,6 +1,6 @@ -import type { StorageMounts } from 'nitropack' import type { Storage, StorageValue } from 'unstorage' -import type { NuxtDevtoolsServerContext, ServerFunctions } from '../types' +import type { NitroLike, NuxtDevtoolsServerContext, ServerFunctions, StorageMounts } from '../types' +import { builtinDrivers, createStorage } from 'unstorage' import { watchStorageMount } from './storage-watch' const IGNORE_STORAGE_MOUNTS = ['root', 'build', 'src', 'cache'] @@ -8,6 +8,41 @@ function shouldIgnoreStorageKey(key: string) { return IGNORE_STORAGE_MOUNTS.includes(key.split(':')[0]!) } +/** + * Resolve the unstorage instance from the nitro instance + * - in nitropack v2, `nitro.storage` is available in build-time + * - in nitro v3, it is runtime only, so we must initialise it here + */ +async function resolveStorage(nitro: NitroLike): Promise { + // nitropack v2 + if (nitro.storage) { + return nitro.storage + } + + // nitro v3 + const storage = createStorage() + const mounts = { + ...nitro.options.storage, + ...nitro.options.devStorage, + } + + for (const [mountName, opts] of Object.entries(mounts)) { + if (opts?.driver) { + try { + const driverPath = (builtinDrivers as Record)[opts.driver] || opts.driver + const createDriver = await import(driverPath).then(r => r.default || r) + const { driver: _, ...driverOpts } = opts + storage.mount(mountName, createDriver(driverOpts)) + } + catch (err) { + console.warn(`[nuxt-devtools] Failed to mount storage driver "${opts.driver}" for "${mountName}":`, err) + } + } + } + + return storage +} + export function setupStorageRPC({ nuxt, rpc, @@ -18,8 +53,8 @@ export function setupStorageRPC({ let storage: Storage | undefined let unwatchStorageMounts: Array<() => Promise | void> = [] - nuxt.hook('nitro:init', (nitro) => { - storage = nitro.storage + nuxt.hook('nitro:init', async (nitro: NitroLike) => { + storage = await resolveStorage(nitro) // Taken from https://github.com/unjs/nitro/blob/d83f2b65165d7ba996e7ef129ea99ff5b551dccc/src/storage.ts#L7-L10 // Waiting for https://github.com/unjs/unstorage/issues/53 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 707eef6e53..bf4318681b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,6 +54,9 @@ catalogs: lightningcss: specifier: ^1.31.1 version: 1.31.1 + nitro: + specifier: ^3.0.1-alpha.2 + version: 3.0.1-alpha.2 nitropack: specifier: ^2.13.1 version: 2.13.1 @@ -633,7 +636,7 @@ importers: version: 1.2.27 '@nuxt/test-utils': specifier: catalog:cli - version: 4.0.0(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18) + version: 4.0.0(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.10.1))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18) '@parcel/watcher': specifier: catalog:buildtools version: 2.5.6 @@ -700,6 +703,9 @@ importers: my-ua-parser: specifier: catalog:frontend version: 2.0.4 + nitro: + specifier: catalog:buildtools + version: 3.0.1-alpha.2(@netlify/blobs@9.1.2)(chokidar@5.0.0)(ioredis@5.9.2)(lru-cache@11.2.6)(rolldown@1.0.0-rc.5)(rollup@4.59.0)(vite@8.0.0-beta.15) nitropack: specifier: catalog:buildtools version: 2.13.1(@netlify/blobs@9.1.2)(rolldown@1.0.0-rc.5) @@ -931,7 +937,7 @@ importers: version: 4.3.1 '@nuxt/test-utils': specifier: catalog:cli - version: 4.0.0(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) + version: 4.0.0(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.11.3))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) eslint: specifier: catalog:cli version: 10.0.2(jiti@2.6.1) @@ -1917,48 +1923,97 @@ packages: resolution: {integrity: sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@oxc-minify/binding-android-arm-eabi@0.110.0': + resolution: {integrity: sha512-43fMTO8/5bMlqfOiNSZNKUzIqeLIYuB9Hr1Ohyf58B1wU11S2dPGibTXOGNaWsfgHy99eeZ1bSgeIHy/fEYqbw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-minify/binding-android-arm-eabi@0.112.0': resolution: {integrity: sha512-m7TGBR2hjsBJIN9UJ909KBoKsuogo6CuLsHKvUIBXdjI0JVHP8g4ZHeB+BJpGn5LJdeSGDfz9MWiuXrZDRzunw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] + '@oxc-minify/binding-android-arm64@0.110.0': + resolution: {integrity: sha512-5oQrnn9eK/ccOp80PTrNj0Vq893NPNNRryjGpOIVsYNgWFuoGCfpnKg68oEFcN8bArizYAqw4nvgHljEnar69w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxc-minify/binding-android-arm64@0.112.0': resolution: {integrity: sha512-RvxOOkzvP5NeeoraBtgNJSBqO+XzlS7DooxST/drAXCfO52GsmxVB1N7QmifrsTYtH8GC2z3DTFjZQ1w/AJOWg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxc-minify/binding-darwin-arm64@0.110.0': + resolution: {integrity: sha512-dqBDgTG9tF2z2lrZp9E8wU+Godz1i8gCGSei2eFKS2hRploBOD5dmOLp1j4IMornkPvSQmbwB3uSjPq7fjx4EA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-minify/binding-darwin-arm64@0.112.0': resolution: {integrity: sha512-hDslO3uVHza3kB9zkcsi25JzN65Gj5ZYty0OvylS11Mhg9ydCYxAzfQ/tISHW/YmV1NRUJX8+GGqM1cKmrHaTA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxc-minify/binding-darwin-x64@0.110.0': + resolution: {integrity: sha512-U0AqabqaooDOpYmeeOye8wClv8PSScELXgOfYqyqgrwH9J9KrpCE1jL8Rlqgz68QbL4mPw3V6sKiiHssI4CLeQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-minify/binding-darwin-x64@0.112.0': resolution: {integrity: sha512-mWA2Y5bUyNoGM+gSGGHesgtQ3LDWgpRe4zDGkBDovxNIiDLBXqu/7QcuS+G918w8oG9VYm1q1iinILer/2pD1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxc-minify/binding-freebsd-x64@0.110.0': + resolution: {integrity: sha512-H0w8o/Wo1072WSdLfhwwrpFpwZnPpjQODlHuRYkTfsSSSJbTxQtjJd4uxk7YJsRv5RQp69y0I7zvdH6f8Xueyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-minify/binding-freebsd-x64@0.112.0': resolution: {integrity: sha512-T7fsegxcy82xS0jWPXkz/BMhrkb3D7YOCiV0R9pDksjaov+iIFoNEWAoBsaC5NtpdzkX+bmffwDpu336EIfEeg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxc-minify/binding-linux-arm-gnueabihf@0.110.0': + resolution: {integrity: sha512-qd6sW0AvEVYZhbVVMGtmKZw3b1zDYGIW+54Uh42moWRAj6i4Jhk/LGr6r9YNZpOINeuvZfkFuEeDD/jbu7xPUA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-minify/binding-linux-arm-gnueabihf@0.112.0': resolution: {integrity: sha512-yePavbIilAcpVYc8vRsDCn3xJxHMXDZIiamyH9fuLosAHNELcLib4/JR4fhDk4NmHVagQH3kRhsnm5Q9cm3pAw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxc-minify/binding-linux-arm-musleabihf@0.110.0': + resolution: {integrity: sha512-7WXP0aXMrWSn0ScppUBi3jf68ebfBG0eri8kxLmBOVSBj6jw1repzkHMITJMBeLr5d0tT/51qFEptiAk2EP2iA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-minify/binding-linux-arm-musleabihf@0.112.0': resolution: {integrity: sha512-lmPWLXtW6FspERhy97iP0hwbmLtL66xI29QQ9GpHmTiE4k+zv/FaefuV/Qw+LuHnmFSYzUNrLcxh4ulOZTIP2g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxc-minify/binding-linux-arm64-gnu@0.110.0': + resolution: {integrity: sha512-LYfADrq5x1W5gs+u9OIbMbDQNYkAECTXX0ufnAuf3oGmO51rF98kGFR5qJqC/6/csokDyT3wwTpxhE0TkcF/Og==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxc-minify/binding-linux-arm64-gnu@0.112.0': resolution: {integrity: sha512-gySS5XqU5MKs/oCjsTlVm8zb8lqcNKHEANsaRmhW2qvGKJoeGwFb6Fbq6TLCZMRuk143mLbncbverBCa1c3dog==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1966,6 +2021,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-minify/binding-linux-arm64-musl@0.110.0': + resolution: {integrity: sha512-53GjCVY8kvymk9P6qNDh6zyblcehF5QHstq9QgCjv13ONGRnSHjeds0PxIwiihD7h295bxsWs84DN39syLPH4Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxc-minify/binding-linux-arm64-musl@0.112.0': resolution: {integrity: sha512-IRFMZX589lr3rjG0jc8N261/7wqFq2Vl0OMrJWeFls5BF8HiB+fRYuf0Zy2CyRH6NCY2vbdDdp+QCAavQGVsGw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1973,6 +2035,13 @@ packages: os: [linux] libc: [musl] + '@oxc-minify/binding-linux-ppc64-gnu@0.110.0': + resolution: {integrity: sha512-li8XcN81dxbJDMBESnTgGhoiAQ+CNIdM0QGscZ4duVPjCry1RpX+5FJySFbGqG3pk4s9ZzlL/vtQtbRzZIZOzg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxc-minify/binding-linux-ppc64-gnu@0.112.0': resolution: {integrity: sha512-V/69XqIW9hCUceDpcZh79oDg+F4ptEgIfKRENzYs41LRbSoJ7sNjjcW4zifqyviTvzcnXLgK4uoTyoymmNZBMQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1980,6 +2049,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-minify/binding-linux-riscv64-gnu@0.110.0': + resolution: {integrity: sha512-SweKfsnLKShu6UFV8mwuj1d1wmlNoL/FlAxPUzwjEBgwiT2HQkY24KnjBH+TIA+//1O83kzmWKvvs4OuEhdIEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxc-minify/binding-linux-riscv64-gnu@0.112.0': resolution: {integrity: sha512-zghvexySyGXGNW+MutjZN7UGTyOQl56RWMlPe1gb+knBm/+0hf9qjk7Q6ofm2tSte+vQolPfQttifGl0dP9uvQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1987,6 +2063,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-minify/binding-linux-riscv64-musl@0.110.0': + resolution: {integrity: sha512-oH8G4aFMP8XyTsEpdANC5PQyHgSeGlopHZuW1rpyYcaErg5YaK0vXjQ4EM5HVvPm+feBV24JjxgakTnZoF3aOQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxc-minify/binding-linux-riscv64-musl@0.112.0': resolution: {integrity: sha512-E4a8VUFDJPb2mPcc7J4NQQPi1ssHKF7/g4r6KD2+SBVERIaEEd3cGNqR7SG3g82/BLGV2UDoQe/WvZCkt5M/bQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1994,6 +2077,13 @@ packages: os: [linux] libc: [musl] + '@oxc-minify/binding-linux-s390x-gnu@0.110.0': + resolution: {integrity: sha512-W9na+Vza7XVUlpf8wMt4QBfH35KeTENEmnpPUq3NSlbQHz8lSlSvhAafvo43NcKvHAXV3ckD/mUf2VkqSdbklg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxc-minify/binding-linux-s390x-gnu@0.112.0': resolution: {integrity: sha512-2Hx87sK3y6jBV364Mvv0zyxiITIuy26Ixenv6pK7e+4an3HgNdhAj8nk3aLoLTTSvLik5/MaGhcZGEu9tYV1aA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2001,6 +2091,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-minify/binding-linux-x64-gnu@0.110.0': + resolution: {integrity: sha512-XJdA4mmmXOjJxSRgNJXsDP7Xe8h3gQhmb56hUcCrvq5d+h5UcEi2pR8rxsdIrS8QmkLuBA3eHkGK8E27D7DTgQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxc-minify/binding-linux-x64-gnu@0.112.0': resolution: {integrity: sha512-2MSCnEPLk9ddSouMhJo78Xy2/JbYC80OYzWdR4yWTGSULsgH3d1VXg73DSwFL8vU7Ad9oK10DioBY2ww7sQTEg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2008,6 +2105,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-minify/binding-linux-x64-musl@0.110.0': + resolution: {integrity: sha512-QqzvALuOTtSckI8x467R4GNArzYDb/yEh6aNzLoeaY1O7vfT7SPDwlOEcchaTznutpeS9Dy8gUS/AfqtUHaufw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxc-minify/binding-linux-x64-musl@0.112.0': resolution: {integrity: sha512-HAPfmQKlkVi97/zRonVE9t/kKUG3ni+mOuU1Euw+3s37KwUuOJjmcwXdclVgXKBlTkCGO0FajPwW5dAJeIXCCw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2015,29 +2119,58 @@ packages: os: [linux] libc: [musl] + '@oxc-minify/binding-openharmony-arm64@0.110.0': + resolution: {integrity: sha512-gAMssLs2Q3+uhLZxanh1DF+27Kaug3cf4PXb9AB7XK81DR+LVcKySXaoGYoOs20Co0fFSphd6rRzKge2qDK3dA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-minify/binding-openharmony-arm64@0.112.0': resolution: {integrity: sha512-bLnMojcPadYzMNpB6IAqMiTOag4etc0zbs8On73JsotO1W5c5/j/ncplpSokpEpNasKRUpHVRXpmq0KRXprNhw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxc-minify/binding-wasm32-wasi@0.110.0': + resolution: {integrity: sha512-7Wqi5Zjl022bs2zXq+ICdalDPeDuCH/Nhbi8q2isLihAonMVIT0YH2hqqnNEylRNGYck+FJ6gRZwMpGCgrNxPg==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@oxc-minify/binding-wasm32-wasi@0.112.0': resolution: {integrity: sha512-tv7PmHYq/8QBlqMaDjsy51GF5KQkG17Yc/PsgB5OVndU34kwbQuebBIic7UfK9ygzidI8moYq3ztnu3za/rqHw==} engines: {node: '>=14.0.0'} cpu: [wasm32] + '@oxc-minify/binding-win32-arm64-msvc@0.110.0': + resolution: {integrity: sha512-ZPx+0Tj4dqn41ecyoGotlvekQKy6JxJCixn9Rw7h/dafZ3eDuBcEVh3c2ZoldXXsyMIt5ywI8IWzFZsjNedd5Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-minify/binding-win32-arm64-msvc@0.112.0': resolution: {integrity: sha512-d+jes2jwRkcBSpcaZC6cL8GBi56Br6uAorn9dfquhWLczWL+hHSvvVrRgT1i5/6dkf5UWx2zdoEsAMiJ11w78A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxc-minify/binding-win32-ia32-msvc@0.110.0': + resolution: {integrity: sha512-H0Oyd3RWBfpEyvJIrFK94RYiY7KKSQl11Ym7LMDwLEagelIAfRCkt1amHZhFa/S3ZRoaOJFXzEw4YKeSsjVFsg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-minify/binding-win32-ia32-msvc@0.112.0': resolution: {integrity: sha512-TV1C3qDwj7//jNIi5tnNRhReSUgtaRQKi5KobDE6zVAc5gjeuBA8G2qizS9ziXlf/I0dlelrGmGMMDJmH9ekWg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxc-minify/binding-win32-x64-msvc@0.110.0': + resolution: {integrity: sha512-Hr3nK90+qXKJ2kepXwFIcNfQQIOBecB4FFCyaMMypthoEEhVP08heRynj4eSXZ8NL9hLjs3fQzH8PJXfpznRnQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-minify/binding-win32-x64-msvc@0.112.0': resolution: {integrity: sha512-LML2Gld6VY8/+7a3VH4k1qngsBXvTkXgbmYgSYwaElqtiQiYaAcXfi0XKOUGe3k3GbBK4juAGixC31CrdFHAQw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2181,48 +2314,97 @@ packages: '@oxc-project/types@0.114.0': resolution: {integrity: sha512-//nBfbzHQHvJs8oFIjv6coZ6uxQ4alLfiPe6D5vit6c4pmxATHHlVwgB1k+Hv4yoAMyncdxgRBF5K4BYWUCzvA==} + '@oxc-transform/binding-android-arm-eabi@0.110.0': + resolution: {integrity: sha512-sE9dxvqqAax1YYJ3t7j+h5ZSI9jl6dYuDfngl6ieZUrIy5P89/8JKVgAzgp8o3wQSo7ndpJvYsi1K4ZqrmbP7w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-transform/binding-android-arm-eabi@0.112.0': resolution: {integrity: sha512-r4LuBaPnOAi0eUOBNi880Fm2tO2omH7N1FRrL6+nyz/AjQ+QPPLtoyZJva0O+sKi1buyN/7IzM5p9m+5ANSDbg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] + '@oxc-transform/binding-android-arm64@0.110.0': + resolution: {integrity: sha512-nqtbP4aMCtsCZ6qpHlHaQoWVHSBtlKzwaAgwEOvR+9DWqHjk31BHvpGiDXlMeed6CVNpl3lCbWgygb3RcSjcfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxc-transform/binding-android-arm64@0.112.0': resolution: {integrity: sha512-ve46vQcQrY8eGe8990VSlS9gkD+AogJqbtfOkeua+5sQGQTDgeIRRxOm7ktCo19uZc2bEBwXRJITgosd+NRVmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxc-transform/binding-darwin-arm64@0.110.0': + resolution: {integrity: sha512-oeSeHnL4Z4cMXtc8V0/rwoVn0dgwlS9q0j6LcHn9dIhtFEdp3W0iSBF8YmMQA+E7sILeLDjsHmHE4Kp0sOScXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-transform/binding-darwin-arm64@0.112.0': resolution: {integrity: sha512-ddbmLU3Tr+i7MOynfwAXxUXud3SjJKlv7XNjaq08qiI8Av/QvhXVGc2bMhXkWQSMSBUeTDoiughKjK+Zsb6y/A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxc-transform/binding-darwin-x64@0.110.0': + resolution: {integrity: sha512-nL9K5x7OuZydobAGPylsEW9d4APs2qEkIBLMgQPA+kY8dtVD3IR87QsTbs4l4DBQYyun/+ay6qVCDlxqxdX2Jg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-transform/binding-darwin-x64@0.112.0': resolution: {integrity: sha512-TKvmNw96jQZPqYb4pRrzLFDailNB3YS14KNn+x2hwRbqc6CqY96S9PYwyOpVpYdxfoRjYO9WgX9SoS+62a1DPA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxc-transform/binding-freebsd-x64@0.110.0': + resolution: {integrity: sha512-GS29zXXirDQhZEUq8xKJ1azAWMuUy3Ih3W5Bc5ddk12LRthO5wRLFcKIyeHpAXCoXymQ+LmxbMtbPf84GPxouw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-transform/binding-freebsd-x64@0.112.0': resolution: {integrity: sha512-YPMkSCDaelO8HHYRMYjm+Q+IfkfIbdtQzwPuasItYkq8UUkNeHNPheNh2JkvQa3c+io3E9ePOgHQ2yihpk7o/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxc-transform/binding-linux-arm-gnueabihf@0.110.0': + resolution: {integrity: sha512-glzDHak8ISyZJemCUi7RCvzNSl+MQ1ly9RceT2qRufhUsvNZ4C/2QLJ1HJwd2N6E88bO4laYn+RofdRzNnGGEA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-transform/binding-linux-arm-gnueabihf@0.112.0': resolution: {integrity: sha512-nA7kzQGNEpuTRknst/IJ3l8hqmDmEda3aun6jkXgp7gKxESjuHeaNH04mKISxvJ7fIacvP2g/wtTSnm4u5jL8Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxc-transform/binding-linux-arm-musleabihf@0.110.0': + resolution: {integrity: sha512-8JThvgJ2FRoTVfbp7e4wqeZqCZbtudM06SfZmNzND9kPNu/LVYygIR+72RWs+xm4bWkuYHg/islo/boNPtMT5Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-transform/binding-linux-arm-musleabihf@0.112.0': resolution: {integrity: sha512-w8GuLmckKlGc3YujaZKhtbFxziCcosvM2l9GnQjCb/yENWLGDiyQOy0BTAgPGdJwpYTiOeJblEXSuXYvlE1Ong==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxc-transform/binding-linux-arm64-gnu@0.110.0': + resolution: {integrity: sha512-IRh21Ub/g4bkHoErZ0AUWMlWfoZaS0A6EaOVtbcY70RSYIMlrsbjiFwJCzM+b/1DD1rXbH5tsGcH7GweTbfRqg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxc-transform/binding-linux-arm64-gnu@0.112.0': resolution: {integrity: sha512-9LwwGnJ8+WT0rXcrI8M0RJtDNt91eMqcDPPEvJxhRFHIMcHTy5D5xT+fOl3Us0yMqKo3HUWkbfUYqAp4GoZ3Jw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2230,6 +2412,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-transform/binding-linux-arm64-musl@0.110.0': + resolution: {integrity: sha512-e5JN94/oy+wevk76q+LMr+2klTTcO60uXa+Wkq558Ms7mdF2TvkKFI++d/JeiuIwJLTi/BxQ4qdT5FWcsHM/ug==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxc-transform/binding-linux-arm64-musl@0.112.0': resolution: {integrity: sha512-Lg6VOuSd3oXv7J0eGywgqh/086h+qQzIBOD+47pYKMTTJcbDe+f3h/RgGoMKJE5HhiwT5sH1aGEJfIfaYUiVSw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2237,6 +2426,13 @@ packages: os: [linux] libc: [musl] + '@oxc-transform/binding-linux-ppc64-gnu@0.110.0': + resolution: {integrity: sha512-Y3/Tnnz1GvDpmv8FXBIKtdZPsdZklOEPdrL6NHrN5i2u54BOkybFaDSptgWF53wOrJlTrcmAVSE6fRKK9XCM2Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxc-transform/binding-linux-ppc64-gnu@0.112.0': resolution: {integrity: sha512-PXzmj82o1moA4IGphYImTRgc2youTi4VRfyFX3CHwLjxPcQ5JtcsgbDt4QUdOzXZ+zC07s5jf2ZzhRapEOlj2w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2244,6 +2440,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-transform/binding-linux-riscv64-gnu@0.110.0': + resolution: {integrity: sha512-Y0E35iA9/v9jlkNcP6tMJ+ZFOS0rLsWDqG6rU9z+X2R3fBFJBO9UARIK6ngx8upxk81y1TFR2CmBFhupfYdH6Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxc-transform/binding-linux-riscv64-gnu@0.112.0': resolution: {integrity: sha512-vhJsMsVH/6xwa3bt1LGts33FXUkGjaEGDwsRyp4lIfOjSfQVWMtCmWMFNaA0dW9FVWdD2Gt2fSFBSZ+azDxlpg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2251,6 +2454,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-transform/binding-linux-riscv64-musl@0.110.0': + resolution: {integrity: sha512-JOUSYFfHjBUs7xp2FHmZHb8eTYD/oEu0NklS6JgUauqnoXZHiTLPLVW2o2uVCqldnabYHcomuwI2iqVFYJNhTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxc-transform/binding-linux-riscv64-musl@0.112.0': resolution: {integrity: sha512-cXWFb7z+2IjFUEcXtRwluq9oEG5qnyFCjiu3SWrgYNcWwPdHusv3I/7K5/CTbbi4StoZ5txbi7/iSfDHNyWuRw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2258,6 +2468,13 @@ packages: os: [linux] libc: [musl] + '@oxc-transform/binding-linux-s390x-gnu@0.110.0': + resolution: {integrity: sha512-7blgoXF9D3Ngzb7eun23pNrHJpoV/TtE6LObwlZ3Nmb4oZ6Z+yMvBVaoW68NarbmvNGfZ95zrOjgm6cVETLYBA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxc-transform/binding-linux-s390x-gnu@0.112.0': resolution: {integrity: sha512-eEFu4SRqJTJ20/88KRWmp+jpHKAw0Y1DsnSgpEeXyBIIcsOaLIUMU/TfYWUmqRbvbMV9rmOmI3kp5xWYUq6kSQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2265,6 +2482,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-transform/binding-linux-x64-gnu@0.110.0': + resolution: {integrity: sha512-YQ2joGWCVDZVEU2cD/r/w49hVjDm/Qu1BvC/7zs8LvprzdLS/HyMXGF2oA0puw0b+AqgYaz3bhwKB2xexHyITQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxc-transform/binding-linux-x64-gnu@0.112.0': resolution: {integrity: sha512-ST1MDT+TlOyZ1c5btrGinRSUW2Jf4Pa+0gdKwsyjDSOC3dxy2ZNkN3mosTf4ywc3J+mxfYKqtjs7zSwHz03ILA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2272,6 +2496,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-transform/binding-linux-x64-musl@0.110.0': + resolution: {integrity: sha512-fkjr5qE632ULmNgvFXWDR/8668WxERz3tU7TQFp6JebPBneColitjSkdx6VKNVXEoMmQnOvBIGeP5tUNT384oA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxc-transform/binding-linux-x64-musl@0.112.0': resolution: {integrity: sha512-ISQoA3pD4cyTGpf9sXXeerH6pL2L6EIpdy6oAy2ttkswyVFDyQNVOVIGIdLZDgbpmqGljxZnWqt/J/N68pQaig==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2279,29 +2510,58 @@ packages: os: [linux] libc: [musl] + '@oxc-transform/binding-openharmony-arm64@0.110.0': + resolution: {integrity: sha512-HWH9Zj+lMrdSTqFRCZsvDWMz7OnMjbdGsm3xURXWfRZpuaz0bVvyuZNDQXc4FyyhRDsemICaJbU1bgeIpUJDGw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-transform/binding-openharmony-arm64@0.112.0': resolution: {integrity: sha512-UOGVrGIv7yLJovyEXEyUTADuLq98vd/cbMHFLJweRXD+11I8Tn4jASi4WzdsN8C3BVYGRHrXH2NlSBmhz33a4g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxc-transform/binding-wasm32-wasi@0.110.0': + resolution: {integrity: sha512-ejdxHmYfIcHDPhZUe3WklViLt9mDEJE5BzcW7+R1vc5i/5JFA8D0l7NUSsHBJ7FB8Bu9gF+5iMDm6cXGAgaghw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@oxc-transform/binding-wasm32-wasi@0.112.0': resolution: {integrity: sha512-XIX7Gpq9koAvzBVHDlVFHM79r5uOVK6kTEsdsN4qaajpjkgtv4tdsAOKIYK6l7fUbsbE6xS+6w1+yRFrDeC1kg==} engines: {node: '>=14.0.0'} cpu: [wasm32] + '@oxc-transform/binding-win32-arm64-msvc@0.110.0': + resolution: {integrity: sha512-9VTwpXCZs7xkV+mKhQ62dVk7KLnLXtEUxNS2T4nLz3iMl1IJbA4h5oltK0JoobtiUAnbkV53QmMVGW8+Nh3bDQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-transform/binding-win32-arm64-msvc@0.112.0': resolution: {integrity: sha512-EgXef9kOne9BNsbYBbuRqxk2hteT0xsAGcx/VbtCBMJYNj8fANFhT271DUSOgfa4DAgrQQmsyt/Kr1aV9mpU9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxc-transform/binding-win32-ia32-msvc@0.110.0': + resolution: {integrity: sha512-5y0fzuNON7/F2hh2P94vANFaRPJ/3DI1hVl5rseCT8VUVqOGIjWaza0YS/D1g6t1WwycW2LWDMi2raOKoWU5GQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-transform/binding-win32-ia32-msvc@0.112.0': resolution: {integrity: sha512-6QaB0qjNaou2YR+blncHdw7j0e26IOwOIjLbhVGDeuf9+4rjJeiqRXJ2hOtCcS4zblnao/MjdgQuZ3fM0nl+Kw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxc-transform/binding-win32-x64-msvc@0.110.0': + resolution: {integrity: sha512-QROrowwlrApI1fEScMknGWKM6GTM/Z2xwMnDqvSaEmzNazBsDUlE08Jasw610hFEsYAVU2K5sp/YaCa9ORdP4A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-transform/binding-win32-x64-msvc@0.112.0': resolution: {integrity: sha512-FRKYlY959QeqRPx9kXs0HjU2xuXPT1cdF+vvA200D9uAX/KLcC34MwRqUKTYml4kCc2Vf/P2pBR9cQuBm3zECQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4448,6 +4708,14 @@ packages: crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + crossws@0.4.4: + resolution: {integrity: sha512-w6c4OdpRNnudVmcgr7brb/+/HmYjMQvYToO/oTrprTwxRUiom3LYWU1PMWuD006okbUWpII1Ea9/+kwpUfmyRg==} + peerDependencies: + srvx: '>=0.7.1' + peerDependenciesMeta: + srvx: + optional: true + css-declaration-sorter@7.2.0: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} @@ -6463,6 +6731,28 @@ packages: resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==} engines: {node: ^14.16.0 || >=16.0.0} + nf3@0.3.10: + resolution: {integrity: sha512-UlqmHkZiHGgSkRj17yrOXEsSu5ECvtlJ3Xm1W5WsWrTKgu9m7OjrMZh9H/ME2LcWrTlMD0/vmmNVpyBG4yRdGg==} + + nitro@3.0.1-alpha.2: + resolution: {integrity: sha512-YviDY5J/trS821qQ1fpJtpXWIdPYiOizC/meHavlm1Hfuhx//H+Egd1+4C5SegJRgtWMnRPW9n//6Woaw81cTQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + rolldown: '>=1.0.0-beta.0' + rollup: ^4.59.0 + vite: ^8.0.0-beta.15 + xml2js: ^0.6.2 + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + vite: + optional: true + xml2js: + optional: true + nitropack@2.13.1: resolution: {integrity: sha512-2dDj89C4wC2uzG7guF3CnyG+zwkZosPEp7FFBGHB3AJo11AywOolWhyQJFHDzve8COvGxJaqscye9wW2IrUsNw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6631,6 +6921,10 @@ packages: ospath@1.2.2: resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + oxc-minify@0.110.0: + resolution: {integrity: sha512-KWGTzPo83QmGrXC4ml83PM9HDwUPtZFfasiclUvTV4i3/0j7xRRqINVkrL77CbQnoWura3CMxkRofjQKVDuhBw==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-minify@0.112.0: resolution: {integrity: sha512-rkVSeeIRSt+RYI9uX6xonBpLUpvZyegxIg0UL87ev7YAfUqp7IIZlRjkgQN5Us1lyXD//TOo0Dcuuro/TYOWoQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6639,6 +6933,10 @@ packages: resolution: {integrity: sha512-7rQ3QdJwobMQLMZwQaPuPYMEF2fDRZwf51lZ//V+bA37nejjKW5ifMHbbCwvA889Y4RLhT+/wLJpPRhAoBaZYw==} engines: {node: ^20.19.0 || >=22.12.0} + oxc-transform@0.110.0: + resolution: {integrity: sha512-/fymQNzzUoKZweH0nC5yvbI2eR0yWYusT9TEKDYVgOgYrf9Qmdez9lUFyvxKR9ycx+PTHi/reIOzqf3wkShQsw==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-transform@0.112.0: resolution: {integrity: sha512-cIRRvZgrHfsAHrkt8LWdAX4+Do8R0MzQSfeo9yzErzHeYiuyNiP4PCTPbOy/wBXL4MYzt3ebrBa5jt3akQkKAg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -7877,6 +8175,10 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + undici@7.22.0: + resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==} + engines: {node: '>=20.18.1'} + unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} @@ -8050,6 +8352,80 @@ packages: uploadthing: optional: true + unstorage@2.0.0-alpha.6: + resolution: {integrity: sha512-w5vLYCJtnSx3OBtDk7cG4c1p3dfAnHA4WSZq9Xsurjbl2wMj7zqfOIjaHQI1Bl7yKzUxXAi+kbMr8iO2RhJmBA==} + peerDependencies: + '@azure/app-configuration': ^1.11.0 + '@azure/cosmos': ^4.9.1 + '@azure/data-tables': ^13.3.2 + '@azure/identity': ^4.13.0 + '@azure/keyvault-secrets': ^4.10.0 + '@azure/storage-blob': ^12.31.0 + '@capacitor/preferences': ^6 || ^7 || ^8 + '@deno/kv': '>=0.13.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.36.2 + '@vercel/blob': '>=0.27.3' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + chokidar: ^5.0.0 + db0: '>=0.3.4' + idb-keyval: ^6.2.2 + ioredis: ^5.9.3 + lru-cache: ^11.2.6 + mongodb: ^6 || ^7 + ofetch: '*' + uploadthing: ^7.7.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + chokidar: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + lru-cache: + optional: true + mongodb: + optional: true + ofetch: + optional: true + uploadthing: + optional: true + untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -9763,7 +10139,7 @@ snapshots: rc9: 3.0.0 std-env: 3.10.0 - '@nuxt/test-utils@4.0.0(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18)': + '@nuxt/test-utils@4.0.0(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.10.1))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18)': dependencies: '@clack/prompts': 1.0.0 '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -9777,7 +10153,7 @@ snapshots: fake-indexeddb: 6.2.5 get-port-please: 3.2.0 h3: 1.15.5 - h3-next: h3@2.0.1-rc.11 + h3-next: h3@2.0.1-rc.11(crossws@0.4.4(srvx@0.10.1)) local-pkg: 1.1.2 magic-string: 0.30.21 node-fetch-native: 1.6.7 @@ -9792,7 +10168,7 @@ snapshots: tinyexec: 1.0.2 ufo: 1.6.3 unplugin: 3.0.0 - vitest-environment-nuxt: 1.0.1(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) + vitest-environment-nuxt: 1.0.1(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.10.1))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18) vue: 3.5.29(typescript@5.9.3) optionalDependencies: '@vitest/ui': 4.0.18(vitest@4.0.18) @@ -9803,7 +10179,7 @@ snapshots: - typescript - vite - '@nuxt/test-utils@4.0.0(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18)': + '@nuxt/test-utils@4.0.0(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.11.3))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18)': dependencies: '@clack/prompts': 1.0.0 '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2)) @@ -9817,7 +10193,7 @@ snapshots: fake-indexeddb: 6.2.5 get-port-please: 3.2.0 h3: 1.15.5 - h3-next: h3@2.0.1-rc.11 + h3-next: h3@2.0.1-rc.11(crossws@0.4.4(srvx@0.11.3)) local-pkg: 1.1.2 magic-string: 0.30.21 node-fetch-native: 1.6.7 @@ -9832,7 +10208,7 @@ snapshots: tinyexec: 1.0.2 ufo: 1.6.3 unplugin: 3.0.0 - vitest-environment-nuxt: 1.0.1(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18) + vitest-environment-nuxt: 1.0.1(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.11.3))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) vue: 3.5.29(typescript@5.9.3) optionalDependencies: '@vitest/ui': 4.0.18(vitest@4.0.18) @@ -9965,65 +10341,127 @@ snapshots: '@ota-meshi/ast-token-store@0.3.0': {} + '@oxc-minify/binding-android-arm-eabi@0.110.0': + optional: true + '@oxc-minify/binding-android-arm-eabi@0.112.0': optional: true + '@oxc-minify/binding-android-arm64@0.110.0': + optional: true + '@oxc-minify/binding-android-arm64@0.112.0': optional: true + '@oxc-minify/binding-darwin-arm64@0.110.0': + optional: true + '@oxc-minify/binding-darwin-arm64@0.112.0': optional: true + '@oxc-minify/binding-darwin-x64@0.110.0': + optional: true + '@oxc-minify/binding-darwin-x64@0.112.0': optional: true + '@oxc-minify/binding-freebsd-x64@0.110.0': + optional: true + '@oxc-minify/binding-freebsd-x64@0.112.0': optional: true + '@oxc-minify/binding-linux-arm-gnueabihf@0.110.0': + optional: true + '@oxc-minify/binding-linux-arm-gnueabihf@0.112.0': optional: true + '@oxc-minify/binding-linux-arm-musleabihf@0.110.0': + optional: true + '@oxc-minify/binding-linux-arm-musleabihf@0.112.0': optional: true + '@oxc-minify/binding-linux-arm64-gnu@0.110.0': + optional: true + '@oxc-minify/binding-linux-arm64-gnu@0.112.0': optional: true + '@oxc-minify/binding-linux-arm64-musl@0.110.0': + optional: true + '@oxc-minify/binding-linux-arm64-musl@0.112.0': optional: true + '@oxc-minify/binding-linux-ppc64-gnu@0.110.0': + optional: true + '@oxc-minify/binding-linux-ppc64-gnu@0.112.0': optional: true + '@oxc-minify/binding-linux-riscv64-gnu@0.110.0': + optional: true + '@oxc-minify/binding-linux-riscv64-gnu@0.112.0': optional: true + '@oxc-minify/binding-linux-riscv64-musl@0.110.0': + optional: true + '@oxc-minify/binding-linux-riscv64-musl@0.112.0': optional: true + '@oxc-minify/binding-linux-s390x-gnu@0.110.0': + optional: true + '@oxc-minify/binding-linux-s390x-gnu@0.112.0': optional: true + '@oxc-minify/binding-linux-x64-gnu@0.110.0': + optional: true + '@oxc-minify/binding-linux-x64-gnu@0.112.0': optional: true + '@oxc-minify/binding-linux-x64-musl@0.110.0': + optional: true + '@oxc-minify/binding-linux-x64-musl@0.112.0': optional: true + '@oxc-minify/binding-openharmony-arm64@0.110.0': + optional: true + '@oxc-minify/binding-openharmony-arm64@0.112.0': optional: true + '@oxc-minify/binding-wasm32-wasi@0.110.0': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + '@oxc-minify/binding-wasm32-wasi@0.112.0': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true + '@oxc-minify/binding-win32-arm64-msvc@0.110.0': + optional: true + '@oxc-minify/binding-win32-arm64-msvc@0.112.0': optional: true + '@oxc-minify/binding-win32-ia32-msvc@0.110.0': + optional: true + '@oxc-minify/binding-win32-ia32-msvc@0.112.0': optional: true + '@oxc-minify/binding-win32-x64-msvc@0.110.0': + optional: true + '@oxc-minify/binding-win32-x64-msvc@0.112.0': optional: true @@ -10095,65 +10533,127 @@ snapshots: '@oxc-project/types@0.114.0': {} + '@oxc-transform/binding-android-arm-eabi@0.110.0': + optional: true + '@oxc-transform/binding-android-arm-eabi@0.112.0': optional: true + '@oxc-transform/binding-android-arm64@0.110.0': + optional: true + '@oxc-transform/binding-android-arm64@0.112.0': optional: true + '@oxc-transform/binding-darwin-arm64@0.110.0': + optional: true + '@oxc-transform/binding-darwin-arm64@0.112.0': optional: true + '@oxc-transform/binding-darwin-x64@0.110.0': + optional: true + '@oxc-transform/binding-darwin-x64@0.112.0': optional: true + '@oxc-transform/binding-freebsd-x64@0.110.0': + optional: true + '@oxc-transform/binding-freebsd-x64@0.112.0': optional: true + '@oxc-transform/binding-linux-arm-gnueabihf@0.110.0': + optional: true + '@oxc-transform/binding-linux-arm-gnueabihf@0.112.0': optional: true + '@oxc-transform/binding-linux-arm-musleabihf@0.110.0': + optional: true + '@oxc-transform/binding-linux-arm-musleabihf@0.112.0': optional: true + '@oxc-transform/binding-linux-arm64-gnu@0.110.0': + optional: true + '@oxc-transform/binding-linux-arm64-gnu@0.112.0': optional: true + '@oxc-transform/binding-linux-arm64-musl@0.110.0': + optional: true + '@oxc-transform/binding-linux-arm64-musl@0.112.0': optional: true + '@oxc-transform/binding-linux-ppc64-gnu@0.110.0': + optional: true + '@oxc-transform/binding-linux-ppc64-gnu@0.112.0': optional: true + '@oxc-transform/binding-linux-riscv64-gnu@0.110.0': + optional: true + '@oxc-transform/binding-linux-riscv64-gnu@0.112.0': optional: true + '@oxc-transform/binding-linux-riscv64-musl@0.110.0': + optional: true + '@oxc-transform/binding-linux-riscv64-musl@0.112.0': optional: true + '@oxc-transform/binding-linux-s390x-gnu@0.110.0': + optional: true + '@oxc-transform/binding-linux-s390x-gnu@0.112.0': optional: true + '@oxc-transform/binding-linux-x64-gnu@0.110.0': + optional: true + '@oxc-transform/binding-linux-x64-gnu@0.112.0': optional: true + '@oxc-transform/binding-linux-x64-musl@0.110.0': + optional: true + '@oxc-transform/binding-linux-x64-musl@0.112.0': optional: true + '@oxc-transform/binding-openharmony-arm64@0.110.0': + optional: true + '@oxc-transform/binding-openharmony-arm64@0.112.0': optional: true + '@oxc-transform/binding-wasm32-wasi@0.110.0': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + '@oxc-transform/binding-wasm32-wasi@0.112.0': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true + '@oxc-transform/binding-win32-arm64-msvc@0.110.0': + optional: true + '@oxc-transform/binding-win32-arm64-msvc@0.112.0': optional: true + '@oxc-transform/binding-win32-ia32-msvc@0.110.0': + optional: true + '@oxc-transform/binding-win32-ia32-msvc@0.112.0': optional: true + '@oxc-transform/binding-win32-x64-msvc@0.110.0': + optional: true + '@oxc-transform/binding-win32-x64-msvc@0.112.0': optional: true @@ -12449,6 +12949,15 @@ snapshots: dependencies: uncrypto: 0.1.3 + crossws@0.4.4(srvx@0.10.1): + optionalDependencies: + srvx: 0.10.1 + + crossws@0.4.4(srvx@0.11.3): + optionalDependencies: + srvx: 0.11.3 + optional: true + css-declaration-sorter@7.2.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -13634,10 +14143,19 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 - h3@2.0.1-rc.11: + h3@2.0.1-rc.11(crossws@0.4.4(srvx@0.10.1)): + dependencies: + rou3: 0.7.12 + srvx: 0.10.1 + optionalDependencies: + crossws: 0.4.4(srvx@0.10.1) + + h3@2.0.1-rc.11(crossws@0.4.4(srvx@0.11.3)): dependencies: rou3: 0.7.12 srvx: 0.10.1 + optionalDependencies: + crossws: 0.4.4(srvx@0.11.3) handlebars@4.7.8: dependencies: @@ -14743,6 +15261,57 @@ snapshots: qs: 6.14.0 optional: true + nf3@0.3.10: {} + + nitro@3.0.1-alpha.2(@netlify/blobs@9.1.2)(chokidar@5.0.0)(ioredis@5.9.2)(lru-cache@11.2.6)(rolldown@1.0.0-rc.5)(rollup@4.59.0)(vite@8.0.0-beta.15): + dependencies: + consola: 3.4.2 + crossws: 0.4.4(srvx@0.10.1) + db0: 0.3.4 + h3: 2.0.1-rc.11(crossws@0.4.4(srvx@0.10.1)) + jiti: 2.6.1 + nf3: 0.3.10 + ofetch: 2.0.0-alpha.3 + ohash: 2.0.11 + oxc-minify: 0.110.0 + oxc-transform: 0.110.0 + srvx: 0.10.1 + undici: 7.22.0 + unenv: 2.0.0-rc.24 + unstorage: 2.0.0-alpha.6(@netlify/blobs@9.1.2)(chokidar@5.0.0)(db0@0.3.4)(ioredis@5.9.2)(lru-cache@11.2.6)(ofetch@2.0.0-alpha.3) + optionalDependencies: + rolldown: 1.0.0-rc.5 + rollup: 4.59.0 + vite: 8.0.0-beta.15(@types/node@25.3.0)(@vitejs/devtools@0.0.0-alpha.23)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - better-sqlite3 + - chokidar + - drizzle-orm + - idb-keyval + - ioredis + - lru-cache + - mongodb + - mysql2 + - sqlite3 + - uploadthing + nitropack@2.13.1(@netlify/blobs@9.1.2)(rolldown@1.0.0-rc.5): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 @@ -15230,6 +15799,29 @@ snapshots: ospath@1.2.2: {} + oxc-minify@0.110.0: + optionalDependencies: + '@oxc-minify/binding-android-arm-eabi': 0.110.0 + '@oxc-minify/binding-android-arm64': 0.110.0 + '@oxc-minify/binding-darwin-arm64': 0.110.0 + '@oxc-minify/binding-darwin-x64': 0.110.0 + '@oxc-minify/binding-freebsd-x64': 0.110.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.110.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.110.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.110.0 + '@oxc-minify/binding-linux-arm64-musl': 0.110.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.110.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.110.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.110.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.110.0 + '@oxc-minify/binding-linux-x64-gnu': 0.110.0 + '@oxc-minify/binding-linux-x64-musl': 0.110.0 + '@oxc-minify/binding-openharmony-arm64': 0.110.0 + '@oxc-minify/binding-wasm32-wasi': 0.110.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.110.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.110.0 + '@oxc-minify/binding-win32-x64-msvc': 0.110.0 + oxc-minify@0.112.0: optionalDependencies: '@oxc-minify/binding-android-arm-eabi': 0.112.0 @@ -15278,6 +15870,29 @@ snapshots: '@oxc-parser/binding-win32-ia32-msvc': 0.112.0 '@oxc-parser/binding-win32-x64-msvc': 0.112.0 + oxc-transform@0.110.0: + optionalDependencies: + '@oxc-transform/binding-android-arm-eabi': 0.110.0 + '@oxc-transform/binding-android-arm64': 0.110.0 + '@oxc-transform/binding-darwin-arm64': 0.110.0 + '@oxc-transform/binding-darwin-x64': 0.110.0 + '@oxc-transform/binding-freebsd-x64': 0.110.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.110.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.110.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.110.0 + '@oxc-transform/binding-linux-arm64-musl': 0.110.0 + '@oxc-transform/binding-linux-ppc64-gnu': 0.110.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.110.0 + '@oxc-transform/binding-linux-riscv64-musl': 0.110.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.110.0 + '@oxc-transform/binding-linux-x64-gnu': 0.110.0 + '@oxc-transform/binding-linux-x64-musl': 0.110.0 + '@oxc-transform/binding-openharmony-arm64': 0.110.0 + '@oxc-transform/binding-wasm32-wasi': 0.110.0 + '@oxc-transform/binding-win32-arm64-msvc': 0.110.0 + '@oxc-transform/binding-win32-ia32-msvc': 0.110.0 + '@oxc-transform/binding-win32-x64-msvc': 0.110.0 + oxc-transform@0.112.0: optionalDependencies: '@oxc-transform/binding-android-arm-eabi': 0.112.0 @@ -16621,6 +17236,8 @@ snapshots: undici-types@7.18.2: {} + undici@7.22.0: {} + unenv@2.0.0-rc.24: dependencies: pathe: 2.0.3 @@ -16863,6 +17480,15 @@ snapshots: db0: 0.3.4 ioredis: 5.9.2 + unstorage@2.0.0-alpha.6(@netlify/blobs@9.1.2)(chokidar@5.0.0)(db0@0.3.4)(ioredis@5.9.2)(lru-cache@11.2.6)(ofetch@2.0.0-alpha.3): + optionalDependencies: + '@netlify/blobs': 9.1.2 + chokidar: 5.0.0 + db0: 0.3.4 + ioredis: 5.9.2 + lru-cache: 11.2.6 + ofetch: 2.0.0-alpha.3 + untildify@4.0.0: {} untun@0.1.3: @@ -17086,9 +17712,9 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vitest-environment-nuxt@1.0.1(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18): + vitest-environment-nuxt@1.0.1(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.10.1))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18): dependencies: - '@nuxt/test-utils': 4.0.0(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) + '@nuxt/test-utils': 4.0.0(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.10.1))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -17105,9 +17731,9 @@ snapshots: - vite - vitest - vitest-environment-nuxt@1.0.1(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18): + vitest-environment-nuxt@1.0.1(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.11.3))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18): dependencies: - '@nuxt/test-utils': 4.0.0(@vitest/ui@4.0.18)(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15)(vitest@4.0.18) + '@nuxt/test-utils': 4.0.0(@vitest/ui@4.0.18)(crossws@0.4.4(srvx@0.11.3))(magicast@0.5.2)(typescript@5.9.3)(vite@8.0.0-beta.15(@types/node@25.3.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 5023355176..003c9a9906 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -30,6 +30,7 @@ catalogs: esbuild: ^0.27.3 exsolve: ^1.0.8 lightningcss: ^1.31.1 + nitro: ^3.0.1-alpha.2 nitropack: ^2.13.1 nuxt: ^4.3.1 rollup: ^4.59.0