From 67b401a3fa3a9cb5e21d0a35650959f9b7229bfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 10 Jun 2025 09:45:52 +0300 Subject: [PATCH 01/26] docs(coverage): small typos (#8113) --- docs/guide/coverage.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guide/coverage.md b/docs/guide/coverage.md index 17c4d61f5257..801f06306ebb 100644 --- a/docs/guide/coverage.md +++ b/docs/guide/coverage.md @@ -54,10 +54,10 @@ Coverage collection is performed during runtime by instructing V8 using [`node:i - ✅ Recommended option to use - ✅ No pre-transpile step. Test files can be executed as-is. - ✅ Faster execute times than Istanbul. -- ✅ Lower memory usagethan Istanbul. +- ✅ Lower memory usage than Istanbul. - ✅ Coverage report accuracy is as good as with Istanbul ([since Vitest `v3.2.0`](/blog/vitest-3-2#coverage-v8-ast-aware-remapping)). - ⚠️ In some cases can be slower than Istanbul, e.g. when loading lots of different modules. V8 does not support limiting coverage collection to specific modules. -- ⚠️ There are some minor limitations set by V8 engine. See [`ast-v8-to-istanbl` | Limitations](https://github.com/AriPerkkio/ast-v8-to-istanbul?tab=readme-ov-file#limitations). +- ⚠️ There are some minor limitations set by V8 engine. See [`ast-v8-to-istanbul` | Limitations](https://github.com/AriPerkkio/ast-v8-to-istanbul?tab=readme-ov-file#limitations). - ❌ Does not work on environments that don't use V8, such as Firefox or Bun. Or on environments that don't expose V8 coverage via profiler, such as Cloudflare Workers.
@@ -282,7 +282,7 @@ export default defineConfig({ Both coverage providers have their own ways how to ignore code from coverage reports: - [`v8`](https://github.com/istanbuljs/v8-to-istanbul#ignoring-uncovered-lines) -- [`ìstanbul`](https://github.com/istanbuljs/nyc#parsing-hints-ignoring-lines) +- [`istanbul`](https://github.com/istanbuljs/nyc#parsing-hints-ignoring-lines) - `v8` with [`experimentalAstAwareRemapping: true`](https://vitest.dev/config/#coverage-experimentalAstAwareRemapping) see [ast-v8-to-istanbul | Ignoring code](https://github.com/AriPerkkio/ast-v8-to-istanbul?tab=readme-ov-file#ignoring-code) When using TypeScript the source codes are transpiled using `esbuild`, which strips all comments from the source codes ([esbuild#516](https://github.com/evanw/esbuild/issues/516)). From 44940d9dd77bd3db84808425ef3adfb1a806e0eb Mon Sep 17 00:00:00 2001 From: Bill Collins Date: Tue, 10 Jun 2025 11:24:38 +0100 Subject: [PATCH 02/26] fix: use correct path for optimisation of strip-literal (#8139) --- packages/browser/src/node/plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/browser/src/node/plugin.ts b/packages/browser/src/node/plugin.ts index 387fc4b386c9..7ae6e13ef70a 100644 --- a/packages/browser/src/node/plugin.ts +++ b/packages/browser/src/node/plugin.ts @@ -241,7 +241,7 @@ export default (parentServer: ParentBrowserProject, base = '/'): Plugin[] => { 'vitest > @vitest/snapshot > magic-string', 'vitest > chai', 'vitest > chai > loupe', - 'vitest > strip-literal', + 'vitest > @vitest/runner > strip-literal', 'vitest > @vitest/utils > loupe', '@vitest/browser > @testing-library/user-event', '@vitest/browser > @testing-library/dom', From b86bf0d99fdf2cbed0377a475b84e374d9cf7d73 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 10 Jun 2025 13:24:17 +0200 Subject: [PATCH 03/26] fix: print uint and buffer as a simple string (#8141) --- packages/utils/src/error.ts | 6 ++++++ packages/vitest/src/node/printError.ts | 2 +- test/cli/test/print-error.test.ts | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/utils/src/error.ts b/packages/utils/src/error.ts index 6605f1ef3546..4d45e99d5e35 100644 --- a/packages/utils/src/error.ts +++ b/packages/utils/src/error.ts @@ -60,6 +60,12 @@ export function serializeValue(val: any, seen: WeakMap = new WeakM if (typeof val !== 'object') { return val } + if (typeof Buffer !== 'undefined' && val instanceof Buffer) { + return `` + } + if (typeof Uint8Array !== 'undefined' && val instanceof Uint8Array) { + return `` + } // cannot serialize immutables as immutables if (isImmutable(val)) { return serializeValue(val.toJSON(), seen) diff --git a/packages/vitest/src/node/printError.ts b/packages/vitest/src/node/printError.ts index eb4a6220e951..12418829636d 100644 --- a/packages/vitest/src/node/printError.ts +++ b/packages/vitest/src/node/printError.ts @@ -130,7 +130,7 @@ function printErrorInner( : stacks.find((stack) => { try { return ( - project.server + project._vite && project.getModuleById(stack.file) && existsSync(stack.file) ) diff --git a/test/cli/test/print-error.test.ts b/test/cli/test/print-error.test.ts index e9708b0956a3..7b9c16dd60b3 100644 --- a/test/cli/test/print-error.test.ts +++ b/test/cli/test/print-error.test.ts @@ -41,3 +41,19 @@ CustomError: custom error Serialized Error: { stack: [ 'custom stack 1', 'custom stack 2' ] } `.trim()) }) + +test('prints buffer and UintArray', async () => { + const { stderr } = await runInlineTests({ + 'basic.test.ts': ` + test('failed test', () => { + throw { + buffer: Buffer.from([1, 2, 3]), + uintarray: Uint8Array.from([1, 2, 3]), + } + }) + `, + }, { globals: true }) + + expect(stderr).toContain(`buffer: ''`) + expect(stderr).toContain(`uintarray: ''`) +}) From 04f7a7f253bec48b066fca5430862f29ab7fd873 Mon Sep 17 00:00:00 2001 From: abeer0 <47961062+iiio2@users.noreply.github.com> Date: Tue, 10 Jun 2025 21:26:35 +0600 Subject: [PATCH 04/26] docs: capitalize titles (#8143) --- docs/guide/coverage.md | 4 ++-- docs/guide/projects.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guide/coverage.md b/docs/guide/coverage.md index 801f06306ebb..ef2724d68a61 100644 --- a/docs/guide/coverage.md +++ b/docs/guide/coverage.md @@ -37,7 +37,7 @@ npm i -D @vitest/coverage-istanbul ``` ::: -## V8 provider +## V8 Provider ::: info The description of V8 coverage below is Vitest specific and does not apply to other test runners. @@ -305,7 +305,7 @@ if (condition) { To see all configurable options for coverage, see the [coverage Config Reference](https://vitest.dev/config/#coverage). -## Coverage performance +## Coverage Performance If code coverage generation is slow on your project, see [Profiling Test Performance | Code coverage](/guide/profiling-test-performance.html#code-coverage). diff --git a/docs/guide/projects.md b/docs/guide/projects.md index 2f14d642f98f..f51f286bbafe 100644 --- a/docs/guide/projects.md +++ b/docs/guide/projects.md @@ -115,7 +115,7 @@ export default defineProject({ }) ``` -## Running tests +## Running Tests To run tests, define a script in your root `package.json`: From 657e83f9faf869ee9bed98f606a4dd46d5bba978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 10 Jun 2025 18:33:14 +0300 Subject: [PATCH 05/26] fix(cli): `vitest run --watch` should be watch-mode (#8128) --- packages/vitest/src/node/cli/cac.ts | 6 +++-- test/config/fixtures/run-mode/example.test.ts | 3 +++ .../config/fixtures/run-mode/vitest.config.ts | 1 + test/config/test/mode.test.ts | 22 +++++++++++++++++++ test/core/test/cli-test.test.ts | 9 ++++++++ test/test-utils/index.ts | 4 ++-- 6 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 test/config/fixtures/run-mode/example.test.ts create mode 100644 test/config/fixtures/run-mode/vitest.config.ts diff --git a/packages/vitest/src/node/cli/cac.ts b/packages/vitest/src/node/cli/cac.ts index d0e4dafc1f70..82fe958c7db5 100644 --- a/packages/vitest/src/node/cli/cac.ts +++ b/packages/vitest/src/node/cli/cac.ts @@ -239,7 +239,7 @@ export function parseCLI(argv: string | string[], config: CliParseOptions = {}): if (arrayArgs[2] === 'watch' || arrayArgs[2] === 'dev') { options.watch = true } - if (arrayArgs[2] === 'run') { + if (arrayArgs[2] === 'run' && !options.watch) { options.run = true } if (arrayArgs[2] === 'related') { @@ -265,7 +265,9 @@ async function watch(cliFilters: string[], options: CliOptions): Promise { } async function run(cliFilters: string[], options: CliOptions): Promise { - options.run = true + // "vitest run --watch" should still be watch mode + options.run = !options.watch + await start('test', cliFilters, options) } diff --git a/test/config/fixtures/run-mode/example.test.ts b/test/config/fixtures/run-mode/example.test.ts new file mode 100644 index 000000000000..ad7c7d2031ab --- /dev/null +++ b/test/config/fixtures/run-mode/example.test.ts @@ -0,0 +1,3 @@ +import { test } from "vitest"; + +test("example", () => {}) diff --git a/test/config/fixtures/run-mode/vitest.config.ts b/test/config/fixtures/run-mode/vitest.config.ts new file mode 100644 index 000000000000..b1c6ea436a54 --- /dev/null +++ b/test/config/fixtures/run-mode/vitest.config.ts @@ -0,0 +1 @@ +export default {} diff --git a/test/config/test/mode.test.ts b/test/config/test/mode.test.ts index 19d3413f90a6..e3e64862c006 100644 --- a/test/config/test/mode.test.ts +++ b/test/config/test/mode.test.ts @@ -21,3 +21,25 @@ test.each([ expect(stderr).toContain(`Error: env.mode should be equal to "${expectedMode}"`) expect(stdout).toBe('') }) + +test.each([ + { options: ['run'], expected: 'run' }, + { options: ['run', '--watch'], expected: 'watch' }, + { options: ['watch'], expected: 'watch' }, +] as const)(`vitest $options.0 $options.1 resolves to $expected-mode`, async ({ options, expected }) => { + const { vitest } = await testUtils.runVitestCli(...options, '--root', 'fixtures/run-mode') + + if (expected === 'watch') { + await vitest.waitForStdout('Test Files 1 passed (1)') + + expect(vitest.stdout).not.toContain('RUN') + expect(vitest.stdout).toContain('DEV') + expect(vitest.stdout).toContain('Waiting for file changes') + } + + if (expected === 'run') { + expect(vitest.stdout).toContain('RUN') + expect(vitest.stdout).not.toContain('DEV') + expect(vitest.stdout).not.toContain('Waiting for file changes') + } +}) diff --git a/test/core/test/cli-test.test.ts b/test/core/test/cli-test.test.ts index 56c6ada65f4a..a70089c8f4c7 100644 --- a/test/core/test/cli-test.test.ts +++ b/test/core/test/cli-test.test.ts @@ -381,6 +381,15 @@ test('public parseCLI works correctly', () => { 'color': true, }, }) + expect(parseCLI('vitest run --watch')).toEqual({ + filter: [], + options: { + 'watch': true, + 'w': true, + '--': [], + 'color': true, + }, + }) expect(parseCLI('vitest related ./some-files.js')).toEqual({ filter: [], options: { diff --git a/test/test-utils/index.ts b/test/test-utils/index.ts index 0684add738a9..1095afbc6a9d 100644 --- a/test/test-utils/index.ts +++ b/test/test-utils/index.ts @@ -190,7 +190,7 @@ async function runCli(command: 'vitest' | 'vite-node', _options?: CliOptions | s } // Manually stop the processes so that each test don't have to do this themselves - afterEach(async () => { + onTestFinished(async () => { if (subprocess.exitCode === null) { subprocess.kill() } @@ -206,7 +206,7 @@ async function runCli(command: 'vitest' | 'vite-node', _options?: CliOptions | s return output() } - if (args[0] !== 'list' && args.includes('--watch')) { + if (args[0] !== 'list' && (args.includes('--watch') || args[0] === 'watch')) { if (command === 'vitest') { // Wait for initial test run to complete await cli.waitForStdout('Waiting for file changes') From 42eeb2ee657f7060bcf4941fd2c9eb16171bf0b5 Mon Sep 17 00:00:00 2001 From: Zhaolin Liang Date: Wed, 11 Jun 2025 20:32:57 +0800 Subject: [PATCH 06/26] fix(ui): ensure ui config option works correctly (#8147) --- packages/vitest/src/node/plugins/index.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/vitest/src/node/plugins/index.ts b/packages/vitest/src/node/plugins/index.ts index c31ee181de5f..e7a66526a88b 100644 --- a/packages/vitest/src/node/plugins/index.ts +++ b/packages/vitest/src/node/plugins/index.ts @@ -258,6 +258,11 @@ export async function VitestPlugin( viteConfig.server.watch = null } + if (options.ui) { + // @ts-expect-error mutate readonly + viteConfig.plugins.push(await UIPlugin()) + } + Object.defineProperty(viteConfig, '_vitest', { value: options, enumerable: false, @@ -297,7 +302,6 @@ export async function VitestPlugin( ...CSSEnablerPlugin(vitest), CoverageTransform(vitest), VitestCoreResolver(vitest), - options.ui ? await UIPlugin() : null, ...MocksPlugins(), VitestOptimizer(), NormalizeURLPlugin(), From 27df68a0e978776ddf51fe4188f1c8036a89c04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Wed, 11 Jun 2025 15:39:08 +0300 Subject: [PATCH 07/26] fix(reporter): `task.meta` should be available in custom reporter's errors (#8115) --- packages/vitest/src/node/reporters/base.ts | 10 +++++++--- .../fixtures/metadata/metadata.test.ts | 12 ++++++++++++ .../fixtures/metadata/vitest.config.ts | 1 + test/reporters/tests/default.test.ts | 18 +++++++++++++++++- 4 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 test/reporters/fixtures/metadata/metadata.test.ts create mode 100644 test/reporters/fixtures/metadata/vitest.config.ts diff --git a/packages/vitest/src/node/reporters/base.ts b/packages/vitest/src/node/reporters/base.ts index 533dbfc256f9..6b8e96d68fc2 100644 --- a/packages/vitest/src/node/reporters/base.ts +++ b/packages/vitest/src/node/reporters/base.ts @@ -249,6 +249,10 @@ export abstract class BaseReporter implements Reporter { return getTestName(test, separator) } + protected getFullName(test: Task, separator?: string): string { + return getFullName(test, separator) + } + protected formatShortError(error: ErrorWithDiff): string { return `${F_RIGHT} ${error.message}` } @@ -374,7 +378,7 @@ export abstract class BaseReporter implements Reporter { const task = log.taskId ? this.ctx.state.idMap.get(log.taskId) : undefined if (task) { - headerText = getFullName(task, c.dim(' > ')) + headerText = this.getFullName(task, c.dim(' > ')) } else if (log.taskId && log.taskId !== '__vitest__unknown_test__') { headerText = log.taskId @@ -579,7 +583,7 @@ export abstract class BaseReporter implements Reporter { continue } - const groupName = getFullName(group, c.dim(' > ')) + const groupName = this.getFullName(group, c.dim(' > ')) const project = this.ctx.projects.find(p => p.name === bench.file.projectName) this.log(` ${formatProjectName(project)}${bench.name}${c.dim(` - ${groupName}`)}`) @@ -636,7 +640,7 @@ export abstract class BaseReporter implements Reporter { const projectName = (task as File)?.projectName || task.file?.projectName || '' const project = this.ctx.projects.find(p => p.name === projectName) - let name = getFullName(task, c.dim(' > ')) + let name = this.getFullName(task, c.dim(' > ')) if (filepath) { name += c.dim(` [ ${this.relative(filepath)} ]`) diff --git a/test/reporters/fixtures/metadata/metadata.test.ts b/test/reporters/fixtures/metadata/metadata.test.ts new file mode 100644 index 000000000000..9a9dd9e1d8d0 --- /dev/null +++ b/test/reporters/fixtures/metadata/metadata.test.ts @@ -0,0 +1,12 @@ +import {expect, test } from 'vitest'; + +test('pass', ( { task }) => { + task.meta.custom = "Passing test added this" +}); + + +test('fails', ( { task }) => { + task.meta.custom = "Failing test added this" + + expect(true).toBe(false) +}); diff --git a/test/reporters/fixtures/metadata/vitest.config.ts b/test/reporters/fixtures/metadata/vitest.config.ts new file mode 100644 index 000000000000..56004c9f9e06 --- /dev/null +++ b/test/reporters/fixtures/metadata/vitest.config.ts @@ -0,0 +1 @@ +export default {} \ No newline at end of file diff --git a/test/reporters/tests/default.test.ts b/test/reporters/tests/default.test.ts index 2826e0adbd1c..aeea8296fcc3 100644 --- a/test/reporters/tests/default.test.ts +++ b/test/reporters/tests/default.test.ts @@ -1,5 +1,6 @@ -import type { TestSpecification } from 'vitest/node' +import type { RunnerTask, TestSpecification } from 'vitest/node' import { describe, expect, test } from 'vitest' +import { DefaultReporter } from 'vitest/reporters' import { runVitest, runVitestCli } from '../../test-utils' describe('default reporter', async () => { @@ -238,6 +239,21 @@ describe('default reporter', async () => { expect(stdout).toContain('Example project') expect(stdout).toContain('\x1B[30m\x1B[45m Example project \x1B[49m\x1B[39m') }) + + test('extended reporter can override getFullName', async () => { + class Custom extends DefaultReporter { + getFullName(test: RunnerTask, separator?: string): string { + return `${separator}{ name: ${test.name}, meta: ${test.meta.custom} } (Custom getFullName here)` + } + } + + const { stderr } = await runVitest({ + root: 'fixtures/metadata', + reporters: new Custom(), + }) + + expect(stderr).toMatch('FAIL > { name: fails, meta: Failing test added this } (Custom getFullName here') + }) }, 120000) function trimReporterOutput(report: string) { From 85dc0195f53f140d7c1de2f62fec15ad990b1e5c Mon Sep 17 00:00:00 2001 From: Qingyu Wang <40660121+colinaaa@users.noreply.github.com> Date: Wed, 11 Jun 2025 20:39:44 +0800 Subject: [PATCH 08/26] fix(cli): use absolute path environment on Windows (#8105) --- packages/vitest/src/node/cli/cli-api.ts | 4 ++-- test/cli/test/run-custom-env.test.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/vitest/src/node/cli/cli-api.ts b/packages/vitest/src/node/cli/cli-api.ts index e6944c4d192c..60684870324d 100644 --- a/packages/vitest/src/node/cli/cli-api.ts +++ b/packages/vitest/src/node/cli/cli-api.ts @@ -5,7 +5,7 @@ import type { TestModule, TestSuite } from '../reporters/reported-tasks' import type { TestSpecification } from '../spec' import type { UserConfig, VitestEnvironment, VitestRunMode } from '../types/config' import { mkdirSync, writeFileSync } from 'node:fs' -import { dirname, relative, resolve } from 'pathe' +import { dirname, isAbsolute, relative, resolve } from 'pathe' import { CoverageProviderMap } from '../../utils/coverage' import { createVitest } from '../create' import { FilesNotFoundError, GitNotFoundError, IncludeTaskLocationDisabledError, LocationFilterFileNotFoundError, RangeLocationFilterProvidedError } from '../errors' @@ -317,7 +317,7 @@ function getEnvPackageName(env: VitestEnvironment) { if (env in envPackageNames) { return (envPackageNames as any)[env] } - if (env[0] === '.' || env[0] === '/') { + if (env[0] === '.' || isAbsolute(env)) { return null } return `vitest-environment-${env}` diff --git a/test/cli/test/run-custom-env.test.ts b/test/cli/test/run-custom-env.test.ts index a252167159bc..382127c859de 100644 --- a/test/cli/test/run-custom-env.test.ts +++ b/test/cli/test/run-custom-env.test.ts @@ -1,3 +1,4 @@ +import { createRequire } from 'node:module' import { expect, test } from 'vitest' import { runVitest } from '../../test-utils' @@ -17,3 +18,21 @@ test('correctly runs tests if custom env is a file', async () => { expect(stderr).toBe('') expect(exitCode).toBe(0) }) + +test('correctly runs tests if custom env is an absolute path', async () => { + const require = createRequire(import.meta.url) + + const { stderr, exitCode } = await runVitest({ + root: './fixtures/custom-file-env', + config: false, + environment: require.resolve('vitest-environment-custom'), + environmentOptions: { + custom: { + option: 'custom-option', + }, + }, + }) + + expect(stderr).toBe('') + expect(exitCode).toBe(0) +}) From 14dc0724f9bfbf71c598156597ac12494ebce2f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Wed, 11 Jun 2025 15:48:37 +0300 Subject: [PATCH 09/26] fix(pool): auto-adjust `minWorkers` when only `maxWorkers` specified (#8110) --- packages/vitest/src/node/pools/forks.ts | 2 +- packages/vitest/src/node/pools/threads.ts | 2 +- packages/vitest/src/node/pools/vmForks.ts | 2 +- packages/vitest/src/node/pools/vmThreads.ts | 2 +- test/config/test/failures.test.ts | 24 +++++++++++++++++++-- 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/vitest/src/node/pools/forks.ts b/packages/vitest/src/node/pools/forks.ts index f86d6eceb0be..ecdc519a3735 100644 --- a/packages/vitest/src/node/pools/forks.ts +++ b/packages/vitest/src/node/pools/forks.ts @@ -79,7 +79,7 @@ export function createForksPool( const maxThreads = poolOptions.maxForks ?? vitest.config.maxWorkers ?? threadsCount const minThreads - = poolOptions.minForks ?? vitest.config.minWorkers ?? threadsCount + = poolOptions.minForks ?? vitest.config.minWorkers ?? Math.min(threadsCount, maxThreads) const worker = resolve(vitest.distPath, 'workers/forks.js') diff --git a/packages/vitest/src/node/pools/threads.ts b/packages/vitest/src/node/pools/threads.ts index 5a3c1585839d..dab54b7409ae 100644 --- a/packages/vitest/src/node/pools/threads.ts +++ b/packages/vitest/src/node/pools/threads.ts @@ -57,7 +57,7 @@ export function createThreadsPool( const maxThreads = poolOptions.maxThreads ?? vitest.config.maxWorkers ?? threadsCount const minThreads - = poolOptions.minThreads ?? vitest.config.minWorkers ?? threadsCount + = poolOptions.minThreads ?? vitest.config.minWorkers ?? Math.min(threadsCount, maxThreads) const worker = resolve(vitest.distPath, 'workers/threads.js') diff --git a/packages/vitest/src/node/pools/vmForks.ts b/packages/vitest/src/node/pools/vmForks.ts index e697689e70ee..2ed9b5d23511 100644 --- a/packages/vitest/src/node/pools/vmForks.ts +++ b/packages/vitest/src/node/pools/vmForks.ts @@ -85,7 +85,7 @@ export function createVmForksPool( const maxThreads = poolOptions.maxForks ?? vitest.config.maxWorkers ?? threadsCount const minThreads - = poolOptions.maxForks ?? vitest.config.minWorkers ?? threadsCount + = poolOptions.maxForks ?? vitest.config.minWorkers ?? Math.min(threadsCount, maxThreads) const worker = resolve(vitest.distPath, 'workers/vmForks.js') diff --git a/packages/vitest/src/node/pools/vmThreads.ts b/packages/vitest/src/node/pools/vmThreads.ts index ba25f8c819af..1dd11d225920 100644 --- a/packages/vitest/src/node/pools/vmThreads.ts +++ b/packages/vitest/src/node/pools/vmThreads.ts @@ -60,7 +60,7 @@ export function createVmThreadsPool( const maxThreads = poolOptions.maxThreads ?? vitest.config.maxWorkers ?? threadsCount const minThreads - = poolOptions.minThreads ?? vitest.config.minWorkers ?? threadsCount + = poolOptions.minThreads ?? vitest.config.minWorkers ?? Math.min(threadsCount, maxThreads) const worker = resolve(vitest.distPath, 'workers/vmThreads.js') diff --git a/test/config/test/failures.test.ts b/test/config/test/failures.test.ts index 2ce02deb8b79..e14656edb94c 100644 --- a/test/config/test/failures.test.ts +++ b/test/config/test/failures.test.ts @@ -1,8 +1,8 @@ import type { UserConfig as ViteUserConfig } from 'vite' import type { UserConfig } from 'vitest/node' import type { VitestRunnerCLIOptions } from '../../test-utils' +import { cpus } from 'node:os' import { normalize, resolve } from 'pathe' - import { beforeEach, expect, test } from 'vitest' import { version } from 'vitest/package.json' import * as testUtils from '../../test-utils' @@ -12,7 +12,7 @@ const names = ['edge', 'chromium', 'webkit', 'chrome', 'firefox', 'safari'] as c const browsers = providers.map(provider => names.map(name => ({ name, provider }))).flat() function runVitest(config: NonNullable & { shard?: any }, viteOverrides: ViteUserConfig = {}, runnerOptions?: VitestRunnerCLIOptions) { - return testUtils.runVitest({ root: './fixtures/test', ...config }, [], undefined, viteOverrides, runnerOptions) + return testUtils.runVitest({ root: './fixtures/test', include: ['example.test.ts'], ...config }, [], undefined, viteOverrides, runnerOptions) } function runVitestCli(...cliArgs: string[]) { @@ -553,3 +553,23 @@ test('non existing project name array will throw', async () => { const { stderr } = await runVitest({ project: ['non-existing-project', 'also-non-existing'] }) expect(stderr).toMatch('No projects matched the filter "non-existing-project", "also-non-existing".') }) + +test('minWorkers must be smaller than maxWorkers', async () => { + const { stderr } = await runVitest({ minWorkers: 2, maxWorkers: 1 }) + + expect(stderr).toMatch('RangeError: options.minThreads and options.maxThreads must not conflict') +}) + +test('minWorkers higher than maxWorkers does not crash', async ({ skip }) => { + skip(cpus().length < 2, 'Test requires +2 CPUs') + + const { stdout, stderr } = await runVitest({ + maxWorkers: 1, + + // Overrides defaults of "runVitest" of "test-utils" + minWorkers: undefined, + }) + + expect(stdout).toMatch('✓ example.test.ts > it works') + expect(stderr).toBe('') +}) From c0eae7df8447602d20b39f3769edbc91fafebf7b Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 11 Jun 2025 21:06:28 +0800 Subject: [PATCH 10/26] chore: update deprecated workspace file log (#8118) --- packages/vitest/src/node/core.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vitest/src/node/core.ts b/packages/vitest/src/node/core.ts index 3fc2c08ad586..3d6936dba44e 100644 --- a/packages/vitest/src/node/core.ts +++ b/packages/vitest/src/node/core.ts @@ -431,7 +431,7 @@ export class Vitest { if (this.config.projects) { if (typeof this.config.workspace !== 'undefined') { this.logger.warn( - 'Both `config.projects` and `config.workspace` are defined. Ignoring the `workspace` option.', + 'Both `test.projects` and `test.workspace` are defined. Ignoring the `test.workspace` option.', ) } @@ -446,7 +446,7 @@ export class Vitest { if (Array.isArray(this.config.workspace)) { this.logger.deprecate( - 'The `workspace` option is deprecated and will be removed in the next major. To hide this warning, rename `workspace` option to `projects`.', + 'The `test.workspace` option is deprecated and will be removed in the next major. To hide this warning, rename `test.workspace` option to `test.projects`.', ) return resolveProjects( this, @@ -477,7 +477,7 @@ export class Vitest { : 'the root config file' this.logger.deprecate( - `The workspace file is deprecated and will be removed in the next major. Please, use the \`projects\` field in ${configFile} instead.`, + `The workspace file is deprecated and will be removed in the next major. Please, use the \`test.projects\` field in ${configFile} instead.`, ) const workspaceModule = await this.import<{ From 658fde91a6883e6403b47a3346ae80088b3d515a Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 11 Jun 2025 21:10:30 +0800 Subject: [PATCH 11/26] ci: use Nodejs 24 (#7999) --- .github/workflows/ci.yml | 2 +- test/cli/test/config-loader.test.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67a0316cd7f5..41b2494af0f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node_version: [18, 20, 22] + node_version: [18, 20, 22, 24] include: - os: macos-latest node_version: 20 diff --git a/test/cli/test/config-loader.test.ts b/test/cli/test/config-loader.test.ts index 1a5f85b32afb..dc1ad467576e 100644 --- a/test/cli/test/config-loader.test.ts +++ b/test/cli/test/config-loader.test.ts @@ -1,14 +1,23 @@ import { expect, test } from 'vitest' import { runVitestCli } from '../../test-utils' +const [nvMajor, nvMinor] = process.versions.node.split('.').map(Number) +const isTypeStrippingSupported + = (nvMajor === 23 && nvMinor >= 6) || nvMajor >= 24 + test('configLoader default', async () => { const { vitest, exitCode } = await runVitestCli( 'run', '--root', 'fixtures/config-loader', ) - expect(vitest.stderr).toContain('failed to load config') - expect(exitCode).not.toBe(0) + if (!isTypeStrippingSupported) { + expect(vitest.stderr).toContain('failed to load config') + expect(exitCode).not.toBe(0) + } + else { + expect(exitCode).toBe(0) + } }) test('configLoader runner', async () => { From 790bc310c55ce81306baf5d8954e7cc849ec4ca0 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 11 Jun 2025 16:18:12 +0200 Subject: [PATCH 12/26] chore: update deprecation notice for globs (#8148) --- packages/vitest/src/node/config/resolveConfig.ts | 16 ++-------------- packages/vitest/src/node/pool.ts | 2 +- test/config/test/pool-isolation.test.ts | 2 +- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/packages/vitest/src/node/config/resolveConfig.ts b/packages/vitest/src/node/config/resolveConfig.ts index 7981a2d03d6c..7ff31eefc881 100644 --- a/packages/vitest/src/node/config/resolveConfig.ts +++ b/packages/vitest/src/node/config/resolveConfig.ts @@ -596,13 +596,7 @@ export function resolveConfig( resolved.pool = resolvePath(resolved.pool, resolved.root) } if (resolved.poolMatchGlobs) { - logger.warn( - c.yellow( - `${c.inverse( - c.yellow(' Vitest '), - )} "poolMatchGlobs" is deprecated. Use "workspace" to define different configurations instead.`, - ), - ) + logger.deprecate('`poolMatchGlobs` is deprecated. Use `test.projects` to define different configurations instead.') } resolved.poolMatchGlobs = (resolved.poolMatchGlobs || []).map( ([glob, pool]) => { @@ -785,13 +779,7 @@ export function resolveConfig( } if (resolved.environmentMatchGlobs) { - logger.warn( - c.yellow( - `${c.inverse( - c.yellow(' Vitest '), - )} "environmentMatchGlobs" is deprecated. Use "workspace" to define different configurations instead.`, - ), - ) + logger.deprecate('"environmentMatchGlobs" is deprecated. Use `test.projects` to define different configurations instead.') } resolved.environmentMatchGlobs = (resolved.environmentMatchGlobs || []).map( i => [resolve(resolved.root, i[0]), i[1]], diff --git a/packages/vitest/src/node/pool.ts b/packages/vitest/src/node/pool.ts index 154f516221c9..7244b99a2fb1 100644 --- a/packages/vitest/src/node/pool.ts +++ b/packages/vitest/src/node/pool.ts @@ -70,7 +70,7 @@ export function getFilePoolName(project: TestProject, file: string): Pool { for (const [glob, pool] of project.config.poolMatchGlobs) { if ((pool as Pool) === 'browser') { throw new Error( - 'Since Vitest 0.31.0 "browser" pool is not supported in "poolMatchGlobs". You can create a project to run some of your tests in browser in parallel. Read more: https://vitest.dev/guide/projects', + 'Since Vitest 0.31.0 "browser" pool is not supported in `poolMatchGlobs`. You can create a project to run some of your tests in browser in parallel. Read more: https://vitest.dev/guide/projects', ) } if (pm.isMatch(file, glob, { cwd: project.config.root })) { diff --git a/test/config/test/pool-isolation.test.ts b/test/config/test/pool-isolation.test.ts index 57e91ec3ab9f..7c3c51bee0a5 100644 --- a/test/config/test/pool-isolation.test.ts +++ b/test/config/test/pool-isolation.test.ts @@ -72,5 +72,5 @@ function invertPool(pool: 'threads' | 'forks') { } function deprecatedPoolMatchGlob() { - return ' Vitest "poolMatchGlobs" is deprecated. Use "workspace" to define different configurations instead.\n' + return ' DEPRECATED `poolMatchGlobs` is deprecated. Use `test.projects` to define different configurations instead.\n' } From 6869969120ce4cb52d3713ad2a54f869aa887e91 Mon Sep 17 00:00:00 2001 From: Zhaolin Liang Date: Wed, 11 Jun 2025 22:19:48 +0800 Subject: [PATCH 13/26] fix(expect): handle async errors in expect.soft (#8145) --- packages/expect/src/jest-extend.ts | 7 ++--- packages/expect/src/utils.ts | 27 ++++++++++++++----- .../fixtures/expect-soft/expects/soft.test.ts | 13 +++++++++ test/cli/test/expect-soft.test.ts | 6 +++++ 4 files changed, 43 insertions(+), 10 deletions(-) diff --git a/packages/expect/src/jest-extend.ts b/packages/expect/src/jest-extend.ts index 3b7df473d600..8da7636db377 100644 --- a/packages/expect/src/jest-extend.ts +++ b/packages/expect/src/jest-extend.ts @@ -80,16 +80,17 @@ function JestExtendPlugin( if ( result && typeof result === 'object' - && result instanceof Promise + && typeof (result as any).then === 'function' ) { - return result.then(({ pass, message, actual, expected }) => { + const thenable = result as PromiseLike + return thenable.then(({ pass, message, actual, expected }) => { if ((pass && isNot) || (!pass && !isNot)) { throw new JestExtendError(message(), actual, expected) } }) } - const { pass, message, actual, expected } = result + const { pass, message, actual, expected } = result as SyncExpectationResult if ((pass && isNot) || (!pass && !isNot)) { throw new JestExtendError(message(), actual, expected) diff --git a/packages/expect/src/utils.ts b/packages/expect/src/utils.ts index ab33bd7dcb62..ba09f89d7ca7 100644 --- a/packages/expect/src/utils.ts +++ b/packages/expect/src/utils.ts @@ -1,5 +1,6 @@ import type { Test } from '@vitest/runner/types' import type { Assertion } from './types' +import { noop } from '@vitest/utils' import { processError } from '@vitest/utils/error' export function createAssertionMessage( @@ -73,12 +74,19 @@ export function recordAsyncExpect( return promise } +function handleTestError(test: Test, err: unknown) { + test.result ||= { state: 'fail' } + test.result.state = 'fail' + test.result.errors ||= [] + test.result.errors.push(processError(err)) +} + export function wrapAssertion( utils: Chai.ChaiUtils, name: string, - fn: (this: Chai.AssertionStatic & Assertion, ...args: any[]) => void, + fn: (this: Chai.AssertionStatic & Assertion, ...args: any[]) => void | PromiseLike, ) { - return function (this: Chai.AssertionStatic & Assertion, ...args: any[]): void { + return function (this: Chai.AssertionStatic & Assertion, ...args: any[]): void | PromiseLike { // private if (name !== 'withTest') { utils.flag(this, '_name', name) @@ -95,13 +103,18 @@ export function wrapAssertion( } try { - return fn.apply(this, args) + const result = fn.apply(this, args) + + if (result && typeof result === 'object' && typeof result.then === 'function') { + return result.then(noop, (err) => { + handleTestError(test, err) + }) + } + + return result } catch (err) { - test.result ||= { state: 'fail' } - test.result.state = 'fail' - test.result.errors ||= [] - test.result.errors.push(processError(err)) + handleTestError(test, err) } } } diff --git a/test/cli/fixtures/expect-soft/expects/soft.test.ts b/test/cli/fixtures/expect-soft/expects/soft.test.ts index ff20fe61ad7f..6d72e483cbb9 100644 --- a/test/cli/fixtures/expect-soft/expects/soft.test.ts +++ b/test/cli/fixtures/expect-soft/expects/soft.test.ts @@ -1,6 +1,7 @@ import { expect, test } from 'vitest' interface CustomMatchers { + toBeAsync: (expected: unknown) => Promise; toBeDividedBy(divisor: number): R } @@ -9,6 +10,12 @@ declare module 'vitest' { } expect.extend({ + toBeAsync: async function (received, expected) { + return { + pass: received === expected, + message: () => `expected ${received} to be ${expected} (asynchronously)`, + }; + }, toBeDividedBy(received, divisor) { const pass = received % divisor === 0 if (pass) { @@ -62,6 +69,12 @@ test('with expect.extend', () => { expect(5).toEqual(6) }) +test('promise with expect.extend', async () => { + await expect.soft(1 + 1).toBeAsync(3); + await expect.soft(1 + 2).toBeAsync(3); + await expect.soft(2 + 2).toBeAsync(3); +}); + test('passed', () => { expect.soft(1).toEqual(1) expect(10).toEqual(10) diff --git a/test/cli/test/expect-soft.test.ts b/test/cli/test/expect-soft.test.ts index b968e78a9496..d96ad33e25a1 100644 --- a/test/cli/test/expect-soft.test.ts +++ b/test/cli/test/expect-soft.test.ts @@ -40,6 +40,12 @@ describe('expect.soft', () => { expect.soft(stderr).toContain('AssertionError: expected 5 to deeply equal 6') }) + test('promise with expect.extend', async () => { + const { stderr } = await run() + expect.soft(stderr).toContain('Error: expected 2 to be 3') + expect.soft(stderr).toContain('Error: expected 4 to be 3') + }) + test('passed', async () => { const { stdout } = await run() expect.soft(stdout).toContain('soft.test.ts > passed') From 3414692cb31814acd31ec7521a4fdb815cd2e739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Thu, 12 Jun 2025 03:58:32 +0300 Subject: [PATCH 14/26] test: flaky test-run timing (#8150) --- test/reporters/tests/test-run.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/reporters/tests/test-run.test.ts b/test/reporters/tests/test-run.test.ts index 90719c83b101..f40f0dbc5954 100644 --- a/test/reporters/tests/test-run.test.ts +++ b/test/reporters/tests/test-run.test.ts @@ -161,7 +161,7 @@ describe('TestCase', () => { const report = await run({ 'example.test.ts': ts` test('single test case', async () => { - await new Promise(resolve => setTimeout(resolve, 150)) + await new Promise(resolve => setTimeout(resolve, 300)) console.log("Test running!") }); `, From bd2c481fe81d9e98575b311d6bc4861f3aca8251 Mon Sep 17 00:00:00 2001 From: ItsJustRuby <3r4o02hucyw7o9fekpx8gla2@pollination.email> Date: Fri, 13 Jun 2025 01:35:03 +0200 Subject: [PATCH 15/26] docs: Typo in doc for `watchTriggerPatterns` (#8157) --- docs/config/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/index.md b/docs/config/index.md index 439098c14655..433aaaf5bcd3 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -724,7 +724,7 @@ export default defineConfig({ watchTriggerPatterns: [ { pattern: /^src\/(mailers|templates)\/(.*)\.(ts|html|txt)$/, - testToRun: (id, match) => { + testsToRun: (id, match) => { // relative to the root value return `./api/tests/mailers/${match[2]}.test.ts` }, From 0c3be6f637d65ef47f2fcf2ccd637f1ecc9d1786 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Sat, 14 Jun 2025 15:49:09 +0200 Subject: [PATCH 16/26] fix(coverage): ignore SCSS in browser mode (#8161) --- .../browser/src/node/providers/playwright.ts | 6 +- packages/coverage-istanbul/src/provider.ts | 3 +- packages/vitest/src/public/node.ts | 1 + pnpm-lock.yaml | 365 +++++++++++++++--- test/core/test/exports.test.ts | 2 + test/coverage-test/fixtures/src/Vue/Hello.vue | 8 + test/coverage-test/package.json | 1 + 7 files changed, 318 insertions(+), 68 deletions(-) diff --git a/packages/browser/src/node/providers/playwright.ts b/packages/browser/src/node/providers/playwright.ts index 0fc84c7a7e7c..3d471f5a075f 100644 --- a/packages/browser/src/node/providers/playwright.ts +++ b/packages/browser/src/node/providers/playwright.ts @@ -20,7 +20,7 @@ import type { } from 'vitest/node' import { createManualModuleSource } from '@vitest/mocker/node' import c from 'tinyrainbow' -import { createDebugger } from 'vitest/node' +import { createDebugger, isCSSRequest } from 'vitest/node' const debug = createDebugger('vitest:browser:playwright') @@ -471,10 +471,8 @@ function genSourceMapUrl(map: SourceMap | string): string { return `data:application/json;base64,${Buffer.from(map).toString('base64')}` } -const CSS_LANGS_RE - = /\.(?:css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/ const directRequestRE = /[?&]direct\b/ function isDirectCSSRequest(request: string): boolean { - return CSS_LANGS_RE.test(request) && directRequestRE.test(request) + return isCSSRequest(request) && directRequestRE.test(request) } diff --git a/packages/coverage-istanbul/src/provider.ts b/packages/coverage-istanbul/src/provider.ts index 6df39c701ada..7a169eb400e3 100644 --- a/packages/coverage-istanbul/src/provider.ts +++ b/packages/coverage-istanbul/src/provider.ts @@ -16,6 +16,7 @@ import { resolve } from 'pathe' import TestExclude from 'test-exclude' import c from 'tinyrainbow' import { BaseCoverageProvider } from 'vitest/coverage' +import { isCSSRequest } from 'vitest/node' import { version } from '../package.json' with { type: 'json' } import { COVERAGE_STORE_KEY } from './constants' @@ -64,7 +65,7 @@ export class IstanbulCoverageProvider extends BaseCoverageProvider=18'} + '@bufbuild/protobuf@2.5.2': + resolution: {integrity: sha512-foZ7qr0IsUBjzWIq+SuBLfdQCpJ1j8cTuNNT4owngTHoN5KsJb8L9t65fzz7SCeSWzescoOil/0ldqiL041ABg==} + '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -3763,6 +3769,9 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + '@types/which@2.0.2': resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} @@ -4549,6 +4558,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + buffer-builder@0.2.0: + resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -4747,6 +4759,9 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + colorjs.io@0.5.2: + resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -5851,6 +5866,10 @@ packages: resolution: {integrity: sha512-UVIHeVhxmxedbWPCfgS55Jg2rDfwf2BCKeylcPSqazLz5w3Kri7Q4xdBJubsr/+VUzFLh0VjIvh13RaDA2/Xug==} engines: {node: '>=20.0.0'} + happy-dom@18.0.1: + resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} + engines: {node: '>=20.0.0'} + has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -7574,6 +7593,107 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass-embedded-android-arm64@1.89.2: + resolution: {integrity: sha512-+pq7a7AUpItNyPu61sRlP6G2A8pSPpyazASb+8AK2pVlFayCSPAEgpwpCE9A2/Xj86xJZeMizzKUHxM2CBCUxA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] + + sass-embedded-android-arm@1.89.2: + resolution: {integrity: sha512-oHAPTboBHRZlDBhyRB6dvDKh4KvFs+DZibDHXbkSI6dBZxMTT+Yb2ivocHnctVGucKTLQeT7+OM5DjWHyynL/A==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [android] + + sass-embedded-android-riscv64@1.89.2: + resolution: {integrity: sha512-HfJJWp/S6XSYvlGAqNdakeEMPOdhBkj2s2lN6SHnON54rahKem+z9pUbCriUJfM65Z90lakdGuOfidY61R9TYg==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [android] + + sass-embedded-android-x64@1.89.2: + resolution: {integrity: sha512-BGPzq53VH5z5HN8de6jfMqJjnRe1E6sfnCWFd4pK+CAiuM7iw5Fx6BQZu3ikfI1l2GY0y6pRXzsVLdp/j4EKEA==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [android] + + sass-embedded-darwin-arm64@1.89.2: + resolution: {integrity: sha512-UCm3RL/tzMpG7DsubARsvGUNXC5pgfQvP+RRFJo9XPIi6elopY5B6H4m9dRYDpHA+scjVthdiDwkPYr9+S/KGw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [darwin] + + sass-embedded-darwin-x64@1.89.2: + resolution: {integrity: sha512-D9WxtDY5VYtMApXRuhQK9VkPHB8R79NIIR6xxVlN2MIdEid/TZWi1MHNweieETXhWGrKhRKglwnHxxyKdJYMnA==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [darwin] + + sass-embedded-linux-arm64@1.89.2: + resolution: {integrity: sha512-2N4WW5LLsbtrWUJ7iTpjvhajGIbmDR18ZzYRywHdMLpfdPApuHPMDF5CYzHbS+LLx2UAx7CFKBnj5LLjY6eFgQ==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-arm@1.89.2: + resolution: {integrity: sha512-leP0t5U4r95dc90o8TCWfxNXwMAsQhpWxTkdtySDpngoqtTy3miMd7EYNYd1znI0FN1CBaUvbdCMbnbPwygDlA==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-arm64@1.89.2: + resolution: {integrity: sha512-nTyuaBX6U1A/cG7WJh0pKD1gY8hbg1m2SnzsyoFG+exQ0lBX/lwTLHq3nyhF+0atv7YYhYKbmfz+sjPP8CZ9lw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-musl-arm@1.89.2: + resolution: {integrity: sha512-Z6gG2FiVEEdxYHRi2sS5VIYBmp17351bWtOCUZ/thBM66+e70yiN6Eyqjz80DjL8haRUegNQgy9ZJqsLAAmr9g==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-riscv64@1.89.2: + resolution: {integrity: sha512-N6oul+qALO0SwGY8JW7H/Vs0oZIMrRMBM4GqX3AjM/6y8JsJRxkAwnfd0fDyK+aICMFarDqQonQNIx99gdTZqw==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-musl-x64@1.89.2: + resolution: {integrity: sha512-K+FmWcdj/uyP8GiG9foxOCPfb5OAZG0uSVq80DKgVSC0U44AdGjvAvVZkrgFEcZ6cCqlNC2JfYmslB5iqdL7tg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-linux-riscv64@1.89.2: + resolution: {integrity: sha512-g9nTbnD/3yhOaskeqeBQETbtfDQWRgsjHok6bn7DdAuwBsyrR3JlSFyqKc46pn9Xxd9SQQZU8AzM4IR+sY0A0w==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-x64@1.89.2: + resolution: {integrity: sha512-Ax7dKvzncyQzIl4r7012KCMBvJzOz4uwSNoyoM5IV6y5I1f5hEwI25+U4WfuTqdkv42taCMgpjZbh9ERr6JVMQ==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-win32-arm64@1.89.2: + resolution: {integrity: sha512-j96iJni50ZUsfD6tRxDQE2QSYQ2WrfHxeiyAXf41Kw0V4w5KYR/Sf6rCZQLMTUOHnD16qTMVpQi20LQSqf4WGg==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [win32] + + sass-embedded-win32-x64@1.89.2: + resolution: {integrity: sha512-cS2j5ljdkQsb4PaORiClaVYynE9OAPZG/XjbOMxpQmjRIf7UroY4PEIH+Waf+y47PfXFX9SyxhYuw2NIKGbEng==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [win32] + + sass-embedded@1.89.2: + resolution: {integrity: sha512-Ack2K8rc57kCFcYlf3HXpZEJFNUX8xd8DILldksREmYXQkRHI879yy8q4mRDJgrojkySMZqmmmW1NxrFxMsYaA==} + engines: {node: '>=16.0.0'} + hasBin: true + saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -7909,6 +8029,10 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -7919,6 +8043,14 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + sync-child-process@1.0.2: + resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + engines: {node: '>=16.0.0'} + + sync-message-port@1.1.3: + resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + engines: {node: '>=16.0.0'} + synckit@0.6.2: resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} engines: {node: '>=12.20'} @@ -8353,6 +8485,9 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -9667,6 +9802,8 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@bufbuild/protobuf@2.5.2': {} + '@bundled-es-modules/cookie@2.0.1': dependencies: cookie: 0.7.2 @@ -10975,6 +11112,8 @@ snapshots: '@types/web-bluetooth@0.0.21': {} + '@types/whatwg-mimetype@3.0.2': {} + '@types/which@2.0.2': {} '@types/ws@8.18.1': @@ -11072,13 +11211,13 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@unocss/astro@66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@unocss/astro@66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@unocss/core': 66.1.3 '@unocss/reset': 66.1.3 - '@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) optionalDependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - vue @@ -11209,7 +11348,7 @@ snapshots: dependencies: '@unocss/core': 66.1.3 - '@unocss/vite@66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@unocss/vite@66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@ampproject/remapping': 2.3.0 '@unocss/config': 66.1.3 @@ -11220,7 +11359,7 @@ snapshots: pathe: 2.0.3 tinyglobby: 0.2.14 unplugin-utils: 0.2.4 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - vue @@ -11286,17 +11425,17 @@ snapshots: sharp-ico: 0.1.5 unconfig: 7.3.2 - '@vite-pwa/vitepress@1.0.0(@vite-pwa/assets-generator@1.0.0)(vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': + '@vite-pwa/vitepress@1.0.0(@vite-pwa/assets-generator@1.0.0)(vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': dependencies: - vite-plugin-pwa: 0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) + vite-plugin-pwa: 0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) optionalDependencies: '@vite-pwa/assets-generator': 1.0.0 - '@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) - '@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/core': 7.26.10 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) @@ -11304,13 +11443,13 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.9 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) vue: 3.5.16(typescript@5.8.3) '@vitest/eslint-plugin@1.2.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vitest@packages+vitest)': @@ -11889,6 +12028,8 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.1(browserslist@4.24.4) + buffer-builder@0.2.0: {} + buffer-crc32@0.2.13: {} buffer-crc32@1.0.0: {} @@ -12141,6 +12282,8 @@ snapshots: colorette@2.0.20: {} + colorjs.io@0.5.2: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -13499,6 +13642,12 @@ snapshots: webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 + happy-dom@18.0.1: + dependencies: + '@types/node': 20.17.57 + '@types/whatwg-mimetype': 3.0.2 + whatwg-mimetype: 3.0.0 + has-bigints@1.0.2: {} has-flag@4.0.0: {} @@ -15444,6 +15593,82 @@ snapshots: safer-buffer@2.1.2: {} + sass-embedded-android-arm64@1.89.2: + optional: true + + sass-embedded-android-arm@1.89.2: + optional: true + + sass-embedded-android-riscv64@1.89.2: + optional: true + + sass-embedded-android-x64@1.89.2: + optional: true + + sass-embedded-darwin-arm64@1.89.2: + optional: true + + sass-embedded-darwin-x64@1.89.2: + optional: true + + sass-embedded-linux-arm64@1.89.2: + optional: true + + sass-embedded-linux-arm@1.89.2: + optional: true + + sass-embedded-linux-musl-arm64@1.89.2: + optional: true + + sass-embedded-linux-musl-arm@1.89.2: + optional: true + + sass-embedded-linux-musl-riscv64@1.89.2: + optional: true + + sass-embedded-linux-musl-x64@1.89.2: + optional: true + + sass-embedded-linux-riscv64@1.89.2: + optional: true + + sass-embedded-linux-x64@1.89.2: + optional: true + + sass-embedded-win32-arm64@1.89.2: + optional: true + + sass-embedded-win32-x64@1.89.2: + optional: true + + sass-embedded@1.89.2: + dependencies: + '@bufbuild/protobuf': 2.5.2 + buffer-builder: 0.2.0 + colorjs.io: 0.5.2 + immutable: 5.1.2 + rxjs: 7.8.1 + supports-color: 8.1.1 + sync-child-process: 1.0.2 + varint: 6.0.0 + optionalDependencies: + sass-embedded-android-arm: 1.89.2 + sass-embedded-android-arm64: 1.89.2 + sass-embedded-android-riscv64: 1.89.2 + sass-embedded-android-x64: 1.89.2 + sass-embedded-darwin-arm64: 1.89.2 + sass-embedded-darwin-x64: 1.89.2 + sass-embedded-linux-arm: 1.89.2 + sass-embedded-linux-arm64: 1.89.2 + sass-embedded-linux-musl-arm: 1.89.2 + sass-embedded-linux-musl-arm64: 1.89.2 + sass-embedded-linux-musl-riscv64: 1.89.2 + sass-embedded-linux-musl-x64: 1.89.2 + sass-embedded-linux-riscv64: 1.89.2 + sass-embedded-linux-x64: 1.89.2 + sass-embedded-win32-arm64: 1.89.2 + sass-embedded-win32-x64: 1.89.2 + saxes@6.0.0: dependencies: xmlchars: 2.2.0 @@ -15880,12 +16105,22 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} sweetalert2@11.22.0: {} symbol-tree@3.2.4: {} + sync-child-process@1.0.2: + dependencies: + sync-message-port: 1.1.3 + + sync-message-port@1.1.3: {} + synckit@0.6.2: dependencies: tslib: 2.8.1 @@ -16209,9 +16444,9 @@ snapshots: universalify@2.0.1: {} - unocss@66.1.3(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): + unocss@66.1.3(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): dependencies: - '@unocss/astro': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@unocss/astro': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@unocss/cli': 66.1.3 '@unocss/core': 66.1.3 '@unocss/postcss': 66.1.3(postcss@8.5.3) @@ -16229,9 +16464,9 @@ snapshots: '@unocss/transformer-compile-class': 66.1.3 '@unocss/transformer-directives': 66.1.3 '@unocss/transformer-variant-group': 66.1.3 - '@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) optionalDependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - postcss - supports-color @@ -16380,6 +16615,8 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + varint@6.0.0: {} + vary@1.1.2: {} vecti@3.1.0: {} @@ -16395,7 +16632,7 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-plugin-pages@0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))): + vite-plugin-pages@0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))): dependencies: '@types/debug': 4.1.12 debug: 4.4.1 @@ -16406,7 +16643,7 @@ snapshots: micromatch: 4.0.8 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) yaml: 2.8.0 optionalDependencies: '@vue/compiler-sfc': 3.5.16 @@ -16414,12 +16651,12 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0): + vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0): dependencies: debug: 4.4.1 pretty-bytes: 6.1.1 tinyglobby: 0.2.14 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) workbox-build: 7.1.0(@types/babel__core@7.20.5) workbox-window: 7.3.0 optionalDependencies: @@ -16427,7 +16664,7 @@ snapshots: transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.4(picomatch@4.0.2) @@ -16440,11 +16677,12 @@ snapshots: fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 + sass-embedded: 1.89.2 terser: 5.36.0 tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.4(picomatch@4.0.2) @@ -16457,26 +16695,27 @@ snapshots: fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 + sass-embedded: 1.89.2 terser: 5.36.0 tsx: 4.19.4 yaml: 2.8.0 - vitepress-plugin-group-icons@1.5.5(markdown-it@14.1.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)): + vitepress-plugin-group-icons@1.5.5(markdown-it@14.1.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@iconify-json/logos': 1.2.4 '@iconify-json/vscode-icons': 1.2.19 '@iconify/utils': 2.3.0 markdown-it: 14.1.0 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color - vitepress-plugin-tabs@0.7.1(vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): + vitepress-plugin-tabs@0.7.1(vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): dependencies: - vitepress: 2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) + vitepress: 2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) vue: 3.5.16(typescript@5.8.3) - vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0): + vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0): dependencies: '@docsearch/css': 3.9.0 '@docsearch/js': 3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0) @@ -16484,7 +16723,7 @@ snapshots: '@shikijs/core': 3.4.2 '@shikijs/transformers': 3.4.2 '@shikijs/types': 3.4.2 - '@vitejs/plugin-vue': 5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@vitejs/plugin-vue': 5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@vue/devtools-api': 7.7.5 '@vue/shared': 3.5.16 '@vueuse/core': 13.1.0(vue@3.5.16(typescript@5.8.3)) @@ -16493,7 +16732,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.1.2 shiki: 3.4.2 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) vue: 3.5.16(typescript@5.8.3) optionalDependencies: postcss: 8.5.3 diff --git a/test/core/test/exports.test.ts b/test/core/test/exports.test.ts index 7608f47db748..09387a1d3877 100644 --- a/test/core/test/exports.test.ts +++ b/test/core/test/exports.test.ts @@ -103,6 +103,7 @@ it('exports snapshot', async ({ skip, task }) => { "esbuildVersion": "string", "generateFileHash": "function", "getFilePoolName": "function", + "isCSSRequest": "function", "isFileServingAllowed": "function", "isValidApiRequest": "function", "parseAst": "function", @@ -259,6 +260,7 @@ it('exports snapshot', async ({ skip, task }) => { "esbuildVersion": "string", "generateFileHash": "function", "getFilePoolName": "function", + "isCSSRequest": "function", "isFileServingAllowed": "function", "isValidApiRequest": "function", "parseAst": "function", diff --git a/test/coverage-test/fixtures/src/Vue/Hello.vue b/test/coverage-test/fixtures/src/Vue/Hello.vue index d1bf7f677f81..a53635401b82 100644 --- a/test/coverage-test/fixtures/src/Vue/Hello.vue +++ b/test/coverage-test/fixtures/src/Vue/Hello.vue @@ -15,3 +15,11 @@ defineExpose(props) x1 + + + + diff --git a/test/coverage-test/package.json b/test/coverage-test/package.json index a5309dc04b83..83a2e381d1df 100644 --- a/test/coverage-test/package.json +++ b/test/coverage-test/package.json @@ -21,6 +21,7 @@ "istanbul-lib-report": "catalog:", "magic-string": "^0.30.17", "magicast": "^0.3.5", + "sass-embedded": "^1.89.2", "unplugin-swc": "^1.5.4", "vite": "latest", "vitest": "workspace:*", From cecc4e05caede6af6622a6ab8601fd6bff2357b6 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Sun, 15 Jun 2025 11:06:30 +0200 Subject: [PATCH 17/26] chore: configure vscode extensions (#8163) --- .vscode/extensions.json | 6 ++++++ .vscode/settings.json | 6 +++--- vitest.workspace.vscode.ts | 7 ------- 3 files changed, 9 insertions(+), 10 deletions(-) create mode 100644 .vscode/extensions.json delete mode 100644 vitest.workspace.vscode.ts diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000000..f63d683be064 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,6 @@ +{ + "recommendations": [ + "vitest.explorer", + "dbaeumer.vscode-eslint" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 8316b151420a..1a220e193e56 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,8 +22,9 @@ // { "rule": "*semi", "severity": "off" } // ], - "vitest.workspaceConfig": "./vitest.workspace.vscode.ts", - "testing.openTesting": "neverOpen", + "vitest.ignoreWorkspace": true, + "vitest.configSearchPatternInclude": "test/{core,cli,config}/{vitest,vite}.config.ts", + "testing.automaticallyOpenTestResults": "neverOpen", // Enable eslint for all supported languages "eslint.validate": [ @@ -38,7 +39,6 @@ "jsonc", "yaml" ], - "testing.automaticallyOpenTestResults": "neverOpen", // Use the project's typescript version "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/vitest.workspace.vscode.ts b/vitest.workspace.vscode.ts deleted file mode 100644 index cb0d34767ee0..000000000000 --- a/vitest.workspace.vscode.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { defineWorkspace } from 'vitest/config' - -export default defineWorkspace([ - './test/core', - './test/cli', - './test/config', -]) From 37ec08a00842fd905889bb5d6045f114b42d6f42 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:25:58 +0200 Subject: [PATCH 18/26] chore(deps): update dependency @vitejs/plugin-basic-ssl to v2 (#8167) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 16 ++++++++-------- test/browser/package.json | 2 +- test/cli/package.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a55f7c1f016e..49530c76f5ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1163,8 +1163,8 @@ importers: specifier: ^19.1.6 version: 19.1.6 '@vitejs/plugin-basic-ssl': - specifier: ^1.2.0 - version: 1.2.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) + specifier: ^2.0.0 + version: 2.0.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -1208,8 +1208,8 @@ importers: specifier: 'catalog:' version: 8.18.1 '@vitejs/plugin-basic-ssl': - specifier: ^1.2.0 - version: 1.2.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) + specifier: ^2.0.0 + version: 2.0.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/runner': specifier: workspace:^ version: link:../../packages/runner @@ -4021,9 +4021,9 @@ packages: '@vite-pwa/assets-generator': optional: true - '@vitejs/plugin-basic-ssl@1.2.0': - resolution: {integrity: sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==} - engines: {node: '>=14.21.3'} + '@vitejs/plugin-basic-ssl@2.0.0': + resolution: {integrity: sha512-gc9Tjg8bUxBVSTzeWT3Njc0Cl3PakHFKdNfABnZWiUgbxqmHDEn7uECv3fHVylxoYgNzAcmU7ZrILz+BwSo3sA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} peerDependencies: vite: ^6.3.5 @@ -11431,7 +11431,7 @@ snapshots: optionalDependencies: '@vite-pwa/assets-generator': 1.0.0 - '@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-basic-ssl@2.0.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) diff --git a/test/browser/package.json b/test/browser/package.json index b50d748f8883..8b3e893c2a1a 100644 --- a/test/browser/package.json +++ b/test/browser/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@testing-library/react": "^13.4.0", "@types/react": "^19.1.6", - "@vitejs/plugin-basic-ssl": "^1.2.0", + "@vitejs/plugin-basic-ssl": "^2.0.0", "@vitest/browser": "workspace:*", "@vitest/bundled-lib": "link:./bundled-lib", "@vitest/cjs-lib": "link:./cjs-lib", diff --git a/test/cli/package.json b/test/cli/package.json index 673082cde786..af8c15d85b36 100644 --- a/test/cli/package.json +++ b/test/cli/package.json @@ -8,7 +8,7 @@ "devDependencies": { "@types/debug": "catalog:", "@types/ws": "catalog:", - "@vitejs/plugin-basic-ssl": "^1.2.0", + "@vitejs/plugin-basic-ssl": "^2.0.0", "@vitest/runner": "workspace:^", "@vitest/test-dep-error": "file:./deps/error", "@vitest/test-dep-linked": "link:./deps/linked", From c57f54a8c33837d527d7376b43f6c5b400b12ed4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:26:20 +0200 Subject: [PATCH 19/26] chore(deps): update dependency @antfu/ni to v25 (#8166) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f9b0f81f3075..be9236497557 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@antfu/eslint-config": "^4.13.2", - "@antfu/ni": "^24.4.0", + "@antfu/ni": "^25.0.0", "@playwright/test": "^1.52.0", "@rollup/plugin-commonjs": "^28.0.3", "@rollup/plugin-json": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 49530c76f5ce..fee03ec83065 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -161,8 +161,8 @@ importers: specifier: ^4.13.2 version: 4.13.2(@vue/compiler-sfc@3.5.16)(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vitest@packages+vitest) '@antfu/ni': - specifier: ^24.4.0 - version: 24.4.0 + specifier: ^25.0.0 + version: 25.0.0 '@playwright/test': specifier: ^1.52.0 version: 1.52.0 @@ -1716,8 +1716,8 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/ni@24.4.0': - resolution: {integrity: sha512-ZjriRbGyWGSrBE1RY2qBIXyilejMWLDWh2Go2dqFottyiuOze36+BpPch2z2WnGEgEbzTBVPetMmQvt0xt+iww==} + '@antfu/ni@25.0.0': + resolution: {integrity: sha512-9q/yCljni37pkMr4sPrI3G4jqdIk074+iukc5aFJl7kmDCCsiJrbZ6zKxnES1Gwg+i9RcDZwvktl23puGslmvA==} hasBin: true '@antfu/utils@0.7.10': @@ -9107,7 +9107,7 @@ snapshots: package-manager-detector: 1.3.0 tinyexec: 1.0.1 - '@antfu/ni@24.4.0': + '@antfu/ni@25.0.0': dependencies: ansis: 4.1.0 fzf: 0.5.2 From 93f3200e452874ed4e2d018718bbbde7ebd28590 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 18:14:40 +0200 Subject: [PATCH 20/26] fix(deps): update all non-major dependencies (#8123) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/package.json | 8 +- examples/fastify/package.json | 2 +- examples/lit/package.json | 2 +- examples/projects/package.json | 6 +- examples/typecheck/package.json | 2 +- package.json | 16 +- packages/browser/package.json | 6 +- packages/ui/package.json | 4 +- packages/utils/package.json | 2 +- packages/vitest/package.json | 4 +- pnpm-lock.yaml | 1742 ++++++++++++++++--------------- pnpm-workspace.yaml | 12 +- test/browser/package.json | 6 +- test/core/package.json | 2 +- test/public-mocker/package.json | 2 +- 15 files changed, 918 insertions(+), 898 deletions(-) diff --git a/docs/package.json b/docs/package.json index a51fec324de4..b29a970fb12c 100644 --- a/docs/package.json +++ b/docs/package.json @@ -20,8 +20,8 @@ "devDependencies": { "@iconify-json/carbon": "catalog:", "@iconify-json/logos": "catalog:", - "@shikijs/transformers": "^3.4.2", - "@shikijs/vitepress-twoslash": "^3.4.2", + "@shikijs/transformers": "^3.6.0", + "@shikijs/vitepress-twoslash": "^3.6.0", "@unocss/reset": "catalog:", "@vite-pwa/assets-generator": "^1.0.0", "@vite-pwa/vitepress": "^1.0.0", @@ -32,8 +32,8 @@ "unplugin-vue-components": "catalog:", "vite": "^5.2.8", "vite-plugin-pwa": "^0.21.2", - "vitepress": "2.0.0-alpha.5", - "vitepress-plugin-group-icons": "^1.5.5", + "vitepress": "2.0.0-alpha.6", + "vitepress-plugin-group-icons": "^1.6.0", "vitepress-plugin-tabs": "^0.7.1", "workbox-window": "^7.3.0" } diff --git a/examples/fastify/package.json b/examples/fastify/package.json index 0855a628b8a5..47d9d1d3e817 100644 --- a/examples/fastify/package.json +++ b/examples/fastify/package.json @@ -14,7 +14,7 @@ "@vitest/ui": "latest", "fastify": "^4.29.1", "supertest": "^6.3.4", - "tsx": "^4.19.4", + "tsx": "^4.20.3", "vite": "latest", "vitest": "latest" }, diff --git a/examples/lit/package.json b/examples/lit/package.json index e3203ab59b23..bb09bf860ec1 100644 --- a/examples/lit/package.json +++ b/examples/lit/package.json @@ -19,7 +19,7 @@ "devDependencies": { "@vitest/browser": "latest", "jsdom": "latest", - "playwright": "^1.52.0", + "playwright": "^1.53.0", "vite": "latest", "vitest": "latest" }, diff --git a/examples/projects/package.json b/examples/projects/package.json index 23e698b9f165..99c99628d123 100644 --- a/examples/projects/package.json +++ b/examples/projects/package.json @@ -12,14 +12,14 @@ "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^14.6.1", - "@types/react": "^19.1.6", - "@vitejs/plugin-react": "^4.5.0", + "@types/react": "^19.1.8", + "@vitejs/plugin-react": "^4.5.2", "@vitest/ui": "latest", "fastify": "^4.29.1", "jsdom": "^26.1.0", "react": "^19.1.0", "supertest": "^6.3.4", - "tsx": "^4.19.4", + "tsx": "^4.20.3", "vite": "latest", "vitest": "latest" }, diff --git a/examples/typecheck/package.json b/examples/typecheck/package.json index 7ca781a301b3..b79ef601e7ab 100644 --- a/examples/typecheck/package.json +++ b/examples/typecheck/package.json @@ -10,7 +10,7 @@ "test:run": "vitest run" }, "devDependencies": { - "@types/node": "^20.17.57", + "@types/node": "^20.19.1", "@vitest/ui": "latest", "typescript": "^5.8.3", "vite": "latest", diff --git a/package.json b/package.json index be9236497557..b9ff289ec731 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "3.2.3", "private": true, - "packageManager": "pnpm@10.11.0", + "packageManager": "pnpm@10.12.1", "description": "Next generation testing framework powered by Vite", "engines": { "node": "^18.0.0 || >=20.0.0" @@ -38,11 +38,11 @@ "devDependencies": { "@antfu/eslint-config": "^4.13.2", "@antfu/ni": "^25.0.0", - "@playwright/test": "^1.52.0", - "@rollup/plugin-commonjs": "^28.0.3", + "@playwright/test": "^1.53.0", + "@rollup/plugin-commonjs": "^28.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.1", - "@types/node": "^22.15.29", + "@types/node": "^22.15.32", "@types/ws": "catalog:", "@vitest/browser": "workspace:*", "@vitest/coverage-istanbul": "workspace:*", @@ -55,17 +55,17 @@ "magic-string": "^0.30.17", "pathe": "^2.0.3", "rimraf": "^6.0.1", - "rollup": "^4.41.1", + "rollup": "^4.43.0", "rollup-plugin-dts": "^6.2.1", "rollup-plugin-license": "^3.6.0", "tinyglobby": "catalog:", - "tsx": "^4.19.4", + "tsx": "^4.20.3", "typescript": "^5.8.3", - "unplugin-isolated-decl": "^0.14.2", + "unplugin-isolated-decl": "^0.14.3", "unplugin-oxc": "^0.4.5", "vite": "^6.3.5", "vitest": "workspace:*", - "zx": "^8.5.4" + "zx": "^8.5.5" }, "pnpm": { "overrides": { diff --git a/packages/browser/package.json b/packages/browser/package.json index d57085ccead4..7fc568a90d15 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -106,12 +106,12 @@ "@wdio/types": "^9.15.0", "birpc": "catalog:", "flatted": "catalog:", - "ivya": "^1.6.0", + "ivya": "^1.7.0", "mime": "^4.0.7", "pathe": "catalog:", "periscopic": "^4.0.2", - "playwright": "^1.52.0", - "playwright-core": "^1.52.0", + "playwright": "^1.53.0", + "playwright-core": "^1.53.0", "safaridriver": "^1.0.0", "vitest": "workspace:*", "webdriverio": "^9.15.0" diff --git a/packages/ui/package.json b/packages/ui/package.json index 22cd2a3c9397..c08e4f7c1d81 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -75,10 +75,10 @@ "birpc": "catalog:", "codemirror": "^5.65.18", "codemirror-theme-vars": "^0.1.2", - "d3-graph-controller": "^3.1.0", + "d3-graph-controller": "^3.1.1", "floating-vue": "^5.2.2", "mime": "^4.0.7", - "rollup": "^4.41.1", + "rollup": "^4.43.0", "splitpanes": "^3.2.0", "unocss": "catalog:", "unplugin-auto-import": "^0.19.0", diff --git a/packages/utils/package.json b/packages/utils/package.json index c4eb28e248fc..0584dfecd133 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -65,7 +65,7 @@ }, "dependencies": { "@vitest/pretty-format": "workspace:*", - "loupe": "^3.1.3", + "loupe": "^3.1.4", "tinyrainbow": "catalog:" }, "devDependencies": { diff --git a/packages/vitest/package.json b/packages/vitest/package.json index 7ed2248ceba5..86c4c1552832 100644 --- a/packages/vitest/package.json +++ b/packages/vitest/package.json @@ -185,7 +185,7 @@ "@types/istanbul-reports": "catalog:", "@types/jsdom": "^21.1.7", "@types/mime": "^4.0.0", - "@types/node": "^22.15.29", + "@types/node": "^22.15.32", "@types/picomatch": "^4.0.0", "@types/prompts": "^2.4.9", "@types/sinonjs__fake-timers": "^8.1.5", @@ -195,7 +195,7 @@ "chai-subset": "^1.6.0", "find-up": "^6.3.0", "flatted": "catalog:", - "happy-dom": "^17.5.6", + "happy-dom": "^17.6.3", "jsdom": "^26.1.0", "local-pkg": "^1.1.1", "mime": "^4.0.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fee03ec83065..be3541934c82 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,8 +10,8 @@ catalogs: specifier: ^2.3.0 version: 2.3.0 '@iconify-json/carbon': - specifier: ^1.2.8 - version: 1.2.8 + specifier: ^1.2.9 + version: 1.2.9 '@iconify-json/logos': specifier: ^1.2.4 version: 1.2.4 @@ -25,8 +25,8 @@ catalogs: specifier: ^4.1.12 version: 4.1.12 '@types/estree': - specifier: ^1.0.7 - version: 1.0.7 + specifier: ^1.0.8 + version: 1.0.8 '@types/istanbul-lib-coverage': specifier: ^2.0.6 version: 2.0.6 @@ -46,8 +46,8 @@ catalogs: specifier: ^8.18.1 version: 8.18.1 '@unocss/reset': - specifier: ^66.1.3 - version: 66.1.3 + specifier: ^66.2.1 + version: 66.2.1 '@vitejs/plugin-vue': specifier: ^5.2.4 version: 5.2.4 @@ -58,8 +58,8 @@ catalogs: specifier: ^8.3.4 version: 8.3.4 birpc: - specifier: 2.3.0 - version: 2.3.0 + specifier: 2.4.0 + version: 2.4.0 cac: specifier: ^6.7.14 version: 6.7.14 @@ -91,8 +91,8 @@ catalogs: specifier: ^0.3.5 version: 0.3.5 msw: - specifier: ^2.8.7 - version: 2.8.7 + specifier: ^2.10.2 + version: 2.10.2 pathe: specifier: ^2.0.3 version: 2.0.3 @@ -115,8 +115,8 @@ catalogs: specifier: ^2.0.0 version: 2.0.0 unocss: - specifier: ^66.1.3 - version: 66.1.3 + specifier: ^66.2.1 + version: 66.2.1 unplugin-vue-components: specifier: ^0.28.0 version: 0.28.0 @@ -132,7 +132,7 @@ overrides: '@vitest/ui': workspace:* acorn: 8.11.3 mlly: ^1.7.4 - rollup: ^4.41.1 + rollup: ^4.43.0 vite: ^6.3.5 vitest: workspace:* @@ -164,20 +164,20 @@ importers: specifier: ^25.0.0 version: 25.0.0 '@playwright/test': - specifier: ^1.52.0 - version: 1.52.0 + specifier: ^1.53.0 + version: 1.53.0 '@rollup/plugin-commonjs': - specifier: ^28.0.3 - version: 28.0.3(rollup@4.41.1) + specifier: ^28.0.5 + version: 28.0.5(rollup@4.43.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.41.1) + version: 6.1.0(rollup@4.43.0) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.41.1) + version: 16.0.1(rollup@4.43.0) '@types/node': - specifier: ^22.15.29 - version: 22.15.29 + specifier: ^22.15.32 + version: 22.15.32 '@types/ws': specifier: 'catalog:' version: 8.18.1 @@ -215,38 +215,38 @@ importers: specifier: ^6.0.1 version: 6.0.1 rollup: - specifier: ^4.41.1 - version: 4.41.1 + specifier: ^4.43.0 + version: 4.43.0 rollup-plugin-dts: specifier: ^6.2.1 - version: 6.2.1(rollup@4.41.1)(typescript@5.8.3) + version: 6.2.1(rollup@4.43.0)(typescript@5.8.3) rollup-plugin-license: specifier: ^3.6.0 - version: 3.6.0(picomatch@4.0.2)(rollup@4.41.1) + version: 3.6.0(picomatch@4.0.2)(rollup@4.43.0) tinyglobby: specifier: 'catalog:' version: 0.2.14 tsx: - specifier: ^4.19.4 - version: 4.19.4 + specifier: ^4.20.3 + version: 4.20.3 typescript: specifier: ^5.8.3 version: 5.8.3 unplugin-isolated-decl: - specifier: ^0.14.2 - version: 0.14.2(typescript@5.8.3) + specifier: ^0.14.3 + version: 0.14.3(typescript@5.8.3) unplugin-oxc: specifier: ^0.4.5 version: 0.4.5 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:packages/vitest zx: - specifier: ^8.5.4 - version: 8.5.4 + specifier: ^8.5.5 + version: 8.5.5 docs: dependencies: @@ -259,28 +259,28 @@ importers: devDependencies: '@iconify-json/carbon': specifier: 'catalog:' - version: 1.2.8 + version: 1.2.9 '@iconify-json/logos': specifier: 'catalog:' version: 1.2.4 '@shikijs/transformers': - specifier: ^3.4.2 - version: 3.4.2 + specifier: ^3.6.0 + version: 3.6.0 '@shikijs/vitepress-twoslash': - specifier: ^3.4.2 - version: 3.4.2(typescript@5.8.3) + specifier: ^3.6.0 + version: 3.6.0(typescript@5.8.3) '@unocss/reset': specifier: 'catalog:' - version: 66.1.3 + version: 66.2.1 '@vite-pwa/assets-generator': specifier: ^1.0.0 version: 1.0.0 '@vite-pwa/vitepress': specifier: ^1.0.0 - version: 1.0.0(@vite-pwa/assets-generator@1.0.0)(vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) + version: 1.0.0(@vite-pwa/assets-generator@1.0.0)(vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) '@vitejs/plugin-vue': specifier: 'catalog:' - version: 5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) https-localhost: specifier: ^4.7.1 version: 4.7.1 @@ -289,25 +289,25 @@ importers: version: 0.2.14 unocss: specifier: 'catalog:' - version: 66.1.3(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 66.2.1(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) unplugin-vue-components: specifier: 'catalog:' - version: 0.28.0(@babel/parser@7.27.2)(rollup@4.41.1)(vue@3.5.16(typescript@5.8.3)) + version: 0.28.0(@babel/parser@7.27.5)(rollup@4.43.0)(vue@3.5.16(typescript@5.8.3)) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-pwa: specifier: ^0.21.2 - version: 0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) + version: 0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) vitepress: - specifier: 2.0.0-alpha.5 - version: 2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) + specifier: 2.0.0-alpha.6 + version: 2.0.0-alpha.6(@algolia/client-search@5.20.0)(@types/node@22.15.32)(@types/react@19.1.8)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) vitepress-plugin-group-icons: - specifier: ^1.5.5 - version: 1.5.5(markdown-it@14.1.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) + specifier: ^1.6.0 + version: 1.6.0(markdown-it@14.1.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) vitepress-plugin-tabs: specifier: ^0.7.1 - version: 0.7.1(vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 0.7.1(vitepress@2.0.0-alpha.6(@algolia/client-search@5.20.0)(@types/node@22.15.32)(@types/react@19.1.8)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) workbox-window: specifier: ^7.3.0 version: 7.3.0 @@ -319,7 +319,7 @@ importers: version: link:../../packages/ui vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -336,11 +336,11 @@ importers: specifier: ^6.3.4 version: 6.3.4 tsx: - specifier: ^4.19.4 - version: 4.19.4 + specifier: ^4.20.3 + version: 4.20.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -367,11 +367,11 @@ importers: specifier: latest version: 26.1.0 playwright: - specifier: ^1.52.0 - version: 1.52.0 + specifier: ^1.53.0 + version: 1.53.0 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -380,7 +380,7 @@ importers: devDependencies: vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -397,11 +397,11 @@ importers: specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.0) '@types/react': - specifier: ^19.1.6 - version: 19.1.6 + specifier: ^19.1.8 + version: 19.1.8 '@vitejs/plugin-react': - specifier: ^4.5.0 - version: 4.5.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) + specifier: ^4.5.2 + version: 4.5.2(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/ui': specifier: workspace:* version: link:../../packages/ui @@ -418,11 +418,11 @@ importers: specifier: ^6.3.4 version: 6.3.4 tsx: - specifier: ^4.19.4 - version: 4.19.4 + specifier: ^4.20.3 + version: 4.20.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -430,8 +430,8 @@ importers: examples/typecheck: devDependencies: '@types/node': - specifier: ^20.17.57 - version: 20.17.57 + specifier: ^20.19.1 + version: 20.19.1 '@vitest/ui': specifier: workspace:* version: link:../../packages/ui @@ -440,7 +440,7 @@ importers: version: 5.8.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@20.19.1)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -492,13 +492,13 @@ importers: version: 9.15.0 birpc: specifier: 'catalog:' - version: 2.3.0 + version: 2.4.0 flatted: specifier: 'catalog:' version: 3.3.3 ivya: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.7.0 + version: 1.7.0 mime: specifier: ^4.0.7 version: 4.0.7 @@ -509,11 +509,11 @@ importers: specifier: ^4.0.2 version: 4.0.2 playwright: - specifier: ^1.52.0 - version: 1.52.0 + specifier: ^1.53.0 + version: 1.53.0 playwright-core: - specifier: ^1.52.0 - version: 1.52.0 + specifier: ^1.53.0 + version: 1.53.0 safaridriver: specifier: ^1.0.0 version: 1.0.0 @@ -700,7 +700,7 @@ importers: devDependencies: '@types/estree': specifier: 'catalog:' - version: 1.0.7 + version: 1.0.8 '@vitest/utils': specifier: workspace:* version: link:../utils @@ -709,13 +709,13 @@ importers: version: 8.3.4 msw: specifier: 'catalog:' - version: 2.8.7(@types/node@22.15.29)(typescript@5.8.3) + version: 2.10.2(@types/node@22.15.32)(typescript@5.8.3) pathe: specifier: 'catalog:' version: 2.0.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) packages/pretty-format: dependencies: @@ -805,7 +805,7 @@ importers: version: 9.8.0 '@iconify-json/carbon': specifier: 'catalog:' - version: 1.2.8 + version: 1.2.9 '@iconify-json/logos': specifier: 'catalog:' version: 1.2.4 @@ -829,10 +829,10 @@ importers: version: 8.18.1 '@unocss/reset': specifier: 'catalog:' - version: 66.1.3 + version: 66.2.1 '@vitejs/plugin-vue': specifier: 'catalog:' - version: 5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@vitest/runner': specifier: workspace:* version: link:../runner @@ -850,7 +850,7 @@ importers: version: 0.7.2 birpc: specifier: 'catalog:' - version: 2.3.0 + version: 2.4.0 codemirror: specifier: ^5.65.18 version: 5.65.18 @@ -858,8 +858,8 @@ importers: specifier: ^0.1.2 version: 0.1.2 d3-graph-controller: - specifier: ^3.1.0 - version: 3.1.0 + specifier: ^3.1.1 + version: 3.1.1 floating-vue: specifier: ^5.2.2 version: 5.2.2(vue@3.5.16(typescript@5.8.3)) @@ -867,26 +867,26 @@ importers: specifier: ^4.0.7 version: 4.0.7 rollup: - specifier: ^4.41.1 - version: 4.41.1 + specifier: ^4.43.0 + version: 4.43.0 splitpanes: specifier: ^3.2.0 version: 3.2.0(vue@3.5.16(typescript@5.8.3)) unocss: specifier: 'catalog:' - version: 66.1.3(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 66.2.1(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) unplugin-auto-import: specifier: ^0.19.0 - version: 0.19.0(@vueuse/core@12.8.2(typescript@5.8.3))(rollup@4.41.1) + version: 0.19.0(@vueuse/core@12.8.2(typescript@5.8.3))(rollup@4.43.0) unplugin-vue-components: specifier: 'catalog:' - version: 0.28.0(@babel/parser@7.27.2)(rollup@4.41.1)(vue@3.5.16(typescript@5.8.3)) + version: 0.28.0(@babel/parser@7.27.5)(rollup@4.43.0)(vue@3.5.16(typescript@5.8.3)) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-pages: specifier: ^0.33.0 - version: 0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))) + version: 0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))) vue: specifier: 'catalog:' version: 3.5.16(typescript@5.8.3) @@ -903,8 +903,8 @@ importers: specifier: workspace:* version: link:../pretty-format loupe: - specifier: ^3.1.3 - version: 3.1.3 + specifier: ^3.1.4 + version: 3.1.4 tinyrainbow: specifier: 'catalog:' version: 2.0.0 @@ -914,7 +914,7 @@ importers: version: 0.3.25 '@types/estree': specifier: 'catalog:' - version: 1.0.7 + version: 1.0.8 diff-sequences: specifier: ^29.6.3 version: 29.6.3 @@ -938,7 +938,7 @@ importers: version: 2.0.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) devDependencies: '@jridgewell/trace-mapping': specifier: 'catalog:' @@ -1020,7 +1020,7 @@ importers: version: 2.0.0 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vite-node: specifier: workspace:* version: link:../vite-node @@ -1045,7 +1045,7 @@ importers: version: 4.1.12 '@types/estree': specifier: 'catalog:' - version: 1.0.7 + version: 1.0.8 '@types/istanbul-lib-coverage': specifier: 'catalog:' version: 2.0.6 @@ -1059,8 +1059,8 @@ importers: specifier: ^4.0.0 version: 4.0.0 '@types/node': - specifier: ^22.15.29 - version: 22.15.29 + specifier: ^22.15.32 + version: 22.15.32 '@types/picomatch': specifier: ^4.0.0 version: 4.0.0 @@ -1075,7 +1075,7 @@ importers: version: 8.3.4 birpc: specifier: 'catalog:' - version: 2.3.0 + version: 2.4.0 cac: specifier: 'catalog:' version: 6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588) @@ -1089,7 +1089,7 @@ importers: specifier: 'catalog:' version: 3.3.3 happy-dom: - specifier: ^17.5.6 + specifier: ^17.6.3 version: 17.6.3 jsdom: specifier: ^26.1.0 @@ -1136,7 +1136,7 @@ importers: dependencies: birpc: specifier: 'catalog:' - version: 2.3.0 + version: 2.4.0 flatted: specifier: 'catalog:' version: 3.3.3 @@ -1160,11 +1160,11 @@ importers: specifier: ^13.4.0 version: 13.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/react': - specifier: ^19.1.6 - version: 19.1.6 + specifier: ^19.1.8 + version: 19.1.8 '@vitejs/plugin-basic-ssl': specifier: ^2.0.0 - version: 2.0.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -1178,8 +1178,8 @@ importers: specifier: link:./injected-lib version: link:injected-lib playwright: - specifier: ^1.52.0 - version: 1.52.0 + specifier: ^1.53.0 + version: 1.53.0 react: specifier: ^19.1.0 version: 19.1.0 @@ -1193,8 +1193,8 @@ importers: specifier: workspace:* version: link:../../packages/vitest vitest-browser-react: - specifier: ^0.2.0 - version: 0.2.0(@types/react-dom@18.2.14)(@types/react@19.1.6)(@vitest/browser@packages+browser)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(vitest@packages+vitest) + specifier: ^0.3.0 + version: 0.3.0(@types/react-dom@18.2.14)(@types/react@19.1.8)(@vitest/browser@packages+browser)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(vitest@packages+vitest) ws: specifier: 'catalog:' version: 8.18.2 @@ -1209,7 +1209,7 @@ importers: version: 8.18.1 '@vitejs/plugin-basic-ssl': specifier: ^2.0.0 - version: 2.0.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 2.0.0(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/runner': specifier: workspace:^ version: link:../../packages/runner @@ -1227,10 +1227,10 @@ importers: version: 4.4.1 unplugin-swc: specifier: ^1.5.4 - version: 1.5.4(@swc/core@1.4.1)(rollup@4.41.1) + version: 1.5.4(@swc/core@1.4.1)(rollup@4.43.0) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1248,7 +1248,7 @@ importers: version: 0.3.2 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1290,7 +1290,7 @@ importers: version: link:../../packages/web-worker '@vueuse/integrations': specifier: ^10.11.1 - version: 10.11.1(axios@0.30.0(debug@4.4.1))(focus-trap@7.6.4)(vue@3.5.16(typescript@5.8.3)) + version: 10.11.1(axios@0.30.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.16(typescript@5.8.3)) axios: specifier: ^0.30.0 version: 0.30.0(debug@4.4.1) @@ -1298,8 +1298,8 @@ importers: specifier: ^4.4.1 version: 4.4.1 immutable: - specifier: 5.1.2 - version: 5.1.2 + specifier: 5.1.3 + version: 5.1.3 memfs: specifier: ^4.17.2 version: 4.17.2 @@ -1341,7 +1341,7 @@ importers: version: 3.5.16(typescript@5.8.3) zustand: specifier: ^4.5.7 - version: 4.5.7(@types/react@19.1.6)(react@19.1.0) + version: 4.5.7(@types/react@19.1.8)(react@19.1.0) test/coverage-test: devDependencies: @@ -1356,7 +1356,7 @@ importers: version: 3.0.3 '@vitejs/plugin-vue': specifier: latest - version: 5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -1392,10 +1392,10 @@ importers: version: 1.89.2 unplugin-swc: specifier: ^1.5.4 - version: 1.5.4(@swc/core@1.4.1)(rollup@4.41.1) + version: 1.5.4(@swc/core@1.4.1)(rollup@4.43.0) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1448,8 +1448,8 @@ importers: specifier: workspace:* version: link:../../packages/mocker playwright: - specifier: ^1.52.0 - version: 1.52.0 + specifier: ^1.53.0 + version: 1.53.0 vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1492,7 +1492,7 @@ importers: version: 2.0.0 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vite-node: specifier: workspace:* version: link:../../packages/vite-node @@ -1547,7 +1547,7 @@ importers: version: link:../../packages/browser vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1739,18 +1739,34 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.8': resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.27.5': + resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} + engines: {node: '>=6.9.0'} + '@babel/core@7.26.10': resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} + '@babel/core@7.27.4': + resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.27.0': resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.27.5': + resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} @@ -1763,6 +1779,10 @@ packages: resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.25.9': resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} engines: {node: '>=6.9.0'} @@ -1788,12 +1808,22 @@ packages: resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.26.0': resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.27.3': + resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.25.9': resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} @@ -1802,6 +1832,10 @@ packages: resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.25.9': resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} engines: {node: '>=6.9.0'} @@ -1834,6 +1868,10 @@ packages: resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.25.9': resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} engines: {node: '>=6.9.0'} @@ -1842,11 +1880,20 @@ packages: resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.27.6': + resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.27.2': resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} engines: {node: '>=6.9.0'} @@ -2129,14 +2176,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.25.9': - resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.25.9': - resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2232,14 +2279,26 @@ packages: resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.27.0': resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.27.4': + resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} + engines: {node: '>=6.9.0'} + '@babel/types@7.27.1': resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -2601,14 +2660,14 @@ packages: resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} - '@iconify-json/carbon@1.2.8': - resolution: {integrity: sha512-6xh4YiFBz6qoSnB3XMe23WvjTJroDFXB17J1MbiT7nATFe+70+em1acRXr8hgP/gYpwFMHFc4IvjA/IPTPnTzg==} + '@iconify-json/carbon@1.2.9': + resolution: {integrity: sha512-RyeSAuFTzhs1GX4yrzVEKEbNQGt95p9zMR4S2F63vbThtNoUr5OKwaWbhO/GbHQCSgdbKuZv2ApAOsY2fLxLbQ==} '@iconify-json/logos@1.2.4': resolution: {integrity: sha512-XC4If5D/hbaZvUkTV8iaZuGlQCyG6CNOlaAaJaGa13V5QMYwYjgtKk3vPP8wz3wtTVNVEVk3LRx1fOJz+YnSMw==} - '@iconify-json/simple-icons@1.2.33': - resolution: {integrity: sha512-nL5/UmI9x5PQ/AHv6bOaL2pH6twEdEz4pI89efB/K7HFn5etQnxMtGx9DFlOg/sRA2/yFpX8KXvc95CSDv5bJA==} + '@iconify-json/simple-icons@1.2.38': + resolution: {integrity: sha512-mvMeFQgVjoHanQE9Q7ihmriEXAorjLZW+crUgQspDjFpzWuQp2RZMTppl1MN6TQztMVTsNFgF6LDKsp+v1RYRg==} '@iconify-json/vscode-icons@1.2.19': resolution: {integrity: sha512-M6Ujx2Ncmr/jfHhLJ+unqaILOJ/wWAkfc84Eh3+e8PccFmB1TS4KwOSyqbawybbqKK7JaaEk5uhFYSFpYOeuOA==} @@ -2801,8 +2860,8 @@ packages: '@lit/reactive-element@2.1.0': resolution: {integrity: sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==} - '@mswjs/interceptors@0.38.7': - resolution: {integrity: sha512-Jkb27iSn7JPdkqlTqKfhncFfnEZsIJVYxsFbUSWEkxdIPdsyngrhoDBk0/BGD2FQcRH99vlRrkHpNTyKqI+0/w==} + '@mswjs/interceptors@0.39.2': + resolution: {integrity: sha512-RuzCup9Ct91Y7V79xwCb146RaBRHZ7NBbrIUySumd1rpKqHL5OonaqrGIbug5hNwP/fRyxFMA6ISgw4FTtYFYg==} engines: {node: '>=18'} '@napi-rs/wasm-runtime@0.2.10': @@ -2915,91 +2974,91 @@ packages: cpu: [x64] os: [win32] - '@oxc-parser/binding-darwin-arm64@0.70.0': - resolution: {integrity: sha512-pIi7L9PnsBctS/ruW6JQVSYRJkh76PblBN46uQxpBfVsM57c1s4HGZlmGysQWbdmQTFDZW+SmH3u0JpmDLF0+A==} + '@oxc-parser/binding-darwin-arm64@0.72.3': + resolution: {integrity: sha512-g6wgcfL7At4wHNHutl0NmPZTAju+cUSmSX5WGUMyTJmozRzhx8E9a2KL4rTqNJPwEpbCFrgC29qX9f4fpDnUpA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.70.0': - resolution: {integrity: sha512-EbKqtOHzZR56ZFC5HHg6XrYneFAJmpLC1Z6FSgbI061Ley1atAViQg7S6Agm9wAcPpns+BeFJqXEBx/y3MKa2w==} + '@oxc-parser/binding-darwin-x64@0.72.3': + resolution: {integrity: sha512-pc+tplB2fd0AqdnXY90FguqSF2OwbxXwrMOLAMmsUiK4/ytr8Z/ftd49+d27GgvQJKeg2LfnIbskaQtY/j2tAA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - '@oxc-parser/binding-freebsd-x64@0.70.0': - resolution: {integrity: sha512-MVUaOMEUVE8q3nsWtEo589h++V5wAdqTbCRa9WY4Yuyxska4xcuJQk/kDNCx+n92saS7Luk+b20O9+VCI03c+A==} + '@oxc-parser/binding-freebsd-x64@0.72.3': + resolution: {integrity: sha512-igBR6rOvL8t5SBm1f1rjtWNsjB53HNrM3au582JpYzWxOqCjeA5Jlm9KZbjQJC+J8SPB9xyljM7G+6yGZ2UAkQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [freebsd] - '@oxc-parser/binding-linux-arm-gnueabihf@0.70.0': - resolution: {integrity: sha512-8N4JTYTgKiRHlMUDAdzKs6iEC57a8ex408VgKoLD/Fl+Un79qOti3S9sotdnWSdH/BsDQeO5NW+PKaqFBTw+hA==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.72.3': + resolution: {integrity: sha512-/izdr3wg7bK+2RmNhZXC2fQwxbaTH3ELeqdR+Wg4FiEJ/C7ZBIjfB0E734bZGgbDu+rbEJTBlbG77XzY0wRX/Q==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.70.0': - resolution: {integrity: sha512-Bsu+YvtgWuSfSDJTHMF5APZBOtvddR0GiHyrL0yaXDwaYvAL/E7XcoSK2GdmKTpw+J8nk5IlejEXlQliPo52pQ==} + '@oxc-parser/binding-linux-arm-musleabihf@0.72.3': + resolution: {integrity: sha512-Vz7C+qJb22HIFl3zXMlwvlTOR+MaIp5ps78060zsdeZh2PUGlYuUYkYXtGEjJV3kc8aKFj79XKqAY1EPG2NWQA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm64-gnu@0.70.0': - resolution: {integrity: sha512-tDzHWKexJPHR+qSiuAFoZ1v8EgCd4ggBNbjJHkcIHsoYKnsKaT1+uE9xfW9UhI1mhv2lo1JJ9n9og2yDTGxSeA==} + '@oxc-parser/binding-linux-arm64-gnu@0.72.3': + resolution: {integrity: sha512-nomoMe2VpVxW767jhF+G3mDGmE0U6nvvi5nw9Edqd/5DIylQfq/lEGUWL7qITk+E72YXBsnwHtpRRlIAJOMyZg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-parser/binding-linux-arm64-musl@0.70.0': - resolution: {integrity: sha512-BJ+N25UWmHU624558ojSTnht3uFL00jV1c8qk1hnKf4cl6+ovFcoktRWAWSBlgLEP8tLlu8qgIhz875tMj2PkQ==} + '@oxc-parser/binding-linux-arm64-musl@0.72.3': + resolution: {integrity: sha512-4DswiIK5dI7hFqcMKWtZ7IZnWkRuskh6poI1ad4gkY2p678NOGtl6uOGCCRlDmLOOhp3R27u4VCTzQ6zra977w==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-parser/binding-linux-riscv64-gnu@0.70.0': - resolution: {integrity: sha512-nxu22nVuPA2xy1cxvBC0D5mVl0myqStOw3XBkVkDViNL01iPyuEFJd5VsM0GqsgrXvF95H/jrbMd+XWnto924g==} + '@oxc-parser/binding-linux-riscv64-gnu@0.72.3': + resolution: {integrity: sha512-R9GEiA4WFPGU/3RxAhEd6SaMdpqongGTvGEyTvYCS/MAQyXKxX/LFvc2xwjdvESpjIemmc/12aTTq6if28vHkQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - '@oxc-parser/binding-linux-s390x-gnu@0.70.0': - resolution: {integrity: sha512-AQ6Xj97lYRxHZl94cZIHJxT5M1qkeEi+vQe+e7M2lAtjcURl8cwhZmWKSv4rt4BQRVfO3ys0bY8AgIh4eFJiqw==} + '@oxc-parser/binding-linux-s390x-gnu@0.72.3': + resolution: {integrity: sha512-/sEYJQMVqikZO8gK9VDPT4zXo9du3gvvu8jp6erMmW5ev+14PErWRypJjktp0qoTj+uq4MzXro0tg7U+t5hP1w==} engines: {node: '>=14.0.0'} cpu: [s390x] os: [linux] - '@oxc-parser/binding-linux-x64-gnu@0.70.0': - resolution: {integrity: sha512-RIxaVsIxtG90CoX6/Okij8itaMrJp4SEJm1pSL0pz3hGo0yur3Il9M1mmGvOpW+avY8uHdwXIvf2qMnnTKZuoQ==} + '@oxc-parser/binding-linux-x64-gnu@0.72.3': + resolution: {integrity: sha512-hlyljEZ0sMPKJQCd5pxnRh2sAf/w+Ot2iJecgV9Hl3brrYrYCK2kofC0DFaJM3NRmG/8ZB3PlxnSRSKZTocwCw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-parser/binding-linux-x64-musl@0.70.0': - resolution: {integrity: sha512-B3S0G4TlZ+WLdQq4mSQtt2ZW0MAkKWc8dla17tZY86kcXvvCWwACvj7I27Z/nSlb7uJOdRZS9/r6Gw0uAARNVQ==} + '@oxc-parser/binding-linux-x64-musl@0.72.3': + resolution: {integrity: sha512-T17S8ORqAIq+YDFMvLfbNdAiYHYDM1+sLMNhesR5eWBtyTHX510/NbgEvcNemO9N6BNR7m4A9o+q468UG+dmbg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-parser/binding-wasm32-wasi@0.70.0': - resolution: {integrity: sha512-QN8yxH7eHXTqed8Oo7ZUzOWn6hixXa8EVINLy21eLU9isoifSPKMswSmCXHxsM2L5rIIvzoaKfghGOru1mMQbw==} + '@oxc-parser/binding-wasm32-wasi@0.72.3': + resolution: {integrity: sha512-x0Ojn/jyRUk6MllvVB/puSvI2tczZBIYweKVYHNv1nBatjPRiqo+6/uXiKrZwSfGLkGARrKkTuHSa5RdZBMOdA==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-parser/binding-win32-arm64-msvc@0.70.0': - resolution: {integrity: sha512-6k8/s78g0GQKqrxk4F0wYj32NBF9oSP6089e6BeuIRQ9l+Zh0cuI6unJeLzXNszxmlqq84xmf/tmP3MSDG43Uw==} + '@oxc-parser/binding-win32-arm64-msvc@0.72.3': + resolution: {integrity: sha512-kRVAl87ugRjLZTm9vGUyiXU50mqxLPHY81rgnZUP1HtNcqcmTQtM/wUKQL2UdqvhA6xm6zciqzqCgJfU+RW8uA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.70.0': - resolution: {integrity: sha512-nd9o1QtEvupaJZ3Wn7PfsuC00n31NNRQZ5+Mui6Q0ZyDzp+obqPUSbSt7xh9Dy0c5zgtYMk8WY4n/VBJY2VvTQ==} + '@oxc-parser/binding-win32-x64-msvc@0.72.3': + resolution: {integrity: sha512-vpVdoGAP5iGE5tIEPJgr7FkQJZA+sKjMkg5x1jarWJ1nnBamfGsfYiZum4QjCfW7jb+pl42rHVSS3lRmMPcyrQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - '@oxc-project/types@0.70.0': - resolution: {integrity: sha512-ngyLUpUjO3dpqygSRQDx7nMx8+BmXbWOU4oIwTJFV2MVIDG7knIZwgdwXlQWLg3C3oxg1lS7ppMtPKqKFb7wzw==} + '@oxc-project/types@0.72.3': + resolution: {integrity: sha512-CfAC4wrmMkUoISpQkFAIfMVvlPfQV3xg7ZlcqPXPOIMQhdKIId44G8W0mCPgtpWdFFAyJ+SFtiM+9vbyCkoVng==} '@oxc-resolver/binding-darwin-arm64@11.1.0': resolution: {integrity: sha512-n9y3Lb1+BwsOtm3BmXSUPu3iDtTq7Sf0gX4e+izFTfNrj+u6uTKqbmlq8ggV8CRdg1zGUaCvKNvg/9q3C/19gg==} @@ -3066,166 +3125,83 @@ packages: cpu: [x64] os: [win32] - '@oxc-transform/binding-darwin-arm64@0.70.0': - resolution: {integrity: sha512-h5DHbP2JqhI7o+hgVwiUn1OFTuKY2r1S6mO2wYPHS1LRWZM2GLNVo/cuCVJx5nRLHIfWBYtIIgbrG8ZrlrG2Cg==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [darwin] - '@oxc-transform/binding-darwin-arm64@0.72.2': resolution: {integrity: sha512-P6UZJdwM7OsXQ/PB75z+MPGdlJxnFBThb/naGwf65q5oyLVUOeQhvB+llr+pvRq/9MxhS6KNSk1ErewVD4iOVw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - '@oxc-transform/binding-darwin-x64@0.70.0': - resolution: {integrity: sha512-1l0C5VOlfirfSzyL/fPtmxnZwoUJZI25leFQTCa3I2neOoFvcV4tncg5NYBpF18DbrHcEzTtTbhVRwCjO1RQ8A==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [darwin] - '@oxc-transform/binding-darwin-x64@0.72.2': resolution: {integrity: sha512-C34YmvnQ9uXEIfaNl9gc6dHQQ2Sksujm/8kbfDCeLk67eMaA1WuVPE+9Vsd4UhaYQUJeVvF5cyN7UxuuKBQv/Q==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - '@oxc-transform/binding-freebsd-x64@0.70.0': - resolution: {integrity: sha512-bSkX/vXW9TGqm6LS56mCzM2dkeiAsS/OWvOS94NTBIZQHd5vLn6jtt8KYmGoO/7iOGP+UT2L7p7Da+y/LNB7cg==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [freebsd] - '@oxc-transform/binding-freebsd-x64@0.72.2': resolution: {integrity: sha512-oNs3Tms3XbOaLGfyW+Filtw1LSVVA6JGVPOA0L9GfB72FS7KdqyNx10K2ejXZmGhqu/6cvv81WaHyrAXNB5BFw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [freebsd] - '@oxc-transform/binding-linux-arm-gnueabihf@0.70.0': - resolution: {integrity: sha512-Ru35tW9h+0fC/h/NpbBOuxW9xBYHrVTvk/rHZXg860QDC17W/ORPY7DJ4sBN+JPcm69UNssRELEydvy62p5hnQ==} - engines: {node: '>=14.0.0'} - cpu: [arm] - os: [linux] - '@oxc-transform/binding-linux-arm-gnueabihf@0.72.2': resolution: {integrity: sha512-nogqJxnjRAyeUkgh66E6GwNEi2lMSym9ZgspYv/8pmgjmrjynnsAs7OtyDpPa8vaOCSHj+7oq6eM98jqT/kINw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm-musleabihf@0.70.0': - resolution: {integrity: sha512-NUpJ2hFE8R29zvL4YN/JvyfaT2Vpcw4NyEVdBICEN6DLJvM2fYUrtN3c7q/5RSMPERWGDdkX4oebHy3gOReb5A==} - engines: {node: '>=14.0.0'} - cpu: [arm] - os: [linux] - '@oxc-transform/binding-linux-arm-musleabihf@0.72.2': resolution: {integrity: sha512-pDb0imsCbhSdmnmdczKgsW7zUHn/9YPE72Z4TBcuGOceV38WJvxUgCxrCxjoTdFm4E968BePIhvUkIwJ7X9cxQ==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm64-gnu@0.70.0': - resolution: {integrity: sha512-ijMtGrOgXgEzyHJoaieDBfBe2IaW53RlaDPVKLu6SRaqzbYSzjkBocMCWPnlhHAlsXXot4iXqUz/mIvi9iySgQ==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [linux] - '@oxc-transform/binding-linux-arm64-gnu@0.72.2': resolution: {integrity: sha512-p2O2ljXrSX0zxi55ZOMPAcNQcARurBH+xkO/H1Pd5xpfJWvtnUhEhom2h8tBvHYN//qCdkYCwYDlxL71+5QrPA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-transform/binding-linux-arm64-musl@0.70.0': - resolution: {integrity: sha512-VUK5p1ooBC8zObwIAoo4et3x9h0kuBeas4UehbNN4HfnhwkM8yRCt5owHypslIi1vytfPpkexRpZcw68lAiThw==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [linux] - '@oxc-transform/binding-linux-arm64-musl@0.72.2': resolution: {integrity: sha512-C72PJTUsaeq5TmB1s/piLn3fnCn0ZJbiPa4UkBeDv+HncBWOpEsAGkF4Ddipw4kd0dKrTJDIXRmrns5VQyY0zw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-transform/binding-linux-riscv64-gnu@0.70.0': - resolution: {integrity: sha512-IqOHDigJosjwgWSWv7WBJHiVzQdYj3uvFDOndHTsZuQdx3UHBvejcJPTVFZocMVH/JPr4QCnmzEXfNVlscoRAQ==} - engines: {node: '>=14.0.0'} - cpu: [riscv64] - os: [linux] - '@oxc-transform/binding-linux-riscv64-gnu@0.72.2': resolution: {integrity: sha512-0Ph7Rx+96O2tapleHf5uwrUKR1wYZapik5J+dtNi1miWNWa2lGtRU8BBUSnsHGiaG5aq0rQ3WlruqiuUakMx4w==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - '@oxc-transform/binding-linux-s390x-gnu@0.70.0': - resolution: {integrity: sha512-p9u5bmQkzwzMMVqaPDZwwJCJIzm5MqK6n5VyPYNVCpSWJmI9YtxRpL7A+Szbjrv1I8RAQ3Lfvd7vLcQbybzZbg==} - engines: {node: '>=14.0.0'} - cpu: [s390x] - os: [linux] - '@oxc-transform/binding-linux-s390x-gnu@0.72.2': resolution: {integrity: sha512-MaqBEnkrCvgH+Fsg2d4H2QhTCubgkohy0mr+HVngZfiGvP/pOkbeanWUTeiRaOthMKOuHBGkHor61Hiw+woK2Q==} engines: {node: '>=14.0.0'} cpu: [s390x] os: [linux] - '@oxc-transform/binding-linux-x64-gnu@0.70.0': - resolution: {integrity: sha512-CtKvuyXNAheW2WBrR6RyyksStT84UfZLh+EjhYbNzQUMMBmUni5xfcJJiDPLhV2fmZ+iCMaHv36IIPS4gkP3wQ==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [linux] - '@oxc-transform/binding-linux-x64-gnu@0.72.2': resolution: {integrity: sha512-o0BO169Id5/35CFUiogs24/Pc/PT0xh3VEtV1//tT56im2w7F6TlMPcswEru7K7d+Qhzkl70xktWCAOV64D72g==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-transform/binding-linux-x64-musl@0.70.0': - resolution: {integrity: sha512-KM68LeDbF7HM3SeRC8ljJ2fISEmTGyjw70VP4xnAJy9FotneYmDqD7UDbtdcl956m2zePFUNdmdlLEwmP211Ag==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [linux] - '@oxc-transform/binding-linux-x64-musl@0.72.2': resolution: {integrity: sha512-wVcZS5cneUdNaB8dR+bD2pWTGmOK45rIJiW1fx5zZwh8vcKwQNgXw8GK+G7oxLqyyh6MJ1FBFvYPRJ9bKZJmlg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-transform/binding-wasm32-wasi@0.70.0': - resolution: {integrity: sha512-jT8y6XnATCbArIZqVE8BgFSJLASSPXcsCPHo1dk5GDJHxls8SuWo0VecE4v4OAphOVPhX1Jdyj1lie6oK6xEnQ==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - '@oxc-transform/binding-wasm32-wasi@0.72.2': resolution: {integrity: sha512-D+gMV9ZoVdvIBI7swiFbPocxRR8rqui3weNtNcSOfLKGYkDEuHA2rBk8z03mnkpR/PlCZD+4a3HcpWyctn1J+w==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-transform/binding-win32-arm64-msvc@0.70.0': - resolution: {integrity: sha512-OFmHVkWeIG6PqouPzVULCuD8PfLA0ASHSfKvMM6/l3Soowz38nkfi8y2OpH8StDyXK3kgn+PkMpS03NAITeGlQ==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [win32] - '@oxc-transform/binding-win32-arm64-msvc@0.72.2': resolution: {integrity: sha512-qIdgNxtNj4x4+6UMenUnqgtpdZz4BI78Ma9fg8/fRIo3woVFXDxnSABh3PoKttu2xHmi8ypmkjnIjae4B7PWYA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - '@oxc-transform/binding-win32-x64-msvc@0.70.0': - resolution: {integrity: sha512-o59kbIXgY2HXUlHepZHD/Zz4k0it80yZHL+QIbsYs1/K/i6iydrhdUKIabRkFcPg9qvxXXJ/xxDAggC8KdBoPA==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [win32] - '@oxc-transform/binding-win32-x64-msvc@0.72.2': resolution: {integrity: sha512-uXPIBi9tVJeqa8Y8M3Adap77B+duBU2/U0a27/dS8+XAvd2R5/fay+yrkjBkwyOKPDepj+b1AyMS/C8TGP2txA==} engines: {node: '>=14.0.0'} @@ -3236,8 +3212,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.52.0': - resolution: {integrity: sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==} + '@playwright/test@1.53.0': + resolution: {integrity: sha512-15hjKreZDcp7t6TL/7jkAo6Df5STZN09jGiv5dbP9A6vMVncXRqE7/B2SncsyOwrkZRBH2i6/TPOL8BVmm3c7w==} engines: {node: '>=18'} hasBin: true @@ -3256,8 +3232,8 @@ packages: resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==} engines: {node: '>=20.0.0'} - '@rolldown/pluginutils@1.0.0-beta.9': - resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==} + '@rolldown/pluginutils@1.0.0-beta.11': + resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==} '@rollup/plugin-babel@5.3.1': resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} @@ -3265,16 +3241,16 @@ packages: peerDependencies: '@babel/core': ^7.0.0 '@types/babel__core': ^7.1.9 - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: '@types/babel__core': optional: true - '@rollup/plugin-commonjs@28.0.3': - resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==} + '@rollup/plugin-commonjs@28.0.5': + resolution: {integrity: sha512-lytLp2JgAMwqJY6ve3OSROXr2XuEYHjnsQN3hmnxC+w11dI91LuUw4Yc1kk2FqKXeMG8psoFejFgK+znoij0cg==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: rollup: optional: true @@ -3283,7 +3259,7 @@ packages: resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: rollup: optional: true @@ -3292,7 +3268,7 @@ packages: resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: rollup: optional: true @@ -3301,7 +3277,7 @@ packages: resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: rollup: optional: true @@ -3309,13 +3285,13 @@ packages: '@rollup/plugin-replace@2.4.2': resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 '@rollup/plugin-terser@0.4.4': resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: rollup: optional: true @@ -3324,148 +3300,148 @@ packages: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 peerDependenciesMeta: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.41.1': - resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==} + '@rollup/rollup-android-arm-eabi@4.43.0': + resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.41.1': - resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==} + '@rollup/rollup-android-arm64@4.43.0': + resolution: {integrity: sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.41.1': - resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==} + '@rollup/rollup-darwin-arm64@4.43.0': + resolution: {integrity: sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.41.1': - resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==} + '@rollup/rollup-darwin-x64@4.43.0': + resolution: {integrity: sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.41.1': - resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==} + '@rollup/rollup-freebsd-arm64@4.43.0': + resolution: {integrity: sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.41.1': - resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==} + '@rollup/rollup-freebsd-x64@4.43.0': + resolution: {integrity: sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.41.1': - resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==} + '@rollup/rollup-linux-arm-gnueabihf@4.43.0': + resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.41.1': - resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==} + '@rollup/rollup-linux-arm-musleabihf@4.43.0': + resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.41.1': - resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==} + '@rollup/rollup-linux-arm64-gnu@4.43.0': + resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.41.1': - resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==} + '@rollup/rollup-linux-arm64-musl@4.43.0': + resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.41.1': - resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==} + '@rollup/rollup-linux-loongarch64-gnu@4.43.0': + resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': - resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==} + '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': + resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.41.1': - resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==} + '@rollup/rollup-linux-riscv64-gnu@4.43.0': + resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.41.1': - resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==} + '@rollup/rollup-linux-riscv64-musl@4.43.0': + resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.41.1': - resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==} + '@rollup/rollup-linux-s390x-gnu@4.43.0': + resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.41.1': - resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==} + '@rollup/rollup-linux-x64-gnu@4.43.0': + resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.41.1': - resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==} + '@rollup/rollup-linux-x64-musl@4.43.0': + resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.41.1': - resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==} + '@rollup/rollup-win32-arm64-msvc@4.43.0': + resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.41.1': - resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==} + '@rollup/rollup-win32-ia32-msvc@4.43.0': + resolution: {integrity: sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.41.1': - resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==} + '@rollup/rollup-win32-x64-msvc@4.43.0': + resolution: {integrity: sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@3.4.2': - resolution: {integrity: sha512-AG8vnSi1W2pbgR2B911EfGqtLE9c4hQBYkv/x7Z+Kt0VxhgQKcW7UNDVYsu9YxwV6u+OJrvdJrMq6DNWoBjihQ==} + '@shikijs/core@3.6.0': + resolution: {integrity: sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==} - '@shikijs/engine-javascript@3.4.2': - resolution: {integrity: sha512-1/adJbSMBOkpScCE/SB6XkjJU17ANln3Wky7lOmrnpl+zBdQ1qXUJg2GXTYVHRq+2j3hd1DesmElTXYDgtfSOQ==} + '@shikijs/engine-javascript@3.6.0': + resolution: {integrity: sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==} - '@shikijs/engine-oniguruma@3.4.2': - resolution: {integrity: sha512-zcZKMnNndgRa3ORja6Iemsr3DrLtkX3cAF7lTJkdMB6v9alhlBsX9uNiCpqofNrXOvpA3h6lHcLJxgCIhVOU5Q==} + '@shikijs/engine-oniguruma@3.6.0': + resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==} - '@shikijs/langs@3.4.2': - resolution: {integrity: sha512-H6azIAM+OXD98yztIfs/KH5H4PU39t+SREhmM8LaNXyUrqj2mx+zVkr8MWYqjceSjDw9I1jawm1WdFqU806rMA==} + '@shikijs/langs@3.6.0': + resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==} - '@shikijs/themes@3.4.2': - resolution: {integrity: sha512-qAEuAQh+brd8Jyej2UDDf+b4V2g1Rm8aBIdvt32XhDPrHvDkEnpb7Kzc9hSuHUxz0Iuflmq7elaDuQAP9bHIhg==} + '@shikijs/themes@3.6.0': + resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==} - '@shikijs/transformers@3.4.2': - resolution: {integrity: sha512-I5baLVi/ynLEOZoWSAMlACHNnG+yw5HDmse0oe+GW6U1u+ULdEB3UHiVWaHoJSSONV7tlcVxuaMy74sREDkSvg==} + '@shikijs/transformers@3.6.0': + resolution: {integrity: sha512-PYkU54lYV0RCaUG8n2FNTF+YWiU3uPhcjLGq2x/C8lIrUX9GVnRb3bK+R5xtdFHbuctntATKm7ondp/H/dux9Q==} - '@shikijs/twoslash@3.4.2': - resolution: {integrity: sha512-zRNPmi2lA8o+k7UQfmbPwH2jPvfW9OrgpsO4OUOM+8QTxrepFU9TNF8vNcxZEW5cbishQkJrV19cI9Zk3cb5aQ==} + '@shikijs/twoslash@3.6.0': + resolution: {integrity: sha512-AxRxLWtmrVftwxN/2hSL6Hym+bannS+zuUEXpbNuo6BpG4jHTM0KEkICEH3B3Gm5ZNzGdI74NdDiAqAZ6WPJuQ==} peerDependencies: typescript: '>=5.5.0' - '@shikijs/types@3.4.2': - resolution: {integrity: sha512-zHC1l7L+eQlDXLnxvM9R91Efh2V4+rN3oMVS2swCBssbj2U/FBwybD1eeLaq8yl/iwT+zih8iUbTBCgGZOYlVg==} + '@shikijs/types@3.6.0': + resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==} - '@shikijs/vitepress-twoslash@3.4.2': - resolution: {integrity: sha512-irVhypyX0vs79S00buqBGYeBJnBtBV50nqppPcKz3TiGlaWxH3BqcCLbJ6cl39N1hxzzuI51SVQv21SbjfsCBA==} + '@shikijs/vitepress-twoslash@3.6.0': + resolution: {integrity: sha512-pUoRj98UDV41CxfxPysrBryc1/1WdUL93ogcD/s156i4XcujnCfJJc+y5vR3W5Nc1R31VUacwWsI8HhaRRS/uA==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -3663,6 +3639,9 @@ packages: '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/fs-extra@8.1.3': resolution: {integrity: sha512-7IdV01N0u/CaVO0fuY1YmEg14HQN3+EW8mpNgg6NEfxEl/lzCa5OxlBu3iFsCAdamnYOcTQ7oEi43Xc/67Rgzw==} @@ -3712,11 +3691,11 @@ packages: '@types/natural-compare@1.4.3': resolution: {integrity: sha512-XCAxy+Gg6+S6VagwzcknnvCKujj/bVv1q+GFuCrFEelqaZPqJoC+FeXLwc2dp+oLP7qDZQ4ZfQiTJQ9sIUmlLw==} - '@types/node@20.17.57': - resolution: {integrity: sha512-f3T4y6VU4fVQDKVqJV4Uppy8c1p/sVvS3peyqxyWnzkqXFJLRU7Y1Bl7rMS1Qe9z0v4M6McY0Fp9yBsgHJUsWQ==} + '@types/node@20.19.1': + resolution: {integrity: sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==} - '@types/node@22.15.29': - resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} + '@types/node@22.15.32': + resolution: {integrity: sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==} '@types/picomatch@4.0.0': resolution: {integrity: sha512-J1Bng+wlyEERWSgJQU1Pi0HObCLVcr994xT/M+1wcl/yNRTGBupsCxthgkdYG+GCOMaQH7iSVUY3LJVBBqG7MQ==} @@ -3730,8 +3709,8 @@ packages: '@types/react-is@19.0.0': resolution: {integrity: sha512-71dSZeeJ0t3aoPyY9x6i+JNSvg5m9EF2i2OlSZI5QoJuI8Ocgor610i+4A10TQmURR+0vLwcVCEYFpXdzM1Biw==} - '@types/react@19.1.6': - resolution: {integrity: sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==} + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -3836,89 +3815,89 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@unocss/astro@66.1.3': - resolution: {integrity: sha512-jsubeNZE/LThm8fXPMWNmNXmG5KsM4LIpJ37rq5tgP6RqX0UwLvA4t9yXNJdr6aLDJN6+KpQXfGhIrf/Aj7YIQ==} + '@unocss/astro@66.2.1': + resolution: {integrity: sha512-IKmKjmwYBQk9n6epbvhwyjZPr9wlF2VqZRS9nzqyxq3k4K5Vcs+TZ9BffLYIVYWBw8MG3+IKd6q0ap84SRHaig==} peerDependencies: vite: ^6.3.5 peerDependenciesMeta: vite: optional: true - '@unocss/cli@66.1.3': - resolution: {integrity: sha512-7Uw6VDsk7w6E6PkrRfq34d+tJpTcNWfksNkLorpQhwwlpbIod69iNHj5gn5u0SJwrAAuFvGNTQzOWQar8HlKCQ==} + '@unocss/cli@66.2.1': + resolution: {integrity: sha512-I/1JZkXVg6v5xVoW6tGRH38sMQ+i4qdGTwO1TG1z1obi7Yt1Q06wlvC9VCPr5OqzNDqDkEKsaFiXLBrEye1T5w==} engines: {node: '>=14'} hasBin: true - '@unocss/config@66.1.3': - resolution: {integrity: sha512-oEKomMMY+f6+4HkU538XG7jOJZAMMk2WczT2XS6HdpJWwUzSKHlhs9R2pj7g0HLJZsROzP1A1+OBstHcQLe94A==} + '@unocss/config@66.2.1': + resolution: {integrity: sha512-1qfK0o0mixBISsYD7ABERUrpiT6I6nCabwQ4S/MxJs3fKMGYMDMxZHEEBd6E+ZnCIeAD3hmRNLsfN4aAFB8mpg==} engines: {node: '>=14'} - '@unocss/core@66.1.3': - resolution: {integrity: sha512-qV88JvRvSMgMo1FMWZfNiKYy+IvaXswyMMyZvuQxCrNkDPtij46pu7G3heKdLl7mNTdSgF0+LQPEqVYVA27pCA==} + '@unocss/core@66.2.1': + resolution: {integrity: sha512-iHhemq8NBHDpayvqfz/+Np8KvuktR0lJQiixy1uLSCYIKwauOKrpJoW/bzzEecY1LcdjEDeUuwW8r3DSdrfQGA==} - '@unocss/extractor-arbitrary-variants@66.1.3': - resolution: {integrity: sha512-4nlQKx40ch+4hjNlN/jWZDd06qbXFj5xwMpnNjDcb008zgCuPK2dEmg/eDddSv25KZh9W+3fvwduMDNK6YDooQ==} + '@unocss/extractor-arbitrary-variants@66.2.1': + resolution: {integrity: sha512-mwSy63/9wGUWaqm/aQK3FYzDA0SAMsCJ+GtzRnmLYY/jk8Pk1DvJ3fvxxebC4coCIdWo515kTy0TYwqHxZE4lg==} - '@unocss/inspector@66.1.3': - resolution: {integrity: sha512-ntKtc9ZJBrYf6BFZlwfWwDCWKvZQd3A3W4i0NGdHXlzAC3CFGf19U355e49DfKCln6zDtTVHTPWCuMzMH2H52Q==} + '@unocss/inspector@66.2.1': + resolution: {integrity: sha512-VQjgtV9TbKJlnwGTidAY/aUu9oJENegp46H9HbwYXbDWCQFADvGYp41MvI/1dq1T/NqVHRtCziXPOX8wW9jvIA==} - '@unocss/postcss@66.1.3': - resolution: {integrity: sha512-kVJlJ19WnG0Ec4BpdJUcUaA/B5md440WiKId2oaD6nzT6IDozpbQ3DwW2HtQ33YyagkmwYgocb0oodEm2lGilA==} + '@unocss/postcss@66.2.1': + resolution: {integrity: sha512-FghokdvouY7IadZRMt2QiwHYnoeJg0CZLU2i/KDmKOX/lgkc/ea+wc9MznWm/UErA70h2rTGE3L8dsNBPb+/CQ==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - '@unocss/preset-attributify@66.1.3': - resolution: {integrity: sha512-geEaGxs7j85P1HirbAlIRnCrJwxjvvbUQDC2TOXUZ67So1co2mac/3uo0QMJsdry14iSIIfu6rNVaDjMSC4K5g==} + '@unocss/preset-attributify@66.2.1': + resolution: {integrity: sha512-8dVsU379D0/zRDsjRlws1gDmMyZxUcJCjTzb9Yv2rHQscfdqEk9h0LsSBFVWeHQcYi5p1Hm92pSWE7EKxVSVtg==} - '@unocss/preset-icons@66.1.3': - resolution: {integrity: sha512-n1y8I4cVfOOldgyuncwtMn8/wMVzUzVvwdgQk2ow/D07TBgsyZZfk98N1AAFrS772SRr8+YmJ5im4+bNLZaYdA==} + '@unocss/preset-icons@66.2.1': + resolution: {integrity: sha512-I3PelXkAO+2rSYBWfwv+8iYNnpaGnKFgEGeM7OSFTmoTGsiZL1qn7ZzZm3gvUHVOS43IWQjlNiJsH00S/D5NGg==} - '@unocss/preset-mini@66.1.3': - resolution: {integrity: sha512-8HYCTl0YK5FGzfVbtshN1MIQfNZy8baT4BLdcDb2qtsLjG5qP7rmqTdk3c8OpoKhGLUuXPXBaDjh+D5TAMBY3w==} + '@unocss/preset-mini@66.2.1': + resolution: {integrity: sha512-wTqByGW5euAWkHwSz26rv0WLOYCTUTuwbyFpG8HK9GmWdWPgPGu7NsLXWblUWABN/DsZ89F7kv+VZMrvEl/tVw==} - '@unocss/preset-tagify@66.1.3': - resolution: {integrity: sha512-IUhggch3uaDraTgnomjo9eRIsarI3r3Wy5Cyu5GtmAIs4RIe7MTVsGeL21q7qgC12/UmQ7E9zdyJR1IbQ6L9aQ==} + '@unocss/preset-tagify@66.2.1': + resolution: {integrity: sha512-WPYeZRyozHHjOPVSVCV5IThW+/TkDoEuv+Sf3KLWo7kuRINOGzZoqNb7oSSDuknIo3LsUqC2Ia/85Q+pZB+UZQ==} - '@unocss/preset-typography@66.1.3': - resolution: {integrity: sha512-97n8xIYwQlxhor0FiLsmp697G6DTmUauFNv1trJf2d2wBP2W/AAkIbKw0t8SEN06eduvB7Epq7h7502dyULV4A==} + '@unocss/preset-typography@66.2.1': + resolution: {integrity: sha512-xB4Z28huQLrbQ+StFaqnjhGwd3sMSzzwfYbM6L6zqtR0ygyNFQF4omTz22r1u8+Zjk1zs5qHI28Mju0319Wfzg==} - '@unocss/preset-uno@66.1.3': - resolution: {integrity: sha512-JM/6cMGX3xSdU2a+S0JOl3aEWlQoOv0J3yyyQgd0lamkWF3RhRON6QZwhcMaLGVAPwVrSfaLG2ucCH9uubGpdg==} + '@unocss/preset-uno@66.2.1': + resolution: {integrity: sha512-Xh6SXlmWcX9ZXcsq/i4wUHiC3fDYpZSTL0lLl5geXY/HYas/ZyE+gEnAb6ukiGvvD9Nh9vcuFCsB1wu6ujRLrg==} - '@unocss/preset-web-fonts@66.1.3': - resolution: {integrity: sha512-uOWEmru+tbr/gttM6X/sJHoY0TCVdUx8/EiVITrLe51Agi2UECQlCdBH2lZNnfc3RCArCn4JevMLHd1btHRzJg==} + '@unocss/preset-web-fonts@66.2.1': + resolution: {integrity: sha512-+AoidFclq9TLXDhSeHu9osRDLAiUA0a6E9ZKVoZ4LKcxI2MwuiYfee1IViBY+hKSB0jWoRRFD8iYW5SuXbkQGA==} - '@unocss/preset-wind3@66.1.3': - resolution: {integrity: sha512-oFQKA/v0EbCtZaxTBKvTfyVG1hcDJ1CXQ7gsghynMpOKMJbnb7bq4NEuDoMdHCVV9yKEQaSXkbbyHpeithBO3g==} + '@unocss/preset-wind3@66.2.1': + resolution: {integrity: sha512-2luFtyyg9xhja0Dkejzi2NO5Jq3UEOIt1lWQEzAPVhgbQ99XTdknZDDYBxkaW5fAcD9b2CLzyL5wb7TfazvRMQ==} - '@unocss/preset-wind4@66.1.3': - resolution: {integrity: sha512-QwPDtQv/Asz1sYT0HcXPROolKwDCCcHqp0kkrO7aOGaVqyTF6ByfT+7cfI+Mv9uKtZejd+kQTUM/1ag8mzj3UA==} + '@unocss/preset-wind4@66.2.1': + resolution: {integrity: sha512-l7X412956E0YHngGh8mdRMWbtXoz7fE3U9nzRQe/r6KGUW51DJdUN1Wz5EobUuZ+9jU1HwEtunMqK2644Lse1w==} - '@unocss/preset-wind@66.1.3': - resolution: {integrity: sha512-PA+W1n3b7vXYAp3bD5BoSXVHDVhXPXOpKkEYDhMHL8+z567/dwDVrkZ5vAPsu1s4bW1PLqN/enzKso74TOfDCg==} + '@unocss/preset-wind@66.2.1': + resolution: {integrity: sha512-GhC1dQ58z9dt53BjAu6+XDz4DEr3jtb+ZMNGOCtpGzALj0DhFSfND9sg0YL/bMKddRJmGRJEmJZ4/o6KlZ6+EA==} - '@unocss/reset@66.1.3': - resolution: {integrity: sha512-tc8uSka0R0zlfJfOjoLUg0NMT4RQnAe6nyelBXE86qYQaNV2YD7tf2iEWMmbjNwmiIjc8MigHAvYt1HmdirNww==} + '@unocss/reset@66.2.1': + resolution: {integrity: sha512-gaEUsrRJ7UyWgbP89eFyilw6oHdgPMuLmTfz6Gu1eIKF1rxP6u2n4k/WsO5e+6ECUvEq0pYJluuWUNR8CkpW9Q==} - '@unocss/rule-utils@66.1.3': - resolution: {integrity: sha512-EP8QRcOO/dAD1+RxOnWOiGaIyo4IJQOdqD0nBteZDoL3X9vj6GPUI5yo8f7uR6k0koI/hxJv5BVsfQZSIsVjLA==} + '@unocss/rule-utils@66.2.1': + resolution: {integrity: sha512-uzi8onV53XXXjxI9ynUdk+9DngUYsy7uR4YFbTFUMF758SnNLil/MhJ9AeJGCUnl/3skZR6CZi8ne3IBJVnZAw==} engines: {node: '>=14'} - '@unocss/transformer-attributify-jsx@66.1.3': - resolution: {integrity: sha512-9dSacVrxmjiJUDRjK4f7qHcI//MjiApopRWtRrnyFbAzsKTqXHxstVCqYKkzCGRt2JcW01MXd/uL7q0Dw/YSCQ==} + '@unocss/transformer-attributify-jsx@66.2.1': + resolution: {integrity: sha512-eco2ZYMgr1gUGVteFsSrmbYo7mHVFz8kS15+PWKqFvILkTEbBKrOc9SJb+y0JIoVIwal7aAn1Q1Dhel37hccDA==} - '@unocss/transformer-compile-class@66.1.3': - resolution: {integrity: sha512-cV3qVDvuTM1DXBE9hyP69UU/etrloFrOx93ztjhuznKfCDyjWI79oL95BxSyHfD0bPNWKH9wSqNgesgnQKhkog==} + '@unocss/transformer-compile-class@66.2.1': + resolution: {integrity: sha512-IR280UOZRKm4QX1BbwjiHsR8mFGEXDjELbmP3UJxl5xgQr3ujUuihtk/owQQOLvJ/EPGk+e3/MQrxMXy5mXc2Q==} - '@unocss/transformer-directives@66.1.3': - resolution: {integrity: sha512-xo91rCu6o5NEbc9EJrEQA1mKRVVwpstm78vIqKJAhU57QlR7Mj4UDbq46ogkt+jcljKCHppp+9aQXRk/Z4PAZw==} + '@unocss/transformer-directives@66.2.1': + resolution: {integrity: sha512-OLKFgCBjrP6yiPZWK0Je09STOZKFrl7rt6P5BMrejw/x5d9JOdrZJuChjOJGI4cLi46drJtlTEH2ia7KwCNvjQ==} - '@unocss/transformer-variant-group@66.1.3': - resolution: {integrity: sha512-FCB5LB459FTE/E/OXn5g6O/o7AOJbiEDRiA/WXtalB/VLsqc5DHSbb9isITYUTh+PqzZZef8W6+kQjG5wx5yNA==} + '@unocss/transformer-variant-group@66.2.1': + resolution: {integrity: sha512-1EpKWJdqtXaCQcEZRse5Da1LHkTaZIc6nRi7ODJPsEsubJ+cIasd4Rx3iQf7N0RWqvvjwekjqSHxBaC6GJOvqw==} - '@unocss/vite@66.1.3': - resolution: {integrity: sha512-DBehjzx93XkWK6skudKZ9BewcFoZdbVhn+7tSM00HoDjQ8WHeC22saJf0UY9sAkdq7f2k2enAhAcznr2/DUTng==} + '@unocss/vite@66.2.1': + resolution: {integrity: sha512-dZsg+ZA+MxfqQQC9tJem1zgZJ5AXM57M5RuCNwSiklop3qQMC7UaSYc9WCayBRSwsQQ35c1MTqgx6Q5cf1MeUg==} peerDependencies: vite: ^6.3.5 @@ -4027,8 +4006,8 @@ packages: peerDependencies: vite: ^6.3.5 - '@vitejs/plugin-react@4.5.0': - resolution: {integrity: sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg==} + '@vitejs/plugin-react@4.5.2': + resolution: {integrity: sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^6.3.5 @@ -4106,14 +4085,14 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/devtools-api@7.7.5': - resolution: {integrity: sha512-HYV3tJGARROq5nlVMJh5KKHk7GU8Au3IrrmNNqr978m0edxgpHgYPDoNUGrvEgIbObz09SQezFR3A1EVmB5WZg==} + '@vue/devtools-api@7.7.7': + resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} - '@vue/devtools-kit@7.7.5': - resolution: {integrity: sha512-S9VAVJYVAe4RPx2JZb9ZTEi0lqTySz2CBeF0wHT5D3dkTLnT9yMMGegKNl4b2EIELwLSkcI9bl2qp0/jW+upqA==} + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} - '@vue/devtools-shared@7.7.5': - resolution: {integrity: sha512-QBjG72RfpM0DKtpns2RZOxBltO226kOAls9e4Lri6YxS2gWTgL0H+wj1R2K76lxxIeOrqo4+2Ty6RQnzv+WSTQ==} + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -4157,8 +4136,8 @@ packages: '@vueuse/core@12.8.2': resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} - '@vueuse/core@13.1.0': - resolution: {integrity: sha512-PAauvdRXZvTWXtGLg8cPUFjiZEddTqmogdwYpnn60t08AA5a8Q4hZokBnpTOnVNqySlFlTcRYIC8OqreV4hv3Q==} + '@vueuse/core@13.3.0': + resolution: {integrity: sha512-uYRz5oEfebHCoRhK4moXFM3NSCd5vu2XMLOq/Riz5FdqZMy2RvBtazdtL3gEcmDyqkztDe9ZP/zymObMIbiYSg==} peerDependencies: vue: ^3.5.0 @@ -4203,8 +4182,8 @@ packages: universal-cookie: optional: true - '@vueuse/integrations@13.1.0': - resolution: {integrity: sha512-wJ6aANdUs4SOpVabChQK+uLIwxRTUAEmn1DJnflGG7Wq6yaipiRmp6as/Md201FjJnquQt8MecIPbFv8HSBeDA==} + '@vueuse/integrations@13.3.0': + resolution: {integrity: sha512-h5mGRYPbiTZTFP/AKELLPGnUDBly7z7Qd1pgEQlT3ItQ0NlZM0vB+8SOQycpSBOBlgg72Zgw+mi2r+4O/G8RuQ==} peerDependencies: async-validator: ^4 axios: ^1 @@ -4251,8 +4230,8 @@ packages: '@vueuse/metadata@12.8.2': resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} - '@vueuse/metadata@13.1.0': - resolution: {integrity: sha512-+TDd7/a78jale5YbHX9KHW3cEDav1lz1JptwDvep2zSG8XjCsVE+9mHIzjTOaPbHUAk5XiE4jXLz51/tS+aKQw==} + '@vueuse/metadata@13.3.0': + resolution: {integrity: sha512-42IzJIOYCKIb0Yjv1JfaKpx8JlCiTmtCWrPxt7Ja6Wzoq0h79+YVXmBV03N966KEmDEESTbp5R/qO3AB5BDnGw==} '@vueuse/shared@10.11.1': resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} @@ -4260,8 +4239,8 @@ packages: '@vueuse/shared@12.8.2': resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} - '@vueuse/shared@13.1.0': - resolution: {integrity: sha512-IVS/qRRjhPTZ6C2/AM3jieqXACGwFZwWTdw5sNTSKk2m/ZpkuuN+ri+WCVUP8TqaKwJYt/KuMwmXspMAw8E6ew==} + '@vueuse/shared@13.3.0': + resolution: {integrity: sha512-L1QKsF0Eg9tiZSFXTgodYnu0Rsa2P0En2LuLrIs/jgrkyiDuJSsPZK+tx+wU0mMsYHUYEjNsuE41uqqkuR8VhA==} peerDependencies: vue: ^3.5.0 @@ -4288,8 +4267,8 @@ packages: resolution: {integrity: sha512-XuT1PE1nh4wwJfQW6IN4UT6+iv0+Yf4zhgMh5et04OX6tfrIXkWdx2SDimghDtRukp9i85DvIGWjdPEoQFQdaA==} engines: {node: '>=18.20.0'} - '@yeger/debounce@2.0.12': - resolution: {integrity: sha512-codFun59TrOW9a9g80VDCOlRsP77+hb/DT4aXXxROpCbz2OrdMZAemkzM69c4RhwUG3pTkztiqNEbsSRqSuxBg==} + '@yeger/debounce@2.0.13': + resolution: {integrity: sha512-c8LWFCkG3Le+RetA+J9GNYiUji+aaujRvtZGNaDBPg091lB6sHe8c0fhMO+gA16x6ox/D3WExyjP3t8MChJUgA==} '@zip.js/zip.js@2.7.57': resolution: {integrity: sha512-BtonQ1/jDnGiMed6OkV6rZYW78gLmLswkHOzyMrMb+CAR7CZO8phOHO6c2qw6qb1g1betN7kwEHhhZk30dv+NA==} @@ -4533,6 +4512,9 @@ packages: birpc@2.3.0: resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} + birpc@2.4.0: + resolution: {integrity: sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -4943,8 +4925,8 @@ packages: resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} engines: {node: '>=12'} - d3-graph-controller@3.1.0: - resolution: {integrity: sha512-+Op1PsHbi3Yq0LCYtrA7dHuSJIcdgIllgsYM7m/Cl5OQ97ni+maDXqR+/pumBkr+RlzUFKIeqzx+YKBwCLqVVQ==} + d3-graph-controller@3.1.1: + resolution: {integrity: sha512-aTUnMnxX0ZFyPFPB+4lkyL7lmnooUvlNtx1QY51xJ4KmP3T5l6fDvZjzIayw7RdtrjlaFDsLyXtlEi2wS0SuZw==} d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} @@ -5645,8 +5627,8 @@ packages: '@nuxt/kit': optional: true - focus-trap@7.6.4: - resolution: {integrity: sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==} + focus-trap@7.6.5: + resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} @@ -5998,8 +5980,8 @@ packages: immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - immutable@5.1.2: - resolution: {integrity: sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==} + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -6252,8 +6234,8 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - ivya@1.6.0: - resolution: {integrity: sha512-MVindQ7lUYqEmW6K5o/ZTrLfRmOqhl0GEo/MekwiUm+WfDv8wOB7FRy1bGprz2hxvvrOHrDmgF8KIPw8N+/ONw==} + ivya@1.7.0: + resolution: {integrity: sha512-E4MM3/pCtgalpLP6PcDR6HIVdQo/0COef8omuvMyYid8GdKsKXmhPgV04k6u1791j1DQ1tCmu8Rn0H3kxoulEg==} jackspeak@3.4.0: resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} @@ -6542,6 +6524,9 @@ packages: loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.1.4: + resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} + lru-cache@10.2.2: resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} @@ -6853,8 +6838,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.8.7: - resolution: {integrity: sha512-0TGfV4oQiKpa3pDsQBDf0xvFP+sRrqEOnh2n1JWpHVKHJHLv6ZmY1HCZpCi7uDiJTeIHJMBpmBiRmBJN+ETPSQ==} + msw@2.10.2: + resolution: {integrity: sha512-RCKM6IZseZQCWcSWlutdf590M8nVfRHG1ImwzOtwz8IYxgT4zhUO0rfTcTvDGiaFE0Rhcc+h43lcF3Jc9gFtwQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -7033,17 +7018,13 @@ packages: resolution: {integrity: sha512-/11+bqJikeGS0KoZE4uPPntGiun+2am0x3uwY0tCu0rgpq7ka7gKWR5tj92Oxey5bb3LZlT39ORsF1/y8sQEdA==} engines: {node: '>=14.0.0'} - oxc-parser@0.70.0: - resolution: {integrity: sha512-YbqTuQDDIYwQF/li0VFK5uTbmHV4jWFeQQONkPdf77vz+JMiq7SusmcSVZ4hBrGM+3WyLdKH5S7spnvz4XVVzQ==} + oxc-parser@0.72.3: + resolution: {integrity: sha512-JYQeJKDcUTTZ/uTdJ+fZBGFjAjkLD1h0p3Tf44ZYXRcoMk+57d81paNPFAAwzrzzqhZmkGvKKXDxwyhJXYZlpg==} engines: {node: '>=14.0.0'} oxc-resolver@11.1.0: resolution: {integrity: sha512-/W/9O6m7lkDJMIXtXvNKXE6THIoNWwstsKpR/R8+yI9e7vC9wu92MDqLBxkgckZ2fTFmKEjozTxVibHBaRUgCA==} - oxc-transform@0.70.0: - resolution: {integrity: sha512-cPaTMNm7ciuDYhypBk7P8srrNU1aPT+yNYU3818odl8aygThFZZ2kXGpvkxtP1XXgVeMpe/nopVJnjQndkO2Uw==} - engines: {node: '>=14.0.0'} - oxc-transform@0.72.2: resolution: {integrity: sha512-HbNUskptWnT4S5vtCcfsNTfRk/e7BM4RWc0/7ZxRH3/I93hosggs9YOIemrSWTMDr20dnUjceAjbf+cP+Zkqlg==} engines: {node: '>=14.0.0'} @@ -7214,13 +7195,13 @@ packages: pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} - playwright-core@1.52.0: - resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==} + playwright-core@1.53.0: + resolution: {integrity: sha512-mGLg8m0pm4+mmtB7M89Xw/GSqoNC+twivl8ITteqvAndachozYe2ZA7srU6uleV1vEdAHYqjq+SV8SNxRRFYBw==} engines: {node: '>=18'} hasBin: true - playwright@1.52.0: - resolution: {integrity: sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==} + playwright@1.53.0: + resolution: {integrity: sha512-ghGNnIEYZC4E+YtclRn4/p6oYbdPiASELBIYkBXfaTVKreQUYbMUYQDwS12a8F0/HtIjr/CkGjtwABeFPGcS4Q==} engines: {node: '>=18'} hasBin: true @@ -7534,17 +7515,17 @@ packages: resolution: {integrity: sha512-sR3CxYUl7i2CHa0O7bA45mCrgADyAQ0tVtGSqi3yvH28M+eg1+g5d7kQ9hLvEz5dorK3XVsH5L2jwHLQf72DzA==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 typescript: ^4.5 || ^5.0 rollup-plugin-license@3.6.0: resolution: {integrity: sha512-1ieLxTCaigI5xokIfszVDRoy6c/Wmlot1fDEnea7Q/WXSR8AqOjYljHDLObAx7nFxHC2mbxT3QnTSPhaic2IYw==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.41.1 + rollup: ^4.43.0 - rollup@4.41.1: - resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==} + rollup@4.43.0: + resolution: {integrity: sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -7773,8 +7754,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.4.2: - resolution: {integrity: sha512-wuxzZzQG8kvZndD7nustrNFIKYJ1jJoWIPaBpVe2+KHSvtzMi4SBjOxrigs8qeqce/l3U0cwiC+VAkLKSunHQQ==} + shiki@3.6.0: + resolution: {integrity: sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -8208,8 +8189,8 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.19.4: - resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==} + tsx@4.20.3: + resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==} engines: {node: '>=18.0.0'} hasBin: true @@ -8296,9 +8277,6 @@ packages: unconfig@7.3.2: resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -8360,11 +8338,11 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unocss@66.1.3: - resolution: {integrity: sha512-hjSZ+ekyzVfVNMXeBnTMMatwPP/VaaE9UFyEKJfCctaiex11Dsj1MCjj6PIjGUZyIWzAJp6BZdcVmHyOi09HGw==} + unocss@66.2.1: + resolution: {integrity: sha512-omA9to1Vyr0fsvP37QXErlJYspBHUF1fLsIRgDXnnsynIG88+WuEuY+o3wuDStqDSOLrorHCgLa6LYjJ7IKaFg==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 66.1.3 + '@unocss/webpack': 66.2.1 vite: ^6.3.5 peerDependenciesMeta: '@unocss/webpack': @@ -8388,8 +8366,8 @@ packages: '@vueuse/core': optional: true - unplugin-isolated-decl@0.14.2: - resolution: {integrity: sha512-MJ4HOUiR8r979vP6/CsYQK+3JV9B1Xp4ce5KLgYtrSEkq8KIwPiLWyfa8TFlpMDlEOVBCFNA1V0K5eo4yWze3Q==} + unplugin-isolated-decl@0.14.3: + resolution: {integrity: sha512-Rkn6xVe3ljVtYYPpTNe4BaPWvA4vs7SW7swp/XWg1Kj0nyz3AAgWc74yneStS1SQ5eZi7qYs5lkkPpcvrS2uSQ==} engines: {node: '>=20.18.0'} peerDependencies: '@swc/core': ^1.6.6 @@ -8492,8 +8470,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vecti@3.1.0: - resolution: {integrity: sha512-7KJiLJVcqYHWPOqW70N72zRIqEnH39+kguv5OLGFqixqUcuJVNpsal94OTFSxqCWbpu1lVQKnG7AHi7w1Z0qmg==} + vecti@3.1.1: + resolution: {integrity: sha512-AxvIbU42SZ3MYPaGE+x7dVvv/70MtiM24xZXXxiRDXgpELtSA80rxrZYRs05LZM4Lh+8koTdlpf/cP2+kNQFoA==} vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} @@ -8571,8 +8549,8 @@ packages: yaml: optional: true - vitepress-plugin-group-icons@1.5.5: - resolution: {integrity: sha512-eVnBL3lVOYxByQg5xo44QZtGPv41JyxWI7YxuwrGcNUU+W8MMIjb9XlivBXb3W8CosFllJlLGiqNCBTnFZHFTA==} + vitepress-plugin-group-icons@1.6.0: + resolution: {integrity: sha512-+nxuVETpFkOYR5qHdvj3M5otWusJyS3ozEvVf1aQaE5Oz5e6NR0naYKTtH0Zf3Qss4vnhqaYt2Lq4jUTn9JVuA==} peerDependencies: markdown-it: '>=14' vite: ^6.3.5 @@ -8583,27 +8561,30 @@ packages: vitepress: ^1.0.0 vue: ^3.5.0 - vitepress@2.0.0-alpha.5: - resolution: {integrity: sha512-fhuGpJ4CETS/lrAHjKu3m88HwesZvAjZLFeIRr9Jejmewyogn1tm2L6lsVg7PWxPmOGoMfihzl3+L6jg6hrTnA==} + vitepress@2.0.0-alpha.6: + resolution: {integrity: sha512-k58ZsFJi+ml0eHM6skEC3wSUm0piDJJmNJu2LSa9BhGMge69vSN07qTBDK5Ad87aDyYhmkbiIFW2AG6bboMFcg==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 + oxc-minify: ^0.72.3 postcss: ^8 peerDependenciesMeta: markdown-it-mathjax3: optional: true + oxc-minify: + optional: true postcss: optional: true - vitest-browser-react@0.2.0: - resolution: {integrity: sha512-tVUVngdcTMFPSywxEo42hAAO074VjEF7Q1QkV8wqjI9oiYuguUfqp6Uw4mTbZ+DLFSITHXiked+PYQFH69XkLQ==} - engines: {node: ^18.0.0 || >=20.0.0} + vitest-browser-react@0.3.0: + resolution: {integrity: sha512-dk8T3GHhwrmCJLqDer1A2NB8MlIGsUb9Wr4/iMpbrwz4sBCh1PjV0SkZ9BYmoBrJ4j/Tx8qxzCXFXnbE2IbWzg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} peerDependencies: - '@types/react': '>18.0.0' - '@types/react-dom': '>18.0.0' + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 '@vitest/browser': workspace:* - react: '>18.0.0' - react-dom: '>18.0.0' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 vitest: workspace:* peerDependenciesMeta: '@types/react': @@ -8935,8 +8916,8 @@ packages: zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - zx@8.5.4: - resolution: {integrity: sha512-44oKea9Sa8ZnOkTnS6fRJpg3quzgnbB43nLrVfYnqE86J4sxgZMUDLezzKET/FdOAVkF4X+Alm9Bume+W+RW9Q==} + zx@8.5.5: + resolution: {integrity: sha512-kzkjV3uqyEthw1IBDbA7Co2djji77vCP1DRvt58aYSMwiX4nyvAkFE8OBSEsOUbDJAst0Yo4asNvMTGG5HGPXA==} engines: {node: '>= 12.17.0'} hasBin: true @@ -9139,8 +9120,16 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.26.8': {} + '@babel/compat-data@7.27.5': {} + '@babel/core@7.26.10': dependencies: '@ampproject/remapping': 2.3.0 @@ -9161,6 +9150,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.27.4': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.27.0': dependencies: '@babel/parser': 7.27.2 @@ -9169,6 +9178,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/generator@7.27.5': + dependencies: + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.25.9': dependencies: '@babel/types': 7.27.1 @@ -9188,6 +9205,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.27.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -9233,6 +9258,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -9242,12 +9274,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.25.9': dependencies: '@babel/types': 7.27.1 '@babel/helper-plugin-utils@7.25.9': {} + '@babel/helper-plugin-utils@7.27.1': {} + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -9286,6 +9329,8 @@ snapshots: '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-option@7.27.1': {} + '@babel/helper-wrap-function@7.25.9': dependencies: '@babel/template': 7.27.0 @@ -9299,10 +9344,19 @@ snapshots: '@babel/template': 7.27.0 '@babel/types': 7.27.1 + '@babel/helpers@7.27.6': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 + '@babel/parser@7.27.2': dependencies: '@babel/types': 7.27.1 + '@babel/parser@7.27.5': + dependencies: + '@babel/types': 7.27.6 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -9613,15 +9667,15 @@ snapshots: '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.10)': dependencies: @@ -9783,6 +9837,12 @@ snapshots: '@babel/parser': 7.27.2 '@babel/types': 7.27.1 + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 + '@babel/traverse@7.27.0': dependencies: '@babel/code-frame': 7.26.2 @@ -9795,11 +9855,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.27.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 + debug: 4.4.1 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.27.1': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.27.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@1.0.2': {} '@bufbuild/protobuf@2.5.2': {} @@ -9852,9 +9929,9 @@ snapshots: '@docsearch/css@3.9.0': {} - '@docsearch/js@3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)': + '@docsearch/js@3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)': dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0) + '@docsearch/react': 3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0) preact: 10.21.0 transitivePeerDependencies: - '@algolia/client-search' @@ -9863,14 +9940,14 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)': + '@docsearch/react@3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0)': dependencies: '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.9.0) '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) '@docsearch/css': 3.9.0 algoliasearch: 5.20.0 optionalDependencies: - '@types/react': 19.1.6 + '@types/react': 19.1.8 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) search-insights: 2.9.0 @@ -10103,7 +10180,7 @@ snapshots: '@humanwhocodes/retry@0.4.2': {} - '@iconify-json/carbon@1.2.8': + '@iconify-json/carbon@1.2.9': dependencies: '@iconify/types': 2.0.0 @@ -10111,7 +10188,7 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.33': + '@iconify-json/simple-icons@1.2.38': dependencies: '@iconify/types': 2.0.0 @@ -10209,16 +10286,16 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true - '@inquirer/confirm@5.0.1(@types/node@22.15.29)': + '@inquirer/confirm@5.0.1(@types/node@22.15.32)': dependencies: - '@inquirer/core': 10.0.1(@types/node@22.15.29) - '@inquirer/type': 3.0.0(@types/node@22.15.29) - '@types/node': 22.15.29 + '@inquirer/core': 10.0.1(@types/node@22.15.32) + '@inquirer/type': 3.0.0(@types/node@22.15.32) + '@types/node': 22.15.32 - '@inquirer/core@10.0.1(@types/node@22.15.29)': + '@inquirer/core@10.0.1(@types/node@22.15.32)': dependencies: '@inquirer/figures': 1.0.7 - '@inquirer/type': 3.0.0(@types/node@22.15.29) + '@inquirer/type': 3.0.0(@types/node@22.15.32) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -10231,9 +10308,9 @@ snapshots: '@inquirer/figures@1.0.7': {} - '@inquirer/type@3.0.0(@types/node@22.15.29)': + '@inquirer/type@3.0.0(@types/node@22.15.32)': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 '@isaacs/cliui@8.0.2': dependencies: @@ -10294,7 +10371,7 @@ snapshots: dependencies: '@lit-labs/ssr-dom-shim': 1.3.0 - '@mswjs/interceptors@0.38.7': + '@mswjs/interceptors@0.39.2': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -10377,51 +10454,51 @@ snapshots: '@oxc-minify/binding-win32-x64-msvc@0.72.2': optional: true - '@oxc-parser/binding-darwin-arm64@0.70.0': + '@oxc-parser/binding-darwin-arm64@0.72.3': optional: true - '@oxc-parser/binding-darwin-x64@0.70.0': + '@oxc-parser/binding-darwin-x64@0.72.3': optional: true - '@oxc-parser/binding-freebsd-x64@0.70.0': + '@oxc-parser/binding-freebsd-x64@0.72.3': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.70.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.72.3': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.70.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.72.3': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.70.0': + '@oxc-parser/binding-linux-arm64-gnu@0.72.3': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.70.0': + '@oxc-parser/binding-linux-arm64-musl@0.72.3': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.70.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.72.3': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.70.0': + '@oxc-parser/binding-linux-s390x-gnu@0.72.3': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.70.0': + '@oxc-parser/binding-linux-x64-gnu@0.72.3': optional: true - '@oxc-parser/binding-linux-x64-musl@0.70.0': + '@oxc-parser/binding-linux-x64-musl@0.72.3': optional: true - '@oxc-parser/binding-wasm32-wasi@0.70.0': + '@oxc-parser/binding-wasm32-wasi@0.72.3': dependencies: '@napi-rs/wasm-runtime': 0.2.10 optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.70.0': + '@oxc-parser/binding-win32-arm64-msvc@0.72.3': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.70.0': + '@oxc-parser/binding-win32-x64-msvc@0.72.3': optional: true - '@oxc-project/types@0.70.0': {} + '@oxc-project/types@0.72.3': {} '@oxc-resolver/binding-darwin-arm64@11.1.0': optional: true @@ -10464,100 +10541,56 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.1.0': optional: true - '@oxc-transform/binding-darwin-arm64@0.70.0': - optional: true - '@oxc-transform/binding-darwin-arm64@0.72.2': optional: true - '@oxc-transform/binding-darwin-x64@0.70.0': - optional: true - '@oxc-transform/binding-darwin-x64@0.72.2': optional: true - '@oxc-transform/binding-freebsd-x64@0.70.0': - optional: true - '@oxc-transform/binding-freebsd-x64@0.72.2': optional: true - '@oxc-transform/binding-linux-arm-gnueabihf@0.70.0': - optional: true - '@oxc-transform/binding-linux-arm-gnueabihf@0.72.2': optional: true - '@oxc-transform/binding-linux-arm-musleabihf@0.70.0': - optional: true - '@oxc-transform/binding-linux-arm-musleabihf@0.72.2': optional: true - '@oxc-transform/binding-linux-arm64-gnu@0.70.0': - optional: true - '@oxc-transform/binding-linux-arm64-gnu@0.72.2': optional: true - '@oxc-transform/binding-linux-arm64-musl@0.70.0': - optional: true - '@oxc-transform/binding-linux-arm64-musl@0.72.2': optional: true - '@oxc-transform/binding-linux-riscv64-gnu@0.70.0': - optional: true - '@oxc-transform/binding-linux-riscv64-gnu@0.72.2': optional: true - '@oxc-transform/binding-linux-s390x-gnu@0.70.0': - optional: true - '@oxc-transform/binding-linux-s390x-gnu@0.72.2': optional: true - '@oxc-transform/binding-linux-x64-gnu@0.70.0': - optional: true - '@oxc-transform/binding-linux-x64-gnu@0.72.2': optional: true - '@oxc-transform/binding-linux-x64-musl@0.70.0': - optional: true - '@oxc-transform/binding-linux-x64-musl@0.72.2': optional: true - '@oxc-transform/binding-wasm32-wasi@0.70.0': - dependencies: - '@napi-rs/wasm-runtime': 0.2.10 - optional: true - '@oxc-transform/binding-wasm32-wasi@0.72.2': dependencies: '@napi-rs/wasm-runtime': 0.2.10 optional: true - '@oxc-transform/binding-win32-arm64-msvc@0.70.0': - optional: true - '@oxc-transform/binding-win32-arm64-msvc@0.72.2': optional: true - '@oxc-transform/binding-win32-x64-msvc@0.70.0': - optional: true - '@oxc-transform/binding-win32-x64-msvc@0.72.2': optional: true '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.52.0': + '@playwright/test@1.53.0': dependencies: - playwright: 1.52.0 + playwright: 1.53.0 '@polka/url@1.0.0-next.24': {} @@ -10581,22 +10614,22 @@ snapshots: dependencies: quansync: 0.2.10 - '@rolldown/pluginutils@1.0.0-beta.9': {} + '@rolldown/pluginutils@1.0.0-beta.11': {} - '@rollup/plugin-babel@5.3.1(@babel/core@7.26.10)(@types/babel__core@7.20.5)(rollup@4.41.1)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.26.10)(@types/babel__core@7.20.5)(rollup@4.43.0)': dependencies: '@babel/core': 7.26.10 '@babel/helper-module-imports': 7.25.9 - '@rollup/pluginutils': 3.1.0(rollup@4.41.1) - rollup: 4.41.1 + '@rollup/pluginutils': 3.1.0(rollup@4.43.0) + rollup: 4.43.0 optionalDependencies: '@types/babel__core': 7.20.5 transitivePeerDependencies: - supports-color - '@rollup/plugin-commonjs@28.0.3(rollup@4.41.1)': + '@rollup/plugin-commonjs@28.0.5(rollup@4.43.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.4(picomatch@4.0.2) @@ -10604,178 +10637,178 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.2 optionalDependencies: - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/plugin-json@6.1.0(rollup@4.41.1)': + '@rollup/plugin-json@6.1.0(rollup@4.43.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) optionalDependencies: - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/plugin-node-resolve@15.3.1(rollup@4.41.1)': + '@rollup/plugin-node-resolve@15.3.1(rollup@4.43.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.41.1)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.43.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/plugin-replace@2.4.2(rollup@4.41.1)': + '@rollup/plugin-replace@2.4.2(rollup@4.43.0)': dependencies: - '@rollup/pluginutils': 3.1.0(rollup@4.41.1) + '@rollup/pluginutils': 3.1.0(rollup@4.43.0) magic-string: 0.25.9 - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/plugin-terser@0.4.4(rollup@4.41.1)': + '@rollup/plugin-terser@0.4.4(rollup@4.43.0)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.36.0 optionalDependencies: - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/pluginutils@3.1.0(rollup@4.41.1)': + '@rollup/pluginutils@3.1.0(rollup@4.43.0)': dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/pluginutils@5.1.4(rollup@4.41.1)': + '@rollup/pluginutils@5.1.4(rollup@4.43.0)': dependencies: '@types/estree': 1.0.7 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.41.1 + rollup: 4.43.0 - '@rollup/rollup-android-arm-eabi@4.41.1': + '@rollup/rollup-android-arm-eabi@4.43.0': optional: true - '@rollup/rollup-android-arm64@4.41.1': + '@rollup/rollup-android-arm64@4.43.0': optional: true - '@rollup/rollup-darwin-arm64@4.41.1': + '@rollup/rollup-darwin-arm64@4.43.0': optional: true - '@rollup/rollup-darwin-x64@4.41.1': + '@rollup/rollup-darwin-x64@4.43.0': optional: true - '@rollup/rollup-freebsd-arm64@4.41.1': + '@rollup/rollup-freebsd-arm64@4.43.0': optional: true - '@rollup/rollup-freebsd-x64@4.41.1': + '@rollup/rollup-freebsd-x64@4.43.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.41.1': + '@rollup/rollup-linux-arm-gnueabihf@4.43.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.41.1': + '@rollup/rollup-linux-arm-musleabihf@4.43.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.41.1': + '@rollup/rollup-linux-arm64-gnu@4.43.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.41.1': + '@rollup/rollup-linux-arm64-musl@4.43.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.41.1': + '@rollup/rollup-linux-loongarch64-gnu@4.43.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.41.1': + '@rollup/rollup-linux-riscv64-gnu@4.43.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.41.1': + '@rollup/rollup-linux-riscv64-musl@4.43.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.41.1': + '@rollup/rollup-linux-s390x-gnu@4.43.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.41.1': + '@rollup/rollup-linux-x64-gnu@4.43.0': optional: true - '@rollup/rollup-linux-x64-musl@4.41.1': + '@rollup/rollup-linux-x64-musl@4.43.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.41.1': + '@rollup/rollup-win32-arm64-msvc@4.43.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.41.1': + '@rollup/rollup-win32-ia32-msvc@4.43.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.41.1': + '@rollup/rollup-win32-x64-msvc@4.43.0': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@3.4.2': + '@shikijs/core@3.6.0': dependencies: - '@shikijs/types': 3.4.2 + '@shikijs/types': 3.6.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.4.2': + '@shikijs/engine-javascript@3.6.0': dependencies: - '@shikijs/types': 3.4.2 + '@shikijs/types': 3.6.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 - '@shikijs/engine-oniguruma@3.4.2': + '@shikijs/engine-oniguruma@3.6.0': dependencies: - '@shikijs/types': 3.4.2 + '@shikijs/types': 3.6.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.4.2': + '@shikijs/langs@3.6.0': dependencies: - '@shikijs/types': 3.4.2 + '@shikijs/types': 3.6.0 - '@shikijs/themes@3.4.2': + '@shikijs/themes@3.6.0': dependencies: - '@shikijs/types': 3.4.2 + '@shikijs/types': 3.6.0 - '@shikijs/transformers@3.4.2': + '@shikijs/transformers@3.6.0': dependencies: - '@shikijs/core': 3.4.2 - '@shikijs/types': 3.4.2 + '@shikijs/core': 3.6.0 + '@shikijs/types': 3.6.0 - '@shikijs/twoslash@3.4.2(typescript@5.8.3)': + '@shikijs/twoslash@3.6.0(typescript@5.8.3)': dependencies: - '@shikijs/core': 3.4.2 - '@shikijs/types': 3.4.2 + '@shikijs/core': 3.6.0 + '@shikijs/types': 3.6.0 twoslash: 0.3.1(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@shikijs/types@3.4.2': + '@shikijs/types@3.6.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 - '@shikijs/vitepress-twoslash@3.4.2(typescript@5.8.3)': + '@shikijs/vitepress-twoslash@3.6.0(typescript@5.8.3)': dependencies: - '@shikijs/twoslash': 3.4.2(typescript@5.8.3) + '@shikijs/twoslash': 3.6.0(typescript@5.8.3) floating-vue: 5.2.2(vue@3.5.16(typescript@5.8.3)) mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.1.0 mdast-util-to-hast: 13.2.0 - shiki: 3.4.2 + shiki: 3.6.0 twoslash: 0.3.1(typescript@5.8.3) twoslash-vue: 0.3.1(typescript@5.8.3) vue: 3.5.16(typescript@5.8.3) @@ -10996,14 +11029,16 @@ snapshots: '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} + '@types/fs-extra@8.1.3': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.1 - '@types/node': 22.15.29 + '@types/node': 22.15.32 '@types/hast@3.0.4': dependencies: @@ -11037,7 +11072,7 @@ snapshots: '@types/jsdom@21.1.7': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 '@types/tough-cookie': 4.0.5 parse5: 7.2.1 @@ -11057,11 +11092,11 @@ snapshots: '@types/natural-compare@1.4.3': {} - '@types/node@20.17.57': + '@types/node@20.19.1': dependencies: - undici-types: 6.19.8 + undici-types: 6.21.0 - '@types/node@22.15.29': + '@types/node@22.15.32': dependencies: undici-types: 6.21.0 @@ -11069,18 +11104,18 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 kleur: 3.0.3 '@types/react-dom@18.2.14': dependencies: - '@types/react': 19.1.6 + '@types/react': 19.1.8 '@types/react-is@19.0.0': dependencies: - '@types/react': 19.1.6 + '@types/react': 19.1.8 - '@types/react@19.1.6': + '@types/react@19.1.8': dependencies: csstype: 3.1.3 @@ -11098,7 +11133,7 @@ snapshots: '@types/through@0.0.30': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 '@types/tough-cookie@4.0.5': {} @@ -11118,11 +11153,11 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.15.29 + '@types/node': 20.19.1 optional: true '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': @@ -11211,22 +11246,22 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@unocss/astro@66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@unocss/astro@66.2.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: - '@unocss/core': 66.1.3 - '@unocss/reset': 66.1.3 - '@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@unocss/core': 66.2.1 + '@unocss/reset': 66.2.1 + '@unocss/vite': 66.2.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) optionalDependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - vue - '@unocss/cli@66.1.3': + '@unocss/cli@66.2.1': dependencies: '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.1.3 - '@unocss/core': 66.1.3 - '@unocss/preset-uno': 66.1.3 + '@unocss/config': 66.2.1 + '@unocss/core': 66.2.1 + '@unocss/preset-uno': 66.2.1 cac: 6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588) chokidar: 3.6.0 colorette: 2.0.20 @@ -11237,21 +11272,21 @@ snapshots: tinyglobby: 0.2.14 unplugin-utils: 0.2.4 - '@unocss/config@66.1.3': + '@unocss/config@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 unconfig: 7.3.2 - '@unocss/core@66.1.3': {} + '@unocss/core@66.2.1': {} - '@unocss/extractor-arbitrary-variants@66.1.3': + '@unocss/extractor-arbitrary-variants@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 - '@unocss/inspector@66.1.3(vue@3.5.16(typescript@5.8.3))': + '@unocss/inspector@66.2.1(vue@3.5.16(typescript@5.8.3))': dependencies: - '@unocss/core': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/rule-utils': 66.2.1 colorette: 2.0.20 gzip-size: 6.0.0 sirv: 3.0.1 @@ -11259,107 +11294,107 @@ snapshots: transitivePeerDependencies: - vue - '@unocss/postcss@66.1.3(postcss@8.5.3)': + '@unocss/postcss@66.2.1(postcss@8.5.3)': dependencies: - '@unocss/config': 66.1.3 - '@unocss/core': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/config': 66.2.1 + '@unocss/core': 66.2.1 + '@unocss/rule-utils': 66.2.1 css-tree: 3.1.0 postcss: 8.5.3 tinyglobby: 0.2.14 - '@unocss/preset-attributify@66.1.3': + '@unocss/preset-attributify@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 - '@unocss/preset-icons@66.1.3': + '@unocss/preset-icons@66.2.1': dependencies: '@iconify/utils': 2.3.0 - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@66.1.3': + '@unocss/preset-mini@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/extractor-arbitrary-variants': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/extractor-arbitrary-variants': 66.2.1 + '@unocss/rule-utils': 66.2.1 - '@unocss/preset-tagify@66.1.3': + '@unocss/preset-tagify@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 - '@unocss/preset-typography@66.1.3': + '@unocss/preset-typography@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/preset-mini': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/preset-mini': 66.2.1 + '@unocss/rule-utils': 66.2.1 - '@unocss/preset-uno@66.1.3': + '@unocss/preset-uno@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/preset-wind3': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/preset-wind3': 66.2.1 - '@unocss/preset-web-fonts@66.1.3': + '@unocss/preset-web-fonts@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 ofetch: 1.4.1 - '@unocss/preset-wind3@66.1.3': + '@unocss/preset-wind3@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/preset-mini': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/preset-mini': 66.2.1 + '@unocss/rule-utils': 66.2.1 - '@unocss/preset-wind4@66.1.3': + '@unocss/preset-wind4@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/extractor-arbitrary-variants': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/extractor-arbitrary-variants': 66.2.1 + '@unocss/rule-utils': 66.2.1 - '@unocss/preset-wind@66.1.3': + '@unocss/preset-wind@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/preset-wind3': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/preset-wind3': 66.2.1 - '@unocss/reset@66.1.3': {} + '@unocss/reset@66.2.1': {} - '@unocss/rule-utils@66.1.3': + '@unocss/rule-utils@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 magic-string: 0.30.17 - '@unocss/transformer-attributify-jsx@66.1.3': + '@unocss/transformer-attributify-jsx@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 - '@unocss/transformer-compile-class@66.1.3': + '@unocss/transformer-compile-class@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 - '@unocss/transformer-directives@66.1.3': + '@unocss/transformer-directives@66.2.1': dependencies: - '@unocss/core': 66.1.3 - '@unocss/rule-utils': 66.1.3 + '@unocss/core': 66.2.1 + '@unocss/rule-utils': 66.2.1 css-tree: 3.1.0 - '@unocss/transformer-variant-group@66.1.3': + '@unocss/transformer-variant-group@66.2.1': dependencies: - '@unocss/core': 66.1.3 + '@unocss/core': 66.2.1 - '@unocss/vite@66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@unocss/vite@66.2.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.1.3 - '@unocss/core': 66.1.3 - '@unocss/inspector': 66.1.3(vue@3.5.16(typescript@5.8.3)) + '@unocss/config': 66.2.1 + '@unocss/core': 66.2.1 + '@unocss/inspector': 66.2.1(vue@3.5.16(typescript@5.8.3)) chokidar: 3.6.0 magic-string: 0.30.17 pathe: 2.0.3 tinyglobby: 0.2.14 unplugin-utils: 0.2.4 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - vue @@ -11425,31 +11460,31 @@ snapshots: sharp-ico: 0.1.5 unconfig: 7.3.2 - '@vite-pwa/vitepress@1.0.0(@vite-pwa/assets-generator@1.0.0)(vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': + '@vite-pwa/vitepress@1.0.0(@vite-pwa/assets-generator@1.0.0)(vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': dependencies: - vite-plugin-pwa: 0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) + vite-plugin-pwa: 0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) optionalDependencies: '@vite-pwa/assets-generator': 1.0.0 - '@vitejs/plugin-basic-ssl@2.0.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-basic-ssl@2.0.0(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) - '@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-react@4.5.2(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@babel/core': 7.26.10 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) - '@rolldown/pluginutils': 1.0.0-beta.9 + '@babel/core': 7.27.4 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) + '@rolldown/pluginutils': 1.0.0-beta.11 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vue: 3.5.16(typescript@5.8.3) '@vitest/eslint-plugin@1.2.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vitest@packages+vitest)': @@ -11536,13 +11571,13 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-api@7.7.5': + '@vue/devtools-api@7.7.7': dependencies: - '@vue/devtools-kit': 7.7.5 + '@vue/devtools-kit': 7.7.7 - '@vue/devtools-kit@7.7.5': + '@vue/devtools-kit@7.7.7': dependencies: - '@vue/devtools-shared': 7.7.5 + '@vue/devtools-shared': 7.7.7 birpc: 2.3.0 hookable: 5.5.3 mitt: 3.0.1 @@ -11550,7 +11585,7 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.5': + '@vue/devtools-shared@7.7.7': dependencies: rfdc: 1.4.1 @@ -11629,38 +11664,38 @@ snapshots: transitivePeerDependencies: - typescript - '@vueuse/core@13.1.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/core@13.3.0(vue@3.5.16(typescript@5.8.3))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.1.0 - '@vueuse/shared': 13.1.0(vue@3.5.16(typescript@5.8.3)) + '@vueuse/metadata': 13.3.0 + '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) vue: 3.5.16(typescript@5.8.3) - '@vueuse/integrations@10.11.1(axios@0.30.0(debug@4.4.1))(focus-trap@7.6.4)(vue@3.5.16(typescript@5.8.3))': + '@vueuse/integrations@10.11.1(axios@0.30.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.16(typescript@5.8.3))': dependencies: '@vueuse/core': 10.11.1(vue@3.5.16(typescript@5.8.3)) '@vueuse/shared': 10.11.1(vue@3.5.16(typescript@5.8.3)) vue-demi: 0.14.10(vue@3.5.16(typescript@5.8.3)) optionalDependencies: axios: 0.30.0(debug@4.4.1) - focus-trap: 7.6.4 + focus-trap: 7.6.5 transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@13.1.0(focus-trap@7.6.4)(vue@3.5.16(typescript@5.8.3))': + '@vueuse/integrations@13.3.0(focus-trap@7.6.5)(vue@3.5.16(typescript@5.8.3))': dependencies: - '@vueuse/core': 13.1.0(vue@3.5.16(typescript@5.8.3)) - '@vueuse/shared': 13.1.0(vue@3.5.16(typescript@5.8.3)) + '@vueuse/core': 13.3.0(vue@3.5.16(typescript@5.8.3)) + '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) vue: 3.5.16(typescript@5.8.3) optionalDependencies: - focus-trap: 7.6.4 + focus-trap: 7.6.5 '@vueuse/metadata@10.11.1': {} '@vueuse/metadata@12.8.2': {} - '@vueuse/metadata@13.1.0': {} + '@vueuse/metadata@13.3.0': {} '@vueuse/shared@10.11.1(vue@3.5.16(typescript@5.8.3))': dependencies: @@ -11675,7 +11710,7 @@ snapshots: transitivePeerDependencies: - typescript - '@vueuse/shared@13.1.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/shared@13.3.0(vue@3.5.16(typescript@5.8.3))': dependencies: vue: 3.5.16(typescript@5.8.3) @@ -11701,11 +11736,11 @@ snapshots: '@wdio/repl@9.4.4': dependencies: - '@types/node': 20.17.57 + '@types/node': 20.19.1 '@wdio/types@9.15.0': dependencies: - '@types/node': 20.17.57 + '@types/node': 20.19.1 '@wdio/utils@9.15.0': dependencies: @@ -11725,7 +11760,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@yeger/debounce@2.0.12': {} + '@yeger/debounce@2.0.13': {} '@zip.js/zip.js@2.7.57': {} @@ -11983,6 +12018,8 @@ snapshots: birpc@2.3.0: {} + birpc@2.4.0: {} + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -12442,14 +12479,14 @@ snapshots: d3-quadtree: 3.0.1 d3-timer: 3.0.1 - d3-graph-controller@3.1.0: + d3-graph-controller@3.1.1: dependencies: - '@yeger/debounce': 2.0.12 + '@yeger/debounce': 2.0.13 d3-drag: 3.0.0 d3-force: 3.0.0 d3-selection: 3.0.0 d3-zoom: 3.0.0 - vecti: 3.1.0 + vecti: 3.1.1 d3-interpolate@3.0.1: dependencies: @@ -13145,7 +13182,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -13392,7 +13429,7 @@ snapshots: vue: 3.5.16(typescript@5.8.3) vue-resize: 2.0.0-alpha.1(vue@3.5.16(typescript@5.8.3)) - focus-trap@7.6.4: + focus-trap@7.6.5: dependencies: tabbable: 6.2.0 @@ -13644,7 +13681,7 @@ snapshots: happy-dom@18.0.1: dependencies: - '@types/node': 20.17.57 + '@types/node': 20.19.1 '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 @@ -13781,7 +13818,7 @@ snapshots: immediate@3.0.6: {} - immutable@5.1.2: {} + immutable@5.1.3: {} import-fresh@3.3.0: dependencies: @@ -14013,7 +14050,7 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - ivya@1.6.0: {} + ivya@1.7.0: {} jackspeak@3.4.0: dependencies: @@ -14298,6 +14335,8 @@ snapshots: loupe@3.1.3: {} + loupe@3.1.4: {} + lru-cache@10.2.2: {} lru-cache@11.0.2: {} @@ -14769,13 +14808,13 @@ snapshots: ms@2.1.3: {} - msw@2.8.7(@types/node@22.15.29)(typescript@5.8.3): + msw@2.10.2(@types/node@22.15.32)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.0.1(@types/node@22.15.29) - '@mswjs/interceptors': 0.38.7 + '@inquirer/confirm': 5.0.1(@types/node@22.15.32) + '@mswjs/interceptors': 0.39.2 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 @@ -14970,24 +15009,24 @@ snapshots: '@oxc-minify/binding-win32-arm64-msvc': 0.72.2 '@oxc-minify/binding-win32-x64-msvc': 0.72.2 - oxc-parser@0.70.0: + oxc-parser@0.72.3: dependencies: - '@oxc-project/types': 0.70.0 + '@oxc-project/types': 0.72.3 optionalDependencies: - '@oxc-parser/binding-darwin-arm64': 0.70.0 - '@oxc-parser/binding-darwin-x64': 0.70.0 - '@oxc-parser/binding-freebsd-x64': 0.70.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.70.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.70.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.70.0 - '@oxc-parser/binding-linux-arm64-musl': 0.70.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.70.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.70.0 - '@oxc-parser/binding-linux-x64-gnu': 0.70.0 - '@oxc-parser/binding-linux-x64-musl': 0.70.0 - '@oxc-parser/binding-wasm32-wasi': 0.70.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.70.0 - '@oxc-parser/binding-win32-x64-msvc': 0.70.0 + '@oxc-parser/binding-darwin-arm64': 0.72.3 + '@oxc-parser/binding-darwin-x64': 0.72.3 + '@oxc-parser/binding-freebsd-x64': 0.72.3 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.72.3 + '@oxc-parser/binding-linux-arm-musleabihf': 0.72.3 + '@oxc-parser/binding-linux-arm64-gnu': 0.72.3 + '@oxc-parser/binding-linux-arm64-musl': 0.72.3 + '@oxc-parser/binding-linux-riscv64-gnu': 0.72.3 + '@oxc-parser/binding-linux-s390x-gnu': 0.72.3 + '@oxc-parser/binding-linux-x64-gnu': 0.72.3 + '@oxc-parser/binding-linux-x64-musl': 0.72.3 + '@oxc-parser/binding-wasm32-wasi': 0.72.3 + '@oxc-parser/binding-win32-arm64-msvc': 0.72.3 + '@oxc-parser/binding-win32-x64-msvc': 0.72.3 oxc-resolver@11.1.0: optionalDependencies: @@ -15005,23 +15044,6 @@ snapshots: '@oxc-resolver/binding-win32-arm64-msvc': 11.1.0 '@oxc-resolver/binding-win32-x64-msvc': 11.1.0 - oxc-transform@0.70.0: - optionalDependencies: - '@oxc-transform/binding-darwin-arm64': 0.70.0 - '@oxc-transform/binding-darwin-x64': 0.70.0 - '@oxc-transform/binding-freebsd-x64': 0.70.0 - '@oxc-transform/binding-linux-arm-gnueabihf': 0.70.0 - '@oxc-transform/binding-linux-arm-musleabihf': 0.70.0 - '@oxc-transform/binding-linux-arm64-gnu': 0.70.0 - '@oxc-transform/binding-linux-arm64-musl': 0.70.0 - '@oxc-transform/binding-linux-riscv64-gnu': 0.70.0 - '@oxc-transform/binding-linux-s390x-gnu': 0.70.0 - '@oxc-transform/binding-linux-x64-gnu': 0.70.0 - '@oxc-transform/binding-linux-x64-musl': 0.70.0 - '@oxc-transform/binding-wasm32-wasi': 0.70.0 - '@oxc-transform/binding-win32-arm64-msvc': 0.70.0 - '@oxc-transform/binding-win32-x64-msvc': 0.70.0 - oxc-transform@0.72.2: optionalDependencies: '@oxc-transform/binding-darwin-arm64': 0.72.2 @@ -15200,11 +15222,11 @@ snapshots: exsolve: 1.0.5 pathe: 2.0.3 - playwright-core@1.52.0: {} + playwright-core@1.53.0: {} - playwright@1.52.0: + playwright@1.53.0: dependencies: - playwright-core: 1.52.0 + playwright-core: 1.53.0 optionalDependencies: fsevents: 2.3.2 @@ -15504,15 +15526,15 @@ snapshots: globby: 10.0.1 is-plain-object: 3.0.1 - rollup-plugin-dts@6.2.1(rollup@4.41.1)(typescript@5.8.3): + rollup-plugin-dts@6.2.1(rollup@4.43.0)(typescript@5.8.3): dependencies: magic-string: 0.30.17 - rollup: 4.41.1 + rollup: 4.43.0 typescript: 5.8.3 optionalDependencies: '@babel/code-frame': 7.26.2 - rollup-plugin-license@3.6.0(picomatch@4.0.2)(rollup@4.41.1): + rollup-plugin-license@3.6.0(picomatch@4.0.2)(rollup@4.43.0): dependencies: commenting: 1.1.0 fdir: 6.4.4(picomatch@4.0.2) @@ -15520,36 +15542,36 @@ snapshots: magic-string: 0.30.17 moment: 2.30.1 package-name-regex: 2.0.6 - rollup: 4.41.1 + rollup: 4.43.0 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 transitivePeerDependencies: - picomatch - rollup@4.41.1: + rollup@4.43.0: dependencies: '@types/estree': 1.0.7 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.41.1 - '@rollup/rollup-android-arm64': 4.41.1 - '@rollup/rollup-darwin-arm64': 4.41.1 - '@rollup/rollup-darwin-x64': 4.41.1 - '@rollup/rollup-freebsd-arm64': 4.41.1 - '@rollup/rollup-freebsd-x64': 4.41.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.41.1 - '@rollup/rollup-linux-arm-musleabihf': 4.41.1 - '@rollup/rollup-linux-arm64-gnu': 4.41.1 - '@rollup/rollup-linux-arm64-musl': 4.41.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.41.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.41.1 - '@rollup/rollup-linux-riscv64-gnu': 4.41.1 - '@rollup/rollup-linux-riscv64-musl': 4.41.1 - '@rollup/rollup-linux-s390x-gnu': 4.41.1 - '@rollup/rollup-linux-x64-gnu': 4.41.1 - '@rollup/rollup-linux-x64-musl': 4.41.1 - '@rollup/rollup-win32-arm64-msvc': 4.41.1 - '@rollup/rollup-win32-ia32-msvc': 4.41.1 - '@rollup/rollup-win32-x64-msvc': 4.41.1 + '@rollup/rollup-android-arm-eabi': 4.43.0 + '@rollup/rollup-android-arm64': 4.43.0 + '@rollup/rollup-darwin-arm64': 4.43.0 + '@rollup/rollup-darwin-x64': 4.43.0 + '@rollup/rollup-freebsd-arm64': 4.43.0 + '@rollup/rollup-freebsd-x64': 4.43.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.43.0 + '@rollup/rollup-linux-arm-musleabihf': 4.43.0 + '@rollup/rollup-linux-arm64-gnu': 4.43.0 + '@rollup/rollup-linux-arm64-musl': 4.43.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.43.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.43.0 + '@rollup/rollup-linux-riscv64-gnu': 4.43.0 + '@rollup/rollup-linux-riscv64-musl': 4.43.0 + '@rollup/rollup-linux-s390x-gnu': 4.43.0 + '@rollup/rollup-linux-x64-gnu': 4.43.0 + '@rollup/rollup-linux-x64-musl': 4.43.0 + '@rollup/rollup-win32-arm64-msvc': 4.43.0 + '@rollup/rollup-win32-ia32-msvc': 4.43.0 + '@rollup/rollup-win32-x64-msvc': 4.43.0 fsevents: 2.3.3 rrweb-cssom@0.8.0: {} @@ -15646,7 +15668,7 @@ snapshots: '@bufbuild/protobuf': 2.5.2 buffer-builder: 0.2.0 colorjs.io: 0.5.2 - immutable: 5.1.2 + immutable: 5.1.3 rxjs: 7.8.1 supports-color: 8.1.1 sync-child-process: 1.0.2 @@ -15788,14 +15810,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.4.2: + shiki@3.6.0: dependencies: - '@shikijs/core': 3.4.2 - '@shikijs/engine-javascript': 3.4.2 - '@shikijs/engine-oniguruma': 3.4.2 - '@shikijs/langs': 3.4.2 - '@shikijs/themes': 3.4.2 - '@shikijs/types': 3.4.2 + '@shikijs/core': 3.6.0 + '@shikijs/engine-javascript': 3.6.0 + '@shikijs/engine-oniguruma': 3.6.0 + '@shikijs/langs': 3.6.0 + '@shikijs/themes': 3.6.0 + '@shikijs/types': 3.6.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -16272,7 +16294,7 @@ snapshots: tslib@2.8.1: {} - tsx@4.19.4: + tsx@4.20.3: dependencies: esbuild: 0.25.5 get-tsconfig: 4.10.0 @@ -16373,8 +16395,6 @@ snapshots: jiti: 2.4.2 quansync: 0.2.10 - undici-types@6.19.8: {} - undici-types@6.21.0: {} undici@6.21.1: {} @@ -16392,9 +16412,9 @@ snapshots: unicorn-magic@0.3.0: {} - unimport@3.14.5(rollup@4.41.1): + unimport@3.14.5(rollup@4.43.0): dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4) escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -16444,29 +16464,29 @@ snapshots: universalify@2.0.1: {} - unocss@66.1.3(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): - dependencies: - '@unocss/astro': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) - '@unocss/cli': 66.1.3 - '@unocss/core': 66.1.3 - '@unocss/postcss': 66.1.3(postcss@8.5.3) - '@unocss/preset-attributify': 66.1.3 - '@unocss/preset-icons': 66.1.3 - '@unocss/preset-mini': 66.1.3 - '@unocss/preset-tagify': 66.1.3 - '@unocss/preset-typography': 66.1.3 - '@unocss/preset-uno': 66.1.3 - '@unocss/preset-web-fonts': 66.1.3 - '@unocss/preset-wind': 66.1.3 - '@unocss/preset-wind3': 66.1.3 - '@unocss/preset-wind4': 66.1.3 - '@unocss/transformer-attributify-jsx': 66.1.3 - '@unocss/transformer-compile-class': 66.1.3 - '@unocss/transformer-directives': 66.1.3 - '@unocss/transformer-variant-group': 66.1.3 - '@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + unocss@66.2.1(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): + dependencies: + '@unocss/astro': 66.2.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@unocss/cli': 66.2.1 + '@unocss/core': 66.2.1 + '@unocss/postcss': 66.2.1(postcss@8.5.3) + '@unocss/preset-attributify': 66.2.1 + '@unocss/preset-icons': 66.2.1 + '@unocss/preset-mini': 66.2.1 + '@unocss/preset-tagify': 66.2.1 + '@unocss/preset-typography': 66.2.1 + '@unocss/preset-uno': 66.2.1 + '@unocss/preset-web-fonts': 66.2.1 + '@unocss/preset-wind': 66.2.1 + '@unocss/preset-wind3': 66.2.1 + '@unocss/preset-wind4': 66.2.1 + '@unocss/transformer-attributify-jsx': 66.2.1 + '@unocss/transformer-compile-class': 66.2.1 + '@unocss/transformer-directives': 66.2.1 + '@unocss/transformer-variant-group': 66.2.1 + '@unocss/vite': 66.2.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) optionalDependencies: - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - postcss - supports-color @@ -16474,26 +16494,26 @@ snapshots: unpipe@1.0.0: {} - unplugin-auto-import@0.19.0(@vueuse/core@12.8.2(typescript@5.8.3))(rollup@4.41.1): + unplugin-auto-import@0.19.0(@vueuse/core@12.8.2(typescript@5.8.3))(rollup@4.43.0): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) local-pkg: 0.5.1 magic-string: 0.30.17 picomatch: 4.0.2 - unimport: 3.14.5(rollup@4.41.1) + unimport: 3.14.5(rollup@4.43.0) unplugin: 2.3.5 optionalDependencies: '@vueuse/core': 12.8.2(typescript@5.8.3) transitivePeerDependencies: - rollup - unplugin-isolated-decl@0.14.2(typescript@5.8.3): + unplugin-isolated-decl@0.14.3(typescript@5.8.3): dependencies: debug: 4.4.1 magic-string: 0.30.17 - oxc-parser: 0.70.0 - oxc-transform: 0.70.0 + oxc-parser: 0.72.3 + oxc-transform: 0.72.2 unplugin: 2.3.5 unplugin-utils: 0.2.4 optionalDependencies: @@ -16509,9 +16529,9 @@ snapshots: unplugin: 2.3.5 unplugin-utils: 0.2.4 - unplugin-swc@1.5.4(@swc/core@1.4.1)(rollup@4.41.1): + unplugin-swc@1.5.4(@swc/core@1.4.1)(rollup@4.43.0): dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) '@swc/core': 1.4.1 load-tsconfig: 0.2.5 unplugin: 2.3.5 @@ -16523,10 +16543,10 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.2 - unplugin-vue-components@0.28.0(@babel/parser@7.27.2)(rollup@4.41.1)(vue@3.5.16(typescript@5.8.3)): + unplugin-vue-components@0.28.0(@babel/parser@7.27.5)(rollup@4.43.0)(vue@3.5.16(typescript@5.8.3)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.43.0) chokidar: 3.6.0 debug: 4.4.1 fast-glob: 3.3.3 @@ -16537,7 +16557,7 @@ snapshots: unplugin: 2.3.5 vue: 3.5.16(typescript@5.8.3) optionalDependencies: - '@babel/parser': 7.27.2 + '@babel/parser': 7.27.5 transitivePeerDependencies: - rollup - supports-color @@ -16619,7 +16639,7 @@ snapshots: vary@1.1.2: {} - vecti@3.1.0: {} + vecti@3.1.1: {} vfile-message@4.0.2: dependencies: @@ -16632,7 +16652,7 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-plugin-pages@0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))): + vite-plugin-pages@0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))): dependencies: '@types/debug': 4.1.12 debug: 4.4.1 @@ -16643,7 +16663,7 @@ snapshots: micromatch: 4.0.8 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) yaml: 2.8.0 optionalDependencies: '@vue/compiler-sfc': 3.5.16 @@ -16651,12 +16671,12 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0): + vite-plugin-pwa@0.21.2(@vite-pwa/assets-generator@1.0.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0): dependencies: debug: 4.4.1 pretty-bytes: 6.1.1 tinyglobby: 0.2.14 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) workbox-build: 7.1.0(@types/babel__core@7.20.5) workbox-window: 7.3.0 optionalDependencies: @@ -16664,75 +16684,75 @@ snapshots: transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@20.19.1)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.3 - rollup: 4.41.1 + rollup: 4.43.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 20.17.57 + '@types/node': 20.19.1 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 sass-embedded: 1.89.2 terser: 5.36.0 - tsx: 4.19.4 + tsx: 4.20.3 yaml: 2.8.0 - vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.3 - rollup: 4.41.1 + rollup: 4.43.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.32 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 sass-embedded: 1.89.2 terser: 5.36.0 - tsx: 4.19.4 + tsx: 4.20.3 yaml: 2.8.0 - vitepress-plugin-group-icons@1.5.5(markdown-it@14.1.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0)): + vitepress-plugin-group-icons@1.6.0(markdown-it@14.1.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@iconify-json/logos': 1.2.4 '@iconify-json/vscode-icons': 1.2.19 '@iconify/utils': 2.3.0 markdown-it: 14.1.0 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - vitepress-plugin-tabs@0.7.1(vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): + vitepress-plugin-tabs@0.7.1(vitepress@2.0.0-alpha.6(@algolia/client-search@5.20.0)(@types/node@22.15.32)(@types/react@19.1.8)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): dependencies: - vitepress: 2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) + vitepress: 2.0.0-alpha.6(@algolia/client-search@5.20.0)(@types/node@22.15.32)(@types/react@19.1.8)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) vue: 3.5.16(typescript@5.8.3) - vitepress@2.0.0-alpha.5(@algolia/client-search@5.20.0)(@types/node@22.15.29)(@types/react@19.1.6)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0): + vitepress@2.0.0-alpha.6(@algolia/client-search@5.20.0)(@types/node@22.15.32)(@types/react@19.1.8)(jiti@2.4.2)(lightningcss@1.30.1)(postcss@8.5.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass-embedded@1.89.2)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0): dependencies: '@docsearch/css': 3.9.0 - '@docsearch/js': 3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0) - '@iconify-json/simple-icons': 1.2.33 - '@shikijs/core': 3.4.2 - '@shikijs/transformers': 3.4.2 - '@shikijs/types': 3.4.2 - '@vitejs/plugin-vue': 5.2.4(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) - '@vue/devtools-api': 7.7.5 + '@docsearch/js': 3.9.0(@algolia/client-search@5.20.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.9.0) + '@iconify-json/simple-icons': 1.2.38 + '@shikijs/core': 3.6.0 + '@shikijs/transformers': 3.6.0 + '@shikijs/types': 3.6.0 + '@vitejs/plugin-vue': 5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + '@vue/devtools-api': 7.7.7 '@vue/shared': 3.5.16 - '@vueuse/core': 13.1.0(vue@3.5.16(typescript@5.8.3)) - '@vueuse/integrations': 13.1.0(focus-trap@7.6.4)(vue@3.5.16(typescript@5.8.3)) - focus-trap: 7.6.4 + '@vueuse/core': 13.3.0(vue@3.5.16(typescript@5.8.3)) + '@vueuse/integrations': 13.3.0(focus-trap@7.6.5)(vue@3.5.16(typescript@5.8.3)) + focus-trap: 7.6.5 mark.js: 8.11.1 minisearch: 7.1.2 - shiki: 3.4.2 - vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.19.4)(yaml@2.8.0) + shiki: 3.6.0 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(sass-embedded@1.89.2)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) vue: 3.5.16(typescript@5.8.3) optionalDependencies: postcss: 8.5.3 @@ -16766,14 +16786,14 @@ snapshots: - universal-cookie - yaml - vitest-browser-react@0.2.0(@types/react-dom@18.2.14)(@types/react@19.1.6)(@vitest/browser@packages+browser)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(vitest@packages+vitest): + vitest-browser-react@0.3.0(@types/react-dom@18.2.14)(@types/react@19.1.8)(@vitest/browser@packages+browser)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(vitest@packages+vitest): dependencies: '@vitest/browser': link:packages/browser react: 19.1.0 react-dom: 19.1.0(react@19.1.0) vitest: link:packages/vitest optionalDependencies: - '@types/react': 19.1.6 + '@types/react': 19.1.8 '@types/react-dom': 18.2.14 vitest-environment-custom@file:test/core/vitest-environment-custom: {} @@ -16876,7 +16896,7 @@ snapshots: webdriver@9.15.0: dependencies: - '@types/node': 20.17.57 + '@types/node': 20.19.1 '@types/ws': 8.18.1 '@wdio/config': 9.15.0 '@wdio/logger': 9.15.0 @@ -16893,7 +16913,7 @@ snapshots: webdriverio@9.15.0: dependencies: - '@types/node': 20.17.57 + '@types/node': 20.19.1 '@types/sinonjs__fake-timers': 8.1.5(patch_hash=0218b33f433e26861380c2b90c757bde6fea871cb988083c0bd4a9a1f6c00252) '@wdio/config': 9.15.0 '@wdio/logger': 9.15.0 @@ -16999,10 +17019,10 @@ snapshots: '@babel/core': 7.26.10 '@babel/preset-env': 7.26.0(@babel/core@7.26.10) '@babel/runtime': 7.26.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.26.10)(@types/babel__core@7.20.5)(rollup@4.41.1) - '@rollup/plugin-node-resolve': 15.3.1(rollup@4.41.1) - '@rollup/plugin-replace': 2.4.2(rollup@4.41.1) - '@rollup/plugin-terser': 0.4.4(rollup@4.41.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.26.10)(@types/babel__core@7.20.5)(rollup@4.43.0) + '@rollup/plugin-node-resolve': 15.3.1(rollup@4.43.0) + '@rollup/plugin-replace': 2.4.2(rollup@4.43.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.43.0) '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.17.1 common-tags: 1.8.2 @@ -17011,7 +17031,7 @@ snapshots: glob: 7.2.3 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 4.41.1 + rollup: 4.43.0 source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -17178,13 +17198,13 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.1.0 - zustand@4.5.7(@types/react@19.1.6)(react@19.1.0): + zustand@4.5.7(@types/react@19.1.8)(react@19.1.0): dependencies: use-sync-external-store: 1.4.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.6 + '@types/react': 19.1.8 react: 19.1.0 zwitch@2.0.4: {} - zx@8.5.4: {} + zx@8.5.5: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9293f6bb2150..5eafed1e7c96 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,23 +6,23 @@ packages: - test/config/fixtures/conditions-pkg catalog: '@ampproject/remapping': ^2.3.0 - '@iconify-json/carbon': ^1.2.8 + '@iconify-json/carbon': ^1.2.9 '@iconify-json/logos': ^1.2.4 '@jridgewell/trace-mapping': ^0.3.25 '@types/chai': ^5.2.2 '@types/debug': ^4.1.12 - '@types/estree': ^1.0.7 + '@types/estree': ^1.0.8 '@types/istanbul-lib-coverage': ^2.0.6 '@types/istanbul-lib-report': ^3.0.3 '@types/istanbul-lib-source-maps': ^4.0.4 '@types/istanbul-reports': ^3.0.4 '@types/test-exclude': ^6.0.2 '@types/ws': ^8.18.1 - '@unocss/reset': ^66.1.3 + '@unocss/reset': ^66.2.1 '@vitejs/plugin-vue': ^5.2.4 '@vueuse/core': ^12.8.2 acorn-walk: ^8.3.4 - birpc: 2.3.0 + birpc: 2.4.0 cac: ^6.7.14 chai: ^5.2.0 debug: ^4.4.1 @@ -33,7 +33,7 @@ catalog: istanbul-reports: ^3.1.7 magic-string: ^0.30.17 magicast: ^0.3.5 - msw: ^2.8.7 + msw: ^2.10.2 pathe: ^2.0.3 sirv: ^3.0.1 std-env: ^3.9.0 @@ -41,7 +41,7 @@ catalog: test-exclude: ^7.0.1 tinyglobby: ^0.2.14 tinyrainbow: ^2.0.0 - unocss: ^66.1.3 + unocss: ^66.2.1 unplugin-vue-components: ^0.28.0 vue: ^3.5.16 ws: ^8.18.2 diff --git a/test/browser/package.json b/test/browser/package.json index 8b3e893c2a1a..351b6fa77ed8 100644 --- a/test/browser/package.json +++ b/test/browser/package.json @@ -28,18 +28,18 @@ }, "devDependencies": { "@testing-library/react": "^13.4.0", - "@types/react": "^19.1.6", + "@types/react": "^19.1.8", "@vitejs/plugin-basic-ssl": "^2.0.0", "@vitest/browser": "workspace:*", "@vitest/bundled-lib": "link:./bundled-lib", "@vitest/cjs-lib": "link:./cjs-lib", "@vitest/injected-lib": "link:./injected-lib", - "playwright": "^1.52.0", + "playwright": "^1.53.0", "react": "^19.1.0", "react-dom": "^19.1.0", "url": "^0.11.4", "vitest": "workspace:*", - "vitest-browser-react": "^0.2.0", + "vitest-browser-react": "^0.3.0", "ws": "catalog:" } } diff --git a/test/core/package.json b/test/core/package.json index 355c955bae17..eac27c0f2d04 100644 --- a/test/core/package.json +++ b/test/core/package.json @@ -25,7 +25,7 @@ "@vueuse/integrations": "^10.11.1", "axios": "^0.30.0", "debug": "^4.4.1", - "immutable": "5.1.2", + "immutable": "5.1.3", "memfs": "^4.17.2", "react": "^19.1.0", "react-18": "npm:react@18.3.1", diff --git a/test/public-mocker/package.json b/test/public-mocker/package.json index d594b1ce82ab..9efa04a5d9c0 100644 --- a/test/public-mocker/package.json +++ b/test/public-mocker/package.json @@ -9,7 +9,7 @@ "devDependencies": { "@vitest/browser": "workspace:*", "@vitest/mocker": "workspace:*", - "playwright": "^1.52.0", + "playwright": "^1.53.0", "vitest": "workspace:*" } } From de707276c8180fda86051b480cc9b02bb80b7994 Mon Sep 17 00:00:00 2001 From: leopardracer <136604165+leopardracer@users.noreply.github.com> Date: Tue, 17 Jun 2025 19:40:29 +0300 Subject: [PATCH 21/26] docs: fix typos in documentation: "replaying" and "infering" (#8176) Co-authored-by: Vladimir --- docs/guide/migration.md | 2 +- docs/guide/test-context.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index c7f3235fecb3..21b695a9f10d 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -56,7 +56,7 @@ With the new `browser.instances` field you can also specify multiple browser con ### `spy.mockReset` Now Restores the Original Implementation -There was no good way to reset the spy to the original implementation without reaplying the spy. Now, `spy.mockReset` will reset the implementation function to the original one instead of a fake noop. +There was no good way to reset the spy to the original implementation without reapplying the spy. Now, `spy.mockReset` will reset the implementation function to the original one instead of a fake noop. ```ts const foo = { diff --git a/docs/guide/test-context.md b/docs/guide/test-context.md index 310e7d3892db..fe598dec809e 100644 --- a/docs/guide/test-context.md +++ b/docs/guide/test-context.md @@ -434,7 +434,7 @@ test('types are defined correctly', ({ todos, archive }) => { }) ``` -::: info Type Infering +::: info Type Inferring Note that Vitest doesn't support infering the types when the `use` function is called. It is always preferable to pass down the whole context type as the generic type when `test.extend` is called: ```ts From 8abd7cc6fff5fa47d899b5f5383f526d2fdef784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 17 Jun 2025 19:41:09 +0300 Subject: [PATCH 22/26] chore(deps): update `tinypool` (#8174) --- packages/vitest/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/vitest/package.json b/packages/vitest/package.json index 86c4c1552832..4e91f3c824d9 100644 --- a/packages/vitest/package.json +++ b/packages/vitest/package.json @@ -168,7 +168,7 @@ "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "catalog:", - "tinypool": "^1.1.0", + "tinypool": "^1.1.1", "tinyrainbow": "catalog:", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", "vite-node": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be3541934c82..8732281762b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1013,8 +1013,8 @@ importers: specifier: 'catalog:' version: 0.2.14 tinypool: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.1 + version: 1.1.1 tinyrainbow: specifier: 'catalog:' version: 2.0.0 @@ -8110,8 +8110,8 @@ packages: picocolors: optional: true - tinypool@1.1.0: - resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: @@ -16231,7 +16231,7 @@ snapshots: optionalDependencies: picocolors: 1.1.1 - tinypool@1.1.0: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} From 8a18c8e20a19f2c8d9f402e426886999f378c389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 17 Jun 2025 19:41:37 +0300 Subject: [PATCH 23/26] fix(cli): throw error when `--shard x/` exceeds count of test files (#8112) --- packages/vitest/src/node/pool.ts | 7 +++++++ test/config/test/failures.test.ts | 12 ++++++++++++ test/coverage-test/test/shard.test.ts | 8 ++++---- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/vitest/src/node/pool.ts b/packages/vitest/src/node/pool.ts index 7244b99a2fb1..4056103079d5 100644 --- a/packages/vitest/src/node/pool.ts +++ b/packages/vitest/src/node/pool.ts @@ -224,6 +224,13 @@ export function createPool(ctx: Vitest): ProcessPool { async function sortSpecs(specs: TestSpecification[]) { if (ctx.config.shard) { + if (!ctx.config.passWithNoTests && ctx.config.shard.count > specs.length) { + throw new Error( + '--shard must be a smaller than count of test files. ' + + `Resolved ${specs.length} test files for --shard=${ctx.config.shard.index}/${ctx.config.shard.count}.`, + ) + } + specs = await sequencer.shard(specs) } return sequencer.sort(specs) diff --git a/test/config/test/failures.test.ts b/test/config/test/failures.test.ts index e14656edb94c..0b37e02162fe 100644 --- a/test/config/test/failures.test.ts +++ b/test/config/test/failures.test.ts @@ -51,6 +51,18 @@ test('shard index must be smaller than count', async () => { expect(stderr).toMatch('Error: --shard must be a positive number less then ') }) +test('shard count must be smaller than count of test files', async () => { + const { stderr } = await runVitest({ root: './fixtures/shard', shard: '1/4', include: ['**/*.test.js'] }) + + expect(stderr).toMatch('Error: --shard must be a smaller than count of test files. Resolved 3 test files for --shard=1/4.') +}) + +test('shard count can be smaller than count of test files when passWithNoTests', async () => { + const { stderr } = await runVitest({ root: './fixtures/shard', shard: '1/4', passWithNoTests: true, include: ['**/*.test.js'] }) + + expect(stderr).toMatch('') +}) + test('inspect requires changing pool and singleThread/singleFork', async () => { const { stderr } = await runVitest({ inspect: true }) diff --git a/test/coverage-test/test/shard.test.ts b/test/coverage-test/test/shard.test.ts index 523e57ef0cc3..cb7cba717b0a 100644 --- a/test/coverage-test/test/shard.test.ts +++ b/test/coverage-test/test/shard.test.ts @@ -2,16 +2,16 @@ import { readdirSync } from 'node:fs' import { expect } from 'vitest' import { coverageTest, normalizeURL, runVitest, test } from '../utils' -test('{ shard: 1/4 }', async () => { +test('{ shard: 1/3 }', async () => { await runVitest({ - include: [normalizeURL(import.meta.url)], - shard: '1/4', + include: [normalizeURL(import.meta.url), 'fixtures/test/math.test.ts', 'fixtures/test/even.test.ts'], + shard: '1/3', }) }) coverageTest('temporary directory is postfixed with --shard value', () => { const files = readdirSync('./coverage') - expect(files).toContain('.tmp-1-4') + expect(files).toContain('.tmp-1-3') expect(files).not.toContain('.tmp') }) From 5600772c2200703a98cc9dc243c610384f07e42a Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 17 Jun 2025 19:03:24 +0200 Subject: [PATCH 24/26] fix(browser): show a helpful error when spying on an export (#8178) --- docs/guide/browser/index.md | 42 +++++++++++++++++++++++++++++++ eslint.config.js | 1 + packages/spy/src/index.ts | 30 ++++++++++++++++++---- test/browser/specs/runner.test.ts | 10 +++++--- test/browser/test/mocking.test.ts | 18 +++++++++++++ 5 files changed, 92 insertions(+), 9 deletions(-) create mode 100644 test/browser/test/mocking.test.ts diff --git a/docs/guide/browser/index.md b/docs/guide/browser/index.md index 4152d7c4be28..6effa68b8a07 100644 --- a/docs/guide/browser/index.md +++ b/docs/guide/browser/index.md @@ -584,3 +584,45 @@ test('renders a message', async () => { When using Vitest Browser, it's important to note that thread blocking dialogs like `alert` or `confirm` cannot be used natively. This is because they block the web page, which means Vitest cannot continue communicating with the page, causing the execution to hang. In such situations, Vitest provides default mocks with default returned values for these APIs. This ensures that if the user accidentally uses synchronous popup web APIs, the execution would not hang. However, it's still recommended for the user to mock these web APIs for better experience. Read more in [Mocking](/guide/mocking). + +### Spying on Module Exports + +Browser Mode uses the browser's native ESM support to serve modules. The module namespace object is sealed and can't be reconfigured, unlike in Node.js tests where Vitest can patch the Module Runner. This means you can't call `vi.spyOn` on an imported object: + +```ts +import { vi } from 'vitest' +import * as module from './module.js' + +vi.spyOn(module, 'method') // ❌ throws an error +``` + +To bypass this limitation, Vitest supports `{ spy: true }` option in `vi.mock('./module.js')`. This will automatically spy on every export in the module without replacing them with fake ones. + +```ts +import { vi } from 'vitest' +import * as module from './module.js' + +vi.mock('./module.js', { spy: true }) + +vi.mocked(module.method).mockImplementation(() => { + // ... +}) +``` + +However, the only way to mock exported _variables_ is to export a method that will change the internal value: + +::: code-group +```js [module.js] +export let MODE = 'test' +export function changeMode(newMode) { + MODE = newMode +} +``` +```js [module.test.ts] +import { expect } from 'vitest' +import { changeMode, MODE } from './module.js' + +changeMode('production') +expect(MODE).toBe('production') +``` +::: diff --git a/eslint.config.js b/eslint.config.js index ab0243ed4a6e..459c82188fd0 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -113,6 +113,7 @@ export default antfu( 'unused-imports/no-unused-imports': 'off', 'ts/method-signature-style': 'off', 'no-self-compare': 'off', + 'import/no-mutable-exports': 'off', }, }, { diff --git a/packages/spy/src/index.ts b/packages/spy/src/index.ts index 6c6aa717bfc0..ffb251f99b6b 100644 --- a/packages/spy/src/index.ts +++ b/packages/spy/src/index.ts @@ -467,14 +467,34 @@ export function spyOn( state = fn.mock._state() } - const stub = tinyspy.internalSpyOn(obj, objMethod as any) - const spy = enhanceSpy(stub) as MockInstance + try { + const stub = tinyspy.internalSpyOn(obj, objMethod as any) - if (state) { - spy.mock._state(state) + const spy = enhanceSpy(stub) as MockInstance + + if (state) { + spy.mock._state(state) + } + + return spy } + catch (error) { + if ( + error instanceof TypeError + && Symbol.toStringTag + && (obj as any)[Symbol.toStringTag] === 'Module' + && (error.message.includes('Cannot redefine property') + || error.message.includes('Cannot replace module namespace') + || error.message.includes('can\'t redefine non-configurable property')) + ) { + throw new TypeError( + `Cannot spy on export "${String(objMethod)}". Module namespace is not configurable in ESM. See: https://vitest.dev/guide/browser/#limitations`, + { cause: error }, + ) + } - return spy + throw error + } } let callOrder = 0 diff --git a/test/browser/specs/runner.test.ts b/test/browser/specs/runner.test.ts index 8e2437280108..56cf54fcd7c2 100644 --- a/test/browser/specs/runner.test.ts +++ b/test/browser/specs/runner.test.ts @@ -1,5 +1,6 @@ import type { Vitest } from 'vitest/node' import type { JsonTestResults } from 'vitest/reporters' +import { readdirSync } from 'node:fs' import { readFile } from 'node:fs/promises' import { beforeAll, describe, expect, onTestFailed, test } from 'vitest' import { rolldownVersion } from 'vitest/node' @@ -68,10 +69,11 @@ describe('running browser tests', async () => { expect(vitest.projects.map(p => p.browser?.vite.config.optimizeDeps.entries)) .toEqual(vitest.projects.map(() => expect.arrayContaining(testFiles))) - // This should match the number of actual tests from browser.json - // if you added new tests, these assertion will fail and you should - // update the numbers - expect(browserResultJson.testResults).toHaveLength(16 * instances.length) + const testFilesCount = readdirSync('./test') + .filter(n => n.includes('.test.')) + .length + 1 // 1 is in-source-test + + expect(browserResultJson.testResults).toHaveLength(testFilesCount * instances.length) expect(passedTests).toHaveLength(browserResultJson.testResults.length) expect(failedTests).toHaveLength(0) }) diff --git a/test/browser/test/mocking.test.ts b/test/browser/test/mocking.test.ts new file mode 100644 index 000000000000..3118317cc55b --- /dev/null +++ b/test/browser/test/mocking.test.ts @@ -0,0 +1,18 @@ +import { expect, it, vi } from 'vitest' +import * as module from '../src/calculator' + +it('spying on an esm module prints an error', () => { + const error: Error = (() => { + try { + vi.spyOn(module, 'calculator') + expect.unreachable() + } + catch (err) { + return err + } + })() + expect(error.name).toBe('TypeError') + expect(error.message).toMatchInlineSnapshot(`"Cannot spy on export "calculator". Module namespace is not configurable in ESM. See: https://vitest.dev/guide/browser/#limitations"`) + + expect(error.cause).toBeInstanceOf(TypeError) +}) From a92812b709bcc9ee641c0102b7a456525fcb4df1 Mon Sep 17 00:00:00 2001 From: Pengoose Date: Wed, 18 Jun 2025 02:04:12 +0900 Subject: [PATCH 25/26] fix(runner): preserve handler wrapping on extend (#8153) --- packages/runner/src/suite.ts | 12 +++++------ test/core/test/task-collector.test.ts | 30 +++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/packages/runner/src/suite.ts b/packages/runner/src/suite.ts index 1a8f6a0d4b04..cf473eec3a98 100644 --- a/packages/runner/src/suite.ts +++ b/packages/runner/src/suite.ts @@ -770,7 +770,8 @@ export function createTaskCollector( runner, ) - return createTest(function fn( + const originalWrapper = fn + return createTest(function ( name: string | Function, optionsOrFn?: TestOptions | TestFunction, optionsOrTest?: number | TestOptions | TestFunction, @@ -784,12 +785,9 @@ export function createTaskCollector( scopedFixtures, ) } - collector.test.fn.call( - context, - formatName(name), - optionsOrFn as TestOptions, - optionsOrTest as TestFunction, - ) + const { handler, options } = parseArguments(optionsOrFn, optionsOrTest) + const timeout = options.timeout ?? runner?.config.testTimeout + originalWrapper.call(context, formatName(name), handler, timeout) }, _context) } diff --git a/test/core/test/task-collector.test.ts b/test/core/test/task-collector.test.ts index f37009f40c07..3b990ed8e8ca 100644 --- a/test/core/test/task-collector.test.ts +++ b/test/core/test/task-collector.test.ts @@ -1,5 +1,5 @@ -import { expect, test, vi } from 'vitest' -import { createTaskCollector } from 'vitest/suite' +import { assert, describe, expect, test, vi } from 'vitest' +import { createTaskCollector, getCurrentSuite } from 'vitest/suite' test('collector keeps the order of arguments', () => { const fn = vi.fn() @@ -23,3 +23,29 @@ test('collector keeps the order of arguments', () => { expect(fn).toHaveBeenNthCalledWith(4, 'a', options, expect.any(Function)) }) + +describe('collector.extend should preserve handler wrapping', () => { + let flag = false + + const flagTest = createTaskCollector(function ( + this: object, + name: string, + fn: () => void, + ) { + const handler = async () => { + flag = false + await fn() + assert(flag) + } + getCurrentSuite().task(name, { ...this, handler }) + }) + + const extendedTest = flagTest.extend({}) + + extendedTest.fails('should fail when flag is never set', {}, () => {}) + + flagTest('should pass when flag is set', () => { + flag = true + expect(flag).toBe(true) + }) +}) From c666d149a4516761bae92ca56ce1336d2fd352c3 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Tue, 17 Jun 2025 19:52:48 +0200 Subject: [PATCH 26/26] chore: release v3.2.4 --- 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/runner/package.json | 2 +- packages/snapshot/package.json | 2 +- packages/spy/package.json | 2 +- packages/ui/package.json | 2 +- packages/utils/package.json | 2 +- packages/vite-node/package.json | 2 +- packages/vitest/package.json | 2 +- packages/web-worker/package.json | 2 +- packages/ws-client/package.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index b9ff289ec731..c7866cfd1aaf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/monorepo", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "private": true, "packageManager": "pnpm@10.12.1", "description": "Next generation testing framework powered by Vite", diff --git a/packages/browser/package.json b/packages/browser/package.json index 7fc568a90d15..ab89144a9583 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/browser", "type": "module", - "version": "3.2.3", + "version": "3.2.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 90c2acefc0bc..e1b349575380 100644 --- a/packages/coverage-istanbul/package.json +++ b/packages/coverage-istanbul/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/coverage-istanbul", "type": "module", - "version": "3.2.3", + "version": "3.2.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 fe8e3f828ce3..05589faa8322 100644 --- a/packages/coverage-v8/package.json +++ b/packages/coverage-v8/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/coverage-v8", "type": "module", - "version": "3.2.3", + "version": "3.2.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 fbda22d2221a..ae9cf1b5036f 100644 --- a/packages/expect/package.json +++ b/packages/expect/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/expect", "type": "module", - "version": "3.2.3", + "version": "3.2.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 66cd2a05eb66..832ff4c5ab5f 100644 --- a/packages/mocker/package.json +++ b/packages/mocker/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/mocker", "type": "module", - "version": "3.2.3", + "version": "3.2.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 c8775051c10a..86e233cadb2d 100644 --- a/packages/pretty-format/package.json +++ b/packages/pretty-format/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/pretty-format", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "description": "Fork of pretty-format with support for ESM", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/runner/package.json b/packages/runner/package.json index 28cac6e51df1..1a38cd5ceb0e 100644 --- a/packages/runner/package.json +++ b/packages/runner/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/runner", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "description": "Vitest test runner", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/snapshot/package.json b/packages/snapshot/package.json index 783df5253722..c7505787470a 100644 --- a/packages/snapshot/package.json +++ b/packages/snapshot/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/snapshot", "type": "module", - "version": "3.2.3", + "version": "3.2.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 0f9e2550917f..6b3b5024a9c0 100644 --- a/packages/spy/package.json +++ b/packages/spy/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/spy", "type": "module", - "version": "3.2.3", + "version": "3.2.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 c08e4f7c1d81..2cd103bc9ab0 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/ui", "type": "module", - "version": "3.2.3", + "version": "3.2.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 0584dfecd133..8da0fdb5a073 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/utils", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "description": "Shared Vitest utility functions", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/vite-node/package.json b/packages/vite-node/package.json index 965d99be957c..25eb6eedad72 100644 --- a/packages/vite-node/package.json +++ b/packages/vite-node/package.json @@ -1,7 +1,7 @@ { "name": "vite-node", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "description": "Vite as Node.js runtime", "author": "Anthony Fu ", "license": "MIT", diff --git a/packages/vitest/package.json b/packages/vitest/package.json index 4e91f3c824d9..3b9e44b17f0a 100644 --- a/packages/vitest/package.json +++ b/packages/vitest/package.json @@ -1,7 +1,7 @@ { "name": "vitest", "type": "module", - "version": "3.2.3", + "version": "3.2.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 d324171ea435..f0696cd7f31b 100644 --- a/packages/web-worker/package.json +++ b/packages/web-worker/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/web-worker", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "description": "Web Worker support for testing in Vitest", "license": "MIT", "funding": "https://opencollective.com/vitest", diff --git a/packages/ws-client/package.json b/packages/ws-client/package.json index e6825e215296..9055c39f68a5 100644 --- a/packages/ws-client/package.json +++ b/packages/ws-client/package.json @@ -1,7 +1,7 @@ { "name": "@vitest/ws-client", "type": "module", - "version": "3.2.3", + "version": "3.2.4", "description": "WebSocket client wrapper for communicating with Vitest", "author": "Anthony Fu ", "license": "MIT",