diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 840ca6bf1bf7..7322937bdd0b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -70,7 +70,7 @@ jobs:
- name: Get changed files
id: changed-files
- uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
+ uses: tj-actions/changed-files@7dee1b0c1557f278e5c7dc244927139d78c0e22a # v47.0.4
with:
files: |
docs/**
diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml
index 292cdfb20f7f..cb2f11853766 100644
--- a/.github/workflows/issue-close-require.yml
+++ b/.github/workflows/issue-close-require.yml
@@ -11,7 +11,7 @@ jobs:
issues: write # for actions-cool/issues-helper to update issues
steps:
- name: needs reproduction
- uses: actions-cool/issues-helper@e2ff99831a4f13625d35064e2b3dfe65c07a0396 # v3.7.5
+ uses: actions-cool/issues-helper@71b62d7da76e59ff7b193904feb6e77d4dbb2777 # v3.7.6
with:
actions: close-issues
token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/issue-labeled.yml b/.github/workflows/issue-labeled.yml
index 86f90125d60f..b2ab19ce5af1 100644
--- a/.github/workflows/issue-labeled.yml
+++ b/.github/workflows/issue-labeled.yml
@@ -12,7 +12,7 @@ jobs:
steps:
- name: needs reproduction
if: github.event.label.name == 'needs reproduction'
- uses: actions-cool/issues-helper@e2ff99831a4f13625d35064e2b3dfe65c07a0396 # v3.7.5
+ uses: actions-cool/issues-helper@71b62d7da76e59ff7b193904feb6e77d4dbb2777 # v3.7.6
with:
actions: create-comment
token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/docs/api/browser/locators.md b/docs/api/browser/locators.md
index f81e040f8bcc..aea66be97398 100644
--- a/docs/api/browser/locators.md
+++ b/docs/api/browser/locators.md
@@ -935,6 +935,63 @@ page.getByText('Hello').elements() // ✅ [HTMLElement, HTMLElement]
page.getByText('Hello USA').elements() // ✅ []
```
+### findElement 4.1.0 {#findelement}
+
+```ts
+function findElement(
+ options?: SelectorOptions
+): Promise
+```
+
+::: danger WARNING
+This is an escape hatch for cases where you need the raw DOM element — for example, to pass it to a third-party library like FormKit that doesn't accept Vitest locators. If you are interacting with the element yourself, use other [builtin methods](#methods) instead.
+:::
+
+This method returns an element matching the locator. Unlike [`.element()`](#element), this method will wait and retry until a matching element appears in the DOM, using increasing intervals (0, 20, 50, 100, 100, 500ms).
+
+If _no element_ is found before the timeout, an error is thrown. By default, the timeout matches the test timeout.
+
+If _multiple elements_ match the selector and `strict` is `true` (the default), an error is thrown immediately without retrying. Set `strict` to `false` to return the first matching element instead.
+
+It accepts options:
+
+- `timeout: number` - How long to wait in milliseconds until at least one element is found. By default, this shares timeout with the test.
+- `strict: boolean` - When `true` (default), throws an error if multiple elements match the locator. When `false`, returns the first matching element.
+
+Consider the following DOM structure:
+
+```html
+Hello World
+Hello Germany
+Hello
+```
+
+These locators will resolve successfully:
+
+```ts
+await page.getByText('Hello World').findElement() // ✅ HTMLDivElement
+await page.getByText('World').findElement() // ✅ HTMLSpanElement
+await page.getByText('Hello Germany').findElement() // ✅ HTMLDivElement
+```
+
+These locators will throw an error:
+
+```ts
+// multiple elements match, strict mode rejects
+await page.getByText('Hello').findElement() // ❌
+await page.getByText(/^Hello/).findElement() // ❌
+
+// no matching element before timeout
+await page.getByText('Hello USA').findElement() // ❌
+```
+
+Using `strict: false` to allow multiple matches:
+
+```ts
+// returns the first matching element instead of throwing
+await page.getByText('Hello').findElement({ strict: false }) // ✅ HTMLDivElement
+```
+
### all
```ts
diff --git a/docs/config/browser/playwright.md b/docs/config/browser/playwright.md
index 7e36ded22b56..19d557ddd622 100644
--- a/docs/config/browser/playwright.md
+++ b/docs/config/browser/playwright.md
@@ -74,7 +74,9 @@ These options are directly passed down to `playwright[browser].connect` command.
Use `connectOptions.wsEndpoint` to connect to an existing Playwright server instead of launching browsers locally. This is useful for running browsers in Docker, in CI, or on a remote machine.
::: warning
-Since this command connects to an existing Playwright server, any `launch` options will be ignored.
+
+Vitest forwards `launchOptions` to Playwright server via the `x-playwright-launch-options` header. This works only if the remote Playwright server supports this header, for example when using the `playwright run-server` CLI.
+
:::
::: details Example: Running a Playwright Server in Docker
diff --git a/docs/config/clearmocks.md b/docs/config/clearmocks.md
index fff1dbfd0a05..c2bde0b8d336 100644
--- a/docs/config/clearmocks.md
+++ b/docs/config/clearmocks.md
@@ -21,3 +21,7 @@ export default defineConfig({
},
})
```
+
+::: warning
+Be aware that this option may cause problems with async [concurrent tests](/api/test#test-concurrent). If enabled, the completion of one test will clear the mock history for all mocks, including those currently being used by other tests in progress.
+:::
diff --git a/docs/config/mockreset.md b/docs/config/mockreset.md
index fac9b6b7e817..1525929397ad 100644
--- a/docs/config/mockreset.md
+++ b/docs/config/mockreset.md
@@ -21,3 +21,7 @@ export default defineConfig({
},
})
```
+
+::: warning
+Be aware that this option may cause problems with async [concurrent tests](/api/test#test-concurrent). If enabled, the completion of one test will clear the mock history and implementation for all mocks, including those currently being used by other tests in progress.
+:::
diff --git a/docs/config/restoremocks.md b/docs/config/restoremocks.md
index 006380088ce5..818942c1302a 100644
--- a/docs/config/restoremocks.md
+++ b/docs/config/restoremocks.md
@@ -21,3 +21,7 @@ export default defineConfig({
},
})
```
+
+::: warning
+Be aware that this option may cause problems with async [concurrent tests](/api/test#test-concurrent). If enabled, the completion of one test will restore the implementation for all spies, including those currently being used by other tests in progress.
+:::
diff --git a/docs/config/unstubenvs.md b/docs/config/unstubenvs.md
index 9deaabda1322..9a234a381fa9 100644
--- a/docs/config/unstubenvs.md
+++ b/docs/config/unstubenvs.md
@@ -19,3 +19,7 @@ export default defineConfig({
},
})
```
+
+::: warning
+Be aware that this option may cause problems with async [concurrent tests](/api/test#test-concurrent). If enabled, the completion of one test will restore all the values changed with [`vi.stubEnv`](/api/vi#vi-stubenv), including those currently being used by other tests in progress.
+:::
diff --git a/docs/config/unstubglobals.md b/docs/config/unstubglobals.md
index 6c0d984bc0ce..47c8e8eaa3d4 100644
--- a/docs/config/unstubglobals.md
+++ b/docs/config/unstubglobals.md
@@ -19,3 +19,7 @@ export default defineConfig({
},
})
```
+
+::: warning
+Be aware that this option may cause problems with async [concurrent tests](/api/test#test-concurrent). If enabled, the completion of one test will restore all global values that were changed with [`vi.stubGlobal`](/api/vi#vi-stubglobal), including those currently being used by other tests in progress.
+:::
diff --git a/docs/config/update.md b/docs/config/update.md
index a154000bd696..d38ad1ba863c 100644
--- a/docs/config/update.md
+++ b/docs/config/update.md
@@ -5,11 +5,17 @@ outline: deep
# update {#update}
-- **Type:** `boolean | 'new' | 'all'`
+- **Type:** `boolean | 'new' | 'all' | 'none'`
- **Default:** `false`
-- **CLI:** `-u`, `--update`, `--update=false`, `--update=new`
+- **CLI:** `-u`, `--update`, `--update=false`, `--update=new`, `--update=none`
-Update snapshot files. The behaviour depends on the value:
+Define snapshot update behavior.
-- `true` or `'all'`: updates all changed snapshots and delete obsolete ones
+- `true` or `'all'`: updates all changed snapshots and deletes obsolete ones
- `new`: generates new snapshots without changing or deleting obsolete ones
+- `none`: does not write snapshots and fails on snapshot mismatches, missing snapshots, and obsolete snapshots
+
+When `update` is `false` (the default), Vitest resolves snapshot update mode by environment:
+
+- Local runs (non-CI): works same as `new`
+- CI runs (`process.env.CI` is truthy): works same as `none`
diff --git a/docs/guide/cli-generated.md b/docs/guide/cli-generated.md
index 52f67fc9a247..d86486f98517 100644
--- a/docs/guide/cli-generated.md
+++ b/docs/guide/cli-generated.md
@@ -16,7 +16,7 @@ Path to config file
- **CLI:** `-u, --update [type]`
- **Config:** [update](/config/update)
-Update snapshot (accepts boolean, "new" or "all")
+Update snapshot (accepts boolean, "new", "all" or "none")
### watch
diff --git a/docs/guide/snapshot.md b/docs/guide/snapshot.md
index b9a3ba6405d7..18b0b58a636a 100644
--- a/docs/guide/snapshot.md
+++ b/docs/guide/snapshot.md
@@ -79,6 +79,12 @@ Or you can use the `--update` or `-u` flag in the CLI to make Vitest update snap
vitest -u
```
+### CI behavior
+
+By default, Vitest does not write snapshots in CI (`process.env.CI` is truthy) and any snapshot mismatches, missing snapshots, and obsolete snapshots fail the run. See [`update`](/config/update) for the details.
+
+An **obsolete snapshot** is a snapshot entry (or snapshot file) that no longer matches any collected test. This usually happens after removing or renaming tests.
+
## File Snapshots
When calling `toMatchSnapshot()`, we store all snapshots in a formatted snap file. That means we need to escape some characters (namely the double-quote `"` and backtick `` ` ``) in the snapshot string. Meanwhile, you might lose the syntax highlighting for the snapshot content (if they are in some language).
diff --git a/docs/package.json b/docs/package.json
index af9edc962ca7..61687004529a 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -27,7 +27,7 @@
"@vite-pwa/assets-generator": "^1.0.2",
"@vite-pwa/vitepress": "^1.1.0",
"@vitejs/plugin-vue": "catalog:",
- "@voidzero-dev/vitepress-theme": "^4.4.2",
+ "@voidzero-dev/vitepress-theme": "^4.5.0",
"https-localhost": "^4.7.1",
"tinyglobby": "catalog:",
"unocss": "catalog:",
@@ -35,7 +35,7 @@
"vite-plugin-pwa": "^1.2.0",
"vitepress": "2.0.0-alpha.16",
"vitepress-plugin-group-icons": "^1.7.1",
- "vitepress-plugin-llms": "^1.10.0",
+ "vitepress-plugin-llms": "^1.11.0",
"vitepress-plugin-tabs": "^0.7.3",
"workbox-window": "^7.4.0"
}
diff --git a/examples/lit/package.json b/examples/lit/package.json
index 95b9a5a0820e..833fccf70f7d 100644
--- a/examples/lit/package.json
+++ b/examples/lit/package.json
@@ -19,7 +19,7 @@
"devDependencies": {
"@vitest/browser-playwright": "latest",
"jsdom": "latest",
- "playwright": "^1.58.1",
+ "playwright": "^1.58.2",
"vite": "latest",
"vitest": "latest"
},
diff --git a/examples/opentelemetry/docker-compose.yaml b/examples/opentelemetry/docker-compose.yaml
index 3477d858291b..1ecba015053a 100644
--- a/examples/opentelemetry/docker-compose.yaml
+++ b/examples/opentelemetry/docker-compose.yaml
@@ -2,7 +2,7 @@ services:
# for testing open-telemetry integration locally
# https://www.jaegertracing.io/docs/2.12/getting-started/
jaeger:
- image: cr.jaegertracing.io/jaegertracing/jaeger:2.14.1
+ image: cr.jaegertracing.io/jaegertracing/jaeger:2.15.1
# Assign ports for Jaeger UI and OTLP receiver
ports:
# UI http://localhost:16686
diff --git a/examples/opentelemetry/package.json b/examples/opentelemetry/package.json
index 0be7ef0aa480..24b655dd785a 100644
--- a/examples/opentelemetry/package.json
+++ b/examples/opentelemetry/package.json
@@ -9,11 +9,11 @@
},
"devDependencies": {
"@opentelemetry/api": "^1.9.0",
- "@opentelemetry/context-zone": "^2.5.0",
- "@opentelemetry/exporter-trace-otlp-proto": "^0.211.0",
- "@opentelemetry/resources": "^2.5.0",
- "@opentelemetry/sdk-node": "^0.211.0",
- "@opentelemetry/sdk-trace-web": "^2.5.0",
+ "@opentelemetry/context-zone": "^2.5.1",
+ "@opentelemetry/exporter-trace-otlp-proto": "^0.212.0",
+ "@opentelemetry/resources": "^2.5.1",
+ "@opentelemetry/sdk-node": "^0.212.0",
+ "@opentelemetry/sdk-trace-web": "^2.5.1",
"@vitest/browser-playwright": "latest",
"vite": "latest",
"vitest": "latest"
diff --git a/examples/projects/package.json b/examples/projects/package.json
index 6e6811f945c5..c6bfecbc49d7 100644
--- a/examples/projects/package.json
+++ b/examples/projects/package.json
@@ -12,8 +12,8 @@
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
- "@types/react": "^19.2.10",
- "@vitejs/plugin-react": "^5.1.3",
+ "@types/react": "^19.2.14",
+ "@vitejs/plugin-react": "^5.1.4",
"@vitest/ui": "latest",
"fastify": "^5.7.2",
"jsdom": "^27.4.0",
diff --git a/examples/typecheck/package.json b/examples/typecheck/package.json
index cd26c33ca09c..c4bda11d6b86 100644
--- a/examples/typecheck/package.json
+++ b/examples/typecheck/package.json
@@ -10,7 +10,7 @@
"test:run": "vitest run"
},
"devDependencies": {
- "@types/node": "^24.10.9",
+ "@types/node": "^24.10.13",
"@vitest/ui": "latest",
"typescript": "^5.9.3",
"vite": "latest",
diff --git a/package.json b/package.json
index fdb3e274d959..bd4ea1638f2a 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"type": "module",
"version": "4.1.0-beta.4",
"private": true,
- "packageManager": "pnpm@10.28.2",
+ "packageManager": "pnpm@10.30.1",
"description": "Next generation testing framework powered by Vite",
"engines": {
"node": "^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -41,26 +41,26 @@
"devDependencies": {
"@antfu/eslint-config": "^7.2.0",
"@antfu/ni": "^28.2.0",
- "@playwright/test": "^1.58.1",
+ "@playwright/test": "^1.58.2",
"@rollup/plugin-commonjs": "^29.0.0",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^16.0.3",
- "@types/node": "24.10.9",
+ "@types/node": "24.10.13",
"@types/ws": "catalog:",
"@vitest/browser": "workspace:*",
"@vitest/coverage-istanbul": "workspace:*",
"@vitest/coverage-v8": "workspace:*",
"@vitest/ui": "workspace:*",
- "bumpp": "^10.4.0",
+ "bumpp": "^10.4.1",
"changelogithub": "^14.0.0",
- "esbuild": "^0.27.2",
+ "esbuild": "^0.27.3",
"eslint": "^9.39.2",
"magic-string": "^0.30.21",
"pathe": "^2.0.3",
"premove": "^4.0.0",
"rollup": "^4.57.1",
"rollup-plugin-dts": "^6.3.0",
- "rollup-plugin-license": "^3.6.0",
+ "rollup-plugin-license": "^3.7.0",
"tinyglobby": "catalog:",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
diff --git a/packages/browser-playwright/package.json b/packages/browser-playwright/package.json
index 81de474c4a3f..51b3cb9f9df8 100644
--- a/packages/browser-playwright/package.json
+++ b/packages/browser-playwright/package.json
@@ -59,7 +59,7 @@
"tinyrainbow": "catalog:"
},
"devDependencies": {
- "playwright": "^1.58.1",
+ "playwright": "^1.58.2",
"vitest": "workspace:*"
}
}
diff --git a/packages/browser-playwright/src/playwright.ts b/packages/browser-playwright/src/playwright.ts
index c0d6ebd49a21..678156abfa37 100644
--- a/packages/browser-playwright/src/playwright.ts
+++ b/packages/browser-playwright/src/playwright.ts
@@ -169,20 +169,6 @@ export class PlaywrightBrowserProvider implements BrowserProvider {
const playwright = await import('playwright')
- if (this.options.connectOptions) {
- if (this.options.launchOptions) {
- this.project.vitest.logger.warn(
- c.yellow(`Found both ${c.bold(c.italic(c.yellow('connect')))} and ${c.bold(c.italic(c.yellow('launch')))} options in browser instance configuration.
- Ignoring ${c.bold(c.italic(c.yellow('launch')))} options and using ${c.bold(c.italic(c.yellow('connect')))} mode.
- You probably want to remove one of the two options and keep only the one you want to use.`),
- )
- }
- const browser = await playwright[this.browserName].connect(this.options.connectOptions.wsEndpoint, this.options.connectOptions)
- this.browser = browser
- this.browserPromise = null
- return this.browser
- }
-
const launchOptions: LaunchOptions = {
...this.options.launchOptions,
headless: options.headless,
@@ -216,6 +202,27 @@ export class PlaywrightBrowserProvider implements BrowserProvider {
}
debug?.('[%s] initializing the browser with launch options: %O', this.browserName, launchOptions)
+
+ if (this.options.connectOptions) {
+ let { wsEndpoint, headers = {}, ...connectOptions } = this.options.connectOptions
+ if ('x-playwright-launch-options' in headers) {
+ this.project.vitest.logger.warn(
+ c.yellow(
+ 'Detected "x-playwright-launch-options" in connectOptions.headers. Provider config launchOptions is ignored.',
+ ),
+ )
+ }
+ else {
+ headers = { ...headers, 'x-playwright-launch-options': JSON.stringify(launchOptions) }
+ }
+ this.browser = await playwright[this.browserName].connect(wsEndpoint, {
+ ...connectOptions,
+ headers,
+ })
+ this.browserPromise = null
+ return this.browser
+ }
+
let persistentContextOption = this.options.persistentContext
if (persistentContextOption && openBrowserOptions.parallel) {
persistentContextOption = false
diff --git a/packages/browser-preview/src/locators.ts b/packages/browser-preview/src/locators.ts
index 8217002bbb96..ea1f3859ce2a 100644
--- a/packages/browser-preview/src/locators.ts
+++ b/packages/browser-preview/src/locators.ts
@@ -1,3 +1,12 @@
+import type {
+ UserEventClearOptions,
+ UserEventClickOptions,
+ UserEventFillOptions,
+ UserEventHoverOptions,
+ UserEventSelectOptions,
+ UserEventUploadOptions,
+ UserEventWheelOptions,
+} from 'vitest/browser'
import {
convertElementToCssSelector,
getByAltTextSelector,
@@ -26,40 +35,57 @@ class PreviewLocator extends Locator {
return selectors.join(', ')
}
- click(): Promise {
- return userEvent.click(this.element())
+ async click(options?: UserEventClickOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.click(element)
}
- dblClick(): Promise {
- return userEvent.dblClick(this.element())
+ async dblClick(options?: UserEventClickOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.dblClick(element)
}
- tripleClick(): Promise {
- return userEvent.tripleClick(this.element())
+ async tripleClick(options?: UserEventClickOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.tripleClick(element)
}
- hover(): Promise {
- return userEvent.hover(this.element())
+ async hover(options?: UserEventHoverOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.hover(element)
}
- unhover(): Promise {
- return userEvent.unhover(this.element())
+ async unhover(options?: UserEventHoverOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.unhover(element)
}
- async fill(text: string): Promise {
- return userEvent.fill(this.element(), text)
+ async fill(text: string, options?: UserEventFillOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.fill(element, text)
}
- async upload(file: string | string[] | File | File[]): Promise {
- return userEvent.upload(this.element(), file)
+ async upload(file: string | string[] | File | File[], options?: UserEventUploadOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.upload(element, file)
}
- selectOptions(options: string | string[] | HTMLElement | HTMLElement[] | Locator | Locator[]): Promise {
- return userEvent.selectOptions(this.element(), options)
+ async wheel(options: UserEventWheelOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.wheel(element, options)
}
- clear(): Promise {
- return userEvent.clear(this.element())
+ async selectOptions(
+ options: string | string[] | HTMLElement | HTMLElement[] | Locator | Locator[],
+ settings?: UserEventSelectOptions,
+ ): Promise {
+ const element = await this.findElement(settings)
+ return userEvent.selectOptions(element, options)
+ }
+
+ async clear(options?: UserEventClearOptions): Promise {
+ const element = await this.findElement(options)
+ return userEvent.clear(element)
}
protected locator(selector: string) {
diff --git a/packages/browser-preview/src/preview.ts b/packages/browser-preview/src/preview.ts
index 07bd989d66f3..8387140df7b3 100644
--- a/packages/browser-preview/src/preview.ts
+++ b/packages/browser-preview/src/preview.ts
@@ -1,3 +1,4 @@
+import type { SelectorOptions } from 'vitest/browser'
import type { BrowserProvider, BrowserProviderOption, TestProject } from 'vitest/node'
import { nextTick } from 'node:process'
import { defineBrowserProvider } from '@vitest/browser'
@@ -60,3 +61,16 @@ export class PreviewBrowserProvider implements BrowserProvider {
async close(): Promise {}
}
+
+declare module 'vitest/browser' {
+ export interface UserEventClickOptions extends SelectorOptions {}
+ export interface UserEventHoverOptions extends SelectorOptions {}
+ export interface UserEventFillOptions extends SelectorOptions {}
+ export interface UserEventSelectOptions extends SelectorOptions {}
+ export interface UserEventClearOptions extends SelectorOptions {}
+ export interface UserEventDoubleClickOptions extends SelectorOptions {}
+ export interface UserEventTripleClickOptions extends SelectorOptions {}
+ export interface UserEventUploadOptions extends SelectorOptions {}
+ export interface UserEventWheelBaseOptions extends SelectorOptions {}
+ export interface LocatorScreenshotOptions extends SelectorOptions {}
+}
diff --git a/packages/browser-webdriverio/package.json b/packages/browser-webdriverio/package.json
index b7f94e29f27c..ab9c62cb9627 100644
--- a/packages/browser-webdriverio/package.json
+++ b/packages/browser-webdriverio/package.json
@@ -58,7 +58,7 @@
"@vitest/browser": "workspace:*"
},
"devDependencies": {
- "@wdio/types": "^9.23.3",
+ "@wdio/types": "^9.24.0",
"vitest": "workspace:*",
"webdriverio": "^9.20.0"
}
diff --git a/packages/browser-webdriverio/src/locators.ts b/packages/browser-webdriverio/src/locators.ts
index 681304b90929..e7210d1b9b71 100644
--- a/packages/browser-webdriverio/src/locators.ts
+++ b/packages/browser-webdriverio/src/locators.ts
@@ -1,11 +1,16 @@
import type {
+ LocatorScreenshotOptions,
+ UserEventClearOptions,
UserEventClickOptions,
UserEventDragAndDropOptions,
+ UserEventFillOptions,
UserEventHoverOptions,
UserEventSelectOptions,
+ UserEventWheelOptions,
} from 'vitest/browser'
import {
convertElementToCssSelector,
+ ensureAwaited,
getByAltTextSelector,
getByLabelSelector,
getByPlaceholderSelector,
@@ -16,6 +21,7 @@ import {
getIframeScale,
Locator,
selectorEngine,
+ triggerCommandWithTrace,
} from '@vitest/browser/locators'
import { page, server, utils } from 'vitest/browser'
import { __INTERNAL } from 'vitest/internal/browser'
@@ -25,6 +31,13 @@ class WebdriverIOLocator extends Locator {
super()
}
+ // This exists to avoid calling `this.elements` in `this.selector`'s getter in interactive actions
+ private withElement(element: Element, error: Error | undefined) {
+ const pwSelector = selectorEngine.generateSelectorSimple(element)
+ const cssSelector = convertElementToCssSelector(element)
+ return new ElementWebdriverIOLocator(cssSelector, error, pwSelector, element)
+ }
+
override get selector(): string {
const selectors = this.elements().map(element => convertElementToCssSelector(element))
if (!selectors.length) {
@@ -42,33 +55,85 @@ class WebdriverIOLocator extends Locator {
}
public override click(options?: UserEventClickOptions): Promise {
- return super.click(processClickOptions(options))
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).click(processClickOptions(options))
+ })
}
public override dblClick(options?: UserEventClickOptions): Promise {
- return super.dblClick(processClickOptions(options))
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).dblClick(processClickOptions(options))
+ })
}
public override tripleClick(options?: UserEventClickOptions): Promise {
- return super.tripleClick(processClickOptions(options))
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).tripleClick(processClickOptions(options))
+ })
}
public selectOptions(
value: HTMLElement | HTMLElement[] | Locator | Locator[] | string | string[],
options?: UserEventSelectOptions,
): Promise {
- const values = getWebdriverioSelectOptions(this.element(), value)
- return this.triggerCommand('__vitest_selectOptions', this.selector, values, options)
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ const values = getWebdriverioSelectOptions(element, value)
+ return triggerCommandWithTrace({
+ name: '__vitest_selectOptions',
+ arguments: [convertElementToCssSelector(element), values, options],
+ errorSource: error,
+ })
+ })
}
public override hover(options?: UserEventHoverOptions): Promise {
- return super.hover(processHoverOptions(options))
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).hover(processHoverOptions(options))
+ })
}
public override dropTo(target: Locator, options?: UserEventDragAndDropOptions): Promise {
+ // playwright doesn't enforce a single element, it selects the first one,
+ // so we just follow the behavior
return super.dropTo(target, processDragAndDropOptions(options))
}
+ public override wheel(options: UserEventWheelOptions): Promise {
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).wheel(options)
+ })
+ }
+
+ public override clear(options?: UserEventClearOptions): Promise {
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).clear(options)
+ })
+ }
+
+ public override fill(text: string, options?: UserEventFillOptions): Promise {
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).fill(text, options)
+ })
+ }
+
+ public override screenshot(options?: LocatorScreenshotOptions): Promise {
+ return ensureAwaited(async (error) => {
+ const element = await this.findElement(options)
+ return this.withElement(element, error).screenshot(options)
+ })
+ }
+
+ // playwright doesn't enforce a single element in upload
+ // public override async upload(): Promise
+
protected locator(selector: string) {
return new WebdriverIOLocator(`${this._pwSelector} >> ${selector}`, this._container)
}
@@ -78,6 +143,33 @@ class WebdriverIOLocator extends Locator {
}
}
+const kElementLocator = Symbol.for('$$vitest:locator-resolved')
+
+class ElementWebdriverIOLocator extends Locator {
+ public [kElementLocator] = true
+
+ constructor(
+ private _cssSelector: string,
+ protected _errorSource: Error | undefined,
+ protected _pwSelector: string,
+ protected _container: Element,
+ ) {
+ super()
+ }
+
+ override get selector() {
+ return this._cssSelector
+ }
+
+ protected locator(_selector: string): Locator {
+ throw new Error(`should not be called`)
+ }
+
+ protected elementLocator(_element: Element): Locator {
+ throw new Error(`should not be called`)
+ }
+}
+
page.extend({
getByLabelText(text, options) {
return new WebdriverIOLocator(getByLabelSelector(text, options))
diff --git a/packages/browser-webdriverio/src/webdriverio.ts b/packages/browser-webdriverio/src/webdriverio.ts
index 7f86aa919ca1..467f3ee31369 100644
--- a/packages/browser-webdriverio/src/webdriverio.ts
+++ b/packages/browser-webdriverio/src/webdriverio.ts
@@ -3,6 +3,7 @@ import type { Capabilities } from '@wdio/types'
import type {
ScreenshotComparatorRegistry,
ScreenshotMatcherOptions,
+ SelectorOptions,
} from 'vitest/browser'
import type {
BrowserCommand,
@@ -288,15 +289,21 @@ export class WebdriverBrowserProvider implements BrowserProvider {
}
declare module 'vitest/browser' {
- export interface UserEventClickOptions extends Partial {}
- export interface UserEventHoverOptions extends MoveToOptions {}
-
+ export interface UserEventClickOptions extends Partial, SelectorOptions {}
+ export interface UserEventHoverOptions extends MoveToOptions, SelectorOptions {}
export interface UserEventDragAndDropOptions extends DragAndDropOptions {
sourceX?: number
sourceY?: number
targetX?: number
targetY?: number
}
+ export interface UserEventFillOptions extends SelectorOptions {}
+ export interface UserEventSelectOptions extends SelectorOptions {}
+ export interface UserEventClearOptions extends SelectorOptions {}
+ export interface UserEventDoubleClickOptions extends SelectorOptions {}
+ export interface UserEventTripleClickOptions extends SelectorOptions {}
+ export interface UserEventWheelBaseOptions extends SelectorOptions {}
+ export interface LocatorScreenshotOptions extends SelectorOptions {}
}
declare module 'vitest/node' {
diff --git a/packages/browser/context.d.ts b/packages/browser/context.d.ts
index c09dd565de9a..094f61e30c24 100644
--- a/packages/browser/context.d.ts
+++ b/packages/browser/context.d.ts
@@ -21,7 +21,10 @@ export interface CDPSession {
// methods are defined by the provider type augmentation
}
-export interface ScreenshotOptions {
+export interface ScreenshotOptions extends SelectorOptions {
+ /**
+ * The HTML element to screeshot.
+ */
element?: Element | Locator
/**
* Path relative to the current test file.
@@ -157,7 +160,7 @@ export interface ScreenshotMatcherOptions<
comparatorOptions?: ScreenshotComparatorRegistry[ComparatorName]
screenshotOptions?: Omit<
ScreenshotOptions,
- 'element' | 'base64' | 'path' | 'save' | 'type'
+ 'element' | 'base64' | 'path' | 'save' | 'type' | 'strict' | 'timeout'
>
/**
* Time to wait until a stable screenshot is found.
@@ -168,6 +171,13 @@ export interface ScreenshotMatcherOptions<
* @default 5000
*/
timeout?: number
+ /**
+ * Allow only a single element with the same locator.
+ *
+ * If Vitest finds multiple elements, it will throw an error immediately without retrying.
+ * @default true
+ */
+ strict?: boolean
}
export interface UserEvent {
@@ -522,6 +532,22 @@ export interface LocatorSelectors {
export interface FrameLocator extends LocatorSelectors {}
+export interface SelectorOptions {
+ /**
+ * How long to wait until a single element is found. By default, this has the same timeout as the test.
+ *
+ * Vitest will try to find the element in ever increasing intervals: 0, 20, 50, 100, 100, 500.
+ */
+ timeout?: number
+ /**
+ * Allow only a single element with the same locator.
+ *
+ * If Vitest finds multiple elements, it will throw an error immediately without retrying.
+ * @default true
+ */
+ strict?: boolean
+}
+
export interface Locator extends LocatorSelectors {
/**
* Selector string that will be used to locate the element by the browser provider.
@@ -689,13 +715,27 @@ export interface Locator extends LocatorSelectors {
* @see {@link https://vitest.dev/api/browser/locators#filter}
*/
filter(options: LocatorOptions): Locator
+ /**
+ * This method returns an element matching the locator.
+ * Unlike [`.element()`](https://vitest.dev/api/browser/locators#element),
+ * this method will wait and retry until a matching element appears in the DOM,
+ * using increasing intervals (0, 20, 50, 100, 100, 500ms).
+ *
+ * **WARNING:**
+ *
+ * This is an escape hatch for library authors and 3d-party APIs that do not support locators directly.
+ * If you are interacting with the element, use builtin methods instead.
+ * @since 4.1.0
+ * @see {@link https://vitest.dev/api/browser/locators#findelement}
+ */
+ findElement(options?: SelectorOptions): Promise
}
export interface UserEventTabOptions {
shift?: boolean
}
-export interface UserEventTypeOptions {
+export interface UserEventTypeOptions extends SelectorOptions {
skipClick?: boolean
skipAutoClose?: boolean
}
diff --git a/packages/browser/src/client/tester/context.ts b/packages/browser/src/client/tester/context.ts
index 349dfc890928..17dfbe30ce50 100644
--- a/packages/browser/src/client/tester/context.ts
+++ b/packages/browser/src/client/tester/context.ts
@@ -102,7 +102,7 @@ export function createUserEvent(__tl_user_event_base__?: TestingLibraryUserEvent
// testing-library user-event
async type(element, text, options) {
return ensureAwaited(async (error) => {
- const selector = convertToSelector(element)
+ const selector = await convertToSelector(element, options)
const { unreleased } = await triggerCommand<{ unreleased: string[] }>(
'__vitest_type',
[
@@ -323,11 +323,15 @@ export const page: BrowserPage = {
const name
= options.path || `${taskName.replace(/[^a-z0-9]/gi, '-')}-${number}.png`
+ const [element, ...mask] = await Promise.all([
+ options.element ? convertToSelector(options.element, options) : undefined,
+ ...('mask' in options
+ ? (options.mask as Array).map(el => convertToSelector(el, options))
+ : []),
+ ])
+
const normalizedOptions = 'mask' in options
- ? {
- ...options,
- mask: (options.mask as Array).map(convertToSelector),
- }
+ ? { ...options, mask }
: options
return ensureAwaited(error => triggerCommand(
@@ -336,9 +340,7 @@ export const page: BrowserPage = {
name,
processTimeoutOptions({
...normalizedOptions,
- element: options.element
- ? convertToSelector(options.element)
- : undefined,
+ element,
} as any /** TODO */),
],
error,
diff --git a/packages/browser/src/client/tester/expect/toMatchScreenshot.ts b/packages/browser/src/client/tester/expect/toMatchScreenshot.ts
index 64c23efbd762..46980d7e4155 100644
--- a/packages/browser/src/client/tester/expect/toMatchScreenshot.ts
+++ b/packages/browser/src/client/tester/expect/toMatchScreenshot.ts
@@ -40,14 +40,21 @@ export default async function toMatchScreenshot(
? nameOrOptions
: `${this.currentTestName} ${counter.current}`
+ const [element, ...mask] = await Promise.all([
+ convertToSelector(actual, options),
+ ...options.screenshotOptions && 'mask' in options.screenshotOptions
+ ? (options.screenshotOptions.mask as Array)
+ .map(m => convertToSelector(m, options))
+ : [],
+ ])
+
const normalizedOptions: Omit = (
options.screenshotOptions && 'mask' in options.screenshotOptions
? {
...options,
screenshotOptions: {
...options.screenshotOptions,
- mask: (options.screenshotOptions.mask as Array)
- .map(convertToSelector),
+ mask,
},
}
// TS believes `mask` to still be defined as `ReadonlyArray`
@@ -60,7 +67,7 @@ export default async function toMatchScreenshot(
name,
this.currentTestName,
{
- element: convertToSelector(actual),
+ element,
...normalizedOptions,
},
] satisfies ScreenshotMatcherArguments,
diff --git a/packages/browser/src/client/tester/locators/index.ts b/packages/browser/src/client/tester/locators/index.ts
index ec9a2f9eb4b2..1fd0cd9ad732 100644
--- a/packages/browser/src/client/tester/locators/index.ts
+++ b/packages/browser/src/client/tester/locators/index.ts
@@ -3,6 +3,7 @@ import type {
LocatorByRoleOptions,
LocatorOptions,
LocatorScreenshotOptions,
+ SelectorOptions,
UserEventClearOptions,
UserEventClickOptions,
UserEventDragAndDropOptions,
@@ -24,10 +25,11 @@ import {
Ivya,
} from 'ivya'
import { page, server, utils } from 'vitest/browser'
-import { __INTERNAL } from 'vitest/internal/browser'
+import { __INTERNAL, getSafeTimers } from 'vitest/internal/browser'
import { ensureAwaited, getBrowserState } from '../../utils'
-import { escapeForTextSelector, isLocator, resolveUserEventWheelOptions } from '../tester-utils'
+import { escapeForTextSelector, isLocator, processTimeoutOptions, resolveUserEventWheelOptions } from '../tester-utils'
+export { ensureAwaited } from '../../utils'
export { convertElementToCssSelector, getIframeScale, processTimeoutOptions } from '../tester-utils'
export {
getByAltTextSelector,
@@ -41,6 +43,14 @@ export {
__INTERNAL._asLocator = asLocator
+const now = Date.now
+const waitForIntervals = [0, 20, 50, 100, 100, 500]
+
+function sleep(ms: number): Promise {
+ const { setTimeout } = getSafeTimers()
+ return new Promise(resolve => setTimeout(resolve, ms))
+}
+
// we prefer using playwright locators because they are more powerful and support Shadow DOM
export const selectorEngine: Ivya = Ivya.create({
browser: ((name: string) => {
@@ -65,6 +75,7 @@ export abstract class Locator {
private _parsedSelector: ParsedSelector | undefined
protected _container?: Element | undefined
protected _pwSelector?: string | undefined
+ protected _errorSource?: Error
constructor() {
Object.defineProperty(this, kLocator, {
@@ -88,8 +99,12 @@ export abstract class Locator {
}
public wheel(options: UserEventWheelOptions): Promise {
- return ensureAwaited(async () => {
- await this.triggerCommand('__vitest_wheel', this.selector, resolveUserEventWheelOptions(options))
+ return ensureAwaited(async (error) => {
+ await getBrowserState().commands.triggerCommand(
+ '__vitest_wheel',
+ [this.selector, resolveUserEventWheelOptions(options)],
+ error,
+ )
const browser = getBrowserState().config.browser.name
@@ -121,25 +136,31 @@ export abstract class Locator {
}
public async upload(files: string | string[] | File | File[], options?: UserEventUploadOptions): Promise {
- const filesPromise = (Array.isArray(files) ? files : [files]).map(async (file) => {
- if (typeof file === 'string') {
- return file
- }
- const bas64String = await new Promise((resolve, reject) => {
- const reader = new FileReader()
- reader.onload = () => resolve(reader.result as string)
- reader.onerror = () => reject(new Error(`Failed to read file: ${file.name}`))
- reader.readAsDataURL(file)
- })
+ return ensureAwaited(async (error) => {
+ const filesPromise = (Array.isArray(files) ? files : [files]).map(async (file) => {
+ if (typeof file === 'string') {
+ return file
+ }
+ const bas64String = await new Promise((resolve, reject) => {
+ const reader = new FileReader()
+ reader.onload = () => resolve(reader.result as string)
+ reader.onerror = () => reject(new Error(`Failed to read file: ${file.name}`))
+ reader.readAsDataURL(file)
+ })
- return {
- name: file.name,
- mimeType: file.type,
- // strip prefix `data:[][;base64],`
- base64: bas64String.slice(bas64String.indexOf(',') + 1),
- }
+ return {
+ name: file.name,
+ mimeType: file.type,
+ // strip prefix `data:[][;base64],`
+ base64: bas64String.slice(bas64String.indexOf(',') + 1),
+ }
+ })
+ return getBrowserState().commands.triggerCommand(
+ '__vitest_upload',
+ [this.selector, await Promise.all(filesPromise), options],
+ error,
+ )
})
- return this.triggerCommand('__vitest_upload', this.selector, await Promise.all(filesPromise), options)
}
public dropTo(target: Locator, options: UserEventDragAndDropOptions = {}): Promise {
@@ -293,12 +314,82 @@ export abstract class Locator {
return this.selector
}
+ public async findElement(options_: SelectorOptions = {}): Promise {
+ const options = processTimeoutOptions(options_)
+ const timeout = options?.timeout
+ const strict = options?.strict ?? true
+ const startTime = now()
+ let intervalIndex = 0
+ while (true) {
+ const elements = this.elements()
+ if (elements.length === 1) {
+ return elements[0]
+ }
+ if (elements.length > 1) {
+ if (strict) {
+ throw createStrictModeViolationError(this._pwSelector || this.selector, elements)
+ }
+ return elements[0]
+ }
+ const elapsed = now() - startTime
+ const isLastCall = timeout != null && elapsed >= timeout
+ if (isLastCall) {
+ throw utils.getElementError(this._pwSelector || this.selector, this._container || document.body)
+ }
+ const interval = waitForIntervals[Math.min(intervalIndex++, waitForIntervals.length - 1)]
+ const nextInterval = timeout != null
+ ? Math.min(interval, timeout - elapsed)
+ : interval
+ await sleep(nextInterval)
+ }
+ }
+
protected triggerCommand(command: string, ...args: any[]): Promise {
- const commands = getBrowserState().commands
- return ensureAwaited(error => commands.triggerCommand(
- command,
- args,
- error,
- ))
+ if (this._errorSource) {
+ return triggerCommandWithTrace({
+ name: command,
+ arguments: args,
+ errorSource: this._errorSource,
+ })
+ }
+ return ensureAwaited(error => triggerCommandWithTrace({
+ name: command,
+ arguments: args,
+ errorSource: error,
+ }))
}
}
+
+export function triggerCommandWithTrace(
+ options: {
+ name: string
+ arguments: unknown[]
+ errorSource?: Error | undefined
+ },
+): Promise {
+ return getBrowserState().commands.triggerCommand(
+ options.name,
+ options.arguments,
+ options.errorSource,
+ )
+}
+
+function createStrictModeViolationError(
+ selector: string,
+ matches: Element[],
+) {
+ const infos = matches.slice(0, 10).map(m => ({
+ preview: selectorEngine.previewNode(m),
+ selector: selectorEngine.generateSelectorSimple(m),
+ }))
+ const lines = infos.map(
+ (info, i) =>
+ `\n ${i + 1}) ${info.preview} aka ${asLocator('javascript', info.selector)}`,
+ )
+ if (infos.length < matches.length) {
+ lines.push('\n ...')
+ }
+ return new Error(
+ `strict mode violation: ${asLocator('javascript', selector)} resolved to ${matches.length} elements:${lines.join('')}\n`,
+ )
+}
diff --git a/packages/browser/src/client/tester/tester-utils.ts b/packages/browser/src/client/tester/tester-utils.ts
index 2c2e9df2dfc3..1176a2c04f04 100644
--- a/packages/browser/src/client/tester/tester-utils.ts
+++ b/packages/browser/src/client/tester/tester-utils.ts
@@ -1,9 +1,7 @@
-import type { Locator, UserEventWheelDeltaOptions, UserEventWheelOptions } from 'vitest/browser'
+import type { Locator, SelectorOptions, UserEventWheelDeltaOptions, UserEventWheelOptions } from 'vitest/browser'
import type { BrowserRPC } from '../client'
import { getBrowserState, getWorkerState } from '../utils'
-const provider = getBrowserState().provider
-
/* @__NO_SIDE_EFFECTS__ */
export function convertElementToCssSelector(element: Element): string {
if (!element || !(element instanceof Element)) {
@@ -130,7 +128,6 @@ export class CommandsManager {
() =>
rpc.triggerCommand(sessionId, command, filepath, args).catch((err) => {
// rethrow an error to keep the stack trace in browser
- // const clientError = new Error(err.message)
clientError.message = err.message
clientError.name = err.name
clientError.stack = clientError.stack?.replace(clientError.message, err.message)
@@ -142,12 +139,10 @@ export class CommandsManager {
const now = Date.now
-export function processTimeoutOptions(options_?: T): T | undefined {
+export function processTimeoutOptions(options_: T | undefined): T | undefined {
if (
// if timeout is set, keep it
(options_ && options_.timeout != null)
- // timeout can only be set for playwright commands
- || provider !== 'playwright'
) {
return options_
}
@@ -209,7 +204,10 @@ export function escapeForTextSelector(text: string | RegExp, exact: boolean): st
return `${JSON.stringify(text)}${exact ? 's' : 'i'}`
}
-export function convertToSelector(elementOrLocator: Element | Locator): string {
+const provider = getBrowserState().provider
+const kElementLocator = Symbol.for('$$vitest:locator-resolved')
+
+export async function convertToSelector(elementOrLocator: Element | Locator, options?: SelectorOptions): Promise {
if (!elementOrLocator) {
throw new Error('Expected element or locator to be defined.')
}
@@ -217,7 +215,11 @@ export function convertToSelector(elementOrLocator: Element | Locator): string {
return convertElementToCssSelector(elementOrLocator)
}
if (isLocator(elementOrLocator)) {
- return elementOrLocator.selector
+ if (provider === 'playwright' || kElementLocator in elementOrLocator) {
+ return elementOrLocator.selector
+ }
+ const element = await elementOrLocator.findElement(options)
+ return convertElementToCssSelector(element)
}
throw new Error('Expected element or locator to be an instance of Element or Locator.')
}
diff --git a/packages/browser/src/node/commands/screenshotMatcher/utils.ts b/packages/browser/src/node/commands/screenshotMatcher/utils.ts
index f70feffc92c2..fb3645ae01a6 100644
--- a/packages/browser/src/node/commands/screenshotMatcher/utils.ts
+++ b/packages/browser/src/node/commands/screenshotMatcher/utils.ts
@@ -1,3 +1,6 @@
+// Note: this augments `screenshotOptions` types
+import type {} from '@vitest/browser-playwright'
+
import type { BrowserCommandContext, BrowserConfigOptions } from 'vitest/node'
import type { ScreenshotMatcherOptions } from '../../../../context'
import type { ScreenshotMatcherArguments } from '../../../shared/screenshotMatcher/types'
@@ -29,6 +32,7 @@ const defaultOptions = {
scale: 'device',
},
timeout: 5_000,
+ strict: true,
resolveDiffPath: ({
arg,
ext,
diff --git a/packages/expect/src/jest-expect.ts b/packages/expect/src/jest-expect.ts
index e483676f1062..eaddfe063b04 100644
--- a/packages/expect/src/jest-expect.ts
+++ b/packages/expect/src/jest-expect.ts
@@ -1235,7 +1235,7 @@ function ordinalOf(i: number) {
function formatCalls(spy: MockInstance, msg: string, showActualCall?: any) {
if (spy.mock.calls.length) {
msg += c.gray(
- `\n\nReceived: \n\n${spy.mock.calls
+ `\n\nReceived:\n\n${spy.mock.calls
.map((callArg, i) => {
let methodCall = c.bold(
` ${ordinalOf(i + 1)} ${spy.getMockName()} call:\n\n`,
@@ -1272,7 +1272,7 @@ function formatReturns(
) {
if (results.length) {
msg += c.gray(
- `\n\nReceived: \n\n${results
+ `\n\nReceived:\n\n${results
.map((callReturn, i) => {
let methodCall = c.bold(
` ${ordinalOf(i + 1)} ${spy.getMockName()} call return:\n\n`,
diff --git a/packages/ui/client/components/views/ViewReport.spec.ts b/packages/ui/client/components/views/ViewReport.spec.ts
index bbb609754c7c..117983888ca4 100644
--- a/packages/ui/client/components/views/ViewReport.spec.ts
+++ b/packages/ui/client/components/views/ViewReport.spec.ts
@@ -27,7 +27,7 @@ const textStacks = Array.from({ length: 5 }, makeTextStack)
const diff = `
\x1B[32m- Expected\x1B[39m
\x1B[31m+ Received\x1B[39m
-
+
\x1B[2m Object {\x1B[22m
\x1B[2m "a": 1,\x1B[22m
\x1B[32m- "b": 2,\x1B[39m
diff --git a/packages/ui/package.json b/packages/ui/package.json
index da0e221df920..04bf6075f215 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -57,7 +57,7 @@
"tinyrainbow": "catalog:"
},
"devDependencies": {
- "@faker-js/faker": "^10.2.0",
+ "@faker-js/faker": "^10.3.0",
"@iconify-json/carbon": "catalog:",
"@iconify-json/logos": "catalog:",
"@types/codemirror": "^5.60.17",
@@ -83,10 +83,10 @@
"typescript": "^5.9.3",
"unocss": "catalog:",
"vite": "^5.0.0",
- "vite-plugin-pages": "^0.33.2",
+ "vite-plugin-pages": "^0.33.3",
"vitest-browser-vue": "2.0.2",
"vue": "catalog:",
- "vue-router": "^5.0.2",
+ "vue-router": "^5.0.3",
"vue-tsc": "^3.2.4",
"vue-virtual-scroller": "2.0.0-beta.8"
}
diff --git a/packages/utils/src/diff/index.ts b/packages/utils/src/diff/index.ts
index 6887e55537b4..4fd6ac9b2078 100644
--- a/packages/utils/src/diff/index.ts
+++ b/packages/utils/src/diff/index.ts
@@ -110,8 +110,8 @@ export function diff(a: any, b: any, options?: DiffOptions): string | undefined
}
aDisplay = truncate(aDisplay)
bDisplay = truncate(bDisplay)
- const aDiff = `${aColor(`${aIndicator} ${aAnnotation}:`)} \n${aDisplay}`
- const bDiff = `${bColor(`${bIndicator} ${bAnnotation}:`)} \n${bDisplay}`
+ const aDiff = `${aColor(`${aIndicator} ${aAnnotation}:`)}\n${aDisplay}`
+ const bDiff = `${bColor(`${bIndicator} ${bAnnotation}:`)}\n${bDisplay}`
return `${aDiff}\n\n${bDiff}`
}
diff --git a/packages/vitest/package.json b/packages/vitest/package.json
index 2cf642948255..213600198642 100644
--- a/packages/vitest/package.json
+++ b/packages/vitest/package.json
@@ -197,7 +197,7 @@
},
"devDependencies": {
"@antfu/install-pkg": "^1.1.0",
- "@bomb.sh/tab": "^0.0.12",
+ "@bomb.sh/tab": "^0.0.14",
"@edge-runtime/vm": "^5.0.0",
"@jridgewell/trace-mapping": "catalog:",
"@opentelemetry/api": "^1.9.0",
@@ -207,7 +207,7 @@
"@types/istanbul-lib-coverage": "catalog:",
"@types/istanbul-reports": "catalog:",
"@types/jsdom": "^27.0.0",
- "@types/node": "^24.10.9",
+ "@types/node": "^24.10.13",
"@types/picomatch": "^4.0.2",
"@types/prompts": "^2.4.9",
"@types/sinonjs__fake-timers": "^15.0.1",
@@ -218,7 +218,7 @@
"convert-source-map": "^2.0.0",
"empathic": "^2.0.0",
"flatted": "catalog:",
- "happy-dom": "^20.4.0",
+ "happy-dom": "^20.6.3",
"jsdom": "^27.4.0",
"local-pkg": "^1.1.2",
"mime": "^4.1.0",
diff --git a/packages/vitest/src/node/cli/cli-config.ts b/packages/vitest/src/node/cli/cli-config.ts
index b10a61856685..ddf7641096b2 100644
--- a/packages/vitest/src/node/cli/cli-config.ts
+++ b/packages/vitest/src/node/cli/cli-config.ts
@@ -84,7 +84,7 @@ export const cliOptionsConfig: VitestCLIOptions = {
},
update: {
shorthand: 'u',
- description: 'Update snapshot (accepts boolean, "new" or "all")',
+ description: 'Update snapshot (accepts boolean, "new", "all" or "none")',
argument: '[type]',
},
watch: {
diff --git a/packages/vitest/src/node/config/resolveConfig.ts b/packages/vitest/src/node/config/resolveConfig.ts
index eb886f865d8e..3c849ea68201 100644
--- a/packages/vitest/src/node/config/resolveConfig.ts
+++ b/packages/vitest/src/node/config/resolveConfig.ts
@@ -566,7 +566,7 @@ export function resolveConfig(
expand: resolved.expandSnapshotDiff ?? false,
snapshotFormat: resolved.snapshotFormat || {},
updateSnapshot:
- UPDATE_SNAPSHOT === 'all' || UPDATE_SNAPSHOT === 'new'
+ UPDATE_SNAPSHOT === 'all' || UPDATE_SNAPSHOT === 'new' || UPDATE_SNAPSHOT === 'none'
? UPDATE_SNAPSHOT
: isCI && !UPDATE_SNAPSHOT ? 'none' : UPDATE_SNAPSHOT ? 'all' : 'new',
resolveSnapshotPath: options.resolveSnapshotPath,
diff --git a/packages/vitest/src/node/types/config.ts b/packages/vitest/src/node/types/config.ts
index e603e1d4b8d9..29c83bc1108a 100644
--- a/packages/vitest/src/node/types/config.ts
+++ b/packages/vitest/src/node/types/config.ts
@@ -380,7 +380,7 @@ export interface InlineConfig {
*
* @default false
*/
- update?: boolean | 'all' | 'new'
+ update?: boolean | 'all' | 'new' | 'none'
/**
* Watch mode
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f626ac513716..9abecc6d4035 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -49,11 +49,11 @@ catalogs:
specifier: ^6.0.4
version: 6.0.4
'@vueuse/core':
- specifier: ^14.2.0
- version: 14.2.0
+ specifier: ^14.2.1
+ version: 14.2.1
acorn-walk:
- specifier: ^8.3.4
- version: 8.3.4
+ specifier: ^8.3.5
+ version: 8.3.5
birpc:
specifier: ^4.0.0
version: 4.0.0
@@ -82,11 +82,11 @@ catalogs:
specifier: ^0.30.21
version: 0.30.21
magicast:
- specifier: ^0.5.1
- version: 0.5.1
+ specifier: ^0.5.2
+ version: 0.5.2
msw:
- specifier: ^2.12.7
- version: 2.12.7
+ specifier: ^2.12.10
+ version: 2.12.10
obug:
specifier: ^2.1.1
version: 2.1.1
@@ -94,8 +94,8 @@ catalogs:
specifier: ^2.0.3
version: 2.0.3
playwright:
- specifier: ^1.58.1
- version: 1.58.1
+ specifier: ^1.58.2
+ version: 1.58.2
sirv:
specifier: ^3.0.2
version: 3.0.2
@@ -105,6 +105,9 @@ catalogs:
strip-literal:
specifier: ^3.1.0
version: 3.1.0
+ tinyexec:
+ specifier: ^1.0.2
+ version: 1.0.2
tinyglobby:
specifier: ^0.2.15
version: 0.2.15
@@ -127,14 +130,14 @@ catalogs:
specifier: 3.0.0
version: 3.0.0
vue:
- specifier: ^3.5.27
- version: 3.5.27
+ specifier: ^3.5.28
+ version: 3.5.28
ws:
specifier: ^8.19.0
version: 8.19.0
overrides:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@vitest/browser': workspace:*
'@vitest/browser-playwright': workspace:*
'@vitest/browser-preview': workspace:*
@@ -169,13 +172,13 @@ importers:
devDependencies:
'@antfu/eslint-config':
specifier: ^7.2.0
- version: 7.2.0(@vue/compiler-sfc@3.5.27)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)
+ version: 7.2.0(@vue/compiler-sfc@3.5.28)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)
'@antfu/ni':
specifier: ^28.2.0
version: 28.2.0
'@playwright/test':
- specifier: ^1.58.1
- version: 1.58.1
+ specifier: ^1.58.2
+ version: 1.58.2
'@rollup/plugin-commonjs':
specifier: ^29.0.0
version: 29.0.0(rollup@4.57.1)
@@ -186,8 +189,8 @@ importers:
specifier: ^16.0.3
version: 16.0.3(rollup@4.57.1)
'@types/node':
- specifier: 24.10.9
- version: 24.10.9
+ specifier: 24.10.13
+ version: 24.10.13
'@types/ws':
specifier: 'catalog:'
version: 8.18.1
@@ -204,14 +207,14 @@ importers:
specifier: workspace:*
version: link:packages/ui
bumpp:
- specifier: ^10.4.0
- version: 10.4.0(magicast@0.3.5)
+ specifier: ^10.4.1
+ version: 10.4.1(magicast@0.3.5)
changelogithub:
specifier: ^14.0.0
version: 14.0.0(magicast@0.3.5)
esbuild:
- specifier: ^0.27.2
- version: 0.27.2
+ specifier: ^0.27.3
+ version: 0.27.3
eslint:
specifier: ^9.39.2
version: 9.39.2(jiti@2.6.1)
@@ -231,8 +234,8 @@ importers:
specifier: ^6.3.0
version: 6.3.0(rollup@4.57.1)(typescript@5.9.3)
rollup-plugin-license:
- specifier: ^3.6.0
- version: 3.6.0(picomatch@4.0.3)(rollup@4.57.1)
+ specifier: ^3.7.0
+ version: 3.7.0(picomatch@4.0.3)(rollup@4.57.1)
tinyglobby:
specifier: 'catalog:'
version: 0.2.15
@@ -250,7 +253,7 @@ importers:
version: 0.5.7
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:packages/vitest
@@ -262,10 +265,10 @@ importers:
dependencies:
'@vueuse/core':
specifier: 'catalog:'
- version: 14.2.0(vue@3.5.27(typescript@5.9.3))
+ version: 14.2.1(vue@3.5.28(typescript@5.9.3))
vue:
specifier: 'catalog:'
- version: 3.5.27(typescript@5.9.3)
+ version: 3.5.28(typescript@5.9.3)
devDependencies:
'@iconify-json/carbon':
specifier: 'catalog:'
@@ -275,7 +278,7 @@ importers:
version: 1.2.10
'@iconify/vue':
specifier: 'catalog:'
- version: 5.0.0(vue@3.5.27(typescript@5.9.3))
+ version: 5.0.0(vue@3.5.28(typescript@5.9.3))
'@shikijs/transformers':
specifier: ^3.22.0
version: 3.22.0
@@ -290,13 +293,13 @@ importers:
version: 1.0.2
'@vite-pwa/vitepress':
specifier: ^1.1.0
- version: 1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0))
+ version: 1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0))
'@vitejs/plugin-vue':
specifier: 'catalog:'
- version: 6.0.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
+ version: 6.0.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))
'@voidzero-dev/vitepress-theme':
- specifier: ^4.4.2
- version: 4.4.2(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(typescript@5.9.3)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vitepress@2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
+ specifier: ^4.5.0
+ version: 4.5.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(typescript@5.9.3)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vitepress@2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))
https-localhost:
specifier: ^4.7.1
version: 4.7.1
@@ -305,25 +308,25 @@ importers:
version: 0.2.15
unocss:
specifier: 'catalog:'
- version: 66.6.0(postcss@8.5.6)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ version: 66.6.0(postcss@8.5.6)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vite-plugin-pwa:
specifier: ^1.2.0
- version: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0)
+ version: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0)
vitepress:
specifier: 2.0.0-alpha.16
- version: 2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+ version: 2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
vitepress-plugin-group-icons:
specifier: ^1.7.1
- version: 1.7.1(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ version: 1.7.1(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
vitepress-plugin-llms:
- specifier: ^1.10.0
- version: 1.10.0
+ specifier: ^1.11.0
+ version: 1.11.0
vitepress-plugin-tabs:
specifier: ^0.7.3
- version: 0.7.3(vitepress@2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
+ version: 0.7.3(vitepress@2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))
workbox-window:
specifier: ^7.4.0
version: 7.4.0
@@ -335,7 +338,7 @@ importers:
version: link:../../packages/ui
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -356,7 +359,7 @@ importers:
version: 4.21.0
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -381,13 +384,13 @@ importers:
version: link:../../packages/browser-playwright
jsdom:
specifier: latest
- version: 28.0.0(@noble/hashes@1.8.0)
+ version: 28.1.0(@noble/hashes@1.8.0)
playwright:
- specifier: ^1.58.1
- version: 1.58.1
+ specifier: ^1.58.2
+ version: 1.58.2
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -398,26 +401,26 @@ importers:
specifier: ^1.9.0
version: 1.9.0
'@opentelemetry/context-zone':
- specifier: ^2.5.0
- version: 2.5.0(@opentelemetry/api@1.9.0)
+ specifier: ^2.5.1
+ version: 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/exporter-trace-otlp-proto':
- specifier: ^0.211.0
- version: 0.211.0(@opentelemetry/api@1.9.0)
+ specifier: ^0.212.0
+ version: 0.212.0(@opentelemetry/api@1.9.0)
'@opentelemetry/resources':
- specifier: ^2.5.0
- version: 2.5.0(@opentelemetry/api@1.9.0)
+ specifier: ^2.5.1
+ version: 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-node':
- specifier: ^0.211.0
- version: 0.211.0(@opentelemetry/api@1.9.0)
+ specifier: ^0.212.0
+ version: 0.212.0(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-web':
- specifier: ^2.5.0
- version: 2.5.0(@opentelemetry/api@1.9.0)
+ specifier: ^2.5.1
+ version: 2.5.1(@opentelemetry/api@1.9.0)
'@vitest/browser-playwright':
specifier: workspace:*
version: link:../../packages/browser-playwright
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -426,7 +429,7 @@ importers:
devDependencies:
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -438,16 +441,16 @@ importers:
version: 6.9.1
'@testing-library/react':
specifier: ^16.3.2
- version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.14)(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.14)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@testing-library/user-event':
specifier: ^14.6.1
version: 14.6.1(@testing-library/dom@10.4.1)
'@types/react':
- specifier: ^19.2.10
- version: 19.2.10
+ specifier: ^19.2.14
+ version: 19.2.14
'@vitejs/plugin-react':
- specifier: ^5.1.3
- version: 5.1.3(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^5.1.4
+ version: 5.1.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
'@vitest/ui':
specifier: workspace:*
version: link:../../packages/ui
@@ -468,7 +471,7 @@ importers:
version: 4.21.0
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -476,8 +479,8 @@ importers:
examples/typecheck:
devDependencies:
'@types/node':
- specifier: 24.10.9
- version: 24.10.9
+ specifier: 24.10.13
+ version: 24.10.13
'@vitest/ui':
specifier: workspace:*
version: link:../../packages/ui
@@ -486,7 +489,7 @@ importers:
version: 5.9.3
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -565,8 +568,8 @@ importers:
version: 3.0.3
devDependencies:
playwright:
- specifier: ^1.58.1
- version: 1.58.1
+ specifier: ^1.58.2
+ version: 1.58.2
vitest:
specifier: workspace:*
version: link:../vitest
@@ -594,8 +597,8 @@ importers:
version: link:../browser
devDependencies:
'@wdio/types':
- specifier: ^9.23.3
- version: 9.23.3
+ specifier: ^9.24.0
+ version: 9.24.0
vitest:
specifier: workspace:*
version: link:../vitest
@@ -628,7 +631,7 @@ importers:
version: 3.2.0
magicast:
specifier: 'catalog:'
- version: 0.5.1
+ version: 0.5.2
obug:
specifier: 'catalog:'
version: 2.1.1
@@ -686,7 +689,7 @@ importers:
version: 3.2.0
magicast:
specifier: 'catalog:'
- version: 0.5.1
+ version: 0.5.2
obug:
specifier: 'catalog:'
version: 2.1.1
@@ -761,7 +764,7 @@ importers:
version: link:../utils
acorn-walk:
specifier: 'catalog:'
- version: 8.3.4
+ version: 8.3.5
cjs-module-lexer:
specifier: ^2.2.0
version: 2.2.0
@@ -770,13 +773,13 @@ importers:
version: 2.0.0
msw:
specifier: 'catalog:'
- version: 2.12.7(@types/node@24.10.9)(typescript@5.9.3)
+ version: 2.12.10(@types/node@24.10.13)(typescript@5.9.3)
pathe:
specifier: 'catalog:'
version: 2.0.3
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
packages/pretty-format:
dependencies:
@@ -855,8 +858,8 @@ importers:
version: link:../vitest
devDependencies:
'@faker-js/faker':
- specifier: ^10.2.0
- version: 10.2.0
+ specifier: ^10.3.0
+ version: 10.3.0
'@iconify-json/carbon':
specifier: 'catalog:'
version: 1.2.18
@@ -880,7 +883,7 @@ importers:
version: 66.6.0
'@vitejs/plugin-vue':
specifier: 'catalog:'
- version: 6.0.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
+ version: 6.0.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))
'@vitest/browser-playwright':
specifier: workspace:*
version: link:../browser-playwright
@@ -895,7 +898,7 @@ importers:
version: 2.4.6
'@vueuse/core':
specifier: 'catalog:'
- version: 14.2.0(vue@3.5.27(typescript@5.9.3))
+ version: 14.2.1(vue@3.5.28(typescript@5.9.3))
ansi-to-html:
specifier: ^0.7.2
version: 0.7.2
@@ -913,7 +916,7 @@ importers:
version: 3.1.7
floating-vue:
specifier: ^5.2.2
- version: 5.2.2(vue@3.5.27(typescript@5.9.3))
+ version: 5.2.2(vue@3.5.28(typescript@5.9.3))
mime:
specifier: ^4.1.0
version: 4.1.0
@@ -922,34 +925,34 @@ importers:
version: 4.57.1
splitpanes:
specifier: ^4.0.4
- version: 4.0.4(vue@3.5.27(typescript@5.9.3))
+ version: 4.0.4(vue@3.5.28(typescript@5.9.3))
typescript:
specifier: ^5.9.3
version: 5.9.3
unocss:
specifier: 'catalog:'
- version: 66.6.0(postcss@8.5.6)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ version: 66.6.0(postcss@8.5.6)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vite-plugin-pages:
- specifier: ^0.33.2
- version: 0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-router@5.0.2(@vue/compiler-sfc@3.5.27)(vue@3.5.27(typescript@5.9.3)))
+ specifier: ^0.33.3
+ version: 0.33.3(@vue/compiler-sfc@3.5.28)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-router@5.0.3(@vue/compiler-sfc@3.5.28)(vue@3.5.28(typescript@5.9.3)))
vitest-browser-vue:
specifier: 2.0.2
- version: 2.0.2(vitest@packages+vitest)(vue@3.5.27(typescript@5.9.3))
+ version: 2.0.2(vitest@packages+vitest)(vue@3.5.28(typescript@5.9.3))
vue:
specifier: 'catalog:'
- version: 3.5.27(typescript@5.9.3)
+ version: 3.5.28(typescript@5.9.3)
vue-router:
- specifier: ^5.0.2
- version: 5.0.2(@vue/compiler-sfc@3.5.27)(vue@3.5.27(typescript@5.9.3))
+ specifier: ^5.0.3
+ version: 5.0.3(@vue/compiler-sfc@3.5.28)(vue@3.5.28(typescript@5.9.3))
vue-tsc:
specifier: ^3.2.4
version: 3.2.4(typescript@5.9.3)
vue-virtual-scroller:
specifier: 2.0.0-beta.8
- version: 2.0.0-beta.8(vue@3.5.27(typescript@5.9.3))
+ version: 2.0.0-beta.8(vue@3.5.28(typescript@5.9.3))
packages/utils:
dependencies:
@@ -1043,7 +1046,7 @@ importers:
version: 3.0.3
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
why-is-node-running:
specifier: ^2.3.0
version: 2.3.0
@@ -1052,8 +1055,8 @@ importers:
specifier: ^1.1.0
version: 1.1.0
'@bomb.sh/tab':
- specifier: ^0.0.12
- version: 0.0.12(cac@6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588))(citty@0.1.6)
+ specifier: ^0.0.14
+ version: 0.0.14(cac@6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588))(citty@0.1.6)
'@edge-runtime/vm':
specifier: ^5.0.0
version: 5.0.0
@@ -1082,8 +1085,8 @@ importers:
specifier: ^27.0.0
version: 27.0.0
'@types/node':
- specifier: 24.10.9
- version: 24.10.9
+ specifier: 24.10.13
+ version: 24.10.13
'@types/picomatch':
specifier: ^4.0.2
version: 4.0.2
@@ -1098,7 +1101,7 @@ importers:
version: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)
acorn-walk:
specifier: 'catalog:'
- version: 8.3.4
+ version: 8.3.5
birpc:
specifier: 'catalog:'
version: 4.0.0
@@ -1115,8 +1118,8 @@ importers:
specifier: 'catalog:'
version: 3.3.3
happy-dom:
- specifier: ^20.4.0
- version: 20.4.0
+ specifier: ^20.6.3
+ version: 20.6.3
jsdom:
specifier: ^27.4.0
version: 27.4.0(@noble/hashes@1.8.0)
@@ -1174,11 +1177,11 @@ importers:
test/browser:
devDependencies:
'@types/react':
- specifier: ^19.2.10
- version: 19.2.10
+ specifier: ^19.2.14
+ version: 19.2.14
'@vitejs/plugin-basic-ssl':
specifier: ^2.1.4
- version: 2.1.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ version: 2.1.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
'@vitest/browser':
specifier: workspace:*
version: link:../../packages/browser
@@ -1198,14 +1201,17 @@ importers:
specifier: link:./cjs-lib
version: link:cjs-lib
playwright:
- specifier: ^1.58.1
- version: 1.58.1
+ specifier: ^1.58.2
+ version: 1.58.2
react:
specifier: ^19.2.4
version: 19.2.4
react-dom:
specifier: ^19.2.4
version: 19.2.4(react@19.2.4)
+ tinyexec:
+ specifier: 'catalog:'
+ version: 1.0.2
url:
specifier: ^0.11.4
version: 0.11.4
@@ -1214,7 +1220,7 @@ importers:
version: link:../../packages/vitest
vitest-browser-react:
specifier: ^2.0.5
- version: 2.0.5(@types/react-dom@18.2.14)(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@packages+vitest)
+ version: 2.0.5(@types/react-dom@18.2.14)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@packages+vitest)
ws:
specifier: 'catalog:'
version: 8.19.0
@@ -1225,11 +1231,11 @@ importers:
specifier: ^1.9.0
version: 1.9.0
'@opentelemetry/sdk-node':
- specifier: ^0.211.0
- version: 0.211.0(@opentelemetry/api@1.9.0)
+ specifier: ^0.212.0
+ version: 0.212.0(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-web':
- specifier: ^2.5.0
- version: 2.5.0(@opentelemetry/api@1.9.0)
+ specifier: ^2.5.1
+ version: 2.5.1(@opentelemetry/api@1.9.0)
'@test/pkg-reporter':
specifier: link:./deps/pkg-reporter
version: link:deps/pkg-reporter
@@ -1247,7 +1253,7 @@ importers:
version: 8.18.1
'@vitejs/plugin-basic-ssl':
specifier: ^2.1.4
- version: 2.1.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ version: 2.1.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
'@vitest/browser-playwright':
specifier: workspace:*
version: link:../../packages/browser-playwright
@@ -1274,7 +1280,7 @@ importers:
version: 2.1.1
playwright:
specifier: 'catalog:'
- version: 1.58.1
+ version: 1.58.2
test-dep-invalid:
specifier: link:./deps/dep-invalid
version: link:deps/dep-invalid
@@ -1289,7 +1295,7 @@ importers:
version: 1.5.9(@swc/core@1.4.1(@swc/helpers@0.5.17))(rollup@4.57.1)
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -1370,7 +1376,7 @@ importers:
version: 1.0.2
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -1426,8 +1432,8 @@ importers:
specifier: workspace:^
version: link:../../packages/web-worker
'@vueuse/integrations':
- specifier: ^14.2.0
- version: 14.2.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.27(typescript@5.9.3))
+ specifier: ^14.2.1
+ version: 14.2.1(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.28(typescript@5.9.3))
axios:
specifier: ^1.13.4
version: 1.13.4
@@ -1465,11 +1471,11 @@ importers:
specifier: file:./vitest-environment-custom
version: file:test/core/vitest-environment-custom
vitest-package-exports:
- specifier: ^1.1.2
- version: 1.1.2
+ specifier: ^1.2.0
+ version: 1.2.0
vue:
specifier: 'catalog:'
- version: 3.5.27(typescript@5.9.3)
+ version: 3.5.28(typescript@5.9.3)
test/coverage-test:
devDependencies:
@@ -1484,7 +1490,7 @@ importers:
version: 3.0.3
'@vitejs/plugin-vue':
specifier: latest
- version: 6.0.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
+ version: 6.0.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))
'@vitest/browser-playwright':
specifier: workspace:*
version: link:../../packages/browser-playwright
@@ -1508,7 +1514,7 @@ importers:
version: 2.4.6
happy-dom:
specifier: latest
- version: 20.6.0
+ version: 20.6.3
istanbul-lib-coverage:
specifier: 'catalog:'
version: 3.2.2
@@ -1519,8 +1525,8 @@ importers:
specifier: ^0.30.21
version: 0.30.21
magicast:
- specifier: ^0.5.1
- version: 0.5.1
+ specifier: ^0.5.2
+ version: 0.5.2
sass-embedded:
specifier: ^1.97.3
version: 1.97.3
@@ -1529,13 +1535,13 @@ importers:
version: 1.5.9(@swc/core@1.4.1(@swc/helpers@0.5.17))(rollup@4.57.1)
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
vue:
specifier: 'catalog:'
- version: 3.5.27(typescript@5.9.3)
+ version: 3.5.28(typescript@5.9.3)
test/node-runner: {}
@@ -1559,7 +1565,7 @@ importers:
version: 3.0.3
vite:
specifier: 7.1.5
- version: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ version: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -1587,7 +1593,7 @@ importers:
version: link:../../packages/browser-playwright
happy-dom:
specifier: latest
- version: 20.6.0
+ version: 20.6.3
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -1605,7 +1611,7 @@ importers:
version: 3.2.2
jsdom:
specifier: latest
- version: 28.0.0(@noble/hashes@1.8.0)
+ version: 28.1.0(@noble/hashes@1.8.0)
vitest:
specifier: workspace:*
version: link:../../packages/vitest
@@ -1706,9 +1712,15 @@ packages:
'@asamuzakjp/css-color@4.1.1':
resolution: {integrity: sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==}
+ '@asamuzakjp/css-color@4.1.2':
+ resolution: {integrity: sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==}
+
'@asamuzakjp/dom-selector@6.7.6':
resolution: {integrity: sha512-hBaJER6A9MpdG3WgdlOolHmbOYvSk46y7IQN/1+iqiCuUu6iWdQrs9DGKF8ocqsEqWujWf/V7b7vaDgiUmIvUg==}
+ '@asamuzakjp/dom-selector@6.8.1':
+ resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==}
+
'@asamuzakjp/nwsapi@2.3.9':
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
@@ -1837,16 +1849,6 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/parser@7.28.5':
- resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/parser@7.28.6':
- resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.29.0':
resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
engines: {node: '>=6.0.0'}
@@ -2255,14 +2257,6 @@ packages:
resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.28.5':
- resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/types@7.28.6':
- resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.29.0':
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
@@ -2274,12 +2268,12 @@ packages:
'@blazediff/core@1.9.1':
resolution: {integrity: sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==}
- '@bomb.sh/tab@0.0.12':
- resolution: {integrity: sha512-dYRwg4MqfHR5/BcTy285XOGRhjQFmNpaJBZ0tl2oU+RY595MQ5ApTF6j3OvauPAooHL6cfoOZMySQrOQztT8RQ==}
+ '@bomb.sh/tab@0.0.14':
+ resolution: {integrity: sha512-cHMk2LI430MVoX1unTt9oK1iZzQS4CYDz97MSxKLNErW69T43Z2QLFTpdS/3jVOIKrIADWfuxQ+nQNJkNV7E4w==}
hasBin: true
peerDependencies:
cac: ^6.7.14
- citty: ^0.1.6
+ citty: ^0.1.6 || ^0.2.0
commander: ^13.1.0
peerDependenciesMeta:
cac:
@@ -2289,6 +2283,10 @@ packages:
commander:
optional: true
+ '@bramus/specificity@2.4.2':
+ resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==}
+ hasBin: true
+
'@bufbuild/protobuf@2.5.2':
resolution: {integrity: sha512-foZ7qr0IsUBjzWIq+SuBLfdQCpJ1j8cTuNNT4owngTHoN5KsJb8L9t65fzz7SCeSWzescoOil/0ldqiL041ABg==}
@@ -2305,6 +2303,10 @@ packages:
resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
engines: {node: '>=18'}
+ '@csstools/color-helpers@6.0.1':
+ resolution: {integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==}
+ engines: {node: '>=20.19.0'}
+
'@csstools/css-calc@2.1.4':
resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
engines: {node: '>=18'}
@@ -2312,6 +2314,13 @@ packages:
'@csstools/css-parser-algorithms': ^3.0.5
'@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-calc@3.1.1':
+ resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
+
'@csstools/css-color-parser@3.1.0':
resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
engines: {node: '>=18'}
@@ -2319,35 +2328,58 @@ packages:
'@csstools/css-parser-algorithms': ^3.0.5
'@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-color-parser@4.0.1':
+ resolution: {integrity: sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
+
'@csstools/css-parser-algorithms@3.0.5':
resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
engines: {node: '>=18'}
peerDependencies:
'@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-parser-algorithms@4.0.0':
+ resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^4.0.0
+
'@csstools/css-syntax-patches-for-csstree@1.0.22':
resolution: {integrity: sha512-qBcx6zYlhleiFfdtzkRgwNC7VVoAwfK76Vmsw5t+PbvtdknO9StgRk7ROvq9so1iqbdW4uLIDAsXRsTfUrIoOw==}
engines: {node: '>=18'}
+ '@csstools/css-syntax-patches-for-csstree@1.0.27':
+ resolution: {integrity: sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==}
+
'@csstools/css-tokenizer@3.0.4':
resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
engines: {node: '>=18'}
- '@docsearch/css@4.3.2':
- resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==}
+ '@csstools/css-tokenizer@4.0.0':
+ resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
+ engines: {node: '>=20.19.0'}
'@docsearch/css@4.5.3':
resolution: {integrity: sha512-kUpHaxn0AgI3LQfyzTYkNUuaFY4uEz/Ym9/N/FvyDE+PzSgZsCyDH9jE49B6N6f1eLCm9Yp64J9wENd6vypdxA==}
- '@docsearch/js@4.3.2':
- resolution: {integrity: sha512-xdfpPXMgKRY9EW7U1vtY7gLKbLZFa9ed+t0Dacquq8zXBqAlH9HlUf0h4Mhxm0xatsVeMaIR2wr/u6g0GsZyQw==}
+ '@docsearch/css@4.6.0':
+ resolution: {integrity: sha512-YlcAimkXclvqta47g47efzCM5CFxDwv2ClkDfEs/fC/Ak0OxPH2b3czwa4o8O1TRBf+ujFF2RiUwszz2fPVNJQ==}
'@docsearch/js@4.5.3':
resolution: {integrity: sha512-rcBiUMCXbZLqrLIT6F6FDcrG/tyvM2WM0zum6NPbIiQNDQxbSgmNc+/bToS0rxBsXaxiU64esiWoS02WqrWLsg==}
+ '@docsearch/js@4.6.0':
+ resolution: {integrity: sha512-9/rbgkm/BgTq46cwxIohvSAz3koOFjnPpg0mwkJItAfzKbQIj+310PvwtgUY1YITDuGCag6yOL50GW2DBkaaBw==}
+
'@docsearch/sidepanel-js@4.5.3':
resolution: {integrity: sha512-DmcZYc1ZMMcabtKrCU2RIf1z09LwazKCyoPFU/ijJiBg2LdqMLmkyDKHGy1OIYEyUx4ok5RIbkVGaRfD55BqZQ==}
+ '@docsearch/sidepanel-js@4.6.0':
+ resolution: {integrity: sha512-lFT5KLwlzUmpoGArCScNoK41l9a22JYsEPwBzMrz+/ILVR5Ax87UphCuiyDFQWEvEmbwzn/kJx5W/O5BUlN1Rw==}
+
'@edge-runtime/primitives@6.0.0':
resolution: {integrity: sha512-FqoxaBT+prPBHBwE1WXS1ocnu/VLTQyZ6NMUBAdbP7N2hsFTTxMC/jMu2D/8GAlMQfxeuppcPuCUk/HO3fpIvA==}
engines: {node: '>=18'}
@@ -2392,8 +2424,8 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.27.2':
- resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
+ '@esbuild/aix-ppc64@0.27.3':
+ resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
@@ -2410,8 +2442,8 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.27.2':
- resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==}
+ '@esbuild/android-arm64@0.27.3':
+ resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
@@ -2428,8 +2460,8 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.27.2':
- resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==}
+ '@esbuild/android-arm@0.27.3':
+ resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
@@ -2446,8 +2478,8 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.27.2':
- resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==}
+ '@esbuild/android-x64@0.27.3':
+ resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
@@ -2464,8 +2496,8 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.27.2':
- resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==}
+ '@esbuild/darwin-arm64@0.27.3':
+ resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
@@ -2482,8 +2514,8 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.27.2':
- resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==}
+ '@esbuild/darwin-x64@0.27.3':
+ resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
@@ -2500,8 +2532,8 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.27.2':
- resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==}
+ '@esbuild/freebsd-arm64@0.27.3':
+ resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
@@ -2518,8 +2550,8 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.27.2':
- resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==}
+ '@esbuild/freebsd-x64@0.27.3':
+ resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
@@ -2536,8 +2568,8 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.27.2':
- resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==}
+ '@esbuild/linux-arm64@0.27.3':
+ resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
@@ -2554,8 +2586,8 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.27.2':
- resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==}
+ '@esbuild/linux-arm@0.27.3':
+ resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
@@ -2572,8 +2604,8 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.27.2':
- resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==}
+ '@esbuild/linux-ia32@0.27.3':
+ resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
@@ -2590,8 +2622,8 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.27.2':
- resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==}
+ '@esbuild/linux-loong64@0.27.3':
+ resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
@@ -2608,8 +2640,8 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.27.2':
- resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==}
+ '@esbuild/linux-mips64el@0.27.3':
+ resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
@@ -2626,8 +2658,8 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.27.2':
- resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==}
+ '@esbuild/linux-ppc64@0.27.3':
+ resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
@@ -2644,8 +2676,8 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.27.2':
- resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==}
+ '@esbuild/linux-riscv64@0.27.3':
+ resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
@@ -2662,8 +2694,8 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.27.2':
- resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==}
+ '@esbuild/linux-s390x@0.27.3':
+ resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
@@ -2680,8 +2712,8 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.27.2':
- resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==}
+ '@esbuild/linux-x64@0.27.3':
+ resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
@@ -2698,8 +2730,8 @@ packages:
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-arm64@0.27.2':
- resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==}
+ '@esbuild/netbsd-arm64@0.27.3':
+ resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
@@ -2716,8 +2748,8 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.27.2':
- resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==}
+ '@esbuild/netbsd-x64@0.27.3':
+ resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
@@ -2734,8 +2766,8 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-arm64@0.27.2':
- resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==}
+ '@esbuild/openbsd-arm64@0.27.3':
+ resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
@@ -2752,8 +2784,8 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.27.2':
- resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==}
+ '@esbuild/openbsd-x64@0.27.3':
+ resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
@@ -2770,8 +2802,8 @@ packages:
cpu: [arm64]
os: [openharmony]
- '@esbuild/openharmony-arm64@0.27.2':
- resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==}
+ '@esbuild/openharmony-arm64@0.27.3':
+ resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
@@ -2788,8 +2820,8 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.27.2':
- resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==}
+ '@esbuild/sunos-x64@0.27.3':
+ resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
@@ -2806,8 +2838,8 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.27.2':
- resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==}
+ '@esbuild/win32-arm64@0.27.3':
+ resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
@@ -2824,8 +2856,8 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.27.2':
- resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==}
+ '@esbuild/win32-ia32@0.27.3':
+ resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
@@ -2842,8 +2874,8 @@ packages:
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.27.2':
- resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==}
+ '@esbuild/win32-x64@0.27.3':
+ resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
@@ -2945,8 +2977,8 @@ packages:
'@exodus/crypto':
optional: true
- '@faker-js/faker@10.2.0':
- resolution: {integrity: sha512-rTXwAsIxpCqzUnZvrxVh3L0QA0NzToqWBLAhV+zDV3MIIwiQhAZHMdPCIaj5n/yADu/tyk12wIPgL6YHGXJP+g==}
+ '@faker-js/faker@10.3.0':
+ resolution: {integrity: sha512-It0Sne6P3szg7JIi6CgKbvTZoMjxBZhcv91ZrqrNuaZQfB5WoqYYbzCUOq89YR+VY8juY9M1vDWmDDa2TzfXCw==}
engines: {node: ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0, npm: '>=10'}
'@fastify/ajv-compiler@4.0.5':
@@ -2982,8 +3014,8 @@ packages:
'@floating-ui/vue@1.1.9':
resolution: {integrity: sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==}
- '@grpc/grpc-js@1.14.1':
- resolution: {integrity: sha512-sPxgEWtPUR3EnRJCEtbGZG2iX8LQDUls2wUS3o27jg07KqJFMq6YDeWvMo1wfpmy3rqRdS0rivpLwhqQtEyCuQ==}
+ '@grpc/grpc-js@1.14.3':
+ resolution: {integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==}
engines: {node: '>=12.10.0'}
'@grpc/proto-loader@0.8.0':
@@ -3159,7 +3191,7 @@ packages:
resolution: {integrity: sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==}
engines: {node: '>=18'}
peerDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
peerDependenciesMeta:
'@types/node':
optional: true
@@ -3168,7 +3200,7 @@ packages:
resolution: {integrity: sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==}
engines: {node: '>=18'}
peerDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
peerDependenciesMeta:
'@types/node':
optional: true
@@ -3181,7 +3213,7 @@ packages:
resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==}
engines: {node: '>=18'}
peerDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
peerDependenciesMeta:
'@types/node':
optional: true
@@ -3356,8 +3388,8 @@ packages:
'@lit/reactive-element@2.1.0':
resolution: {integrity: sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==}
- '@mswjs/interceptors@0.40.0':
- resolution: {integrity: sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ==}
+ '@mswjs/interceptors@0.41.3':
+ resolution: {integrity: sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA==}
engines: {node: '>=18'}
'@napi-rs/wasm-runtime@1.1.1':
@@ -3379,183 +3411,183 @@ packages:
'@open-draft/until@2.1.0':
resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
- '@opentelemetry/api-logs@0.211.0':
- resolution: {integrity: sha512-swFdZq8MCdmdR22jTVGQDhwqDzcI4M10nhjXkLr1EsIzXgZBqm4ZlmmcWsg3TSNf+3mzgOiqveXmBLZuDi2Lgg==}
+ '@opentelemetry/api-logs@0.212.0':
+ resolution: {integrity: sha512-TEEVrLbNROUkYY51sBJGk7lO/OLjuepch8+hmpM6ffMJQ2z/KVCjdHuCFX6fJj8OkJP2zckPjrJzQtXU3IAsFg==}
engines: {node: '>=8.0.0'}
'@opentelemetry/api@1.9.0':
resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
engines: {node: '>=8.0.0'}
- '@opentelemetry/configuration@0.211.0':
- resolution: {integrity: sha512-PNsCkzsYQKyv8wiUIsH+loC4RYyblOaDnVASBtKS22hK55ToWs2UP6IsrcfSWWn54wWTvVe2gnfwz67Pvrxf2Q==}
+ '@opentelemetry/configuration@0.212.0':
+ resolution: {integrity: sha512-D8sAY6RbqMa1W8lCeiaSL2eMCW2MF87QI3y+I6DQE1j+5GrDMwiKPLdzpa/2/+Zl9v1//74LmooCTCJBvWR8Iw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.9.0
- '@opentelemetry/context-async-hooks@2.5.0':
- resolution: {integrity: sha512-uOXpVX0ZjO7heSVjhheW2XEPrhQAWr2BScDPoZ9UDycl5iuHG+Usyc3AIfG6kZeC1GyLpMInpQ6X5+9n69yOFw==}
+ '@opentelemetry/context-async-hooks@2.5.1':
+ resolution: {integrity: sha512-MHbu8XxCHcBn6RwvCt2Vpn1WnLMNECfNKYB14LI5XypcgH4IE0/DiVifVR9tAkwPMyLXN8dOoPJfya3IryLQVw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/context-zone-peer-dep@2.5.0':
- resolution: {integrity: sha512-ZCBtCkfiHzKsUXutg2BhZzz4p7APCnWK+NZ6pjet+SmnwvKjGN8KqgH1Z+3hIMhbzbWGhkOxO6PQcYjIiqLvSQ==}
+ '@opentelemetry/context-zone-peer-dep@2.5.1':
+ resolution: {integrity: sha512-xyBDA9BIjlAeawNawFZtwJp4BUznGrR5Sm7ldK/94qWtYde9+1y61tAqBep0/5B46WpbEadZGbpa2MCKAZwvxA==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
zone.js: ^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0
- '@opentelemetry/context-zone@2.5.0':
- resolution: {integrity: sha512-wevPtv5up7I22YHg0rioRkniAiyN/smHA3Thol3nwC7769bqf6gUgIb5fI4c0gyAlzMZLQLSkG5woPInTdJVKw==}
+ '@opentelemetry/context-zone@2.5.1':
+ resolution: {integrity: sha512-v4HORgtvdnDAdFsP43H5P2fTSzCE/22UrxszSeDyEJmKldpEh2Dyp6tT/5GXYBBVFaTnFvkGv81U0pXV4z41Jg==}
engines: {node: ^18.19.0 || >=20.6.0}
- '@opentelemetry/core@2.5.0':
- resolution: {integrity: sha512-ka4H8OM6+DlUhSAZpONu0cPBtPPTQKxbxVzC4CzVx5+K4JnroJVBtDzLAMx4/3CDTJXRvVFhpFjtl4SaiTNoyQ==}
+ '@opentelemetry/core@2.5.1':
+ resolution: {integrity: sha512-Dwlc+3HAZqpgTYq0MUyZABjFkcrKTePwuiFVLjahGD8cx3enqihmpAmdgNFO1R4m/sIe5afjJrA25Prqy4NXlA==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/exporter-logs-otlp-grpc@0.211.0':
- resolution: {integrity: sha512-UhOoWENNqyaAMP/dL1YXLkXt6ZBtovkDDs1p4rxto9YwJX1+wMjwg+Obfyg2kwpcMoaiIFT3KQIcLNW8nNGNfQ==}
+ '@opentelemetry/exporter-logs-otlp-grpc@0.212.0':
+ resolution: {integrity: sha512-/0bk6fQG+eSFZ4L6NlckGTgUous/ib5+OVdg0x4OdwYeHzV3lTEo3it1HgnPY6UKpmX7ki+hJvxjsOql8rCeZA==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-logs-otlp-http@0.211.0':
- resolution: {integrity: sha512-c118Awf1kZirHkqxdcF+rF5qqWwNjJh+BB1CmQvN9AQHC/DUIldy6dIkJn3EKlQnQ3HmuNRKc/nHHt5IusN7mA==}
+ '@opentelemetry/exporter-logs-otlp-http@0.212.0':
+ resolution: {integrity: sha512-JidJasLwG/7M9RTxV/64xotDKmFAUSBc9SNlxI32QYuUMK5rVKhHNWMPDzC7E0pCAL3cu+FyiKvsTwLi2KqPYw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-logs-otlp-proto@0.211.0':
- resolution: {integrity: sha512-kMvfKMtY5vJDXeLnwhrZMEwhZ2PN8sROXmzacFU/Fnl4Z79CMrOaL7OE+5X3SObRYlDUa7zVqaXp9ZetYCxfDQ==}
+ '@opentelemetry/exporter-logs-otlp-proto@0.212.0':
+ resolution: {integrity: sha512-RpKB5UVfxc7c6Ta1UaCrxXDTQ0OD7BCGT66a97Q5zR1x3+9fw4dSaiqMXT/6FAWj2HyFbem6Rcu1UzPZikGTWQ==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-metrics-otlp-grpc@0.211.0':
- resolution: {integrity: sha512-D/U3G8L4PzZp8ot5hX9wpgbTymgtLZCiwR7heMe4LsbGV4OdctS1nfyvaQHLT6CiGZ6FjKc1Vk9s6kbo9SWLXQ==}
+ '@opentelemetry/exporter-metrics-otlp-grpc@0.212.0':
+ resolution: {integrity: sha512-/6Gqf9wpBq22XsomR1i0iPGnbQtCq2Vwnrq5oiDPjYSqveBdK1jtQbhGfmpK2mLLxk4cPDtD1ZEYdIou5K8EaA==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-metrics-otlp-http@0.211.0':
- resolution: {integrity: sha512-lfHXElPAoDSPpPO59DJdN5FLUnwi1wxluLTWQDayqrSPfWRnluzxRhD+g7rF8wbj1qCz0sdqABl//ug1IZyWvA==}
+ '@opentelemetry/exporter-metrics-otlp-http@0.212.0':
+ resolution: {integrity: sha512-8hgBw3aTTRpSTkU4b9MLf/2YVLnfWp+hfnLq/1Fa2cky+vx6HqTodo+Zv1GTIrAKMOOwgysOjufy0gTxngqeBg==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-metrics-otlp-proto@0.211.0':
- resolution: {integrity: sha512-61iNbffEpyZv/abHaz3BQM3zUtA2kVIDBM+0dS9RK68ML0QFLRGYa50xVMn2PYMToyfszEPEgFC3ypGae2z8FA==}
+ '@opentelemetry/exporter-metrics-otlp-proto@0.212.0':
+ resolution: {integrity: sha512-C7I4WN+ghn3g7SnxXm2RK3/sRD0k/BYcXaK6lGU3yPjiM7a1M25MLuM6zY3PeVPPzzTZPfuS7+wgn/tHk768Xw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-prometheus@0.211.0':
- resolution: {integrity: sha512-cD0WleEL3TPqJbvxwz5MVdVJ82H8jl8mvMad4bNU24cB5SH2mRW5aMLDTuV4614ll46R//R3RMmci26mc2L99g==}
+ '@opentelemetry/exporter-prometheus@0.212.0':
+ resolution: {integrity: sha512-hJFLhCJba5MW5QHexZMHZdMhBfNqNItxOsN0AZojwD1W2kU9xM+BEICowFGJFo/vNV+I2BJvTtmuKafeDSAo7Q==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-trace-otlp-grpc@0.211.0':
- resolution: {integrity: sha512-eFwx4Gvu6LaEiE1rOd4ypgAiWEdZu7Qzm2QNN2nJqPW1XDeAVH1eNwVcVQl+QK9HR/JCDZ78PZgD7xD/DBDqbw==}
+ '@opentelemetry/exporter-trace-otlp-grpc@0.212.0':
+ resolution: {integrity: sha512-9xTuYWp8ClBhljDGAoa0NSsJcsxJsC9zCFKMSZJp1Osb9pjXCMRdA6fwXtlubyqe7w8FH16EWtQNKx/FWi+Ghw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-trace-otlp-http@0.211.0':
- resolution: {integrity: sha512-F1Rv3JeMkgS//xdVjbQMrI3+26e5SXC7vXA6trx8SWEA0OUhw4JHB+qeHtH0fJn46eFItrYbL5m8j4qi9Sfaxw==}
+ '@opentelemetry/exporter-trace-otlp-http@0.212.0':
+ resolution: {integrity: sha512-v/0wMozNoiEPRolzC4YoPo4rAT0q8r7aqdnRw3Nu7IDN0CGFzNQazkfAlBJ6N5y0FYJkban7Aw5WnN73//6YlA==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-trace-otlp-proto@0.211.0':
- resolution: {integrity: sha512-DkjXwbPiqpcPlycUojzG2RmR0/SIK8Gi9qWO9znNvSqgzrnAIE9x2n6yPfpZ+kWHZGafvsvA1lVXucTyyQa5Kg==}
+ '@opentelemetry/exporter-trace-otlp-proto@0.212.0':
+ resolution: {integrity: sha512-d1ivqPT0V+i0IVOOdzGaLqonjtlk5jYrW7ItutWzXL/Mk+PiYb59dymy/i2reot9dDnBFWfrsvxyqdutGF5Vig==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/exporter-zipkin@2.5.0':
- resolution: {integrity: sha512-bk9VJgFgUAzkZzU8ZyXBSWiUGLOM3mZEgKJ1+jsZclhRnAoDNf+YBdq+G9R3cP0+TKjjWad+vVrY/bE/vRR9lA==}
+ '@opentelemetry/exporter-zipkin@2.5.1':
+ resolution: {integrity: sha512-Me6JVO7WqXGXsgr4+7o+B7qwKJQbt0c8WamFnxpkR43avgG9k/niTntwCaXiXUTjonWy0+61ZuX6CGzj9nn8CQ==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.0.0
- '@opentelemetry/instrumentation@0.211.0':
- resolution: {integrity: sha512-h0nrZEC/zvI994nhg7EgQ8URIHt0uDTwN90r3qQUdZORS455bbx+YebnGeEuFghUT0HlJSrLF4iHw67f+odY+Q==}
+ '@opentelemetry/instrumentation@0.212.0':
+ resolution: {integrity: sha512-IyXmpNnifNouMOe0I/gX7ENfv2ZCNdYTF0FpCsoBcpbIHzk81Ww9rQTYTnvghszCg7qGrIhNvWC8dhEifgX9Jg==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/otlp-exporter-base@0.211.0':
- resolution: {integrity: sha512-bp1+63V8WPV+bRI9EQG6E9YID1LIHYSZVbp7f+44g9tRzCq+rtw/o4fpL5PC31adcUsFiz/oN0MdLISSrZDdrg==}
+ '@opentelemetry/otlp-exporter-base@0.212.0':
+ resolution: {integrity: sha512-HoMv5pQlzbuxiMS0hN7oiUtg8RsJR5T7EhZccumIWxYfNo/f4wFc7LPDfFK6oHdG2JF/+qTocfqIHoom+7kLpw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/otlp-grpc-exporter-base@0.211.0':
- resolution: {integrity: sha512-mR5X+N4SuphJeb7/K7y0JNMC8N1mB6gEtjyTLv+TSAhl0ZxNQzpSKP8S5Opk90fhAqVYD4R0SQSAirEBlH1KSA==}
+ '@opentelemetry/otlp-grpc-exporter-base@0.212.0':
+ resolution: {integrity: sha512-YidOSlzpsun9uw0iyIWrQp6HxpMtBlECE3tiHGAsnpEqJWbAUWcMnIffvIuvTtTQ1OyRtwwaE79dWSQ8+eiB7g==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/otlp-transformer@0.211.0':
- resolution: {integrity: sha512-julhCJ9dXwkOg9svuuYqqjXLhVaUgyUvO2hWbTxwjvLXX2rG3VtAaB0SzxMnGTuoCZizBT7Xqqm2V7+ggrfCXA==}
+ '@opentelemetry/otlp-transformer@0.212.0':
+ resolution: {integrity: sha512-bj7zYFOg6Db7NUwsRZQ/WoVXpAf41WY2gsd3kShSfdpZQDRKHWJiRZIg7A8HvWsf97wb05rMFzPbmSHyjEl9tw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': ^1.3.0
- '@opentelemetry/propagator-b3@2.5.0':
- resolution: {integrity: sha512-g10m4KD73RjHrSvUge+sUxUl8m4VlgnGc6OKvo68a4uMfaLjdFU+AULfvMQE/APq38k92oGUxEzBsAZ8RN/YHg==}
+ '@opentelemetry/propagator-b3@2.5.1':
+ resolution: {integrity: sha512-AU6sZgunZrZv/LTeHP+9IQsSSH5p3PtOfDPe8VTdwYH69nZCfvvvXehhzu+9fMW2mgJMh5RVpiH8M9xuYOu5Dg==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/propagator-jaeger@2.5.0':
- resolution: {integrity: sha512-t70ErZCncAR/zz5AcGkL0TF25mJiK1FfDPEQCgreyAHZ+mRJ/bNUiCnImIBDlP3mSDXy6N09DbUEKq0ktW98Hg==}
+ '@opentelemetry/propagator-jaeger@2.5.1':
+ resolution: {integrity: sha512-8+SB94/aSIOVGDUPRFSBRHVUm2A8ye1vC6/qcf/D+TF4qat7PC6rbJhRxiUGDXZtMtKEPM/glgv5cBGSJQymSg==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/resources@2.5.0':
- resolution: {integrity: sha512-F8W52ApePshpoSrfsSk1H2yJn9aKjCrbpQF1M9Qii0GHzbfVeFUB+rc3X4aggyZD8x9Gu3Slua+s6krmq6Dt8g==}
+ '@opentelemetry/resources@2.5.1':
+ resolution: {integrity: sha512-BViBCdE/GuXRlp9k7nS1w6wJvY5fnFX5XvuEtWsTAOQFIO89Eru7lGW3WbfbxtCuZ/GbrJfAziXG0w0dpxL7eQ==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.3.0 <1.10.0'
- '@opentelemetry/sdk-logs@0.211.0':
- resolution: {integrity: sha512-O5nPwzgg2JHzo59kpQTPUOTzFi0Nv5LxryG27QoXBciX3zWM3z83g+SNOHhiQVYRWFSxoWn1JM2TGD5iNjOwdA==}
+ '@opentelemetry/sdk-logs@0.212.0':
+ resolution: {integrity: sha512-qglb5cqTf0mOC1sDdZ7nfrPjgmAqs2OxkzOPIf2+Rqx8yKBK0pS7wRtB1xH30rqahBIut9QJDbDePyvtyqvH/Q==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.4.0 <1.10.0'
- '@opentelemetry/sdk-metrics@2.5.0':
- resolution: {integrity: sha512-BeJLtU+f5Gf905cJX9vXFQorAr6TAfK3SPvTFqP+scfIpDQEJfRaGJWta7sJgP+m4dNtBf9y3yvBKVAZZtJQVA==}
+ '@opentelemetry/sdk-metrics@2.5.1':
+ resolution: {integrity: sha512-RKMn3QKi8nE71ULUo0g/MBvq1N4icEBo7cQSKnL3URZT16/YH3nSVgWegOjwx7FRBTrjOIkMJkCUn/ZFIEfn4A==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.9.0 <1.10.0'
- '@opentelemetry/sdk-node@0.211.0':
- resolution: {integrity: sha512-+s1eGjoqmPCMptNxcJJD4IxbWJKNLOQFNKhpwkzi2gLkEbCj6LzSHJNhPcLeBrBlBLtlSpibM+FuS7fjZ8SSFQ==}
+ '@opentelemetry/sdk-node@0.212.0':
+ resolution: {integrity: sha512-tJzVDk4Lo44MdgJLlP+gdYdMnjxSNsjC/IiTxj5CFSnsjzpHXwifgl3BpUX67Ty3KcdubNVfedeBc/TlqHXwwg==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.3.0 <1.10.0'
- '@opentelemetry/sdk-trace-base@2.5.0':
- resolution: {integrity: sha512-VzRf8LzotASEyNDUxTdaJ9IRJ1/h692WyArDBInf5puLCjxbICD6XkHgpuudis56EndyS7LYFmtTMny6UABNdQ==}
+ '@opentelemetry/sdk-trace-base@2.5.1':
+ resolution: {integrity: sha512-iZH3Gw8cxQn0gjpOjJMmKLd9GIaNh/E3v3ST67vyzLSxHBs14HsG4dy7jMYyC5WXGdBVEcM7U/XTF5hCQxjDMw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.3.0 <1.10.0'
- '@opentelemetry/sdk-trace-node@2.5.0':
- resolution: {integrity: sha512-O6N/ejzburFm2C84aKNrwJVPpt6HSTSq8T0ZUMq3xT2XmqT4cwxUItcL5UWGThYuq8RTcbH8u1sfj6dmRci0Ow==}
+ '@opentelemetry/sdk-trace-node@2.5.1':
+ resolution: {integrity: sha512-9lopQ6ZoElETOEN0csgmtEV5/9C7BMfA7VtF4Jape3i954b6sTY2k3Xw3CxUTKreDck/vpAuJM+EDo4zheUw+A==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/sdk-trace-web@2.5.0':
- resolution: {integrity: sha512-xWibakHs+xbx6vxH7Q8TbFS6zjf812o/kIS4xBDB32qSL9wF+Z5IZl2ZAGu4rtmPBQ7coZcOd684DobMhf8dKw==}
+ '@opentelemetry/sdk-trace-web@2.5.1':
+ resolution: {integrity: sha512-4PWFtMJ5nqWMP2YqgKjcMlQlUeN1imUYSXdhy6Xl/3bnO0/Ryo5Y3/kWG8T66uMHo2RpTQLloZjoQACKdbHbxg==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
@@ -4158,8 +4190,8 @@ packages:
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- '@playwright/test@1.58.1':
- resolution: {integrity: sha512-6LdVIUERWxQMmUSSQi0I53GgCBYgM2RpGngCPY7hSeju+VrKjq3lvs7HpJoPbDiY5QM5EYRtRX5fvrinnMAz3w==}
+ '@playwright/test@1.58.2':
+ resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==}
engines: {node: '>=18'}
hasBin: true
@@ -4216,6 +4248,9 @@ packages:
'@rolldown/pluginutils@1.0.0-rc.2':
resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==}
+ '@rolldown/pluginutils@1.0.0-rc.3':
+ resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
+
'@rollup/plugin-babel@5.3.1':
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
@@ -4835,8 +4870,8 @@ packages:
'@types/natural-compare@1.4.3':
resolution: {integrity: sha512-XCAxy+Gg6+S6VagwzcknnvCKujj/bVv1q+GFuCrFEelqaZPqJoC+FeXLwc2dp+oLP7qDZQ4ZfQiTJQ9sIUmlLw==}
- '@types/node@24.10.9':
- resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==}
+ '@types/node@24.10.13':
+ resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==}
'@types/picomatch@4.0.2':
resolution: {integrity: sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==}
@@ -4853,8 +4888,8 @@ packages:
'@types/react-is@19.2.0':
resolution: {integrity: sha512-NP2xtcjZfORsOa4g2JwdseyEnF+wUCx25fTdG/J/HIY6yKga6+NozRBg2xR2gyh7kKYyd6DXndbq0YbQuTJ7Ew==}
- '@types/react@19.2.10':
- resolution: {integrity: sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==}
+ '@types/react@19.2.14':
+ resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -5075,8 +5110,8 @@ packages:
peerDependencies:
vite: 7.1.5
- '@vitejs/plugin-react@5.1.3':
- resolution: {integrity: sha512-NVUnA6gQCl8jfoYqKqQU5Clv0aPw14KkZYCsX6T9Lfu9slI0LOU10OTwFHS/WmptsMMpshNd/1tuWsHQ2Uk+cg==}
+ '@vitejs/plugin-react@5.1.4':
+ resolution: {integrity: sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
vite: 7.1.5
@@ -5134,10 +5169,10 @@ packages:
'@vitest/test-fn@file:test/core/deps/dep-fn':
resolution: {directory: test/core/deps/dep-fn, type: directory}
- '@voidzero-dev/vitepress-theme@4.4.2':
- resolution: {integrity: sha512-BUinVWLy+QQOuXsBfutG3ulZfTDFr6gsoESXTcsIre5PUZEKXAjjvW1hlC7D9MX6Bc6uG6tFzk0nNS4DBt1LDA==}
+ '@voidzero-dev/vitepress-theme@4.5.0':
+ resolution: {integrity: sha512-jY6VprjFeIjBAPWIh0FJUSwU3GwKrHmf8u91HkLxHvzilXbyuu9sJCfF7FnjG2hYH07nF86xnnm+KGZxvFxthg==}
peerDependencies:
- vitepress: ^2.0.0-alpha.15
+ vitepress: ^2.0.0-alpha.16
vue: ^3.5.0
'@volar/language-core@2.4.27':
@@ -5161,44 +5196,68 @@ packages:
'@vue/compiler-core@3.5.27':
resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==}
+ '@vue/compiler-core@3.5.28':
+ resolution: {integrity: sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==}
+
'@vue/compiler-dom@3.5.27':
resolution: {integrity: sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==}
+ '@vue/compiler-dom@3.5.28':
+ resolution: {integrity: sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==}
+
'@vue/compiler-sfc@3.5.27':
resolution: {integrity: sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==}
+ '@vue/compiler-sfc@3.5.28':
+ resolution: {integrity: sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==}
+
'@vue/compiler-ssr@3.5.27':
resolution: {integrity: sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==}
+ '@vue/compiler-ssr@3.5.28':
+ resolution: {integrity: sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==}
+
'@vue/devtools-api@8.0.5':
resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==}
+ '@vue/devtools-api@8.0.6':
+ resolution: {integrity: sha512-+lGBI+WTvJmnU2FZqHhEB8J1DXcvNlDeEalz77iYgOdY1jTj1ipSBaKj3sRhYcy+kqA8v/BSuvOz1XJucfQmUA==}
+
'@vue/devtools-kit@8.0.5':
resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==}
+ '@vue/devtools-kit@8.0.6':
+ resolution: {integrity: sha512-9zXZPTJW72OteDXeSa5RVML3zWDCRcO5t77aJqSs228mdopYj5AiTpihozbsfFJ0IodfNs7pSgOGO3qfCuxDtw==}
+
'@vue/devtools-shared@8.0.5':
resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==}
+ '@vue/devtools-shared@8.0.6':
+ resolution: {integrity: sha512-Pp1JylTqlgMJvxW6MGyfTF8vGvlBSCAvMFaDCYa82Mgw7TT5eE5kkHgDvmOGHWeJE4zIDfCpCxHapsK2LtIAJg==}
+
'@vue/language-core@3.2.4':
resolution: {integrity: sha512-bqBGuSG4KZM45KKTXzGtoCl9cWju5jsaBKaJJe3h5hRAAWpZUuj5G+L+eI01sPIkm4H6setKRlw7E85wLdDNew==}
- '@vue/reactivity@3.5.27':
- resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==}
+ '@vue/reactivity@3.5.28':
+ resolution: {integrity: sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==}
- '@vue/runtime-core@3.5.27':
- resolution: {integrity: sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==}
+ '@vue/runtime-core@3.5.28':
+ resolution: {integrity: sha512-POVHTdbgnrBBIpnbYU4y7pOMNlPn2QVxVzkvEA2pEgvzbelQq4ZOUxbp2oiyo+BOtiYlm8Q44wShHJoBvDPAjQ==}
- '@vue/runtime-dom@3.5.27':
- resolution: {integrity: sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==}
+ '@vue/runtime-dom@3.5.28':
+ resolution: {integrity: sha512-4SXxSF8SXYMuhAIkT+eBRqOkWEfPu6nhccrzrkioA6l0boiq7sp18HCOov9qWJA5HML61kW8p/cB4MmBiG9dSA==}
- '@vue/server-renderer@3.5.27':
- resolution: {integrity: sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==}
+ '@vue/server-renderer@3.5.28':
+ resolution: {integrity: sha512-pf+5ECKGj8fX95bNincbzJ6yp6nyzuLDhYZCeFxUNp8EBrQpPpQaLX3nNCp49+UbgbPun3CeVE+5CXVV1Xydfg==}
peerDependencies:
- vue: 3.5.27
+ vue: 3.5.28
'@vue/shared@3.5.27':
resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==}
+ '@vue/shared@3.5.28':
+ resolution: {integrity: sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==}
+
'@vue/test-utils@2.4.6':
resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
@@ -5210,6 +5269,11 @@ packages:
peerDependencies:
vue: ^3.5.0
+ '@vueuse/core@14.2.1':
+ resolution: {integrity: sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==}
+ peerDependencies:
+ vue: ^3.5.0
+
'@vueuse/integrations@14.2.0':
resolution: {integrity: sha512-Yuo5XbIi6XkfSXOYKd5SBZwyBEyO3Hd41eeG2555hDbE0Maz/P0BfPJDYhgDXjS9xI0jkWUUp1Zh5lXHOgkwLw==}
peerDependencies:
@@ -5252,22 +5316,67 @@ packages:
universal-cookie:
optional: true
+ '@vueuse/integrations@14.2.1':
+ resolution: {integrity: sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==}
+ peerDependencies:
+ async-validator: ^4
+ axios: ^1
+ change-case: ^5
+ drauu: ^0.4
+ focus-trap: ^7 || ^8
+ fuse.js: ^7
+ idb-keyval: ^6
+ jwt-decode: ^4
+ nprogress: ^0.2
+ qrcode: ^1.5
+ sortablejs: ^1
+ universal-cookie: ^7 || ^8
+ vue: ^3.5.0
+ peerDependenciesMeta:
+ async-validator:
+ optional: true
+ axios:
+ optional: true
+ change-case:
+ optional: true
+ drauu:
+ optional: true
+ focus-trap:
+ optional: true
+ fuse.js:
+ optional: true
+ idb-keyval:
+ optional: true
+ jwt-decode:
+ optional: true
+ nprogress:
+ optional: true
+ qrcode:
+ optional: true
+ sortablejs:
+ optional: true
+ universal-cookie:
+ optional: true
+
'@vueuse/metadata@12.8.2':
resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
'@vueuse/metadata@14.2.0':
resolution: {integrity: sha512-i3axTGjU8b13FtyR4Keeama+43iD+BwX9C2TmzBVKqjSHArF03hjkp2SBZ1m72Jk2UtrX0aYCugBq2R1fhkuAQ==}
+ '@vueuse/metadata@14.2.1':
+ resolution: {integrity: sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==}
+
'@vueuse/shared@12.8.2':
resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
- '@vueuse/shared@14.1.0':
- resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==}
+ '@vueuse/shared@14.2.0':
+ resolution: {integrity: sha512-Z0bmluZTlAXgUcJ4uAFaML16JcD8V0QG00Db3quR642I99JXIDRa2MI2LGxiLVhcBjVnL1jOzIvT5TT2lqJlkA==}
peerDependencies:
vue: ^3.5.0
- '@vueuse/shared@14.2.0':
- resolution: {integrity: sha512-Z0bmluZTlAXgUcJ4uAFaML16JcD8V0QG00Db3quR642I99JXIDRa2MI2LGxiLVhcBjVnL1jOzIvT5TT2lqJlkA==}
+ '@vueuse/shared@14.2.1':
+ resolution: {integrity: sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==}
peerDependencies:
vue: ^3.5.0
@@ -5290,8 +5399,8 @@ packages:
resolution: {integrity: sha512-zMmAtse2UMCSOW76mvK3OejauAdcFGuKopNRH7crI0gwKTZtvV89yXWRziz9cVXpFgfmJCjf9edxKFWdhuF5yw==}
engines: {node: '>=18.20.0'}
- '@wdio/types@9.23.3':
- resolution: {integrity: sha512-Ufjh06DAD7cGTMORUkq5MTZLw1nAgBSr2y8OyiNNuAfPGCwHEU3EwEfhG/y0V7S7xT5pBxliqWi7AjRrCgGcIA==}
+ '@wdio/types@9.24.0':
+ resolution: {integrity: sha512-PYYunNl8Uq1r8YMJAK6ReRy/V/XIrCSyj5cpCtR5EqCL6heETOORFj7gt4uPnzidfgbtMBcCru0LgjjlMiH1UQ==}
engines: {node: '>=18.20.0'}
'@wdio/utils@9.20.0':
@@ -5330,8 +5439,8 @@ packages:
peerDependencies:
acorn: 8.11.3
- acorn-walk@8.3.4:
- resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ acorn-walk@8.3.5:
+ resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==}
engines: {node: '>=0.4.0'}
acorn@8.11.3:
@@ -5583,8 +5692,8 @@ packages:
resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==}
engines: {node: '>=18.20'}
- bumpp@10.4.0:
- resolution: {integrity: sha512-VzJhB4iyZ04w99HreEvXJY/lxzApnE/PRbcFY4cKnOUSRVbRbAf0AIU0DeavrkffW+mclJlkmnQYn9NdwcBk1g==}
+ bumpp@10.4.1:
+ resolution: {integrity: sha512-X/bwWs5Gbb/D7rN4aHLB7zdjiA6nGdjckM1sTHhI9oovIbEw2L5pw5S4xzk8ZTeOZ8EnwU/Ze4SoZ6/Vr3pM2Q==}
engines: {node: '>=18'}
hasBin: true
@@ -5713,9 +5822,6 @@ packages:
citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
- cjs-module-lexer@1.4.3:
- resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
-
cjs-module-lexer@2.2.0:
resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==}
@@ -5920,8 +6026,8 @@ packages:
resolution: {integrity: sha512-GlsEptulso7Jg0VaOZ8BXQi3AkYM5BOJKEO/rjMidSCq70FkIC5y0eawrCXeYzxgt3OCf4Ls+eoxN+/05vN0Ag==}
engines: {node: '>=20'}
- cssstyle@5.3.7:
- resolution: {integrity: sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==}
+ cssstyle@6.0.1:
+ resolution: {integrity: sha512-IoJs7La+oFp/AB033wBStxNOJt4+9hHMxsXUPANcoXL2b3W4DZKghlJ2cI/eyeRZIQ9ysvYEorVhjrcYctWbog==}
engines: {node: '>=20'}
csstype@3.2.3:
@@ -6223,6 +6329,10 @@ packages:
resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==}
engines: {node: '>=0.12'}
+ entities@7.0.1:
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
+ engines: {node: '>=0.12'}
+
es-abstract@1.24.1:
resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==}
engines: {node: '>= 0.4'}
@@ -6260,8 +6370,8 @@ packages:
engines: {node: '>=18'}
hasBin: true
- esbuild@0.27.2:
- resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
+ esbuild@0.27.3:
+ resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==}
engines: {node: '>=18'}
hasBin: true
@@ -6601,14 +6711,6 @@ packages:
fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
- fdir@6.4.4:
- resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -6909,12 +7011,8 @@ packages:
handle-thing@2.0.1:
resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
- happy-dom@20.4.0:
- resolution: {integrity: sha512-RDeQm3dT9n0A5f/TszjUmNCLEuPnMGv3Tv4BmNINebz/h17PA6LMBcxJ5FrcqltNBMh9jA/8ufgDdBYUdBt+eg==}
- engines: {node: '>=20.0.0'}
-
- happy-dom@20.6.0:
- resolution: {integrity: sha512-a+Sz2bPai3rajDuE82Y4B0OxlXJ19ckUjyfWDmeCAs8ZbEbnqtwzV9d4CVhQjWIuOBTOw8rhlxNeaSCHeknXRQ==}
+ happy-dom@20.6.3:
+ resolution: {integrity: sha512-QAMY7d228dHs8gb9NG4SJ3OxQo4r+NGN8pOXGZ3SGfQf/XYuuYubrtZ25QVY2WoUQdskhRXSXb4R4mcRk+hV1w==}
engines: {node: '>=20.0.0'}
has-bigints@1.1.0:
@@ -6959,9 +7057,6 @@ packages:
hpack.js@2.1.6:
resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
- htm@3.1.1:
- resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==}
-
html-encoding-sniffer@6.0.0:
resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -7044,8 +7139,8 @@ packages:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
- import-in-the-middle@2.0.0:
- resolution: {integrity: sha512-yNZhyQYqXpkT0AKq3F3KLasUSK4fHvebNH5hOsKQw2dhGSALvQ4U0BqUc5suziKvydO5u5hgN2hy1RJaho8U5A==}
+ import-in-the-middle@2.0.6:
+ resolution: {integrity: sha512-3vZV3jX0XRFW3EJDTwzWoZa+RH1b8eTTx6YOCjglrLyPuepwoBti1k3L2dKwdCUrnVEfc5CuRuGstaC/uQJJaw==}
import-meta-resolve@4.0.0:
resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
@@ -7387,8 +7482,8 @@ packages:
canvas:
optional: true
- jsdom@28.0.0:
- resolution: {integrity: sha512-KDYJgZ6T2TKdU8yBfYueq5EPG/EylMsBvCaenWMJb2OXmjgczzwveRCoJ+Hgj1lXPDyasvrgneSn4GBuR1hYyA==}
+ jsdom@28.1.0:
+ resolution: {integrity: sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
peerDependencies:
canvas: ^3.0.0
@@ -7696,6 +7791,10 @@ packages:
resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==}
engines: {node: 20 || >=22}
+ lru-cache@11.2.6:
+ resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==}
+ engines: {node: 20 || >=22}
+
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -7720,8 +7819,8 @@ packages:
magicast@0.3.5:
resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
- magicast@0.5.1:
- resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==}
+ magicast@0.5.2:
+ resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==}
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
@@ -8010,8 +8109,8 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- msw@2.12.7:
- resolution: {integrity: sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg==}
+ msw@2.12.10:
+ resolution: {integrity: sha512-G3VUymSE0/iegFnuipujpwyTM2GuZAKXNeerUSrG2+Eg391wW63xFs5ixWsK9MWzr1AGoSkYGmyAzNgbR3+urw==}
engines: {node: '>=18'}
hasBin: true
peerDependencies:
@@ -8331,13 +8430,13 @@ packages:
pkg-types@2.3.0:
resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
- playwright-core@1.58.1:
- resolution: {integrity: sha512-bcWzOaTxcW+VOOGBCQgnaKToLJ65d6AqfLVKEWvexyS3AS6rbXl+xdpYRMGSRBClPvyj44njOWoxjNdL/H9UNg==}
+ playwright-core@1.58.2:
+ resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.58.1:
- resolution: {integrity: sha512-+2uTZHxSCcxjvGc5C891LrS1/NlxglGxzrC4seZiVjcYVQfUa87wBL6rTDqzGjuoWNjnBzRqKmF6zRYGMvQUaQ==}
+ playwright@1.58.2:
+ resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==}
engines: {node: '>=18'}
hasBin: true
@@ -8669,8 +8768,8 @@ packages:
resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==}
engines: {node: '>=10'}
- rettime@0.7.0:
- resolution: {integrity: sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==}
+ rettime@0.10.1:
+ resolution: {integrity: sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw==}
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
@@ -8689,8 +8788,8 @@ packages:
rollup: ^4.57.1
typescript: ^4.5 || ^5.0
- rollup-plugin-license@3.6.0:
- resolution: {integrity: sha512-1ieLxTCaigI5xokIfszVDRoy6c/Wmlot1fDEnea7Q/WXSR8AqOjYljHDLObAx7nFxHC2mbxT3QnTSPhaic2IYw==}
+ rollup-plugin-license@3.7.0:
+ resolution: {integrity: sha512-RvvOIF+GH3fBR3wffgc/vmjQn6qOn72WjppWVDp/v+CLpT0BbcRBdSkPeeIOL6U5XccdYgSIMjUyXgxlKEEFcw==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^4.57.1
@@ -9036,9 +9135,6 @@ packages:
spdx-compare@1.0.0:
resolution: {integrity: sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==}
- spdx-exceptions@2.3.0:
- resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
-
spdx-exceptions@2.5.0:
resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
@@ -9051,9 +9147,6 @@ packages:
spdx-expression-validate@2.0.0:
resolution: {integrity: sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==}
- spdx-license-ids@3.0.12:
- resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==}
-
spdx-license-ids@3.0.22:
resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==}
@@ -9505,8 +9598,8 @@ packages:
resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==}
engines: {node: '>=18.17'}
- undici@7.20.0:
- resolution: {integrity: sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==}
+ undici@7.22.0:
+ resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==}
engines: {node: '>=20.18.1'}
unicode-canonical-property-names-ecmascript@2.0.1:
@@ -9666,8 +9759,8 @@ packages:
vfile@6.0.1:
resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
- vite-plugin-pages@0.33.2:
- resolution: {integrity: sha512-tuWrpIXCMjbCXyOvpMSXiQ+m72Tgl7wmQnwzAV9T6Q0OpEAnxKv8ZPG5yBiBljp+zVcRq/2b1IqmJHPpsE/LFg==}
+ vite-plugin-pages@0.33.3:
+ resolution: {integrity: sha512-k97CAlVN7VUD5CIkRaose8Ty1xjtpuSeJQngFxsinPyM7PCtAIp23QdnkygNRdoo4gjX21TORYdEAAN/lGtCIA==}
peerDependencies:
'@solidjs/router': '*'
'@vue/compiler-sfc': ^2.7.0 || ^3.0.0
@@ -9701,7 +9794,7 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
jiti: '>=1.21.0'
less: ^4.0.0
lightningcss: ^1.21.0
@@ -9744,8 +9837,8 @@ packages:
vite:
optional: true
- vitepress-plugin-llms@1.10.0:
- resolution: {integrity: sha512-dgD5KV8D9vXlQtAf/KUjSgr3QymH1fHT7XkQ/UuIqvIjnKdzZI+0gT3puGxUBuqgvlFjYWA6f8k80tXl6gwWkw==}
+ vitepress-plugin-llms@1.11.0:
+ resolution: {integrity: sha512-n6fjWzBNKy40p8cij+d2cHiC2asNW1eQKdmc06gX9VAv7vWppIoVLH/f7Ht1bK0vSpGzzW2QimvNfbfv1oCdJw==}
vitepress-plugin-tabs@0.7.3:
resolution: {integrity: sha512-CkUz49UrTLcVOszuiHIA7ZBvfsg9RluRkFjRG1KvCg/NwuOTLZwcBRv7vBB3vMlDp0bWXIFOIwdI7bE93cV3Hw==}
@@ -9791,8 +9884,8 @@ packages:
vitest-environment-custom@file:test/core/vitest-environment-custom:
resolution: {directory: test/core/vitest-environment-custom, type: directory}
- vitest-package-exports@1.1.2:
- resolution: {integrity: sha512-895iRrbcsZIDMhJSftGcQkuOPZcbCbHEQHXG0MnPKsSkpJhMRYuVtjA8dcjokyygJd/IQDDO8gyKo01AIkudHQ==}
+ vitest-package-exports@1.2.0:
+ resolution: {integrity: sha512-eSpazGhRMgGfUdaWgMeLM3v4l5P/1wFDA6gTe43Q+wT/r1jn/k8Ft9tsVleMU+gjzLXlwaPHSpt1/5+JMsnPWw==}
vitest-sonar-reporter@3.0.0:
resolution: {integrity: sha512-QRT5m9Z/3Kt0WVDVcFHm5LC9Ba89yDP4twlX2QUAJ9PdqfJBkLAh/kXj7m6U3i0k6GxnIEiwCc295bmAYokmZg==}
@@ -9836,8 +9929,8 @@ packages:
peerDependencies:
vue: ^3.0.0
- vue-router@5.0.2:
- resolution: {integrity: sha512-YFhwaE5c5JcJpNB1arpkl4/GnO32wiUWRB+OEj1T0DlDxEZoOfbltl2xEwktNU/9o1sGcGburIXSpbLpPFe/6w==}
+ vue-router@5.0.3:
+ resolution: {integrity: sha512-nG1c7aAFac7NYj8Hluo68WyWfc41xkEjaR0ViLHCa3oDvTQ/nIuLJlXJX1NUPw/DXzx/8+OKMng045HHQKQKWw==}
peerDependencies:
'@pinia/colada': '>=0.21.2'
'@vue/compiler-sfc': ^3.5.17
@@ -9862,8 +9955,8 @@ packages:
peerDependencies:
vue: ^3.2.0
- vue@3.5.27:
- resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==}
+ vue@3.5.28:
+ resolution: {integrity: sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -10144,7 +10237,7 @@ snapshots:
'@adobe/css-tools@4.4.0': {}
- '@antfu/eslint-config@7.2.0(@vue/compiler-sfc@3.5.27)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)':
+ '@antfu/eslint-config@7.2.0(@vue/compiler-sfc@3.5.28)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)':
dependencies:
'@antfu/install-pkg': 1.1.0
'@clack/prompts': 0.11.0
@@ -10175,7 +10268,7 @@ snapshots:
eslint-plugin-unused-imports: 4.3.0(@typescript-eslint/eslint-plugin@8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-vue: 10.7.0(@stylistic/eslint-plugin@5.7.1(eslint@9.39.2(jiti@2.6.1)))(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)))
eslint-plugin-yml: 3.0.0(eslint@9.39.2(jiti@2.6.1))
- eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.27)(eslint@9.39.2(jiti@2.6.1))
+ eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.28)(eslint@9.39.2(jiti@2.6.1))
globals: 17.1.0
jsonc-eslint-parser: 2.4.2
local-pkg: 1.1.2
@@ -10218,6 +10311,14 @@ snapshots:
'@csstools/css-tokenizer': 3.0.4
lru-cache: 11.2.4
+ '@asamuzakjp/css-color@4.1.2':
+ dependencies:
+ '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-color-parser': 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+ lru-cache: 11.2.6
+
'@asamuzakjp/dom-selector@6.7.6':
dependencies:
'@asamuzakjp/nwsapi': 2.3.9
@@ -10226,6 +10327,14 @@ snapshots:
is-potential-custom-element-name: 1.0.1
lru-cache: 11.2.4
+ '@asamuzakjp/dom-selector@6.8.1':
+ dependencies:
+ '@asamuzakjp/nwsapi': 2.3.9
+ bidi-js: 1.0.3
+ css-tree: 3.1.0
+ is-potential-custom-element-name: 1.0.1
+ lru-cache: 11.2.6
+
'@asamuzakjp/nwsapi@2.3.9': {}
'@babel/code-frame@7.27.1':
@@ -10398,19 +10507,11 @@ snapshots:
'@babel/parser@7.27.2':
dependencies:
- '@babel/types': 7.28.6
+ '@babel/types': 7.29.0
'@babel/parser@7.27.7':
dependencies:
- '@babel/types': 7.28.6
-
- '@babel/parser@7.28.5':
- dependencies:
- '@babel/types': 7.28.6
-
- '@babel/parser@7.28.6':
- dependencies:
- '@babel/types': 7.28.6
+ '@babel/types': 7.29.0
'@babel/parser@7.29.0':
dependencies:
@@ -10913,9 +11014,9 @@ snapshots:
dependencies:
'@babel/code-frame': 7.28.6
'@babel/generator': 7.29.0
- '@babel/parser': 7.28.6
+ '@babel/parser': 7.29.0
'@babel/template': 7.28.6
- '@babel/types': 7.28.6
+ '@babel/types': 7.29.0
debug: 4.4.3
globals: 11.12.0
transitivePeerDependencies:
@@ -10933,16 +11034,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/types@7.28.5':
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
-
- '@babel/types@7.28.6':
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
-
'@babel/types@7.29.0':
dependencies:
'@babel/helper-string-parser': 7.27.1
@@ -10952,11 +11043,15 @@ snapshots:
'@blazediff/core@1.9.1': {}
- '@bomb.sh/tab@0.0.12(cac@6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588))(citty@0.1.6)':
+ '@bomb.sh/tab@0.0.14(cac@6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588))(citty@0.1.6)':
optionalDependencies:
cac: 6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588)
citty: 0.1.6
+ '@bramus/specificity@2.4.2':
+ dependencies:
+ css-tree: 3.1.0
+
'@bufbuild/protobuf@2.5.2': {}
'@canvas/image-data@1.0.0': {}
@@ -10974,11 +11069,18 @@ snapshots:
'@csstools/color-helpers@5.1.0': {}
+ '@csstools/color-helpers@6.0.1': {}
+
'@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
'@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+
'@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/color-helpers': 5.1.0
@@ -10986,26 +11088,41 @@ snapshots:
'@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
'@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ dependencies:
+ '@csstools/color-helpers': 6.0.1
+ '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+
'@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)':
+ dependencies:
+ '@csstools/css-tokenizer': 4.0.0
+
'@csstools/css-syntax-patches-for-csstree@1.0.22': {}
+ '@csstools/css-syntax-patches-for-csstree@1.0.27': {}
+
'@csstools/css-tokenizer@3.0.4': {}
- '@docsearch/css@4.3.2': {}
+ '@csstools/css-tokenizer@4.0.0': {}
'@docsearch/css@4.5.3': {}
- '@docsearch/js@4.3.2':
- dependencies:
- htm: 3.1.1
+ '@docsearch/css@4.6.0': {}
'@docsearch/js@4.5.3': {}
+ '@docsearch/js@4.6.0': {}
+
'@docsearch/sidepanel-js@4.5.3': {}
+ '@docsearch/sidepanel-js@4.6.0': {}
+
'@edge-runtime/primitives@6.0.0': {}
'@edge-runtime/vm@5.0.0':
@@ -11057,7 +11174,7 @@ snapshots:
'@esbuild/aix-ppc64@0.27.0':
optional: true
- '@esbuild/aix-ppc64@0.27.2':
+ '@esbuild/aix-ppc64@0.27.3':
optional: true
'@esbuild/android-arm64@0.25.12':
@@ -11066,7 +11183,7 @@ snapshots:
'@esbuild/android-arm64@0.27.0':
optional: true
- '@esbuild/android-arm64@0.27.2':
+ '@esbuild/android-arm64@0.27.3':
optional: true
'@esbuild/android-arm@0.25.12':
@@ -11075,7 +11192,7 @@ snapshots:
'@esbuild/android-arm@0.27.0':
optional: true
- '@esbuild/android-arm@0.27.2':
+ '@esbuild/android-arm@0.27.3':
optional: true
'@esbuild/android-x64@0.25.12':
@@ -11084,7 +11201,7 @@ snapshots:
'@esbuild/android-x64@0.27.0':
optional: true
- '@esbuild/android-x64@0.27.2':
+ '@esbuild/android-x64@0.27.3':
optional: true
'@esbuild/darwin-arm64@0.25.12':
@@ -11093,7 +11210,7 @@ snapshots:
'@esbuild/darwin-arm64@0.27.0':
optional: true
- '@esbuild/darwin-arm64@0.27.2':
+ '@esbuild/darwin-arm64@0.27.3':
optional: true
'@esbuild/darwin-x64@0.25.12':
@@ -11102,7 +11219,7 @@ snapshots:
'@esbuild/darwin-x64@0.27.0':
optional: true
- '@esbuild/darwin-x64@0.27.2':
+ '@esbuild/darwin-x64@0.27.3':
optional: true
'@esbuild/freebsd-arm64@0.25.12':
@@ -11111,7 +11228,7 @@ snapshots:
'@esbuild/freebsd-arm64@0.27.0':
optional: true
- '@esbuild/freebsd-arm64@0.27.2':
+ '@esbuild/freebsd-arm64@0.27.3':
optional: true
'@esbuild/freebsd-x64@0.25.12':
@@ -11120,7 +11237,7 @@ snapshots:
'@esbuild/freebsd-x64@0.27.0':
optional: true
- '@esbuild/freebsd-x64@0.27.2':
+ '@esbuild/freebsd-x64@0.27.3':
optional: true
'@esbuild/linux-arm64@0.25.12':
@@ -11129,7 +11246,7 @@ snapshots:
'@esbuild/linux-arm64@0.27.0':
optional: true
- '@esbuild/linux-arm64@0.27.2':
+ '@esbuild/linux-arm64@0.27.3':
optional: true
'@esbuild/linux-arm@0.25.12':
@@ -11138,7 +11255,7 @@ snapshots:
'@esbuild/linux-arm@0.27.0':
optional: true
- '@esbuild/linux-arm@0.27.2':
+ '@esbuild/linux-arm@0.27.3':
optional: true
'@esbuild/linux-ia32@0.25.12':
@@ -11147,7 +11264,7 @@ snapshots:
'@esbuild/linux-ia32@0.27.0':
optional: true
- '@esbuild/linux-ia32@0.27.2':
+ '@esbuild/linux-ia32@0.27.3':
optional: true
'@esbuild/linux-loong64@0.25.12':
@@ -11156,7 +11273,7 @@ snapshots:
'@esbuild/linux-loong64@0.27.0':
optional: true
- '@esbuild/linux-loong64@0.27.2':
+ '@esbuild/linux-loong64@0.27.3':
optional: true
'@esbuild/linux-mips64el@0.25.12':
@@ -11165,7 +11282,7 @@ snapshots:
'@esbuild/linux-mips64el@0.27.0':
optional: true
- '@esbuild/linux-mips64el@0.27.2':
+ '@esbuild/linux-mips64el@0.27.3':
optional: true
'@esbuild/linux-ppc64@0.25.12':
@@ -11174,7 +11291,7 @@ snapshots:
'@esbuild/linux-ppc64@0.27.0':
optional: true
- '@esbuild/linux-ppc64@0.27.2':
+ '@esbuild/linux-ppc64@0.27.3':
optional: true
'@esbuild/linux-riscv64@0.25.12':
@@ -11183,7 +11300,7 @@ snapshots:
'@esbuild/linux-riscv64@0.27.0':
optional: true
- '@esbuild/linux-riscv64@0.27.2':
+ '@esbuild/linux-riscv64@0.27.3':
optional: true
'@esbuild/linux-s390x@0.25.12':
@@ -11192,7 +11309,7 @@ snapshots:
'@esbuild/linux-s390x@0.27.0':
optional: true
- '@esbuild/linux-s390x@0.27.2':
+ '@esbuild/linux-s390x@0.27.3':
optional: true
'@esbuild/linux-x64@0.25.12':
@@ -11201,7 +11318,7 @@ snapshots:
'@esbuild/linux-x64@0.27.0':
optional: true
- '@esbuild/linux-x64@0.27.2':
+ '@esbuild/linux-x64@0.27.3':
optional: true
'@esbuild/netbsd-arm64@0.25.12':
@@ -11210,7 +11327,7 @@ snapshots:
'@esbuild/netbsd-arm64@0.27.0':
optional: true
- '@esbuild/netbsd-arm64@0.27.2':
+ '@esbuild/netbsd-arm64@0.27.3':
optional: true
'@esbuild/netbsd-x64@0.25.12':
@@ -11219,7 +11336,7 @@ snapshots:
'@esbuild/netbsd-x64@0.27.0':
optional: true
- '@esbuild/netbsd-x64@0.27.2':
+ '@esbuild/netbsd-x64@0.27.3':
optional: true
'@esbuild/openbsd-arm64@0.25.12':
@@ -11228,7 +11345,7 @@ snapshots:
'@esbuild/openbsd-arm64@0.27.0':
optional: true
- '@esbuild/openbsd-arm64@0.27.2':
+ '@esbuild/openbsd-arm64@0.27.3':
optional: true
'@esbuild/openbsd-x64@0.25.12':
@@ -11237,7 +11354,7 @@ snapshots:
'@esbuild/openbsd-x64@0.27.0':
optional: true
- '@esbuild/openbsd-x64@0.27.2':
+ '@esbuild/openbsd-x64@0.27.3':
optional: true
'@esbuild/openharmony-arm64@0.25.12':
@@ -11246,7 +11363,7 @@ snapshots:
'@esbuild/openharmony-arm64@0.27.0':
optional: true
- '@esbuild/openharmony-arm64@0.27.2':
+ '@esbuild/openharmony-arm64@0.27.3':
optional: true
'@esbuild/sunos-x64@0.25.12':
@@ -11255,7 +11372,7 @@ snapshots:
'@esbuild/sunos-x64@0.27.0':
optional: true
- '@esbuild/sunos-x64@0.27.2':
+ '@esbuild/sunos-x64@0.27.3':
optional: true
'@esbuild/win32-arm64@0.25.12':
@@ -11264,7 +11381,7 @@ snapshots:
'@esbuild/win32-arm64@0.27.0':
optional: true
- '@esbuild/win32-arm64@0.27.2':
+ '@esbuild/win32-arm64@0.27.3':
optional: true
'@esbuild/win32-ia32@0.25.12':
@@ -11273,7 +11390,7 @@ snapshots:
'@esbuild/win32-ia32@0.27.0':
optional: true
- '@esbuild/win32-ia32@0.27.2':
+ '@esbuild/win32-ia32@0.27.3':
optional: true
'@esbuild/win32-x64@0.25.12':
@@ -11282,7 +11399,7 @@ snapshots:
'@esbuild/win32-x64@0.27.0':
optional: true
- '@esbuild/win32-x64@0.27.2':
+ '@esbuild/win32-x64@0.27.3':
optional: true
'@eslint-community/eslint-plugin-eslint-comments@4.6.0(eslint@9.39.2(jiti@2.6.1))':
@@ -11383,7 +11500,7 @@ snapshots:
'@exodus/bytes@1.7.0': {}
- '@faker-js/faker@10.2.0': {}
+ '@faker-js/faker@10.3.0': {}
'@fastify/ajv-compiler@4.0.5':
dependencies:
@@ -11423,16 +11540,16 @@ snapshots:
'@floating-ui/utils@0.2.10': {}
- '@floating-ui/vue@1.1.9(vue@3.5.27(typescript@5.9.3))':
+ '@floating-ui/vue@1.1.9(vue@3.5.28(typescript@5.9.3))':
dependencies:
'@floating-ui/dom': 1.7.4
'@floating-ui/utils': 0.2.10
- vue-demi: 0.14.10(vue@3.5.27(typescript@5.9.3))
+ vue-demi: 0.14.10(vue@3.5.28(typescript@5.9.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- '@grpc/grpc-js@1.14.1':
+ '@grpc/grpc-js@1.14.3':
dependencies:
'@grpc/proto-loader': 0.8.0
'@js-sdsl/ordered-map': 4.4.2
@@ -11481,10 +11598,10 @@ snapshots:
'@iconify/types': 2.0.0
mlly: 1.8.0
- '@iconify/vue@5.0.0(vue@3.5.27(typescript@5.9.3))':
+ '@iconify/vue@5.0.0(vue@3.5.28(typescript@5.9.3))':
dependencies:
'@iconify/types': 2.0.0
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
'@img/sharp-darwin-arm64@0.33.5':
optionalDependencies:
@@ -11563,31 +11680,31 @@ snapshots:
'@inquirer/ansi@1.0.0': {}
- '@inquirer/confirm@5.1.18(@types/node@24.10.9)':
+ '@inquirer/confirm@5.1.18(@types/node@24.10.13)':
dependencies:
- '@inquirer/core': 10.2.2(@types/node@24.10.9)
- '@inquirer/type': 3.0.8(@types/node@24.10.9)
+ '@inquirer/core': 10.2.2(@types/node@24.10.13)
+ '@inquirer/type': 3.0.8(@types/node@24.10.13)
optionalDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
- '@inquirer/core@10.2.2(@types/node@24.10.9)':
+ '@inquirer/core@10.2.2(@types/node@24.10.13)':
dependencies:
'@inquirer/ansi': 1.0.0
'@inquirer/figures': 1.0.13
- '@inquirer/type': 3.0.8(@types/node@24.10.9)
+ '@inquirer/type': 3.0.8(@types/node@24.10.13)
cli-width: 4.1.0
mute-stream: 2.0.0
signal-exit: 4.1.0
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@inquirer/figures@1.0.13': {}
- '@inquirer/type@3.0.8(@types/node@24.10.9)':
+ '@inquirer/type@3.0.8(@types/node@24.10.13)':
optionalDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@internationalized/date@3.10.1':
dependencies:
@@ -11772,7 +11889,7 @@ snapshots:
dependencies:
'@lit-labs/ssr-dom-shim': 1.3.0
- '@mswjs/interceptors@0.40.0':
+ '@mswjs/interceptors@0.41.3':
dependencies:
'@open-draft/deferred-promise': 2.2.0
'@open-draft/logger': 0.3.0
@@ -11801,256 +11918,257 @@ snapshots:
'@open-draft/until@2.1.0': {}
- '@opentelemetry/api-logs@0.211.0':
+ '@opentelemetry/api-logs@0.212.0':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api@1.9.0': {}
- '@opentelemetry/configuration@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/configuration@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
yaml: 2.8.2
- '@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/context-zone-peer-dep@2.5.0(@opentelemetry/api@1.9.0)(zone.js@0.15.1)':
+ '@opentelemetry/context-zone-peer-dep@2.5.1(@opentelemetry/api@1.9.0)(zone.js@0.15.1)':
dependencies:
'@opentelemetry/api': 1.9.0
zone.js: 0.15.1
- '@opentelemetry/context-zone@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/context-zone@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
- '@opentelemetry/context-zone-peer-dep': 2.5.0(@opentelemetry/api@1.9.0)(zone.js@0.15.1)
+ '@opentelemetry/context-zone-peer-dep': 2.5.1(@opentelemetry/api@1.9.0)(zone.js@0.15.1)
zone.js: 0.15.1
transitivePeerDependencies:
- '@opentelemetry/api'
- '@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/semantic-conventions': 1.38.0
- '@opentelemetry/exporter-logs-otlp-grpc@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-logs-otlp-grpc@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@grpc/grpc-js': 1.14.1
+ '@grpc/grpc-js': 1.14.3
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-grpc-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-logs': 0.211.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-grpc-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-logs': 0.212.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-logs-otlp-http@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-logs-otlp-http@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.211.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-logs': 0.211.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/api-logs': 0.212.0
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-logs': 0.212.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-logs-otlp-proto@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-logs-otlp-proto@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.211.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-logs': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/api-logs': 0.212.0
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-logs': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-grpc@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-metrics-otlp-grpc@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@grpc/grpc-js': 1.14.1
+ '@grpc/grpc-js': 1.14.3
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-http': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-grpc-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-metrics-otlp-http': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-grpc-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-http@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-metrics-otlp-http@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-proto@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-metrics-otlp-proto@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-http': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-metrics-otlp-http': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-prometheus@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-prometheus@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
- '@opentelemetry/exporter-trace-otlp-grpc@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-trace-otlp-grpc@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@grpc/grpc-js': 1.14.1
+ '@grpc/grpc-js': 1.14.3
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-grpc-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-grpc-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-trace-otlp-http@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-trace-otlp-http@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-trace-otlp-proto@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-trace-otlp-proto@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-zipkin@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/exporter-zipkin@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.38.0
- '@opentelemetry/instrumentation@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/instrumentation@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.211.0
- import-in-the-middle: 2.0.0
+ '@opentelemetry/api-logs': 0.212.0
+ import-in-the-middle: 2.0.6
require-in-the-middle: 8.0.1
transitivePeerDependencies:
- supports-color
- '@opentelemetry/otlp-exporter-base@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/otlp-exporter-base@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-grpc-exporter-base@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/otlp-grpc-exporter-base@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
- '@grpc/grpc-js': 1.14.1
+ '@grpc/grpc-js': 1.14.3
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-exporter-base': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer': 0.211.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-exporter-base': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/otlp-transformer': 0.212.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/otlp-transformer@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/otlp-transformer@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.211.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-logs': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/api-logs': 0.212.0
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-logs': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
protobufjs: 8.0.0
- '@opentelemetry/propagator-b3@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/propagator-b3@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagator-jaeger@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/propagator-jaeger@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/resources@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.38.0
- '@opentelemetry/sdk-logs@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-logs@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.211.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/api-logs': 0.212.0
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-metrics@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-node@0.211.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-node@0.212.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/api-logs': 0.211.0
- '@opentelemetry/configuration': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-logs-otlp-grpc': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-logs-otlp-http': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-logs-otlp-proto': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-grpc': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-http': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-metrics-otlp-proto': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-prometheus': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-trace-otlp-grpc': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-trace-otlp-http': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-trace-otlp-proto': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/exporter-zipkin': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/instrumentation': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagator-b3': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagator-jaeger': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-logs': 0.211.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-metrics': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-node': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/api-logs': 0.212.0
+ '@opentelemetry/configuration': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-logs-otlp-grpc': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-logs-otlp-http': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-logs-otlp-proto': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-metrics-otlp-grpc': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-metrics-otlp-http': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-metrics-otlp-proto': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-prometheus': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-trace-otlp-grpc': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-trace-otlp-http': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-trace-otlp-proto': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/exporter-zipkin': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-b3': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-jaeger': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-logs': 0.212.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-metrics': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-node': 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.38.0
transitivePeerDependencies:
- supports-color
- '@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.38.0
- '@opentelemetry/sdk-trace-node@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-trace-node@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/context-async-hooks': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-web@2.5.0(@opentelemetry/api@1.9.0)':
+ '@opentelemetry/sdk-trace-web@2.5.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.5.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.5.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions@1.38.0': {}
@@ -12376,9 +12494,9 @@ snapshots:
'@pkgr/core@0.2.9': {}
- '@playwright/test@1.58.1':
+ '@playwright/test@1.58.2':
dependencies:
- playwright: 1.58.1
+ playwright: 1.58.2
'@polka/url@1.0.0-next.24': {}
@@ -12433,6 +12551,8 @@ snapshots:
'@rolldown/pluginutils@1.0.0-rc.2': {}
+ '@rolldown/pluginutils@1.0.0-rc.3': {}
+
'@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@4.57.1)':
dependencies:
'@babel/core': 7.29.0
@@ -12675,7 +12795,7 @@ snapshots:
'@shikijs/vitepress-twoslash@3.22.0(typescript@5.9.3)':
dependencies:
'@shikijs/twoslash': 3.22.0(typescript@5.9.3)
- floating-vue: 5.2.2(vue@3.5.27(typescript@5.9.3))
+ floating-vue: 5.2.2(vue@3.5.28(typescript@5.9.3))
lz-string: 1.5.0
magic-string: 0.30.21
markdown-it: 14.1.0
@@ -12686,7 +12806,7 @@ snapshots:
shiki: 3.22.0
twoslash: 0.3.6(typescript@5.9.3)
twoslash-vue: 0.3.6(typescript@5.9.3)
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
transitivePeerDependencies:
- '@nuxt/kit'
- supports-color
@@ -12848,19 +12968,19 @@ snapshots:
postcss-selector-parser: 6.0.10
tailwindcss: 4.1.18
- '@tailwindcss/vite@4.1.18(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@tailwindcss/vite@4.1.18(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@tailwindcss/node': 4.1.18
'@tailwindcss/oxide': 4.1.18
tailwindcss: 4.1.18
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
'@tanstack/virtual-core@3.13.13': {}
- '@tanstack/vue-virtual@3.13.13(vue@3.5.27(typescript@5.9.3))':
+ '@tanstack/vue-virtual@3.13.13(vue@3.5.28(typescript@5.9.3))':
dependencies:
'@tanstack/virtual-core': 3.13.13
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
'@test/test-dep-error@file:test/cli/deps/error': {}
@@ -12884,14 +13004,14 @@ snapshots:
picocolors: 1.1.1
redent: 3.0.0
- '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.14)(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.14)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.28.4
'@testing-library/dom': 10.4.1
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
- '@types/react': 19.2.10
+ '@types/react': 19.2.14
'@types/react-dom': 18.2.14
'@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)':
@@ -12915,8 +13035,8 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.28.6
- '@babel/types': 7.28.6
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
'@types/babel__generator': 7.6.6
'@types/babel__template': 7.4.3
'@types/babel__traverse': 7.20.3
@@ -12986,7 +13106,7 @@ snapshots:
'@types/jsdom@27.0.0':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@types/tough-cookie': 4.0.5
parse5: 7.3.0
@@ -13009,7 +13129,7 @@ snapshots:
'@types/natural-compare@1.4.3': {}
- '@types/node@24.10.9':
+ '@types/node@24.10.13':
dependencies:
undici-types: 7.16.0
@@ -13017,23 +13137,23 @@ snapshots:
'@types/pngjs@6.0.5':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@types/prompts@2.4.9':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
kleur: 3.0.3
'@types/react-dom@18.2.14':
dependencies:
- '@types/react': 19.2.10
+ '@types/react': 19.2.14
optional: true
'@types/react-is@19.2.0':
dependencies:
- '@types/react': 19.2.10
+ '@types/react': 19.2.14
- '@types/react@19.2.10':
+ '@types/react@19.2.14':
dependencies:
csstype: 3.2.3
@@ -13065,11 +13185,11 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@types/yauzl@2.10.3':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
optional: true
'@typescript-eslint/eslint-plugin@8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
@@ -13174,13 +13294,13 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
- '@unocss/astro@66.6.0(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@unocss/astro@66.6.0(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@unocss/core': 66.6.0
'@unocss/reset': 66.6.0
- '@unocss/vite': 66.6.0(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@unocss/vite': 66.6.0(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
optionalDependencies:
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
'@unocss/cli@66.6.0':
dependencies:
@@ -13310,7 +13430,7 @@ snapshots:
dependencies:
'@unocss/core': 66.6.0
- '@unocss/vite@66.6.0(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@unocss/vite@66.6.0(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@jridgewell/remapping': 2.3.5
'@unocss/config': 66.6.0
@@ -13321,7 +13441,7 @@ snapshots:
pathe: 2.0.3
tinyglobby: 0.2.15
unplugin-utils: 0.3.1
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
'@vite-pwa/assets-generator@1.0.2':
dependencies:
@@ -13332,33 +13452,33 @@ snapshots:
sharp-ico: 0.1.5
unconfig: 7.3.3
- '@vite-pwa/vitepress@1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0))':
+ '@vite-pwa/vitepress@1.1.0(@vite-pwa/assets-generator@1.0.2)(vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0))':
dependencies:
- vite-plugin-pwa: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0)
+ vite-plugin-pwa: 1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0)
optionalDependencies:
'@vite-pwa/assets-generator': 1.0.2
- '@vitejs/plugin-basic-ssl@2.1.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitejs/plugin-basic-ssl@2.1.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
- '@vitejs/plugin-react@5.1.3(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitejs/plugin-react@5.1.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.0
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
'@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
- '@rolldown/pluginutils': 1.0.0-rc.2
+ '@rolldown/pluginutils': 1.0.0-rc.3
'@types/babel__core': 7.20.5
react-refresh: 0.18.0
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-vue@6.0.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))':
+ '@vitejs/plugin-vue@6.0.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-rc.2
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
- vue: 3.5.27(typescript@5.9.3)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vue: 3.5.28(typescript@5.9.3)
'@vitejs/test-dep-virtual@file:test/config/deps/test-dep-virtual': {}
@@ -13397,23 +13517,24 @@ snapshots:
'@vitest/test-fn@file:test/core/deps/dep-fn': {}
- '@voidzero-dev/vitepress-theme@4.4.2(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(typescript@5.9.3)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vitepress@2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))':
+ '@voidzero-dev/vitepress-theme@4.5.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(typescript@5.9.3)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vitepress@2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))':
dependencies:
- '@docsearch/css': 4.3.2
- '@docsearch/js': 4.3.2
+ '@docsearch/css': 4.6.0
+ '@docsearch/js': 4.6.0
+ '@docsearch/sidepanel-js': 4.6.0
'@rive-app/canvas-lite': 2.33.3
'@tailwindcss/typography': 0.5.19(tailwindcss@4.1.18)
- '@tailwindcss/vite': 4.1.18(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@tailwindcss/vite': 4.1.18(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
'@vue/shared': 3.5.27
- '@vueuse/core': 14.2.0(vue@3.5.27(typescript@5.9.3))
- '@vueuse/integrations': 14.2.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.27(typescript@5.9.3))
- '@vueuse/shared': 14.1.0(vue@3.5.27(typescript@5.9.3))
+ '@vueuse/core': 14.2.1(vue@3.5.28(typescript@5.9.3))
+ '@vueuse/integrations': 14.2.1(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.28(typescript@5.9.3))
+ '@vueuse/shared': 14.2.0(vue@3.5.28(typescript@5.9.3))
mark.js: 8.11.1
minisearch: 7.2.0
- reka-ui: 2.7.0(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3))
+ reka-ui: 2.7.0(typescript@5.9.3)(vue@3.5.28(typescript@5.9.3))
tailwindcss: 4.1.18
- vitepress: 2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
- vue: 3.5.27(typescript@5.9.3)
+ vitepress: 2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+ vue: 3.5.28(typescript@5.9.3)
transitivePeerDependencies:
- '@vue/composition-api'
- async-validator
@@ -13443,7 +13564,7 @@ snapshots:
path-browserify: 1.0.1
vscode-uri: 3.1.0
- '@vue-macros/common@3.1.2(vue@3.5.27(typescript@5.9.3))':
+ '@vue-macros/common@3.1.2(vue@3.5.28(typescript@5.9.3))':
dependencies:
'@vue/compiler-sfc': 3.5.27
ast-kit: 2.2.0
@@ -13451,24 +13572,37 @@ snapshots:
magic-string-ast: 1.0.3
unplugin-utils: 0.3.1
optionalDependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
'@vue/compiler-core@3.5.27':
dependencies:
- '@babel/parser': 7.28.6
+ '@babel/parser': 7.29.0
'@vue/shared': 3.5.27
entities: 7.0.0
estree-walker: 2.0.2
source-map-js: 1.2.1
+ '@vue/compiler-core@3.5.28':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@vue/shared': 3.5.28
+ entities: 7.0.1
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
'@vue/compiler-dom@3.5.27':
dependencies:
'@vue/compiler-core': 3.5.27
'@vue/shared': 3.5.27
+ '@vue/compiler-dom@3.5.28':
+ dependencies:
+ '@vue/compiler-core': 3.5.28
+ '@vue/shared': 3.5.28
+
'@vue/compiler-sfc@3.5.27':
dependencies:
- '@babel/parser': 7.28.6
+ '@babel/parser': 7.29.0
'@vue/compiler-core': 3.5.27
'@vue/compiler-dom': 3.5.27
'@vue/compiler-ssr': 3.5.27
@@ -13478,15 +13612,36 @@ snapshots:
postcss: 8.5.6
source-map-js: 1.2.1
+ '@vue/compiler-sfc@3.5.28':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@vue/compiler-core': 3.5.28
+ '@vue/compiler-dom': 3.5.28
+ '@vue/compiler-ssr': 3.5.28
+ '@vue/shared': 3.5.28
+ estree-walker: 2.0.2
+ magic-string: 0.30.21
+ postcss: 8.5.6
+ source-map-js: 1.2.1
+
'@vue/compiler-ssr@3.5.27':
dependencies:
'@vue/compiler-dom': 3.5.27
'@vue/shared': 3.5.27
+ '@vue/compiler-ssr@3.5.28':
+ dependencies:
+ '@vue/compiler-dom': 3.5.28
+ '@vue/shared': 3.5.28
+
'@vue/devtools-api@8.0.5':
dependencies:
'@vue/devtools-kit': 8.0.5
+ '@vue/devtools-api@8.0.6':
+ dependencies:
+ '@vue/devtools-kit': 8.0.6
+
'@vue/devtools-kit@8.0.5':
dependencies:
'@vue/devtools-shared': 8.0.5
@@ -13497,10 +13652,24 @@ snapshots:
speakingurl: 14.0.1
superjson: 2.2.2
+ '@vue/devtools-kit@8.0.6':
+ dependencies:
+ '@vue/devtools-shared': 8.0.6
+ birpc: 2.8.0
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 2.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.2
+
'@vue/devtools-shared@8.0.5':
dependencies:
rfdc: 1.4.1
+ '@vue/devtools-shared@8.0.6':
+ dependencies:
+ rfdc: 1.4.1
+
'@vue/language-core@3.2.4':
dependencies:
'@volar/language-core': 2.4.27
@@ -13511,30 +13680,32 @@ snapshots:
path-browserify: 1.0.1
picomatch: 4.0.3
- '@vue/reactivity@3.5.27':
+ '@vue/reactivity@3.5.28':
dependencies:
- '@vue/shared': 3.5.27
+ '@vue/shared': 3.5.28
- '@vue/runtime-core@3.5.27':
+ '@vue/runtime-core@3.5.28':
dependencies:
- '@vue/reactivity': 3.5.27
- '@vue/shared': 3.5.27
+ '@vue/reactivity': 3.5.28
+ '@vue/shared': 3.5.28
- '@vue/runtime-dom@3.5.27':
+ '@vue/runtime-dom@3.5.28':
dependencies:
- '@vue/reactivity': 3.5.27
- '@vue/runtime-core': 3.5.27
- '@vue/shared': 3.5.27
+ '@vue/reactivity': 3.5.28
+ '@vue/runtime-core': 3.5.28
+ '@vue/shared': 3.5.28
csstype: 3.2.3
- '@vue/server-renderer@3.5.27(vue@3.5.27(typescript@5.9.3))':
+ '@vue/server-renderer@3.5.28(vue@3.5.28(typescript@5.9.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.27
- '@vue/shared': 3.5.27
- vue: 3.5.27(typescript@5.9.3)
+ '@vue/compiler-ssr': 3.5.28
+ '@vue/shared': 3.5.28
+ vue: 3.5.28(typescript@5.9.3)
'@vue/shared@3.5.27': {}
+ '@vue/shared@3.5.28': {}
+
'@vue/test-utils@2.4.6':
dependencies:
js-beautify: 1.15.1
@@ -13545,22 +13716,39 @@ snapshots:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 12.8.2
'@vueuse/shared': 12.8.2(typescript@5.9.3)
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- '@vueuse/core@14.2.0(vue@3.5.27(typescript@5.9.3))':
+ '@vueuse/core@14.2.0(vue@3.5.28(typescript@5.9.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 14.2.0
- '@vueuse/shared': 14.2.0(vue@3.5.27(typescript@5.9.3))
- vue: 3.5.27(typescript@5.9.3)
+ '@vueuse/shared': 14.2.0(vue@3.5.28(typescript@5.9.3))
+ vue: 3.5.28(typescript@5.9.3)
+
+ '@vueuse/core@14.2.1(vue@3.5.28(typescript@5.9.3))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 14.2.1
+ '@vueuse/shared': 14.2.1(vue@3.5.28(typescript@5.9.3))
+ vue: 3.5.28(typescript@5.9.3)
+
+ '@vueuse/integrations@14.2.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.28(typescript@5.9.3))':
+ dependencies:
+ '@vueuse/core': 14.2.0(vue@3.5.28(typescript@5.9.3))
+ '@vueuse/shared': 14.2.0(vue@3.5.28(typescript@5.9.3))
+ vue: 3.5.28(typescript@5.9.3)
+ optionalDependencies:
+ axios: 1.13.4
+ change-case: 5.4.4
+ focus-trap: 7.8.0
- '@vueuse/integrations@14.2.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.27(typescript@5.9.3))':
+ '@vueuse/integrations@14.2.1(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.28(typescript@5.9.3))':
dependencies:
- '@vueuse/core': 14.2.0(vue@3.5.27(typescript@5.9.3))
- '@vueuse/shared': 14.2.0(vue@3.5.27(typescript@5.9.3))
- vue: 3.5.27(typescript@5.9.3)
+ '@vueuse/core': 14.2.1(vue@3.5.28(typescript@5.9.3))
+ '@vueuse/shared': 14.2.1(vue@3.5.28(typescript@5.9.3))
+ vue: 3.5.28(typescript@5.9.3)
optionalDependencies:
axios: 1.13.4
change-case: 5.4.4
@@ -13570,19 +13758,21 @@ snapshots:
'@vueuse/metadata@14.2.0': {}
+ '@vueuse/metadata@14.2.1': {}
+
'@vueuse/shared@12.8.2(typescript@5.9.3)':
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- '@vueuse/shared@14.1.0(vue@3.5.27(typescript@5.9.3))':
+ '@vueuse/shared@14.2.0(vue@3.5.28(typescript@5.9.3))':
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
- '@vueuse/shared@14.2.0(vue@3.5.27(typescript@5.9.3))':
+ '@vueuse/shared@14.2.1(vue@3.5.28(typescript@5.9.3))':
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
'@wdio/config@9.20.0':
dependencies:
@@ -13608,15 +13798,15 @@ snapshots:
'@wdio/repl@9.16.2':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@wdio/types@9.20.0':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
- '@wdio/types@9.23.3':
+ '@wdio/types@9.24.0':
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@wdio/utils@9.20.0':
dependencies:
@@ -13662,7 +13852,7 @@ snapshots:
dependencies:
acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)
- acorn-walk@8.3.4:
+ acorn-walk@8.3.5:
dependencies:
acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)
@@ -13936,7 +14126,7 @@ snapshots:
builtin-modules@5.0.0: {}
- bumpp@10.4.0(magicast@0.3.5):
+ bumpp@10.4.1(magicast@0.3.5):
dependencies:
ansis: 4.2.0
args-tokenizer: 0.3.0
@@ -14137,8 +14327,6 @@ snapshots:
dependencies:
consola: 3.4.2
- cjs-module-lexer@1.4.3: {}
-
cjs-module-lexer@2.2.0: {}
clean-regexp@1.0.0:
@@ -14319,12 +14507,12 @@ snapshots:
'@csstools/css-syntax-patches-for-csstree': 1.0.22
css-tree: 3.1.0
- cssstyle@5.3.7:
+ cssstyle@6.0.1:
dependencies:
- '@asamuzakjp/css-color': 4.1.1
- '@csstools/css-syntax-patches-for-csstree': 1.0.22
+ '@asamuzakjp/css-color': 4.1.2
+ '@csstools/css-syntax-patches-for-csstree': 1.0.27
css-tree: 3.1.0
- lru-cache: 11.2.4
+ lru-cache: 11.2.6
csstype@3.2.3: {}
@@ -14607,6 +14795,8 @@ snapshots:
entities@7.0.0: {}
+ entities@7.0.1: {}
+
es-abstract@1.24.1:
dependencies:
array-buffer-byte-length: 1.0.2
@@ -14745,34 +14935,34 @@ snapshots:
'@esbuild/win32-ia32': 0.27.0
'@esbuild/win32-x64': 0.27.0
- esbuild@0.27.2:
+ esbuild@0.27.3:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.27.2
- '@esbuild/android-arm': 0.27.2
- '@esbuild/android-arm64': 0.27.2
- '@esbuild/android-x64': 0.27.2
- '@esbuild/darwin-arm64': 0.27.2
- '@esbuild/darwin-x64': 0.27.2
- '@esbuild/freebsd-arm64': 0.27.2
- '@esbuild/freebsd-x64': 0.27.2
- '@esbuild/linux-arm': 0.27.2
- '@esbuild/linux-arm64': 0.27.2
- '@esbuild/linux-ia32': 0.27.2
- '@esbuild/linux-loong64': 0.27.2
- '@esbuild/linux-mips64el': 0.27.2
- '@esbuild/linux-ppc64': 0.27.2
- '@esbuild/linux-riscv64': 0.27.2
- '@esbuild/linux-s390x': 0.27.2
- '@esbuild/linux-x64': 0.27.2
- '@esbuild/netbsd-arm64': 0.27.2
- '@esbuild/netbsd-x64': 0.27.2
- '@esbuild/openbsd-arm64': 0.27.2
- '@esbuild/openbsd-x64': 0.27.2
- '@esbuild/openharmony-arm64': 0.27.2
- '@esbuild/sunos-x64': 0.27.2
- '@esbuild/win32-arm64': 0.27.2
- '@esbuild/win32-ia32': 0.27.2
- '@esbuild/win32-x64': 0.27.2
+ '@esbuild/aix-ppc64': 0.27.3
+ '@esbuild/android-arm': 0.27.3
+ '@esbuild/android-arm64': 0.27.3
+ '@esbuild/android-x64': 0.27.3
+ '@esbuild/darwin-arm64': 0.27.3
+ '@esbuild/darwin-x64': 0.27.3
+ '@esbuild/freebsd-arm64': 0.27.3
+ '@esbuild/freebsd-x64': 0.27.3
+ '@esbuild/linux-arm': 0.27.3
+ '@esbuild/linux-arm64': 0.27.3
+ '@esbuild/linux-ia32': 0.27.3
+ '@esbuild/linux-loong64': 0.27.3
+ '@esbuild/linux-mips64el': 0.27.3
+ '@esbuild/linux-ppc64': 0.27.3
+ '@esbuild/linux-riscv64': 0.27.3
+ '@esbuild/linux-s390x': 0.27.3
+ '@esbuild/linux-x64': 0.27.3
+ '@esbuild/netbsd-arm64': 0.27.3
+ '@esbuild/netbsd-x64': 0.27.3
+ '@esbuild/openbsd-arm64': 0.27.3
+ '@esbuild/openbsd-x64': 0.27.3
+ '@esbuild/openharmony-arm64': 0.27.3
+ '@esbuild/sunos-x64': 0.27.3
+ '@esbuild/win32-arm64': 0.27.3
+ '@esbuild/win32-ia32': 0.27.3
+ '@esbuild/win32-x64': 0.27.3
escalade@3.2.0: {}
@@ -14990,9 +15180,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.27)(eslint@9.39.2(jiti@2.6.1)):
+ eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.28)(eslint@9.39.2(jiti@2.6.1)):
dependencies:
- '@vue/compiler-sfc': 3.5.27
+ '@vue/compiler-sfc': 3.5.28
eslint: 9.39.2(jiti@2.6.1)
eslint-scope@8.4.0:
@@ -15252,10 +15442,6 @@ snapshots:
dependencies:
pend: 1.2.0
- fdir@6.4.4(picomatch@4.0.3):
- optionalDependencies:
- picomatch: 4.0.3
-
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -15315,11 +15501,11 @@ snapshots:
flatted@3.3.3: {}
- floating-vue@5.2.2(vue@3.5.27(typescript@5.9.3)):
+ floating-vue@5.2.2(vue@3.5.28(typescript@5.9.3)):
dependencies:
'@floating-ui/dom': 1.1.1
- vue: 3.5.27(typescript@5.9.3)
- vue-resize: 2.0.0-alpha.1(vue@3.5.27(typescript@5.9.3))
+ vue: 3.5.28(typescript@5.9.3)
+ vue-resize: 2.0.0-alpha.1(vue@3.5.28(typescript@5.9.3))
focus-trap@7.8.0:
dependencies:
@@ -15570,24 +15756,12 @@ snapshots:
handle-thing@2.0.1: {}
- happy-dom@20.4.0:
+ happy-dom@20.6.3:
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@types/whatwg-mimetype': 3.0.2
'@types/ws': 8.18.1
- entities: 4.5.0
- whatwg-mimetype: 3.0.0
- ws: 8.19.0
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- happy-dom@20.6.0:
- dependencies:
- '@types/node': 24.10.9
- '@types/whatwg-mimetype': 3.0.2
- '@types/ws': 8.18.1
- entities: 6.0.1
+ entities: 7.0.1
whatwg-mimetype: 3.0.0
ws: 8.19.0
transitivePeerDependencies:
@@ -15645,8 +15819,6 @@ snapshots:
readable-stream: 2.3.7
wbuf: 1.7.3
- htm@3.1.1: {}
-
html-encoding-sniffer@6.0.0(@noble/hashes@1.8.0):
dependencies:
'@exodus/bytes': 1.11.0(@noble/hashes@1.8.0)
@@ -15734,11 +15906,11 @@ snapshots:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-in-the-middle@2.0.0:
+ import-in-the-middle@2.0.6:
dependencies:
acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)
acorn-import-attributes: 1.9.5(acorn@8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4))
- cjs-module-lexer: 1.4.3
+ cjs-module-lexer: 2.2.0
module-details-from-path: 1.0.4
import-meta-resolve@4.0.0: {}
@@ -16066,12 +16238,13 @@ snapshots:
- supports-color
- utf-8-validate
- jsdom@28.0.0(@noble/hashes@1.8.0):
+ jsdom@28.1.0(@noble/hashes@1.8.0):
dependencies:
'@acemir/cssom': 0.9.31
- '@asamuzakjp/dom-selector': 6.7.6
+ '@asamuzakjp/dom-selector': 6.8.1
+ '@bramus/specificity': 2.4.2
'@exodus/bytes': 1.11.0(@noble/hashes@1.8.0)
- cssstyle: 5.3.7
+ cssstyle: 6.0.1
data-urls: 7.0.0(@noble/hashes@1.8.0)
decimal.js: 10.6.0
html-encoding-sniffer: 6.0.0(@noble/hashes@1.8.0)
@@ -16082,7 +16255,7 @@ snapshots:
saxes: 6.0.0
symbol-tree: 3.2.4
tough-cookie: 6.0.0
- undici: 7.20.0
+ undici: 7.22.0
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 5.0.0
@@ -16336,6 +16509,8 @@ snapshots:
lru-cache@11.2.4: {}
+ lru-cache@11.2.6: {}
+
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -16363,10 +16538,10 @@ snapshots:
source-map-js: 1.2.1
optional: true
- magicast@0.5.1:
+ magicast@0.5.2:
dependencies:
- '@babel/parser': 7.28.5
- '@babel/types': 7.28.5
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
source-map-js: 1.2.1
make-dir@4.0.0:
@@ -16828,10 +17003,10 @@ snapshots:
ms@2.1.3: {}
- msw@2.12.7(@types/node@24.10.9)(typescript@5.9.3):
+ msw@2.12.10(@types/node@24.10.13)(typescript@5.9.3):
dependencies:
- '@inquirer/confirm': 5.1.18(@types/node@24.10.9)
- '@mswjs/interceptors': 0.40.0
+ '@inquirer/confirm': 5.1.18(@types/node@24.10.13)
+ '@mswjs/interceptors': 0.41.3
'@open-draft/deferred-promise': 2.2.0
'@types/statuses': 2.0.6
cookie: 1.0.2
@@ -16841,7 +17016,7 @@ snapshots:
outvariant: 1.4.3
path-to-regexp: 6.3.0
picocolors: 1.1.1
- rettime: 0.7.0
+ rettime: 0.10.1
statuses: 2.0.2
strict-event-emitter: 0.5.1
tough-cookie: 6.0.0
@@ -17234,11 +17409,11 @@ snapshots:
exsolve: 1.0.7
pathe: 2.0.3
- playwright-core@1.58.1: {}
+ playwright-core@1.58.2: {}
- playwright@1.58.1:
+ playwright@1.58.2:
dependencies:
- playwright-core: 1.58.1
+ playwright-core: 1.58.2
optionalDependencies:
fsevents: 2.3.2
@@ -17321,7 +17496,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
long: 5.3.2
protobufjs@8.0.0:
@@ -17336,7 +17511,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
long: 5.3.2
proxy-addr@2.0.7:
@@ -17532,19 +17707,19 @@ snapshots:
dependencies:
jsesc: 3.1.0
- reka-ui@2.7.0(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)):
+ reka-ui@2.7.0(typescript@5.9.3)(vue@3.5.28(typescript@5.9.3)):
dependencies:
'@floating-ui/dom': 1.7.4
- '@floating-ui/vue': 1.1.9(vue@3.5.27(typescript@5.9.3))
+ '@floating-ui/vue': 1.1.9(vue@3.5.28(typescript@5.9.3))
'@internationalized/date': 3.10.1
'@internationalized/number': 3.6.5
- '@tanstack/vue-virtual': 3.13.13(vue@3.5.27(typescript@5.9.3))
+ '@tanstack/vue-virtual': 3.13.13(vue@3.5.28(typescript@5.9.3))
'@vueuse/core': 12.8.2(typescript@5.9.3)
'@vueuse/shared': 12.8.2(typescript@5.9.3)
aria-hidden: 1.2.6
defu: 6.1.4
ohash: 2.0.11
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
transitivePeerDependencies:
- '@vue/composition-api'
- typescript
@@ -17617,7 +17792,7 @@ snapshots:
ret@0.5.0: {}
- rettime@0.7.0: {}
+ rettime@0.10.1: {}
reusify@1.0.4: {}
@@ -17633,10 +17808,10 @@ snapshots:
optionalDependencies:
'@babel/code-frame': 7.27.1
- rollup-plugin-license@3.6.0(picomatch@4.0.3)(rollup@4.57.1):
+ rollup-plugin-license@3.7.0(picomatch@4.0.3)(rollup@4.57.1):
dependencies:
commenting: 1.1.0
- fdir: 6.4.4(picomatch@4.0.3)
+ fdir: 6.5.0(picomatch@4.0.3)
lodash: 4.17.21
magic-string: 0.30.21
moment: 2.30.1
@@ -18055,14 +18230,12 @@ snapshots:
spdx-expression-parse: 3.0.1
spdx-ranges: 2.1.1
- spdx-exceptions@2.3.0: {}
-
spdx-exceptions@2.5.0: {}
spdx-expression-parse@3.0.1:
dependencies:
- spdx-exceptions: 2.3.0
- spdx-license-ids: 3.0.12
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.22
spdx-expression-parse@4.0.0:
dependencies:
@@ -18073,8 +18246,6 @@ snapshots:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids@3.0.12: {}
-
spdx-license-ids@3.0.22: {}
spdx-ranges@2.1.1: {}
@@ -18110,9 +18281,9 @@ snapshots:
split2@4.2.0: {}
- splitpanes@4.0.4(vue@3.5.27(typescript@5.9.3)):
+ splitpanes@4.0.4(vue@3.5.28(typescript@5.9.3)):
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
sprintf-js@1.0.3: {}
@@ -18564,7 +18735,7 @@ snapshots:
undici@6.21.3: {}
- undici@7.20.0: {}
+ undici@7.22.0: {}
unicode-canonical-property-names-ecmascript@2.0.1: {}
@@ -18626,9 +18797,9 @@ snapshots:
universalify@2.0.1: {}
- unocss@66.6.0(postcss@8.5.6)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)):
+ unocss@66.6.0(postcss@8.5.6)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)):
dependencies:
- '@unocss/astro': 66.6.0(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@unocss/astro': 66.6.0(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
'@unocss/cli': 66.6.0
'@unocss/core': 66.6.0
'@unocss/postcss': 66.6.0(postcss@8.5.6)
@@ -18646,9 +18817,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.6.0
'@unocss/transformer-directives': 66.6.0
'@unocss/transformer-variant-group': 66.6.0
- '@unocss/vite': 66.6.0(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@unocss/vite': 66.6.0(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
optionalDependencies:
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- postcss
- supports-color
@@ -18744,7 +18915,7 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vite-plugin-pages@0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-router@5.0.2(@vue/compiler-sfc@3.5.27)(vue@3.5.27(typescript@5.9.3))):
+ vite-plugin-pages@0.33.3(@vue/compiler-sfc@3.5.28)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-router@5.0.3(@vue/compiler-sfc@3.5.28)(vue@3.5.28(typescript@5.9.3))):
dependencies:
'@types/debug': 4.1.12
debug: 4.4.3
@@ -18755,20 +18926,20 @@ snapshots:
micromatch: 4.0.8
picocolors: 1.1.1
tinyglobby: 0.2.15
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
yaml: 2.8.2
optionalDependencies:
- '@vue/compiler-sfc': 3.5.27
- vue-router: 5.0.2(@vue/compiler-sfc@3.5.27)(vue@3.5.27(typescript@5.9.3))
+ '@vue/compiler-sfc': 3.5.28
+ vue-router: 5.0.3(@vue/compiler-sfc@3.5.28)(vue@3.5.28(typescript@5.9.3))
transitivePeerDependencies:
- supports-color
- vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0):
+ vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.4.0):
dependencies:
debug: 4.4.3
pretty-bytes: 6.1.1
tinyglobby: 0.2.15
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
workbox-build: 7.1.0(@types/babel__core@7.20.5)
workbox-window: 7.4.0
optionalDependencies:
@@ -18776,7 +18947,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2):
+ vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.3)
@@ -18785,7 +18956,7 @@ snapshots:
rollup: 4.57.1
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
fsevents: 2.3.3
jiti: 2.6.1
lightningcss: 1.31.1
@@ -18795,15 +18966,15 @@ snapshots:
tsx: 4.21.0
yaml: 2.8.2
- vitepress-plugin-group-icons@1.7.1(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)):
+ vitepress-plugin-group-icons@1.7.1(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)):
dependencies:
'@iconify-json/logos': 1.2.10
'@iconify-json/vscode-icons': 1.2.40
'@iconify/utils': 3.1.0
optionalDependencies:
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
- vitepress-plugin-llms@1.10.0:
+ vitepress-plugin-llms@1.11.0:
dependencies:
gray-matter: 4.0.3
markdown-it: 14.1.0
@@ -18822,12 +18993,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vitepress-plugin-tabs@0.7.3(vitepress@2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)):
+ vitepress-plugin-tabs@0.7.3(vitepress@2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)):
dependencies:
- vitepress: 2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
- vue: 3.5.27(typescript@5.9.3)
+ vitepress: 2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+ vue: 3.5.28(typescript@5.9.3)
- vitepress@2.0.0-alpha.16(@types/node@24.10.9)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2):
+ vitepress@2.0.0-alpha.16(@types/node@24.10.13)(axios@1.13.4)(change-case@5.4.4)(jiti@2.6.1)(lightningcss@1.31.1)(oxc-minify@0.108.0)(postcss@8.5.6)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2):
dependencies:
'@docsearch/css': 4.5.3
'@docsearch/js': 4.5.3
@@ -18837,17 +19008,17 @@ snapshots:
'@shikijs/transformers': 3.22.0
'@shikijs/types': 3.21.0
'@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 6.0.4(vite@7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
+ '@vitejs/plugin-vue': 6.0.4(vite@7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))
'@vue/devtools-api': 8.0.5
'@vue/shared': 3.5.27
- '@vueuse/core': 14.2.0(vue@3.5.27(typescript@5.9.3))
- '@vueuse/integrations': 14.2.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.27(typescript@5.9.3))
+ '@vueuse/core': 14.2.1(vue@3.5.28(typescript@5.9.3))
+ '@vueuse/integrations': 14.2.0(axios@1.13.4)(change-case@5.4.4)(focus-trap@7.8.0)(vue@3.5.28(typescript@5.9.3))
focus-trap: 7.8.0
mark.js: 8.11.1
minisearch: 7.2.0
shiki: 3.21.0
- vite: 7.1.5(@types/node@24.10.9)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
- vue: 3.5.27(typescript@5.9.3)
+ vite: 7.1.5(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vue: 3.5.28(typescript@5.9.3)
optionalDependencies:
oxc-minify: 0.108.0
postcss: 8.5.6
@@ -18876,24 +19047,24 @@ snapshots:
- universal-cookie
- yaml
- vitest-browser-react@2.0.5(@types/react-dom@18.2.14)(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@packages+vitest):
+ vitest-browser-react@2.0.5(@types/react-dom@18.2.14)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@packages+vitest):
dependencies:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
vitest: link:packages/vitest
optionalDependencies:
- '@types/react': 19.2.10
+ '@types/react': 19.2.14
'@types/react-dom': 18.2.14
- vitest-browser-vue@2.0.2(vitest@packages+vitest)(vue@3.5.27(typescript@5.9.3)):
+ vitest-browser-vue@2.0.2(vitest@packages+vitest)(vue@3.5.28(typescript@5.9.3)):
dependencies:
'@vue/test-utils': 2.4.6
vitest: link:packages/vitest
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
vitest-environment-custom@file:test/core/vitest-environment-custom: {}
- vitest-package-exports@1.1.2:
+ vitest-package-exports@1.2.0:
dependencies:
find-up-simple: 1.0.1
pathe: 2.0.3
@@ -18906,9 +19077,9 @@ snapshots:
vue-component-type-helpers@2.0.17: {}
- vue-demi@0.14.10(vue@3.5.27(typescript@5.9.3)):
+ vue-demi@0.14.10(vue@3.5.28(typescript@5.9.3)):
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)):
dependencies:
@@ -18924,19 +19095,19 @@ snapshots:
vue-flow-layout@0.2.0: {}
- vue-observe-visibility@2.0.0-alpha.1(vue@3.5.27(typescript@5.9.3)):
+ vue-observe-visibility@2.0.0-alpha.1(vue@3.5.28(typescript@5.9.3)):
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
- vue-resize@2.0.0-alpha.1(vue@3.5.27(typescript@5.9.3)):
+ vue-resize@2.0.0-alpha.1(vue@3.5.28(typescript@5.9.3)):
dependencies:
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
- vue-router@5.0.2(@vue/compiler-sfc@3.5.27)(vue@3.5.27(typescript@5.9.3)):
+ vue-router@5.0.3(@vue/compiler-sfc@3.5.28)(vue@3.5.28(typescript@5.9.3)):
dependencies:
'@babel/generator': 7.29.0
- '@vue-macros/common': 3.1.2(vue@3.5.27(typescript@5.9.3))
- '@vue/devtools-api': 8.0.5
+ '@vue-macros/common': 3.1.2(vue@3.5.28(typescript@5.9.3))
+ '@vue/devtools-api': 8.0.6
ast-walker-scope: 0.8.3
chokidar: 5.0.0
json5: 2.2.3
@@ -18950,10 +19121,10 @@ snapshots:
tinyglobby: 0.2.15
unplugin: 3.0.0
unplugin-utils: 0.3.1
- vue: 3.5.27(typescript@5.9.3)
+ vue: 3.5.28(typescript@5.9.3)
yaml: 2.8.2
optionalDependencies:
- '@vue/compiler-sfc': 3.5.27
+ '@vue/compiler-sfc': 3.5.28
vue-tsc@3.2.4(typescript@5.9.3):
dependencies:
@@ -18961,20 +19132,20 @@ snapshots:
'@vue/language-core': 3.2.4
typescript: 5.9.3
- vue-virtual-scroller@2.0.0-beta.8(vue@3.5.27(typescript@5.9.3)):
+ vue-virtual-scroller@2.0.0-beta.8(vue@3.5.28(typescript@5.9.3)):
dependencies:
mitt: 2.1.0
- vue: 3.5.27(typescript@5.9.3)
- vue-observe-visibility: 2.0.0-alpha.1(vue@3.5.27(typescript@5.9.3))
- vue-resize: 2.0.0-alpha.1(vue@3.5.27(typescript@5.9.3))
+ vue: 3.5.28(typescript@5.9.3)
+ vue-observe-visibility: 2.0.0-alpha.1(vue@3.5.28(typescript@5.9.3))
+ vue-resize: 2.0.0-alpha.1(vue@3.5.28(typescript@5.9.3))
- vue@3.5.27(typescript@5.9.3):
+ vue@3.5.28(typescript@5.9.3):
dependencies:
- '@vue/compiler-dom': 3.5.27
- '@vue/compiler-sfc': 3.5.27
- '@vue/runtime-dom': 3.5.27
- '@vue/server-renderer': 3.5.27(vue@3.5.27(typescript@5.9.3))
- '@vue/shared': 3.5.27
+ '@vue/compiler-dom': 3.5.28
+ '@vue/compiler-sfc': 3.5.28
+ '@vue/runtime-dom': 3.5.28
+ '@vue/server-renderer': 3.5.28(vue@3.5.28(typescript@5.9.3))
+ '@vue/shared': 3.5.28
optionalDependencies:
typescript: 5.9.3
@@ -18998,7 +19169,7 @@ snapshots:
webdriver@9.20.0:
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@types/ws': 8.18.1
'@wdio/config': 9.20.0
'@wdio/logger': 9.18.0
@@ -19016,7 +19187,7 @@ snapshots:
webdriverio@9.20.0:
dependencies:
- '@types/node': 24.10.9
+ '@types/node': 24.10.13
'@types/sinonjs__fake-timers': 8.1.5
'@wdio/config': 9.20.0
'@wdio/logger': 9.18.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index e09518e9a6e1..90279ad32be1 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -60,8 +60,8 @@ catalog:
'@types/ws': ^8.18.1
'@unocss/reset': ^66.6.0
'@vitejs/plugin-vue': ^6.0.4
- '@vueuse/core': ^14.2.0
- acorn-walk: ^8.3.4
+ '@vueuse/core': ^14.2.1
+ acorn-walk: ^8.3.5
birpc: ^4.0.0
cac: ^6.7.14
chai: ^6.2.2
@@ -71,14 +71,15 @@ catalog:
istanbul-lib-source-maps: ^5.0.6
istanbul-reports: ^3.2.0
magic-string: ^0.30.21
- magicast: ^0.5.1
- msw: ^2.12.7
+ magicast: ^0.5.2
+ msw: ^2.12.10
obug: ^2.1.1
pathe: ^2.0.3
- playwright: ^1.58.1
+ playwright: ^1.58.2
sirv: ^3.0.2
std-env: ^3.10.0
strip-literal: ^3.1.0
+ tinyexec: ^1.0.2
tinyglobby: ^0.2.15
tinyhighlight: ^0.3.2
tinyrainbow: ^3.0.3
@@ -86,7 +87,7 @@ catalog:
typescript: ^5.9.3
unocss: ^66.6.0
vitest-sonar-reporter: 3.0.0
- vue: ^3.5.27
+ vue: ^3.5.28
ws: ^8.19.0
onlyBuiltDependencies:
- '@sveltejs/kit'
diff --git a/test/browser/docker-compose.yaml b/test/browser/docker-compose.yaml
index d36ac0675e04..6ccc142be7e0 100644
--- a/test/browser/docker-compose.yaml
+++ b/test/browser/docker-compose.yaml
@@ -1,9 +1,24 @@
services:
playwright:
- image: mcr.microsoft.com/playwright:v1.58.1-noble
+ image: mcr.microsoft.com/playwright:v1.58.2-noble
command: /bin/sh -c "npx -y playwright@1.58.1 run-server --port 6677 --host 0.0.0.0"
init: true
ipc: host
user: pwuser
ports:
- '6677:6677'
+
+ # This setup employs simpler and robust `network_mode: host` instead of port mapping.
+ # This supports debug inspector, which can only bind to 127.0.0.1.
+ # `connectOptions.exposeNetwork: ''` is also not needed for this setup.
+ # Note that `network_mode: host` is supported only on Linux Docker.
+ # Run it by:
+ # pnpm run docker up playwright-host
+ playwright-host:
+ image: mcr.microsoft.com/playwright:v1.58.1-noble
+ command: /bin/sh -c "npx -y playwright@1.58.1 run-server --port 6677"
+ init: true
+ ipc: host
+ user: pwuser
+ network_mode: host
+ profiles: [host]
diff --git a/test/browser/fixtures/playwright-connect/basic.test.js b/test/browser/fixtures/playwright-connect/basic.test.js
index 107d7cee9cf4..c140443a98df 100644
--- a/test/browser/fixtures/playwright-connect/basic.test.js
+++ b/test/browser/fixtures/playwright-connect/basic.test.js
@@ -10,3 +10,7 @@ test('[playwright] Run browser-only test in browser via connect mode', () => {
expect(element instanceof HTMLElement).toBe(true)
expect(element instanceof HTMLInputElement).not.toBe(true)
})
+
+test('[playwright] applies launch options from connect header', () => {
+ expect(navigator.userAgent).toContain('VitestLaunchOptionsTester')
+})
diff --git a/test/browser/package.json b/test/browser/package.json
index 8e95a5e69b29..815016d24ddb 100644
--- a/test/browser/package.json
+++ b/test/browser/package.json
@@ -30,7 +30,7 @@
"docker": "docker compose"
},
"devDependencies": {
- "@types/react": "^19.2.10",
+ "@types/react": "^19.2.14",
"@vitejs/plugin-basic-ssl": "^2.1.4",
"@vitest/browser": "workspace:*",
"@vitest/browser-playwright": "workspace:*",
@@ -38,9 +38,10 @@
"@vitest/browser-webdriverio": "workspace:*",
"@vitest/bundled-lib": "link:./bundled-lib",
"@vitest/cjs-lib": "link:./cjs-lib",
- "playwright": "^1.58.1",
+ "playwright": "^1.58.2",
"react": "^19.2.4",
"react-dom": "^19.2.4",
+ "tinyexec": "catalog:",
"url": "^0.11.4",
"vitest": "workspace:*",
"vitest-browser-react": "^2.0.5",
diff --git a/test/browser/specs/playwright-connect.test.ts b/test/browser/specs/playwright-connect.test.ts
index 97318ca4768b..95c3ce4fca2a 100644
--- a/test/browser/specs/playwright-connect.test.ts
+++ b/test/browser/specs/playwright-connect.test.ts
@@ -1,42 +1,30 @@
+import { fileURLToPath } from 'node:url'
import { playwright } from '@vitest/browser-playwright'
-import { chromium } from 'playwright'
+import { x } from 'tinyexec'
import { expect, test } from 'vitest'
+import { Cli } from '../../test-utils/cli'
import { provider } from '../settings'
import { runBrowserTests } from './utils'
-test.runIf(provider.name === 'playwright')('[playwright] runs in connect mode', async () => {
- const browserServer = await chromium.launchServer()
- const wsEndpoint = browserServer.wsEndpoint()
-
- const { stdout, exitCode, stderr } = await runBrowserTests({
- root: './fixtures/playwright-connect',
- browser: {
- instances: [
- {
- browser: 'chromium',
- name: 'chromium',
- provider: playwright({
- connectOptions: {
- wsEndpoint,
- },
- }),
- },
- ],
- },
+test.runIf(provider.name === 'playwright')('[playwright] runs in connect mode', async ({ onTestFinished }) => {
+ const cliPath = fileURLToPath(new URL('./cli.js', import.meta.resolve('@playwright/test')))
+ const subprocess = x(process.execPath, [cliPath, 'run-server', '--port', '9898']).process
+ const cli = new Cli({
+ stdin: subprocess.stdin,
+ stdout: subprocess.stdout,
+ stderr: subprocess.stderr,
+ })
+ let setDone: (value?: unknown) => void
+ const isDone = new Promise(resolve => (setDone = resolve))
+ subprocess.on('exit', () => setDone())
+ onTestFinished(async () => {
+ subprocess.kill('SIGILL')
+ await isDone
})
- await browserServer.close()
-
- expect(stderr).toBe('')
- expect(stdout).toContain('Tests 2 passed')
- expect(exitCode).toBe(0)
-})
-
-test.runIf(provider.name === 'playwright')('[playwright] warns if both connect and launch mode are configured', async () => {
- const browserServer = await chromium.launchServer()
- const wsEndpoint = browserServer.wsEndpoint()
+ await cli.waitForStdout('Listening on ws://localhost:9898')
- const { stdout, exitCode, stderr } = await runBrowserTests({
+ const result = await runBrowserTests({
root: './fixtures/playwright-connect',
browser: {
instances: [
@@ -45,18 +33,25 @@ test.runIf(provider.name === 'playwright')('[playwright] warns if both connect a
name: 'chromium',
provider: playwright({
connectOptions: {
- wsEndpoint,
+ wsEndpoint: 'ws://localhost:9898',
+ },
+ launchOptions: {
+ args: [`--user-agent=VitestLaunchOptionsTester`],
},
- launchOptions: {},
}),
},
],
},
- })
-
- await browserServer.close()
-
- expect(stderr).toContain('Found both connect and launch options in browser instance configuration.')
- expect(stdout).toContain('Tests 2 passed')
- expect(exitCode).toBe(0)
+ }, ['basic.test.js'])
+
+ expect(result.stderr).toMatchInlineSnapshot(`""`)
+ expect(result.errorTree()).toMatchInlineSnapshot(`
+ {
+ "basic.test.js": {
+ "[playwright] Run basic test in browser via connect mode": "passed",
+ "[playwright] Run browser-only test in browser via connect mode": "passed",
+ "[playwright] applies launch options from connect header": "passed",
+ },
+ }
+ `)
})
diff --git a/test/browser/test/findElement.test.ts b/test/browser/test/findElement.test.ts
new file mode 100644
index 000000000000..1a211f9d267e
--- /dev/null
+++ b/test/browser/test/findElement.test.ts
@@ -0,0 +1,110 @@
+import { beforeEach, expect, test, vi } from 'vitest'
+import { page } from 'vitest/browser'
+
+beforeEach(() => {
+ document.body.innerHTML = ''
+})
+
+test('locator.findElement can find the element if it exists', async () => {
+ const button = createButton()
+
+ const element = await page.getByRole('button').findElement()
+ expect(element).toBeInTheDocument()
+ expect(button).toBe(element)
+})
+
+test('locator.findElement can find the element if it appears', async () => {
+ let button: HTMLButtonElement
+
+ setTimeout(() => {
+ button = createButton()
+ }, 50)
+
+ const element = await page.getByRole('button').findElement()
+ expect(element).toBeInTheDocument()
+ expect(button).toBe(element)
+})
+
+test('locator.findElement fails if it cannot find the element', async () => {
+ const locator = page.getByRole('button')
+ const elementsSpy = vi.spyOn(locator, 'elements')
+ await expect(() => {
+ return locator.findElement({ timeout: 100 })
+ }).rejects.toThrow('Cannot find element with locator: getByRole(\'button\')')
+ // Normally it would be 5:
+ // Immidiate, 0 (next tick), 20, 50, 100
+ // But on CI it can be less because resources are limited
+ expect(elementsSpy.mock.calls.length).toBeGreaterThanOrEqual(3)
+})
+
+test('locator.findElement fails if there are multiple elements by default', async () => {
+ createButton()
+ createButton()
+
+ await expect(
+ () => page.getByRole('button').findElement(),
+ ).rejects.toThrowErrorMatchingInlineSnapshot(`
+ [Error: strict mode violation: getByRole('button') resolved to 2 elements:
+ 1) aka getByRole('button').first()
+ 2) aka getByRole('button').nth(1)
+ ]
+ `)
+})
+
+test('locator.findElement fails if there are multiple elements if strict mode is specified', async () => {
+ createButton()
+ createButton()
+
+ await expect(
+ () => page.getByRole('button').findElement({ strict: true }),
+ ).rejects.toThrowErrorMatchingInlineSnapshot(`
+ [Error: strict mode violation: getByRole('button') resolved to 2 elements:
+ 1) aka getByRole('button').first()
+ 2) aka getByRole('button').nth(1)
+ ]
+ `)
+})
+
+test('locator.findElement fails if multiple elements appear later with strict mode', async () => {
+ setTimeout(() => {
+ createButton()
+ createButton()
+ }, 50)
+
+ await expect(
+ () => page.getByRole('button').findElement(),
+ ).rejects.toThrowErrorMatchingInlineSnapshot(`
+ [Error: strict mode violation: getByRole('button') resolved to 2 elements:
+ 1) aka getByRole('button').first()
+ 2) aka getByRole('button').nth(1)
+ ]
+ `)
+})
+
+test('locator.findElement returns the first button if strict is disabled', async () => {
+ const button = createButton()
+ createButton()
+
+ const element = await page.getByRole('button').findElement({ strict: false })
+ expect(element).toBeInTheDocument()
+ expect(button).toBe(element)
+})
+
+test('locator.findElement returns the first button if strict is disabled after element appears', async () => {
+ let button: HTMLButtonElement
+
+ setTimeout(() => {
+ button = createButton()
+ createButton()
+ }, 50)
+
+ const element = await page.getByRole('button').findElement({ strict: false })
+ expect(element).toBeInTheDocument()
+ expect(button).toBe(element)
+})
+
+function createButton() {
+ const button = document.createElement('button')
+ document.body.append(button)
+ return button
+}
diff --git a/test/browser/test/userEvent.test.ts b/test/browser/test/userEvent.test.ts
index 46b8de159fc5..88c692f5c62b 100644
--- a/test/browser/test/userEvent.test.ts
+++ b/test/browser/test/userEvent.test.ts
@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, test, vi } from 'vitest'
-import { userEvent as _uE, server } from 'vitest/browser'
+import { userEvent as _uE, page, server } from 'vitest/browser'
import '../src/button.css'
beforeEach(() => {
@@ -157,6 +157,18 @@ describe('userEvent.click', () => {
y: expect.closeTo(150, -1),
})
})
+
+ test('click throws an error with multiple elements', async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => page.getByRole('button').click()).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+ })
})
describe('userEvent.dblClick', () => {
@@ -193,6 +205,18 @@ describe('userEvent.dblClick', () => {
expect(onClick).not.toHaveBeenCalled()
expect(dblClick).not.toHaveBeenCalled()
})
+
+ test('double click throws an error with multiple elements', async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => page.getByRole('button').dblClick()).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+ })
})
describe('userEvent.tripleClick', () => {
@@ -239,6 +263,18 @@ describe('userEvent.tripleClick', () => {
expect(dblClick).not.toHaveBeenCalled()
expect(tripleClick).not.toHaveBeenCalled()
})
+
+ test('triple click throws an error with multiple elements', async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => page.getByRole('button').tripleClick()).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+ })
})
describe('userEvent.hover, userEvent.unhover', () => {
@@ -276,6 +312,18 @@ describe('userEvent.hover, userEvent.unhover', () => {
expect(mouseEntered).toBe(false)
})
+ test('hover throws an error with multiple elements', async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => page.getByRole('button').hover()).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+ })
+
test.runIf(server.provider === 'playwright')('hover, unhover correctly pass options', async () => {
interface ModifiersDetected { shift: boolean; control: boolean }
type ModifierKeys = 'Shift' | 'Control' | 'Alt' | 'ControlOrMeta' | 'Meta'
@@ -409,6 +457,30 @@ const inputLike = [
},
]
+test('type throws an error with multiple elements', async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => userEvent.type(page.getByRole('button'), 'Hello World')).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+})
+
+test('fill throws an error with multiple elements', async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => page.getByRole('button').fill('Hello World')).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+})
+
describe.each(inputLike)('userEvent.type', (getElement) => {
test('types into an input', async () => {
const { input, keydown, keyup, value } = createTextInput()
@@ -814,7 +886,19 @@ describe.each([
// return { select, options: [option1, option2] }
// },
// ],
-])('selectOptions in "%s" works correctly', (_, createSelect) => {
+])('selectOptions in "%s" works correctly', (name, createSelect) => {
+ test(`${name} throws an error with multiple elements`, async () => {
+ const button1 = document.createElement('button')
+ const button2 = document.createElement('button')
+ document.body.append(button1, button2)
+
+ await expect(() => page.getByRole('button').selectOptions('Hello World')).rejects.toThrow(
+ `strict mode violation: getByRole('button') resolved to 2 elements:\n`
+ + ` 1) aka getByRole('button').first()\n`
+ + ` 2) aka getByRole('button').nth(1)`,
+ )
+ })
+
test('can select a single primitive value', async () => {
const { select } = createSelect()
diff --git a/test/cli/fixtures/no-module-runner/package.json b/test/cli/fixtures/no-module-runner/package.json
index fdc6ec2f6916..6bbc6a4ecc3f 100644
--- a/test/cli/fixtures/no-module-runner/package.json
+++ b/test/cli/fixtures/no-module-runner/package.json
@@ -10,7 +10,7 @@
"test:run": "vitest run"
},
"devDependencies": {
- "@types/node": "^24.10.9",
+ "@types/node": "^24.10.13",
"@vitest/ui": "latest",
"tinyspy": "^4.0.4",
"vite": "latest",
diff --git a/test/cli/package.json b/test/cli/package.json
index 5b386348343e..20946fae28a3 100644
--- a/test/cli/package.json
+++ b/test/cli/package.json
@@ -12,8 +12,8 @@
},
"devDependencies": {
"@opentelemetry/api": "^1.9.0",
- "@opentelemetry/sdk-node": "^0.211.0",
- "@opentelemetry/sdk-trace-web": "^2.5.0",
+ "@opentelemetry/sdk-node": "^0.212.0",
+ "@opentelemetry/sdk-trace-web": "^2.5.1",
"@test/pkg-reporter": "link:./deps/pkg-reporter",
"@test/test-dep-error": "file:./deps/error",
"@test/test-dep-linked": "link:./deps/linked",
diff --git a/test/cli/test/around-each.test.ts b/test/cli/test/around-each.test.ts
index 247b64066fce..fff738ef7e12 100644
--- a/test/cli/test/around-each.test.ts
+++ b/test/cli/test/around-each.test.ts
@@ -1463,6 +1463,9 @@ test('aroundAll throws error when runSuite is not called', async () => {
expect(errorTree()).toMatchInlineSnapshot(`
{
"no-run.test.ts": {
+ "__module_errors__": [
+ "The \`runSuite()\` callback was not called in the \`aroundAll\` hook. Make sure to call \`runSuite()\` to run the suite.",
+ ],
"test": "skipped",
},
}
@@ -1584,6 +1587,9 @@ test('aroundAll setup phase timeout', async () => {
expect(errorTree()).toMatchInlineSnapshot(`
{
"timeout.test.ts": {
+ "__module_errors__": [
+ "The setup phase of "aroundAll" hook timed out after 10ms.",
+ ],
"test": "skipped",
},
}
@@ -1635,6 +1641,9 @@ test('aroundAll teardown phase timeout', async () => {
expect(errorTree()).toMatchInlineSnapshot(`
{
"teardown-timeout.test.ts": {
+ "__module_errors__": [
+ "The teardown phase of "aroundAll" hook timed out after 10ms.",
+ ],
"test": "passed",
},
}
@@ -1974,6 +1983,9 @@ test('tests are skipped when aroundAll setup fails', async () => {
expect(errorTree()).toMatchInlineSnapshot(`
{
"aroundAll-setup-error.test.ts": {
+ "__module_errors__": [
+ "aroundAll setup error",
+ ],
"test should be skipped": "skipped",
},
}
@@ -2461,6 +2473,9 @@ test('nested aroundAll setup error is not propagated to outer runSuite catch', a
expect(errorTree()).toMatchInlineSnapshot(`
{
"nested-around-all-setup-error.test.ts": {
+ "__module_errors__": [
+ "inner aroundAll setup error",
+ ],
"repro": "skipped",
},
}
@@ -2524,6 +2539,9 @@ test('nested aroundAll teardown error is not propagated to outer runSuite catch'
expect(errorTree()).toMatchInlineSnapshot(`
{
"nested-around-all-teardown-error.test.ts": {
+ "__module_errors__": [
+ "inner aroundAll teardown error",
+ ],
"repro": "passed",
},
}
@@ -2712,6 +2730,11 @@ test('three nested aroundAll teardown errors are all reported', async () => {
expect(errorTree()).toMatchInlineSnapshot(`
{
"triple-around-all-teardown-errors.test.ts": {
+ "__module_errors__": [
+ "inner aroundAll teardown error",
+ "middle aroundAll teardown error",
+ "outer aroundAll teardown error",
+ ],
"repro": "passed",
},
}
diff --git a/test/cli/test/mocking.test.ts b/test/cli/test/mocking.test.ts
index 16c3dd6935d6..8c0afda75423 100644
--- a/test/cli/test/mocking.test.ts
+++ b/test/cli/test/mocking.test.ts
@@ -43,26 +43,14 @@ test('spy is not called here', () => {
})
test('invalid packages', async () => {
- const { results, errorTree } = await runVitest({
+ const { stderr, errorTree } = await runVitest({
root: path.join(import.meta.dirname, '../fixtures/invalid-package'),
})
- const testModuleErrors = Object.fromEntries(
- results.map(testModule => [
- testModule.relativeModuleId,
- testModule.errors().map(e => e.message),
- ]),
- )
// requires Vite 8 for relaxed import analysis validataion
// https://github.com/vitejs/vite/pull/21601
if (rolldownVersion) {
- expect(testModuleErrors).toMatchInlineSnapshot(`
- {
- "mock-bad-dep.test.ts": [],
- "mock-wrapper-and-bad-dep.test.ts": [],
- "mock-wrapper.test.ts": [],
- }
- `)
+ expect(stderr).toMatchInlineSnapshot(`""`)
expect(errorTree()).toMatchInlineSnapshot(`
{
"mock-bad-dep.test.ts": {
@@ -78,32 +66,31 @@ test('invalid packages', async () => {
`)
}
else {
- expect(testModuleErrors).toMatchInlineSnapshot(`
+ expect(errorTree()).toMatchInlineSnapshot(`
{
- "mock-bad-dep.test.ts": [
- "Failed to resolve entry for package "test-dep-invalid". The package may have incorrect main/module/exports specified in its package.json.",
- ],
- "mock-wrapper-and-bad-dep.test.ts": [
- "Failed to resolve entry for package "test-dep-invalid". The package may have incorrect main/module/exports specified in its package.json.",
- ],
- "mock-wrapper.test.ts": [
- "Failed to resolve entry for package "test-dep-invalid". The package may have incorrect main/module/exports specified in its package.json.",
- ],
+ "mock-bad-dep.test.ts": {
+ "__module_errors__": [
+ "Failed to resolve entry for package "test-dep-invalid". The package may have incorrect main/module/exports specified in its package.json.",
+ ],
+ },
+ "mock-wrapper-and-bad-dep.test.ts": {
+ "__module_errors__": [
+ "Failed to resolve entry for package "test-dep-invalid". The package may have incorrect main/module/exports specified in its package.json.",
+ ],
+ },
+ "mock-wrapper.test.ts": {
+ "__module_errors__": [
+ "Failed to resolve entry for package "test-dep-invalid". The package may have incorrect main/module/exports specified in its package.json.",
+ ],
+ },
}
`)
- expect(errorTree()).toMatchInlineSnapshot(`
- {
- "mock-bad-dep.test.ts": {},
- "mock-wrapper-and-bad-dep.test.ts": {},
- "mock-wrapper.test.ts": {},
- }
- `)
}
})
test('mocking modules with syntax error', async () => {
// TODO: manual mocked module still gets transformed so this is not supported yet.
- const { errorTree, results } = await runInlineTests({
+ const { errorTree } = await runInlineTests({
'./syntax-error.js': `syntax error`,
'./basic.test.js': /* ts */ `
import * as dep from './syntax-error.js'
@@ -118,38 +105,31 @@ test('can mock invalid module', () => {
`,
})
- const testModuleErrors = Object.fromEntries(
- results.map(testModule => [
- testModule.relativeModuleId,
- testModule.errors().map(e => e.message),
- ]),
- )
if (rolldownVersion) {
- expect(testModuleErrors).toMatchInlineSnapshot(`
+ expect(errorTree()).toMatchInlineSnapshot(`
{
- "basic.test.js": [
- "Parse failure: Parse failed with 1 error:
+ "basic.test.js": {
+ "__module_errors__": [
+ "Parse failure: Parse failed with 1 error:
Expected a semicolon or an implicit semicolon after a statement, but found none
1: syntax error
^
At file: /syntax-error.js:1:6",
- ],
+ ],
+ },
}
`)
}
else {
- expect(testModuleErrors).toMatchInlineSnapshot(`
+ expect(errorTree()).toMatchInlineSnapshot(`
{
- "basic.test.js": [
- "Parse failure: Expected ';', '}' or
+ "basic.test.js": {
+ "__module_errors__": [
+ "Parse failure: Expected ';', '}' or
At file: /syntax-error.js:1:7",
- ],
+ ],
+ },
}
`)
}
- expect(errorTree()).toMatchInlineSnapshot(`
- {
- "basic.test.js": {},
- }
- `)
})
diff --git a/test/cli/test/stacktraces.test.ts b/test/cli/test/stacktraces.test.ts
index c2817e28ac56..4bdcd83960c2 100644
--- a/test/cli/test/stacktraces.test.ts
+++ b/test/cli/test/stacktraces.test.ts
@@ -264,12 +264,12 @@ it('resolves/rejects', async () => {
FAIL repro.test.ts > rejects: resolves when rejection expected
AssertionError: promise resolved "3" instead of rejecting
- - Expected:
+ - Expected:
Error {
"message": "rejected promise",
}
- + Received:
+ + Received:
3
❯ repro.test.ts:13:41
@@ -343,12 +343,12 @@ it('resolves/rejects', async () => {
FAIL repro.test.ts > rejects: resolves when rejection expected
AssertionError: promise resolved "3" instead of rejecting
- - Expected:
+ - Expected:
Error {
"message": "rejected promise",
}
- + Received:
+ + Received:
3
❯ repro.test.ts:13:40
diff --git a/test/core/package.json b/test/core/package.json
index 5b393964b946..dcf74bdfafb9 100644
--- a/test/core/package.json
+++ b/test/core/package.json
@@ -27,7 +27,7 @@
"@vitest/test-fn": "file:./deps/dep-fn",
"@vitest/utils": "workspace:*",
"@vitest/web-worker": "workspace:^",
- "@vueuse/integrations": "^14.2.0",
+ "@vueuse/integrations": "^14.2.1",
"axios": "^1.13.4",
"immutable": "5.1.4",
"memfs": "^4.56.10",
@@ -40,7 +40,7 @@
"url": "^0.11.4",
"vitest": "workspace:*",
"vitest-environment-custom": "file:./vitest-environment-custom",
- "vitest-package-exports": "^1.1.2",
+ "vitest-package-exports": "^1.2.0",
"vue": "catalog:"
}
}
diff --git a/test/core/test/__snapshots__/jest-expect.test.ts.snap b/test/core/test/__snapshots__/jest-expect.test.ts.snap
index 5fb6d4f82793..5aec9b6bc32a 100644
--- a/test/core/test/__snapshots__/jest-expect.test.ts.snap
+++ b/test/core/test/__snapshots__/jest-expect.test.ts.snap
@@ -59,10 +59,10 @@ exports[`asymmetric matcher error 4`] = `
exports[`asymmetric matcher error 5`] = `
{
"actual": "hello",
- "diff": "- Expected:
+ "diff": "- Expected:
stringContainingCustom<"xx">
-+ Received:
++ Received:
"hello"",
"expected": "stringContainingCustom<"xx">",
"message": "expected 'hello' to deeply equal stringContainingCustom<"xx">",
@@ -72,10 +72,10 @@ stringContainingCustom<"xx">
exports[`asymmetric matcher error 6`] = `
{
"actual": "hello",
- "diff": "- Expected:
+ "diff": "- Expected:
not.stringContainingCustom<"ll">
-+ Received:
++ Received:
"hello"",
"expected": "not.stringContainingCustom<"ll">",
"message": "expected 'hello' to deeply equal not.stringContainingCustom<"ll">",
@@ -141,12 +141,12 @@ exports[`asymmetric matcher error 10`] = `
exports[`asymmetric matcher error 11`] = `
{
"actual": "hello",
- "diff": "- Expected:
+ "diff": "- Expected:
testComplexMatcher
-+ Received:
++ Received:
"hello"",
"expected": "testComplexMatcher
-+ Received:
++ Received:
"foo"",
"expected": "toBeOneOf,
null,
undefined,
]>
-+ Received:
++ Received:
0",
"expected": "toBeOneOf,
@@ -272,7 +272,7 @@ exports[`asymmetric matcher error 18`] = `
"k": "v",
"k2": "v2",
}",
- "diff": "- Expected:
+ "diff": "- Expected:
toBeOneOf
-+ Received:
++ Received:
{
"k": "v",
"k2": "v2",
@@ -320,10 +320,10 @@ exports[`asymmetric matcher error 20`] = `
exports[`asymmetric matcher error 21`] = `
{
"actual": "hello",
- "diff": "- Expected:
+ "diff": "- Expected:
stringContainingCustom<"xx">
-+ Received:
++ Received:
"hello"",
"expected": "stringContainingCustom<"xx">",
"message": "expected error to match asymmetric matcher",
@@ -342,10 +342,10 @@ exports[`asymmetric matcher error 22`] = `
exports[`asymmetric matcher error 23`] = `
{
"actual": "hello",
- "diff": "- Expected:
+ "diff": "- Expected:
stringContainingCustom<"ll">
-+ Received:
++ Received:
"hello"",
"expected": "stringContainingCustom<"ll">",
"message": "expected error not to match asymmetric matcher",
@@ -355,10 +355,10 @@ stringContainingCustom<"ll">
exports[`asymmetric matcher error 24`] = `
{
"actual": "[Error: hello]",
- "diff": "- Expected:
+ "diff": "- Expected:
StringContaining "ll"
-+ Received:
++ Received:
Error {
"message": "hello",
}",
@@ -370,10 +370,10 @@ Error {
exports[`asymmetric matcher error 25`] = `
{
"actual": "[Error: hello]",
- "diff": "- Expected:
+ "diff": "- Expected:
stringContainingCustom<"ll">
-+ Received:
++ Received:
Error {
"message": "hello",
}",
@@ -385,10 +385,10 @@ Error {
exports[`asymmetric matcher error 26`] = `
{
"actual": "[Error: hello]",
- "diff": "- Expected:
+ "diff": "- Expected:
[Function MyError1]
-+ Received:
++ Received:
MyError2 {
"message": "hello",
}",
@@ -400,10 +400,10 @@ MyError2 {
exports[`diff 1`] = `
{
"actual": "undefined",
- "diff": "- Expected:
+ "diff": "- Expected:
true
-+ Received:
++ Received:
undefined",
"expected": "true",
"message": "expected undefined to be truthy",
@@ -415,10 +415,10 @@ exports[`diff 2`] = `
"actual": "Object {
"hello": "world",
}",
- "diff": "- Expected:
+ "diff": "- Expected:
false
-+ Received:
++ Received:
{
"hello": "world",
}",
@@ -432,10 +432,10 @@ exports[`diff 3`] = `
"actual": "Object {
"hello": "world",
}",
- "diff": "- Expected:
+ "diff": "- Expected:
NaN
-+ Received:
++ Received:
{
"hello": "world",
}",
@@ -449,10 +449,10 @@ exports[`diff 4`] = `
"actual": "Object {
"hello": "world",
}",
- "diff": "- Expected:
+ "diff": "- Expected:
undefined
-+ Received:
++ Received:
{
"hello": "world",
}",
@@ -466,10 +466,10 @@ exports[`diff 5`] = `
"actual": "Object {
"hello": "world",
}",
- "diff": "- Expected:
+ "diff": "- Expected:
null
-+ Received:
++ Received:
{
"hello": "world",
}",
@@ -747,7 +747,7 @@ exports[`toBeOneOf() > error message 3`] = `
"actual": "Object {
"a": 0,
}",
- "diff": "- Expected:
+ "diff": "- Expected:
toBeOneOf
-+ Received:
++ Received:
{
"a": 0,
}",
@@ -851,10 +851,10 @@ Received: "hellohellohellohellohellohellohellohellohellohellohellohellohellohell
exports[`toMatch/toContain diff 3`] = `
{
"actual": "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello",
- "diff": "- Expected:
+ "diff": "- Expected:
/world/
-+ Received:
++ Received:
"hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"",
"expected": "/world/",
"message": "expected 'hellohellohellohellohellohellohellohe…' to match /world/",
diff --git a/test/core/test/__snapshots__/mocked.test.ts.snap b/test/core/test/__snapshots__/mocked.test.ts.snap
index 808a273cd11a..31a7826e1ee0 100644
--- a/test/core/test/__snapshots__/mocked.test.ts.snap
+++ b/test/core/test/__snapshots__/mocked.test.ts.snap
@@ -3,7 +3,7 @@
exports[`mocked function which fails on toReturnWith > just one call 1`] = `
"expected "vi.fn()" to return with: 2 at least once
-Received:
+Received:
1st vi.fn() call return:
@@ -18,7 +18,7 @@ Number of calls: 1
exports[`mocked function which fails on toReturnWith > multi calls 1`] = `
"expected "vi.fn()" to return with: 2 at least once
-Received:
+Received:
1st vi.fn() call return:
@@ -43,7 +43,7 @@ Number of calls: 3
exports[`mocked function which fails on toReturnWith > oject type 1`] = `
"expected "vi.fn()" to return with: { a: '4' } at least once
-Received:
+Received:
1st vi.fn() call return:
diff --git a/test/core/test/expect.test.ts b/test/core/test/expect.test.ts
index 998a7e5ec40c..f7db869cd890 100644
--- a/test/core/test/expect.test.ts
+++ b/test/core/test/expect.test.ts
@@ -535,7 +535,7 @@ describe('Standard Schema', () => {
const error = processError(err)
const diff = stripVTControlCharacters(error.diff!)
expect(diff).toMatchInlineSnapshot(`
- "- Expected:
+ "- Expected:
SchemaMatching {
"issues": [
{
@@ -544,7 +544,7 @@ describe('Standard Schema', () => {
],
}
- + Received:
+ + Received:
123"
`)
}
@@ -673,10 +673,10 @@ describe('Standard Schema', () => {
const error = processError(err)
const diff = stripVTControlCharacters(error.diff!)
expect(diff).toMatchInlineSnapshot(`
- "- Expected:
+ "- Expected:
SchemaMatching
- + Received:
+ + Received:
"hello""
`)
}
diff --git a/test/coverage-test/package.json b/test/coverage-test/package.json
index 88a0727b0b35..7199f204ab5e 100644
--- a/test/coverage-test/package.json
+++ b/test/coverage-test/package.json
@@ -21,7 +21,7 @@
"istanbul-lib-coverage": "catalog:",
"istanbul-lib-report": "catalog:",
"magic-string": "^0.30.21",
- "magicast": "^0.5.1",
+ "magicast": "^0.5.2",
"sass-embedded": "^1.97.3",
"unplugin-swc": "^1.5.9",
"vite": "latest",
diff --git a/test/snapshots/test/ci.test.ts b/test/snapshots/test/ci.test.ts
new file mode 100644
index 000000000000..37eec75015cc
--- /dev/null
+++ b/test/snapshots/test/ci.test.ts
@@ -0,0 +1,54 @@
+import fs from 'node:fs'
+import path from 'node:path'
+import { expect, test } from 'vitest'
+import { runVitestCli } from '../../test-utils'
+
+test('CI behavior', async () => {
+ // cleanup snapshot
+ const root = path.join(import.meta.dirname, 'fixtures/ci')
+ fs.rmSync(path.join(root, '__snapshots__'), { recursive: true, force: true })
+
+ // snapshot fails with CI
+ let result = await runVitestCli({
+ nodeOptions: {
+ env: {
+ CI: 'true',
+ GITHUB_ACTIONS: 'true',
+ },
+ },
+ }, '--root', root)
+ expect(result.stderr).toMatchInlineSnapshot(`
+ "
+ ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯
+
+ FAIL basic.test.ts > basic
+ Error: Snapshot \`basic 1\` mismatched
+ ❯ basic.test.ts:4:16
+ 2|
+ 3| test("basic", () => {
+ 4| expect("ok").toMatchSnapshot()
+ | ^
+ 5| })
+ 6|
+
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
+
+ "
+ `)
+
+ // snapshot created without CI
+ result = await runVitestCli(
+ {
+ nodeOptions: {
+ env: {
+ CI: '',
+ GITHUB_ACTIONS: '',
+ },
+ },
+ },
+ '--root',
+ root,
+ )
+ expect(result.stderr).toMatchInlineSnapshot(`""`)
+ expect(result.stdout).toContain('Snapshots 1 written')
+})
diff --git a/test/snapshots/test/fixtures/ci/.gitignore b/test/snapshots/test/fixtures/ci/.gitignore
new file mode 100644
index 000000000000..b05c2dfa7007
--- /dev/null
+++ b/test/snapshots/test/fixtures/ci/.gitignore
@@ -0,0 +1 @@
+__snapshots__
diff --git a/test/snapshots/test/fixtures/ci/basic.test.ts b/test/snapshots/test/fixtures/ci/basic.test.ts
new file mode 100644
index 000000000000..9727e71ae6f2
--- /dev/null
+++ b/test/snapshots/test/fixtures/ci/basic.test.ts
@@ -0,0 +1,5 @@
+import { test, expect } from "vitest"
+
+test("basic", () => {
+ expect("ok").toMatchSnapshot()
+})
diff --git a/test/snapshots/test/obsolete.test.ts b/test/snapshots/test/obsolete.test.ts
index 8e66f3583174..a6992ccc4adc 100644
--- a/test/snapshots/test/obsolete.test.ts
+++ b/test/snapshots/test/obsolete.test.ts
@@ -1,39 +1,68 @@
import fs from 'node:fs'
import path from 'node:path'
import { expect, test } from 'vitest'
-import { runVitestCli } from '../../test-utils'
+import { runVitest } from '../../test-utils'
-test('obsolete snapshot fails CI', async () => {
+test('obsolete snapshot fails with update:none', async () => {
// cleanup snapshot
const root = path.join(import.meta.dirname, 'fixtures/obsolete')
fs.rmSync(path.join(root, 'src/__snapshots__'), { recursive: true, force: true })
// initial run to write snapshot
- let vitest = await runVitestCli('--root', root, '--update')
- expect(vitest.stdout).toContain('Snapshots 5 written')
- expect(vitest.stderr).toBe('')
+ let result = await runVitest({ root, update: true })
+ expect(result.stderr).toBe('')
+ expect(result.errorTree()).toMatchInlineSnapshot(`
+ Object {
+ "src/test1.test.ts": Object {
+ "bar": "passed",
+ "foo": "passed",
+ "fuu": "passed",
+ },
+ "src/test2.test.ts": Object {
+ "bar": "passed",
+ "foo": "passed",
+ },
+ }
+ `)
// test fails with obsolete snapshots
- // (use cli to test `updateSnapshot: 'none'`)
- vitest = await runVitestCli(
- {
- nodeOptions: {
- env: {
- CI: 'true',
- TEST_OBSOLETE: 'true',
- },
- },
- },
- '--root',
+ result = await runVitest({
root,
- )
- expect(vitest.stdout).toContain('2 obsolete')
- expect(vitest.stdout).toContain('Test Files 1 failed | 1 passed')
- expect(vitest.stdout).toContain('Tests 5 passed')
- expect(vitest.stderr).toContain(`
-Error: Obsolete snapshots found when no snapshot update is expected.
-· foo 1
-· fuu 1
-`)
- expect(vitest.exitCode).toBe(1)
+ update: 'none',
+ env: {
+ TEST_OBSOLETE: 'true',
+ },
+ })
+ expect(result.stderr).toMatchInlineSnapshot(`
+ "
+ ⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯
+
+ FAIL src/test1.test.ts [ src/test1.test.ts ]
+ Error: Obsolete snapshots found when no snapshot update is expected.
+ · foo 1
+ · fuu 1
+
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
+
+ "
+ `)
+ expect(result.errorTree()).toMatchInlineSnapshot(`
+ Object {
+ "src/test1.test.ts": Object {
+ "__module_errors__": Array [
+ "Obsolete snapshots found when no snapshot update is expected.
+ · foo 1
+ · fuu 1
+ ",
+ ],
+ "bar": "passed",
+ "foo": "passed",
+ "fuu": "passed",
+ },
+ "src/test2.test.ts": Object {
+ "bar": "passed",
+ "foo": "passed",
+ },
+ }
+ `)
})
diff --git a/test/snapshots/test/test-update.test.ts b/test/snapshots/test/test-update.test.ts
index 5df1f63fc2e3..272b502d1f20 100644
--- a/test/snapshots/test/test-update.test.ts
+++ b/test/snapshots/test/test-update.test.ts
@@ -67,7 +67,7 @@ test('test update', async () => {
`)
// re-run without update and files are unchanged
- const result2 = await runVitest({ root: dstDir, update: false })
+ const result2 = await runVitest({ root: dstDir, update: 'none' })
expect(result2.stderr).toMatchInlineSnapshot(`""`)
expect(result2.errorTree()).toEqual(result.errorTree())
expect(readFiles(dstDir)).toEqual(resultFiles)
diff --git a/test/test-utils/index.ts b/test/test-utils/index.ts
index 5b2d3a1828b2..738239854376 100644
--- a/test/test-utils/index.ts
+++ b/test/test-utils/index.ts
@@ -575,6 +575,16 @@ export function buildErrorTree(testModules: TestModule[]) {
}
return suiteChildren
},
+ (testModule, moduleChildren) => {
+ const errors = testModule.errors().map(error => error.message)
+ if (errors.length > 0) {
+ return {
+ ...moduleChildren,
+ __module_errors__: errors,
+ }
+ }
+ return moduleChildren
+ },
)
}
@@ -582,6 +592,7 @@ export function buildTestTree(
testModules: TestModule[],
onTestCase?: (result: TestCase) => unknown,
onTestSuite?: (testSuite: TestSuite, suiteChildren: Record) => unknown,
+ onTestModule?: (testModule: TestModule, moduleChildren: Record) => unknown,
) {
type TestTree = Record
@@ -613,7 +624,8 @@ export function buildTestTree(
for (const module of testModules) {
// Use relative module ID for cleaner output
const key = module.relativeModuleId
- tree[key] = walkCollection(module.children)
+ const moduleChildren = walkCollection(module.children)
+ tree[key] = onTestModule ? onTestModule(module, moduleChildren) : moduleChildren
}
return tree