diff --git a/packages/browser-playwright/src/playwright.ts b/packages/browser-playwright/src/playwright.ts index 5251b6c02..074ed51e9 100644 --- a/packages/browser-playwright/src/playwright.ts +++ b/packages/browser-playwright/src/playwright.ts @@ -576,7 +576,9 @@ export class PlaywrightBrowserProvider implements BrowserProvider { url = request.href.slice(request.origin.length) } - const result = await this.project.browser!.vite.transformRequest(url).catch(() => null) + const result = await this.project + .browser!.vite.transformRequest(decodeURI(url)) + .catch(() => null) if (!result) { return route.continue() } diff --git a/packages/browser/src/node/rpc.ts b/packages/browser/src/node/rpc.ts index 547bbc62c..c3a7bd1dd 100644 --- a/packages/browser/src/node/rpc.ts +++ b/packages/browser/src/node/rpc.ts @@ -488,7 +488,7 @@ export function setupBrowserRpc( } else { if (module.type === 'redirect') { const redirectUrl = new URL(module.redirect) - const redirect = join(vite.config.root, slash(redirectUrl.pathname)) + const redirect = join(vite.config.root, slash(decodeURI(redirectUrl.pathname))) checkFileAccess(redirect) module.redirect = redirect } diff --git a/packages/utils/src/source-map.ts b/packages/utils/src/source-map.ts index 6a9f2f280..c49e8c878 100644 --- a/packages/utils/src/source-map.ts +++ b/packages/utils/src/source-map.ts @@ -66,7 +66,7 @@ function extractLocation(urlLike: string) { const urlObj = new URL(url) urlObj.searchParams.delete('import') urlObj.searchParams.delete('browserv') - url = urlObj.pathname + urlObj.hash + urlObj.search + url = tryDecode(urlObj.pathname, decodeURI) + urlObj.hash + urlObj.search } if (url.startsWith('/@fs/')) { const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url) @@ -78,6 +78,14 @@ function extractLocation(urlLike: string) { return [url, parts[2] || undefined, parts[3] || undefined] } +function tryDecode(value: string, decode: (value: string) => string): string { + try { + return decode(value) + } catch { + return value + } +} + export function parseSingleFFOrSafariStack(raw: string): ParsedStack | null { let line = raw.trim() @@ -182,7 +190,8 @@ export function parseSingleV8Stack(raw: string): ParsedStack | null { } if (file.startsWith('file://')) { - file = file.slice(7) + // pathToFileURL also encodes "#" and "?", which decodeURI keeps + file = tryDecode(file.slice(7), decodeURIComponent) } // normalize Windows path (\ -> /) diff --git a/test/browser/specs/mocking.test.ts b/test/browser/specs/mocking.test.ts index 4c6bbc49c..875ec2ea0 100644 --- a/test/browser/specs/mocking.test.ts +++ b/test/browser/specs/mocking.test.ts @@ -1,6 +1,7 @@ import { expect, onTestFailed, onTestFinished, test } from 'vitest' import { editFile, runVitest } from '../../test-utils' import { instances } from '../settings' +import { runInlineBrowserTests } from './utils' // TODO: investigate `isolate: false` tests. // Doesn't seem like we can run things in parallel if there are mocks @@ -125,3 +126,57 @@ test('mocks from a setup file apply to static imports of a test file', async () expect(result.exitCode).toBe(0) }) + +// fix https://github.com/vitest-dev/vitest/issues/7788 +test('mocks modules next to a test file in a directory with spaces', async () => { + const { errorTree } = await runInlineBrowserTests({ + 'space dir/source.ts': `export function answer() { return 42 }`, + 'space dir/redirect.ts': `export function value() { return 'original' }`, + 'space dir/__mocks__/redirect.ts': `export function value() { return 'mocked' }`, + 'space dir/factory.ts': `export const name = 'original'`, + 'space dir/basic.test.ts': ` +import { expect, test, vi } from 'vitest' +import { name } from './factory' +import { value } from './redirect' +import { answer } from './source' + +vi.mock('./source', { spy: true }) +vi.mock('./redirect') +vi.mock('./factory', () => ({ name: 'factory' })) + +test('spy', () => { + expect(vi.isMockFunction(answer)).toBe(true) +}) + +test('redirect', () => { + expect(value()).toBe('mocked') +}) + +test('factory', () => { + expect(name).toBe('factory') +}) + +test('error location', () => { + expect(answer()).toBe(0) +}) +`, + }) + + const trees = errorTree({ project: true, stackTrace: true }) + expect(Object.keys(trees).sort()).toEqual(instances.map(({ browser }) => browser).sort()) + for (const tree of Object.values(trees)) { + expect(tree).toMatchInlineSnapshot(` + { + "space dir/basic.test.ts": { + "error location": [ + "expected 42 to be +0 // Object.is equality + at space dir/basic.test.ts:24:20", + ], + "factory": "passed", + "redirect": "passed", + "spy": "passed", + }, + } + `) + } +}) diff --git a/test/e2e/test/no-module-runner.test.ts b/test/e2e/test/no-module-runner.test.ts index 061e336f5..248994277 100644 --- a/test/e2e/test/no-module-runner.test.ts +++ b/test/e2e/test/no-module-runner.test.ts @@ -171,6 +171,29 @@ describe.runIf(module.registerHooks)('supported', () => { await vitest.waitForStdout('1 passed') }) + // fix https://github.com/vitest-dev/vitest/issues/7788 + test('mocks a module next to a test file in a directory with spaces', async () => { + const { stderr, testTree } = await runNoViteModuleRunnerTests({ + 'space dir/greet.js': `export function greet() { return 'hello world' }`, + 'space dir/basic.test.js': ` + import { greet } from './greet.js' + vi.mock('./greet.js', { spy: true }) + test('greet is mocked', () => { + expect(vi.isMockFunction(greet)).toBe(true) + }) + `, + }) + + expect(stderr).toBe('') + expect(testTree()).toMatchInlineSnapshot(` + { + "space dir/basic.test.js": { + "greet is mocked": "passed", + }, + } + `) + }) + test('updating inline snapshots works', async () => { const { fs, stdout } = await runNoViteModuleRunnerTests( { diff --git a/test/unit/test/utils.spec.ts b/test/unit/test/utils.spec.ts index 3044d2b4f..b81e45dad 100644 --- a/test/unit/test/utils.spec.ts +++ b/test/unit/test/utils.spec.ts @@ -6,7 +6,7 @@ import { objectAttr, toArray, } from '@vitest/utils/helpers' -import { parseSingleFFOrSafariStack } from '@vitest/utils/source-map' +import { parseSingleFFOrSafariStack, parseSingleStack } from '@vitest/utils/source-map' import { EvaluatedModules } from 'vite/module-runner' import { beforeAll, describe, expect, onTestFinished, test } from 'vitest' import { deepMergeSnapshot } from '../../../packages/snapshot/src/port/utils' @@ -449,3 +449,25 @@ describe('parseSingleFFOrSafariStack', () => { parseSingleFFOrSafariStack(new PrettyError(obj).stack!) }) }) + +describe('parseSingleStack', () => { + test.for([ + [' at http://localhost:63315/space%20dir/basic.test.ts:4:1', '/space dir/basic.test.ts'], + [ + 'module code@http://localhost:63315/space%20dir/basic.test.ts:4:1', + '/space dir/basic.test.ts', + ], + [ + ' at http://localhost:63315/@fs/Users/me/my%20project/basic.test.ts:4:1', + '/Users/me/my project/basic.test.ts', + ], + [ + ' at file:///Users/me/my%20project/test%231.test.ts:4:1', + '/Users/me/my project/test#1.test.ts', + ], + [' at /Users/me/project/repro-%20.test.ts:4:1', '/Users/me/project/repro-%20.test.ts'], + [' at http://localhost:63315/100%.test.ts:4:1', '/100%.test.ts'], + ])('%s', ([line, file]) => { + expect(parseSingleStack(line)?.file).toBe(file) + }) +}) -- 2.51.2 From cd423ba045ed50662ea8e7bf7c2373e876cc0e5e Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 9 Oct 2026 18:07:58 +0200 Subject: [PATCH 02/12] fix(mocker): fix native loader mocking edge cases (#11540) --- packages/mocker/src/node/hoistMocks.ts | 3 +- packages/mocker/src/node/parsers.ts | 32 +++++----- test/e2e/test/no-module-runner.test.ts | 82 ++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 17 deletions(-) diff --git a/packages/mocker/src/node/hoistMocks.ts b/packages/mocker/src/node/hoistMocks.ts index 13a847eeb..56896d646 100644 --- a/packages/mocker/src/node/hoistMocks.ts +++ b/packages/mocker/src/node/hoistMocks.ts @@ -290,9 +290,10 @@ export function hoistMocks( let hasMockApiCall = false esmWalker(ast, { + // called after all call expressions are visited onIdentifier(id, info, parentStack) { const binding = idToImportMap.get(id.name) - if (!binding) { + if (!binding || !hasMockApiCall) { return } diff --git a/packages/mocker/src/node/parsers.ts b/packages/mocker/src/node/parsers.ts index 1ee659d90..ea5872730 100644 --- a/packages/mocker/src/node/parsers.ts +++ b/packages/mocker/src/node/parsers.ts @@ -39,21 +39,22 @@ export function collectModuleExports( if (format === 'module') { const [imports_, exports_] = parseModuleSyntax(code, filename) const fileExports = exports_.map((p) => p.n) + // cached before re-exports are parsed, so circular re-exports stop here + cachedFileExports.set(filename, fileExports) imports_.forEach(({ ss: start, se: end, n: name }) => { const substring = code.substring(start, end).replace(/ +/g, ' ') if (name && substring.startsWith('export *') && !substring.startsWith('export * as')) { fileExports.push(...tryParseModule(name)) } }) - cachedFileExports.set(filename, fileExports) exports.push(...fileExports) } else { const { exports: exports_, reexports } = parseCjsSyntax(code, filename) const fileExports = [...exports_] + cachedFileExports.set(filename, fileExports) reexports.forEach((name) => { fileExports.push(...tryParseModule(name)) }) - cachedFileExports.set(filename, fileExports) exports.push(...fileExports) } @@ -96,27 +97,26 @@ export function collectModuleExports( return cachedFileExports.get(resolvedModulePath)! } - const fileContent = readFileSync(resolvedModulePath, 'utf-8') const ext = extname(resolvedModulePath) - const code = transformCode(fileContent, resolvedModulePath) - if (code == null) { - cachedFileExports.set(resolvedModulePath, []) - return [] - } - - const resolvedModuleFormat = resolveModuleFormat(resolvedModulePath, code) if (ext === '.json') { return ['default'] - } else { + } + + const fileContent = readFileSync(resolvedModulePath, 'utf-8') + const code = transformCode(fileContent, resolvedModulePath) + const resolvedModuleFormat = resolveModuleFormat( + pathToFileURL(resolvedModulePath).toString(), + code, + ) + if (!resolvedModuleFormat) { // can't do wasm, for example console.warn( - `Cannot process '${resolvedModuleFormat}' imported from ${filename} because of unknown file extension: ${ext}.`, + `Cannot process '${resolvedModulePath}' imported from ${filename} because of unknown file extension: ${ext}.`, ) + cachedFileExports.set(resolvedModulePath, []) + return [] } - if (resolvedModuleFormat) { - return collectModuleExports(resolvedModulePath, code, resolvedModuleFormat, exports) - } - return [] + return collectModuleExports(resolvedModulePath, code, resolvedModuleFormat, exports) } return Array.from(new Set(exports)) diff --git a/test/e2e/test/no-module-runner.test.ts b/test/e2e/test/no-module-runner.test.ts index 248994277..3e7b3a78d 100644 --- a/test/e2e/test/no-module-runner.test.ts +++ b/test/e2e/test/no-module-runner.test.ts @@ -508,6 +508,88 @@ if (import.meta.vitest) { `) }) + test('imports are kept when the file has no hoisted calls', async () => { + const { stderr, testTree } = await runNoViteModuleRunnerTests({ + 'add.js': `export const add = (a, b) => a + b`, + 'comment.test.js': /* js */ ` +import { add } from './add.js' +// vi.mock('./add.js') +test('add', () => { + expect(add(1, 2)).toBe(3) +}) + `, + 'import-actual.test.js': /* js */ ` +import { add } from './add.js' +test('add', async () => { + const actual = await vi.importActual('./add.js') + expect(add).toBe(actual.add) +}) + `, + }) + expect(stderr).toBe('') + expect(testTree()).toMatchInlineSnapshot(` + { + "comment.test.js": { + "add": "passed", + }, + "import-actual.test.js": { + "add": "passed", + }, + } + `) + }) + + test('manual mock keeps names re-exported with export *', async () => { + const { stderr, testTree } = await runNoViteModuleRunnerTests({ + 'base.js': `export function fromBase() { return 'base' }`, + 'star.js': /* js */ ` +export * from './base.js' +export function own() { return 'own' } + `, + 'star.test.js': /* js */ ` +import { fromBase, own } from './star.js' +vi.mock(import('./star.js'), () => ({ + own: () => 'mocked-own', + fromBase: () => 'mocked-base', +})) +test('re-exported names are mocked', () => { + expect(own()).toBe('mocked-own') + expect(fromBase()).toBe('mocked-base') +}) + `, + 'users.js': /* js */ ` +export * from './posts.js' +export const getUser = () => 'user' + `, + 'posts.js': /* js */ ` +export * from './users.js' +export const getPost = () => 'post' + `, + 'circular.test.js': /* js */ ` +import { getPost, getUser } from './users.js' +vi.mock(import('./users.js'), () => ({ + getUser: () => 'mocked-user', + getPost: () => 'mocked-post', +})) +test('circular re-exports are mocked', () => { + expect(getUser()).toBe('mocked-user') + expect(getPost()).toBe('mocked-post') +}) + `, + }) + expect(stderr).toBe('') + expect(testTree()).toMatchInlineSnapshot(` + { + "circular.test.js": { + "circular re-exports are mocked": "passed", + }, + "star.test.js": { + "re-exported names are mocked": "passed", + }, + } + `) + }) + test('cannot import JS file without extension in ESM', async () => { const { stderr, root } = await runNoViteModuleRunnerTests({ 'add.js': /* js */ ` -- 2.51.2 From 69e6369f64455b4d78a6338521bbfc5fdb909af0 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 9 Oct 2026 18:47:02 +0200 Subject: [PATCH 03/12] fix(browser): open one cdp session per tester (#11542) --- packages/browser/src/node/projectParent.ts | 43 +++++++++++----------- test/browser/test/cdp.test.ts | 5 ++- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/packages/browser/src/node/projectParent.ts b/packages/browser/src/node/projectParent.ts index bee7fd871..5a31705de 100644 --- a/packages/browser/src/node/projectParent.ts +++ b/packages/browser/src/node/projectParent.ts @@ -4,7 +4,6 @@ import type { ParsedStack, TestError } from 'vitest' import type { BrowserCommand, BrowserScript, - CDPSession, ResolvedConfig, TestProject, Vite, @@ -172,14 +171,26 @@ export class ParentBrowserProject { }) } - public readonly cdps: Map = new Map() - private cdpSessionsPromises = new Map>() + private cdpHandlers = new Map>() - async ensureCDPHandler(sessionId: string, rpcId: string): Promise { - const cachedHandler = this.cdps.get(rpcId) - if (cachedHandler) { - return cachedHandler + ensureCDPHandler(sessionId: string, rpcId: string): Promise { + let handler = this.cdpHandlers.get(rpcId) + if (!handler) { + handler = this.createCDPHandler(sessionId, rpcId) + this.cdpHandlers.set(rpcId, handler) + handler.catch(() => { + if (this.cdpHandlers.get(rpcId) === handler) { + this.cdpHandlers.delete(rpcId) + } + }) } + return handler + } + + private async createCDPHandler( + sessionId: string, + rpcId: string, + ): Promise { const browserSession = this.vitest._browserSessions.getSession(sessionId) if (!browserSession) { throw new Error(`Session "${sessionId}" not found.`) @@ -196,28 +207,18 @@ export class ParentBrowserProject { throw new Error(`CDP is not supported by the provider "${provider.name}".`) } - const session = - (await this.cdpSessionsPromises.get(rpcId)) ?? - (await (async () => { - const promise = provider.getCDPSession!(sessionId).finally(() => { - this.cdpSessionsPromises.delete(rpcId) - }) - this.cdpSessionsPromises.set(rpcId, promise) - return promise - })()) + const session = await provider.getCDPSession(sessionId) const rpc = (browser.state as BrowserServerState).testers.get(rpcId) if (!rpc) { throw new Error(`Tester RPC "${rpcId}" was not established.`) } - const handler = new BrowserServerCDPHandler(session, rpc) - this.cdps.set(rpcId, handler) - return handler + return new BrowserServerCDPHandler(session, rpc) } - removeCDPHandler(sessionId: string): void { - this.cdps.delete(sessionId) + removeCDPHandler(rpcId: string): void { + this.cdpHandlers.delete(rpcId) } async formatScripts(scripts: BrowserScript[] | undefined): Promise { diff --git a/test/browser/test/cdp.test.ts b/test/browser/test/cdp.test.ts index 5bfdbdbd3..6de825059 100644 --- a/test/browser/test/cdp.test.ts +++ b/test/browser/test/cdp.test.ts @@ -7,10 +7,11 @@ describe.runIf(server.provider === 'playwright' && server.browser === 'chromium' it('cdp sends events correctly', async () => { const messageAdded = vi.fn() - await cdp().send('Console.enable') - + // `on` does not wait for the server, so subscribe before the next request cdp().on('Console.messageAdded', messageAdded) + await cdp().send('Console.enable') + onTestFinished(async () => { await cdp().send('Console.disable') }) -- 2.51.2 From 5c95521730bbc58ab20052f7ff807c29a8fbeb65 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Sat, 10 Oct 2026 10:16:16 +0200 Subject: [PATCH 04/12] fix(browser): clean up unmocked and pending mocks (#11537) --- packages/browser-playwright/src/playwright.ts | 3 +- packages/mocker/src/browser/mocker.ts | 2 + .../1-mock-not-loaded.test.ts | 7 +++ .../mocking-unloaded/2-original.test.ts | 6 +++ .../fixtures/mocking-unloaded/src/unloaded.ts | 3 ++ .../mocking-unloaded/vitest.config.ts | 27 ++++++++++++ .../fixtures/mocking-unmock/do-unmock.test.ts | 11 +++++ test/browser/fixtures/mocking-unmock/setup.ts | 4 ++ .../mocking-unmock/src/setup-automock.ts | 3 ++ .../mocking-unmock/src/setup-factory.ts | 3 ++ .../fixtures/mocking-unmock/unmock.test.ts | 11 +++++ .../fixtures/mocking-unmock/vitest.config.ts | 16 +++++++ test/browser/specs/mocking.test.ts | 44 +++++++++++++++++++ 13 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 test/browser/fixtures/mocking-unloaded/1-mock-not-loaded.test.ts create mode 100644 test/browser/fixtures/mocking-unloaded/2-original.test.ts create mode 100644 test/browser/fixtures/mocking-unloaded/src/unloaded.ts create mode 100644 test/browser/fixtures/mocking-unloaded/vitest.config.ts create mode 100644 test/browser/fixtures/mocking-unmock/do-unmock.test.ts create mode 100644 test/browser/fixtures/mocking-unmock/setup.ts create mode 100644 test/browser/fixtures/mocking-unmock/src/setup-automock.ts create mode 100644 test/browser/fixtures/mocking-unmock/src/setup-factory.ts create mode 100644 test/browser/fixtures/mocking-unmock/unmock.test.ts create mode 100644 test/browser/fixtures/mocking-unmock/vitest.config.ts diff --git a/packages/browser-playwright/src/playwright.ts b/packages/browser-playwright/src/playwright.ts index 074ed51e9..baa1451d2 100644 --- a/packages/browser-playwright/src/playwright.ts +++ b/packages/browser-playwright/src/playwright.ts @@ -534,8 +534,9 @@ export class PlaywrightBrowserProvider implements BrowserProvider { return { url: moduleUrl.href, predicate } } + // the tester unmocks by path, but the route is registered by the full url function predicateKey(sessionId: string, url: string) { - return `${sessionId}:${url}` + return `${sessionId}:${new URL(url, 'http://localhost').href}` } return { diff --git a/packages/mocker/src/browser/mocker.ts b/packages/mocker/src/browser/mocker.ts index 8f7a6ae47..1c94d59f3 100644 --- a/packages/mocker/src/browser/mocker.ts +++ b/packages/mocker/src/browser/mocker.ts @@ -56,6 +56,8 @@ export class ModuleMocker implements TestModuleMocker { } public async invalidate(): Promise { + // a file can finish before its mocks are registered if it never imports them + await Promise.allSettled(this.queue) const ids = Array.from(this.mockedIds) if (!ids.length) { return diff --git a/test/browser/fixtures/mocking-unloaded/1-mock-not-loaded.test.ts b/test/browser/fixtures/mocking-unloaded/1-mock-not-loaded.test.ts new file mode 100644 index 000000000..80a986d31 --- /dev/null +++ b/test/browser/fixtures/mocking-unloaded/1-mock-not-loaded.test.ts @@ -0,0 +1,7 @@ +import { expect, test, vi } from 'vitest' + +vi.mock('./src/unloaded', () => ({ source: () => 'mocked' })) + +test('the mocked module is never loaded in this file', () => { + expect(document.body).toBeDefined() +}) diff --git a/test/browser/fixtures/mocking-unloaded/2-original.test.ts b/test/browser/fixtures/mocking-unloaded/2-original.test.ts new file mode 100644 index 000000000..77d081d8d --- /dev/null +++ b/test/browser/fixtures/mocking-unloaded/2-original.test.ts @@ -0,0 +1,6 @@ +import { expect, test } from 'vitest' +import { source } from './src/unloaded' + +test('a mock from the previous file does not apply', () => { + expect(source()).toBe('original') +}) diff --git a/test/browser/fixtures/mocking-unloaded/src/unloaded.ts b/test/browser/fixtures/mocking-unloaded/src/unloaded.ts new file mode 100644 index 000000000..ea744c0ef --- /dev/null +++ b/test/browser/fixtures/mocking-unloaded/src/unloaded.ts @@ -0,0 +1,3 @@ +export function source() { + return 'original' +} diff --git a/test/browser/fixtures/mocking-unloaded/vitest.config.ts b/test/browser/fixtures/mocking-unloaded/vitest.config.ts new file mode 100644 index 000000000..7f6e5e016 --- /dev/null +++ b/test/browser/fixtures/mocking-unloaded/vitest.config.ts @@ -0,0 +1,27 @@ +import type { TestSpecification } from 'vitest/node' +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vitest/config' +import { instances, provider } from '../../settings' + +export default defineConfig({ + cacheDir: fileURLToPath(new URL('./node_modules/.vite', import.meta.url)), + test: { + fileParallelism: false, + sequence: { + sequencer: class { + async shard(files: TestSpecification[]) { + return files + } + async sort(files: TestSpecification[]) { + return [...files].sort((a, b) => a.moduleId.localeCompare(b.moduleId)) + } + }, + }, + browser: { + enabled: true, + provider, + instances, + headless: true, + }, + }, +}) diff --git a/test/browser/fixtures/mocking-unmock/do-unmock.test.ts b/test/browser/fixtures/mocking-unmock/do-unmock.test.ts new file mode 100644 index 000000000..e663f5773 --- /dev/null +++ b/test/browser/fixtures/mocking-unmock/do-unmock.test.ts @@ -0,0 +1,11 @@ +import { expect, test, vi } from 'vitest' + +test('vi.doUnmock restores modules mocked in the setup file', async () => { + vi.doUnmock('./src/setup-automock') + vi.doUnmock('./src/setup-factory') + + const { source: automocked } = await import('./src/setup-automock') + const { source: factory } = await import('./src/setup-factory') + expect(automocked()).toBe('original') + expect(factory()).toBe('original') +}) diff --git a/test/browser/fixtures/mocking-unmock/setup.ts b/test/browser/fixtures/mocking-unmock/setup.ts new file mode 100644 index 000000000..002a57e48 --- /dev/null +++ b/test/browser/fixtures/mocking-unmock/setup.ts @@ -0,0 +1,4 @@ +import { vi } from 'vitest' + +vi.mock('./src/setup-automock') +vi.mock('./src/setup-factory', () => ({ source: () => 'factory' })) diff --git a/test/browser/fixtures/mocking-unmock/src/setup-automock.ts b/test/browser/fixtures/mocking-unmock/src/setup-automock.ts new file mode 100644 index 000000000..ea744c0ef --- /dev/null +++ b/test/browser/fixtures/mocking-unmock/src/setup-automock.ts @@ -0,0 +1,3 @@ +export function source() { + return 'original' +} diff --git a/test/browser/fixtures/mocking-unmock/src/setup-factory.ts b/test/browser/fixtures/mocking-unmock/src/setup-factory.ts new file mode 100644 index 000000000..ea744c0ef --- /dev/null +++ b/test/browser/fixtures/mocking-unmock/src/setup-factory.ts @@ -0,0 +1,3 @@ +export function source() { + return 'original' +} diff --git a/test/browser/fixtures/mocking-unmock/unmock.test.ts b/test/browser/fixtures/mocking-unmock/unmock.test.ts new file mode 100644 index 000000000..d35283961 --- /dev/null +++ b/test/browser/fixtures/mocking-unmock/unmock.test.ts @@ -0,0 +1,11 @@ +import { expect, test, vi } from 'vitest' +import { source as automocked } from './src/setup-automock' +import { source as factory } from './src/setup-factory' + +vi.unmock('./src/setup-automock') +vi.unmock('./src/setup-factory') + +test('vi.unmock restores modules mocked in the setup file', () => { + expect(automocked()).toBe('original') + expect(factory()).toBe('original') +}) diff --git a/test/browser/fixtures/mocking-unmock/vitest.config.ts b/test/browser/fixtures/mocking-unmock/vitest.config.ts new file mode 100644 index 000000000..99fabed07 --- /dev/null +++ b/test/browser/fixtures/mocking-unmock/vitest.config.ts @@ -0,0 +1,16 @@ +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vitest/config' +import { instances, provider } from '../../settings' + +export default defineConfig({ + cacheDir: fileURLToPath(new URL('./node_modules/.vite', import.meta.url)), + test: { + setupFiles: ['./setup.ts'], + browser: { + enabled: true, + provider, + instances, + headless: true, + }, + }, +}) diff --git a/test/browser/specs/mocking.test.ts b/test/browser/specs/mocking.test.ts index 875ec2ea0..dcbafbb6a 100644 --- a/test/browser/specs/mocking.test.ts +++ b/test/browser/specs/mocking.test.ts @@ -127,6 +127,50 @@ test('mocks from a setup file apply to static imports of a test file', async () expect(result.exitCode).toBe(0) }) +test('vi.unmock and vi.doUnmock restore modules mocked in a setup file', async () => { + const result = await runVitest({ + root: 'fixtures/mocking-unmock', + }) + + onTestFailed(() => { + console.error(result.stdout) + console.error(result.stderr) + }) + + expect(result.stderr).toReportNoErrors() + + instances.forEach(({ browser }) => { + expect(result.stdout).toReportPassedTest('unmock.test.ts', browser) + expect(result.stdout).toReportPassedTest('do-unmock.test.ts', browser) + }) + + expect(result.exitCode).toBe(0) +}) + +test.each([true, false])( + 'a mock that a file never loads does not apply to the next file - isolated %s', + async (isolate) => { + const result = await runVitest({ + root: 'fixtures/mocking-unloaded', + isolate, + }) + + onTestFailed(() => { + console.error(result.stdout) + console.error(result.stderr) + }) + + expect(result.stderr).toReportNoErrors() + + instances.forEach(({ browser }) => { + expect(result.stdout).toReportPassedTest('1-mock-not-loaded.test.ts', browser) + expect(result.stdout).toReportPassedTest('2-original.test.ts', browser) + }) + + expect(result.exitCode).toBe(0) + }, +) + // fix https://github.com/vitest-dev/vitest/issues/7788 test('mocks modules next to a test file in a directory with spaces', async () => { const { errorTree } = await runInlineBrowserTests({ -- 2.51.2 From 58c86edb92ec4d470dc87c060002cbd5725900de Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 09:22:47 +0200 Subject: [PATCH 05/12] chore(deps): update all non-major dependencies (#11550) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/actions/setup-and-cache/action.yml | 2 +- .github/workflows/ci.yml | 12 +- .github/workflows/cr.yml | 2 +- .github/workflows/prepare-publish.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/semgrep.yml | 4 +- docs/package.json | 2 +- examples/lit/package.json | 2 +- examples/opentelemetry/package.json | 10 +- examples/projects/package.json | 2 +- examples/typecheck/package.json | 2 +- package.json | 4 +- packages/mocker/package.json | 2 +- packages/ui/package.json | 6 +- packages/vitest/package.json | 4 +- pnpm-lock.yaml | 2268 +++++++++++------ pnpm-workspace.yaml | 22 +- test/coverage-test/package.json | 6 +- .../fixtures/no-module-runner/package.json | 2 +- test/e2e/package.json | 4 +- test/typescript/package.json | 2 +- test/ui/package.json | 2 +- 22 files changed, 1581 insertions(+), 783 deletions(-) diff --git a/.github/actions/setup-and-cache/action.yml b/.github/actions/setup-and-cache/action.yml index f311c1c04..e845f0b2c 100644 --- a/.github/actions/setup-and-cache/action.yml +++ b/.github/actions/setup-and-cache/action.yml @@ -14,7 +14,7 @@ runs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 - name: Set node version to ${{ inputs.node-version }} - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: ${{ inputs.node-version }} cache: pnpm diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c56243229..a43d5b831 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -217,7 +217,7 @@ jobs: env: VITEST_CI_BLOB_LABEL: ${{ matrix.os }}-node-${{ matrix.node_version }} - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 if: ${{ !cancelled() }} with: name: vitest-results-${{ matrix.suite }}-${{ matrix.os }}-node-${{ matrix.node_version }} @@ -230,7 +230,7 @@ jobs: include-hidden-files: true - name: Upload Playwright traces - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 if: ${{ !cancelled() && matrix.suite == 'unit' }} with: name: playwright-traces-${{ matrix.os }}-node-${{ matrix.node_version }} @@ -420,7 +420,7 @@ jobs: - name: Build run: pnpm run build - - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: pattern: vitest-results-* merge-multiple: true @@ -440,7 +440,7 @@ jobs: - name: Upload Test UI Report if: ${{ !cancelled() }} id: upload-ui-report - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: path: ./packages/ui/.vitest/test-ui.html archive: false @@ -449,7 +449,7 @@ jobs: - name: Upload Test Unit Report if: ${{ !cancelled() }} id: upload-unit-report - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: path: ./test/unit/.vitest/test-unit.html archive: false @@ -458,7 +458,7 @@ jobs: - name: Upload Test E2E Report if: ${{ !cancelled() }} id: upload-e2e-report - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: path: ./test/e2e/.vitest/test-e2e.html archive: false diff --git a/.github/workflows/cr.yml b/.github/workflows/cr.yml index 2d1b19a0c..548982162 100644 --- a/.github/workflows/cr.yml +++ b/.github/workflows/cr.yml @@ -29,7 +29,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 - name: Set node version to 24 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: 24 registry-url: https://registry.npmjs.org/ diff --git a/.github/workflows/prepare-publish.yml b/.github/workflows/prepare-publish.yml index 13fa02506..8a0c575d6 100644 --- a/.github/workflows/prepare-publish.yml +++ b/.github/workflows/prepare-publish.yml @@ -52,7 +52,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 - name: Set node version to 24 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: 24 package-manager-cache: false diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 533c4d4df..57612aca0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -73,7 +73,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 - name: Set node version to 24 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: 24 registry-url: https://registry.npmjs.org/ diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 01b793060..d4326aa0c 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -14,7 +14,7 @@ jobs: permissions: security-events: write # Required for upload-sarif to upload SARIF files. container: - image: semgrep/semgrep:1.179.0@sha256:93963d9295a366f59e4850127b1550400ee7b388f04fe144e4a1f6325d96e01b + image: semgrep/semgrep:1.180.0@sha256:529ee8a277ec8adc5b534d7c74eea0a47e9de21d62852b6ba7ac6ba9566845c3 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -29,6 +29,6 @@ jobs: > semgrep-results.sarif - name: Upload SARIF result - uses: github/codeql-action/upload-sarif@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2 + uses: github/codeql-action/upload-sarif@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3 with: sarif_file: semgrep-results.sarif diff --git a/docs/package.json b/docs/package.json index bca1fa08f..c662a9189 100644 --- a/docs/package.json +++ b/docs/package.json @@ -37,7 +37,7 @@ "vite": "^6.3.5", "vite-plugin-pwa": "^1.3.0", "vitepress": "2.0.0-alpha.20", - "vitepress-plugin-group-icons": "^1.7.6", + "vitepress-plugin-group-icons": "^1.7.7", "vitepress-plugin-llms": "^1.14.0", "vitepress-plugin-tabs": "^0.9.1", "vitest": "workspace:*", diff --git a/examples/lit/package.json b/examples/lit/package.json index 02f22dd20..16089dcd2 100644 --- a/examples/lit/package.json +++ b/examples/lit/package.json @@ -19,7 +19,7 @@ "devDependencies": { "@vitest/browser-playwright": "latest", "jsdom": "^30.1.2", - "playwright": "^1.63.0", + "playwright": "^1.64.0", "vite": "latest", "vitest": "latest" }, diff --git a/examples/opentelemetry/package.json b/examples/opentelemetry/package.json index 4bb289309..7c5feb7aa 100644 --- a/examples/opentelemetry/package.json +++ b/examples/opentelemetry/package.json @@ -9,11 +9,11 @@ }, "devDependencies": { "@opentelemetry/api": "^1.9.1", - "@opentelemetry/context-zone": "^2.11.0", - "@opentelemetry/exporter-trace-otlp-proto": "^0.222.0", - "@opentelemetry/resources": "^2.11.0", - "@opentelemetry/sdk-node": "^0.222.0", - "@opentelemetry/sdk-trace-web": "^2.11.0", + "@opentelemetry/context-zone": "^2.12.0", + "@opentelemetry/exporter-trace-otlp-proto": "^0.223.0", + "@opentelemetry/resources": "^2.12.0", + "@opentelemetry/sdk-node": "^0.223.0", + "@opentelemetry/sdk-trace-web": "^2.12.0", "@vitest/browser-playwright": "latest", "vite": "latest", "vitest": "latest" diff --git a/examples/projects/package.json b/examples/projects/package.json index 4e986ad07..0d81f035a 100644 --- a/examples/projects/package.json +++ b/examples/projects/package.json @@ -13,7 +13,7 @@ "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.7", "@types/react": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/ui": "latest", "fastify": "^5.12.5", "jsdom": "^30.1.2", diff --git a/examples/typecheck/package.json b/examples/typecheck/package.json index 7076fed8d..7c33d408d 100644 --- a/examples/typecheck/package.json +++ b/examples/typecheck/package.json @@ -10,7 +10,7 @@ "test:run": "vitest run" }, "devDependencies": { - "@types/node": "^24.19.1", + "@types/node": "^24.19.2", "@vitest/ui": "latest", "typescript": "^5.9.3", "vite": "latest", diff --git a/package.json b/package.json index 328ee60b9..52c21447d 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "5.0.3", "private": true, - "packageManager": "pnpm@11.28.4", + "packageManager": "pnpm@11.28.5", "description": "Next generation testing framework powered by Vite", "engines": { "node": "^22.12.0 || ^24.0.0 || >=26.0.0" @@ -46,7 +46,7 @@ "@rollup/plugin-commonjs": "^29.0.3", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", - "@types/node": "24.19.1", + "@types/node": "24.19.2", "@types/semver": "catalog:", "bumpp": "^12.3.0", "changelogithub": "^15.0.5", diff --git a/packages/mocker/package.json b/packages/mocker/package.json index 3fceda4d8..f816e3530 100644 --- a/packages/mocker/package.json +++ b/packages/mocker/package.json @@ -96,7 +96,7 @@ "@types/estree": "catalog:", "@vitest/utils": "workspace:*", "acorn-walk": "catalog:", - "cjs-module-lexer": "^2.2.1", + "cjs-module-lexer": "^2.3.0", "es-module-lexer": "^2.3.2", "msw": "catalog:", "pathe": "catalog:", diff --git a/packages/ui/package.json b/packages/ui/package.json index 12033cb43..3cff85e72 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -81,7 +81,7 @@ "d3-graph-controller": "^3.1.13", "floating-vue": "^5.4.0", "mime": "^4.1.0", - "rollup": "^4.64.0", + "rollup": "^4.64.5", "rrweb-snapshot": "2.1.1", "splitpanes": "^4.1.2", "typescript": "^5.9.3", @@ -89,8 +89,8 @@ "vite": "latest", "vitest-browser-vue": "2.1.0", "vue": "catalog:", - "vue-router": "^5.3.1", - "vue-tsc": "^3.3.12", + "vue-router": "^5.4.0", + "vue-tsc": "^3.3.13", "vue-virtual-scroller": "2.0.1" } } diff --git a/packages/vitest/package.json b/packages/vitest/package.json index 484ac62e2..5e28a43cf 100644 --- a/packages/vitest/package.json +++ b/packages/vitest/package.json @@ -193,7 +193,7 @@ "@opentelemetry/api": "^1.9.1", "@sinonjs/fake-timers": "15.4.0", "@types/jsdom": "^30.0.0", - "@types/node": "^24.19.1", + "@types/node": "^24.19.2", "@types/picomatch": "^4.0.3", "@types/prompts": "^2.4.9", "@types/ws": "catalog:", @@ -209,7 +209,7 @@ "birpc": "catalog:", "cac": "catalog:", "flatted": "catalog:", - "happy-dom": "^20.14.5", + "happy-dom": "^20.14.6", "jsdom": "^30.1.2", "local-pkg": "^1.2.1", "mime": "^4.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b34b18fbb..6a7d2cfc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,8 +7,8 @@ settings: catalogs: default: '@babel/core': - specifier: ^8.0.6 - version: 8.0.6 + specifier: ^8.0.7 + version: 8.0.7 '@babel/plugin-proposal-decorators': specifier: ^8.0.2 version: 8.0.2 @@ -28,8 +28,8 @@ catalogs: specifier: 0.3.31 version: 0.3.31 '@playwright/test': - specifier: ^1.63.0 - version: 1.63.0 + specifier: ^1.64.0 + version: 1.64.0 '@rolldown/plugin-babel': specifier: ^0.2.4 version: 0.2.4 @@ -52,8 +52,8 @@ catalogs: specifier: ^66.10.5 version: 66.10.5 '@vitejs/plugin-vue': - specifier: ^6.0.9 - version: 6.0.9 + specifier: ^6.0.10 + version: 6.0.10 '@vitest/istanbul-lib-coverage': specifier: ^1.0.2 version: 1.0.2 @@ -82,20 +82,20 @@ catalogs: specifier: ^3.4.4 version: 3.4.4 knip: - specifier: ^6.39.0 - version: 6.39.0 + specifier: ^6.41.0 + version: 6.41.0 loupe: specifier: ^3.2.1 version: 3.2.1 magic-string: - specifier: ^1.4.2 - version: 1.4.2 + specifier: ^1.4.3 + version: 1.4.3 magicast: specifier: ^0.5.5 version: 0.5.5 msw: - specifier: ^3.0.2 - version: 3.0.2 + specifier: ^3.0.3 + version: 3.0.3 obug: specifier: ^3.0.0 version: 3.0.0 @@ -109,8 +109,8 @@ catalogs: specifier: ^2.0.3 version: 2.0.3 playwright: - specifier: ^1.63.0 - version: 1.63.0 + specifier: ^1.64.0 + version: 1.64.0 semver: specifier: ^7.8.5 version: 7.8.5 @@ -130,8 +130,8 @@ catalogs: specifier: ^4.0.0 version: 4.0.0 tinybench: - specifier: ^6.2.0 - version: 6.2.0 + specifier: ^6.2.2 + version: 6.2.2 tinyexec: specifier: ^1.3.1 version: 1.3.1 @@ -160,8 +160,8 @@ catalogs: specifier: ^3.5.43 version: 3.5.43 wrangler: - specifier: ^4.147.0 - version: 4.147.0 + specifier: ^4.149.0 + version: 4.149.0 ws: specifier: ^8.22.0 version: 8.22.0 @@ -170,14 +170,14 @@ catalogs: version: 3.4.0 overrides: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@vitest/browser': workspace:* '@vitest/browser-playwright': workspace:* '@vitest/browser-preview': workspace:* '@vitest/ui': workspace:* acorn: 8.11.3 mlly: ^1.8.2 - rollup: ^4.64.0 + rollup: ^4.64.5 vite: 8.0.11 vitest: workspace:* @@ -193,16 +193,16 @@ importers: devDependencies: '@rollup/plugin-commonjs': specifier: ^29.0.3 - version: 29.0.3(rollup@4.64.0) + version: 29.0.3(rollup@4.64.5) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.64.0) + version: 6.1.0(rollup@4.64.5) '@rollup/plugin-node-resolve': specifier: ^16.0.3 - version: 16.0.3(rollup@4.64.0) + version: 16.0.3(rollup@4.64.5) '@types/node': - specifier: 24.19.1 - version: 24.19.1 + specifier: 24.19.2 + version: 24.19.2 '@types/semver': specifier: 'catalog:' version: 7.8.0 @@ -214,7 +214,7 @@ importers: version: 15.0.5 knip: specifier: 'catalog:' - version: 6.39.0 + version: 6.41.0 oxfmt: specifier: 'catalog:' version: 0.71.0 @@ -225,14 +225,14 @@ importers: specifier: ^4.0.0 version: 4.0.0 rollup: - specifier: ^4.64.0 - version: 4.64.0 + specifier: ^4.64.5 + version: 4.64.5 rollup-plugin-dts: specifier: ^6.5.1 - version: 6.5.1(rollup@4.64.0)(typescript@5.9.3) + version: 6.5.1(rollup@4.64.5)(typescript@5.9.3) rollup-plugin-license: specifier: ^3.7.1 - version: 3.7.1(picomatch@4.0.7)(rollup@4.64.0) + version: 3.7.1(picomatch@4.0.7)(rollup@4.64.5) semver: specifier: 'catalog:' version: 7.8.5 @@ -244,13 +244,13 @@ importers: version: 5.9.3 unplugin-isolated-decl: specifier: ^0.17.0 - version: 0.17.0(esbuild@0.28.1)(rollup@4.64.0)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 0.17.0(esbuild@0.28.2)(rollup@4.64.5)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) unplugin-oxc: specifier: ^0.6.2 - version: 0.6.2(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 0.6.2(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:packages/vitest @@ -290,16 +290,16 @@ importers: version: 66.10.5 '@vite-pwa/assets-generator': specifier: ^2.0.0 - version: 2.0.0(@types/node@24.19.1) + version: 2.0.0(@types/node@24.19.2) '@vite-pwa/vitepress': specifier: ^1.1.0 - version: 1.1.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1)) + version: 1.1.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1)) '@vitejs/plugin-vue': specifier: 'catalog:' - version: 6.0.9(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) + version: 6.0.10(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) '@voidzero-dev/vitepress-theme': specifier: ^5.0.7 - version: 5.0.7(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(focus-trap@8.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vitepress@2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3)) + version: 5.0.7(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(focus-trap@8.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vitepress@2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3)) https-localhost: specifier: ^4.7.2 version: 4.7.2(supports-color@10.2.2) @@ -311,25 +311,25 @@ importers: version: 0.2.17 unocss: specifier: 'catalog:' - version: 66.10.5(cac@7.0.0)(rollup@4.64.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 66.10.5(cac@7.0.0)(rollup@4.64.5)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vite-plugin-pwa: specifier: ^1.3.0 - version: 1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1) + version: 1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1) vitepress: specifier: 2.0.0-alpha.20 - version: 2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1) + version: 2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1) vitepress-plugin-group-icons: - specifier: ^1.7.6 - version: 1.7.6(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + specifier: ^1.7.7 + version: 1.7.7(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) vitepress-plugin-llms: specifier: ^1.14.0 version: 1.14.0(supports-color@10.2.2) vitepress-plugin-tabs: specifier: ^0.9.1 - version: 0.9.1(vitepress@2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3)) + version: 0.9.1(vitepress@2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3)) vitest: specifier: workspace:* version: link:../packages/vitest @@ -338,7 +338,7 @@ importers: version: 7.4.1 wrangler: specifier: 'catalog:' - version: 4.147.0(@types/node@24.19.1) + version: 4.149.0(@types/node@24.19.2) examples/basic: devDependencies: @@ -347,7 +347,7 @@ importers: version: link:../../packages/ui vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -368,7 +368,7 @@ importers: version: 4.23.15 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -395,11 +395,11 @@ importers: specifier: ^30.1.2 version: 30.1.2(@noble/hashes@1.8.0) playwright: - specifier: ^1.63.0 - version: 1.63.0 + specifier: ^1.64.0 + version: 1.64.0 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -410,26 +410,26 @@ importers: specifier: ^1.9.1 version: 1.9.1 '@opentelemetry/context-zone': - specifier: ^2.11.0 - version: 2.11.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/exporter-trace-otlp-proto': - specifier: ^0.222.0 - version: 0.222.0(@opentelemetry/api@1.9.1) + specifier: ^0.223.0 + version: 0.223.0(@opentelemetry/api@1.9.1) '@opentelemetry/resources': - specifier: ^2.11.0 - version: 2.11.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-node': - specifier: ^0.222.0 - version: 0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) + specifier: ^0.223.0 + version: 0.223.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) '@opentelemetry/sdk-trace-web': - specifier: ^2.11.0 - version: 2.11.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@vitest/browser-playwright': specifier: workspace:* version: link:../../packages/browser-playwright vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -438,7 +438,7 @@ importers: devDependencies: vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -458,8 +458,8 @@ importers: specifier: ^19.3.0 version: 19.3.0 '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)))(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.7)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)))(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) '@vitest/ui': specifier: workspace:* version: link:../../packages/ui @@ -480,7 +480,7 @@ importers: version: 4.23.15 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -488,8 +488,8 @@ importers: examples/typecheck: devDependencies: '@types/node': - specifier: 24.19.1 - version: 24.19.1 + specifier: 24.19.2 + version: 24.19.2 '@vitest/ui': specifier: workspace:* version: link:../../packages/ui @@ -498,7 +498,7 @@ importers: version: 5.9.3 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -519,7 +519,7 @@ importers: version: link:../utils magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 pngjs: specifier: ^7.0.0 version: 7.0.0 @@ -540,8 +540,8 @@ importers: specifier: ^14.6.7 version: 14.6.7(@testing-library/dom@10.4.2) '@types/node': - specifier: 24.19.1 - version: 24.19.1 + specifier: 24.19.2 + version: 24.19.2 '@types/pngjs': specifier: ^6.0.5 version: 6.0.5 @@ -571,7 +571,7 @@ importers: version: 2.1.1(patch_hash=b66b30796877352a5f887f3f4115c4e7265ddc11772af2223da4bd92293716f6) vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../vitest @@ -593,10 +593,10 @@ importers: version: 2.0.3 playwright: specifier: 'catalog:' - version: 1.63.0 + version: 1.64.0 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../vitest @@ -731,7 +731,7 @@ importers: version: 3.0.3 magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 devDependencies: '@types/estree': specifier: 'catalog:' @@ -743,20 +743,20 @@ importers: specifier: 'catalog:' version: 8.3.5 cjs-module-lexer: - specifier: ^2.2.1 - version: 2.2.1 + specifier: ^2.3.0 + version: 2.3.0 es-module-lexer: specifier: ^2.3.2 version: 2.3.2 msw: specifier: 'catalog:' - version: 3.0.2(@types/node@24.19.1)(graphql@16.14.2)(supports-color@10.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 3.0.3(@types/node@24.19.2)(graphql@16.14.2)(supports-color@10.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) pathe: specifier: 'catalog:' version: 2.0.3 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) packages/pretty-format: dependencies: @@ -784,7 +784,7 @@ importers: version: link:../utils magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 pathe: specifier: 'catalog:' version: 2.0.3 @@ -842,7 +842,7 @@ importers: version: 66.10.5 '@vitejs/plugin-vue': specifier: 'catalog:' - version: 6.0.9(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) + version: 6.0.10(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) '@vitest/browser-playwright': specifier: workspace:* version: link:../browser-playwright @@ -877,8 +877,8 @@ importers: specifier: ^4.1.0 version: 4.1.0 rollup: - specifier: ^4.64.0 - version: 4.64.0 + specifier: ^4.64.5 + version: 4.64.5 rrweb-snapshot: specifier: 2.1.1 version: 2.1.1(patch_hash=b66b30796877352a5f887f3f4115c4e7265ddc11772af2223da4bd92293716f6) @@ -890,10 +890,10 @@ importers: version: 5.9.3 unocss: specifier: 'catalog:' - version: 66.10.5(cac@7.0.0)(rollup@4.64.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 66.10.5(cac@7.0.0)(rollup@4.64.5)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest-browser-vue: specifier: 2.1.0 version: 2.1.0(@vue/compiler-dom@3.5.42)(@vue/server-renderer@3.5.43)(vitest@packages+vitest)(vue@3.5.43(typescript@5.9.3)) @@ -901,11 +901,11 @@ importers: specifier: 'catalog:' version: 3.5.43(typescript@5.9.3) vue-router: - specifier: ^5.3.1 - version: 5.3.1(@vue/compiler-sfc@3.5.43)(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) + specifier: ^5.4.0 + version: 5.4.0(@vue/compiler-sfc@3.5.43)(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) vue-tsc: - specifier: ^3.3.12 - version: 3.3.12(typescript@5.9.3) + specifier: ^3.3.13 + version: 3.3.13(typescript@5.9.3) vue-virtual-scroller: specifier: 2.0.1 version: 2.0.1(vue@3.5.43(typescript@5.9.3)) @@ -972,7 +972,7 @@ importers: version: 1.4.0 magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 obug: specifier: 'catalog:' version: 3.0.0 @@ -984,7 +984,7 @@ importers: version: 4.3.0 tinybench: specifier: 'catalog:' - version: 6.2.0 + version: 6.2.2 tinyexec: specifier: 'catalog:' version: 1.3.1 @@ -1017,8 +1017,8 @@ importers: specifier: ^30.0.0 version: 30.0.0 '@types/node': - specifier: 24.19.1 - version: 24.19.1 + specifier: 24.19.2 + version: 24.19.2 '@types/picomatch': specifier: ^4.0.3 version: 4.0.3 @@ -1065,8 +1065,8 @@ importers: specifier: 'catalog:' version: 3.4.4 happy-dom: - specifier: ^20.14.5 - version: 20.14.5 + specifier: ^20.14.6 + version: 20.14.6 jsdom: specifier: ^30.1.2 version: 30.1.2(@noble/hashes@1.8.0) @@ -1093,7 +1093,7 @@ importers: version: 3.2.0 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) ws: specifier: 'catalog:' version: 8.22.0 @@ -1118,7 +1118,7 @@ importers: devDependencies: '@playwright/test': specifier: 'catalog:' - version: 1.63.0 + version: 1.64.0 '@types/react': specifier: ^19.3.0 version: 19.3.0 @@ -1127,7 +1127,7 @@ importers: version: 3.4.0 '@vitejs/plugin-basic-ssl': specifier: ^2.3.0 - version: 2.3.0(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 2.3.0(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -1148,7 +1148,7 @@ importers: version: 2.0.3 playwright: specifier: 'catalog:' - version: 1.63.0 + version: 1.64.0 react: specifier: ^19.3.0 version: 19.3.0 @@ -1166,7 +1166,7 @@ importers: version: 0.11.4 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1186,8 +1186,8 @@ importers: specifier: 'catalog:' version: 2.3.5 '@vitejs/plugin-vue': - specifier: ^6.0.9 - version: 6.0.9(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) + specifier: ^6.0.10 + version: 6.0.10(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) '@vitest/browser-playwright': specifier: workspace:* version: link:../../packages/browser-playwright @@ -1216,11 +1216,11 @@ importers: specifier: ^2.5.1 version: 2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@5.9.3)) happy-dom: - specifier: ^20.14.5 - version: 20.14.5 + specifier: ^20.14.6 + version: 20.14.6 magic-string: - specifier: ^1.4.2 - version: 1.4.2 + specifier: ^1.4.3 + version: 1.4.3 magicast: specifier: ^0.5.5 version: 0.5.5 @@ -1232,10 +1232,10 @@ importers: version: 1.105.1 unplugin-swc: specifier: ^1.6.0 - version: 1.6.0(@swc/core@1.4.1(@swc/helpers@0.5.17))(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 1.6.0(@swc/core@1.4.1(@swc/helpers@0.5.17))(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1249,11 +1249,11 @@ importers: specifier: ^1.9.1 version: 1.9.1 '@opentelemetry/sdk-node': - specifier: ^0.222.0 - version: 0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) + specifier: ^0.223.0 + version: 0.223.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) '@opentelemetry/sdk-trace-web': - specifier: ^2.11.0 - version: 2.11.0(@opentelemetry/api@1.9.1) + specifier: ^2.12.0 + version: 2.12.0(@opentelemetry/api@1.9.1) '@test/pkg-reporter': specifier: link:./deps/pkg-reporter version: link:deps/pkg-reporter @@ -1277,7 +1277,7 @@ importers: version: 8.18.2 '@vitejs/plugin-basic-ssl': specifier: ^2.3.0 - version: 2.3.0(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 2.3.0(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) '@vitejs/test-dep-virtual': specifier: file:./deps/test-dep-virtual version: file:test/e2e/deps/test-dep-virtual @@ -1322,7 +1322,7 @@ importers: version: 6.5.2 magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 obug: specifier: ^3.0.0 version: 3.0.0 @@ -1334,7 +1334,7 @@ importers: version: 2.0.3 playwright: specifier: 'catalog:' - version: 1.63.0 + version: 1.64.0 ssr-no-external-dep: specifier: file:./deps/vite-ssr-resolve/ssr-no-external-dep version: file:test/e2e/deps/vite-ssr-resolve/ssr-no-external-dep @@ -1361,10 +1361,10 @@ importers: version: 5.9.3 unplugin-swc: specifier: ^1.6.0 - version: 1.6.0(@swc/core@1.4.1(@swc/helpers@0.5.17))(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 1.6.0(@swc/core@1.4.1(@swc/helpers@0.5.17))(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1436,7 +1436,7 @@ importers: version: 1.3.1 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1454,14 +1454,14 @@ importers: specifier: ^5.9.3 version: 5.9.3 vue-tsc: - specifier: ^3.3.12 - version: 3.3.12(typescript@5.9.3) + specifier: ^3.3.13 + version: 3.3.13(typescript@5.9.3) test/ui: devDependencies: '@playwright/test': specifier: 'catalog:' - version: 1.63.0 + version: 1.64.0 '@testing-library/dom': specifier: ^10.4.2 version: 10.4.2 @@ -1481,14 +1481,14 @@ importers: specifier: workspace:* version: link:../../packages/ui happy-dom: - specifier: ^20.14.5 - version: 20.14.5 + specifier: ^20.14.6 + version: 20.14.6 pathe: specifier: 'catalog:' version: 2.0.3 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1497,13 +1497,13 @@ importers: devDependencies: '@babel/core': specifier: 'catalog:' - version: 8.0.6 + version: 8.0.7 '@babel/plugin-proposal-decorators': specifier: 'catalog:' - version: 8.0.2(@babel/core@8.0.6) + version: 8.0.2(@babel/core@8.0.7) '@rolldown/plugin-babel': specifier: 'catalog:' - version: 0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + version: 0.2.4(@babel/core@8.0.7)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) '@standard-schema/spec': specifier: ^1.1.0 version: 1.1.0 @@ -1563,7 +1563,7 @@ importers: version: 3.2.1 magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 memfs: specifier: ^4.80.0 version: 4.80.0 @@ -1599,7 +1599,7 @@ importers: version: 0.11.4 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1626,13 +1626,13 @@ importers: version: 30.1.2(@noble/hashes@1.8.0) magic-string: specifier: 'catalog:' - version: 1.4.2 + version: 1.4.3 pathe: specifier: 'catalog:' version: 2.0.3 vite: specifier: 8.0.11 - version: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + version: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1658,9 +1658,6 @@ packages: '@ansi-tools/parser@1.0.15': resolution: {integrity: sha512-Y+PIdkMVu8I27z344G65nni8c7TlPtVv/7Kw/ncS6lbpJKBRT00bTtyAlPL/aVjkCrLoYlUwsgvoGJ/iWhH52w==} - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/install-pkg@2.0.1': resolution: {integrity: sha512-iCKVQcIC0e3oDxEfs3SHQGW+ovhBMZmS1TE+bTk50rVyMCBmCfClv7Qi3HQKlumYwvjb/iIMeWCW2i67q6kFfQ==} @@ -1718,8 +1715,8 @@ packages: resolution: {integrity: sha512-5FgxM4dLQpMJHSiVATk8foW263dVHQHBVpXYiimNECVWG01f4nFyEbQixeT6Mwvg7TayREJ2gpKl3o2RoMdnqw==} engines: {node: ^22.18.0 || >=24.11.0} - '@babel/core@8.0.6': - resolution: {integrity: sha512-5zwYt1V4ji3mXKKRIAkohSJ29WepxNwxQi+7y7P5AcVPh1dcxnZBU2cfxHnPwS+u9+lZnXPsv30TQaF2xg+Tfg==} + '@babel/core@8.0.7': + resolution: {integrity: sha512-ZIsZWBG6Y1oa+8fkQVp0xeCdjCHBkXFCCIWrmg9SvejVvfcVQgKKRmGrBDWfM7rilhvnRoEuaqa5dkK7KB3pHA==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/generator@7.29.7': @@ -1750,8 +1747,8 @@ packages: resolution: {integrity: sha512-JwculLABZvyPvyLBpwU/E/IbH2uM3mnxNtIJpxnIfb24y1PrdVxK5Dqjle4DpgqpGRnwgC7G8IkzPdSXZrO1Ew==} engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-compilation-targets@8.0.6': - resolution: {integrity: sha512-HTrtZ4+iA0+kzdbCgvdSk1U4pEl3BvpGnlUbualCGNbrVhhQvhgBzurTUmqpWyvyHbWYWaIfdx2mOlL9LJjsew==} + '@babel/helper-compilation-targets@8.0.7': + resolution: {integrity: sha512-ilAZCdOOlOVA7dQbaFNw2f/59p6GW33NxTopc3DvEE3efp3ZXTrGX/yZScaKw8/vd9bq31Ag0EcXiLw32bAgJg==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-create-class-features-plugin@7.29.7': @@ -1895,8 +1892,8 @@ packages: resolution: {integrity: sha512-wfbi91pM3py96oIiJEz7qIpyXDytgr9zQC1HEWwlGNVRAEmItuU/0a41ZUKu1sJGyhhOIpc4t5vk4PYzt8wpsg==} engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helpers@8.0.5': - resolution: {integrity: sha512-fQtPOXjYOYv85PIdwotp2TJGVYOycX0PQq+l844fFAxOULtBy8BVF35GyeueX0r4KvDthqPH5xAI1clQPk/2uA==} + '@babel/helpers@8.0.7': + resolution: {integrity: sha512-5dMj5kFwS2AY7Dt4PZp4px3c5ThMbbEa7tZfuHTncCGSFYq8uoA1ufDE1IS/lYpQedE+3+GQ3cPZUiplIu195w==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/parser@7.29.8': @@ -1914,6 +1911,11 @@ packages: engines: {node: ^22.18.0 || >=24.11.0} hasBin: true + '@babel/parser@8.0.7': + resolution: {integrity: sha512-UkDwEbPO1px2JQSrdh4qIgaH1JgG7GO/pFeJkpxhDxIETkT/QvGpnigXIw75ViHYPtIgKITmVUJqLjiO+JuWjA==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} engines: {node: '>=6.9.0'} @@ -2323,8 +2325,8 @@ packages: resolution: {integrity: sha512-bZnmqzGG8UZneG1lLxBoWIH0G6Gr1D846Yu4/3XnY6FhCndMR49u26nTY08u/dAxWmLWF9vGQOuC+84FfIUoeg==} engines: {node: ^22.18.0 || >=24.11.0} - '@babel/traverse@8.0.6': - resolution: {integrity: sha512-ilYV+qLStGzSKLipJlETdvdtpK3rAuwfCmCoGKv15MU4EoeIuLkespSNoNLFGOPSciEHx9TLWtN5mv0fz5w5mQ==} + '@babel/traverse@8.0.7': + resolution: {integrity: sha512-bVV0brinsTWgc6ptSIoQo3GbITtl0VZAqEUJbHHcyfDPEu+q/fEvlYEa+6H85HoK8IdksKBFtKJbJFZ6Kff+zg==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/types@7.29.8': @@ -2384,32 +2386,32 @@ packages: workerd: optional: true - '@cloudflare/workerd-darwin-64@1.20261001.1': - resolution: {integrity: sha512-4cgSgDf28JSw/P5Dj5GCS59hzVqS5XnmGAWNkvYHLI6ODU9idGaMMNEuhJXDkEG/lsABmlVlnCgsdh2VbKWepw==} + '@cloudflare/workerd-darwin-64@1.20261006.1': + resolution: {integrity: sha512-lCX6avJO2It9AyDEYitjmOtJRVp/xmaW0TziyoLAnfxlzozyyRbSFfIIMMCiDx/sTP1++E4VLbV+7BHSD33f0Q==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20261001.1': - resolution: {integrity: sha512-8ulAWruEVouNmEIsQsy9WSSCS9zkLu93W2MTwp5esiFyoPp05BNSVFIFsYSPi1pkFmBBd7fsnwMpbLkaJLaVPQ==} + '@cloudflare/workerd-darwin-arm64@1.20261006.1': + resolution: {integrity: sha512-PyFGjOaldtppnLuKsdkoYWXfLVpDjuf8u+uoykX+1Xvxo2EPmCVViq0iDKm+U7c7PRno85ehS3/MPVXyk2HwHw==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20261001.1': - resolution: {integrity: sha512-kZbTZJGrhsMOdqZ2BIybjaBRLZjYsRLWj7mcNw/6Y3hodOhp5MrNzcz4iWGwNVWwyIV+7Pl+/LX5VcgnRqdHOg==} + '@cloudflare/workerd-linux-64@1.20261006.1': + resolution: {integrity: sha512-Ntf9S8eesmVufdjaT2kzWlz6Ng9XGYTc6cHQVRKAg59lFufwsIabGeMT6U4KkrpEeSIxgHq8aPtuLbZXE19tCA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20261001.1': - resolution: {integrity: sha512-oOk3Zj6k/8oP0FJgZBWDn7+BqbsqIMEMaV95pulHPVbwVu4wYoLfQq2hp0vkbCNsCFLqZb7cqixXdrwD54ZIow==} + '@cloudflare/workerd-linux-arm64@1.20261006.1': + resolution: {integrity: sha512-JyeDBymVWw5tVRebSsVE8ojDYxd6UlZrAseHU8G+NpIyd5wF61tXlF/axLeCUqu0pOhBFHb8I5QKi0jwrCK41Q==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20261001.1': - resolution: {integrity: sha512-uRxm5W4VyBkoSaoP1BfOuH0873tE+vxsknF4sab6/5YIRvIAufChq3QDp+zlAn67PuGPGcn7W8QraA0t4ucmOQ==} + '@cloudflare/workerd-windows-64@1.20261006.1': + resolution: {integrity: sha512-nWP0URNqOBN9fa/gZ7eh/w051DwjOXN8j4lDZDYVXyQPsux6sV3DfyYZT+CjR/rt9nKBSmJT9QE9/bWT18+84w==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -2507,156 +2509,312 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.28.1': resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.28.1': resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.28.1': resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.28.1': resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.28.1': resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.28.1': resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.28.1': resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.28.1': resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.28.1': resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.28.1': resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.28.1': resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.28.1': resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.28.1': resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.28.1': resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.28.1': resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.28.1': resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.28.1': resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.28.1': resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.28.1': resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.28.1': resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openharmony-arm64@0.28.1': resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.28.1': resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.28.1': resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.28.1': resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.28.1': resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@exodus/bytes@1.16.0': resolution: {integrity: sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -2733,9 +2891,6 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@3.1.4': - resolution: {integrity: sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==} - '@iconify/utils@3.1.7': resolution: {integrity: sha512-JZHlwdID+dy+lTgbYC8NEC4zeugqeYsc6jewvzb4c58kHauJn+X7rNwQjxz5p2qSjqaEeQoLkCIQ9v/H4PK0/w==} @@ -2754,75 +2909,150 @@ packages: cpu: [arm64] os: [darwin] + '@img/sharp-darwin-arm64@0.35.5': + resolution: {integrity: sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] + '@img/sharp-darwin-x64@0.35.4': resolution: {integrity: sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==} engines: {node: '>=20.9.0'} cpu: [x64] os: [darwin] + '@img/sharp-darwin-x64@0.35.5': + resolution: {integrity: sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] + '@img/sharp-freebsd-wasm32@0.35.4': resolution: {integrity: sha512-lIsKw/BU+kjB4eZjxrYrZmwOJYi3Ajrv66iAlBmUPyKc3HpnloevB1g3wxGD9P/5BbQ1brBGl65VRRrCvQDEqA==} engines: {node: '>=20.9.0'} os: [freebsd] + '@img/sharp-freebsd-wasm32@0.35.5': + resolution: {integrity: sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==} + engines: {node: '>=20.9.0'} + os: [freebsd] + '@img/sharp-libvips-darwin-arm64@1.3.3': resolution: {integrity: sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==} cpu: [arm64] os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.3.4': + resolution: {integrity: sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==} + cpu: [arm64] + os: [darwin] + '@img/sharp-libvips-darwin-x64@1.3.3': resolution: {integrity: sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==} cpu: [x64] os: [darwin] + '@img/sharp-libvips-darwin-x64@1.3.4': + resolution: {integrity: sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==} + cpu: [x64] + os: [darwin] + '@img/sharp-libvips-linux-arm64@1.3.3': resolution: {integrity: sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==} cpu: [arm64] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-arm64@1.3.4': + resolution: {integrity: sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-arm@1.3.3': resolution: {integrity: sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==} cpu: [arm] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-arm@1.3.4': + resolution: {integrity: sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==} + cpu: [arm] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-ppc64@1.3.3': resolution: {integrity: sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==} cpu: [ppc64] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-ppc64@1.3.4': + resolution: {integrity: sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-riscv64@1.3.3': resolution: {integrity: sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==} cpu: [riscv64] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-riscv64@1.3.4': + resolution: {integrity: sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-s390x@1.3.3': resolution: {integrity: sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==} cpu: [s390x] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-s390x@1.3.4': + resolution: {integrity: sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-x64@1.3.3': resolution: {integrity: sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==} cpu: [x64] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-x64@1.3.4': + resolution: {integrity: sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linuxmusl-arm64@1.3.3': resolution: {integrity: sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==} cpu: [arm64] os: [linux] libc: [musl] + '@img/sharp-libvips-linuxmusl-arm64@1.3.4': + resolution: {integrity: sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@img/sharp-libvips-linuxmusl-x64@1.3.3': resolution: {integrity: sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==} cpu: [x64] os: [linux] libc: [musl] + '@img/sharp-libvips-linuxmusl-x64@1.3.4': + resolution: {integrity: sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==} + cpu: [x64] + os: [linux] + libc: [musl] + '@img/sharp-linux-arm64@0.35.4': resolution: {integrity: sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==} engines: {node: '>=20.9.0'} @@ -2830,6 +3060,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-arm64@0.35.5': + resolution: {integrity: sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@img/sharp-linux-arm@0.35.4': resolution: {integrity: sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==} engines: {node: '>=20.9.0'} @@ -2837,6 +3074,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-arm@0.35.5': + resolution: {integrity: sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + '@img/sharp-linux-ppc64@0.35.4': resolution: {integrity: sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==} engines: {node: '>=20.9.0'} @@ -2844,6 +3088,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-ppc64@0.35.5': + resolution: {integrity: sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@img/sharp-linux-riscv64@0.35.4': resolution: {integrity: sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==} engines: {node: '>=20.9.0'} @@ -2851,6 +3102,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-riscv64@0.35.5': + resolution: {integrity: sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@img/sharp-linux-s390x@0.35.4': resolution: {integrity: sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==} engines: {node: '>=20.9.0'} @@ -2858,6 +3116,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-s390x@0.35.5': + resolution: {integrity: sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@img/sharp-linux-x64@0.35.4': resolution: {integrity: sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==} engines: {node: '>=20.9.0'} @@ -2865,6 +3130,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-x64@0.35.5': + resolution: {integrity: sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + '@img/sharp-linuxmusl-arm64@0.35.4': resolution: {integrity: sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==} engines: {node: '>=20.9.0'} @@ -2872,6 +3144,13 @@ packages: os: [linux] libc: [musl] + '@img/sharp-linuxmusl-arm64@0.35.5': + resolution: {integrity: sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + '@img/sharp-linuxmusl-x64@0.35.4': resolution: {integrity: sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==} engines: {node: '>=20.9.0'} @@ -2879,33 +3158,67 @@ packages: os: [linux] libc: [musl] + '@img/sharp-linuxmusl-x64@0.35.5': + resolution: {integrity: sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] + '@img/sharp-wasm32@0.35.4': resolution: {integrity: sha512-zQnl4Kwp7Q6NHsENtU2T/00Zi+w3AQNwz3+UaTyVBy2FpXrzXzGjndpK61onhZjRtRpQXxCTeqw19bVyXOh7jA==} engines: {node: '>=20.9.0'} + '@img/sharp-wasm32@0.35.5': + resolution: {integrity: sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==} + engines: {node: '>=20.9.0'} + '@img/sharp-webcontainers-wasm32@0.35.4': resolution: {integrity: sha512-ESfNkywmCfPNyaZjxooddJQiQ+l/nTpGEOGthxiLnIHXC/CmcBixnfwUleX9mCz9ovrUUvKMap/pm8RYbzfwaA==} engines: {node: '>=20.9.0'} cpu: [wasm32] + '@img/sharp-webcontainers-wasm32@0.35.5': + resolution: {integrity: sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] + '@img/sharp-win32-arm64@0.35.4': resolution: {integrity: sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [win32] + '@img/sharp-win32-arm64@0.35.5': + resolution: {integrity: sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] + '@img/sharp-win32-ia32@0.35.4': resolution: {integrity: sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==} engines: {node: ^20.9.0} cpu: [ia32] os: [win32] + '@img/sharp-win32-ia32@0.35.5': + resolution: {integrity: sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] + '@img/sharp-win32-x64@0.35.4': resolution: {integrity: sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==} engines: {node: '>=20.9.0'} cpu: [x64] os: [win32] + '@img/sharp-win32-x64@0.35.5': + resolution: {integrity: sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] + '@inquirer/ansi@2.0.7': resolution: {integrity: sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} @@ -2914,7 +3227,7 @@ packages: resolution: {integrity: sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 peerDependenciesMeta: '@types/node': optional: true @@ -2923,7 +3236,7 @@ packages: resolution: {integrity: sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 peerDependenciesMeta: '@types/node': optional: true @@ -2936,7 +3249,7 @@ packages: resolution: {integrity: sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 peerDependenciesMeta: '@types/node': optional: true @@ -3149,189 +3462,189 @@ packages: '@open-draft/until@3.0.1': resolution: {integrity: sha512-s7/9ELP4aP9YZtW7RJaa0Xf3RISaRH9+EFN18FtykJYRHGNrl8f9ymvoNXzjhrjmftFvkQudtuDU9RYhk0xs3A==} - '@opentelemetry/api-logs@0.222.0': - resolution: {integrity: sha512-9mb1If+IF6u0ZVXkHQ6ogEae5HwA6ajIVUgpSDQyRASxft6BSXHvBvPooRle3yFN/fKnCdSOnuu0OC3PLcF6+g==} + '@opentelemetry/api-logs@0.223.0': + resolution: {integrity: sha512-Oepm6etVPFCn0VWB1t833iOTgz1eYBDUPxcrOR/XvwzD1+Ag9VzSPSrrKAFNJ/haatj+8CXbG47pZXvdNQKDJw==} engines: {node: '>=8.0.0'} '@opentelemetry/api@1.9.1': resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} engines: {node: '>=8.0.0'} - '@opentelemetry/configuration@0.222.0': - resolution: {integrity: sha512-zNWGmEvyX7CUbS6F6PKi7hf3CF/SffzeBYyWVQAfadZ8hODrvLmqV3IUGVt1SiqyYanRPHc8VuhoO0Qh9OEuug==} + '@opentelemetry/configuration@0.223.0': + resolution: {integrity: sha512-KgyHXS8weyh+mJWVZ2+3hmu7J4mwU661Y8yQ1PvBAEY7G63X8qfGr6uN61MNJrN+YzP+dC5x6PmBEgdh7x6coQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.9.0 - '@opentelemetry/context-async-hooks@2.11.0': - resolution: {integrity: sha512-Tr79DyWI8itsBdg+jH+opjfrwLzX+erk1/ExkIwhWoAVjVrJIn2y5+cGjTC0Vy8fyNIA/y8wuJPZwr1T3xCZeQ==} + '@opentelemetry/context-async-hooks@2.12.0': + resolution: {integrity: sha512-iK/1nD7mmZVkuYjVjkdFBiCvzntJdFny1S3CYbUYyOq7V5enL6XX+gJ7eh965L1LnS11VA8mQ7Ej/ck04SB0MQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/context-zone-peer-dep@2.11.0': - resolution: {integrity: sha512-IpEnM1t0W2zXUiZt0Vcu4LjZ55lrBos204wSu+SDkffXvkjk4+0+21dAcdvp6wbT99ZxGqD4fvvFy0NUGtJpsQ==} + '@opentelemetry/context-zone-peer-dep@2.12.0': + resolution: {integrity: sha512-hu+N5/4WCkIARuzQgAfbn/A89UeUF555/RivBylrwgX01Xz5kL30NypBHEe2Ffi7cgnVxAz9+KklzUs60YT7PQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' zone.js: ^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0 - '@opentelemetry/context-zone@2.11.0': - resolution: {integrity: sha512-fQVCMuo/fCm7XbdoNvi06uMGNYF/Cn0Q1zQbDKpcB3GFACo48GjxC1fYZmYMerYWd8HNv4dSSxxgN2lU/gyvfg==} + '@opentelemetry/context-zone@2.12.0': + resolution: {integrity: sha512-0sl/9ApZBusUcEg9iYo1svqy+1qnRO1N5SUd5VSvKCKlTMSjjA+yWDcEGVu/j5mqjyBtV7cgj5XI5MYoW92X7g==} engines: {node: ^18.19.0 || >=20.6.0} - '@opentelemetry/core@2.11.0': - resolution: {integrity: sha512-7YP44XH0tV6+Mb54x2YGf84i7yi+31MBZlE8JwvozkxyTvXbSp10X7cI7YE49ChJ3shMJoBmCJF3+1QFBJctGA==} + '@opentelemetry/core@2.12.0': + resolution: {integrity: sha512-1HsSAuvT4/my0QrXWsyXFdWjKaPeCHsismKZgEEIb8NK13LP6DrMRlsUbvD/0F9mDWK3xDom9AMv3IscxgOnOQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-logs-otlp-grpc@0.222.0': - resolution: {integrity: sha512-HH4Oi/E8HXBKtcjgcVPJGsrg+lSstdw1m93brRdpVj5CjMpyTkv/O0ZYMXP6QXVEaLjjFivtzUu4Y8+i1UJpjw==} + '@opentelemetry/exporter-logs-otlp-grpc@0.223.0': + resolution: {integrity: sha512-O/ztY4A+NRi9bQm9Wlj9aCh2s1lbnkA8tcv+88crBMqas6YK8AnPvKXSms3Mn1nto4ylAIQAAxjtbzCMZjGvwg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-http@0.222.0': - resolution: {integrity: sha512-GqwLZohJTf/sttYlOpT1oFTJ9ScYaKnk0sOx4Qe/+KmXYVOa+v94cfnkUkFKDuvTODWhCL50Hz3gvsZD6ngQpg==} + '@opentelemetry/exporter-logs-otlp-http@0.223.0': + resolution: {integrity: sha512-YQh9+t/JmV9OeRkoLhPb4yvcrWCX6lAOmXFos/JKoD+KITZYZoxf0acnwAk6YDI9O7fX68O2ka38hx1G9exl8w==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-proto@0.222.0': - resolution: {integrity: sha512-LlCDJuaznfFPzjHoKXjN/r9T5pgCZpmVheZ/EmwMUhMvpxI7RXDmsdLXoYpl5suYQNkwyXAUZhVEXKe3lev8Hg==} + '@opentelemetry/exporter-logs-otlp-proto@0.223.0': + resolution: {integrity: sha512-wt33CkhmLfFDSRXNOABWQzVfks1PQvsRNIHqiY5Y5Hi6SiVF7iJYDTqpaUhbwcmyJYcB0LzBNvsic8GyufMxAA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-grpc@0.222.0': - resolution: {integrity: sha512-nPU2gpQWJfQttf+A71aLkKEOQoO6n6QGs5QTtPagi/rb3Lc1I55bqRXoLQEZsWqWimc8eas2Vo168NkTaByxQw==} + '@opentelemetry/exporter-metrics-otlp-grpc@0.223.0': + resolution: {integrity: sha512-QneYDf2PWYAqmikS1/jeG8xCv0Q2EOSBm0RRM7IFU9zEnKLu7qxdlsz9t3YjxiAo7XzqfjTsJZys5qhYZAQ2PQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-http@0.222.0': - resolution: {integrity: sha512-6Ko+0bgNP6V4G/RsmNBSk5lO1B/lo9z6tvLpFY3ykPPevXNzFmOW3C9hEmTt0zKCvHovyrol3TYlg4HVb5gwjg==} + '@opentelemetry/exporter-metrics-otlp-http@0.223.0': + resolution: {integrity: sha512-hNC8yai/+xCNyTuiOy6JFepXXA/sb/2jCzQRY7c2cUWz6owaidihlHUpO20B9/dj8JKPNo8rcn7ikTy7Cj+JaQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-proto@0.222.0': - resolution: {integrity: sha512-s1ZPwS8Ig7cpRmL3kCobPaFbemM81dJ03LNPrsuN32h3mCDvNF2NQ1pRHruOju0P0o1TZ24LkZA685rtQal1KA==} + '@opentelemetry/exporter-metrics-otlp-proto@0.223.0': + resolution: {integrity: sha512-DlwYBlqUVlAQqGXOES1K92b6FyHwB2phwcsccXEQhE9Mz1CAEymQgyRwbPKjCbpySZE1ASy2s9t2kIQ1pU/tmg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-prometheus@0.222.0': - resolution: {integrity: sha512-I7nalnnBZrhlTgjlqsVeEjJGcQCFK5kKAYVk7XTz/cbubvj5fvjLOal/Many0taHF2GIkOWmegsbQ8vbQJjhFg==} + '@opentelemetry/exporter-prometheus@0.223.0': + resolution: {integrity: sha512-HhbN3/B8vG+JNKH2oLMynFFrz2O/o+WFklfwiVq3ffdRWOEZx1zHeYe6r86fn9BUSpQ2U5cXfQja+otTdzi5qQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-grpc@0.222.0': - resolution: {integrity: sha512-uisilePEdOMa3hIfXW82XXU6FofF8gw3iv+PoboIMWEUBC7XbJB3XnIHSdrSDsqCw3njR/If08qD0yzOY1U9Sg==} + '@opentelemetry/exporter-trace-otlp-grpc@0.223.0': + resolution: {integrity: sha512-gYDt98a44cvdbJNL+fFCFO7k7qSGaWGZAb6WUXGCKL0RiRhF96N6jlH4wXMzS1daZoV5AMHZZixjaLpQBMhpvA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-http@0.222.0': - resolution: {integrity: sha512-RCnPWcHppwiquQ+cV3nWvNwdf0MG1w26e5jewW2T83nTZOlXgcg88sY9ulCVgagGHcq1mj0L0GP6YHgzk2v8oA==} + '@opentelemetry/exporter-trace-otlp-http@0.223.0': + resolution: {integrity: sha512-N8NWZaoQuF9e307S6xoVoI1lvxOOFkmBnynD42r02CPCfxoC95cJExAKBFrTD4C5iuhqthbzOZJN/W29ez4o/A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-proto@0.222.0': - resolution: {integrity: sha512-imLrLzNhnABJt3tUyT63h6MqfZrG3Gdv3TE7+OUQTvwD088RfCUx3rF01lcgfu2KXBFk13vwi0yKZLvFEalkIA==} + '@opentelemetry/exporter-trace-otlp-proto@0.223.0': + resolution: {integrity: sha512-hCFhPuROokNpwLibKmeMRuBNjPtbL+Ja5y/e/KBl5p3QcaH7xBjkj8roIGgKwCNJ4WChRLBzfoaNM3QksogfWw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-zipkin@2.11.0': - resolution: {integrity: sha512-mFibA45yXLEETIj+VcTVycFFe4R91iD41d+r3CU0f3DDWJCrICiHxUIjmYBTCZIuywXEeNo++2lncQeWnH7lWQ==} + '@opentelemetry/exporter-zipkin@2.12.0': + resolution: {integrity: sha512-XfHO6VxPkVD/QaXqgppdHK2DTqmtHLH06ggslhm5hVYAS+dwD3okaeIyhxXBbhmWn9HhCYcv285eK1TgyF0wYQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/instrumentation@0.222.0': - resolution: {integrity: sha512-fhbRDuAgzPKpq1k5+hX3uS+3QAYNca0on0Ngot/R8dDsQtuFaADeZnG2uSgxABuvcI7S2phAaRhbct9jieeKZw==} + '@opentelemetry/instrumentation@0.223.0': + resolution: {integrity: sha512-tttBo88TbwK1zpsH6VeJoxLQopxOjW3cnrP50fsQJRZftkSKDDwjolXXBvow2jy0LKXlNRkDQh0NT6yI/q+BEQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-exporter-base@0.222.0': - resolution: {integrity: sha512-YbywG3veEm2Fb6TbdxRkuquWob6eVWXuA8/Ba1tXz9jHfUqpdE3keilOHEtPboC4CvS1bjeeVfNkWGOOrLj+lw==} + '@opentelemetry/otlp-exporter-base@0.223.0': + resolution: {integrity: sha512-HlJMrJXjOqdQeoYNDHEvFTpaY2p9uWDK1GPl5AZ4wI5easzfoppTduOv47M8eiF+4ew42vfI/Xvt7THYgESnRw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-grpc-exporter-base@0.222.0': - resolution: {integrity: sha512-Kw5WqDBYYpCgY+edHWZS/Jp3bdguqNkCyEWOsqFhf8RmtcEuWYzPFA9i+L6UsNoJXTs8ngeQB6dwELH1czNYjA==} + '@opentelemetry/otlp-grpc-exporter-base@0.223.0': + resolution: {integrity: sha512-62DuT9qzwFEFPq1aguQ+P6cWC4sJPwMxCj8wZ3Q+mH8LpPcV6zdv5gj1YtGIGZF5FcKt9JnDVraey0CEnu9MtQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-transformer@0.222.0': - resolution: {integrity: sha512-/F3BZ89+CJQnZkMh2tCrtcdB+XT2Dxhj4FFE+WPQ//413hmFL0/RfEX6vgOIWGhiSzrkHWTK3+6SiT7K5/g/jQ==} + '@opentelemetry/otlp-transformer@0.223.0': + resolution: {integrity: sha512-oxmmPL5/MbSsO8K588V9n/XLIe7FZTK30Fo+/U/lAnt0ZIK/hoPM03n2WpSTZVbUBGTUE7aLyxnAzh7nE2PD4Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/propagator-b3@2.11.0': - resolution: {integrity: sha512-ldyRZXx6qsqu9Spqd7rVxo6SNAUJqP8Ir3vwIi4N8xyZLXNl/2XeQmIHvFneiVOqNwWkU+JGFg2O9/T1fefU0w==} + '@opentelemetry/propagator-b3@2.12.0': + resolution: {integrity: sha512-ktio0dVz2Uo83+EESOqMwqdJqoZKcf4EtmuG0mxddMKGbwN2Tignyq7JR9R7SBr1riwevitke+tpYQTMS/Fi0g==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/propagator-jaeger@2.11.0': - resolution: {integrity: sha512-RUOqgoIqXOPQTOhpBrs07Y8sBlxVoLY5Fka6ueZ0prW+k6fWQsba/nHDY4gm+gmfuwtRqbX5Y9YKhDvktjbIqQ==} + '@opentelemetry/propagator-jaeger@2.12.0': + resolution: {integrity: sha512-Kz2Vz+NILW7S1WtN4rV1wr76fMtT/RRWvAMFBc91uTIi2dDMXxrfBKNe2KH7yaCfFp1X0xfAuabzuFczvoPB6A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/resources@2.11.0': - resolution: {integrity: sha512-Ie7+8q8MDF4FAEQCKVMTx3ReUvxiIAgIiiW3c9JdmP8+HMcDy20puT+AHjexnExgnbvBxjQ9fjkFDWrikJ2jQA==} + '@opentelemetry/resources@2.12.0': + resolution: {integrity: sha512-+rSRoOdln6NhXTVcBdHSlZxJDNzwxadeweK2ltZO3tVtfp6aklABc06xclDk6ovRR+EiGgIcSbh/6NgjFhnb3A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-logs@0.222.0': - resolution: {integrity: sha512-+19YHODIjaUCArxleaJtuufFZVpz/xvvK+VllQqE+W8hHolxdoRwHfK/s667zezwh1hkx6FFF+oYzetYgqK+Bg==} + '@opentelemetry/sdk-logs@0.223.0': + resolution: {integrity: sha512-ApiAfUiUh6fmJt1GbsBuoeDn8D8IL42UvGyPUr8o1Z89ZeIiOCE1rZ78KkIUjEX3OV8Oorl9ez5Qjo43ZynDyw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-metrics@2.11.0': - resolution: {integrity: sha512-7GXXcObyHyDUUSG+L+kJoquty01bzm7ivE7+SSgXXJcHuPzGviptxwARmI2c+bnnxjexGQbJnyNlN8HxBP/Y7A==} + '@opentelemetry/sdk-metrics@2.12.0': + resolution: {integrity: sha512-mVMaEHwCUJuY3S4Esn+nT0yQA3qCEGh+SOPJsXygU0Gl453WcsDNjtEa8EfdewMwoLyr1tlofB4fXytVpiXuow==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' - '@opentelemetry/sdk-node@0.222.0': - resolution: {integrity: sha512-t8tlFN/ezYV7iI4k6u3t2jFbIReX99Z0iVMVSYLJscE4McxIW9YGHhdOldeY1elHeoq8mjEO4B9s4Fk7+zJbsg==} + '@opentelemetry/sdk-node@0.223.0': + resolution: {integrity: sha512-PPfkgVBB9XVdANmSYeGfp1tG6RdsRFo9m9R6/ZnjvE9+TYTEXO2KYarsdtXQTdHhLSw7yzhSHqsNyUQ6c6W3eg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.11.0': - resolution: {integrity: sha512-H19x/TX/LZdqiYOjM7fqtSxwlplC5pgelavqbQdHbhdq0q/AI/TGkM2dfGuuynTXmJPeF2HoZVoPDu+TGoW78A==} + '@opentelemetry/sdk-trace-base@2.12.0': + resolution: {integrity: sha512-JOERgZCxRM06FEJ5kEWxlSRChah6MmXDx3KwCruqEv/iEyLkTokCSemf2y1w8oIHtfrr8EVTpzebq/31vn2Cpg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-node@2.11.0': - resolution: {integrity: sha512-CuvCMJmZxswhNLlM2LfuLOW3h3fZujA4hsG4B+Sz4dX2zvaXO8Ng74cnDHWD64gLszTlhiG3c0iNUjj4g+0/sA==} + '@opentelemetry/sdk-trace-node@2.12.0': + resolution: {integrity: sha512-9DufH1IlmQMoKAfot5y/FhTP1RnmhLb5K6eKmJO/bvzPjYwPAazoiAUbTZFdPbqxOXN0FEbhZx/e6SB1Og4jmg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/sdk-trace-web@2.11.0': - resolution: {integrity: sha512-8hgLI437x8VRKzgUr+WRcHFp9AeaHmveKRsPIMNele9tethgCKprakRRqZCWyt41ilALHATfspUMl1An0OTMUQ==} + '@opentelemetry/sdk-trace-web@2.12.0': + resolution: {integrity: sha512-y0hCzbnBHScmioF0drJOyaPk1sQf2wwbIuy3rWlM0Fcx8mLfPDvFsQ7tJ+zMm8yAqI06rSlFKkL7ZpcrFOqAdQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/sdk-trace@2.11.0': - resolution: {integrity: sha512-fFnTqGm8/G73GQVnxYi7LXa1ZVYEUvgL6XI1LpvV0bPC7WQ/ZGgKxCSl8FnlZBKto9JHHEFTO6s6CUpvvtwFrA==} + '@opentelemetry/sdk-trace@2.12.0': + resolution: {integrity: sha512-ImVuRQ6faOsTi1Wna88s2avgrrf/iDgXPigIeynkUhjstMuoQUDOJXgkez2j1mlU4btjXcXBGa+q7qKFYR3GsA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -3474,6 +3787,12 @@ packages: cpu: [arm] os: [android] + '@oxc-parser/binding-android-arm-eabi@0.153.0': + resolution: {integrity: sha512-BcWu25dMwMjHpaDCEidmpAi7rGg1qZoihJeUUH9bD55pVZ0z4Wa5CQgqSTo0R41H81oozisQKW3WqvAN2m77IQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-parser/binding-android-arm64@0.147.0': resolution: {integrity: sha512-emjQHOYJaomo4ykaXQ1EItunr/I94Nk01oqBmU4dSkKSTupIDx6OysVDf2e8Eytm77rb+4ZxzgElyWP7rcEX7A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3486,6 +3805,12 @@ packages: cpu: [arm64] os: [android] + '@oxc-parser/binding-android-arm64@0.153.0': + resolution: {integrity: sha512-9l5rdp2DhRqVriBHsNpu5cEf+hizZ4B58rt93HzyQEBUgZiC6qe2oFpaAAnXGCxHGnQExI1s7S2G0QhFacUZ6w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxc-parser/binding-darwin-arm64@0.147.0': resolution: {integrity: sha512-kXvBPJL7RmDPJ2mze/vXPPVQimCDtFr9OFLjf7dyhV5Dx64cgcXh9KKrA1sMWvCObvJll9CZZUO0FBlFwD0l6A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3498,6 +3823,12 @@ packages: cpu: [arm64] os: [darwin] + '@oxc-parser/binding-darwin-arm64@0.153.0': + resolution: {integrity: sha512-EcpsyRXHhENDpekpG4QNaSZj2F/BAz4Gh4o89zZwNss86R8KyRSQ6sXbAj74Xyeb4z3j/yBZZ6joQZhraIWyfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-parser/binding-darwin-x64@0.147.0': resolution: {integrity: sha512-mgFF8pLU6R64LbT27lSrtVRspVC/3IcZ0qyIikzmi78Y3Ik2OPnlAHHI0UEBRcC3qmNgtjaef7zkFt7/uPxIcw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3510,6 +3841,12 @@ packages: cpu: [x64] os: [darwin] + '@oxc-parser/binding-darwin-x64@0.153.0': + resolution: {integrity: sha512-hlj80HUQy07/2lYp6rmxH+3u+H2ik3rjLR52CUdPApxmZCNxASDUf/+ykTzAHS/fehftmVMATKvPaWmuLHuasg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-parser/binding-freebsd-x64@0.147.0': resolution: {integrity: sha512-v38aiF11qufOTBcCAKL4skgQf0zJ4NEvRlivq7B5kHrlyvjCLjvNrMtNWDTz1SDUL6/xVsJRmLDxv2e+Cp4oWw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3522,6 +3859,12 @@ packages: cpu: [x64] os: [freebsd] + '@oxc-parser/binding-freebsd-x64@0.153.0': + resolution: {integrity: sha512-fWRcv2pMSh1qtez46MOu8vuUJ5fiaQZPHSphbWulbL7SHBMKfRgZl2PzjXZYQJbq7NEXyXbgIuIuUm+/Rmkv8w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-parser/binding-linux-arm-gnueabihf@0.147.0': resolution: {integrity: sha512-AeIiBbwUaP0H1+4/qGW9l5qHecS/+XA5iMuieVcGb1T+tyc2dVGspFW13BWk/XrLsiGP/CiDJTJqAPLLCzZHkw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3534,6 +3877,12 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-gnueabihf@0.153.0': + resolution: {integrity: sha512-paZeUK1GXShl/bOJQET1/8AQxayFeuN4SIWAkgTRxE7ZQwv9uYSB2n0648smygP22N7jcI3zxAm0Z+ALNiIKxg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.147.0': resolution: {integrity: sha512-/41MKPW4RgPY4DJco0NCF0RYX3IMZaVlRNMNzvhaxRavc7tN3Txm+qllZbh0aMRs0VHdgUlbI8TcAOiTai4TKg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3546,6 +3895,12 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.153.0': + resolution: {integrity: sha512-qFPp5NwMf4K1C0O+DCVGmcbOaYyYAq98Rvv9p4VSfb777iUwlJCqMUxf6QG9N5f5ls4TEX6LitOZHi+6GL6rYQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm64-gnu@0.147.0': resolution: {integrity: sha512-bmpw/RPhVXgZbtb3xBDuwW5s8+LvZYdqcDSX/sP2ltL77aTio3DP/B5ZTwwgoJ6Mr9vJs4RrmgEKW9XkLNUU1g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3560,6 +3915,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-arm64-gnu@0.153.0': + resolution: {integrity: sha512-oufEhZCX7saeo27Logra8cvBR1jQ/yw2zUI2hHmWw3qA/XYqEW31FOvLQBv7DWN32NjVdlcaP11WBBZTJo4k9g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-arm64-musl@0.147.0': resolution: {integrity: sha512-gd7VX/FDVOw6mjQcu45iIcp4QkgybgJwh3a0OFG2NxmPCj628mQWD96QGu1kK8+mZF9qK4b/gIEyC63vQoB7+Q==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3574,6 +3936,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-arm64-musl@0.153.0': + resolution: {integrity: sha512-zXYzuAqng85h6+LI3iRm0zeMLX1/K2z41ZAMWxVRgt0D10VvZUaV5q+TEB46KDhoKBpdexoTLC6QoB/EiP2oqQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-ppc64-gnu@0.147.0': resolution: {integrity: sha512-HnAzcfki7dSUNHf510Q2NmbJlz8Ys7rn8l9l588Pkx0tYe1BHLZnmELIgqizJ4WPhHGSwN8Ce+B/menVxS3odA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3588,6 +3957,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-ppc64-gnu@0.153.0': + resolution: {integrity: sha512-J7+NLwLEzdkKM9cKyPHH/AjXXstWOs98KYgLrPPnO4N9MO8EZRBfPNnBcS3S67uMOBkRpUmCl2FhRnWdQ5CbBA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.147.0': resolution: {integrity: sha512-qlkOL6wT44U+fT5s/+sR6Shx0OdwvQF83JyIPZUxG/ovqZF5/7atOtjH+JPZ5/7ATQLbFBBSmghcy/+2NVB/ew==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3602,6 +3978,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.153.0': + resolution: {integrity: sha512-sD0K11GQTLWylln54nPMMTtgmBbQrR5It/vMpZpy/fogiw8O2AvIE+9LuWUXddrWk9zvFIHGRcSgFn4IHOfoYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-riscv64-musl@0.147.0': resolution: {integrity: sha512-DlefD7L7sMXs/3hIBH23Egk0phj8kG0SA81dVGOQ3S1ekjOlmTLH2E+F2Thwfh1slKx6aH+lNc5fQYAw0GU7/g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3616,6 +3999,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-riscv64-musl@0.153.0': + resolution: {integrity: sha512-7L66uql2BhvSz51LwfExjOdn6et/ydTiQxl23VApdKzJhTc3TczA1Qt6VR/UcvlQrL2ZbytIJb447vh7p5wmUw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-s390x-gnu@0.147.0': resolution: {integrity: sha512-Xqpagk/031IvZ4svrk2FF01YEqM/iN3MJV3SVZadKg/CsGlDCGoREqKHXYnoV5+8SfGe/m6RM1szXFLusTu/Uw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3630,6 +4020,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-s390x-gnu@0.153.0': + resolution: {integrity: sha512-hXV3T7mNyrPR19rbPYkglkQJtoM/UNo/xwbZeeqdAxEg8PXgb4LXXuxPpGgI4bzRRCWwLUxdDSS58xIyC2u1TA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.147.0': resolution: {integrity: sha512-QioQOeUbI4ATUr0S2z88uA3Cds2R3Mm5Ge7U8XNYtlTb2GJF3rWlcj70z0AJhhOlbdm0YgVjqPBldUNbFylDIg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3644,6 +4041,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.153.0': + resolution: {integrity: sha512-Da8Vqs1xdtoDYtEjmozD7wGgJeLBQkMbR0WUBECOSxodyX5DXy8ySlvJWbukyO2Q0+TM9EK+4LT6tbq0jCg4hQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-x64-musl@0.147.0': resolution: {integrity: sha512-NXy1tv/OdC+pPTwf9RiCZWPK53V/Xq/2cjSnjOSyKopajdaDqMIkgtDY+jXZemp2e8px5FeWfY2L2LwhKZQovg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3658,6 +4062,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-x64-musl@0.153.0': + resolution: {integrity: sha512-zGAPxNTIIw6X5WyTRscIFE/oDjpdNtrrl32ing6NOXdGjzRucadnxBilexLdeYQ9YxixF93GujpXyQ0jw7ddSg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-openharmony-arm64@0.147.0': resolution: {integrity: sha512-GpGWZ6oKz4bjCWW9Mz5pCaGPyk2Aaze6zEoaslIQqpSLtpx5pXj/ap5gUNb5Jn2LIbqWyjkGLX9yv3NMuNcBVQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3670,6 +4081,12 @@ packages: cpu: [arm64] os: [openharmony] + '@oxc-parser/binding-openharmony-arm64@0.153.0': + resolution: {integrity: sha512-GoHzpqP5XyPIp9DHokoEdCp+K4UPl/h1neFj1uXnUB3pJYyOQ7NOhFVOttNUgCGcj2eywAvu5cRivTOSq4S10g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-parser/binding-win32-arm64-msvc@0.147.0': resolution: {integrity: sha512-a8mlt7CC8z7LUdCfaxhff4kCd+vSjE+NEFL0cxA8ukfuSnvAto/pWTjytW4BuVLnQGcCVdHJwcRKOfs++H+tjw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3682,6 +4099,12 @@ packages: cpu: [arm64] os: [win32] + '@oxc-parser/binding-win32-arm64-msvc@0.153.0': + resolution: {integrity: sha512-xGcy12tO9k7zFbeyQzEuilfWfQpyRq23/fLPfN3wjSWuWv58k46fQT1hsO1KFNykZuVGW9xSJE/z592TmAoSDA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.147.0': resolution: {integrity: sha512-M5ViVDBcFLnl2632AuuWuP35zEL5oikK1jTx8r3+902VEDeSNHxFZAB6RZyfZ7MU6Oi5QTOG8MmMkIeHsudSaw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3694,6 +4117,12 @@ packages: cpu: [ia32] os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.153.0': + resolution: {integrity: sha512-o1ykUjWncvXX6N5a4KebgLjtD8zRui+f1llMhSGoSC9oP2KOqapRpdwmZ3NcNG0axFouwVKmhGBjd+IhA8BksA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.147.0': resolution: {integrity: sha512-DUaE13OwnUSlHpLZNcC/nuT10ivlWqc5EZgsfgXuAmWYw0r3nDxGeLD1zlGwYwIgVk1/ZMAxoXpV+05stvbHaA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3706,6 +4135,12 @@ packages: cpu: [x64] os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.153.0': + resolution: {integrity: sha512-gxQz7G96Up136fd+2zWrP+o6FYGs9NO4Dyv55IoeJFJUDwLFHcLYY11hhA5wQKs0HoM57Q8esQ3nEVhnCdsjAQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-project/types@0.128.0': resolution: {integrity: sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==} @@ -3715,6 +4150,9 @@ packages: '@oxc-project/types@0.150.0': resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==} + '@oxc-project/types@0.153.0': + resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} cpu: [arm] @@ -4409,8 +4847,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.63.0': - resolution: {integrity: sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==} + '@playwright/test@1.64.0': + resolution: {integrity: sha512-oTN9FNYuN6bqQMwiho6jJKLCG2/QOYCixGXuCjRmzOq23eODeukuY2XiAVoVpAECbuezMt1MHQjAiQxK8F+Y+g==} engines: {node: '>=20'} hasBin: true @@ -4594,7 +5032,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0 '@types/babel__core': ^7.1.9 - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: '@types/babel__core': optional: true @@ -4605,7 +5043,7 @@ packages: resolution: {integrity: sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rollup: optional: true @@ -4614,7 +5052,7 @@ packages: resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rollup: optional: true @@ -4623,7 +5061,7 @@ packages: resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rollup: optional: true @@ -4632,7 +5070,7 @@ packages: resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rollup: optional: true @@ -4641,7 +5079,7 @@ packages: resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==} engines: {node: '>=20.0.0'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rollup: optional: true @@ -4650,146 +5088,146 @@ packages: resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.64.0': - resolution: {integrity: sha512-FLLpX941CD/7aBvX3GqLGBM9OvY5PGXTryPJkG5r5/OuBpZpV5k45Uo3RxAvqd35tsyc3hH1bhtz921IKzoIzg==} + '@rollup/rollup-android-arm-eabi@4.64.5': + resolution: {integrity: sha512-MrfgRQSpD5hkkRg6XI16B6EDLb+6+xp8xje6bpdSwkYw+qxrBKbUVrRAQu9h82UT+QumSIVQ8HXsXjPd2dlhqw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.64.0': - resolution: {integrity: sha512-iI32XM/jnDYJsvx5ai/za/7gWO9XoSeFFtU06/ZCaRgyilfJOjaopD3nOpk2WrTCGOyeDt4hleUiGOAnd5tHNg==} + '@rollup/rollup-android-arm64@4.64.5': + resolution: {integrity: sha512-+uu2p/R9Tzn8GpoQyX1pAo5dmKT1DhXevfaCzqzmPFhnLjHLWw7uWkaVGlxmhwYoRiYYhsGfRcD5cTBpL7rgSw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.64.0': - resolution: {integrity: sha512-dRBZlbt2sEtF8Mn4MODThze9fIPdDoOhVSlXMAKy5dQbOYK9pOOoPY4Fat3OTtr0+8zbJo5TTZwlsfxY/kDNJg==} + '@rollup/rollup-darwin-arm64@4.64.5': + resolution: {integrity: sha512-17dys+YEmzwzzFVHQAVDONg5FALXY9kd99HFEpfk4gJVHYxoh5bGea3D4t1fXXnwkTcOe25wPyd6nWS0I8IdLQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.64.0': - resolution: {integrity: sha512-Y3whrJOMucfkhgNkvcM93M6j8C53iEAMmPMYD99C6G1kUy4ELigLWk9ar2/4aCBSRgsql0zdlOemLgW2m5GZgQ==} + '@rollup/rollup-darwin-x64@4.64.5': + resolution: {integrity: sha512-wg0zQEKkEvFZf1UaaX1UELOoPs//OSKUG7D+yITuqOsAvza7LvHTv5Wu4nmMfzNG7EYI2jp2PJC7Id6OETmsYQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.64.0': - resolution: {integrity: sha512-S6S1GEzPjFF6IONYJX3AKt/799+8RgBgCcwRnUo+Ep1IvBxUbw5M51iU0TDdK2NWWVnSvCQ8yi6Em0fGASMOng==} + '@rollup/rollup-freebsd-arm64@4.64.5': + resolution: {integrity: sha512-CoJmWcpEMuwin+TZ/ev/H9uDyF/uxUKQSWXdmIPn/UBx/uGV9+4ebMp0FwnlhWR9PE1AdzYsKf3bZevhif38+A==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.64.0': - resolution: {integrity: sha512-Ed1DPoFENkXj4IGzSB12SesV40iP6LxCCrbTIkSGIQBpOOxpBM+0kj62lmaeIHfMWTDoddqTOtqc7s8LYfn+Pw==} + '@rollup/rollup-freebsd-x64@4.64.5': + resolution: {integrity: sha512-PxZnLAaTUAL5xG0W2BXLeYPKrK2b3LIASV2/e/Kf7PZvSLI1iAQIm9B9aJD+YyFIT7hc6qaMV3+OOO35R28LfA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.64.0': - resolution: {integrity: sha512-J/6xhutJPtFyIkmHdf4olOdHHKH5kOJNumojdWn+Elv5ICEYTVOa362Vw27TxsK0BLzb1le3EDlO3UbvFK1lnQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.64.5': + resolution: {integrity: sha512-uPo3IvnONjhbFXwWgroBeFwOicuhT7ZwQrnzkzmOtBJzeQbkUJUE1SJDfDI31ijQ5+ZUIA6sPrdUMxTSnxUWAg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.64.0': - resolution: {integrity: sha512-G4L/Nnx59d2LvDoV/P4S5lZ7oVLT6hodOHMacqjiq2LL2gts86KbkEBTYL53+fBt0odhf7XPIbIATGoYiJctxg==} + '@rollup/rollup-linux-arm-musleabihf@4.64.5': + resolution: {integrity: sha512-ywI8Jyuc4LyHYTjC0mw4yA1ulvZBkHusdpWnoiEBsmBuHvSnt90btTBGCZ+s/2y+YNNfVAEKy33nPo5UI9zTmg==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.64.0': - resolution: {integrity: sha512-zF16pvJDEUksGYRbfnXne7pdklAyj2XDmJeYKgP93oq0cUyX9Y8O7lUo1R+IY1GagP/YBvCEDCe7eEcAKpw//g==} + '@rollup/rollup-linux-arm64-gnu@4.64.5': + resolution: {integrity: sha512-tmuXJoQ/3ovSr637aykZMdQteU/CB2APAz2CrvsbibuoHZi1BS1Db13cVViBdEARGwXCLn1DSJ8wsjoThLJPGA==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.64.0': - resolution: {integrity: sha512-nIggWn8n+w12+R5lsV+PYYoUY8vuObxPAQqJI7WES+9v0qspYuAHoZMfYM0yLxlipasT5BY9ht5W8t5c/rSCkg==} + '@rollup/rollup-linux-arm64-musl@4.64.5': + resolution: {integrity: sha512-5FMjSYNcUOHx7oW8Qu9KB6jGPpvF/8sG7+BDHwU/Ihh1/6FMJ9ySmsFG4tJ1qbNRuP8OLzCBDso4sF0mQaLuFQ==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.64.0': - resolution: {integrity: sha512-WLOTiHPzszP0dxIMsHpFeDSOSB5I49Mj8K4+yKE3H1X/D0JRG5XZ5jrctJLMjnUc/LUzaKiwq6EHWNJ8pup8PA==} + '@rollup/rollup-linux-loong64-gnu@4.64.5': + resolution: {integrity: sha512-K8ZJ+neLDbUkIrL8dqF/5LtuVCrKwo27kREgOlxjBEjlOXwHvDnHLU8Z/UKv/B49qi7e8hsSDOyoJwhwqhvX4w==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.64.0': - resolution: {integrity: sha512-35RK9aRhh7g7Pmeu5gQ01aCvrhXzj9LoBE6xtUcEH1ns+nyTaSzxSpADmBQINu4QiTDGvmQYwo1j5hlg1rRXFw==} + '@rollup/rollup-linux-loong64-musl@4.64.5': + resolution: {integrity: sha512-NlVxsq7PFPv0DBKGuNWRDKixQYQCjM53zl04mxEcKMBmJbCBIUm1JdPfIWDRHyOOFzzYPmLQzfeEwh4716ayQg==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.64.0': - resolution: {integrity: sha512-RqTfnpoTjuWfPAmqK5p2edt2AMCDJWm6oTn7sKfmyx+6tRga0ip05SJ977o6udTcIiDeF/CJMUfkaN4gtWt6Aw==} + '@rollup/rollup-linux-ppc64-gnu@4.64.5': + resolution: {integrity: sha512-ARhRHJYs5eCFet5azfrHD97vOkD8OzNW2RSMlvo5CcBqXaTOLfp0OHDtUQh7/K5AL5fUYoFp2fgC9KDg4vVYMQ==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.64.0': - resolution: {integrity: sha512-RQjZPigjxFvFZDijG6rjlSXxhRaTf9zLYVpGK+lVcga64oMqP1GbgVqCb46eHTTceSIgp89Ja0y5aPe3GFBYHg==} + '@rollup/rollup-linux-ppc64-musl@4.64.5': + resolution: {integrity: sha512-atSgreM5C7jpxd9aEXN+6vJ5wTd05iYw+S3FiQpw7VsoEl8B90llbq35ARON+GOHj5QlVQEq2vOKWCHTob/BSQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.64.0': - resolution: {integrity: sha512-tjL58mgQcTRnDRpeky+Sth1MKQeYi2Ct6r3Luq9E5aTSjnM/i/JbozqZkKqp9thM5+oDSZxo+05f9kdQedfTGA==} + '@rollup/rollup-linux-riscv64-gnu@4.64.5': + resolution: {integrity: sha512-vmlmwBFGnjVWxSRoVabNkyYuscSmg52Pd0fM8jEbNT3Jmka4A6HcB84x4uAmuumznWfBVaxKOqU6jbEgomWKCA==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.64.0': - resolution: {integrity: sha512-ictoRyVaoZ8C67myHef+8hhCa6IplXJJ/xUCkVCxziV4zxMZh+jvhkhGsPBLqj1S72fnqD0QH5zL4lcaa4X7DQ==} + '@rollup/rollup-linux-riscv64-musl@4.64.5': + resolution: {integrity: sha512-hhJrP6S9WkbsbcHgUkvCBS5Cn8IdsG8XjlLZyxjnv9+NdoYfbbZE4TWJYr8apdaj1M5t5Y1id2StnEslxpNFyA==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.64.0': - resolution: {integrity: sha512-8aVvZ2hfr9RLFzBQkQNmYeHLDja8fLeQAmLt757zdKN/B+8L809KlLJKctQjS22wZotptV8G6o7fVPuAs8S1tQ==} + '@rollup/rollup-linux-s390x-gnu@4.64.5': + resolution: {integrity: sha512-NNVCyN9pGrwFmQa4bf+Cnf5aVH3g6ZpnlOg1Cs/H9swIHT9bRixijfzUqyEIWm1WtiAuR1LJ+rJH6zpBm8kgQA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.64.0': - resolution: {integrity: sha512-2dEF8GAcDKwshUfydD+GhosppNyBzhVUHkdFF3CXd3FpOkzj/RZzF5aoEtzklujklT5qFVRU2GK/cFeLaTNKVg==} + '@rollup/rollup-linux-x64-gnu@4.64.5': + resolution: {integrity: sha512-dR9nd6OKnvSS60Ifz/L7Mj5zzYyoqyRn2NwTuaOONKaa3xsVGXyp8YusMbvFyEOR94DxnwgcbgsFqkHd29ZSzQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.64.0': - resolution: {integrity: sha512-3XHTvoo2hKkh0MiOfS7SkhHjMaaWF7P4F3drocZZaho/Z8w7h/jpnuBHm91BOQLfvrKHs1yR+zir4E8RI3XzTQ==} + '@rollup/rollup-linux-x64-musl@4.64.5': + resolution: {integrity: sha512-1tzsMjaqhsh3bAO6SJiJqh8hIr9sSPRd+i2vPPxJHod8/XYnf9TEnK0z/u3r1z1AkI347X0KbRSg9dWcxeGahw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.64.0': - resolution: {integrity: sha512-HKtkzodL4a3KFWDXDoO61cRynAWTR3LnAE0oGtfG9lcNFpNuVYUFOByxDgNqEvic9rvaQbAj+SFwTEWDptRaIw==} + '@rollup/rollup-openbsd-x64@4.64.5': + resolution: {integrity: sha512-01mWMQblKoXXsmk28KXtpbA96w7g/aOWUoV3AC16fdHdqkykGalqyyM+5u8M7uP5/MEMiiPv69Hv7iv/hEH/dA==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.64.0': - resolution: {integrity: sha512-JBsxqiY16uyyCujtoC3s7zL+SrYyNElptD7K4V+KUoJ2V8/XG3hPWpheK+SuPwNh1cikJvIZmIdsrYXvD6PLJw==} + '@rollup/rollup-openharmony-arm64@4.64.5': + resolution: {integrity: sha512-trdnMPb/DNm4V/CgsaoGgr90HfQQ071wfK0KoIs4YpLvjBgVQGXhGabg2Z6nK4EcYNilrb9ZZPcsP6+zpJIdxQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.64.0': - resolution: {integrity: sha512-S5Qrijh37qhnUYQ0ay8WN3LuWeKjow7wTUyCOPMZtnXiBXYXdsZETI6ZLfYnQAKovltckPLBFdNeD61P2rJc7g==} + '@rollup/rollup-win32-arm64-msvc@4.64.5': + resolution: {integrity: sha512-x2LxZlfdfsw99T6/qb9EqE/Qi84JWzibjyOJyhJsgFJy6CafaTiqIXCCnslCGrV5XWNh7fwrS3FbRENcuKnooA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.64.0': - resolution: {integrity: sha512-zbZ6iMmLFEsCtTdc2/y1F/cDFVNNCPF7Ae8PCT/wdPE//hGwYp6r+MyCLMFX+kOeIe09Pz6ASfnnfpSTN1FJQQ==} + '@rollup/rollup-win32-ia32-msvc@4.64.5': + resolution: {integrity: sha512-/Qd/9aDQIo0+jmItgBmPIs8195YVbDxRRApn47GyufgbutCDOh7eP5vSKKlI4QNFeaI+wKQAkSMsPnF3EuMpaA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.64.0': - resolution: {integrity: sha512-L6Hw69oNpuYaOr1zCG30v0/DqKYCSRwodPGwIcVZ/6f8SOzq9rxtL/xNVI5MO4wjli+Ko0ErK9uHJL3mNPt8wQ==} + '@rollup/rollup-win32-x64-gnu@4.64.5': + resolution: {integrity: sha512-ngUJ/XvOWrqbd2IMsfXfh2xXFLTP3sY7sCKvxbGvYdBZ1KmXFd3ewDZ9n3/GNzAUgzRuhLT/UvJRivbNoAQRBw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.64.0': - resolution: {integrity: sha512-nl+CTWIgOGszQmUz/kanfgrfFZ4qiwxKIfT/ryl3N3Ewk5tqizmYtNXiqb7Bu/fDtNgu1kyxdFiAUJNur3iysg==} + '@rollup/rollup-win32-x64-msvc@4.64.5': + resolution: {integrity: sha512-IhV6ew/DuzUWwHaYmlh7MrPCV3lKFUq/amTEwysi4r/mwNPAEfAMh5dYWeTSPTeMy2pFHGMEWYtPkHzfX3tG5A==} cpu: [x64] os: [win32] @@ -5194,8 +5632,8 @@ packages: '@types/natural-compare@1.4.3': resolution: {integrity: sha512-XCAxy+Gg6+S6VagwzcknnvCKujj/bVv1q+GFuCrFEelqaZPqJoC+FeXLwc2dp+oLP7qDZQ4ZfQiTJQ9sIUmlLw==} - '@types/node@24.19.1': - resolution: {integrity: sha512-aS3/DG0oM05K0RIXXP+hKjinGG5IgSSVGzswZxW3O0sS3pH4/fycXundUC9XsszgKCk4gHXylTEK6hyFxVxnoQ==} + '@types/node@24.19.2': + resolution: {integrity: sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==} '@types/picomatch@4.0.3': resolution: {integrity: sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==} @@ -5324,7 +5762,7 @@ packages: resolution: {integrity: sha512-Ii1srTmJ1kF3yHdt1vdIiYID4cAeaxooSQJ1LIWLxy0Xr2/QVXKlcxp9KdXti8nfrmPcx3oWYDa92sEHVxIpgQ==} peerDependencies: rolldown: ^1.0.0 - rollup: ^4.64.0 + rollup: ^4.64.5 peerDependenciesMeta: rolldown: optional: true @@ -5371,13 +5809,13 @@ packages: peerDependencies: vite: 8.0.11 - '@vitejs/plugin-react@6.1.1': - resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 - oxc-transform-react: ^0.145.0 + oxc-transform-react: ^0.152.0 vite: 8.0.11 peerDependenciesMeta: '@rolldown/plugin-babel': @@ -5387,12 +5825,12 @@ packages: oxc-transform-react: optional: true - '@vitejs/plugin-vue@6.0.9': - resolution: {integrity: sha512-rD/MORlhaZMlXWW0rEn4FB4wMinWC0z/D7Ye160S5+Rs1mC8ZDAdcDp4SjKfUhG5t8q1ktcPVw4xuTkPRlzrSA==} + '@vitejs/plugin-vue@6.0.10': + resolution: {integrity: sha512-b80aUQh3n+qEzzZm5oQp3rT2QImeCx58K6eFl/RkJ3d65KW0kTuv5lNsLRVAjbW9YRUpo/wzmvzMgV34bTAItA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: 8.0.11 - vue: ^3.2.25 + vue: ^3.2.25 || ^3.6.0-rc.10 '@vitejs/test-dep-virtual@file:test/e2e/deps/test-dep-virtual': resolution: {directory: test/e2e/deps/test-dep-virtual, type: directory} @@ -5511,8 +5949,8 @@ packages: '@vue/language-core@3.3.11': resolution: {integrity: sha512-QJmpliwAVpC/OxubIByPAhNzsQPRc8/gxlN2qnVzVfIMjMDz/9RnXRFoetjz5yEgXVXyp4LqhXq3V53PjmNzFw==} - '@vue/language-core@3.3.12': - resolution: {integrity: sha512-k7uIKR0n4CBidk233y7cac9osnDQ5WRidTl6nsrNvpZ3nf8cx9iJxRVsRzVsoPRHbowT/iKgGMTS9RGov3jeIA==} + '@vue/language-core@3.3.13': + resolution: {integrity: sha512-axA0Xemn5LuUKuKWob0/kVq7xQ2mJJM6VqA9Exvt35nM9yRC31goWVve/G/Zb2ZCLsXC8FHYjjfXlnshknSCew==} '@vue/reactivity@3.5.43': resolution: {integrity: sha512-G/c9GyOZNI2jVaaS6OX1EF1SSFSv7H0ERqNTl4+DTFMlZmB5eVAB53aLQNam/7NL2NPtaDD7RdVrzf8uJzMuOA==} @@ -5780,6 +6218,10 @@ packages: resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} engines: {node: '>=20.19.0'} + ast-kit@3.0.0: + resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} + engines: {node: ^22.18.0 || >=24.11.0} + ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -5787,9 +6229,9 @@ packages: ast-v8-to-istanbul@1.0.7: resolution: {integrity: sha512-kFL68AG6ajd8fg248zwM9GQrUWEp79gsmjum34OEXjs4yHuUMZfYKwOLW9GMmB4oNvVrj+EAGxsP7ye2UR9UlA==} - ast-walker-scope@0.9.0: - resolution: {integrity: sha512-IJdzo2vLiElBxKzwS36VsCue/62d6IdWjnPB2v3nuPKeWGynp6FF/CYoLa5i/3jXH/z97ZDdsXz6abpgM6w07A==} - engines: {node: '>=20.19.0'} + ast-walker-scope@0.10.0: + resolution: {integrity: sha512-KzvoxDfXNz2Gm8KYLh47K3qcY3Zza3WKOuh2xoqa7LBu6MDKWAZLovJtU9DuAd/Er+rhQHCRn619lHS5U+qmhw==} + engines: {node: ^22.18.0 || >=24.11.0} async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} @@ -6078,6 +6520,9 @@ packages: cjs-module-lexer@2.2.1: resolution: {integrity: sha512-Ca8swihM+/4yKecYHY52kgJd300hi2lADU/a1RxNTRe+RJ9jvqQlESpbz9DnG9mowez8qwXHB8qYdIUw9e+F5Q==} + cjs-module-lexer@2.3.0: + resolution: {integrity: sha512-lmNyBzi6iYiqyrExTctfmjd8tInx+dHu9PBomTfH5RXS53c27JMFJgzNv5TyAnm3PgGf+MLy0+Ws41/HlVxdKQ==} + cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -6158,6 +6603,9 @@ packages: confbox@0.2.4: resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} + confbox@0.3.1: + resolution: {integrity: sha512-cKUSoKa8YxFZZSmraVi7onONx3amu77ngK3kGpsYHDH7drPwCRkQE1RYMPlLRrMtnciRj274XNRxcHxnKmDSnA==} + config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -6607,6 +7055,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -6824,9 +7277,9 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - formatly@0.7.0: - resolution: {integrity: sha512-7CXJtIIA0zy/u12StsYk25qVKxvdLA2ep2sTNxK3ov0mGNIIDqIvAXDSgTnAfDJFsPfWjuz0WjfYSdpvnLA5Tg==} - engines: {node: '>=18.3.0'} + formatly@0.11.4: + resolution: {integrity: sha512-TeCC10lP8KCgoX+Fe5lryILIT0/Dy+nP0OSVnsuB5CwXoLuOdqxCYlPFF1inR8S/zTy1ec7TjhS2TeRKWzzImA==} + engines: {node: '>=18.14.0'} hasBin: true formidable@3.5.4: @@ -6997,8 +7450,8 @@ packages: handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - happy-dom@20.14.5: - resolution: {integrity: sha512-x/RzkpWO40bTjIoT30iQtt64FLLmH/iRcUCN2X//bLx7H3ifkdfPXyqsro/OYtqzIAhiLMMA7mmiOR9C3NOKjQ==} + happy-dom@20.14.6: + resolution: {integrity: sha512-5DDsf4QmEIlRL6NkCv/fxSjYHHkZceL/IaYQdJc2h3G7DRTEai++VTjbfL0LB9geW2VrA3+vrjF3Efx+OTtX0Q==} engines: {node: '>=20.0.0'} has-bigints@1.1.0: @@ -7427,8 +7880,8 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - knip@6.39.0: - resolution: {integrity: sha512-Y7g6Ve1ATMox1u1v+gx3z9LTlvzVLTJISm/LVn9TgBU4qc7OoC63AWGO8qCFPVDDdaqlYdXkDDvvO1METBfTRw==} + knip@6.41.0: + resolution: {integrity: sha512-DrhQlIuV6xScd5Q+WTF1znd1w41QzxFGCtAHXCajsH/ndGMotHoNYbdXbuFtzW3mIOmniHtZ7zCtvnQkUmJtQQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -7695,6 +8148,9 @@ packages: magic-string@1.4.2: resolution: {integrity: sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==} + magic-string@1.4.3: + resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} + magicast@0.5.5: resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} @@ -7890,8 +8346,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - miniflare@5.20261001.0-alpha: - resolution: {integrity: sha512-GaimS5mSIOMyvd16ga+e1/QkI8cmp3z35QPHFex0DktqNQf2RVZQwMPQXdyoUreUiFP/0Gpe2MoQInTyMAD5xA==} + miniflare@5.20261006.1-alpha: + resolution: {integrity: sha512-6ylv8tamkrspDI2R/cAYfv+YWmfGNdXe76Pi9TauEUWsFVXn3LNF9Yk8oduzf1a+TYsSRYTqlOE7+nGGRsMHdw==} engines: {node: '>=22.0.0'} minimalistic-assert@1.0.1: @@ -7966,8 +8422,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@3.0.2: - resolution: {integrity: sha512-/74rddlgCmlHvrXUkuYKoUjDJTiP4Nrz2uyIpOTLtxJNCS+2yY+DlLfzzRUc61cvRjCo6Jvi2+vRNZyZQa1j4A==} + msw@3.0.3: + resolution: {integrity: sha512-hsXUCt2gK12q1IUBY9VmMun+yC60eEpVzegAFN5aGZbXhrGqtgPARVWn2ew4mezYvk1G8yhFha9myGSyRyRGWg==} engines: {node: '>=22.12.0'} hasBin: true peerDependencies: @@ -8029,9 +8485,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - nostics@1.2.0: - resolution: {integrity: sha512-FGqEfhQjrvo1lL8KFifdTQiNwwQHJxC1jtYE1Rc54qF/jxONUNL+kC9gS1krX8Q65PgrQ5fCqH/I4NhWBvdSqg==} - nostics@1.3.0: resolution: {integrity: sha512-wzRsrJwNlFbqIRQt8aCeL2WE8USip/uuvGSOZV1D02CxX8ABTMbw8IywKjH7yWHETMXbWJI4OBpihg9rmz2Vyg==} @@ -8137,6 +8590,10 @@ packages: resolution: {integrity: sha512-zwajKw1GUa57IOdafIS7/yOObGF2NihwIfZfs5yJTRprMSkiwhWOc/k+n8bwnUPbHr2/XsjfBO8KyTPaW3VpWg==} engines: {node: ^20.19.0 || >=22.12.0} + oxc-parser@0.153.0: + resolution: {integrity: sha512-cEnpyyV1OJRXv++SFNw0z8i+2o/cr88rVLaOYJafELDoHM5yHvCAbwGRLvxuany6SNLcbblSMUyZaGzH+quSYg==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-resolver@11.24.2: resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} @@ -8294,13 +8751,13 @@ packages: pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - playwright-core@1.63.0: - resolution: {integrity: sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==} + playwright-core@1.64.0: + resolution: {integrity: sha512-T9r+MZkTECl2+oUcZ26YgZzTrYidTsIhYYkJix+6iDOymOb1FB2RLLSOxRGnZGv5DStt+aduIVbt+E8WygXYpg==} engines: {node: '>=20'} hasBin: true - playwright@1.63.0: - resolution: {integrity: sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==} + playwright@1.64.0: + resolution: {integrity: sha512-kVzTnYFYEyQ9RGzBjNCd2+yEqWmVbxl3AHPynv3qQ6JTjv4a+kwRcnqQwIpuP3NnrnIrE/Q6wWAIAvMfIE2/Yg==} engines: {node: '>=20'} hasBin: true @@ -8604,7 +9061,7 @@ packages: engines: {node: '>=20'} peerDependencies: '@typescript/typescript6': ^6 - rollup: ^4.64.0 + rollup: ^4.64.5 typescript: ^4.5 || ^5 || ^6 || ^7 peerDependenciesMeta: '@typescript/typescript6': @@ -8614,10 +9071,10 @@ packages: resolution: {integrity: sha512-FcGXUbAmPvRSLxjVdjp/r/MUtKBlttVQd+ApUyvKfREnsoAfAZA6Ic2fE1Tz4RL0f9XqEQU9UIRNUMdtQtliDw==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.64.0 + rollup: ^4.64.5 - rollup@4.64.0: - resolution: {integrity: sha512-gjA/kFeDfffII8COoPsvLPvE16hWDTEc1+0QKQNKUkuV8iJjqsC4xXs8/FzuL0v9EV39kuxTbAgcFoTRyy2TGQ==} + rollup@4.64.5: + resolution: {integrity: sha512-EAP5ZHcz2ijbgCWwPkpI7zh6bfsri2Ez5FtCy2dCp1k62duXzfG7DLGGh7RU2QQXWwavT+u4qpvDF/TWOiiGTw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -8870,6 +9327,15 @@ packages: '@types/node': optional: true + sharp@0.35.5: + resolution: {integrity: sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -8930,8 +9396,8 @@ packages: resolution: {integrity: sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==} engines: {node: '>=20.0.0'} - smol-toml@1.8.0: - resolution: {integrity: sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==} + smol-toml@1.9.1: + resolution: {integrity: sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==} engines: {node: '>= 18'} socks-proxy-agent@8.0.5: @@ -9224,8 +9690,8 @@ packages: resolution: {integrity: sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ==} engines: {node: '>=20'} - tinybench@6.2.0: - resolution: {integrity: sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==} + tinybench@6.2.2: + resolution: {integrity: sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==} engines: {node: '>=20.0.0'} tinyexec@1.3.0: @@ -9404,8 +9870,8 @@ packages: engines: {node: '>=0.8.0'} hasBin: true - unbash@4.0.12: - resolution: {integrity: sha512-PnKvRX+Fbxl/usVlTr/31tXIOVAH+8OdC9qaxUQcvurwEnoc3Vk/ipi2Ce8IjMxzK9byfSGdsUBjqqJGc1o5lw==} + unbash@5.0.0: + resolution: {integrity: sha512-RYNm/ISFtflWpIcXTPHHLJZ0mqzInav+L9ke9PcL+hHsSf9+Fd/syPb614Mlqs/O3AYgjnvxDOFl0a+zVqi1/w==} engines: {node: '>=14'} unbox-primitive@1.1.0: @@ -9549,7 +10015,7 @@ packages: bun-types-no-globals: '*' esbuild: '*' rolldown: '*' - rollup: ^4.64.0 + rollup: ^4.64.5 unloader: '*' vite: 8.0.11 webpack: '*' @@ -9583,7 +10049,7 @@ packages: bun-types-no-globals: '*' esbuild: '*' rolldown: '*' - rollup: ^4.64.0 + rollup: ^4.64.5 unloader: '*' vite: 8.0.11 webpack: '*' @@ -9650,14 +10116,14 @@ packages: vecti@3.2.0: resolution: {integrity: sha512-0jhBkPuUe/lOxVUaG4RcktMQXp9bFr55aWn8R7L5W9v0spzwIGwtg1WcCiTTNKxerudQW6zBhDQBHubuwsXOeA==} - verkit@0.3.2: - resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} - engines: {node: '>=18.12.0'} - verkit@0.4.1: resolution: {integrity: sha512-mMVzj0TXExtVdlDEq+Mzp0eyOuyznNpFobNM3uAqe3HVm/Ps2c+u17BligMkZjZCA6EiXpoon8iRTer3iu40SQ==} engines: {node: '>=18.12.0'} + verkit@0.5.0: + resolution: {integrity: sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==} + engines: {node: '>=18.12.0'} + vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} @@ -9681,7 +10147,7 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@vitejs/devtools': ^0.1.18 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' @@ -9719,8 +10185,8 @@ packages: yaml: optional: true - vitepress-plugin-group-icons@1.7.6: - resolution: {integrity: sha512-fXSpQAYHpFpEsZLKWQAwbRx/+0uRSHmY58YNAQcz0AVirGsM6w22jtSmQhOGLEj8ZKyeRtTJrpx6otUI6wvoaQ==} + vitepress-plugin-group-icons@1.7.7: + resolution: {integrity: sha512-bRTsUoSfAzH+LupakaeDWc4dECuFSdSjTHdfjJ/PW8pTOdpSEZjGfq4H0dYDcrK6zEsGlO+rRiZXr9WEPGWsPQ==} peerDependencies: vite: 8.0.11 peerDependenciesMeta: @@ -9798,8 +10264,8 @@ packages: '@vue/composition-api': optional: true - vue-router@5.3.1: - resolution: {integrity: sha512-GDBZzgmILxA/kFnkFbJjQZdZ2QQbngnIMMuoUcjhZIfH1RGMaPjPwX5ASnV38qamuA9uhO0RDjSBHTDNG2uXyQ==} + vue-router@5.4.0: + resolution: {integrity: sha512-pFvcYcxinDHjZUlf7AzFBrT8r8Xqvv4uMHoJnjc+EqPawXQvHTkF8S4tfSmQLpriVHUGfkaKlI7Et0KRjTMTdw==} peerDependencies: '@pinia/colada': '>=0.21.2' '@vue/compiler-sfc': ^3.5.34 || ^4.0.0 @@ -9816,8 +10282,8 @@ packages: vite: optional: true - vue-tsc@3.3.12: - resolution: {integrity: sha512-kbpaz18O9jPVkXVHD1BEjpUXM6WhXSu+62L1sGGr6Wbzd8GbvkBQWjoj3KZ/C0aq2MZllce7UdtWzwCIYsBMGA==} + vue-tsc@3.3.13: + resolution: {integrity: sha512-jE4/bXdOMSHVxEGgQCqNllJy+9N3Gx6tfSAsg0yhFK/MAN6eXqISihupnDEKSCt12VVnjN2gI3AqLYcqoh5x/A==} hasBin: true peerDependencies: typescript: '>=5.0.0' @@ -9982,17 +10448,17 @@ packages: workbox-window@7.4.1: resolution: {integrity: sha512-notZDH2u8VXaqyuD7xaqIfEFi6SRM4SUSd7ewe9PDsVqADuepxX2ZMY3uvuZGxzY5ZOsGC/vD3A/3smFtJt4/A==} - workerd@1.20261001.1: - resolution: {integrity: sha512-d/SIYHFO0PT/wiFZg8in4NpRIxYuFwslX1HdylOtWkBIIUmSpkGFhK820cV84XACFylwJ48xuRoWW/8DWDPsPQ==} + workerd@1.20261006.1: + resolution: {integrity: sha512-8MadBuffZ5NdpLwZjUmsqT5QlaKXq4gjgT6wzcKeynZTICNXyePhc+5QVoKiK7+MMhFTLNrRO2KXLlpk8Q6BkA==} engines: {node: '>=16'} hasBin: true - wrangler@4.147.0: - resolution: {integrity: sha512-pQYRoiq8PTAxphaG69z8+GC1DkSGd19EDZehQ8zxjo/Ko3mRB6Qs1mTrd8ZuKAarLklIjTqr1lUdCK9r4q2hUg==} + wrangler@4.149.0: + resolution: {integrity: sha512-OzK7xmB5r5iLKb3cIT3783g13fe6T7xyeKu9LEdUyl+DKAM2KP/jkjnE0OUhyw+mB/XJM9ycjgF3MWm8PR9amg==} engines: {node: '>=22.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^5.20261001.1 + '@cloudflare/workers-types': ^5.20261006.1 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -10112,8 +10578,8 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod@4.4.3: - resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zod@4.6.5: + resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} zone.js@0.15.1: resolution: {integrity: sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==} @@ -10137,11 +10603,6 @@ snapshots: '@ansi-tools/parser@1.0.15': {} - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.8.0 - tinyexec: 1.3.0 - '@antfu/install-pkg@2.0.1': dependencies: package-manager-detector: 1.8.0 @@ -10241,15 +10702,15 @@ snapshots: obug: 2.1.4 semver: 7.8.5 - '@babel/core@8.0.6': + '@babel/core@8.0.7': dependencies: '@babel/code-frame': 8.0.6 '@babel/generator': 8.0.6 - '@babel/helper-compilation-targets': 8.0.6 - '@babel/helpers': 8.0.5 - '@babel/parser': 8.0.6 + '@babel/helper-compilation-targets': 8.0.7 + '@babel/helpers': 8.0.7 + '@babel/parser': 8.0.7 '@babel/template': 8.0.0 - '@babel/traverse': 8.0.6 + '@babel/traverse': 8.0.7 '@babel/types': 8.0.6 '@types/gensync': 1.0.5 convert-source-map: 2.0.0 @@ -10257,8 +10718,8 @@ snapshots: gensync: 1.0.0-beta.2 import-meta-resolve: 4.2.0 json5: 2.2.3 - obug: 2.1.4 - verkit: 0.3.2 + obug: 3.0.0 + verkit: 0.5.0 '@babel/generator@7.29.7': dependencies: @@ -10310,13 +10771,13 @@ snapshots: lru-cache: 11.5.3 semver: 7.8.5 - '@babel/helper-compilation-targets@8.0.6': + '@babel/helper-compilation-targets@8.0.7': dependencies: '@babel/compat-data': 8.0.5 '@babel/helper-validator-option': 8.0.0 browserslist: 4.28.7 flru: 1.0.2 - verkit: 0.3.2 + verkit: 0.5.0 '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: @@ -10331,13 +10792,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@8.0.1(@babel/core@8.0.6)': + '@babel/helper-create-class-features-plugin@8.0.1(@babel/core@8.0.7)': dependencies: - '@babel/core': 8.0.6 + '@babel/core': 8.0.7 '@babel/helper-annotate-as-pure': 8.0.0 '@babel/helper-member-expression-to-functions': 8.0.0 '@babel/helper-optimise-call-expression': 8.0.0 - '@babel/helper-replace-supers': 8.0.1(@babel/core@8.0.6) + '@babel/helper-replace-supers': 8.0.1(@babel/core@8.0.7) '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 '@babel/traverse': 8.0.4 semver: 7.8.5 @@ -10404,9 +10865,9 @@ snapshots: '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helper-plugin-utils@8.0.1(@babel/core@8.0.6)': + '@babel/helper-plugin-utils@8.0.1(@babel/core@8.0.7)': dependencies: - '@babel/core': 8.0.6 + '@babel/core': 8.0.7 '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: @@ -10426,9 +10887,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@8.0.1(@babel/core@8.0.6)': + '@babel/helper-replace-supers@8.0.1(@babel/core@8.0.7)': dependencies: - '@babel/core': 8.0.6 + '@babel/core': 8.0.7 '@babel/helper-member-expression-to-functions': 8.0.0 '@babel/helper-optimise-call-expression': 8.0.0 '@babel/traverse': 8.0.4 @@ -10479,7 +10940,7 @@ snapshots: '@babel/template': 8.0.0 '@babel/types': 8.0.4 - '@babel/helpers@8.0.5': + '@babel/helpers@8.0.7': dependencies: '@babel/template': 8.0.0 '@babel/types': 8.0.6 @@ -10496,6 +10957,10 @@ snapshots: dependencies: '@babel/types': 8.0.6 + '@babel/parser@8.0.7': + dependencies: + '@babel/types': 8.0.6 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) @@ -10539,21 +11004,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@8.0.2(@babel/core@8.0.6)': + '@babel/plugin-proposal-decorators@8.0.2(@babel/core@8.0.7)': dependencies: - '@babel/core': 8.0.6 - '@babel/helper-create-class-features-plugin': 8.0.1(@babel/core@8.0.6) - '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.6) - '@babel/plugin-syntax-decorators': 8.0.1(@babel/core@8.0.6) + '@babel/core': 8.0.7 + '@babel/helper-create-class-features-plugin': 8.0.1(@babel/core@8.0.7) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.7) + '@babel/plugin-syntax-decorators': 8.0.1(@babel/core@8.0.7) '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) - '@babel/plugin-syntax-decorators@8.0.1(@babel/core@8.0.6)': + '@babel/plugin-syntax-decorators@8.0.1(@babel/core@8.0.7)': dependencies: - '@babel/core': 8.0.6 - '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.6) + '@babel/core': 8.0.7 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.7) '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: @@ -11024,15 +11489,15 @@ snapshots: '@babel/types': 8.0.4 obug: 2.1.4 - '@babel/traverse@8.0.6': + '@babel/traverse@8.0.7': dependencies: '@babel/code-frame': 8.0.6 '@babel/generator': 8.0.6 '@babel/helper-globals': 8.0.6 - '@babel/parser': 8.0.6 + '@babel/parser': 8.0.7 '@babel/template': 8.0.0 '@babel/types': 8.0.6 - obug: 2.1.4 + obug: 3.0.0 '@babel/types@7.29.8': dependencies: @@ -11069,25 +11534,25 @@ snapshots: '@cloudflare/kv-asset-handler@0.5.0': {} - '@cloudflare/unenv-preset@2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261001.1)': + '@cloudflare/unenv-preset@2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261006.1)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20261001.1 + workerd: 1.20261006.1 - '@cloudflare/workerd-darwin-64@1.20261001.1': + '@cloudflare/workerd-darwin-64@1.20261006.1': optional: true - '@cloudflare/workerd-darwin-arm64@1.20261001.1': + '@cloudflare/workerd-darwin-arm64@1.20261006.1': optional: true - '@cloudflare/workerd-linux-64@1.20261001.1': + '@cloudflare/workerd-linux-64@1.20261006.1': optional: true - '@cloudflare/workerd-linux-arm64@1.20261001.1': + '@cloudflare/workerd-linux-arm64@1.20261006.1': optional: true - '@cloudflare/workerd-windows-64@1.20261001.1': + '@cloudflare/workerd-windows-64@1.20261006.1': optional: true '@cspotcode/source-map-support@0.8.1': @@ -11176,81 +11641,159 @@ snapshots: '@esbuild/aix-ppc64@0.28.1': optional: true + '@esbuild/aix-ppc64@0.28.2': + optional: true + '@esbuild/android-arm64@0.28.1': optional: true + '@esbuild/android-arm64@0.28.2': + optional: true + '@esbuild/android-arm@0.28.1': optional: true + '@esbuild/android-arm@0.28.2': + optional: true + '@esbuild/android-x64@0.28.1': optional: true + '@esbuild/android-x64@0.28.2': + optional: true + '@esbuild/darwin-arm64@0.28.1': optional: true + '@esbuild/darwin-arm64@0.28.2': + optional: true + '@esbuild/darwin-x64@0.28.1': optional: true + '@esbuild/darwin-x64@0.28.2': + optional: true + '@esbuild/freebsd-arm64@0.28.1': optional: true + '@esbuild/freebsd-arm64@0.28.2': + optional: true + '@esbuild/freebsd-x64@0.28.1': optional: true + '@esbuild/freebsd-x64@0.28.2': + optional: true + '@esbuild/linux-arm64@0.28.1': optional: true + '@esbuild/linux-arm64@0.28.2': + optional: true + '@esbuild/linux-arm@0.28.1': optional: true + '@esbuild/linux-arm@0.28.2': + optional: true + '@esbuild/linux-ia32@0.28.1': optional: true + '@esbuild/linux-ia32@0.28.2': + optional: true + '@esbuild/linux-loong64@0.28.1': optional: true + '@esbuild/linux-loong64@0.28.2': + optional: true + '@esbuild/linux-mips64el@0.28.1': optional: true + '@esbuild/linux-mips64el@0.28.2': + optional: true + '@esbuild/linux-ppc64@0.28.1': optional: true + '@esbuild/linux-ppc64@0.28.2': + optional: true + '@esbuild/linux-riscv64@0.28.1': optional: true + '@esbuild/linux-riscv64@0.28.2': + optional: true + '@esbuild/linux-s390x@0.28.1': optional: true + '@esbuild/linux-s390x@0.28.2': + optional: true + '@esbuild/linux-x64@0.28.1': optional: true + '@esbuild/linux-x64@0.28.2': + optional: true + '@esbuild/netbsd-arm64@0.28.1': optional: true + '@esbuild/netbsd-arm64@0.28.2': + optional: true + '@esbuild/netbsd-x64@0.28.1': optional: true + '@esbuild/netbsd-x64@0.28.2': + optional: true + '@esbuild/openbsd-arm64@0.28.1': optional: true + '@esbuild/openbsd-arm64@0.28.2': + optional: true + '@esbuild/openbsd-x64@0.28.1': optional: true + '@esbuild/openbsd-x64@0.28.2': + optional: true + '@esbuild/openharmony-arm64@0.28.1': optional: true + '@esbuild/openharmony-arm64@0.28.2': + optional: true + '@esbuild/sunos-x64@0.28.1': optional: true + '@esbuild/sunos-x64@0.28.2': + optional: true + '@esbuild/win32-arm64@0.28.1': optional: true + '@esbuild/win32-arm64@0.28.2': + optional: true + '@esbuild/win32-ia32@0.28.1': optional: true + '@esbuild/win32-ia32@0.28.2': + optional: true + '@esbuild/win32-x64@0.28.1': optional: true + '@esbuild/win32-x64@0.28.2': + optional: true + '@exodus/bytes@1.16.0(@noble/hashes@1.8.0)': optionalDependencies: '@noble/hashes': 1.8.0 @@ -11341,12 +11884,6 @@ snapshots: '@iconify/types@2.0.0': {} - '@iconify/utils@3.1.4': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - import-meta-resolve: 4.2.0 - '@iconify/utils@3.1.7': dependencies: '@antfu/install-pkg': 2.0.1 @@ -11365,131 +11902,235 @@ snapshots: '@img/sharp-libvips-darwin-arm64': 1.3.3 optional: true + '@img/sharp-darwin-arm64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.4 + optional: true + '@img/sharp-darwin-x64@0.35.4': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.3.3 optional: true + '@img/sharp-darwin-x64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.4 + optional: true + '@img/sharp-freebsd-wasm32@0.35.4': dependencies: '@img/sharp-wasm32': 0.35.4 optional: true + '@img/sharp-freebsd-wasm32@0.35.5': + dependencies: + '@img/sharp-wasm32': 0.35.5 + optional: true + '@img/sharp-libvips-darwin-arm64@1.3.3': optional: true + '@img/sharp-libvips-darwin-arm64@1.3.4': + optional: true + '@img/sharp-libvips-darwin-x64@1.3.3': optional: true + '@img/sharp-libvips-darwin-x64@1.3.4': + optional: true + '@img/sharp-libvips-linux-arm64@1.3.3': optional: true + '@img/sharp-libvips-linux-arm64@1.3.4': + optional: true + '@img/sharp-libvips-linux-arm@1.3.3': optional: true + '@img/sharp-libvips-linux-arm@1.3.4': + optional: true + '@img/sharp-libvips-linux-ppc64@1.3.3': optional: true + '@img/sharp-libvips-linux-ppc64@1.3.4': + optional: true + '@img/sharp-libvips-linux-riscv64@1.3.3': optional: true + '@img/sharp-libvips-linux-riscv64@1.3.4': + optional: true + '@img/sharp-libvips-linux-s390x@1.3.3': optional: true + '@img/sharp-libvips-linux-s390x@1.3.4': + optional: true + '@img/sharp-libvips-linux-x64@1.3.3': optional: true + '@img/sharp-libvips-linux-x64@1.3.4': + optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.3.3': optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.3.4': + optional: true + '@img/sharp-libvips-linuxmusl-x64@1.3.3': optional: true + '@img/sharp-libvips-linuxmusl-x64@1.3.4': + optional: true + '@img/sharp-linux-arm64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.3.3 optional: true + '@img/sharp-linux-arm64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.4 + optional: true + '@img/sharp-linux-arm@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.3.3 optional: true + '@img/sharp-linux-arm@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.4 + optional: true + '@img/sharp-linux-ppc64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-ppc64': 1.3.3 optional: true + '@img/sharp-linux-ppc64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.4 + optional: true + '@img/sharp-linux-riscv64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-riscv64': 1.3.3 optional: true + '@img/sharp-linux-riscv64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.4 + optional: true + '@img/sharp-linux-s390x@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-s390x': 1.3.3 optional: true + '@img/sharp-linux-s390x@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.4 + optional: true + '@img/sharp-linux-x64@0.35.4': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.3.3 optional: true + '@img/sharp-linux-x64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.4 + optional: true + '@img/sharp-linuxmusl-arm64@0.35.4': optionalDependencies: '@img/sharp-libvips-linuxmusl-arm64': 1.3.3 optional: true + '@img/sharp-linuxmusl-arm64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.4 + optional: true + '@img/sharp-linuxmusl-x64@0.35.4': optionalDependencies: '@img/sharp-libvips-linuxmusl-x64': 1.3.3 optional: true + '@img/sharp-linuxmusl-x64@0.35.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.4 + optional: true + '@img/sharp-wasm32@0.35.4': dependencies: '@emnapi/runtime': 1.11.3 optional: true + '@img/sharp-wasm32@0.35.5': + dependencies: + '@emnapi/runtime': 1.11.3 + optional: true + '@img/sharp-webcontainers-wasm32@0.35.4': dependencies: '@img/sharp-wasm32': 0.35.4 optional: true + '@img/sharp-webcontainers-wasm32@0.35.5': + dependencies: + '@img/sharp-wasm32': 0.35.5 + optional: true + '@img/sharp-win32-arm64@0.35.4': optional: true + '@img/sharp-win32-arm64@0.35.5': + optional: true + '@img/sharp-win32-ia32@0.35.4': optional: true + '@img/sharp-win32-ia32@0.35.5': + optional: true + '@img/sharp-win32-x64@0.35.4': optional: true + '@img/sharp-win32-x64@0.35.5': + optional: true + '@inquirer/ansi@2.0.7': {} - '@inquirer/confirm@6.1.1(@types/node@24.19.1)': + '@inquirer/confirm@6.1.1(@types/node@24.19.2)': dependencies: - '@inquirer/core': 11.2.1(@types/node@24.19.1) - '@inquirer/type': 4.0.7(@types/node@24.19.1) + '@inquirer/core': 11.2.1(@types/node@24.19.2) + '@inquirer/type': 4.0.7(@types/node@24.19.2) optionalDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 - '@inquirer/core@11.2.1(@types/node@24.19.1)': + '@inquirer/core@11.2.1(@types/node@24.19.2)': dependencies: '@inquirer/ansi': 2.0.7 '@inquirer/figures': 2.0.7 - '@inquirer/type': 4.0.7(@types/node@24.19.1) + '@inquirer/type': 4.0.7(@types/node@24.19.2) cli-width: 4.1.0 fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@inquirer/figures@2.0.7': {} - '@inquirer/type@4.0.7(@types/node@24.19.1)': + '@inquirer/type@4.0.7(@types/node@24.19.2)': optionalDependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@internationalized/date@3.10.1': dependencies: @@ -11721,244 +12362,244 @@ snapshots: '@open-draft/until@3.0.1': {} - '@opentelemetry/api-logs@0.222.0': + '@opentelemetry/api-logs@0.223.0': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/api@1.9.1': {} - '@opentelemetry/configuration@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/configuration@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - yaml: 2.9.0 + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + yaml: 2.9.1 - '@opentelemetry/context-async-hooks@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/context-async-hooks@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/context-zone-peer-dep@2.11.0(@opentelemetry/api@1.9.1)(zone.js@0.15.1)': + '@opentelemetry/context-zone-peer-dep@2.12.0(@opentelemetry/api@1.9.1)(zone.js@0.15.1)': dependencies: '@opentelemetry/api': 1.9.1 zone.js: 0.15.1 - '@opentelemetry/context-zone@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/context-zone@2.12.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/context-zone-peer-dep': 2.11.0(@opentelemetry/api@1.9.1)(zone.js@0.15.1) + '@opentelemetry/context-zone-peer-dep': 2.12.0(@opentelemetry/api@1.9.1)(zone.js@0.15.1) zone.js: 0.15.1 transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.38.0 - '@opentelemetry/exporter-logs-otlp-grpc@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-logs-otlp-grpc@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-http@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-logs-otlp-http@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-proto@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-logs-otlp-proto@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-grpc@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-metrics-otlp-grpc@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/exporter-metrics-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-http@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-metrics-otlp-http@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-metrics': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-proto@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-metrics-otlp-proto@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/exporter-metrics-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-prometheus@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-prometheus@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-metrics': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 - '@opentelemetry/exporter-trace-otlp-grpc@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-trace-otlp-grpc@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-http@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-trace-otlp-http@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-proto@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-trace-otlp-proto@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-zipkin@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/exporter-zipkin@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 - '@opentelemetry/instrumentation@0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2)': + '@opentelemetry/instrumentation@0.223.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.222.0 + '@opentelemetry/api-logs': 0.223.0 import-in-the-middle: 3.0.0 require-in-the-middle: 8.0.1(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@opentelemetry/otlp-exporter-base@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/otlp-exporter-base@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/otlp-grpc-exporter-base@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.222.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.223.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/otlp-transformer@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.222.0 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-metrics': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/api-logs': 0.223.0 + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/propagator-b3@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/propagator-b3@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/propagator-jaeger@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/propagator-jaeger@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 - '@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-logs@0.223.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.222.0 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/api-logs': 0.223.0 + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 - '@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-metrics@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-node@0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2)': + '@opentelemetry/sdk-node@0.223.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.222.0 - '@opentelemetry/configuration': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/context-async-hooks': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-grpc': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-logs-otlp-proto': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-grpc': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-proto': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-prometheus': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-grpc': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-trace-otlp-proto': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-zipkin': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.222.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) - '@opentelemetry/otlp-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/propagator-b3': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/propagator-jaeger': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.222.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-metrics': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-node': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/api-logs': 0.223.0 + '@opentelemetry/configuration': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/context-async-hooks': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-grpc': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-http': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-proto': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-grpc': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-proto': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-prometheus': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-grpc': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-http': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-proto': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-zipkin': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.223.0(@opentelemetry/api@1.9.1)(supports-color@10.2.2) + '@opentelemetry/otlp-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/propagator-b3': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/propagator-jaeger': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.223.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-node': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 transitivePeerDependencies: - supports-color - '@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 - '@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace-node@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/context-async-hooks': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/context-async-hooks': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-web@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace-web@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.38.0 '@opentelemetry/semantic-conventions@1.38.0': {} @@ -12026,120 +12667,179 @@ snapshots: '@oxc-parser/binding-android-arm-eabi@0.150.0': optional: true + '@oxc-parser/binding-android-arm-eabi@0.153.0': + optional: true + '@oxc-parser/binding-android-arm64@0.147.0': optional: true '@oxc-parser/binding-android-arm64@0.150.0': optional: true + '@oxc-parser/binding-android-arm64@0.153.0': + optional: true + '@oxc-parser/binding-darwin-arm64@0.147.0': optional: true '@oxc-parser/binding-darwin-arm64@0.150.0': optional: true + '@oxc-parser/binding-darwin-arm64@0.153.0': + optional: true + '@oxc-parser/binding-darwin-x64@0.147.0': optional: true '@oxc-parser/binding-darwin-x64@0.150.0': optional: true + '@oxc-parser/binding-darwin-x64@0.153.0': + optional: true + '@oxc-parser/binding-freebsd-x64@0.147.0': optional: true '@oxc-parser/binding-freebsd-x64@0.150.0': optional: true + '@oxc-parser/binding-freebsd-x64@0.153.0': + optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.147.0': optional: true '@oxc-parser/binding-linux-arm-gnueabihf@0.150.0': optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.153.0': + optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.147.0': optional: true '@oxc-parser/binding-linux-arm-musleabihf@0.150.0': optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.153.0': + optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-arm64-gnu@0.150.0': optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.153.0': + optional: true + '@oxc-parser/binding-linux-arm64-musl@0.147.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.150.0': optional: true + '@oxc-parser/binding-linux-arm64-musl@0.153.0': + optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-ppc64-gnu@0.150.0': optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.153.0': + optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-riscv64-gnu@0.150.0': optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.153.0': + optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.147.0': optional: true '@oxc-parser/binding-linux-riscv64-musl@0.150.0': optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.153.0': + optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-s390x-gnu@0.150.0': optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.153.0': + optional: true + '@oxc-parser/binding-linux-x64-gnu@0.147.0': optional: true '@oxc-parser/binding-linux-x64-gnu@0.150.0': optional: true + '@oxc-parser/binding-linux-x64-gnu@0.153.0': + optional: true + '@oxc-parser/binding-linux-x64-musl@0.147.0': optional: true '@oxc-parser/binding-linux-x64-musl@0.150.0': optional: true + '@oxc-parser/binding-linux-x64-musl@0.153.0': + optional: true + '@oxc-parser/binding-openharmony-arm64@0.147.0': optional: true '@oxc-parser/binding-openharmony-arm64@0.150.0': optional: true + '@oxc-parser/binding-openharmony-arm64@0.153.0': + optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.147.0': optional: true '@oxc-parser/binding-win32-arm64-msvc@0.150.0': optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.153.0': + optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.147.0': optional: true '@oxc-parser/binding-win32-ia32-msvc@0.150.0': optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.153.0': + optional: true + '@oxc-parser/binding-win32-x64-msvc@0.147.0': optional: true '@oxc-parser/binding-win32-x64-msvc@0.150.0': optional: true + '@oxc-parser/binding-win32-x64-msvc@0.153.0': + optional: true + '@oxc-project/types@0.128.0': {} '@oxc-project/types@0.147.0': {} '@oxc-project/types@0.150.0': {} + '@oxc-project/types@0.153.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': optional: true @@ -12506,9 +13206,9 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.63.0': + '@playwright/test@1.64.0': dependencies: - playwright: 1.63.0 + playwright: 1.64.0 '@polka/url@1.0.0-next.24': {} @@ -12621,33 +13321,33 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': optional: true - '@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': + '@rolldown/plugin-babel@0.2.4(@babel/core@8.0.7)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': dependencies: - '@babel/core': 8.0.6 + '@babel/core': 8.0.7 picomatch: 4.0.7 rolldown: 1.0.0-rc.18 optionalDependencies: '@babel/runtime': 7.29.7 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) '@rolldown/pluginutils@1.0.0-rc.18': {} '@rolldown/pluginutils@1.0.1': {} - '@rollup/plugin-babel@6.1.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/babel__core@7.20.5)(rollup@4.64.0)(supports-color@10.2.2)': + '@rollup/plugin-babel@6.1.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/babel__core@7.20.5)(rollup@4.64.5)(supports-color@10.2.2)': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2) - '@rollup/pluginutils': 5.4.0(rollup@4.64.0) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) optionalDependencies: '@types/babel__core': 7.20.5 - rollup: 4.64.0 + rollup: 4.64.5 transitivePeerDependencies: - supports-color - '@rollup/plugin-commonjs@29.0.3(rollup@4.64.0)': + '@rollup/plugin-commonjs@29.0.3(rollup@4.64.5)': dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.64.0) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.5.0(picomatch@4.0.7) @@ -12655,120 +13355,120 @@ snapshots: magic-string: 0.30.21 picomatch: 4.0.7 optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 - '@rollup/plugin-json@6.1.0(rollup@4.64.0)': + '@rollup/plugin-json@6.1.0(rollup@4.64.5)': dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.64.0) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 - '@rollup/plugin-node-resolve@16.0.3(rollup@4.64.0)': + '@rollup/plugin-node-resolve@16.0.3(rollup@4.64.5)': dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.64.0) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.12 optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 - '@rollup/plugin-replace@6.0.3(rollup@4.64.0)': + '@rollup/plugin-replace@6.0.3(rollup@4.64.5)': dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.64.0) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) magic-string: 0.30.21 optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 - '@rollup/plugin-terser@1.0.0(rollup@4.64.0)': + '@rollup/plugin-terser@1.0.0(rollup@4.64.5)': dependencies: serialize-javascript: 7.0.7 smob: 1.6.2 terser: 5.48.0 optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 - '@rollup/pluginutils@5.4.0(rollup@4.64.0)': + '@rollup/pluginutils@5.4.0(rollup@4.64.5)': dependencies: '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.7 optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 - '@rollup/rollup-android-arm-eabi@4.64.0': + '@rollup/rollup-android-arm-eabi@4.64.5': optional: true - '@rollup/rollup-android-arm64@4.64.0': + '@rollup/rollup-android-arm64@4.64.5': optional: true - '@rollup/rollup-darwin-arm64@4.64.0': + '@rollup/rollup-darwin-arm64@4.64.5': optional: true - '@rollup/rollup-darwin-x64@4.64.0': + '@rollup/rollup-darwin-x64@4.64.5': optional: true - '@rollup/rollup-freebsd-arm64@4.64.0': + '@rollup/rollup-freebsd-arm64@4.64.5': optional: true - '@rollup/rollup-freebsd-x64@4.64.0': + '@rollup/rollup-freebsd-x64@4.64.5': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.64.0': + '@rollup/rollup-linux-arm-gnueabihf@4.64.5': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.64.0': + '@rollup/rollup-linux-arm-musleabihf@4.64.5': optional: true - '@rollup/rollup-linux-arm64-gnu@4.64.0': + '@rollup/rollup-linux-arm64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-arm64-musl@4.64.0': + '@rollup/rollup-linux-arm64-musl@4.64.5': optional: true - '@rollup/rollup-linux-loong64-gnu@4.64.0': + '@rollup/rollup-linux-loong64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-loong64-musl@4.64.0': + '@rollup/rollup-linux-loong64-musl@4.64.5': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.64.0': + '@rollup/rollup-linux-ppc64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-ppc64-musl@4.64.0': + '@rollup/rollup-linux-ppc64-musl@4.64.5': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.64.0': + '@rollup/rollup-linux-riscv64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-riscv64-musl@4.64.0': + '@rollup/rollup-linux-riscv64-musl@4.64.5': optional: true - '@rollup/rollup-linux-s390x-gnu@4.64.0': + '@rollup/rollup-linux-s390x-gnu@4.64.5': optional: true - '@rollup/rollup-linux-x64-gnu@4.64.0': + '@rollup/rollup-linux-x64-gnu@4.64.5': optional: true - '@rollup/rollup-linux-x64-musl@4.64.0': + '@rollup/rollup-linux-x64-musl@4.64.5': optional: true - '@rollup/rollup-openbsd-x64@4.64.0': + '@rollup/rollup-openbsd-x64@4.64.5': optional: true - '@rollup/rollup-openharmony-arm64@4.64.0': + '@rollup/rollup-openharmony-arm64@4.64.5': optional: true - '@rollup/rollup-win32-arm64-msvc@4.64.0': + '@rollup/rollup-win32-arm64-msvc@4.64.5': optional: true - '@rollup/rollup-win32-ia32-msvc@4.64.0': + '@rollup/rollup-win32-ia32-msvc@4.64.5': optional: true - '@rollup/rollup-win32-x64-gnu@4.64.0': + '@rollup/rollup-win32-x64-gnu@4.64.5': optional: true - '@rollup/rollup-win32-x64-msvc@4.64.0': + '@rollup/rollup-win32-x64-msvc@4.64.5': optional: true '@shikijs/core@4.4.3': @@ -13025,12 +13725,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.18 - '@tailwindcss/vite@4.1.18(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': + '@tailwindcss/vite@4.1.18(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.1.18 '@tailwindcss/oxide': 4.1.18 tailwindcss: 4.1.18 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) '@tanstack/virtual-core@3.13.13': {} @@ -13152,7 +13852,7 @@ snapshots: '@types/jsdom@30.0.0': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/tough-cookie': 4.0.5 parse5: 8.0.1 undici-types: 8.11.2 @@ -13176,7 +13876,7 @@ snapshots: '@types/natural-compare@1.4.3': {} - '@types/node@24.19.1': + '@types/node@24.19.2': dependencies: undici-types: 7.24.6 @@ -13184,11 +13884,11 @@ snapshots: '@types/pngjs@6.0.5': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/prompts@2.4.9': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 kleur: 3.0.3 '@types/react-is@19.3.0': @@ -13209,7 +13909,7 @@ snapshots: '@types/set-cookie-parser@2.4.10': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/sinonjs__fake-timers@8.1.5': {} @@ -13233,20 +13933,20 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/ws@8.18.2': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/yauzl@2.10.3': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 optional: true '@types/yauzl@3.4.0': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@typescript/vfs@1.6.4(supports-color@10.2.2)(typescript@5.9.3)': dependencies: @@ -13356,7 +14056,7 @@ snapshots: '@unocss/reset@66.10.5': {} - '@unocss/rollup@66.10.5(rollup@4.64.0)': + '@unocss/rollup@66.10.5(rollup@4.64.5)': dependencies: '@jridgewell/remapping': 2.3.5 '@unocss/config': 66.10.5 @@ -13367,7 +14067,7 @@ snapshots: tinyglobby: 0.2.17 unplugin-utils: 0.3.2 optionalDependencies: - rollup: 4.64.0 + rollup: 4.64.5 '@unocss/rule-utils@66.10.5': dependencies: @@ -13394,7 +14094,7 @@ snapshots: dependencies: '@unocss/core': 66.10.5 - '@unocss/vite@66.10.5(cac@7.0.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': + '@unocss/vite@66.10.5(cac@7.0.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': dependencies: '@jridgewell/remapping': 2.3.5 '@unocss/config': 66.10.5 @@ -13405,45 +14105,45 @@ snapshots: pathe: 2.0.3 tinyglobby: 0.2.17 unplugin-utils: 0.3.2 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) transitivePeerDependencies: - '@devframes/agentic' - cac - ocache - srvx - '@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1)': + '@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2)': dependencies: cac: 7.0.0 consola: 3.4.2 picocolors: 1.1.1 - sharp: 0.35.4(@types/node@24.19.1) - sharp-ico: 0.1.5(@types/node@24.19.1) + sharp: 0.35.4(@types/node@24.19.2) + sharp-ico: 0.1.5(@types/node@24.19.2) unconfig: 7.5.0 transitivePeerDependencies: - '@types/node' - '@vite-pwa/vitepress@1.1.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1))': + '@vite-pwa/vitepress@1.1.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1))': dependencies: - vite-plugin-pwa: 1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1) + vite-plugin-pwa: 1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1) optionalDependencies: - '@vite-pwa/assets-generator': 2.0.0(@types/node@24.19.1) + '@vite-pwa/assets-generator': 2.0.0(@types/node@24.19.2) - '@vitejs/plugin-basic-ssl@2.3.0(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': dependencies: - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) - '@vitejs/plugin-react@6.1.1(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)))(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': + '@vitejs/plugin-react@6.1.2(@rolldown/plugin-babel@0.2.4(@babel/core@8.0.7)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)))(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) optionalDependencies: - '@rolldown/plugin-babel': 0.2.4(@babel/core@8.0.6)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + '@rolldown/plugin-babel': 0.2.4(@babel/core@8.0.7)(@babel/runtime@7.29.7)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) - '@vitejs/plugin-vue@6.0.9(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.10(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vue: 3.5.43(typescript@5.9.3) '@vitejs/test-dep-virtual@file:test/e2e/deps/test-dep-virtual': {} @@ -13494,7 +14194,7 @@ snapshots: '@vitest/test-fn@file:test/unit/deps/dep-fn': {} - '@voidzero-dev/vitepress-theme@5.0.7(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(focus-trap@8.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vitepress@2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3))': + '@voidzero-dev/vitepress-theme@5.0.7(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(focus-trap@8.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vitepress@2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3))': dependencies: '@docsearch/css': 5.1.1 '@docsearch/js': 5.1.1 @@ -13502,7 +14202,7 @@ snapshots: '@iconify/vue': 5.0.3(vue@3.5.43(typescript@5.9.3)) '@rive-app/canvas-lite': 2.33.3 '@tailwindcss/typography': 0.5.19(tailwindcss@4.1.18) - '@tailwindcss/vite': 4.1.18(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + '@tailwindcss/vite': 4.1.18(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) '@vue/shared': 3.5.42 '@vueuse/core': 14.4.0(vue@3.5.43(typescript@5.9.3)) '@vueuse/integrations': 14.4.0(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(focus-trap@8.2.2)(vue@3.5.43(typescript@5.9.3)) @@ -13511,7 +14211,7 @@ snapshots: minisearch: 7.2.0 reka-ui: 2.7.0(typescript@5.9.3)(vue@3.5.43(typescript@5.9.3)) tailwindcss: 4.1.18 - vitepress: 2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1) + vitepress: 2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1) vue: 3.5.43(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' @@ -13637,7 +14337,7 @@ snapshots: path-browserify: 1.0.1 picomatch: 4.0.7 - '@vue/language-core@3.3.12': + '@vue/language-core@3.3.13': dependencies: '@volar/language-core': 2.4.28 '@vue/compiler-dom': 3.5.43 @@ -13758,11 +14458,11 @@ snapshots: '@wdio/repl@9.16.2': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@wdio/types@9.29.1': dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@wdio/utils@9.29.1(supports-color@10.2.2)': dependencies: @@ -13925,6 +14625,12 @@ snapshots: '@babel/parser': 7.29.8 pathe: 2.0.3 + ast-kit@3.0.0: + dependencies: + '@babel/parser': 8.0.6 + estree-walker: 3.0.3 + pathe: 2.0.3 + ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -13935,11 +14641,11 @@ snapshots: estree-walker: 3.0.3 js-tokens: 10.0.0 - ast-walker-scope@0.9.0: + ast-walker-scope@0.10.0: dependencies: - '@babel/parser': 7.29.8 - '@babel/types': 7.29.8 - ast-kit: 2.2.0 + '@babel/parser': 8.0.6 + '@babel/types': 8.0.6 + ast-kit: 3.0.0 async-function@1.0.0: {} @@ -14099,7 +14805,7 @@ snapshots: buffer-image-size@0.6.4: dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 buffer@6.0.3: dependencies: @@ -14279,6 +14985,8 @@ snapshots: cjs-module-lexer@2.2.1: {} + cjs-module-lexer@2.3.0: {} + cli-width@4.1.0: {} cliui@8.0.1: @@ -14355,6 +15063,8 @@ snapshots: confbox@0.2.4: {} + confbox@0.3.1: {} + config-chain@1.1.13: dependencies: ini: 1.3.8 @@ -14849,6 +15559,35 @@ snapshots: '@esbuild/win32-ia32': 0.28.1 '@esbuild/win32-x64': 0.28.1 + esbuild@0.28.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -15115,7 +15854,7 @@ snapshots: format@0.2.2: {} - formatly@0.7.0: + formatly@0.11.4: dependencies: fd-package-json: 2.0.0 package-manager-detector: 1.8.0 @@ -15298,9 +16037,9 @@ snapshots: handle-thing@2.0.1: {} - happy-dom@20.14.5: + happy-dom@20.14.6: dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.2 buffer-image-size: 0.6.4 @@ -15740,21 +16479,20 @@ snapshots: kleur@4.1.5: {} - knip@6.39.0: + knip@6.41.0: dependencies: - fdir: 6.5.0(picomatch@4.0.7) - formatly: 0.7.0 + formatly: 0.11.4 get-tsconfig: 4.14.3 jiti: 2.7.0 - oxc-parser: 0.150.0 + oxc-parser: 0.153.0 oxc-resolver: 11.24.2 picomatch: 4.0.7 - smol-toml: 1.8.0 + smol-toml: 1.9.1 strip-json-comments: 5.0.3 tinyglobby: 0.2.17 - unbash: 4.0.12 + unbash: 5.0.0 yaml: 2.9.1 - zod: 4.4.3 + zod: 4.6.5 lazystream@1.0.1: dependencies: @@ -15974,6 +16712,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 + magic-string@1.4.3: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + magicast@0.5.5: dependencies: '@babel/parser': 7.29.8 @@ -16327,12 +17069,12 @@ snapshots: min-indent@1.0.1: {} - miniflare@5.20261001.0-alpha(@types/node@24.19.1): + miniflare@5.20261006.1-alpha(@types/node@24.19.2): dependencies: '@cspotcode/source-map-support': 0.8.1 - sharp: 0.35.4(@types/node@24.19.1) + sharp: 0.35.5(@types/node@24.19.2) undici: 7.29.1 - workerd: 1.20261001.1 + workerd: 1.20261006.1 ws: 8.21.0 youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -16396,9 +17138,9 @@ snapshots: ms@2.1.3: {} - msw@3.0.2(@types/node@24.19.1)(graphql@16.14.2)(supports-color@10.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + msw@3.0.3(@types/node@24.19.2)(graphql@16.14.2)(supports-color@10.2.2)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: - '@inquirer/confirm': 6.1.1(@types/node@24.19.1) + '@inquirer/confirm': 6.1.1(@types/node@24.19.2) '@msw/url': 0.1.2 '@mswjs/interceptors': 0.45.7(supports-color@10.2.2) cookie: 2.0.1 @@ -16413,7 +17155,7 @@ snapshots: optionalDependencies: graphql: 16.14.2 typescript: 5.9.3 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - supports-color @@ -16445,8 +17187,6 @@ snapshots: normalize-path@3.0.0: {} - nostics@1.2.0: {} - nostics@1.3.0: {} npm-run-path@5.3.0: @@ -16609,6 +17349,30 @@ snapshots: '@oxc-parser/binding-win32-ia32-msvc': 0.150.0 '@oxc-parser/binding-win32-x64-msvc': 0.150.0 + oxc-parser@0.153.0: + dependencies: + '@oxc-project/types': 0.153.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.153.0 + '@oxc-parser/binding-android-arm64': 0.153.0 + '@oxc-parser/binding-darwin-arm64': 0.153.0 + '@oxc-parser/binding-darwin-x64': 0.153.0 + '@oxc-parser/binding-freebsd-x64': 0.153.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.153.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.153.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.153.0 + '@oxc-parser/binding-linux-arm64-musl': 0.153.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.153.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.153.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.153.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.153.0 + '@oxc-parser/binding-linux-x64-gnu': 0.153.0 + '@oxc-parser/binding-linux-x64-musl': 0.153.0 + '@oxc-parser/binding-openharmony-arm64': 0.153.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.153.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.153.0 + '@oxc-parser/binding-win32-x64-msvc': 0.153.0 + oxc-resolver@11.24.2: optionalDependencies: '@oxc-resolver/binding-android-arm-eabi': 11.24.2 @@ -16848,11 +17612,11 @@ snapshots: exsolve: 1.0.8 pathe: 2.0.3 - playwright-core@1.63.0: {} + playwright-core@1.64.0: {} - playwright@1.63.0: + playwright@1.64.0: dependencies: - playwright-core: 1.63.0 + playwright-core: 1.64.0 pngjs@3.4.0: {} @@ -16924,7 +17688,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.19.1 + '@types/node': 24.19.2 long: 5.3.2 proxy-addr@2.0.7: @@ -17211,18 +17975,18 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.18 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.18 - rollup-plugin-dts@6.5.1(rollup@4.64.0)(typescript@5.9.3): + rollup-plugin-dts@6.5.1(rollup@4.64.5)(typescript@5.9.3): dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 convert-source-map: 2.0.0 magic-string: 0.30.21 - rollup: 4.64.0 + rollup: 4.64.5 typescript: 5.9.3 optionalDependencies: '@babel/code-frame': 8.0.0 - rollup-plugin-license@3.7.1(picomatch@4.0.7)(rollup@4.64.0): + rollup-plugin-license@3.7.1(picomatch@4.0.7)(rollup@4.64.5): dependencies: commenting: 1.1.0 fdir: 6.5.0(picomatch@4.0.7) @@ -17230,42 +17994,42 @@ snapshots: magic-string: 0.30.21 moment: 2.30.1 package-name-regex: 2.0.6 - rollup: 4.64.0 + rollup: 4.64.5 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 transitivePeerDependencies: - picomatch - rollup@4.64.0: + rollup@4.64.5: dependencies: '@types/estree': 1.0.9 optionalDependencies: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 - '@rollup/rollup-android-arm-eabi': 4.64.0 - '@rollup/rollup-android-arm64': 4.64.0 - '@rollup/rollup-darwin-arm64': 4.64.0 - '@rollup/rollup-darwin-x64': 4.64.0 - '@rollup/rollup-freebsd-arm64': 4.64.0 - '@rollup/rollup-freebsd-x64': 4.64.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.64.0 - '@rollup/rollup-linux-arm-musleabihf': 4.64.0 - '@rollup/rollup-linux-arm64-gnu': 4.64.0 - '@rollup/rollup-linux-arm64-musl': 4.64.0 - '@rollup/rollup-linux-loong64-gnu': 4.64.0 - '@rollup/rollup-linux-loong64-musl': 4.64.0 - '@rollup/rollup-linux-ppc64-gnu': 4.64.0 - '@rollup/rollup-linux-ppc64-musl': 4.64.0 - '@rollup/rollup-linux-riscv64-gnu': 4.64.0 - '@rollup/rollup-linux-riscv64-musl': 4.64.0 - '@rollup/rollup-linux-s390x-gnu': 4.64.0 - '@rollup/rollup-linux-x64-gnu': 4.64.0 - '@rollup/rollup-linux-x64-musl': 4.64.0 - '@rollup/rollup-openbsd-x64': 4.64.0 - '@rollup/rollup-openharmony-arm64': 4.64.0 - '@rollup/rollup-win32-arm64-msvc': 4.64.0 - '@rollup/rollup-win32-ia32-msvc': 4.64.0 - '@rollup/rollup-win32-x64-gnu': 4.64.0 - '@rollup/rollup-win32-x64-msvc': 4.64.0 + '@rollup/rollup-android-arm-eabi': 4.64.5 + '@rollup/rollup-android-arm64': 4.64.5 + '@rollup/rollup-darwin-arm64': 4.64.5 + '@rollup/rollup-darwin-x64': 4.64.5 + '@rollup/rollup-freebsd-arm64': 4.64.5 + '@rollup/rollup-freebsd-x64': 4.64.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.64.5 + '@rollup/rollup-linux-arm-musleabihf': 4.64.5 + '@rollup/rollup-linux-arm64-gnu': 4.64.5 + '@rollup/rollup-linux-arm64-musl': 4.64.5 + '@rollup/rollup-linux-loong64-gnu': 4.64.5 + '@rollup/rollup-linux-loong64-musl': 4.64.5 + '@rollup/rollup-linux-ppc64-gnu': 4.64.5 + '@rollup/rollup-linux-ppc64-musl': 4.64.5 + '@rollup/rollup-linux-riscv64-gnu': 4.64.5 + '@rollup/rollup-linux-riscv64-musl': 4.64.5 + '@rollup/rollup-linux-s390x-gnu': 4.64.5 + '@rollup/rollup-linux-x64-gnu': 4.64.5 + '@rollup/rollup-linux-x64-musl': 4.64.5 + '@rollup/rollup-openbsd-x64': 4.64.5 + '@rollup/rollup-openharmony-arm64': 4.64.5 + '@rollup/rollup-win32-arm64-msvc': 4.64.5 + '@rollup/rollup-win32-ia32-msvc': 4.64.5 + '@rollup/rollup-win32-x64-gnu': 4.64.5 + '@rollup/rollup-win32-x64-msvc': 4.64.5 fsevents: 2.3.3 rou3@0.9.2: {} @@ -17493,15 +18257,15 @@ snapshots: setprototypeof@1.2.0: {} - sharp-ico@0.1.5(@types/node@24.19.1): + sharp-ico@0.1.5(@types/node@24.19.2): dependencies: decode-ico: 0.4.1 ico-endec: 0.1.6 - sharp: 0.35.4(@types/node@24.19.1) + sharp: 0.35.4(@types/node@24.19.2) transitivePeerDependencies: - '@types/node' - sharp@0.35.4(@types/node@24.19.1): + sharp@0.35.4(@types/node@24.19.2): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 @@ -17532,7 +18296,40 @@ snapshots: '@img/sharp-win32-arm64': 0.35.4 '@img/sharp-win32-ia32': 0.35.4 '@img/sharp-win32-x64': 0.35.4 - '@types/node': 24.19.1 + '@types/node': 24.19.2 + + sharp@0.35.5(@types/node@24.19.2): + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.5 + '@img/sharp-darwin-x64': 0.35.5 + '@img/sharp-freebsd-wasm32': 0.35.5 + '@img/sharp-libvips-darwin-arm64': 1.3.4 + '@img/sharp-libvips-darwin-x64': 1.3.4 + '@img/sharp-libvips-linux-arm': 1.3.4 + '@img/sharp-libvips-linux-arm64': 1.3.4 + '@img/sharp-libvips-linux-ppc64': 1.3.4 + '@img/sharp-libvips-linux-riscv64': 1.3.4 + '@img/sharp-libvips-linux-s390x': 1.3.4 + '@img/sharp-libvips-linux-x64': 1.3.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.4 + '@img/sharp-libvips-linuxmusl-x64': 1.3.4 + '@img/sharp-linux-arm': 0.35.5 + '@img/sharp-linux-arm64': 0.35.5 + '@img/sharp-linux-ppc64': 0.35.5 + '@img/sharp-linux-riscv64': 0.35.5 + '@img/sharp-linux-s390x': 0.35.5 + '@img/sharp-linux-x64': 0.35.5 + '@img/sharp-linuxmusl-arm64': 0.35.5 + '@img/sharp-linuxmusl-x64': 0.35.5 + '@img/sharp-webcontainers-wasm32': 0.35.5 + '@img/sharp-win32-arm64': 0.35.5 + '@img/sharp-win32-ia32': 0.35.5 + '@img/sharp-win32-x64': 0.35.5 + '@types/node': 24.19.2 shebang-command@2.0.0: dependencies: @@ -17616,7 +18413,7 @@ snapshots: smob@1.6.2: {} - smol-toml@1.8.0: {} + smol-toml@1.9.1: {} socks-proxy-agent@8.0.5(supports-color@10.2.2): dependencies: @@ -17984,7 +18781,7 @@ snapshots: dependencies: real-require: 1.0.0 - tinybench@6.2.0: {} + tinybench@6.2.2: {} tinyexec@1.3.0: {} @@ -18142,7 +18939,7 @@ snapshots: uglify-js@3.17.0: {} - unbash@4.0.12: {} + unbash@5.0.0: {} unbox-primitive@1.1.0: dependencies: @@ -18236,7 +19033,7 @@ snapshots: universalify@2.0.1: {} - unocss@66.10.5(cac@7.0.0)(rollup@4.64.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + unocss@66.10.5(cac@7.0.0)(rollup@4.64.5)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: '@unocss/cli': 66.10.5 '@unocss/core': 66.10.5 @@ -18250,12 +19047,12 @@ snapshots: '@unocss/preset-wind': 66.10.5 '@unocss/preset-wind3': 66.10.5 '@unocss/preset-wind4': 66.10.5 - '@unocss/rollup': 66.10.5(rollup@4.64.0) + '@unocss/rollup': 66.10.5(rollup@4.64.5) '@unocss/transformer-attributify-jsx': 66.10.5 '@unocss/transformer-compile-class': 66.10.5 '@unocss/transformer-directives': 66.10.5 '@unocss/transformer-variant-group': 66.10.5 - '@unocss/vite': 66.10.5(cac@7.0.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + '@unocss/vite': 66.10.5(cac@7.0.0)(srvx@1.0.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) transitivePeerDependencies: - '@devframes/agentic' - cac @@ -18267,13 +19064,13 @@ snapshots: unpipe@1.0.0: {} - unplugin-isolated-decl@0.17.0(esbuild@0.28.1)(rollup@4.64.0)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + unplugin-isolated-decl@0.17.0(esbuild@0.28.2)(rollup@4.64.5)(typescript@5.9.3)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: magic-string: 1.2.3 obug: 2.1.4 oxc-parser: 0.147.0 oxc-transform: 0.141.0 - unplugin: 3.3.0(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) unplugin-utils: 0.3.2 optionalDependencies: typescript: 5.9.3 @@ -18288,12 +19085,12 @@ snapshots: - vite - webpack - unplugin-oxc@0.6.2(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + unplugin-oxc@0.6.2(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: oxc-minify: 0.152.0 oxc-resolver: 11.24.2 oxc-transform: 0.152.0 - unplugin: 3.4.0(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + unplugin: 3.4.0(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) transitivePeerDependencies: - '@farmfe/core' - '@rsbuild/core' @@ -18305,12 +19102,12 @@ snapshots: - vite - webpack - unplugin-swc@1.6.0(@swc/core@1.4.1(@swc/helpers@0.5.17))(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + unplugin-swc@1.6.0(@swc/core@1.4.1(@swc/helpers@0.5.17))(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.64.0) + '@rollup/pluginutils': 5.4.0(rollup@4.64.5) '@swc/core': 1.4.1(@swc/helpers@0.5.17) load-tsconfig: 0.2.5 - unplugin: 3.3.0(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -18334,25 +19131,25 @@ snapshots: picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 - unplugin@3.3.0(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + unplugin@3.3.0(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 optionalDependencies: - esbuild: 0.28.1 - rollup: 4.64.0 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + esbuild: 0.28.2 + rollup: 4.64.5 + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) - unplugin@3.4.0(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + unplugin@3.4.0(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 optionalDependencies: - esbuild: 0.28.1 - rollup: 4.64.0 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + esbuild: 0.28.2 + rollup: 4.64.5 + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) until-async@3.0.2: {} @@ -18383,10 +19180,10 @@ snapshots: vecti@3.2.0: {} - verkit@0.3.2: {} - verkit@0.4.1: {} + verkit@0.5.0: {} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.2 @@ -18398,20 +19195,20 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.1))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1): + vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@2.0.0(@types/node@24.19.2))(supports-color@10.2.2)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(workbox-build@7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2))(workbox-window@7.4.1): dependencies: debug: 4.4.3(supports-color@10.2.2) pretty-bytes: 6.1.1 tinyglobby: 0.2.17 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) workbox-build: 7.4.1(@types/babel__core@7.20.5)(supports-color@10.2.2) workbox-window: 7.4.1 optionalDependencies: - '@vite-pwa/assets-generator': 2.0.0(@types/node@24.19.1) + '@vite-pwa/assets-generator': 2.0.0(@types/node@24.19.2) transitivePeerDependencies: - supports-color - vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0): + vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.7 @@ -18419,8 +19216,8 @@ snapshots: rolldown: 1.0.0-rc.18 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 24.19.1 - esbuild: 0.28.1 + '@types/node': 24.19.2 + esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 sass: 1.105.1 @@ -18429,7 +19226,7 @@ snapshots: tsx: 4.23.15 yaml: 2.9.0 - vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.1): + vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: lightningcss: 1.32.0 picomatch: 4.0.7 @@ -18437,8 +19234,8 @@ snapshots: rolldown: 1.0.0-rc.18 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 24.19.1 - esbuild: 0.28.1 + '@types/node': 24.19.2 + esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 sass: 1.105.1 @@ -18447,13 +19244,13 @@ snapshots: tsx: 4.23.15 yaml: 2.9.1 - vitepress-plugin-group-icons@1.7.6(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): + vitepress-plugin-group-icons@1.7.7(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)): dependencies: '@iconify-json/logos': 1.2.15 '@iconify-json/vscode-icons': 1.2.67 - '@iconify/utils': 3.1.4 + '@iconify/utils': 3.1.7 optionalDependencies: - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) vitepress-plugin-llms@1.14.0(supports-color@10.2.2): dependencies: @@ -18474,12 +19271,12 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress-plugin-tabs@0.9.1(vitepress@2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3)): + vitepress-plugin-tabs@0.9.1(vitepress@2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1))(vue@3.5.43(typescript@5.9.3)): dependencies: - vitepress: 2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1) + vitepress: 2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1) vue: 3.5.43(typescript@5.9.3) - vitepress@2.0.0-alpha.20(@types/node@24.19.1)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.1)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1): + vitepress@2.0.0-alpha.20(@types/node@24.19.2)(axios@1.13.4(debug@4.4.3(supports-color@10.2.2)))(change-case@5.4.4)(esbuild@0.28.2)(jiti@2.7.0)(postcss@8.5.28)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(typescript@5.9.3)(yaml@2.9.1): dependencies: '@docsearch/css': 4.7.0 '@docsearch/js': 4.7.0 @@ -18487,7 +19284,7 @@ snapshots: '@iconify-json/simple-icons': 1.2.98 '@shikijs/transformers': 4.5.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 6.0.9(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) + '@vitejs/plugin-vue': 6.0.10(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)) '@vue/devtools-api': 8.2.1 '@vue/shared': 3.5.42 '@vueuse/core': 14.4.0(vue@3.5.43(typescript@5.9.3)) @@ -18496,7 +19293,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.2.0 shiki: 4.4.3 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.1) vue: 3.5.43(typescript@5.9.3) optionalDependencies: postcss: 8.5.28 @@ -18562,30 +19359,31 @@ snapshots: dependencies: vue: 3.5.43(typescript@5.9.3) - vue-router@5.3.1(@vue/compiler-sfc@3.5.43)(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)): + vue-router@5.4.0(@vue/compiler-sfc@3.5.43)(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0))(vue@3.5.43(typescript@5.9.3)): dependencies: '@vue-macros/common': 3.1.4(vue@3.5.43(typescript@5.9.3)) '@vue/devtools-api': 8.2.1 - ast-walker-scope: 0.9.0 + ast-walker-scope: 0.10.0 chokidar: 5.0.0 - confbox: 0.2.4 + confbox: 0.3.1 local-pkg: 1.2.1 - magic-string: 0.30.21 + magic-string: 1.4.3 mlly: 1.8.2 muggle-string: 0.4.1 - nostics: 1.2.0 + nostics: 1.3.0 pathe: 2.0.3 picomatch: 4.0.7 scule: 1.3.0 tinyglobby: 0.2.17 - unplugin: 3.3.0(esbuild@0.28.1)(rollup@4.64.0)(vite@8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) + unplugin: 3.4.0(esbuild@0.28.2)(rollup@4.64.5)(vite@8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0)) unplugin-utils: 0.3.2 vue: 3.5.43(typescript@5.9.3) optionalDependencies: '@vue/compiler-sfc': 3.5.43 - vite: 8.0.11(@types/node@24.19.1)(esbuild@0.28.1)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) + vite: 8.0.11(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.105.1)(sass@1.105.1)(terser@5.48.0)(tsx@4.23.15)(yaml@2.9.0) transitivePeerDependencies: - '@farmfe/core' + - '@rsbuild/core' - '@rspack/core' - bun-types-no-globals - esbuild @@ -18594,10 +19392,10 @@ snapshots: - unloader - webpack - vue-tsc@3.3.12(typescript@5.9.3): + vue-tsc@3.3.13(typescript@5.9.3): dependencies: '@volar/typescript': 2.4.28(typescript@5.9.3) - '@vue/language-core': 3.3.12 + '@vue/language-core': 3.3.13 typescript: 5.9.3 vue-virtual-scroller@2.0.1(vue@3.5.43(typescript@5.9.3)): @@ -18635,7 +19433,7 @@ snapshots: webdriver@9.29.1(supports-color@10.2.2): dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/ws': 8.18.1 '@wdio/config': 9.29.1(supports-color@10.2.2) '@wdio/logger': 9.29.1 @@ -18656,7 +19454,7 @@ snapshots: webdriverio@9.29.1(supports-color@10.2.2): dependencies: - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/sinonjs__fake-timers': 8.1.5 '@wdio/config': 9.29.1(supports-color@10.2.2) '@wdio/logger': 9.29.1 @@ -18793,10 +19591,10 @@ snapshots: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/preset-env': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) '@babel/runtime': 7.29.7 - '@rollup/plugin-babel': 6.1.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/babel__core@7.20.5)(rollup@4.64.0)(supports-color@10.2.2) - '@rollup/plugin-node-resolve': 16.0.3(rollup@4.64.0) - '@rollup/plugin-replace': 6.0.3(rollup@4.64.0) - '@rollup/plugin-terser': 1.0.0(rollup@4.64.0) + '@rollup/plugin-babel': 6.1.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/babel__core@7.20.5)(rollup@4.64.5)(supports-color@10.2.2) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.64.5) + '@rollup/plugin-replace': 6.0.3(rollup@4.64.5) + '@rollup/plugin-terser': 1.0.0(rollup@4.64.5) '@trickfilm400/rollup-plugin-off-main-thread': 3.0.0-pre1 ajv: 8.20.0 common-tags: 1.8.2 @@ -18805,7 +19603,7 @@ snapshots: fs-extra: 9.1.0 glob: 11.1.0 pretty-bytes: 5.6.0 - rollup: 4.64.0 + rollup: 4.64.5 source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -18891,24 +19689,24 @@ snapshots: '@types/trusted-types': 2.0.7 workbox-core: 7.4.1 - workerd@1.20261001.1: + workerd@1.20261006.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20261001.1 - '@cloudflare/workerd-darwin-arm64': 1.20261001.1 - '@cloudflare/workerd-linux-64': 1.20261001.1 - '@cloudflare/workerd-linux-arm64': 1.20261001.1 - '@cloudflare/workerd-windows-64': 1.20261001.1 + '@cloudflare/workerd-darwin-64': 1.20261006.1 + '@cloudflare/workerd-darwin-arm64': 1.20261006.1 + '@cloudflare/workerd-linux-64': 1.20261006.1 + '@cloudflare/workerd-linux-arm64': 1.20261006.1 + '@cloudflare/workerd-windows-64': 1.20261006.1 - wrangler@4.147.0(@types/node@24.19.1): + wrangler@4.149.0(@types/node@24.19.2): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 - '@cloudflare/unenv-preset': 2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261001.1) + '@cloudflare/unenv-preset': 2.16.2(unenv@2.0.0-rc.24)(workerd@1.20261006.1) blake3-wasm: 2.1.5 - esbuild: 0.28.1 - miniflare: 5.20261001.0-alpha(@types/node@24.19.1) + esbuild: 0.28.2 + miniflare: 5.20261006.1-alpha(@types/node@24.19.2) path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20261001.1 + workerd: 1.20261006.1 optionalDependencies: fsevents: 2.3.3 transitivePeerDependencies: @@ -19009,7 +19807,7 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.7.0 - zod@4.4.3: {} + zod@4.6.5: {} zone.js@0.15.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c18900133..d5b3d61a6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -46,23 +46,23 @@ patchedDependencies: cac@6.7.14: patches/cac@6.7.14.patch rrweb-snapshot@2.1.1: patches/rrweb-snapshot@2.1.1.patch catalog: - '@babel/core': ^8.0.6 + '@babel/core': ^8.0.7 '@babel/plugin-proposal-decorators': ^8.0.2 '@iconify-json/carbon': ^1.2.28 '@iconify-json/logos': ^1.2.15 '@iconify/vue': ^5.0.3 '@jridgewell/remapping': ^2.3.5 '@jridgewell/trace-mapping': 0.3.31 - '@playwright/test': ^1.63.0 + '@playwright/test': ^1.64.0 '@rolldown/plugin-babel': ^0.2.4 '@types/chai': ^5.2.2 '@types/estree': ^1.0.9 - '@types/node': 24.19.1 + '@types/node': 24.19.2 '@types/semver': ^7.8.0 '@types/ws': ^8.18.2 '@types/yauzl': ^3.4.0 '@unocss/reset': ^66.10.5 - '@vitejs/plugin-vue': ^6.0.9 + '@vitejs/plugin-vue': ^6.0.10 '@vitest/istanbul-lib-coverage': ^1.0.2 '@vitest/istanbul-lib-report': ^1.0.2 '@vueuse/core': ^14.4.0 @@ -72,24 +72,24 @@ catalog: cac: ^6.7.14 chai: ^6.3.0 flatted: ^3.4.4 - knip: ^6.39.0 + knip: ^6.41.0 loupe: ^3.2.1 - magic-string: ^1.4.2 + magic-string: ^1.4.3 magicast: ^0.5.5 - msw: ^3.0.2 + msw: ^3.0.3 obug: ^3.0.0 oxfmt: ^0.71.0 oxlint: ^1.86.0 pathe: ^2.0.3 - playwright: ^1.63.0 - rollup: ^4.64.0 + playwright: ^1.64.0 + rollup: ^4.64.5 semver: ^7.8.5 sinon: ^22.1.0 sinon-chai: ^4.0.1 sirv: ^3.0.2 std-env: ^4.3.0 strip-literal: ^4.0.0 - tinybench: ^6.2.0 + tinybench: ^6.2.2 tinyexec: ^1.3.1 tinyglobby: ^0.2.17 tinyhighlight: ^0.3.2 @@ -100,7 +100,7 @@ catalog: vite: 8.0.11 vitest-sonar-reporter: 3.0.0 vue: ^3.5.43 - wrangler: ^4.147.0 + wrangler: ^4.149.0 ws: ^8.22.0 yauzl: ^3.4.0 peerDependencyRules: diff --git a/test/coverage-test/package.json b/test/coverage-test/package.json index 4dfc959f2..bd2df6bab 100644 --- a/test/coverage-test/package.json +++ b/test/coverage-test/package.json @@ -7,7 +7,7 @@ }, "devDependencies": { "@jridgewell/remapping": "catalog:", - "@vitejs/plugin-vue": "^6.0.9", + "@vitejs/plugin-vue": "^6.0.10", "@vitest/browser-playwright": "workspace:*", "@vitest/cjs-lib": "file:../browser/cjs-lib", "@vitest/coverage-istanbul": "workspace:*", @@ -17,8 +17,8 @@ "@vitest/utils": "workspace:*", "@vitest/web-worker": "workspace:*", "@vue/test-utils": "^2.5.1", - "happy-dom": "^20.14.5", - "magic-string": "^1.4.2", + "happy-dom": "^20.14.6", + "magic-string": "^1.4.3", "magicast": "^0.5.5", "pathe": "catalog:", "sass-embedded": "^1.105.1", diff --git a/test/e2e/fixtures/no-module-runner/package.json b/test/e2e/fixtures/no-module-runner/package.json index 3c195b822..bc7c72089 100644 --- a/test/e2e/fixtures/no-module-runner/package.json +++ b/test/e2e/fixtures/no-module-runner/package.json @@ -10,7 +10,7 @@ "test:run": "vitest run" }, "devDependencies": { - "@types/node": "^24.19.1", + "@types/node": "^24.19.2", "@vitest/ui": "workspace:*", "tinyspy": "^4.0.6", "vite": "latest", diff --git a/test/e2e/package.json b/test/e2e/package.json index 0ad58ba4a..e67ba511b 100644 --- a/test/e2e/package.json +++ b/test/e2e/package.json @@ -12,8 +12,8 @@ }, "devDependencies": { "@opentelemetry/api": "^1.9.1", - "@opentelemetry/sdk-node": "^0.222.0", - "@opentelemetry/sdk-trace-web": "^2.11.0", + "@opentelemetry/sdk-node": "^0.223.0", + "@opentelemetry/sdk-trace-web": "^2.12.0", "@test/pkg-reporter": "link:./deps/pkg-reporter", "@test/test-dep-config": "link:./deps/test-dep-config", "@test/test-dep-error": "file:./deps/error", diff --git a/test/typescript/package.json b/test/typescript/package.json index 9161772e8..02b34b7f8 100644 --- a/test/typescript/package.json +++ b/test/typescript/package.json @@ -12,6 +12,6 @@ "devDependencies": { "pathe": "catalog:", "typescript": "^5.9.3", - "vue-tsc": "^3.3.12" + "vue-tsc": "^3.3.13" } } diff --git a/test/ui/package.json b/test/ui/package.json index 3c795baf3..2947f5adc 100644 --- a/test/ui/package.json +++ b/test/ui/package.json @@ -14,7 +14,7 @@ "@vitest/browser-preview": "workspace:*", "@vitest/coverage-v8": "workspace:*", "@vitest/ui": "workspace:*", - "happy-dom": "^20.14.5", + "happy-dom": "^20.14.6", "pathe": "catalog:", "vite": "latest", "vitest": "workspace:*" -- 2.51.2 From 6a11cf66f99fa610b7364363d5ca42b66d994f40 Mon Sep 17 00:00:00 2001 From: "vitest-release-bot[bot]" <292707936+vitest-release-bot[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 11:32:45 +0200 Subject: [PATCH 06/12] chore: release v5.0.4 (#11554) --- package.json | 2 +- packages/browser-playwright/package.json | 2 +- packages/browser-preview/package.json | 2 +- packages/browser/package.json | 2 +- packages/coverage-istanbul/package.json | 2 +- packages/coverage-v8/package.json | 2 +- packages/expect/package.json | 2 +- packages/mocker/package.json | 2 +- packages/pretty-format/package.json | 2 +- packages/snapshot/package.json | 2 +- packages/spy/package.json | 2 +- packages/ui/package.json | 2 +- packages/utils/package.json | 2 +- packages/vitest/package.json | 2 +- packages/web-worker/package.json | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 52c21447d..9ff05566d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/monorepo", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "private": true, "packageManager": "pnpm@11.28.5", "description": "Next generation testing framework powered by Vite", diff --git a/packages/browser-playwright/package.json b/packages/browser-playwright/package.json index 91bcb6ba5..b25b65db4 100644 --- a/packages/browser-playwright/package.json +++ b/packages/browser-playwright/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/browser-playwright", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Browser running for Vitest using playwright", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/browser-preview/package.json b/packages/browser-preview/package.json index de917b733..a657c2fa3 100644 --- a/packages/browser-preview/package.json +++ b/packages/browser-preview/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/browser-preview", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Browser running for Vitest using your browser of choice", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/browser/package.json b/packages/browser/package.json index c1ae65eee..34021e25a 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/browser", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Browser running for Vitest", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/coverage-istanbul/package.json b/packages/coverage-istanbul/package.json index ecaafccee..38312fcd8 100644 --- a/packages/coverage-istanbul/package.json +++ b/packages/coverage-istanbul/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/coverage-istanbul", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Istanbul coverage provider for Vitest", "author": "Anthony Fu ", "license": "MIT", diff --git a/packages/coverage-v8/package.json b/packages/coverage-v8/package.json index d7188990b..fae75f5f1 100644 --- a/packages/coverage-v8/package.json +++ b/packages/coverage-v8/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/coverage-v8", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "V8 coverage provider for Vitest", "author": "Anthony Fu ", "license": "MIT", diff --git a/packages/expect/package.json b/packages/expect/package.json index d7d9353e7..b88e7d017 100644 --- a/packages/expect/package.json +++ b/packages/expect/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/expect", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Jest's expect matchers as a Chai plugin", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/mocker/package.json b/packages/mocker/package.json index f816e3530..f6e81b20f 100644 --- a/packages/mocker/package.json +++ b/packages/mocker/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/mocker", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Vitest module mocker implementation", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/pretty-format/package.json b/packages/pretty-format/package.json index 5e8a98835..754b78a93 100644 --- a/packages/pretty-format/package.json +++ b/packages/pretty-format/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/pretty-format", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Fork of pretty-format with support for ESM", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/snapshot/package.json b/packages/snapshot/package.json index c7e08bc98..9df977598 100644 --- a/packages/snapshot/package.json +++ b/packages/snapshot/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/snapshot", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Vitest snapshot manager", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/spy/package.json b/packages/spy/package.json index cd86c4ba5..74eb4e7f7 100644 --- a/packages/spy/package.json +++ b/packages/spy/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/spy", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Lightweight Jest compatible spy implementation", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/ui/package.json b/packages/ui/package.json index 3cff85e72..a6f860ad9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/ui", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "UI for Vitest", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/utils/package.json b/packages/utils/package.json index 30e376a95..75e379825 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/utils", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Shared Vitest utility functions", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/vitest/package.json b/packages/vitest/package.json index 5e28a43cf..b14ebdd6c 100644 --- a/packages/vitest/package.json +++ b/packages/vitest/package.json @@ -1,7 +1,7 @@ { "name": "vitest", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Next generation testing framework powered by Vite", "author": "Anthony Fu ", "license": "MIT", diff --git a/packages/web-worker/package.json b/packages/web-worker/package.json index d381cf4e4..5f3a876da 100644 --- a/packages/web-worker/package.json +++ b/packages/web-worker/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/web-worker", "type": "module", - "version": "5.0.3", + "version": "5.0.4", "description": "Web Worker support for testing in Vitest", "license": "MIT", "funding": "https://opencollective.com/vitest", -- 2.51.2 From cf4f744981c1a81e39280b9743357c646d0ce8c5 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Mon, 12 Oct 2026 11:47:20 +0200 Subject: [PATCH 07/12] chore: pass down secrets to docs (#11555) --- .github/workflows/promote-docs.yml | 8 ++++++-- .github/workflows/publish.yml | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/promote-docs.yml b/.github/workflows/promote-docs.yml index 4171cce05..12c7bd7df 100644 --- a/.github/workflows/promote-docs.yml +++ b/.github/workflows/promote-docs.yml @@ -8,6 +8,11 @@ on: required: false default: main type: string + secrets: + RELEASE_GITHUB_APP_ID: + required: true + RELEASE_GITHUB_APP_PRIVATE_KEY: + required: true workflow_dispatch: inputs: target: @@ -28,8 +33,7 @@ jobs: if: github.repository == 'vitest-dev/vitest' name: Promote stable documentation runs-on: ubuntu-slim - # the app secrets live in an environment that only release branches can use, - # a reusable workflow reads them from the environment, not from the caller + # the app secrets live in an environment that only release branches can use environment: release-bot steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 57612aca0..82cd2f1ba 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -140,3 +140,8 @@ jobs: uses: ./.github/workflows/promote-docs.yml with: target: ${{ github.sha }} + # the values come from the release-bot environment of the called job, + # but it can read only the secrets that the caller passes by name + secrets: + RELEASE_GITHUB_APP_ID: ${{ secrets.RELEASE_GITHUB_APP_ID }} + RELEASE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.RELEASE_GITHUB_APP_PRIVATE_KEY }} -- 2.51.2 From 45da010ed44a1293b03d2118ed2867d21f487be8 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Mon, 12 Oct 2026 15:15:42 +0200 Subject: [PATCH 08/12] chore: add "approve" label for issues that can accept PRs (#11547) --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/scripts/pr-redirect.js | 134 ++++++++++++++++++++++--------- .github/workflows/ai-policy.yml | 3 +- AGENTS.md | 2 +- CONTRIBUTING.md | 9 ++- 5 files changed, 108 insertions(+), 42 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 7bb3af2c9..850bb911f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,5 @@ ' +const POLICY_MARKER = '' +const DUPLICATE_MARKER = '' +const APPROVED_LABEL = 'approved' function createRedirect({ github, context, core }) { const { owner, repo } = context.repo const policyUrl = `https://github.com/${owner}/${repo}/blob/main/CONTRIBUTING.md#pull-request-policy` + // closing keywords can point to any repository + function isInRepository(node) { + return node?.repository.nameWithOwner.toLowerCase() === `${owner}/${repo}`.toLowerCase() + } + // a missing list fails the run, an empty list would close the PRs of every approved contributor async function readApprovedContributors() { const { data: file } = await github.rest.repos.getContent({ @@ -62,7 +69,18 @@ function createRedirect({ github, context, core }) { closingIssuesReferences(first: 10) { nodes { number + state repository { nameWithOwner } + labels(first: 100) { + nodes { name } + } + closedByPullRequestsReferences(first: 100) { + nodes { + number + state + repository { nameWithOwner } + } + } } } } @@ -70,50 +88,94 @@ function createRedirect({ github, context, core }) { }`, { owner, repo, number: pr.number }, ) - return repository.pullRequest.closingIssuesReferences.nodes.filter( + return repository.pullRequest.closingIssuesReferences.nodes.filter(isInRepository) + } + + function createComment(marker, pr, lines) { + const body = [ + marker, + `Hello @${pr.user.login}. Thank you for taking the time to contribute!`, + '', + ...lines, + ].join('\n') + return { marker, body } + } + + async function checkLinkedIssues(pr, { reopened }) { + const issues = await findLinkedIssues(pr) + const approvedIssues = issues.filter( (issue) => - // closing keywords can point to any repository - issue?.repository.nameWithOwner.toLowerCase() === `${owner}/${repo}`.toLowerCase(), + issue.state === 'OPEN' && issue.labels.nodes.some((label) => label.name === APPROVED_LABEL), ) + for (const issue of approvedIssues) { + const others = issue.closedByPullRequestsReferences.nodes.filter( + (other) => + isInRepository(other) && + other.state === 'OPEN' && + other.number !== pr.number && + // a reopened PR must not replace the PR that was opened while it was closed + (reopened || other.number < pr.number), + ) + if (others.length) { + const list = others.map((other) => `#${other.number}`).join(', ') + return createComment(DUPLICATE_MARKER, pr, [ + `The team accepts one pull request per issue, and #${issue.number} already has an open pull request (${list}), so this pull request was closed automatically. If you think that your approach is better, please explain why in #${issue.number}.`, + '', + `Your changes are not lost: a maintainer can reopen this pull request if the team decides to go forward with it. See our [pull request policy](${policyUrl}) for more context.`, + ]) + } + } + if (approvedIssues.length) { + return { reason: `it fixes the approved issue #${approvedIssues[0].number}` } + } + const nextStep = issues.length + ? `Please keep the discussion in ${issues.map((issue) => `#${issue.number}`).join(', ')}.` + : `If there is no issue for this change yet, please [open one](https://github.com/${owner}/${repo}/issues/new/choose) to discuss it with the team first.` + return createComment(POLICY_MARKER, pr, [ + `Unfortunately, the team accepts pull requests only from maintainers and approved contributors, or for issues with the \`${APPROVED_LABEL}\` label, so this pull request was closed automatically. We are sorry about that, it is not a judgement of your work. The number of pull requests grew beyond what the team can review, and this policy gives maintainers the space to triage and prioritize issues at their own pace.`, + '', + `${nextStep} Your changes are not lost: a maintainer can reopen this pull request if the team decides to go forward with it. See our [pull request policy](${policyUrl}) for more context.`, + ]) } - async function wasRedirected(pr) { + async function findRedirectMarkers(pr) { const comments = await github.paginate(github.rest.issues.listComments, { owner, repo, issue_number: pr.number, per_page: 100, }) - return comments.some( - (comment) => comment.user?.login === 'github-actions[bot]' && comment.body?.includes(MARKER), + return new Set( + [POLICY_MARKER, DUPLICATE_MARKER].filter((marker) => + comments.some( + (comment) => + comment.user?.login === 'github-actions[bot]' && comment.body?.includes(marker), + ), + ), ) } - async function close(pr, { comment }) { + async function close(pr, comment) { if (comment) { - const issues = await findLinkedIssues(pr) - const nextStep = issues.length - ? `Please keep the discussion in ${issues.map((issue) => `#${issue.number}`).join(', ')}.` - : `If there is no issue for this change yet, please [open one](https://github.com/${owner}/${repo}/issues/new/choose) to discuss it with the team first.` await github.rest.issues.createComment({ owner, repo, issue_number: pr.number, - body: [ - MARKER, - `Hello @${pr.user.login}. Thank you for taking the time to contribute!`, - '', - 'Unfortunately, the team accepts pull requests only from maintainers and approved contributors, so this pull request was closed automatically. We are sorry about that, it is not a judgement of your work. The number of pull requests grew beyond what the team can review, and this policy gives maintainers the space to triage and prioritize issues at their own pace.', - '', - `${nextStep} Your changes are not lost: a maintainer can reopen this pull request if the team decides to go forward with it. See our [pull request policy](${policyUrl}) for more context.`, - ].join('\n'), + body: comment.body, }) } await github.rest.pulls.update({ owner, repo, pull_number: pr.number, state: 'closed' }) core.info(`#${pr.number} by @${pr.user.login} is closed`) } - return { readApprovedContributors, hasWriteAccess, findReasonToSkip, wasRedirected, close } + return { + readApprovedContributors, + hasWriteAccess, + findReasonToSkip, + checkLinkedIssues, + findRedirectMarkers, + close, + } } /** @@ -131,21 +193,20 @@ export default async function redirectPullRequest({ github, context, core }) { return } + const reopened = context.payload.action === 'reopened' const approved = await redirect.readApprovedContributors() let reason = await redirect.findReasonToSkip(pr, approved) - if ( - !reason && - context.payload.action === 'reopened' && - (await redirect.hasWriteAccess(context.payload.sender.login)) - ) { + if (!reason && reopened && (await redirect.hasWriteAccess(context.payload.sender.login))) { reason = 'a maintainer reopened it' } - if (reason) { - core.info(`#${pr.number} is skipped: ${reason}`) + const result = reason ? { reason } : await redirect.checkLinkedIssues(pr, { reopened }) + if (result.reason) { + core.info(`#${pr.number} is skipped: ${result.reason}`) return } - // a PR reopened by its author is closed again without a second comment - await redirect.close(pr, { comment: !(await redirect.wasRedirected(pr)) }) + // a PR reopened by its author gets the same comment only once + const markers = await redirect.findRedirectMarkers(pr) + await redirect.close(pr, markers.has(result.marker) ? null : result) } /** @@ -172,12 +233,13 @@ export async function redirectOpenPullRequests({ github, context, core }) { // a PR that cannot be processed stays open and must not block the other PRs try { let reason = await redirect.findReasonToSkip(pr, approved) - // the event workflow closes a PR reopened by its author, so only a maintainer could reopen it - if (!reason && (await redirect.wasRedirected(pr))) { - reason = 'a maintainer reopened it' + // the event workflow checks a PR again when someone reopens it + if (!reason && (await redirect.findRedirectMarkers(pr)).size) { + reason = 'it was reopened after a redirect' } - if (reason) { - core.info(`#${pr.number} is skipped: ${reason}`) + const result = reason ? { reason } : await redirect.checkLinkedIssues(pr, { reopened: false }) + if (result.reason) { + core.info(`#${pr.number} is skipped: ${result.reason}`) continue } closed++ @@ -185,7 +247,7 @@ export async function redirectOpenPullRequests({ github, context, core }) { core.info(`#${pr.number} by @${pr.user.login} would be closed`) continue } - await redirect.close(pr, { comment: true }) + await redirect.close(pr, result) // GitHub limits how fast a token can create content await new Promise((resolve) => setTimeout(resolve, 2000)) } catch (error) { diff --git a/.github/workflows/ai-policy.yml b/.github/workflows/ai-policy.yml index 3a030926a..ac0024b49 100644 --- a/.github/workflows/ai-policy.yml +++ b/.github/workflows/ai-policy.yml @@ -1,7 +1,8 @@ name: AI Policy # Closes pull requests from accounts flagged as bots, then closes pull requests from the community -# and asks to discuss the change in an issue, see "Pull Request Policy" in CONTRIBUTING.md. +# that do not fix an approved issue and asks to discuss the change in an issue, +# see "Pull Request Policy" in CONTRIBUTING.md. # # SECURITY: this workflow must never check out or run code from a pull request. # The jobs read the pull request through the API and use its content only as data. diff --git a/AGENTS.md b/AGENTS.md index c2460707e..5aff90368 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -262,4 +262,4 @@ PRs are squash-merged, so the PR title becomes the commit message. Nothing in CI This repository has a limit of 1 PR if you don't have write access. DO NOT try to bypass it by creating draft PRs. If you cannot create a pull request, let a human know that you will not breach this repository's policy because it will ban the PR author in Vitest organisation. -A PR from a user who is not an approved contributor is closed automatically as soon as it is opened (see "Pull Request Policy" in CONTRIBUTING.md). Tell your operator about this policy before you open a PR. DO NOT try to bypass it. +A PR from a user who is not an approved contributor is closed automatically as soon as it is opened, unless it fixes an open issue with the `approved` label that has no other open PR (see "Pull Request Policy" in CONTRIBUTING.md). Tell your operator about this policy before you open a PR. DO NOT try to bypass it. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bc9ffc8c3..77d70d246 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -83,7 +83,9 @@ npm i https://pkg.pr.new/vitest@{commit} ## Pull Request Policy -The team accepts pull requests only from members of the Vitest team and [approved contributors](https://github.com/vitest-dev/vitest/blob/approved-contributors/APPROVED_CONTRIBUTORS). Any other pull request is closed automatically as soon as it is opened. +The team accepts pull requests from members of the Vitest team, from [approved contributors](https://github.com/vitest-dev/vitest/blob/approved-contributors/APPROVED_CONTRIBUTORS), and for open issues with the [`approved`](https://github.com/vitest-dev/vitest/issues?q=is%3Aissue%20state%3Aopen%20label%3Aapproved) label. Any other pull request is closed automatically as soon as it is opened. + +To work on an approved issue, open the pull request against `main` and link the issue in its description with a [closing keyword](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), for example `Fixes #123`. The team accepts one pull request per issue: if another pull request for the same issue is already open, the new one is closed automatically. We know this is unfortunate, and it is not a judgement of your work. The number of pull requests grew beyond what the team can review, and this policy gives maintainers the space to triage and prioritize issues at their own pace. Please describe the bug or the feature in an [issue](https://github.com/vitest-dev/vitest/issues/new/choose) instead, so the team and the community can discuss it first. Your work is not lost: a maintainer can reopen a closed pull request if the team decides to go forward with the change. @@ -249,10 +251,11 @@ flowchart TD The [`AI Policy`](./.github/workflows/ai-policy.yml) workflow applies the [pull request policy](#pull-request-policy) when a pull request is opened or reopened. It comments on the pull request, pointing to the linked issues or asking to open a new one, and closes it. It never touches pull requests from members of the `vitest-dev` organization, from repository collaborators, or from apps that push branches to this repository (for example, Renovate). Users with write access to the repository control the rest: -- Reopen a pull request to keep it open. The workflow closes it again only if someone without write access reopens it. +- Add the `approved` label to an issue to accept a pull request for it from anyone. The workflow keeps such a pull request open if it links the issue with a closing keyword, the issue is open, and no other open pull request links the same issue. The label does not reopen pull requests that the workflow closed before. +- Reopen a pull request to keep it open. If someone without write access reopens it, the workflow applies the policy again. - Comment `/approve-user` on an issue or a pull request to add its author to the approved contributors. Comment `/approve-user username` to add a specific user. It must be a regular comment, not a review, and it must contain nothing but the command. The [`Approve Contributor`](./.github/workflows/approve-contributor.yml) workflow reacts to it with 🚀 when the user is on the list. - The list is the `APPROVED_CONTRIBUTORS` file on the [`approved-contributors`](https://github.com/vitest-dev/vitest/blob/approved-contributors/APPROVED_CONTRIBUTORS) branch. Each line is an account id followed by the login as a comment, for example `12345 # username`. Only the id counts, so a renamed account stays approved and nobody else can take its place; the login is there for people to read. Delete a line to remove a contributor. Both workflows fail, and no pull request is closed, if the branch or the file is missing. -- Run the [`PR Redirect All`](./.github/workflows/pr-redirect-all.yml) workflow manually to close every open pull request that the policy would close. It skips pull requests that a maintainer reopened after they were closed. Keep the `dry-run` option on first to see which pull requests it would close. +- Run the [`PR Redirect All`](./.github/workflows/pr-redirect-all.yml) workflow manually to close every open pull request that the policy would close. It skips pull requests that were reopened after the workflow closed them. If more than one pull request links the same approved issue, it keeps the oldest one. Keep the `dry-run` option on first to see which pull requests it would close. ## Notes on Dependencies -- 2.51.2 From f15bdac4f05d2838855d4bd4f47e4076036ea18b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 20:04:45 +0200 Subject: [PATCH 09/12] chore(deps): update oxc packages (#11551) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Vladimir Sheremet --- docs/api/expect-typeof.md | 1 + pnpm-lock.yaml | 330 +++++++++++++++++++------------------- pnpm-workspace.yaml | 4 +- 3 files changed, 168 insertions(+), 167 deletions(-) diff --git a/docs/api/expect-typeof.md b/docs/api/expect-typeof.md index 2014f5171..1770c49a8 100644 --- a/docs/api/expect-typeof.md +++ b/docs/api/expect-typeof.md @@ -34,6 +34,7 @@ expectTypeOf({ a: 1, b: 1 }).not.toEqualTypeOf<{ a: number }>() ::: warning DEPRECATED This matcher has been deprecated since expect-type v1.2.0. Use [`toExtend`](#toextend) instead. ::: + This matcher checks if expect type extends provided type. It is different from `toEqual` and is more similar to [expect's](/api/expect) `toMatchObject()`. With this matcher, you can check if an object “matches” a type. ```ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6a7d2cfc2..5674aeb7c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -100,11 +100,11 @@ catalogs: specifier: ^3.0.0 version: 3.0.0 oxfmt: - specifier: ^0.71.0 - version: 0.71.0 + specifier: ^0.72.0 + version: 0.72.0 oxlint: - specifier: ^1.86.0 - version: 1.86.0 + specifier: ^1.87.0 + version: 1.87.0 pathe: specifier: ^2.0.3 version: 2.0.3 @@ -217,10 +217,10 @@ importers: version: 6.41.0 oxfmt: specifier: 'catalog:' - version: 0.71.0 + version: 0.72.0 oxlint: specifier: 'catalog:' - version: 1.86.0 + version: 1.87.0 premove: specifier: ^4.0.0 version: 4.0.0 @@ -4505,246 +4505,246 @@ packages: cpu: [x64] os: [win32] - '@oxfmt/binding-android-arm-eabi@0.71.0': - resolution: {integrity: sha512-l31EyBfB4egJeFua11aQFEUE9nnDtfpWCadqQovm0WL30t/yUHtdFl/5HyFXvd5xT8Ewh3U4TI9f30GowrQ1fw==} + '@oxfmt/binding-android-arm-eabi@0.72.0': + resolution: {integrity: sha512-u4U1uaDOVBuorGNC/07NLm48nECHOiJJka002YGML16Md2DRvf38RGBt01lH60EOGvNlFVmbLoksQedNBoZHKw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.71.0': - resolution: {integrity: sha512-E8q39SUZzSXQ08oZoFoTkxRADkdBNgL6De4qgZYr2O4JCunwqrZwAyCebxIF3yVHBafHM30WUkhTkDi+jNYZOw==} + '@oxfmt/binding-android-arm64@0.72.0': + resolution: {integrity: sha512-GCnM+Ae2mWOKC+92y3FOb6eZJeVnBAVz82e3lITUUg+kxukYKzBNAvJ/hhHIfa2A0md55SYYhdWPddSSy3KPVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.71.0': - resolution: {integrity: sha512-pTteTrN88DicrmJ3DocBmpNDa6Umfh0iveEG8rnAlDFQpclmtDS7hnIvZbIEV9mDO0Ot1U0sjtoJQ1itd/ZMhQ==} + '@oxfmt/binding-darwin-arm64@0.72.0': + resolution: {integrity: sha512-LjQ8tlevdtwraFlWC6AnQ1Forzde0clRmnsP3QmK+ydSElDt/J+5Jc+m+//Ly1G97aP7WCNUw110QMIUw2K7xA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.71.0': - resolution: {integrity: sha512-G5melRC3IiNEgXlNKJhSExJYQGAQIppHFp2cl/wFrqQcEwmc4k4TkrHaFTR29SDudjoW5AZq5cXPGJDqtlH/Yg==} + '@oxfmt/binding-darwin-x64@0.72.0': + resolution: {integrity: sha512-+ZbcxhB1C34RQR5IldSyY6Z/yalJIxHXhP36PGE4sEq0f/lgL5jCLmOKoDeVm8dqd9gFGDsd1bNWHSGCAwdSkw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.71.0': - resolution: {integrity: sha512-Hb1P5yKb9aiH2VSbm3Ml37mKjzqpunYet9krw/YK7V5JsAUJDQlju3Yk/dEqQvJD/usBvpi01Vbk9ZDNo0a8Cw==} + '@oxfmt/binding-freebsd-x64@0.72.0': + resolution: {integrity: sha512-yGPhA8sePEBFV9iGcprhyOk3Bz3fZshswMH3DpYIPZFLT1DG5LjiZ0j6AJQpSueaL6bUK0av1K+5+fe+ldy5EQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.71.0': - resolution: {integrity: sha512-r7n4JEO+rkp0kaP3ia+0hv6FzK3PQIHqaF0jxGuhjJ4JHVX9ZVRbgpDVDW+OloyuJsRWpWFDKIHe8gfl1p/4mQ==} + '@oxfmt/binding-linux-arm-gnueabihf@0.72.0': + resolution: {integrity: sha512-/g5axuqFMcAtoQrFLR5EJEMDjR5Ea4GuzpdDmMpPWAgrF1DmL4kD1NPNVlpXEOxpFJnD6lPvLKYj1lzdlrfifA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.71.0': - resolution: {integrity: sha512-EEynTF4nakgqDhVCmd3cHQCmTcw0BM8ea6eHigTdtZ3yxdsBNv+dYkt+OpDDZx1n/jzjI7J+Ht7IgkqFWuJUxQ==} + '@oxfmt/binding-linux-arm-musleabihf@0.72.0': + resolution: {integrity: sha512-InVitdHbS09PM+w+WinIiyX37rC9R3L7lUP9mKy9uKTEDSUFaLjWsLoreRIxKivnv7Ndqc6Trvi+K+b6ZzhiJg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.71.0': - resolution: {integrity: sha512-7VgJIrywCwR/G6YMv+HqsccUt8Z4q4mbM2xR+Ry/6AeMk4pCmZ9aO4Srd3mmrvVu8PsCZGP7oHEHSXWTmyloaQ==} + '@oxfmt/binding-linux-arm64-gnu@0.72.0': + resolution: {integrity: sha512-WKjlyRAxpPjXoqeuwFBim5LscgvY+RNEiZ971C9JlRQZONhJTsXDki/oHFYQE+fzzRpzXh3owZvOdT3kNL2g+g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.71.0': - resolution: {integrity: sha512-AOCaminv/+fhinUXKvtPZT4POhNYmN9GfvaJdgJa1AbvuzClWGwDIXfJg8eu3sYaVL2B68jNvmS7LZGAYa0z3A==} + '@oxfmt/binding-linux-arm64-musl@0.72.0': + resolution: {integrity: sha512-poafnbsPpJhR+5Mbwpf8CscugTyiRAzjTOxRVn8ra3X2jnURs2xL5Du2xl5g2iW85lICMglpmLf8jDjZEbNgzQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.71.0': - resolution: {integrity: sha512-0SHxuaa4QRLM7jfsd8wc6L7KdLg+FR6/ah9k1eAvcrK/Sni7oxchMvsjwUsyakVAta+wBVDkjJTr7/RFU0uUGA==} + '@oxfmt/binding-linux-ppc64-gnu@0.72.0': + resolution: {integrity: sha512-zNUi0gKRsO7S3IfPzsTbnm88OedPuX32hmZFWZRWHvWJlAoZRwVbeO6Nb3hng4vDgL7qUKp4TGqzPz1mhsycYg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.71.0': - resolution: {integrity: sha512-UNKj1+rPorTK6uSlQzpN96vDNbHbL/63zcpznweo0ImQdkDdtQCS7G3puxX++2cESPKT2B56Y6DICUmFTJde5A==} + '@oxfmt/binding-linux-riscv64-gnu@0.72.0': + resolution: {integrity: sha512-qTY7z/iyF/rWI2HWwWMevXqZW5PZUOofUy2afK7v6rseXnpld3yjgyIk6pCux3DqWQ0lB+f5atvLJNBwzLvFsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.71.0': - resolution: {integrity: sha512-5cVXKj7a0mWu7GU6/bZgNyv+KtLgM5S9cnT26Os2/abj8pK/bklHsbdYEHGLLniGjNYkyzwem8mZciPCaDtilw==} + '@oxfmt/binding-linux-riscv64-musl@0.72.0': + resolution: {integrity: sha512-w18qfo8vEMD6EKEHtzTvjc6jH8yCyXIT1Bn7PFWJd0PpZyzH/VQDx4xvjCh0LGz6GRzqiezbisTdG9AoXtpkZQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.71.0': - resolution: {integrity: sha512-lNpcMuZvyU1V/CY5h19hac03m4E4PLSYRckcxZOynSPojI4Mwt6nEu9wT/gVf0bclH3xGEWjwqApnSTgjkd2oA==} + '@oxfmt/binding-linux-s390x-gnu@0.72.0': + resolution: {integrity: sha512-grW8HwEir+vK7fCcq1ZgL3NHQCfZ1PidiERE9Hbf+24xGys+DoDaoqTht4ccfn0PcBwbViLkwkda/KNpJu2KRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.71.0': - resolution: {integrity: sha512-5/Z6pUewQpknXqC4/ykK6Zc6RiteAnPem1Ci7K1RZLVF6w6MMjwHjR4vsjijW4Czidgv7HKeVglGjElADliT9w==} + '@oxfmt/binding-linux-x64-gnu@0.72.0': + resolution: {integrity: sha512-wQJRQfWBRIn88Pkr449EUViwRayrYUScg7ty+Ihiem21mQ9BUA6S9e/4RAgyNk9lMag0KBouyKskjq61rOC0WQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.71.0': - resolution: {integrity: sha512-uVdG2N/4GEbOeljpQ+xv+NeEwJWJGj0WaxSiSYnoiqIYy3RWrWd3rGUmxWXP1A8+ferNvvwFoDAtvgsDUvBuSw==} + '@oxfmt/binding-linux-x64-musl@0.72.0': + resolution: {integrity: sha512-T1B0uQzafxuGPjjaPrZJ497nxoi1BiI65JfsYc56nNpmev3msfb/iaTmH2kQuNFqa8PKxpMlf3GhWrWBvBPORQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.71.0': - resolution: {integrity: sha512-1LwEZmSDRFKeBaGd/Hgj2xI3SmgGFpF4YtgkSx0sTYdTiZfHWbcFvRIBjL1YiDNdQd9Khda3Ij8CoqBULjskDg==} + '@oxfmt/binding-openharmony-arm64@0.72.0': + resolution: {integrity: sha512-OKxxgTurl7+hypVplO8QRAbbQlwEs0j1Y6FZv+ZN2qNbdxQk2muMlzuJNBGTCWwxQ0rkkOD1uK/DW1fvzoUSJA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.71.0': - resolution: {integrity: sha512-5tplmkeMXmza3PUptJQy25wCPJbIAg5g5r7zs+DI+7eEYOqbY+7roMdSH2zbDvv1Pb4oTDJ6NWYx9IRxBxXwhQ==} + '@oxfmt/binding-win32-arm64-msvc@0.72.0': + resolution: {integrity: sha512-L78TKzURqvjuZOCo88ixMbPXf/RP7u31Y0cmjJ/KEmrHmfYhmhEvsDaTYPiyTRne64jUgCbADfY0YeoQk4/Xyw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.71.0': - resolution: {integrity: sha512-T2LWgh3Vx4PYDjtcqRRGDyCsVxeF/VE5xTpUQiCm65bNLwMpRnJYj6Hlkf6qRM3+jxCIOqHD1kVHNQCCiAVMNQ==} + '@oxfmt/binding-win32-ia32-msvc@0.72.0': + resolution: {integrity: sha512-gQtFW+Ii8BWgtJTAD17TY/WsdNS5gUfAPov8iI1jeq4r9lRRYImmxPL08UU00/RLaCfBJwh2UgINnDY0iOiZ+A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.71.0': - resolution: {integrity: sha512-L06SVp7Hu1EQTkh3+PHnKK26dxVbEpOG2InMwCooTE4MA437b5FgfTleCCiGn4ykISHnHU6UHaIg7SiMO7rBHA==} + '@oxfmt/binding-win32-x64-msvc@0.72.0': + resolution: {integrity: sha512-uhooIN+DCzWX5uH7mQkSVCsODqsGluGJ4n3ch4+mITtWKpESMDjUJUSDBAVFuYQDwqY2McPDKdKJbM0oZVW/Qw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@oxlint/binding-android-arm-eabi@1.86.0': - resolution: {integrity: sha512-63Ozq6yQn79B2UxjSZ9huJmI+3/ZPI7hxAe6TyFh9oQL447KnIMoffOdtog+h4KILbQr61ZRvFPW5gYbAUgpgQ==} + '@oxlint/binding-android-arm-eabi@1.87.0': + resolution: {integrity: sha512-22tVIHlB9898OYsBKmYB6He1MCSqdTmK1BVWuSNUTVrpS0KWNege+U9uEYqGJ+KatQag0r/oU44i3OOs46z7HQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.86.0': - resolution: {integrity: sha512-JdLGp44phbf/0Du236Dt06yfK6Qw8xhTFeDvHJdjk167r59OfP5+BL31mgMYVnswS8e+j6tFuccSY0QDC/lgCw==} + '@oxlint/binding-android-arm64@1.87.0': + resolution: {integrity: sha512-JfZQ3MWf74n8ov0DojZpkOduIubYJvZL5tbTMMhDutsal6u1xH1QuNpN+lK+EQwF8AeAfgwTR2fgh5U2br27XA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.86.0': - resolution: {integrity: sha512-h+vkOr4ik6KLFCXdtNVEj9xfnXfNUpPoF95QjORdhiSpLqQePzcN81kGHjAgsw1/G7WBWK5KsFKbI2UK8EyzMA==} + '@oxlint/binding-darwin-arm64@1.87.0': + resolution: {integrity: sha512-rkx6Xvvw93z2GImVOyvbZwAZcoY0Z6MJW177XNsSB+i/CBsH7ANyelTp01VZyIkM3iSXtqKVb4+ptBgPHap5pQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.86.0': - resolution: {integrity: sha512-wbglRuH5eKsp68keTOOeKDHU1astWSRYFsh2bwKQTAPb44rD6kVgzYI1ZrAJRTc6/7PH55ZXFCQx0rQXrj0UdA==} + '@oxlint/binding-darwin-x64@1.87.0': + resolution: {integrity: sha512-cw5nYw7L/pQ2SgGBgOcg/Qo89llQre3vIc/kuBLhSICzu1r5s8L76H3ug6AIFsD98WpROj8/z5JVzkf4daxHaQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.86.0': - resolution: {integrity: sha512-yTQ7QSOlNfQsrfbeVweTiegQJLKPjUKgXp/JpGiFzza6Hp29S9LAoH77TM3L0RjK39iQRZB5lk5iq2t241Mfag==} + '@oxlint/binding-freebsd-x64@1.87.0': + resolution: {integrity: sha512-x/SuznE6loRZK9gz9AS4ZmzNzSu+5KdeoCS+sVHhnrE8HM6AD8UyTjwldQTTqlXGvkwHASgB0NiTNOc3o3PdAg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.86.0': - resolution: {integrity: sha512-QYJGy0E2Tv8GAayyBIeHFTwQb8u+zrvrOYrifuDGZDr9ad5XsDhiMScpZymhS9fwWjqrgG2ZUwT4vpY0ISqp4Q==} + '@oxlint/binding-linux-arm-gnueabihf@1.87.0': + resolution: {integrity: sha512-+JEDmCAXiiFmKhAjZhgAOwaHWY6WENOQ5QA+lFuY59tgsUCDOTRi46B+lENK6CWvtxsXpwkZXNOgpjAQcpIpnA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.86.0': - resolution: {integrity: sha512-oQo83CafLT8p3qh0AGkN0tSUIh5Hm63mfDsoqUmBQUBnSZLNBAbyRaAftfGY5a0cKZ34dG6jAtMYgcY5kZqt5g==} + '@oxlint/binding-linux-arm-musleabihf@1.87.0': + resolution: {integrity: sha512-/uC9XqXLAC9AHFLNycwmSQEvKqGrOCgU+uXALI7gNW0DG81TJ/3T2eHnKdRvcb5R1gFEfjxDwI4e4zIa29rICQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.86.0': - resolution: {integrity: sha512-EM6wy5c2UM12qPb7iDJDBAZvHyfEJGH6iosFgaFiaRZpirz99//EHcUyD2KAskz07x1TULuiAtsojf4nvWWksw==} + '@oxlint/binding-linux-arm64-gnu@1.87.0': + resolution: {integrity: sha512-FTRYPsBy/M728vnUv7l+KAwSAa3Qi4BQbhVvy7NYuMTZ0sUa/OWsbMx79HVFw6u/5KWcaYayDsoOiv7xbevzDg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-arm64-musl@1.86.0': - resolution: {integrity: sha512-vCiUQb9ZNzZalxYRU4mlZwUqT5f+c7Sk9DwUOplWHtik3Dl4r3DVnUB5tBeRuTAUe6MUVCTylNW7TkkN8J1oTw==} + '@oxlint/binding-linux-arm64-musl@1.87.0': + resolution: {integrity: sha512-6sC+N7IY0h1egd8SrYUGNN7CUyKJZ4bIZakKa7V7hfinf4jfi8Kq4+klJvFp5DqXcwMn44I5MeBwmJluO1odFg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxlint/binding-linux-ppc64-gnu@1.86.0': - resolution: {integrity: sha512-T0AzE89yjTYmOhB/hb6i+rWTpe2mYt+xiguBhs9DEPIJTZ1H8OYqsE4VxJHHw2Wlq8Mztwvp2P8NV87ZOuhPRw==} + '@oxlint/binding-linux-ppc64-gnu@1.87.0': + resolution: {integrity: sha512-d5Mnn+ICbhoJPi37Ccjy+86T5qfH2+mSTrTMBXNPfB+wqSWOayBBLLIrCXdUy1YssluCVdGkl+DO9w5r5ODmUA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-gnu@1.86.0': - resolution: {integrity: sha512-s49r0K2f5Oc7fJoMUO1WkdhYK5Ob79uYRwWQ/XNoGysaOq3RUGmGUbHSuXiyydTTA+P9xEdDEnnlZVXiaSJhlw==} + '@oxlint/binding-linux-riscv64-gnu@1.87.0': + resolution: {integrity: sha512-sf5YWuUo1Dx9loqWCgF8P278MycfcD4JHjDC/LV5j11L3Lqa4PFiwCjD6B8kP4AjsgZZkLn3xbpJEtZBaccs4Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-musl@1.86.0': - resolution: {integrity: sha512-JIa2tYR8ayb3nvcMSZzn4O/xTy13S7MHllu7cBD+B5qDQXXSRy/Vwk1aNpiTjZmBJGwKCHOy/NvnY5Xcwg27uQ==} + '@oxlint/binding-linux-riscv64-musl@1.87.0': + resolution: {integrity: sha512-+aCraYbmK3uU3P0rFojjeaK9pGY6JvBDXh/0CM+gPyWKmNmXmnFe0qj4qj02U4ibFpbd9Pa9CmDvIdjJUd29rA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxlint/binding-linux-s390x-gnu@1.86.0': - resolution: {integrity: sha512-XwXMyBsAuWZkhZU74UNcfQKr1CJJAKnS80dZzOnjl6A4fKcf91IjFgidegQugMHA5SN8ulwDXEDV1yPntjXgQQ==} + '@oxlint/binding-linux-s390x-gnu@1.87.0': + resolution: {integrity: sha512-7rzbZQIljo6VLWVPqUyLa2P/WV3VFsJB4M52R4NCUJn1A50yjtUsHxiMHFL9opEKGFIiTbZ3VQzmtcJOPUq4NQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-gnu@1.86.0': - resolution: {integrity: sha512-C1WjukSyMnr66b+w1/tV8RFVv6d9v0MzDf4p9IxVXknqgmTHBgZh1pccN1eHzFr0b9Tbb3OXoPsAAdAuHAQfeA==} + '@oxlint/binding-linux-x64-gnu@1.87.0': + resolution: {integrity: sha512-Dry46Fa+AXE/xt9J/YriujU1pU9mzfNWHGQwtOYibAFH8HLrKWCi93AhIGnuUMiwn2JbuBkRyz51f50Ly4r4ow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-musl@1.86.0': - resolution: {integrity: sha512-ap6KLmvC38c6MdYzsIh25cXQupqYvjd37tMNftzrX1DCtkX1Gcf2B+S2B17dD4lKa5c5gJog7DQJyDo82PBKyw==} + '@oxlint/binding-linux-x64-musl@1.87.0': + resolution: {integrity: sha512-f/HMZez74gJvnRpGz+b5sdGyWrEgRLmFTXg9sNoqjPWogGxYHUhXKTKyMiYsu9rUGR2ciYqL3fk+Ua4JhMJbRA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxlint/binding-openharmony-arm64@1.86.0': - resolution: {integrity: sha512-996Q9w/2GLwNyy5Djs39Jt09aFlr4b7TPhoj7dvo5FHmcyiF68nPz73HNc5UAYKIYeK+M9JzPQ4Wg1r1dXvP6A==} + '@oxlint/binding-openharmony-arm64@1.87.0': + resolution: {integrity: sha512-lEC6ZfPZm/07JlB7FsOWX9o1RiHlXiBW594LSUGuXmekC8LZmvUPP9XzE2WZcNxJi5cHA/Fw56o02c3JxgMA5g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.86.0': - resolution: {integrity: sha512-9uTCHYTknNkug5+46ViSoUMuOuGWK61D87QnblU6CXaWKJC630Z7dbls61vdHxya/cR2ycQZ6Mm6ckgF6Cag5g==} + '@oxlint/binding-win32-arm64-msvc@1.87.0': + resolution: {integrity: sha512-afBWKOD36dUiA9AenaiWpCg8xfyUVPYznyAAVXu413brK4RA5UI/Xoc4yfeGIT8G1a44MV+JR7hioryerBDzGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.86.0': - resolution: {integrity: sha512-a47ga7EKVfMU8rO0i1m3mGwfNRj3FhQyt1d/ukO/E9u1HHF3KpR3tyb3VhuJBGEVPF8uR4exSyHUyx7xbE+uxw==} + '@oxlint/binding-win32-ia32-msvc@1.87.0': + resolution: {integrity: sha512-daptNsEOuru4/nJTxV4DBHNJ5GepzmaBVQf+jjgKQGi9NRlZKik+RFq4hUL7ewsF1pwjKM+SkYaMbF82UwFGnw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.86.0': - resolution: {integrity: sha512-az4dzifCRzES1crwu6pDFXzJTIanrdxXFL9TbiJWrx9LKcuacbR83aPvxDA1LKLNswi/RoqitC7Afcflhu3zBQ==} + '@oxlint/binding-win32-x64-msvc@1.87.0': + resolution: {integrity: sha512-k+m/EShyXE29J/r1fjk0HlAzhN5JhIvj044oSJkXTEkCLrWZQgXb/3r4q5LTw/eaKW/4GuMXG2xmiJs3s5rPNw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -8610,8 +8610,8 @@ packages: peerDependencies: oxc-parser: '>=0.98.0' - oxfmt@0.71.0: - resolution: {integrity: sha512-lUPUl0d/+Io5pDrsPXWs6rB4N/bpB78oj9CTDpnbulfDz+0r3XXcHPlQ7kRPJ2GjIT4nX+/mcqunOeP9BvsEtg==} + oxfmt@0.72.0: + resolution: {integrity: sha512-16OQeL0uhPZbfmT9S9WWM0Nv9+BmVi8Ra1uTYaSKj/qSCs6FB30KOhz9JoNYw6thT+K5bVxsk/tSEOu497i34g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -8623,8 +8623,8 @@ packages: vite-plus: optional: true - oxlint@1.86.0: - resolution: {integrity: sha512-og0lhgvZfgGF//gOOmZXvtr+GmBbAGEnbEhv/QUg7UW2Wi4wHMnJbnMD+zuHgPdJxdklfgpPupdlAaAySyxrZg==} + oxlint@1.87.0: + resolution: {integrity: sha512-drxVlaW7Oqq7wSy1CN25znRu00aRq8n57Q2wniJRxCmtYVz07ufCm7EVDPQFZURrTgQIjzKrVEHAD/HcvJXObg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -13022,118 +13022,118 @@ snapshots: '@oxc-transform/binding-win32-x64-msvc@0.152.0': optional: true - '@oxfmt/binding-android-arm-eabi@0.71.0': + '@oxfmt/binding-android-arm-eabi@0.72.0': optional: true - '@oxfmt/binding-android-arm64@0.71.0': + '@oxfmt/binding-android-arm64@0.72.0': optional: true - '@oxfmt/binding-darwin-arm64@0.71.0': + '@oxfmt/binding-darwin-arm64@0.72.0': optional: true - '@oxfmt/binding-darwin-x64@0.71.0': + '@oxfmt/binding-darwin-x64@0.72.0': optional: true - '@oxfmt/binding-freebsd-x64@0.71.0': + '@oxfmt/binding-freebsd-x64@0.72.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.71.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.72.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.71.0': + '@oxfmt/binding-linux-arm-musleabihf@0.72.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.71.0': + '@oxfmt/binding-linux-arm64-gnu@0.72.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.71.0': + '@oxfmt/binding-linux-arm64-musl@0.72.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.71.0': + '@oxfmt/binding-linux-ppc64-gnu@0.72.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.71.0': + '@oxfmt/binding-linux-riscv64-gnu@0.72.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.71.0': + '@oxfmt/binding-linux-riscv64-musl@0.72.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.71.0': + '@oxfmt/binding-linux-s390x-gnu@0.72.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.71.0': + '@oxfmt/binding-linux-x64-gnu@0.72.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.71.0': + '@oxfmt/binding-linux-x64-musl@0.72.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.71.0': + '@oxfmt/binding-openharmony-arm64@0.72.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.71.0': + '@oxfmt/binding-win32-arm64-msvc@0.72.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.71.0': + '@oxfmt/binding-win32-ia32-msvc@0.72.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.71.0': + '@oxfmt/binding-win32-x64-msvc@0.72.0': optional: true - '@oxlint/binding-android-arm-eabi@1.86.0': + '@oxlint/binding-android-arm-eabi@1.87.0': optional: true - '@oxlint/binding-android-arm64@1.86.0': + '@oxlint/binding-android-arm64@1.87.0': optional: true - '@oxlint/binding-darwin-arm64@1.86.0': + '@oxlint/binding-darwin-arm64@1.87.0': optional: true - '@oxlint/binding-darwin-x64@1.86.0': + '@oxlint/binding-darwin-x64@1.87.0': optional: true - '@oxlint/binding-freebsd-x64@1.86.0': + '@oxlint/binding-freebsd-x64@1.87.0': optional: true - '@oxlint/binding-linux-arm-gnueabihf@1.86.0': + '@oxlint/binding-linux-arm-gnueabihf@1.87.0': optional: true - '@oxlint/binding-linux-arm-musleabihf@1.86.0': + '@oxlint/binding-linux-arm-musleabihf@1.87.0': optional: true - '@oxlint/binding-linux-arm64-gnu@1.86.0': + '@oxlint/binding-linux-arm64-gnu@1.87.0': optional: true - '@oxlint/binding-linux-arm64-musl@1.86.0': + '@oxlint/binding-linux-arm64-musl@1.87.0': optional: true - '@oxlint/binding-linux-ppc64-gnu@1.86.0': + '@oxlint/binding-linux-ppc64-gnu@1.87.0': optional: true - '@oxlint/binding-linux-riscv64-gnu@1.86.0': + '@oxlint/binding-linux-riscv64-gnu@1.87.0': optional: true - '@oxlint/binding-linux-riscv64-musl@1.86.0': + '@oxlint/binding-linux-riscv64-musl@1.87.0': optional: true - '@oxlint/binding-linux-s390x-gnu@1.86.0': + '@oxlint/binding-linux-s390x-gnu@1.87.0': optional: true - '@oxlint/binding-linux-x64-gnu@1.86.0': + '@oxlint/binding-linux-x64-gnu@1.87.0': optional: true - '@oxlint/binding-linux-x64-musl@1.86.0': + '@oxlint/binding-linux-x64-musl@1.87.0': optional: true - '@oxlint/binding-openharmony-arm64@1.86.0': + '@oxlint/binding-openharmony-arm64@1.87.0': optional: true - '@oxlint/binding-win32-arm64-msvc@1.86.0': + '@oxlint/binding-win32-arm64-msvc@1.87.0': optional: true - '@oxlint/binding-win32-ia32-msvc@1.86.0': + '@oxlint/binding-win32-ia32-msvc@1.87.0': optional: true - '@oxlint/binding-win32-x64-msvc@1.86.0': + '@oxlint/binding-win32-x64-msvc@1.87.0': optional: true '@paralleldrive/cuid2@2.3.1': @@ -17445,51 +17445,51 @@ snapshots: magic-regexp: 0.10.0 oxc-parser: 0.150.0 - oxfmt@0.71.0: + oxfmt@0.72.0: dependencies: tinypool: 2.2.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.71.0 - '@oxfmt/binding-android-arm64': 0.71.0 - '@oxfmt/binding-darwin-arm64': 0.71.0 - '@oxfmt/binding-darwin-x64': 0.71.0 - '@oxfmt/binding-freebsd-x64': 0.71.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.71.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.71.0 - '@oxfmt/binding-linux-arm64-gnu': 0.71.0 - '@oxfmt/binding-linux-arm64-musl': 0.71.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.71.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.71.0 - '@oxfmt/binding-linux-riscv64-musl': 0.71.0 - '@oxfmt/binding-linux-s390x-gnu': 0.71.0 - '@oxfmt/binding-linux-x64-gnu': 0.71.0 - '@oxfmt/binding-linux-x64-musl': 0.71.0 - '@oxfmt/binding-openharmony-arm64': 0.71.0 - '@oxfmt/binding-win32-arm64-msvc': 0.71.0 - '@oxfmt/binding-win32-ia32-msvc': 0.71.0 - '@oxfmt/binding-win32-x64-msvc': 0.71.0 - - oxlint@1.86.0: + '@oxfmt/binding-android-arm-eabi': 0.72.0 + '@oxfmt/binding-android-arm64': 0.72.0 + '@oxfmt/binding-darwin-arm64': 0.72.0 + '@oxfmt/binding-darwin-x64': 0.72.0 + '@oxfmt/binding-freebsd-x64': 0.72.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.72.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.72.0 + '@oxfmt/binding-linux-arm64-gnu': 0.72.0 + '@oxfmt/binding-linux-arm64-musl': 0.72.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.72.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.72.0 + '@oxfmt/binding-linux-riscv64-musl': 0.72.0 + '@oxfmt/binding-linux-s390x-gnu': 0.72.0 + '@oxfmt/binding-linux-x64-gnu': 0.72.0 + '@oxfmt/binding-linux-x64-musl': 0.72.0 + '@oxfmt/binding-openharmony-arm64': 0.72.0 + '@oxfmt/binding-win32-arm64-msvc': 0.72.0 + '@oxfmt/binding-win32-ia32-msvc': 0.72.0 + '@oxfmt/binding-win32-x64-msvc': 0.72.0 + + oxlint@1.87.0: optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.86.0 - '@oxlint/binding-android-arm64': 1.86.0 - '@oxlint/binding-darwin-arm64': 1.86.0 - '@oxlint/binding-darwin-x64': 1.86.0 - '@oxlint/binding-freebsd-x64': 1.86.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.86.0 - '@oxlint/binding-linux-arm-musleabihf': 1.86.0 - '@oxlint/binding-linux-arm64-gnu': 1.86.0 - '@oxlint/binding-linux-arm64-musl': 1.86.0 - '@oxlint/binding-linux-ppc64-gnu': 1.86.0 - '@oxlint/binding-linux-riscv64-gnu': 1.86.0 - '@oxlint/binding-linux-riscv64-musl': 1.86.0 - '@oxlint/binding-linux-s390x-gnu': 1.86.0 - '@oxlint/binding-linux-x64-gnu': 1.86.0 - '@oxlint/binding-linux-x64-musl': 1.86.0 - '@oxlint/binding-openharmony-arm64': 1.86.0 - '@oxlint/binding-win32-arm64-msvc': 1.86.0 - '@oxlint/binding-win32-ia32-msvc': 1.86.0 - '@oxlint/binding-win32-x64-msvc': 1.86.0 + '@oxlint/binding-android-arm-eabi': 1.87.0 + '@oxlint/binding-android-arm64': 1.87.0 + '@oxlint/binding-darwin-arm64': 1.87.0 + '@oxlint/binding-darwin-x64': 1.87.0 + '@oxlint/binding-freebsd-x64': 1.87.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.87.0 + '@oxlint/binding-linux-arm-musleabihf': 1.87.0 + '@oxlint/binding-linux-arm64-gnu': 1.87.0 + '@oxlint/binding-linux-arm64-musl': 1.87.0 + '@oxlint/binding-linux-ppc64-gnu': 1.87.0 + '@oxlint/binding-linux-riscv64-gnu': 1.87.0 + '@oxlint/binding-linux-riscv64-musl': 1.87.0 + '@oxlint/binding-linux-s390x-gnu': 1.87.0 + '@oxlint/binding-linux-x64-gnu': 1.87.0 + '@oxlint/binding-linux-x64-musl': 1.87.0 + '@oxlint/binding-openharmony-arm64': 1.87.0 + '@oxlint/binding-win32-arm64-msvc': 1.87.0 + '@oxlint/binding-win32-ia32-msvc': 1.87.0 + '@oxlint/binding-win32-x64-msvc': 1.87.0 pac-proxy-agent@7.2.0(supports-color@10.2.2): dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d5b3d61a6..2193e3859 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -78,8 +78,8 @@ catalog: magicast: ^0.5.5 msw: ^3.0.3 obug: ^3.0.0 - oxfmt: ^0.71.0 - oxlint: ^1.86.0 + oxfmt: ^0.72.0 + oxlint: ^1.87.0 pathe: ^2.0.3 playwright: ^1.64.0 rollup: ^4.64.5 -- 2.51.2 From 9a04899cba636a37f2522409d4744abffd49cc67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 13 Oct 2026 22:46:16 +0300 Subject: [PATCH 10/12] docs: fix `test.projects` usage, test descriptions (#11565) --- docs/config/name.md | 12 ++++++++---- test/README.md | 17 ++++++----------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/docs/config/name.md b/docs/config/name.md index f4d3fff29..f6ba29ed3 100644 --- a/docs/config/name.md +++ b/docs/config/name.md @@ -67,12 +67,16 @@ export default defineConfig({ test: { projects: [ { - name: 'unit', - include: ['./test/*.unit.test.js'], + test: { + name: "unit", + include: ["./test/*.unit.test.js"], + }, }, { - name: 'e2e', - include: ['./test/*.e2e.test.js'], + test: { + name: "e2e", + include: ["./test/*.e2e.test.js"], + }, }, ], }, diff --git a/test/README.md b/test/README.md index d957d7404..dcbbe6edb 100644 --- a/test/README.md +++ b/test/README.md @@ -1,19 +1,18 @@ Tests are split by categories. Default categories are: -## core +## unit These tests are running in different pools with a single config file. If you just need to test a function call, you can place your test here. This is the only test category that doesn't start new Vitest instance for every test. -## config - -Place your test here if you are testing a config option. - -## cli +## e2e If you are testing a complex interaction, place your tests here. -Type-focused fixtures live under `test/e2e/dts/`. + +- Config options go to `test/e2e/test/config/`. +- Vitest behaviour when file is created/updated/removed goes to `test/e2e/test/watch/`. +- Type-focused fixtures live under `test/e2e/dts/`. ## browser @@ -23,10 +22,6 @@ If you are testing browser mode, add your tests here. These are e2e tests for UI package. We are using `playwright` to test it. -## watch - -Place your tests here if you are testing Vitest behaviour when file is created/updated/removed. - --- All other categories just group tests by type. -- 2.51.2 From 2899eb3e97931aaaba561013f483cb671506eea4 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 14 Oct 2026 15:04:38 +0800 Subject: [PATCH 11/12] chore: enable `trustPolicyExcludePrune` (#11570) --- pnpm-workspace.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2193e3859..f641750e1 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,10 +7,10 @@ minimumReleaseAgeExcludePrune: true shellEmulator: true strictPeerDependencies: false trustPolicy: no-downgrade +trustPolicyExcludePrune: true trustPolicyExclude: - '@trickfilm400/rollup-plugin-off-main-thread@3.0.0-pre1' - semver@6.3.1 - - chokidar@4.0.3 - webdriverio@9.29.1 - webdriver@9.29.1 - '@wdio/types@9.29.1' @@ -19,8 +19,6 @@ trustPolicyExclude: - '@wdio/config@9.29.1' - '@wdio/logger@9.29.1' - '@wdio/protocols@9.29.1' - - undici-types@6.21.0 - - undici@6.21.3 - rxjs@7.8.2 packages: - docs -- 2.51.2 From 28dc1edfb6ba5a181fe208576989063795aeadb3 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 14 Oct 2026 22:47:18 +0900 Subject: [PATCH 12/12] fix: keep vite default `fs.deny` with api token file (#11578) Co-authored-by: Hiroshi Ogawa <4232207+hi-ogawa@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 --- .../vitest/src/node/config/resolveConfig.ts | 3 +- packages/vitest/src/node/plugins/index.ts | 3 +- packages/vitest/src/node/plugins/utils.ts | 23 +++++ packages/vitest/src/node/plugins/workspace.ts | 5 +- test/e2e/test/fs-deny.test.ts | 93 +++++++++++++++++++ 5 files changed, 121 insertions(+), 6 deletions(-) create mode 100644 test/e2e/test/fs-deny.test.ts diff --git a/packages/vitest/src/node/config/resolveConfig.ts b/packages/vitest/src/node/config/resolveConfig.ts index 97fe6d783..1cf129a94 100644 --- a/packages/vitest/src/node/config/resolveConfig.ts +++ b/packages/vitest/src/node/config/resolveConfig.ts @@ -34,7 +34,7 @@ import { resolveProjectEntries } from '../projects/resolveProjects' import { withLabel } from '../reporters/renderers/utils' import { BaseSequencer } from '../sequencers/BaseSequencer' import { RandomSequencer } from '../sequencers/RandomSequencer' -import { API_TOKEN_FILE, resolveApiToken } from './apiToken' +import { resolveApiToken } from './apiToken' import { PluginHarness } from './pluginHarness' function resolvePath(path: string, root: string) { @@ -1169,7 +1169,6 @@ export async function resolveConfig( rootViteConfig.server.fs.allow.push( ...resolveFsAllow(rootViteConfig.root, rootViteConfig.configFile), ) - rootViteConfig.server.fs.deny.push(API_TOKEN_FILE) // the server has been created, we don't need to override vite.server options const { token, tokenCreated } = resolveApiToken(rootViteConfig.root) diff --git a/packages/vitest/src/node/plugins/index.ts b/packages/vitest/src/node/plugins/index.ts index ef5c2afb5..9b6dd125e 100644 --- a/packages/vitest/src/node/plugins/index.ts +++ b/packages/vitest/src/node/plugins/index.ts @@ -8,7 +8,7 @@ import { MetaEnvReplacerPlugin } from './metaEnvReplacer' import { MocksPlugins } from './mocks' import { NormalizeURLPlugin } from './normalizeURL' import { SsrRunnerFixerPlugin } from './ssrRunnerFixer' -import { normalizeUIOptions, resolveTestCacheDir } from './utils' +import { appendApiTokenFsDeny, normalizeUIOptions, resolveTestCacheDir } from './utils' import { VitestCoreResolver } from './vitestResolver' export function VitestCorePlugin(harness: PluginHarness): VitePlugin[] { @@ -23,6 +23,7 @@ export function VitestCorePlugin(harness: PluginHarness): VitePlugin[] { order: 'post', handler(viteConfig) { const root = resolve(viteConfig.test?.root || viteConfig.root || process.cwd()) + appendApiTokenFsDeny(viteConfig) return { base: '/', diff --git a/packages/vitest/src/node/plugins/utils.ts b/packages/vitest/src/node/plugins/utils.ts index 92c2c19fa..3209efafa 100644 --- a/packages/vitest/src/node/plugins/utils.ts +++ b/packages/vitest/src/node/plugins/utils.ts @@ -5,6 +5,7 @@ import { dirname, resolve } from 'pathe' import { searchForWorkspaceRoot, version as viteVersion } from 'vite' import * as vite from 'vite' import { rootDir } from '../../paths' +import { API_TOKEN_FILE } from '../config/apiToken' import { hash } from '../hash' export function resolveTestCacheDir( @@ -127,6 +128,28 @@ export function deleteDefineConfig(viteConfig: ViteConfig): DefineConfigResult { return { defines, scriptDefines } } +// TODO: use Vite's own defaults once they are exported (request upstream) +// copied from Vite 8.3 https://github.com/vitejs/vite/blob/v8.3.4/packages/vite/src/node/server/index.ts#L1254-L1261 +const VITE_DEFAULT_FS_DENY = [ + '.env', + '.env.*', + '*.{crt,pem,key,p12,pfx,cer,der}', + '.npmrc', + '.yarnrc.yml', + '**/.git/**', +] + +// Vite drops its default `server.fs.deny` once any value is set, +// so the defaults are kept explicitly when the user didn't set one. +export function appendApiTokenFsDeny(viteConfig: ViteConfig): void { + viteConfig.server ??= {} + viteConfig.server.fs ??= {} + viteConfig.server.fs.deny = [ + ...(viteConfig.server.fs.deny ?? VITE_DEFAULT_FS_DENY), + API_TOKEN_FILE, + ] +} + export function resolveFsAllow( projectRoot: string, rootConfigFile: string | false | undefined, diff --git a/packages/vitest/src/node/plugins/workspace.ts b/packages/vitest/src/node/plugins/workspace.ts index e8fc4af27..2230dbe56 100644 --- a/packages/vitest/src/node/plugins/workspace.ts +++ b/packages/vitest/src/node/plugins/workspace.ts @@ -2,7 +2,6 @@ import type * as vite from 'vite' import type { UserConfig as ViteConfig, Plugin as VitePlugin } from 'vite' import type { PluginHarness } from '../config/pluginHarness' import { resolve } from 'pathe' -import { API_TOKEN_FILE } from '../config/apiToken' import { ViteConfigPlugin } from './config' import { CoverageTransform } from './coverageTransform' import { CSSEnablerPlugin } from './cssEnabler' @@ -10,7 +9,7 @@ import { MetaEnvReplacerPlugin } from './metaEnvReplacer' import { MocksPlugins } from './mocks' import { NormalizeURLPlugin } from './normalizeURL' import { SsrRunnerFixerPlugin } from './ssrRunnerFixer' -import { resolveTestCacheDir } from './utils' +import { appendApiTokenFsDeny, resolveTestCacheDir } from './utils' import { VitestProjectResolver } from './vitestResolver' export function ProjectRootPlugin(projectRoot: string): VitePlugin { @@ -44,6 +43,7 @@ export function WorkspaceVitestPlugin( config(viteConfig) { const testConfig = viteConfig.test || {} const root = testConfig.root || viteConfig.root + appendApiTokenFsDeny(viteConfig) const config: ViteConfig = { base: '/', @@ -57,7 +57,6 @@ export function WorkspaceVitestPlugin( open: false, fs: { allow: globalViteConfig.server.fs.allow, - deny: [API_TOKEN_FILE], }, }, } diff --git a/test/e2e/test/fs-deny.test.ts b/test/e2e/test/fs-deny.test.ts new file mode 100644 index 000000000..cc909d527 --- /dev/null +++ b/test/e2e/test/fs-deny.test.ts @@ -0,0 +1,93 @@ +import type { ViteUserConfig } from 'vitest/config' +import { expect, test } from 'vitest' +import { isFileLoadingAllowed, resolveConfig } from 'vitest/node' + +// checks the root server, an inline project sharing it, and a project +// with its own server (`alias` keeps it from sharing the root server) +async function resolveDeniedFiles(viteConfig: ViteUserConfig = {}) { + const config = await resolveConfig( + { config: false }, + { + ...viteConfig, + test: { + projects: [ + { test: { name: 'shared' } }, + { test: { name: 'own-server', alias: { foo: '/foo' } } }, + ], + }, + }, + ) + expect(config.test.resolvedProjects.map((p) => p.viteConfig === config)).toEqual([true, false]) + + const files = ['.env', 'server.pem', 'secret.txt', 'node_modules/.vitest/.vitest-secret-token'] + const serverConfigs = { + root: config, + ...Object.fromEntries( + config.test.resolvedProjects.map((p) => [p.projectConfig.name, p.viteConfig]), + ), + } + return Object.fromEntries( + Object.entries(serverConfigs).map(([name, serverConfig]) => [ + name, + files.filter((file) => !isFileLoadingAllowed(serverConfig, `${config.root}/${file}`)), + ]), + ) +} + +test('keeps vite default fs.deny and denies the api token file', async () => { + expect(await resolveDeniedFiles()).toMatchInlineSnapshot(` + { + "own-server": [ + ".env", + "server.pem", + "node_modules/.vitest/.vitest-secret-token", + ], + "root": [ + ".env", + "server.pem", + "node_modules/.vitest/.vitest-secret-token", + ], + "shared": [ + ".env", + "server.pem", + "node_modules/.vitest/.vitest-secret-token", + ], + } + `) +}) + +test('user fs.deny replaces vite defaults but still denies the api token file', async () => { + expect(await resolveDeniedFiles({ server: { fs: { deny: ['secret.txt'] } } })) + .toMatchInlineSnapshot(` + { + "own-server": [ + "secret.txt", + "node_modules/.vitest/.vitest-secret-token", + ], + "root": [ + "secret.txt", + "node_modules/.vitest/.vitest-secret-token", + ], + "shared": [ + "secret.txt", + "node_modules/.vitest/.vitest-secret-token", + ], + } + `) +}) + +test('keeps vite default fs.deny', async () => { + const config = await resolveConfig({ config: false }) + // newest Vite default + api token file + expect(config.server.fs.deny).toMatchInlineSnapshot(` + [ + ".env", + ".env.*", + "*.{crt,pem,key,p12,pfx,cer,der}", + ".npmrc", + ".yarnrc.yml", + "**/.git/**", + ".vitest-secret-token", + ] + `) +})