diff --git a/packages/ui/client/components/artifacts/visual-regression/SmallTabs.spec.ts b/packages/ui/client/components/artifacts/visual-regression/SmallTabs.spec.ts
index 39b9b809e..3af7a8139 100644
--- a/packages/ui/client/components/artifacts/visual-regression/SmallTabs.spec.ts
+++ b/packages/ui/client/components/artifacts/visual-regression/SmallTabs.spec.ts
@@ -25,7 +25,7 @@ function createSmallTabs(children: number) {
describe('SmallTabs', () => {
it('has accessible elements', async () => {
- const result = render(createSmallTabs(2))
+ const result = await render(createSmallTabs(2))
// a tablist with two elements inside
const tablist = page.getByRole('tablist')
@@ -78,7 +78,7 @@ describe('SmallTabs', () => {
it('opens one panel at a time', async () => {
const tabsLimit = 5
- const result = render(createSmallTabs(tabsLimit))
+ const result = await render(createSmallTabs(tabsLimit))
const tabs = page.getByRole('tablist').getByRole('tab')
const panels = page.getByRole('tabpanel', { includeHidden: true })
diff --git a/packages/ui/client/components/artifacts/visual-regression/VisualRegression.spec.ts b/packages/ui/client/components/artifacts/visual-regression/VisualRegression.spec.ts
index df797a1be..f256ba49c 100644
--- a/packages/ui/client/components/artifacts/visual-regression/VisualRegression.spec.ts
+++ b/packages/ui/client/components/artifacts/visual-regression/VisualRegression.spec.ts
@@ -30,7 +30,7 @@ describe('VisualRegression', () => {
it('renders content with no attachments', async () => {
const messageContent = faker.lorem.words(5)
- const result = render(VisualRegression, {
+ const result = await render(VisualRegression, {
props: {
regression: {
type: 'internal:toMatchScreenshot',
@@ -59,7 +59,7 @@ describe('VisualRegression', () => {
})
it('renders diff tab', async () => {
- const result = render(VisualRegression, {
+ const result = await render(VisualRegression, {
props: {
regression: {
type: 'internal:toMatchScreenshot',
@@ -88,7 +88,7 @@ describe('VisualRegression', () => {
})
it('renders reference tab', async () => {
- render(VisualRegression, {
+ await render(VisualRegression, {
props: {
regression: {
type: 'internal:toMatchScreenshot',
@@ -106,7 +106,7 @@ describe('VisualRegression', () => {
})
it('renders actual tab', async () => {
- render(VisualRegression, {
+ await render(VisualRegression, {
props: {
regression: {
type: 'internal:toMatchScreenshot',
@@ -124,7 +124,7 @@ describe('VisualRegression', () => {
})
it('renders reference, actual, and slider tabs', async () => {
- const result = render(VisualRegression, {
+ const result = await render(VisualRegression, {
props: {
regression: {
type: 'internal:toMatchScreenshot',
@@ -176,7 +176,7 @@ describe('VisualRegression', () => {
})
it('renders diff, reference, actual, and slider tabs', async () => {
- const result = render(VisualRegression, {
+ const result = await render(VisualRegression, {
props: {
regression: {
type: 'internal:toMatchScreenshot',
diff --git a/packages/ui/client/components/artifacts/visual-regression/VisualRegressionSlider.spec.ts b/packages/ui/client/components/artifacts/visual-regression/VisualRegressionSlider.spec.ts
index 7872fc84d..ed8cd2f26 100644
--- a/packages/ui/client/components/artifacts/visual-regression/VisualRegressionSlider.spec.ts
+++ b/packages/ui/client/components/artifacts/visual-regression/VisualRegressionSlider.spec.ts
@@ -27,7 +27,7 @@ const inputLabel = 'Adjust slider to compare reference and actual images'
describe('VisualRegressionSlider', () => {
it('renders both images with correct URLs', async () => {
- render(VisualRegressionSlider, {
+ await render(VisualRegressionSlider, {
props: {
reference,
actual,
@@ -67,7 +67,7 @@ describe('VisualRegressionSlider', () => {
})
it('has accessible descriptions', async () => {
- render(VisualRegressionSlider, {
+ await render(VisualRegressionSlider, {
props: {
reference,
actual,
@@ -101,7 +101,7 @@ describe('VisualRegressionSlider', () => {
})
it('has slider boundaries', async () => {
- render(VisualRegressionSlider, {
+ await render(VisualRegressionSlider, {
props: {
reference,
actual,
@@ -116,7 +116,7 @@ describe('VisualRegressionSlider', () => {
})
it('updates split percentage on slider movement', async () => {
- render(VisualRegressionSlider, {
+ await render(VisualRegressionSlider, {
props: {
reference,
actual,
diff --git a/packages/ui/client/components/dashboard/DashboardEntry.spec.ts b/packages/ui/client/components/dashboard/DashboardEntry.spec.ts
index 8d61ac273..f6e8063c0 100644
--- a/packages/ui/client/components/dashboard/DashboardEntry.spec.ts
+++ b/packages/ui/client/components/dashboard/DashboardEntry.spec.ts
@@ -13,7 +13,7 @@ function div(o: { testId: string; body: string }) {
describe('DashboardEntry', () => {
it('renders the body and header slots', async () => {
- render(DashboardEntry, {
+ await render(DashboardEntry, {
slots: {
body: div({ testId: bodyTestId, body: faker.lorem.words(2) }),
header: div({ testId: headerTestId, body: faker.hacker.phrase() }),
diff --git a/packages/ui/client/components/views/ViewConsoleOutputEntry.spec.ts b/packages/ui/client/components/views/ViewConsoleOutputEntry.spec.ts
index d05b8ef48..9e2d87c77 100644
--- a/packages/ui/client/components/views/ViewConsoleOutputEntry.spec.ts
+++ b/packages/ui/client/components/views/ViewConsoleOutputEntry.spec.ts
@@ -4,10 +4,10 @@ import { render } from '~/test'
import ViewConsoleOutputEntry from './ViewConsoleOutputEntry.vue'
describe('ViewConsoleOutputEntry', () => {
- it('test html entry', () => {
+ it('test html entry', async () => {
const now = new Date().toISOString()
const content = new Filter().toHtml(`\x1B[33m${now}\x1B[0m`)
- const { container } = render(ViewConsoleOutputEntry, {
+ const { container } = await render(ViewConsoleOutputEntry, {
props: {
taskName: 'test/html',
type: 'stderr',
diff --git a/packages/ui/client/components/views/ViewReport.spec.ts b/packages/ui/client/components/views/ViewReport.spec.ts
index 43ddba1ad..b7604a08b 100644
--- a/packages/ui/client/components/views/ViewReport.spec.ts
+++ b/packages/ui/client/components/views/ViewReport.spec.ts
@@ -62,8 +62,8 @@ fileWithTextStacks.file = fileWithTextStacks
describe.todo('ViewReport', () => {
describe('RunnerTestFile where stacks are in text', () => {
- beforeEach(() => {
- render(ViewReport, {
+ beforeEach(async () => {
+ await render(ViewReport, {
props: {
file: fileWithTextStacks,
},
@@ -92,7 +92,7 @@ describe.todo('ViewReport', () => {
})
})
- it('test html stack trace without html message', () => {
+ it('test html stack trace without html message', async () => {
const file: RunnerTestFile = {
id: 'f-1',
name: 'test/plain-stack-trace.ts',
@@ -118,7 +118,7 @@ describe.todo('ViewReport', () => {
file: null!,
}
file.file = file
- const container = render(ViewReport, {
+ const container = await render(ViewReport, {
props: { file },
})
const taskError = container.getByTestId(taskErrorTestId)
@@ -152,7 +152,7 @@ describe.todo('ViewReport', () => {
).toBe('color:#A50')
})
- it('test html stack trace and message', () => {
+ it('test html stack trace and message', async () => {
const file: RunnerTestFile = {
id: 'f-1',
name: 'test/plain-stack-trace.ts',
@@ -178,7 +178,7 @@ describe.todo('ViewReport', () => {
file: null!,
}
file.file = file
- const container = render(ViewReport, {
+ const container = await render(ViewReport, {
props: { file },
})
const taskError = container.getByTestId(taskErrorTestId)
@@ -220,8 +220,8 @@ describe.todo('ViewReport', () => {
).toBe('color:#A50')
})
- it('test diff display', () => {
- const component = render(ViewReport, {
+ it('test diff display', async () => {
+ const component = await render(ViewReport, {
props: {
file: fileWithTextStacks,
},
diff --git a/packages/ui/client/composables/client/index.ts b/packages/ui/client/composables/client/index.ts
index c06f0d605..5e543af15 100644
--- a/packages/ui/client/composables/client/index.ts
+++ b/packages/ui/client/composables/client/index.ts
@@ -85,7 +85,6 @@ export function findById(id: string) {
export const isConnected = computed(() => status.value === 'OPEN')
export const isConnecting = computed(() => status.value === 'CONNECTING')
-export const isDisconnected = computed(() => status.value === 'CLOSED')
export function runAll() {
return runFiles(client.state.getFiles())
diff --git a/packages/ui/client/constants.ts b/packages/ui/client/constants.ts
index 3e14532c1..aa7572c2b 100644
--- a/packages/ui/client/constants.ts
+++ b/packages/ui/client/constants.ts
@@ -4,4 +4,3 @@ export const ENTRY_URL = `${
location.protocol === 'https:' ? 'wss:' : 'ws:'
}//${HOST}/__vitest_api__?token=${(window as any).VITEST_API_TOKEN}`
export const isReport = !!window.METADATA_PATH
-export const BASE_PATH = isReport ? import.meta.env.BASE_URL : __BASE_PATH__
diff --git a/packages/ui/client/global-setup.ts b/packages/ui/client/global-setup.ts
index 356e1010b..506086cdf 100644
--- a/packages/ui/client/global-setup.ts
+++ b/packages/ui/client/global-setup.ts
@@ -1,12 +1,10 @@
-///
-
import type { Directive } from 'vue'
import FloatingVue, { vTooltip } from 'floating-vue'
-import routes from 'virtual:generated-pages'
import {
createRouter as _createRouter,
createWebHashHistory,
} from 'vue-router'
+import IndexPage from './pages/index.vue'
import 'd3-graph-controller/default.css'
import 'splitpanes/dist/splitpanes.css'
import '@unocss/reset/tailwind.css'
@@ -26,7 +24,12 @@ FloatingVue.options.distance = 10
export function createRouter() {
return _createRouter({
history: createWebHashHistory(),
- routes,
+ routes: [
+ {
+ path: '/',
+ component: IndexPage,
+ },
+ ],
})
}
diff --git a/packages/ui/client/shim.d.ts b/packages/ui/client/shim.d.ts
index 10becd1f2..b0968a62a 100644
--- a/packages/ui/client/shim.d.ts
+++ b/packages/ui/client/shim.d.ts
@@ -1,7 +1,4 @@
///
-///
-
-const __BASE_PATH__: string
declare interface Window {
METADATA_PATH?: string
diff --git a/packages/ui/client/test.ts b/packages/ui/client/test.ts
index 602d9aa4c..e38268090 100644
--- a/packages/ui/client/test.ts
+++ b/packages/ui/client/test.ts
@@ -1,4 +1,4 @@
-import type { ComponentRenderOptions } from 'vitest-browser-vue'
+import type { ComponentRenderOptions, RenderResult } from 'vitest-browser-vue'
import { vTooltip } from 'floating-vue'
import {
render as _render,
@@ -6,7 +6,10 @@ import {
export { page } from 'vitest/browser'
-export function render(component: C, options?: ComponentRenderOptions) {
+export function render(
+ component: C,
+ options?: ComponentRenderOptions,
+): PromiseLike> {
return _render(component, {
...options,
global: {
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 13f36c27d..6111962c6 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -75,7 +75,6 @@
"@vitest/browser-preview": "workspace:*",
"@vitest/browser-webdriverio": "workspace:*",
"@vitest/runner": "workspace:*",
- "@vue/test-utils": "^2.4.6",
"@vueuse/core": "catalog:",
"ansi-to-html": "^0.7.2",
"birpc": "catalog:",
@@ -89,9 +88,8 @@
"splitpanes": "^4.0.4",
"typescript": "^5.9.3",
"unocss": "catalog:",
- "vite": "^5.0.0",
- "vite-plugin-pages": "^0.33.3",
- "vitest-browser-vue": "2.0.2",
+ "vite": "latest",
+ "vitest-browser-vue": "2.1.0",
"vue": "catalog:",
"vue-router": "^5.0.3",
"vue-tsc": "^3.2.5",
diff --git a/packages/ui/vite.config.ts b/packages/ui/vite.config.ts
index 7f5bfee46..8dda4f2b1 100644
--- a/packages/ui/vite.config.ts
+++ b/packages/ui/vite.config.ts
@@ -1,10 +1,9 @@
import type { Plugin } from 'vite'
import Vue from '@vitejs/plugin-vue'
import { resolve } from 'pathe'
-import { presetAttributify, presetIcons, presetUno, transformerDirectives } from 'unocss'
+import { presetAttributify, presetIcons, presetWind3, transformerDirectives } from 'unocss'
import Unocss from 'unocss/vite'
import { defineConfig } from 'vite'
-import Pages from 'vite-plugin-pages'
// for debug:
// open a static file serve to share the report json
@@ -12,28 +11,18 @@ import Pages from 'vite-plugin-pages'
// const debugLink = 'http://127.0.0.1:4173/__vitest__'
export default defineConfig({
- root: import.meta.dirname,
base: './',
resolve: {
- dedupe: ['vue'],
+ // TODO: keep manual alias for vite 7 CI
+ // tsconfigPaths: true,
alias: {
'~/': `${resolve(import.meta.dirname, 'client')}/`,
},
},
- define: {
- __BASE_PATH__: '"/__vitest__/"',
- },
plugins: [
- Vue({
- features: {
- propsDestructure: true,
- },
- script: {
- defineModel: true,
- },
- }),
+ Vue(),
Unocss({
- presets: [presetUno(), presetAttributify(), presetIcons()] as any,
+ presets: [presetWind3(), presetAttributify(), presetIcons()],
shortcuts: {
'bg-base': 'bg-white dark:bg-[#111]',
'bg-overlay': 'bg-[#eee]:50 dark:bg-[#222]:50',
@@ -48,13 +37,10 @@ export default defineConfig({
'tab-button-active': 'op100 bg-gray-500:10',
},
transformers: [
- transformerDirectives() as any,
+ transformerDirectives(),
],
safelist: 'absolute origin-top mt-[8px]'.split(' '),
}),
- Pages({
- dirs: ['client/pages'],
- }),
devUiScriptPlugin(),
// uncomment to see the HTML reporter preview
// {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d35731386..a8130fcd9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -935,9 +935,6 @@ importers:
'@vitest/runner':
specifier: workspace:*
version: link:../runner
- '@vue/test-utils':
- specifier: ^2.4.6
- version: 2.4.6
'@vueuse/core':
specifier: 'catalog:'
version: 14.2.1(vue@3.5.29(typescript@5.9.3))
@@ -980,12 +977,9 @@ importers:
vite:
specifier: 8.0.11
version: 8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.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.3
- version: 0.33.3(@vue/compiler-sfc@3.5.29)(vite@8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.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.29)(vue@3.5.29(typescript@5.9.3)))
vitest-browser-vue:
- specifier: 2.0.2
- version: 2.0.2(vitest@packages+vitest)(vue@3.5.29(typescript@5.9.3))
+ specifier: 2.1.0
+ version: 2.1.0(@vue/compiler-dom@3.5.29)(@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3)))(vitest@packages+vitest)(vue@3.5.29(typescript@5.9.3))
vue:
specifier: 'catalog:'
version: 3.5.29(typescript@5.9.3)
@@ -1357,7 +1351,7 @@ importers:
version: link:../../packages/web-worker
'@vue/test-utils':
specifier: latest
- version: 2.4.6
+ version: 2.4.10(@vue/compiler-dom@3.5.29)(@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3)))(vue@3.5.29(typescript@5.9.3))
happy-dom:
specifier: latest
version: 20.8.7
@@ -5569,8 +5563,15 @@ packages:
'@vue/shared@3.5.29':
resolution: {integrity: sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==}
- '@vue/test-utils@2.4.6':
- resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
+ '@vue/test-utils@2.4.10':
+ resolution: {integrity: sha512-SmoZ5EA1kYiAFs9NkYdiFFQF+cSnUwnvlYEbY+DogWQZUiqOm/Y29eSbc5T6yi75SgSF9863SBeXniIEoPajCA==}
+ peerDependencies:
+ '@vue/compiler-dom': 3.x
+ '@vue/server-renderer': 3.x
+ vue: 3.x
+ peerDependenciesMeta:
+ '@vue/server-renderer':
+ optional: true
'@vueuse/core@12.8.2':
resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
@@ -6885,10 +6886,6 @@ packages:
resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- esprima-extract-comments@1.1.0:
- resolution: {integrity: sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw==}
- engines: {node: '>=4'}
-
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
@@ -6956,10 +6953,6 @@ packages:
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- extract-comments@1.1.0:
- resolution: {integrity: sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q==}
- engines: {node: '>=6'}
-
extract-zip@2.0.1:
resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
engines: {node: '>= 10.17.0'}
@@ -8630,10 +8623,6 @@ packages:
pako@1.0.11:
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
- parse-code-context@1.0.0:
- resolution: {integrity: sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA==}
- engines: {node: '>=6'}
-
parse-gitignore@2.0.0:
resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
engines: {node: '>=14'}
@@ -10119,24 +10108,6 @@ packages:
vfile@6.0.1:
resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
- vite-plugin-pages@0.33.3:
- resolution: {integrity: sha512-k97CAlVN7VUD5CIkRaose8Ty1xjtpuSeJQngFxsinPyM7PCtAIp23QdnkygNRdoo4gjX21TORYdEAAN/lGtCIA==}
- peerDependencies:
- '@solidjs/router': '*'
- '@vue/compiler-sfc': ^2.7.0 || ^3.0.0
- react-router: '*'
- vite: 8.0.11
- vue-router: '*'
- peerDependenciesMeta:
- '@solidjs/router':
- optional: true
- '@vue/compiler-sfc':
- optional: true
- react-router:
- optional: true
- vue-router:
- optional: true
-
vite-plugin-pwa@1.2.0:
resolution: {integrity: sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==}
engines: {node: '>=16.0.0'}
@@ -10238,8 +10209,8 @@ packages:
'@types/react-dom':
optional: true
- vitest-browser-vue@2.0.2:
- resolution: {integrity: sha512-/IM/+gOBEPL5Ocu/n28NmAvr1XgqGxzJrgwkPx9O+ioB52iuyg25nDQXlDDPSCm5PJFmwNzA6yycWxFAFTqXYA==}
+ vitest-browser-vue@2.1.0:
+ resolution: {integrity: sha512-K3H/oxIOY4EjXx2bxwrLsPg4jTMvzpRW6Jb6T8XZRoxUvmDVwGkd8mua130F8GZezE7H5QYoXd/S8hYijw7j5g==}
peerDependencies:
vitest: workspace:*
vue: ^3.0.0
@@ -10259,8 +10230,8 @@ packages:
vscode-uri@3.1.0:
resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
- vue-component-type-helpers@2.0.17:
- resolution: {integrity: sha512-2car49m8ciqg/JjgMBkx7o/Fd2A7fHESxNqL/2vJYFLXm4VwYO4yH0rexOi4a35vwNgDyvt17B07Vj126l9rAQ==}
+ vue-component-type-helpers@3.2.8:
+ resolution: {integrity: sha512-9689efAXhN/EV86plgkL/XFiJSXhGtWPG6JDboZ+QnjlUWUUQrQ0ILKQtw4iQsuwIwu5k6Aw+JnehDe7161e7A==}
vue-demi@0.14.10:
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
@@ -14172,10 +14143,14 @@ snapshots:
'@vue/shared@3.5.29': {}
- '@vue/test-utils@2.4.6':
+ '@vue/test-utils@2.4.10(@vue/compiler-dom@3.5.29)(@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3)))(vue@3.5.29(typescript@5.9.3))':
dependencies:
+ '@vue/compiler-dom': 3.5.29
js-beautify: 1.15.1
- vue-component-type-helpers: 2.0.17
+ vue: 3.5.29(typescript@5.9.3)
+ vue-component-type-helpers: 3.2.8
+ optionalDependencies:
+ '@vue/server-renderer': 3.5.29(vue@3.5.29(typescript@5.9.3))
'@vueuse/core@12.8.2(typescript@5.9.3)':
dependencies:
@@ -15220,7 +15195,7 @@ snapshots:
'@one-ini/wasm': 0.1.1
commander: 10.0.1
minimatch: 9.0.1
- semver: 7.7.3
+ semver: 7.7.4
ee-first@1.1.1: {}
@@ -15692,10 +15667,6 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4))
eslint-visitor-keys: 5.0.1
- esprima-extract-comments@1.1.0:
- dependencies:
- esprima: 4.0.1
-
esprima@4.0.1: {}
esquery@1.7.0:
@@ -15797,11 +15768,6 @@ snapshots:
extend@3.0.2: {}
- extract-comments@1.1.0:
- dependencies:
- esprima-extract-comments: 1.1.0
- parse-code-context: 1.0.0
-
extract-zip@2.0.1:
dependencies:
debug: 4.4.3
@@ -17387,6 +17353,7 @@ snapshots:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
+ optional: true
millify@6.1.0:
dependencies:
@@ -17829,8 +17796,6 @@ snapshots:
pako@1.0.11: {}
- parse-code-context@1.0.0: {}
-
parse-gitignore@2.0.0: {}
parse-imports-exports@0.2.4:
@@ -19486,25 +19451,6 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vite-plugin-pages@0.33.3(@vue/compiler-sfc@3.5.29)(vite@8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.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.29)(vue@3.5.29(typescript@5.9.3))):
- dependencies:
- '@types/debug': 4.1.12
- debug: 4.4.3
- dequal: 2.0.3
- extract-comments: 1.1.0
- json5: 2.2.3
- local-pkg: 1.1.2
- micromatch: 4.0.8
- picocolors: 1.1.1
- tinyglobby: 0.2.15
- vite: 8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.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.29
- vue-router: 5.0.3(@vue/compiler-sfc@3.5.29)(vue@3.5.29(typescript@5.9.3))
- transitivePeerDependencies:
- - supports-color
-
vite-plugin-pwa@1.2.0(@vite-pwa/assets-generator@1.0.2)(vite@8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.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
@@ -19627,11 +19573,14 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 18.2.14
- vitest-browser-vue@2.0.2(vitest@packages+vitest)(vue@3.5.29(typescript@5.9.3)):
+ vitest-browser-vue@2.1.0(@vue/compiler-dom@3.5.29)(@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3)))(vitest@packages+vitest)(vue@3.5.29(typescript@5.9.3)):
dependencies:
- '@vue/test-utils': 2.4.6
+ '@vue/test-utils': 2.4.10(@vue/compiler-dom@3.5.29)(@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3)))(vue@3.5.29(typescript@5.9.3))
vitest: link:packages/vitest
vue: 3.5.29(typescript@5.9.3)
+ transitivePeerDependencies:
+ - '@vue/compiler-dom'
+ - '@vue/server-renderer'
vitest-environment-custom@file:test/unit/vitest-environment-custom: {}
@@ -19646,7 +19595,7 @@ snapshots:
vscode-uri@3.1.0: {}
- vue-component-type-helpers@2.0.17: {}
+ vue-component-type-helpers@3.2.8: {}
vue-demi@0.14.10(vue@3.5.29(typescript@5.9.3)):
dependencies: