From 24fccb4ee4139d41df0e395bce96ce7fbb6a50a9 Mon Sep 17 00:00:00 2001 From: Zhong Date: Mon, 25 Aug 2025 15:25:10 +0800 Subject: [PATCH 01/26] types(runtime-dom): improve event types (#13804) close #13796 --- packages/runtime-dom/src/jsx.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/runtime-dom/src/jsx.ts b/packages/runtime-dom/src/jsx.ts index 5292441cde9..b727d85594b 100644 --- a/packages/runtime-dom/src/jsx.ts +++ b/packages/runtime-dom/src/jsx.ts @@ -1296,10 +1296,10 @@ export interface Events { // form events onChange: Event - onBeforeinput: Event + onBeforeinput: InputEvent onInput: Event onReset: Event - onSubmit: Event + onSubmit: SubmitEvent onInvalid: Event // image events @@ -1312,9 +1312,9 @@ export interface Events { onKeyup: KeyboardEvent // mouse events - onAuxclick: MouseEvent - onClick: MouseEvent - onContextmenu: MouseEvent + onAuxclick: PointerEvent + onClick: PointerEvent + onContextmenu: PointerEvent onDblclick: MouseEvent onMousedown: MouseEvent onMouseenter: MouseEvent @@ -1325,12 +1325,12 @@ export interface Events { onMouseup: MouseEvent // media events - onAbort: Event + onAbort: UIEvent onCanplay: Event onCanplaythrough: Event onDurationchange: Event onEmptied: Event - onEncrypted: Event + onEncrypted: MediaEncryptedEvent onEnded: Event onLoadeddata: Event onLoadedmetadata: Event @@ -1338,7 +1338,7 @@ export interface Events { onPause: Event onPlay: Event onPlaying: Event - onProgress: Event + onProgress: ProgressEvent onRatechange: Event onSeeked: Event onSeeking: Event From 233b1250cea9308b9903380da87b1cba8fe1bbc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Mon, 1 Sep 2025 08:59:34 +0300 Subject: [PATCH 02/26] chore(test): migrate to Vitest inline projects (#13838) --- package.json | 4 ++-- vitest.config.ts | 41 +++++++++++++++++++++++++++++++++++++---- vitest.e2e.config.ts | 14 -------------- vitest.unit.config.ts | 9 --------- vitest.workspace.ts | 6 ------ 5 files changed, 39 insertions(+), 35 deletions(-) delete mode 100644 vitest.e2e.config.ts delete mode 100644 vitest.unit.config.ts delete mode 100644 vitest.workspace.ts diff --git a/package.json b/package.json index b84deca0a91..d9d0e08fc1e 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,11 @@ "format": "prettier --write --cache .", "format-check": "prettier --check --cache .", "test": "vitest", - "test-unit": "vitest --project unit", + "test-unit": "vitest --project unit*", "test-e2e": "node scripts/build.js vue -f global -d && vitest --project e2e", "test-dts": "run-s build-dts test-dts-only", "test-dts-only": "tsc -p packages-private/dts-built-test/tsconfig.json && tsc -p ./packages-private/dts-test/tsconfig.test.json", - "test-coverage": "vitest run --project unit --coverage", + "test-coverage": "vitest run --project unit* --coverage", "prebench": "node scripts/build.js -pf esm-browser reactivity", "prebench-compare": "node scripts/build.js -pf esm-browser reactivity", "bench": "vitest bench --project=unit --outputJson=temp/bench.json", diff --git a/vitest.config.ts b/vitest.config.ts index 3fce4ce87c2..58d73110068 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from 'vitest/config' +import { configDefaults, defineConfig } from 'vitest/config' import { entries } from './scripts/aliases.js' export default defineConfig({ @@ -25,9 +25,6 @@ export default defineConfig({ globals: true, pool: 'threads', setupFiles: 'scripts/setup-vitest.ts', - environmentMatchGlobs: [ - ['packages/{vue,vue-compat,runtime-dom}/**', 'jsdom'], - ], sequence: { hooks: 'list', }, @@ -49,5 +46,41 @@ export default defineConfig({ 'packages/runtime-dom/src/components/Transition*', ], }, + + projects: [ + { + extends: true, + test: { + name: 'unit', + exclude: [ + ...configDefaults.exclude, + '**/e2e/**', + '**/{vue,vue-compat,runtime-dom}/**', + ], + }, + }, + { + extends: true, + test: { + name: 'unit-jsdom', + include: ['packages/{vue,vue-compat,runtime-dom}/**/*.{test,spec}.*'], + exclude: [...configDefaults.exclude, '**/e2e/**'], + environment: 'jsdom', + }, + }, + { + extends: true, + test: { + name: 'e2e', + environment: 'jsdom', + poolOptions: { + threads: { + singleThread: !!process.env.CI, + }, + }, + include: ['packages/vue/__tests__/e2e/*.spec.ts'], + }, + }, + ], }, }) diff --git a/vitest.e2e.config.ts b/vitest.e2e.config.ts deleted file mode 100644 index 622bda0bd57..00000000000 --- a/vitest.e2e.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { mergeConfig } from 'vitest/config' -import config from './vitest.config' - -export default mergeConfig(config, { - test: { - name: 'e2e', - poolOptions: { - threads: { - singleThread: !!process.env.CI, - }, - }, - include: ['packages/vue/__tests__/e2e/*.spec.ts'], - }, -}) diff --git a/vitest.unit.config.ts b/vitest.unit.config.ts deleted file mode 100644 index 0082997e0d1..00000000000 --- a/vitest.unit.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { configDefaults, mergeConfig } from 'vitest/config' -import config from './vitest.config' - -export default mergeConfig(config, { - test: { - name: 'unit', - exclude: [...configDefaults.exclude, '**/e2e/**'], - }, -}) diff --git a/vitest.workspace.ts b/vitest.workspace.ts deleted file mode 100644 index a20586e7cfe..00000000000 --- a/vitest.workspace.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { defineWorkspace } from 'vitest/config' - -export default defineWorkspace([ - './vitest.unit.config.ts', - './vitest.e2e.config.ts', -]) From 63279661e8220185ede7a0e9d23c9f32ac3b08de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BA=8C=E7=8B=97?= Date: Mon, 1 Sep 2025 14:37:31 +0800 Subject: [PATCH 03/26] chore: fix typo (#13833) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fbdd83438aa..6f7a018e7b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -303,7 +303,7 @@ * **compiler-core:** fix handling of delimiterOpen in VPre ([#11915](https://github.com/vuejs/core/issues/11915)) ([706d4ac](https://github.com/vuejs/core/commit/706d4ac1d0210b2d9134b3228280187fe02fc971)), closes [#11913](https://github.com/vuejs/core/issues/11913) * **compiler-dom:** fix stringify static edge for partially eligible chunks in cached parent ([1d99d61](https://github.com/vuejs/core/commit/1d99d61c1bd77f9ea6743f6214a82add8346a121)), closes [#11879](https://github.com/vuejs/core/issues/11879) [#11890](https://github.com/vuejs/core/issues/11890) -* **compiler-dom:** should ignore leading newline in