From cde47bfa97833b71d22b19bf10f3389657070837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=B6=E8=BF=9C=E6=96=B9?= Date: Fri, 15 Mar 2024 22:27:32 +0800 Subject: [PATCH 01/55] test: create `EffectScope` using a factory function (#8844) --- .../reactivity/__tests__/effectScope.spec.ts | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/packages/reactivity/__tests__/effectScope.spec.ts b/packages/reactivity/__tests__/effectScope.spec.ts index f7e3241cc..e0aa06f3d 100644 --- a/packages/reactivity/__tests__/effectScope.spec.ts +++ b/packages/reactivity/__tests__/effectScope.spec.ts @@ -4,6 +4,7 @@ import { EffectScope, computed, effect, + effectScope, getCurrentScope, onScopeDispose, reactive, @@ -13,21 +14,21 @@ import { describe('reactivity/effect/scope', () => { it('should run', () => { const fnSpy = vi.fn(() => {}) - new EffectScope().run(fnSpy) + effectScope().run(fnSpy) expect(fnSpy).toHaveBeenCalledTimes(1) }) it('should accept zero argument', () => { - const scope = new EffectScope() + const scope = effectScope() expect(scope.effects.length).toBe(0) }) it('should return run value', () => { - expect(new EffectScope().run(() => 1)).toBe(1) + expect(effectScope().run(() => 1)).toBe(1) }) it('should work w/ active property', () => { - const scope = new EffectScope() + const scope = effectScope() scope.run(() => 1) expect(scope.active).toBe(true) scope.stop() @@ -35,7 +36,7 @@ describe('reactivity/effect/scope', () => { }) it('should collect the effects', () => { - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { let dummy const counter = reactive({ num: 0 }) @@ -53,7 +54,7 @@ describe('reactivity/effect/scope', () => { let dummy, doubled const counter = reactive({ num: 0 }) - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { effect(() => (dummy = counter.num)) effect(() => (doubled = counter.num * 2)) @@ -77,11 +78,11 @@ describe('reactivity/effect/scope', () => { let dummy, doubled const counter = reactive({ num: 0 }) - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { effect(() => (dummy = counter.num)) // nested scope - new EffectScope().run(() => { + effectScope().run(() => { effect(() => (doubled = counter.num * 2)) }) }) @@ -107,11 +108,11 @@ describe('reactivity/effect/scope', () => { let dummy, doubled const counter = reactive({ num: 0 }) - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { effect(() => (dummy = counter.num)) // nested scope - new EffectScope(true).run(() => { + effectScope(true).run(() => { effect(() => (doubled = counter.num * 2)) }) }) @@ -136,7 +137,7 @@ describe('reactivity/effect/scope', () => { let dummy, doubled const counter = reactive({ num: 0 }) - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { effect(() => (dummy = counter.num)) }) @@ -160,7 +161,7 @@ describe('reactivity/effect/scope', () => { let dummy, doubled const counter = reactive({ num: 0 }) - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { effect(() => (dummy = counter.num)) }) @@ -185,7 +186,7 @@ describe('reactivity/effect/scope', () => { it('should fire onScopeDispose hook', () => { let dummy = 0 - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { onScopeDispose(() => (dummy += 1)) onScopeDispose(() => (dummy += 2)) @@ -203,7 +204,7 @@ describe('reactivity/effect/scope', () => { it('should warn onScopeDispose() is called when there is no active effect scope', () => { const spy = vi.fn() - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { onScopeDispose(spy) }) @@ -221,8 +222,8 @@ describe('reactivity/effect/scope', () => { }) it('should dereference child scope from parent scope after stopping child scope (no memleaks)', () => { - const parent = new EffectScope() - const child = parent.run(() => new EffectScope())! + const parent = effectScope() + const child = parent.run(() => effectScope())! expect(parent.scopes!.includes(child)).toBe(true) child.stop() expect(parent.scopes!.includes(child)).toBe(false) @@ -236,7 +237,7 @@ describe('reactivity/effect/scope', () => { const watchEffectSpy = vi.fn() let c: ComputedRef - const scope = new EffectScope() + const scope = effectScope() scope.run(() => { c = computed(() => { computedSpy() @@ -274,12 +275,12 @@ describe('reactivity/effect/scope', () => { }) it('getCurrentScope() stays valid when running a detached nested EffectScope', () => { - const parentScope = new EffectScope() + const parentScope = effectScope() parentScope.run(() => { const currentScope = getCurrentScope() expect(currentScope).toBeDefined() - const detachedScope = new EffectScope(true) + const detachedScope = effectScope(true) detachedScope.run(() => {}) expect(getCurrentScope()).toBe(currentScope) @@ -287,10 +288,10 @@ describe('reactivity/effect/scope', () => { }) it('calling .off() of a detached scope inside an active scope should not break currentScope', () => { - const parentScope = new EffectScope() + const parentScope = effectScope() parentScope.run(() => { - const childScope = new EffectScope(true) + const childScope = effectScope(true) childScope.on() childScope.off() expect(getCurrentScope()).toBe(parentScope) From b49306adff4572d90a42ccd231387f16eb966bbe Mon Sep 17 00:00:00 2001 From: edison Date: Sat, 16 Mar 2024 16:28:03 +0800 Subject: [PATCH 02/55] fix(custom-element): avoid setting attr to null if it is removed (#9012) Partially fixes #9006 Fixes #10324 --- packages/runtime-dom/__tests__/customElement.spec.ts | 6 ++++++ packages/runtime-dom/src/apiCustomElement.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/runtime-dom/__tests__/customElement.spec.ts b/packages/runtime-dom/__tests__/customElement.spec.ts index bb08fb155..fb746f72c 100644 --- a/packages/runtime-dom/__tests__/customElement.spec.ts +++ b/packages/runtime-dom/__tests__/customElement.spec.ts @@ -139,6 +139,12 @@ describe('defineCustomElement', () => { expect(e.shadowRoot!.innerHTML).toBe('
two
') expect(e.hasAttribute('foo')).toBe(false) + e.foo = undefined + await nextTick() + expect(e.shadowRoot!.innerHTML).toBe('
two
') + expect(e.hasAttribute('foo')).toBe(false) + expect(e.foo).toBe(undefined) + e.bazQux = 'four' await nextTick() expect(e.shadowRoot!.innerHTML).toBe('
four
') diff --git a/packages/runtime-dom/src/apiCustomElement.ts b/packages/runtime-dom/src/apiCustomElement.ts index 337a3d90f..01ce2bad4 100644 --- a/packages/runtime-dom/src/apiCustomElement.ts +++ b/packages/runtime-dom/src/apiCustomElement.ts @@ -313,7 +313,7 @@ export class VueElement extends BaseClass { } protected _setAttr(key: string) { - let value = this.getAttribute(key) + let value = this.hasAttribute(key) ? this.getAttribute(key) : undefined const camelKey = camelize(key) if (this._numberProps && this._numberProps[camelKey]) { value = toNumber(value) From c3dd9378b0e83abfdb212bf515d00dc3bb33986b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 15:14:20 +0800 Subject: [PATCH 03/55] chore(deps): update all non-major dependencies (#10539) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/compiler-core/package.json | 2 +- packages/compiler-sfc/package.json | 4 +- packages/vue-compat/package.json | 2 +- pnpm-lock.yaml | 71 +++++++++++++++-------------- 5 files changed, 44 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index e94766a31..26464eab0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "version": "3.4.21", - "packageManager": "pnpm@8.15.4", + "packageManager": "pnpm@8.15.5", "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -70,7 +70,7 @@ "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.11.25", + "@types/node": "^20.11.28", "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index b62800c0b..78f220643 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -50,7 +50,7 @@ "@vue/shared": "workspace:*", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.1.0" }, "devDependencies": { "@babel/types": "^7.24.0" diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 1de113053..0137ddaef 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -50,7 +50,7 @@ "estree-walker": "^2.0.2", "magic-string": "^0.30.8", "postcss": "^8.4.35", - "source-map-js": "^1.0.2" + "source-map-js": "^1.1.0" }, "devDependencies": { "@babel/types": "^7.24.0", @@ -62,6 +62,6 @@ "postcss-modules": "^6.0.0", "postcss-selector-parser": "^6.0.15", "pug": "^3.0.2", - "sass": "^1.71.1" + "sass": "^1.72.0" } } diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index 36bfd6f7e..ccb5f0ce9 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -54,7 +54,7 @@ "dependencies": { "@babel/parser": "^7.24.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.1.0" }, "peerDependencies": { "vue": "workspace:*" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4436f04b2..68a055625 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.11.25 - version: 20.11.25 + specifier: ^20.11.28 + version: 20.11.28 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -169,10 +169,10 @@ importers: version: 5.2.2 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(terser@5.29.1) + version: 5.1.5(@types/node@20.11.28)(terser@5.29.1) vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.25)(jsdom@24.0.0)(terser@5.29.1) + version: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1) packages/compiler-core: dependencies: @@ -189,8 +189,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 source-map-js: - specifier: ^1.0.2 - version: 1.0.2 + specifier: ^1.1.0 + version: 1.1.0 devDependencies: '@babel/types': specifier: ^7.24.0 @@ -232,8 +232,8 @@ importers: specifier: ^8.4.35 version: 8.4.35 source-map-js: - specifier: ^1.0.2 - version: 1.0.2 + specifier: ^1.1.0 + version: 1.1.0 devDependencies: '@babel/types': specifier: ^7.24.0 @@ -263,8 +263,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 sass: - specifier: ^1.71.1 - version: 1.71.1 + specifier: ^1.72.0 + version: 1.72.0 packages/compiler-ssr: dependencies: @@ -364,7 +364,7 @@ importers: version: 5.0.4(vite@5.1.5)(vue@packages+vue) vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(terser@5.29.1) + version: 5.1.5(@types/node@20.11.28)(terser@5.29.1) packages/shared: {} @@ -407,8 +407,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 source-map-js: - specifier: ^1.0.2 - version: 1.0.2 + specifier: ^1.1.0 + version: 1.1.0 vue: specifier: workspace:* version: link:../vue @@ -631,8 +631,8 @@ packages: vitest: '>=1.0.0-beta.4 || >=1' dependencies: '@codspeed/core': 2.3.1 - vite: 5.1.5(@types/node@20.11.25)(terser@5.29.1) - vitest: 1.3.1(@types/node@20.11.25)(jsdom@24.0.0)(terser@5.29.1) + vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) + vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1) dev: true /@esbuild/aix-ppc64@0.19.10: @@ -1473,8 +1473,8 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.11.25: - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} dependencies: undici-types: 5.26.5 dev: true @@ -1495,7 +1495,7 @@ packages: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true optional: true @@ -1704,7 +1704,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.1.5(@types/node@20.11.25)(terser@5.29.1) + vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) vue: link:packages/vue dev: true @@ -1722,7 +1722,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.3.1(@types/node@20.11.25)(jsdom@24.0.0)(terser@5.29.1) + vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1) transitivePeerDependencies: - supports-color dev: true @@ -4051,7 +4051,7 @@ packages: dependencies: '@babel/parser': 7.24.0 '@babel/types': 7.24.0 - source-map-js: 1.0.2 + source-map-js: 1.1.0 dev: true /make-dir@4.0.0: @@ -4587,7 +4587,7 @@ packages: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.1.0 /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -5040,14 +5040,14 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + /sass@1.72.0: + resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 immutable: 4.3.4 - source-map-js: 1.0.2 + source-map-js: 1.1.0 dev: true /saxes@6.0.0: @@ -5215,6 +5215,11 @@ packages: /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + dev: false + + /source-map-js@1.1.0: + resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} + engines: {node: '>=0.10.0'} /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -5652,7 +5657,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.3.1(@types/node@20.11.25)(terser@5.29.1): + /vite-node@1.3.1(@types/node@20.11.28)(terser@5.29.1): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5661,7 +5666,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25)(terser@5.29.1) + vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) transitivePeerDependencies: - '@types/node' - less @@ -5673,7 +5678,7 @@ packages: - terser dev: true - /vite@5.1.5(@types/node@20.11.25)(terser@5.29.1): + /vite@5.1.5(@types/node@20.11.28)(terser@5.29.1): resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5701,7 +5706,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 esbuild: 0.19.10 postcss: 8.4.35 rollup: 4.12.1 @@ -5710,7 +5715,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.25)(jsdom@24.0.0)(terser@5.29.1): + /vitest@1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5735,7 +5740,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -5754,8 +5759,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.25)(terser@5.29.1) - vite-node: 1.3.1(@types/node@20.11.25)(terser@5.29.1) + vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) + vite-node: 1.3.1(@types/node@20.11.28)(terser@5.29.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From ed37dcd108c933b85efe799460acd7cad7a5c069 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 19:38:41 +0800 Subject: [PATCH 04/55] chore(deps): update build (#10540) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 8 +- packages/sfc-playground/package.json | 2 +- .../src/download/template/package.json | 2 +- pnpm-lock.yaml | 370 +++++++++--------- 4 files changed, 191 insertions(+), 191 deletions(-) diff --git a/package.json b/package.json index 26464eab0..62ee40867 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^4.1.0", "enquirer": "^2.4.1", - "esbuild": "^0.20.1", + "esbuild": "^0.20.2", "esbuild-plugin-polyfill-node": "^0.3.0", "eslint": "^8.57.0", "eslint-define-config": "^2.1.0", @@ -100,19 +100,19 @@ "pug": "^3.0.2", "puppeteer": "~22.4.1", "rimraf": "^5.0.5", - "rollup": "^4.12.1", + "rollup": "^4.13.0", "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0", "semver": "^7.6.0", "serve": "^14.2.1", "simple-git-hooks": "^2.10.0", - "terser": "^5.29.1", + "terser": "^5.29.2", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", "tsx": "^4.7.1", "typescript": "^5.2.2", - "vite": "^5.1.5", + "vite": "^5.1.6", "vitest": "^1.3.1" } } diff --git a/packages/sfc-playground/package.json b/packages/sfc-playground/package.json index 6ccd3dd23..581e18e43 100644 --- a/packages/sfc-playground/package.json +++ b/packages/sfc-playground/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.1.5" + "vite": "^5.1.6" }, "dependencies": { "@vue/repl": "^4.1.1", diff --git a/packages/sfc-playground/src/download/template/package.json b/packages/sfc-playground/src/download/template/package.json index d84b9893b..66d4f0a06 100644 --- a/packages/sfc-playground/src/download/template/package.json +++ b/packages/sfc-playground/src/download/template/package.json @@ -12,6 +12,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.1.5" + "vite": "^5.1.6" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68a055625..978385483 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,25 +16,25 @@ importers: version: 7.24.0 '@codspeed/vitest-plugin': specifier: ^2.3.1 - version: 2.3.1(vite@5.1.5)(vitest@1.3.1) + version: 2.3.1(vite@5.1.6)(vitest@1.3.1) '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.12.1) + version: 5.1.0(rollup@4.13.0) '@rollup/plugin-commonjs': specifier: ^25.0.7 - version: 25.0.7(rollup@4.12.1) + version: 25.0.7(rollup@4.13.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.12.1) + version: 6.1.0(rollup@4.13.0) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.12.1) + version: 15.2.3(rollup@4.13.0) '@rollup/plugin-replace': specifier: 5.0.4 - version: 5.0.4(rollup@4.12.1) + version: 5.0.4(rollup@4.13.0) '@rollup/plugin-terser': specifier: ^0.4.4 - version: 0.4.4(rollup@4.12.1) + version: 0.4.4(rollup@4.13.0) '@types/hash-sum': specifier: ^1.0.2 version: 1.0.2 @@ -66,11 +66,11 @@ importers: specifier: ^2.4.1 version: 2.4.1 esbuild: - specifier: ^0.20.1 - version: 0.20.1 + specifier: ^0.20.2 + version: 0.20.2 esbuild-plugin-polyfill-node: specifier: ^0.3.0 - version: 0.3.0(esbuild@0.20.1) + version: 0.3.0(esbuild@0.20.2) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -132,17 +132,17 @@ importers: specifier: ^5.0.5 version: 5.0.5 rollup: - specifier: ^4.12.1 - version: 4.12.1 + specifier: ^4.13.0 + version: 4.13.0 rollup-plugin-dts: specifier: ^6.1.0 - version: 6.1.0(rollup@4.12.1)(typescript@5.2.2) + version: 6.1.0(rollup@4.13.0)(typescript@5.2.2) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.20.1)(rollup@4.12.1) + version: 6.1.1(esbuild@0.20.2)(rollup@4.13.0) rollup-plugin-polyfill-node: specifier: ^0.13.0 - version: 0.13.0(rollup@4.12.1) + version: 0.13.0(rollup@4.13.0) semver: specifier: ^7.6.0 version: 7.6.0 @@ -153,8 +153,8 @@ importers: specifier: ^2.10.0 version: 2.10.0 terser: - specifier: ^5.29.1 - version: 5.29.1 + specifier: ^5.29.2 + version: 5.29.2 todomvc-app-css: specifier: ^2.4.3 version: 2.4.3 @@ -168,11 +168,11 @@ importers: specifier: ^5.2.2 version: 5.2.2 vite: - specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.28)(terser@5.29.1) + specifier: ^5.1.6 + version: 5.1.6(@types/node@20.11.28)(terser@5.29.2) vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1) + version: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) packages/compiler-core: dependencies: @@ -361,10 +361,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@packages+vue) + version: 5.0.4(vite@5.1.6)(vue@packages+vue) vite: - specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.28)(terser@5.29.1) + specifier: ^5.1.6 + version: 5.1.6(@types/node@20.11.28)(terser@5.29.2) packages/shared: {} @@ -624,15 +624,15 @@ packages: node-gyp-build: 4.7.1 dev: true - /@codspeed/vitest-plugin@2.3.1(vite@5.1.5)(vitest@1.3.1): + /@codspeed/vitest-plugin@2.3.1(vite@5.1.6)(vitest@1.3.1): resolution: {integrity: sha512-/e4G2B/onX/hG/EjUU/NpDxnIryeTDamVRTBeWfgQDoex3g7GDzTwoQktaU5l/Asw3ZjEErQg+oQVToQ6jYZlA==} peerDependencies: vite: ^4.2.0 || ^5.0.0 vitest: '>=1.0.0-beta.4 || >=1' dependencies: '@codspeed/core': 2.3.1 - vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) - vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) dev: true /@esbuild/aix-ppc64@0.19.10: @@ -644,8 +644,8 @@ packages: dev: true optional: true - /@esbuild/aix-ppc64@0.20.1: - resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -662,8 +662,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.20.1: - resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -680,8 +680,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.20.1: - resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -698,8 +698,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.20.1: - resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -716,8 +716,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.20.1: - resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -734,8 +734,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.20.1: - resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -752,8 +752,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.20.1: - resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -770,8 +770,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.20.1: - resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -788,8 +788,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.20.1: - resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -806,8 +806,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.20.1: - resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -824,8 +824,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.20.1: - resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -842,8 +842,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.20.1: - resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -860,8 +860,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.20.1: - resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -878,8 +878,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.20.1: - resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -896,8 +896,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.20.1: - resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -914,8 +914,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.20.1: - resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -932,8 +932,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.20.1: - resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -950,8 +950,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.20.1: - resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -968,8 +968,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.20.1: - resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -986,8 +986,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.20.1: - resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1004,8 +1004,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.20.1: - resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1022,8 +1022,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.20.1: - resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1040,8 +1040,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.20.1: - resolution: {integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==} + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1220,7 +1220,7 @@ packages: - supports-color dev: true - /@rollup/plugin-alias@5.1.0(rollup@4.12.1): + /@rollup/plugin-alias@5.1.0(rollup@4.13.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1229,11 +1229,11 @@ packages: rollup: optional: true dependencies: - rollup: 4.12.1 + rollup: 4.13.0 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.12.1): + /@rollup/plugin-commonjs@25.0.7(rollup@4.13.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1242,16 +1242,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 dev: true - /@rollup/plugin-inject@5.0.5(rollup@4.12.1): + /@rollup/plugin-inject@5.0.5(rollup@4.13.0): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1260,13 +1260,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 dev: true - /@rollup/plugin-json@6.1.0(rollup@4.12.1): + /@rollup/plugin-json@6.1.0(rollup@4.13.0): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1275,11 +1275,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) - rollup: 4.12.1 + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + rollup: 4.13.0 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.1): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1288,16 +1288,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.12.1 + rollup: 4.13.0 dev: true - /@rollup/plugin-replace@5.0.4(rollup@4.12.1): + /@rollup/plugin-replace@5.0.4(rollup@4.13.0): resolution: {integrity: sha512-E2hmRnlh09K8HGT0rOnnri9OTh+BILGr7NVJGB30S4E3cLRn3J0xjdiyOZ74adPs4NiAMgrjUMGAZNJDBgsdmQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1306,12 +1306,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 dev: true - /@rollup/plugin-terser@0.4.4(rollup@4.12.1): + /@rollup/plugin-terser@0.4.4(rollup@4.13.0): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1320,13 +1320,13 @@ packages: rollup: optional: true dependencies: - rollup: 4.12.1 + rollup: 4.13.0 serialize-javascript: 6.0.1 smob: 1.4.1 - terser: 5.29.1 + terser: 5.29.2 dev: true - /@rollup/pluginutils@5.1.0(rollup@4.12.1): + /@rollup/pluginutils@5.1.0(rollup@4.13.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1338,107 +1338,107 @@ packages: '@types/estree': 1.0.3 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.12.1 + rollup: 4.13.0 dev: true - /@rollup/rollup-android-arm-eabi@4.12.1: - resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} + /@rollup/rollup-android-arm-eabi@4.13.0: + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.12.1: - resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} + /@rollup/rollup-android-arm64@4.13.0: + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.12.1: - resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} + /@rollup/rollup-darwin-arm64@4.13.0: + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.12.1: - resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} + /@rollup/rollup-darwin-x64@4.13.0: + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.1: - resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.0: + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.1: - resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} + /@rollup/rollup-linux-arm64-gnu@4.13.0: + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.12.1: - resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} + /@rollup/rollup-linux-arm64-musl@4.13.0: + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.1: - resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} + /@rollup/rollup-linux-riscv64-gnu@4.13.0: + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.12.1: - resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} + /@rollup/rollup-linux-x64-gnu@4.13.0: + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.12.1: - resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.1: - resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} + /@rollup/rollup-win32-arm64-msvc@4.13.0: + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.1: - resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} + /@rollup/rollup-win32-ia32-msvc@4.13.0: + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.12.1: - resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} + /@rollup/rollup-win32-x64-msvc@4.13.0: + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} cpu: [x64] os: [win32] requiresBuild: true @@ -1697,14 +1697,14 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@packages+vue): + /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@packages+vue): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) vue: link:packages/vue dev: true @@ -1722,7 +1722,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1) + vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) transitivePeerDependencies: - supports-color dev: true @@ -2702,13 +2702,13 @@ packages: resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} dev: true - /esbuild-plugin-polyfill-node@0.3.0(esbuild@0.20.1): + /esbuild-plugin-polyfill-node@0.3.0(esbuild@0.20.2): resolution: {integrity: sha512-SHG6CKUfWfYyYXGpW143NEZtcVVn8S/WHcEOxk62LuDXnY4Zpmc+WmxJKN6GMTgTClXJXhEM5KQlxKY6YjbucQ==} peerDependencies: esbuild: '*' dependencies: '@jspm/core': 2.0.1 - esbuild: 0.20.1 + esbuild: 0.20.2 import-meta-resolve: 3.0.0 dev: true @@ -2743,35 +2743,35 @@ packages: '@esbuild/win32-x64': 0.19.10 dev: true - /esbuild@0.20.1: - resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.20.1 - '@esbuild/android-arm': 0.20.1 - '@esbuild/android-arm64': 0.20.1 - '@esbuild/android-x64': 0.20.1 - '@esbuild/darwin-arm64': 0.20.1 - '@esbuild/darwin-x64': 0.20.1 - '@esbuild/freebsd-arm64': 0.20.1 - '@esbuild/freebsd-x64': 0.20.1 - '@esbuild/linux-arm': 0.20.1 - '@esbuild/linux-arm64': 0.20.1 - '@esbuild/linux-ia32': 0.20.1 - '@esbuild/linux-loong64': 0.20.1 - '@esbuild/linux-mips64el': 0.20.1 - '@esbuild/linux-ppc64': 0.20.1 - '@esbuild/linux-riscv64': 0.20.1 - '@esbuild/linux-s390x': 0.20.1 - '@esbuild/linux-x64': 0.20.1 - '@esbuild/netbsd-x64': 0.20.1 - '@esbuild/openbsd-x64': 0.20.1 - '@esbuild/sunos-x64': 0.20.1 - '@esbuild/win32-arm64': 0.20.1 - '@esbuild/win32-ia32': 0.20.1 - '@esbuild/win32-x64': 0.20.1 + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 dev: true /escalade@3.1.1: @@ -4956,7 +4956,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.12.1)(typescript@5.2.2): + /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.2.2): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -4964,58 +4964,58 @@ packages: typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-esbuild@6.1.1(esbuild@0.20.1)(rollup@4.12.1): + /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.13.0): resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4 es-module-lexer: 1.3.1 - esbuild: 0.20.1 + esbuild: 0.20.2 get-tsconfig: 4.7.2 - rollup: 4.12.1 + rollup: 4.13.0 transitivePeerDependencies: - supports-color dev: true - /rollup-plugin-polyfill-node@0.13.0(rollup@4.12.1): + /rollup-plugin-polyfill-node@0.13.0(rollup@4.13.0): resolution: {integrity: sha512-FYEvpCaD5jGtyBuBFcQImEGmTxDTPbiHjJdrYIp+mFIwgXiXabxvKUK7ZT9P31ozu2Tqm9llYQMRWsfvTMTAOw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.12.1) - rollup: 4.12.1 + '@rollup/plugin-inject': 5.0.5(rollup@4.13.0) + rollup: 4.13.0 dev: true - /rollup@4.12.1: - resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} + /rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.1 - '@rollup/rollup-android-arm64': 4.12.1 - '@rollup/rollup-darwin-arm64': 4.12.1 - '@rollup/rollup-darwin-x64': 4.12.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 - '@rollup/rollup-linux-arm64-gnu': 4.12.1 - '@rollup/rollup-linux-arm64-musl': 4.12.1 - '@rollup/rollup-linux-riscv64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-musl': 4.12.1 - '@rollup/rollup-win32-arm64-msvc': 4.12.1 - '@rollup/rollup-win32-ia32-msvc': 4.12.1 - '@rollup/rollup-win32-x64-msvc': 4.12.1 + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 fsevents: 2.3.3 dev: true @@ -5411,8 +5411,8 @@ packages: temp-dir: 3.0.0 dev: true - /terser@5.29.1: - resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} + /terser@5.29.2: + resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5657,7 +5657,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.3.1(@types/node@20.11.28)(terser@5.29.1): + /vite-node@1.3.1(@types/node@20.11.28)(terser@5.29.2): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5666,7 +5666,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) transitivePeerDependencies: - '@types/node' - less @@ -5678,8 +5678,8 @@ packages: - terser dev: true - /vite@5.1.5(@types/node@20.11.28)(terser@5.29.1): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.1.6(@types/node@20.11.28)(terser@5.29.2): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5709,13 +5709,13 @@ packages: '@types/node': 20.11.28 esbuild: 0.19.10 postcss: 8.4.35 - rollup: 4.12.1 - terser: 5.29.1 + rollup: 4.13.0 + terser: 5.29.2 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.1): + /vitest@1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5759,8 +5759,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.28)(terser@5.29.1) - vite-node: 1.3.1(@types/node@20.11.28)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + vite-node: 1.3.1(@types/node@20.11.28)(terser@5.29.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 7bedaef4b15d0a402fda5aa0cf9185b5a3d7f98e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 20:11:38 +0800 Subject: [PATCH 05/55] chore(deps): update dependency @codspeed/vitest-plugin to v3 (#10358) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 42 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 62ee40867..f09e122ea 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "devDependencies": { "@babel/parser": "^7.24.0", "@babel/types": "^7.24.0", - "@codspeed/vitest-plugin": "^2.3.1", + "@codspeed/vitest-plugin": "^3.1.0", "@rollup/plugin-alias": "^5.1.0", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-json": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 978385483..7c4b6b1a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^7.24.0 version: 7.24.0 '@codspeed/vitest-plugin': - specifier: ^2.3.1 - version: 2.3.1(vite@5.1.6)(vitest@1.3.1) + specifier: ^3.1.0 + version: 3.1.0(vite@5.1.6)(vitest@1.3.1) '@rollup/plugin-alias': specifier: ^5.1.0 version: 5.1.0(rollup@4.13.0) @@ -617,22 +617,28 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@codspeed/core@2.3.1: - resolution: {integrity: sha512-7KRwBX4iXK33gEQwh8jPWBF9srGIjewm3oc+A/66caiG/aOyHmxJCapjAZxT2f2vIVYqR7CghzqlxY2ik0DNBg==} + /@codspeed/core@3.1.0: + resolution: {integrity: sha512-oYd7X46QhnRkgRbZkqAoX9i3Fwm17FpunK4Ee5RdrvRYR0Xr93ewH8/O5g6uyTPDOOqDEv1v2KRYtWhVgN+2VQ==} dependencies: + axios: 1.6.8 find-up: 6.3.0 + form-data: 4.0.0 node-gyp-build: 4.7.1 + transitivePeerDependencies: + - debug dev: true - /@codspeed/vitest-plugin@2.3.1(vite@5.1.6)(vitest@1.3.1): - resolution: {integrity: sha512-/e4G2B/onX/hG/EjUU/NpDxnIryeTDamVRTBeWfgQDoex3g7GDzTwoQktaU5l/Asw3ZjEErQg+oQVToQ6jYZlA==} + /@codspeed/vitest-plugin@3.1.0(vite@5.1.6)(vitest@1.3.1): + resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: vite: ^4.2.0 || ^5.0.0 - vitest: '>=1.0.0-beta.4 || >=1' + vitest: '>=1.2.2' dependencies: - '@codspeed/core': 2.3.1 + '@codspeed/core': 3.1.0 vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) + transitivePeerDependencies: + - debug dev: true /@esbuild/aix-ppc64@0.19.10: @@ -1956,6 +1962,16 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + /b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: true @@ -3150,6 +3166,16 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} From 31ed1f45ab560521351571a0f5eacb0f24575881 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 19 Mar 2024 16:35:37 +0800 Subject: [PATCH 06/55] chore: add FUNDING.json --- FUNDING.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 FUNDING.json diff --git a/FUNDING.json b/FUNDING.json new file mode 100644 index 000000000..552dc453c --- /dev/null +++ b/FUNDING.json @@ -0,0 +1,7 @@ +{ + "drips": { + "ethereum": { + "ownedBy": "0x5393BdeA2a020769256d9f337B0fc81a2F64850A" + } + } +} From ab59bedae4e5e40b28804d88a51305b236d4a873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=B6=E8=BF=9C=E6=96=B9?= Date: Tue, 19 Mar 2024 20:47:52 +0800 Subject: [PATCH 07/55] fix(runtime-core): fix errorHandler causes an infinite loop during execution (#9575) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Haoqun Jiang --- .../__tests__/errorHandling.spec.ts | 26 +++++++++++++++++++ packages/runtime-core/src/errorHandling.ts | 3 +++ 2 files changed, 29 insertions(+) diff --git a/packages/runtime-core/__tests__/errorHandling.spec.ts b/packages/runtime-core/__tests__/errorHandling.spec.ts index d995c5fa0..085127677 100644 --- a/packages/runtime-core/__tests__/errorHandling.spec.ts +++ b/packages/runtime-core/__tests__/errorHandling.spec.ts @@ -583,5 +583,31 @@ describe('error handling', () => { expect(handler).toHaveBeenCalledTimes(4) }) + // #9574 + test('should pause tracking in error handler', async () => { + const error = new Error('error') + const x = ref(Math.random()) + + const handler = vi.fn(() => { + x.value + x.value = Math.random() + }) + + const app = createApp({ + setup() { + return () => { + throw error + } + }, + }) + + app.config.errorHandler = handler + app.mount(nodeOps.createElement('div')) + + await nextTick() + expect(handler).toHaveBeenCalledWith(error, {}, 'render function') + expect(handler).toHaveBeenCalledTimes(1) + }) + // native event handler handling should be tested in respective renderers }) diff --git a/packages/runtime-core/src/errorHandling.ts b/packages/runtime-core/src/errorHandling.ts index 041eb1239..dda648038 100644 --- a/packages/runtime-core/src/errorHandling.ts +++ b/packages/runtime-core/src/errorHandling.ts @@ -1,3 +1,4 @@ +import { pauseTracking, resetTracking } from '@vue/reactivity' import type { VNode } from './vnode' import type { ComponentInternalInstance } from './component' import { popWarningContext, pushWarningContext, warn } from './warning' @@ -127,12 +128,14 @@ export function handleError( // app-level handling const appErrorHandler = instance.appContext.config.errorHandler if (appErrorHandler) { + pauseTracking() callWithErrorHandling( appErrorHandler, null, ErrorCodes.APP_ERROR_HANDLER, [err, exposedInstance, errorInfo], ) + resetTracking() return } } From caeb8a68811a1b0f799632582289fcf169fb673c Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Thu, 21 Mar 2024 11:12:50 +0800 Subject: [PATCH 08/55] chore: dedupe dependencies (#10562) --- packages/template-explorer/package.json | 2 +- pnpm-lock.yaml | 41 ++++--------------------- 2 files changed, 7 insertions(+), 36 deletions(-) diff --git a/packages/template-explorer/package.json b/packages/template-explorer/package.json index 7a1f87145..5da183448 100644 --- a/packages/template-explorer/package.json +++ b/packages/template-explorer/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "monaco-editor": "^0.46.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.1.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c4b6b1a6..7a21927e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -374,8 +374,8 @@ importers: specifier: ^0.46.0 version: 0.46.0 source-map-js: - specifier: ^1.0.2 - version: 1.0.2 + specifier: ^1.1.0 + version: 1.1.0 packages/vue: dependencies: @@ -1341,7 +1341,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 4.13.0 @@ -1459,10 +1459,6 @@ packages: resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} dev: true - /@types/estree@1.0.3: - resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==} - dev: true - /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true @@ -3473,16 +3469,6 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -3493,16 +3479,6 @@ packages: - supports-color dev: true - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@7.0.4: resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} @@ -3696,7 +3672,7 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.5 dev: true /is-regex@1.1.4: @@ -3828,8 +3804,8 @@ packages: decimal.js: 10.4.3 form-data: 4.0.0 html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.7 parse5: 7.1.2 @@ -5238,11 +5214,6 @@ packages: smart-buffer: 4.2.0 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: false - /source-map-js@1.1.0: resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} engines: {node: '>=0.10.0'} From 660cadc7aadb909ef33a6055c4374902a82607a4 Mon Sep 17 00:00:00 2001 From: Doctor Wu <44631608+Doctor-wu@users.noreply.github.com> Date: Mon, 25 Mar 2024 14:12:33 +0800 Subject: [PATCH 09/55] fix(compiler-sfc): :is() and :where() in compound selectors (#10522) Co-authored-by: Haoqun Jiang Closes #10511 --- .../__tests__/compileStyle.spec.ts | 39 +++++++++++++++++++ .../compiler-sfc/src/style/pluginScoped.ts | 4 +- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/packages/compiler-sfc/__tests__/compileStyle.spec.ts b/packages/compiler-sfc/__tests__/compileStyle.spec.ts index 1f9ae6722..0da713a05 100644 --- a/packages/compiler-sfc/__tests__/compileStyle.spec.ts +++ b/packages/compiler-sfc/__tests__/compileStyle.spec.ts @@ -161,6 +161,45 @@ describe('SFC scoped CSS', () => { `) }) + // #10511 + test(':is() and :where() in compound selectors', () => { + expect( + compileScoped(`.div { color: red; } .div:where(:hover) { color: blue; }`), + ).toMatchInlineSnapshot(` + ".div[data-v-test] { color: red; + } + .div[data-v-test]:where(:hover) { color: blue; + }"`) + + expect( + compileScoped(`.div { color: red; } .div:is(:hover) { color: blue; }`), + ).toMatchInlineSnapshot(` + ".div[data-v-test] { color: red; + } + .div[data-v-test]:is(:hover) { color: blue; + }"`) + + expect( + compileScoped( + `.div { color: red; } .div:where(.foo:hover) { color: blue; }`, + ), + ).toMatchInlineSnapshot(` + ".div[data-v-test] { color: red; + } + .div[data-v-test]:where(.foo:hover) { color: blue; + }"`) + + expect( + compileScoped( + `.div { color: red; } .div:is(.foo:hover) { color: blue; }`, + ), + ).toMatchInlineSnapshot(` + ".div[data-v-test] { color: red; + } + .div[data-v-test]:is(.foo:hover) { color: blue; + }"`) + }) + test('media query', () => { expect(compileScoped(`@media print { .foo { color: red }}`)) .toMatchInlineSnapshot(` diff --git a/packages/compiler-sfc/src/style/pluginScoped.ts b/packages/compiler-sfc/src/style/pluginScoped.ts index c5e018961..0a46de7fc 100644 --- a/packages/compiler-sfc/src/style/pluginScoped.ts +++ b/packages/compiler-sfc/src/style/pluginScoped.ts @@ -172,7 +172,9 @@ function rewriteSelector( if ( (n.type !== 'pseudo' && n.type !== 'combinator') || - (n.type === 'pseudo' && (n.value === ':is' || n.value === ':where')) + (n.type === 'pseudo' && + (n.value === ':is' || n.value === ':where') && + !node) ) { node = n } From 3665a4f7e51dc774d771dc949a02691387b1fc6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:02:05 +0800 Subject: [PATCH 10/55] chore(deps): update lint (#10583) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +-- pnpm-lock.yaml | 118 ++++++++++++++++++++++++------------------------- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index f09e122ea..d04cc2f77 100644 --- a/package.json +++ b/package.json @@ -72,8 +72,8 @@ "@types/minimist": "^1.2.5", "@types/node": "^20.11.28", "@types/semver": "^7.5.8", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", + "@typescript-eslint/eslint-plugin": "^7.3.1", + "@typescript-eslint/parser": "^7.3.1", "@vitest/coverage-istanbul": "^1.3.1", "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^4.1.0", @@ -106,7 +106,7 @@ "rollup-plugin-polyfill-node": "^0.13.0", "semver": "^7.6.0", "serve": "^14.2.1", - "simple-git-hooks": "^2.10.0", + "simple-git-hooks": "^2.11.0", "terser": "^5.29.2", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a21927e6..1d6a86089 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,11 +48,11 @@ importers: specifier: ^7.5.8 version: 7.5.8 '@typescript-eslint/eslint-plugin': - specifier: ^7.1.1 - version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.3.1 + version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^7.1.1 - version: 7.1.1(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.3.1 + version: 7.3.1(eslint@8.57.0)(typescript@5.2.2) '@vitest/coverage-istanbul': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -79,10 +79,10 @@ importers: version: 2.1.0 eslint-plugin-import: specifier: npm:eslint-plugin-i@^2.29.1 - version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0) + version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0) eslint-plugin-jest: specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint@8.57.0)(typescript@5.2.2) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(typescript@5.2.2) estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -150,8 +150,8 @@ importers: specifier: ^14.2.1 version: 14.2.1 simple-git-hooks: - specifier: ^2.10.0 - version: 2.10.0 + specifier: ^2.11.0 + version: 2.11.0 terser: specifier: ^5.29.2 version: 5.29.2 @@ -1501,9 +1501,9 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -1513,11 +1513,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.3.1 + '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 @@ -1530,9 +1530,9 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -1540,10 +1540,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/scope-manager': 7.3.1 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4 eslint: 8.57.0 typescript: 5.2.2 @@ -1559,17 +1559,17 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@7.1.1: - resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/scope-manager@7.3.1: + resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/visitor-keys': 7.3.1 dev: true - /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -1577,8 +1577,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.2.2) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -1592,9 +1592,9 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@7.1.1: - resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/types@7.3.1: + resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): @@ -1618,17 +1618,17 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.1.1(typescript@5.2.2): - resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@7.3.1(typescript@5.2.2): + resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1660,18 +1660,18 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.3.1 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.2.2) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -1687,11 +1687,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.1.1: - resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/visitor-keys@7.3.1: + resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/types': 7.3.1 eslint-visitor-keys: 3.4.3 dev: true @@ -2829,7 +2829,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2850,7 +2850,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -2858,7 +2858,7 @@ packages: - supports-color dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -2868,7 +2868,7 @@ packages: doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -2880,7 +2880,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint@8.57.0)(typescript@5.2.2): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(typescript@5.2.2): resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2893,7 +2893,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.2.2) eslint: 8.57.0 transitivePeerDependencies: @@ -5154,8 +5154,8 @@ packages: engines: {node: '>=14'} dev: true - /simple-git-hooks@2.10.0: - resolution: {integrity: sha512-TtCytVYfV77pILCkzVxpOSgYKHQyaO7fBI/iwG5bLGb0dIo/v/K1Y1IZ5DN40RQu6WNNJiN0gkuRvSYjxOhFog==} + /simple-git-hooks@2.11.0: + resolution: {integrity: sha512-Wab2uzjGJEL8Kx+2UY8waUSfkiolt2RbaAJWvPCjaAEXrrKoS7JqPk4STiIVl/yt3asZRUzFoK2ryhwvgh5rYw==} hasBin: true requiresBuild: true dev: true From 6fed2470292ee916d6a162c8c1efdb2fd21e0866 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:03:29 +0800 Subject: [PATCH 11/55] chore(deps): update dependency vite to ^5.2.6 (#10582) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/sfc-playground/package.json | 2 +- .../src/download/template/package.json | 2 +- pnpm-lock.yaml | 46 ++++++++++++------- 4 files changed, 33 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index d04cc2f77..14cdc7583 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "tslib": "^2.6.2", "tsx": "^4.7.1", "typescript": "^5.2.2", - "vite": "^5.1.6", + "vite": "^5.2.6", "vitest": "^1.3.1" } } diff --git a/packages/sfc-playground/package.json b/packages/sfc-playground/package.json index 581e18e43..84c6c9005 100644 --- a/packages/sfc-playground/package.json +++ b/packages/sfc-playground/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.1.6" + "vite": "^5.2.6" }, "dependencies": { "@vue/repl": "^4.1.1", diff --git a/packages/sfc-playground/src/download/template/package.json b/packages/sfc-playground/src/download/template/package.json index 66d4f0a06..bea17e176 100644 --- a/packages/sfc-playground/src/download/template/package.json +++ b/packages/sfc-playground/src/download/template/package.json @@ -12,6 +12,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.1.6" + "vite": "^5.2.6" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1d6a86089..1f3463eb2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 7.24.0 '@codspeed/vitest-plugin': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.6)(vitest@1.3.1) + version: 3.1.0(vite@5.2.6)(vitest@1.3.1) '@rollup/plugin-alias': specifier: ^5.1.0 version: 5.1.0(rollup@4.13.0) @@ -168,8 +168,8 @@ importers: specifier: ^5.2.2 version: 5.2.2 vite: - specifier: ^5.1.6 - version: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + specifier: ^5.2.6 + version: 5.2.6(@types/node@20.11.28)(terser@5.29.2) vitest: specifier: ^1.3.1 version: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) @@ -361,10 +361,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.6)(vue@packages+vue) + version: 5.0.4(vite@5.2.6)(vue@packages+vue) vite: - specifier: ^5.1.6 - version: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + specifier: ^5.2.6 + version: 5.2.6(@types/node@20.11.28)(terser@5.29.2) packages/shared: {} @@ -628,14 +628,14 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.1.6)(vitest@1.3.1): + /@codspeed/vitest-plugin@3.1.0(vite@5.2.6)(vitest@1.3.1): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: vite: ^4.2.0 || ^5.0.0 vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) transitivePeerDependencies: - debug @@ -1699,14 +1699,14 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@packages+vue): + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@packages+vue): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) vue: link:packages/vue dev: true @@ -4591,6 +4591,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.1.0 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -5218,6 +5227,11 @@ packages: resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -5663,7 +5677,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) transitivePeerDependencies: - '@types/node' - less @@ -5675,8 +5689,8 @@ packages: - terser dev: true - /vite@5.1.6(@types/node@20.11.28)(terser@5.29.2): - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + /vite@5.2.6(@types/node@20.11.28)(terser@5.29.2): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5704,8 +5718,8 @@ packages: optional: true dependencies: '@types/node': 20.11.28 - esbuild: 0.19.10 - postcss: 8.4.35 + esbuild: 0.20.2 + postcss: 8.4.38 rollup: 4.13.0 terser: 5.29.2 optionalDependencies: @@ -5756,7 +5770,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) vite-node: 1.3.1(@types/node@20.11.28)(terser@5.29.2) why-is-node-running: 2.2.2 transitivePeerDependencies: From c6e245efe4a33c3a39d9223f40ef38754dc09eda Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:10:49 +0800 Subject: [PATCH 12/55] chore(deps): update all non-major dependencies (#10580) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/compiler-core/package.json | 2 +- packages/compiler-sfc/package.json | 2 +- packages/vue-compat/package.json | 2 +- pnpm-lock.yaml | 60 ++++++++++++++--------------- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index 14cdc7583..c59454748 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.11.28", + "@types/node": "^20.11.30", "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^7.3.1", "@typescript-eslint/parser": "^7.3.1", diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index 78f220643..ac86f49a5 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -50,7 +50,7 @@ "@vue/shared": "workspace:*", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.1.0" + "source-map-js": "^1.2.0" }, "devDependencies": { "@babel/types": "^7.24.0" diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 0137ddaef..b89cde8a7 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -50,7 +50,7 @@ "estree-walker": "^2.0.2", "magic-string": "^0.30.8", "postcss": "^8.4.35", - "source-map-js": "^1.1.0" + "source-map-js": "^1.2.0" }, "devDependencies": { "@babel/types": "^7.24.0", diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index ccb5f0ce9..4700d5337 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -54,7 +54,7 @@ "dependencies": { "@babel/parser": "^7.24.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.1.0" + "source-map-js": "^1.2.0" }, "peerDependencies": { "vue": "workspace:*" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f3463eb2..a45c7a84d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.11.28 - version: 20.11.28 + specifier: ^20.11.30 + version: 20.11.30 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -169,10 +169,10 @@ importers: version: 5.2.2 vite: specifier: ^5.2.6 - version: 5.2.6(@types/node@20.11.28)(terser@5.29.2) + version: 5.2.6(@types/node@20.11.30)(terser@5.29.2) vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) + version: 1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) packages/compiler-core: dependencies: @@ -189,8 +189,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 source-map-js: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.2.0 + version: 1.2.0 devDependencies: '@babel/types': specifier: ^7.24.0 @@ -232,8 +232,8 @@ importers: specifier: ^8.4.35 version: 8.4.35 source-map-js: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.2.0 + version: 1.2.0 devDependencies: '@babel/types': specifier: ^7.24.0 @@ -364,7 +364,7 @@ importers: version: 5.0.4(vite@5.2.6)(vue@packages+vue) vite: specifier: ^5.2.6 - version: 5.2.6(@types/node@20.11.28)(terser@5.29.2) + version: 5.2.6(@types/node@20.11.30)(terser@5.29.2) packages/shared: {} @@ -407,8 +407,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 source-map-js: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.2.0 + version: 1.2.0 vue: specifier: workspace:* version: link:../vue @@ -635,8 +635,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) - vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) + vitest: 1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) transitivePeerDependencies: - debug dev: true @@ -1475,8 +1475,8 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.11.28: - resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: undici-types: 5.26.5 dev: true @@ -1497,7 +1497,7 @@ packages: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true optional: true @@ -1706,7 +1706,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) vue: link:packages/vue dev: true @@ -1724,7 +1724,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2) + vitest: 1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) transitivePeerDependencies: - supports-color dev: true @@ -4053,7 +4053,7 @@ packages: dependencies: '@babel/parser': 7.24.0 '@babel/types': 7.24.0 - source-map-js: 1.1.0 + source-map-js: 1.2.0 dev: true /make-dir@4.0.0: @@ -4589,7 +4589,7 @@ packages: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.1.0 + source-map-js: 1.2.0 /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} @@ -5058,7 +5058,7 @@ packages: dependencies: chokidar: 3.5.3 immutable: 4.3.4 - source-map-js: 1.1.0 + source-map-js: 1.2.0 dev: true /saxes@6.0.0: @@ -5226,11 +5226,11 @@ packages: /source-map-js@1.1.0: resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} engines: {node: '>=0.10.0'} + dev: false /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - dev: true /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -5668,7 +5668,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.3.1(@types/node@20.11.28)(terser@5.29.2): + /vite-node@1.3.1(@types/node@20.11.30)(terser@5.29.2): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5677,7 +5677,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) transitivePeerDependencies: - '@types/node' - less @@ -5689,7 +5689,7 @@ packages: - terser dev: true - /vite@5.2.6(@types/node@20.11.28)(terser@5.29.2): + /vite@5.2.6(@types/node@20.11.30)(terser@5.29.2): resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5717,7 +5717,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.0 @@ -5726,7 +5726,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.28)(jsdom@24.0.0)(terser@5.29.2): + /vitest@1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5751,7 +5751,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -5770,8 +5770,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.6(@types/node@20.11.28)(terser@5.29.2) - vite-node: 1.3.1(@types/node@20.11.28)(terser@5.29.2) + vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) + vite-node: 1.3.1(@types/node@20.11.30)(terser@5.29.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From cb7195a53384fee6790105b4e1a3e13f95411dcf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:36:17 +0800 Subject: [PATCH 13/55] fix(deps): update playground (#10586) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/template-explorer/package.json | 4 ++-- pnpm-lock.yaml | 17 ++++++----------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/template-explorer/package.json b/packages/template-explorer/package.json index 5da183448..da0ffe58d 100644 --- a/packages/template-explorer/package.json +++ b/packages/template-explorer/package.json @@ -11,7 +11,7 @@ "enableNonBrowserBranches": true }, "dependencies": { - "monaco-editor": "^0.46.0", - "source-map-js": "^1.1.0" + "monaco-editor": "^0.47.0", + "source-map-js": "^1.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a45c7a84d..81c02ecee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -371,11 +371,11 @@ importers: packages/template-explorer: dependencies: monaco-editor: - specifier: ^0.46.0 - version: 0.46.0 + specifier: ^0.47.0 + version: 0.47.0 source-map-js: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.2.0 + version: 1.2.0 packages/vue: dependencies: @@ -4182,8 +4182,8 @@ packages: ufo: 1.3.1 dev: true - /monaco-editor@0.46.0: - resolution: {integrity: sha512-ADwtLIIww+9FKybWscd7OCfm9odsFYHImBRI1v9AviGce55QY8raT+9ihH8jX/E/e6QVSGM+pKj4jSUSRmALNQ==} + /monaco-editor@0.47.0: + resolution: {integrity: sha512-VabVvHvQ9QmMwXu4du008ZDuyLnHs9j7ThVFsiJoXSOQk18+LF89N4ADzPbFenm0W4V2bGHnFBztIRQTgBfxzw==} dev: false /ms@2.0.0: @@ -5223,11 +5223,6 @@ packages: smart-buffer: 4.2.0 dev: true - /source-map-js@1.1.0: - resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} - engines: {node: '>=0.10.0'} - dev: false - /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} From a38900419662d0525808f76cb8d7a4feb460986b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:16:50 +0800 Subject: [PATCH 14/55] chore(deps): update test (#10585) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +- pnpm-lock.yaml | 167 +++++++++++++++++++++---------------------------- 2 files changed, 74 insertions(+), 99 deletions(-) diff --git a/package.json b/package.json index c59454748..b4593c018 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^7.3.1", "@typescript-eslint/parser": "^7.3.1", - "@vitest/coverage-istanbul": "^1.3.1", + "@vitest/coverage-istanbul": "^1.4.0", "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^4.1.0", "enquirer": "^2.4.1", @@ -98,7 +98,7 @@ "prettier": "^3.2.5", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", - "puppeteer": "~22.4.1", + "puppeteer": "~22.6.0", "rimraf": "^5.0.5", "rollup": "^4.13.0", "rollup-plugin-dts": "^6.1.0", @@ -113,6 +113,6 @@ "tsx": "^4.7.1", "typescript": "^5.2.2", "vite": "^5.2.6", - "vitest": "^1.3.1" + "vitest": "^1.4.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81c02ecee..f015653da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 7.24.0 '@codspeed/vitest-plugin': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.6)(vitest@1.3.1) + version: 3.1.0(vite@5.2.6)(vitest@1.4.0) '@rollup/plugin-alias': specifier: ^5.1.0 version: 5.1.0(rollup@4.13.0) @@ -54,8 +54,8 @@ importers: specifier: ^7.3.1 version: 7.3.1(eslint@8.57.0)(typescript@5.2.2) '@vitest/coverage-istanbul': - specifier: ^1.3.1 - version: 1.3.1(vitest@1.3.1) + specifier: ^1.4.0 + version: 1.4.0(vitest@1.4.0) '@vue/consolidate': specifier: 1.0.0 version: 1.0.0 @@ -126,8 +126,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 puppeteer: - specifier: ~22.4.1 - version: 22.4.1(typescript@5.2.2) + specifier: ~22.6.0 + version: 22.6.0(typescript@5.2.2) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -171,8 +171,8 @@ importers: specifier: ^5.2.6 version: 5.2.6(@types/node@20.11.30)(terser@5.29.2) vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) + specifier: ^1.4.0 + version: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) packages/compiler-core: dependencies: @@ -628,7 +628,7 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.2.6)(vitest@1.3.1): + /@codspeed/vitest-plugin@3.1.0(vite@5.2.6)(vitest@1.4.0): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: vite: ^4.2.0 || ^5.0.0 @@ -636,7 +636,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) - vitest: 1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) + vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) transitivePeerDependencies: - debug dev: true @@ -1177,6 +1177,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@jspm/core@2.0.1: resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==} dev: true @@ -1209,8 +1216,8 @@ packages: dev: true optional: true - /@puppeteer/browsers@2.1.0: - resolution: {integrity: sha512-xloWvocjvryHdUjDam/ZuGMh7zn4Sn3ZAaV4Ah2e2EwEt90N3XphZlSsU3n0VDc1F7kggCjMuH0UuxfPQ5mD9w==} + /@puppeteer/browsers@2.2.0: + resolution: {integrity: sha512-MC7LxpcBtdfTbzwARXIkqGZ1Osn3nnZJlm+i0+VqHl72t//Xwl9wICrXT8BwtgC6s1xJNHsxOpvzISUqe92+sw==} engines: {node: '>=18'} hasBin: true dependencies: @@ -1710,57 +1717,57 @@ packages: vue: link:packages/vue dev: true - /@vitest/coverage-istanbul@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-aBVgQ2eY9gzrxBJjGKbWgatTU2w1CacEx0n8OMctPzl9836KqoM5X/WigJpjM7wZEtX2N0ZTE5KDGPmVM+o2Wg==} + /@vitest/coverage-istanbul@1.4.0(vitest@1.4.0): + resolution: {integrity: sha512-39TjURYyAY6CLDx8M1RNYGoAuWicPWoofk+demJbAZROLCwUgGPgMRSg51GN+snbmQRTpSizuS9XC3cMSdQH2Q==} peerDependencies: - vitest: 1.3.1 + vitest: 1.4.0 dependencies: debug: 4.3.4 istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.1 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 + istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.6 magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) + vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 chai: 4.3.10 dev: true - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} dependencies: - '@vitest/utils': 1.3.1 + '@vitest/utils': 1.4.0 p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: magic-string: 0.30.8 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -2200,14 +2207,15 @@ packages: fsevents: 2.3.3 dev: true - /chromium-bidi@0.5.12(devtools-protocol@0.0.1249869): - resolution: {integrity: sha512-sZMgEBWKbupD0Q7lyFu8AWkrE+rs5ycE12jFkGwIgD/VS8lDPtelPlXM7LYaq4zrkZ/O2L3f4afHUHL0ICdKog==} + /chromium-bidi@0.5.13(devtools-protocol@0.0.1262051): + resolution: {integrity: sha512-OHbYCetDxdW/xmlrafgOiLsIrw4Sp1BEeolbZ1UGJO5v/nekQOJBj/Kzyw6sqKcAVabUTo0GS3cTYgr6zIf00g==} peerDependencies: devtools-protocol: '*' dependencies: - devtools-protocol: 0.0.1249869 + devtools-protocol: 0.0.1262051 mitt: 3.0.1 urlpattern-polyfill: 10.0.0 + zod: 3.22.4 dev: true /cli-boxes@3.0.0: @@ -2493,14 +2501,6 @@ packages: typescript: 5.2.2 dev: true - /cross-fetch@4.0.0: - resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2627,8 +2627,8 @@ packages: engines: {node: '>=0.4.0'} dev: true - /devtools-protocol@0.0.1249869: - resolution: {integrity: sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==} + /devtools-protocol@0.0.1262051: + resolution: {integrity: sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g==} dev: true /diff-sequences@29.6.3: @@ -3742,13 +3742,13 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} engines: {node: '>=10'} dependencies: + '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true @@ -4217,18 +4217,6 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - /node-gyp-build@4.7.1: resolution: {integrity: sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==} hasBin: true @@ -4771,35 +4759,33 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@22.4.1: - resolution: {integrity: sha512-l9nf8NcirYOHdID12CIMWyy7dqcJCVtgVS+YAiJuUJHg8+9yjgPiG2PcNhojIEEpCkvw3FxvnyITVfKVmkWpjA==} + /puppeteer-core@22.6.0: + resolution: {integrity: sha512-xclyGFhxHfZ9l62uXFm+JpgtJHLIZ1qHc7iR4eaIqBNKA5Dg2sDr8yvylfCx5bMN89QWIaxpV6IHsy0qUynK/g==} engines: {node: '>=18'} dependencies: - '@puppeteer/browsers': 2.1.0 - chromium-bidi: 0.5.12(devtools-protocol@0.0.1249869) - cross-fetch: 4.0.0 + '@puppeteer/browsers': 2.2.0 + chromium-bidi: 0.5.13(devtools-protocol@0.0.1262051) debug: 4.3.4 - devtools-protocol: 0.0.1249869 + devtools-protocol: 0.0.1262051 ws: 8.16.0 transitivePeerDependencies: - bufferutil - - encoding - supports-color - utf-8-validate dev: true - /puppeteer@22.4.1(typescript@5.2.2): - resolution: {integrity: sha512-Mag1wRLanzwS4yEUyrDRBUgsKlH3dpL6oAfVwNHG09oxd0+ySsatMvYj7HwjynWy/S+Hg+XHLgjyC/F6CsL/lg==} + /puppeteer@22.6.0(typescript@5.2.2): + resolution: {integrity: sha512-TYeza4rl1YXfxqUVw/0hWUWYX5cicnf6qu5kkDV+t7QrESCjMoSNnva4ZA/MRGQ03HnB9BOFw9nxs/SKek5KDA==} engines: {node: '>=18'} hasBin: true requiresBuild: true dependencies: - '@puppeteer/browsers': 2.1.0 + '@puppeteer/browsers': 2.2.0 cosmiconfig: 9.0.0(typescript@5.2.2) - puppeteer-core: 22.4.1 + devtools-protocol: 0.0.1262051 + puppeteer-core: 22.6.0 transitivePeerDependencies: - bufferutil - - encoding - supports-color - typescript - utf-8-validate @@ -5494,10 +5480,6 @@ packages: url-parse: 1.5.10 dev: true - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true - /tr46@5.0.0: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} @@ -5663,8 +5645,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.3.1(@types/node@20.11.30)(terser@5.29.2): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + /vite-node@1.4.0(@types/node@20.11.30)(terser@5.29.2): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -5721,15 +5703,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + /vitest@1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -5747,11 +5729,11 @@ packages: optional: true dependencies: '@types/node': 20.11.30 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 chai: 4.3.10 debug: 4.3.4 @@ -5766,7 +5748,7 @@ packages: tinybench: 2.5.1 tinypool: 0.8.2 vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) - vite-node: 1.3.1(@types/node@20.11.30)(terser@5.29.2) + vite-node: 1.4.0(@types/node@20.11.30)(terser@5.29.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -5790,10 +5772,6 @@ packages: xml-name-validator: 5.0.0 dev: true - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true - /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -5819,13 +5797,6 @@ packages: webidl-conversions: 7.0.0 dev: true - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -5969,3 +5940,7 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: true From 01172fdb777f9a0b51781ed2015a1ba3824340a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:22:58 +0800 Subject: [PATCH 15/55] fix(deps): update compiler (#10581) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/compiler-core/package.json | 2 +- packages/compiler-sfc/package.json | 6 +- packages/vue-compat/package.json | 2 +- pnpm-lock.yaml | 99 +++++++++++++---------------- 5 files changed, 51 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index b4593c018..783b58816 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "node": ">=18.12.0" }, "devDependencies": { - "@babel/parser": "^7.24.0", + "@babel/parser": "^7.24.1", "@babel/types": "^7.24.0", "@codspeed/vitest-plugin": "^3.1.0", "@rollup/plugin-alias": "^5.1.0", diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index ac86f49a5..6ffa0aa21 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -46,7 +46,7 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme", "dependencies": { - "@babel/parser": "^7.24.0", + "@babel/parser": "^7.24.1", "@vue/shared": "workspace:*", "entities": "^4.5.0", "estree-walker": "^2.0.2", diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index b89cde8a7..621bdbb82 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -42,14 +42,14 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme", "dependencies": { - "@babel/parser": "^7.24.0", + "@babel/parser": "^7.24.1", "@vue/compiler-core": "workspace:*", "@vue/compiler-dom": "workspace:*", "@vue/compiler-ssr": "workspace:*", "@vue/shared": "workspace:*", "estree-walker": "^2.0.2", "magic-string": "^0.30.8", - "postcss": "^8.4.35", + "postcss": "^8.4.38", "source-map-js": "^1.2.0" }, "devDependencies": { @@ -60,7 +60,7 @@ "merge-source-map": "^1.1.0", "minimatch": "^9.0.3", "postcss-modules": "^6.0.0", - "postcss-selector-parser": "^6.0.15", + "postcss-selector-parser": "^6.0.16", "pug": "^3.0.2", "sass": "^1.72.0" } diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index 4700d5337..7091e9a57 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -52,7 +52,7 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/vue-compat#readme", "dependencies": { - "@babel/parser": "^7.24.0", + "@babel/parser": "^7.24.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f015653da..6ec5fd345 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@babel/parser': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.1 + version: 7.24.1 '@babel/types': specifier: ^7.24.0 version: 7.24.0 @@ -177,8 +177,8 @@ importers: packages/compiler-core: dependencies: '@babel/parser': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.1 + version: 7.24.1 '@vue/shared': specifier: workspace:* version: link:../shared @@ -208,8 +208,8 @@ importers: packages/compiler-sfc: dependencies: '@babel/parser': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.1 + version: 7.24.1 '@vue/compiler-core': specifier: workspace:* version: link:../compiler-core @@ -229,8 +229,8 @@ importers: specifier: ^0.30.8 version: 0.30.8 postcss: - specifier: ^8.4.35 - version: 8.4.35 + specifier: ^8.4.38 + version: 8.4.38 source-map-js: specifier: ^1.2.0 version: 1.2.0 @@ -255,10 +255,10 @@ importers: version: 9.0.3 postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.35) + version: 6.0.0(postcss@8.4.38) postcss-selector-parser: - specifier: ^6.0.15 - version: 6.0.15 + specifier: ^6.0.16 + version: 6.0.16 pug: specifier: ^3.0.2 version: 3.0.2 @@ -401,8 +401,8 @@ importers: packages/vue-compat: dependencies: '@babel/parser': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.1 + version: 7.24.1 estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -451,7 +451,7 @@ packages: '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helpers': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/template': 7.22.15 '@babel/traverse': 7.23.5 '@babel/types': 7.24.0 @@ -575,8 +575,8 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: @@ -587,7 +587,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true @@ -601,7 +601,7 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 debug: 4.3.4 globals: 11.12.0 @@ -2339,7 +2339,7 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true @@ -3506,13 +3506,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.35): + /icss-utils@5.1.0(postcss@8.4.38): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 dev: true /ieee754@1.2.1: @@ -3725,7 +3725,7 @@ packages: engines: {node: '>=10'} dependencies: '@babel/core': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.0 @@ -4051,7 +4051,7 @@ packages: /magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 source-map-js: 1.2.0 dev: true @@ -4502,65 +4502,65 @@ packages: pathe: 1.1.1 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.38): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.35): + /postcss-modules-scope@3.0.0(postcss@8.4.38): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.35): + /postcss-modules-values@4.0.0(postcss@8.4.38): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 dev: true - /postcss-modules@6.0.0(postcss@8.4.35): + /postcss-modules@6.0.0(postcss@8.4.38): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.38) lodash.camelcase: 4.3.0 - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.35) - postcss-modules-scope: 3.0.0(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.38) + postcss-modules-scope: 3.0.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) string-hash: 1.1.3 dev: true - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + /postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -4571,14 +4571,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -4586,7 +4578,6 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -5825,7 +5816,7 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 From db374e54c9f5e07324728b85c74eca84e28dd352 Mon Sep 17 00:00:00 2001 From: yangxiuxiu <79584569+yangxiuxiu1115@users.noreply.github.com> Date: Thu, 28 Mar 2024 22:09:16 +0800 Subject: [PATCH 16/55] fix(runtime-dom): `v-model` string/number coercion for multiselect options (#10576) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: RicardoErii <‘1974364190@qq.com’> Co-authored-by: yangchangtao --- .../__tests__/directives/vModel.spec.ts | 32 +++++++++++++++++++ packages/runtime-dom/src/directives/vModel.ts | 4 +-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/packages/runtime-dom/__tests__/directives/vModel.spec.ts b/packages/runtime-dom/__tests__/directives/vModel.spec.ts index 6cc7b53e2..d6398f373 100644 --- a/packages/runtime-dom/__tests__/directives/vModel.spec.ts +++ b/packages/runtime-dom/__tests__/directives/vModel.spec.ts @@ -1237,4 +1237,36 @@ describe('vModel', () => { await nextTick() expect(data.value).toEqual('使用拼音输入') }) + + it('multiple select (model is number, option value is string)', async () => { + const component = defineComponent({ + data() { + return { + value: [1, 2], + } + }, + render() { + return [ + withVModel( + h( + 'select', + { + multiple: true, + 'onUpdate:modelValue': setValue.bind(this), + }, + [h('option', { value: '1' }), h('option', { value: '2' })], + ), + this.value, + ), + ] + }, + }) + render(h(component), root) + + await nextTick() + const [foo, bar] = root.querySelectorAll('option') + + expect(foo.selected).toEqual(true) + expect(bar.selected).toEqual(true) + }) }) diff --git a/packages/runtime-dom/src/directives/vModel.ts b/packages/runtime-dom/src/directives/vModel.ts index 9e94810d8..e002e2e10 100644 --- a/packages/runtime-dom/src/directives/vModel.ts +++ b/packages/runtime-dom/src/directives/vModel.ts @@ -242,9 +242,7 @@ function setSelected(el: HTMLSelectElement, value: any, number: boolean) { const optionType = typeof optionValue // fast path for string / number values if (optionType === 'string' || optionType === 'number') { - option.selected = value.includes( - number ? looseToNumber(optionValue) : optionValue, - ) + option.selected = value.some(v => String(v) === String(optionValue)) } else { option.selected = looseIndexOf(value, optionValue) > -1 } From a653a8c12565e3bb05ae43d2ee145dcd51bb47d3 Mon Sep 17 00:00:00 2001 From: Wes Cook Date: Mon, 1 Apr 2024 01:20:01 -0700 Subject: [PATCH 17/55] chore: fix typo (#10621) --- packages/runtime-core/src/apiSetupHelpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-core/src/apiSetupHelpers.ts b/packages/runtime-core/src/apiSetupHelpers.ts index e5f79444d..0765a6ee8 100644 --- a/packages/runtime-core/src/apiSetupHelpers.ts +++ b/packages/runtime-core/src/apiSetupHelpers.ts @@ -233,7 +233,7 @@ export type DefineModelOptions = { * Otherwise the prop name will default to "modelValue". In both cases, you * can also pass an additional object which will be used as the prop's options. * - * The the returned ref behaves differently depending on whether the parent + * The returned ref behaves differently depending on whether the parent * provided the corresponding v-model props or not: * - If yes, the returned ref's value will always be in sync with the parent * prop. From 40dcc924c8bf4924817ff1c9471e6385c32cbc76 Mon Sep 17 00:00:00 2001 From: Tycho Date: Mon, 1 Apr 2024 21:23:09 +0800 Subject: [PATCH 18/55] chore: update VSCode debugging for vitest (#9573) --- .vscode/launch.json | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index b616400b4..9fc03aa9b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,24 +5,15 @@ "version": "0.2.0", "configurations": [ { - "name": "Jest", "type": "node", "request": "launch", - "program": "${workspaceFolder}/node_modules/.bin/jest", - "stopOnEntry": false, - "args": ["${fileBasename}", "--runInBand", "--detectOpenHandles"], - "cwd": "${workspaceFolder}", - "preLaunchTask": null, - "runtimeExecutable": null, - "runtimeArgs": ["--nolazy"], - "env": { - "NODE_ENV": "development" - }, - "console": "integratedTerminal", - "sourceMaps": true, - "windows": { - "program": "${workspaceFolder}/node_modules/jest/bin/jest" - } + "name": "Vitest - Debug Current Test File", + "autoAttachChildProcesses": true, + "skipFiles": ["/**", "**/node_modules/**"], + "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs", + "args": ["run", "${relativeFile}"], + "smartStep": true, + "console": "integratedTerminal" } ] } From 55f90790ee5c698dd05533e95a634df25ff349e5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:53:40 +0800 Subject: [PATCH 19/55] chore(deps): update lint (#10628) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +-- pnpm-lock.yaml | 102 ++++++++++++++++++++++++------------------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index 783b58816..66f836926 100644 --- a/package.json +++ b/package.json @@ -72,8 +72,8 @@ "@types/minimist": "^1.2.5", "@types/node": "^20.11.30", "@types/semver": "^7.5.8", - "@typescript-eslint/eslint-plugin": "^7.3.1", - "@typescript-eslint/parser": "^7.3.1", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", "@vitest/coverage-istanbul": "^1.4.0", "@vue/consolidate": "1.0.0", "conventional-changelog-cli": "^4.1.0", @@ -106,7 +106,7 @@ "rollup-plugin-polyfill-node": "^0.13.0", "semver": "^7.6.0", "serve": "^14.2.1", - "simple-git-hooks": "^2.11.0", + "simple-git-hooks": "^2.11.1", "terser": "^5.29.2", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ec5fd345..e82690e60 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,11 +48,11 @@ importers: specifier: ^7.5.8 version: 7.5.8 '@typescript-eslint/eslint-plugin': - specifier: ^7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.4.0 + version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.4.0 + version: 7.4.0(eslint@8.57.0)(typescript@5.2.2) '@vitest/coverage-istanbul': specifier: ^1.4.0 version: 1.4.0(vitest@1.4.0) @@ -79,10 +79,10 @@ importers: version: 2.1.0 eslint-plugin-import: specifier: npm:eslint-plugin-i@^2.29.1 - version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0) + version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0) eslint-plugin-jest: specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(typescript@5.2.2) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.2.2) estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -150,8 +150,8 @@ importers: specifier: ^14.2.1 version: 14.2.1 simple-git-hooks: - specifier: ^2.11.0 - version: 2.11.0 + specifier: ^2.11.1 + version: 2.11.1 terser: specifier: ^5.29.2 version: 5.29.2 @@ -1508,8 +1508,8 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} + /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1520,11 +1520,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 @@ -1537,8 +1537,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} + /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1547,10 +1547,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 eslint: 8.57.0 typescript: 5.2.2 @@ -1566,16 +1566,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@7.3.1: - resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} + /@typescript-eslint/scope-manager@7.4.0: + resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 dev: true - /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} + /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1584,8 +1584,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.2.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -1599,8 +1599,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@7.3.1: - resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} + /@typescript-eslint/types@7.4.0: + resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==} engines: {node: ^18.18.0 || >=20.0.0} dev: true @@ -1625,8 +1625,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.3.1(typescript@5.2.2): - resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} + /@typescript-eslint/typescript-estree@7.4.0(typescript@5.2.2): + resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1634,8 +1634,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1667,8 +1667,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} + /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1676,9 +1676,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -1694,11 +1694,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.3.1: - resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} + /@typescript-eslint/visitor-keys@7.4.0: + resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/types': 7.4.0 eslint-visitor-keys: 3.4.3 dev: true @@ -2829,7 +2829,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2850,7 +2850,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -2858,7 +2858,7 @@ packages: - supports-color dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -2868,7 +2868,7 @@ packages: doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -2880,7 +2880,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.3.1)(eslint@8.57.0)(typescript@5.2.2): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.2.2): resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2893,7 +2893,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.2.2) eslint: 8.57.0 transitivePeerDependencies: @@ -5140,8 +5140,8 @@ packages: engines: {node: '>=14'} dev: true - /simple-git-hooks@2.11.0: - resolution: {integrity: sha512-Wab2uzjGJEL8Kx+2UY8waUSfkiolt2RbaAJWvPCjaAEXrrKoS7JqPk4STiIVl/yt3asZRUzFoK2ryhwvgh5rYw==} + /simple-git-hooks@2.11.1: + resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} hasBin: true requiresBuild: true dev: true From dd4401da0916c8903222481cb150822793cec1e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:54:02 +0800 Subject: [PATCH 20/55] chore(deps): update dependency puppeteer to ~22.6.1 (#10625) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 66f836926..0e994e495 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "prettier": "^3.2.5", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", - "puppeteer": "~22.6.0", + "puppeteer": "~22.6.1", "rimraf": "^5.0.5", "rollup": "^4.13.0", "rollup-plugin-dts": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e82690e60..54396ca0b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,8 +126,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 puppeteer: - specifier: ~22.6.0 - version: 22.6.0(typescript@5.2.2) + specifier: ~22.6.1 + version: 22.6.1(typescript@5.2.2) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -2207,8 +2207,8 @@ packages: fsevents: 2.3.3 dev: true - /chromium-bidi@0.5.13(devtools-protocol@0.0.1262051): - resolution: {integrity: sha512-OHbYCetDxdW/xmlrafgOiLsIrw4Sp1BEeolbZ1UGJO5v/nekQOJBj/Kzyw6sqKcAVabUTo0GS3cTYgr6zIf00g==} + /chromium-bidi@0.5.14(devtools-protocol@0.0.1262051): + resolution: {integrity: sha512-zm4mX61/U4KXs+S/0WIBHpOWqtpW6FPv1i7n4UZqDDc5LOQ9/Y1MAnB95nO7i/lFFuijLjpe1XMdNcqDqwlH5w==} peerDependencies: devtools-protocol: '*' dependencies: @@ -4750,12 +4750,12 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@22.6.0: - resolution: {integrity: sha512-xclyGFhxHfZ9l62uXFm+JpgtJHLIZ1qHc7iR4eaIqBNKA5Dg2sDr8yvylfCx5bMN89QWIaxpV6IHsy0qUynK/g==} + /puppeteer-core@22.6.1: + resolution: {integrity: sha512-rShSd0xtyDSEJYys5nnzQnnwtrafQWg/lWCppyjZIIbYadWP8B1u0XJD/Oe+Xgw8v1hLHX0loNoA0ItRmNLnBg==} engines: {node: '>=18'} dependencies: '@puppeteer/browsers': 2.2.0 - chromium-bidi: 0.5.13(devtools-protocol@0.0.1262051) + chromium-bidi: 0.5.14(devtools-protocol@0.0.1262051) debug: 4.3.4 devtools-protocol: 0.0.1262051 ws: 8.16.0 @@ -4765,8 +4765,8 @@ packages: - utf-8-validate dev: true - /puppeteer@22.6.0(typescript@5.2.2): - resolution: {integrity: sha512-TYeza4rl1YXfxqUVw/0hWUWYX5cicnf6qu5kkDV+t7QrESCjMoSNnva4ZA/MRGQ03HnB9BOFw9nxs/SKek5KDA==} + /puppeteer@22.6.1(typescript@5.2.2): + resolution: {integrity: sha512-736QHNKtPD4tPeFbIn73E4l0CWsLzvRFlm0JsLG/VsyM8Eh0FRFNmMp+M3+GSMwdmYxqOVpTgzB6VQDxWxu8xQ==} engines: {node: '>=18'} hasBin: true requiresBuild: true @@ -4774,7 +4774,7 @@ packages: '@puppeteer/browsers': 2.2.0 cosmiconfig: 9.0.0(typescript@5.2.2) devtools-protocol: 0.0.1262051 - puppeteer-core: 22.6.0 + puppeteer-core: 22.6.1 transitivePeerDependencies: - bufferutil - supports-color From 413cd28ed1f841b3c0efc44aae57d97098e63a42 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:44:34 +0800 Subject: [PATCH 21/55] chore(deps): update build (#10624) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +- packages/sfc-playground/package.json | 2 +- .../src/download/template/package.json | 2 +- pnpm-lock.yaml | 236 ++++++++++-------- 4 files changed, 132 insertions(+), 114 deletions(-) diff --git a/package.json b/package.json index 0e994e495..30b54ff73 100644 --- a/package.json +++ b/package.json @@ -100,19 +100,19 @@ "pug": "^3.0.2", "puppeteer": "~22.6.1", "rimraf": "^5.0.5", - "rollup": "^4.13.0", + "rollup": "^4.13.2", "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0", "semver": "^7.6.0", "serve": "^14.2.1", "simple-git-hooks": "^2.11.1", - "terser": "^5.29.2", + "terser": "^5.30.1", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", "tsx": "^4.7.1", "typescript": "^5.2.2", - "vite": "^5.2.6", + "vite": "^5.2.7", "vitest": "^1.4.0" } } diff --git a/packages/sfc-playground/package.json b/packages/sfc-playground/package.json index 84c6c9005..22d6fd4bc 100644 --- a/packages/sfc-playground/package.json +++ b/packages/sfc-playground/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.2.6" + "vite": "^5.2.7" }, "dependencies": { "@vue/repl": "^4.1.1", diff --git a/packages/sfc-playground/src/download/template/package.json b/packages/sfc-playground/src/download/template/package.json index bea17e176..d3429db9c 100644 --- a/packages/sfc-playground/src/download/template/package.json +++ b/packages/sfc-playground/src/download/template/package.json @@ -12,6 +12,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.2.6" + "vite": "^5.2.7" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54396ca0b..8f819fe99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,25 +16,25 @@ importers: version: 7.24.0 '@codspeed/vitest-plugin': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.6)(vitest@1.4.0) + version: 3.1.0(vite@5.2.7)(vitest@1.4.0) '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.13.0) + version: 5.1.0(rollup@4.13.2) '@rollup/plugin-commonjs': specifier: ^25.0.7 - version: 25.0.7(rollup@4.13.0) + version: 25.0.7(rollup@4.13.2) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.13.0) + version: 6.1.0(rollup@4.13.2) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.13.0) + version: 15.2.3(rollup@4.13.2) '@rollup/plugin-replace': specifier: 5.0.4 - version: 5.0.4(rollup@4.13.0) + version: 5.0.4(rollup@4.13.2) '@rollup/plugin-terser': specifier: ^0.4.4 - version: 0.4.4(rollup@4.13.0) + version: 0.4.4(rollup@4.13.2) '@types/hash-sum': specifier: ^1.0.2 version: 1.0.2 @@ -132,17 +132,17 @@ importers: specifier: ^5.0.5 version: 5.0.5 rollup: - specifier: ^4.13.0 - version: 4.13.0 + specifier: ^4.13.2 + version: 4.13.2 rollup-plugin-dts: specifier: ^6.1.0 - version: 6.1.0(rollup@4.13.0)(typescript@5.2.2) + version: 6.1.0(rollup@4.13.2)(typescript@5.2.2) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.20.2)(rollup@4.13.0) + version: 6.1.1(esbuild@0.20.2)(rollup@4.13.2) rollup-plugin-polyfill-node: specifier: ^0.13.0 - version: 0.13.0(rollup@4.13.0) + version: 0.13.0(rollup@4.13.2) semver: specifier: ^7.6.0 version: 7.6.0 @@ -153,8 +153,8 @@ importers: specifier: ^2.11.1 version: 2.11.1 terser: - specifier: ^5.29.2 - version: 5.29.2 + specifier: ^5.30.1 + version: 5.30.1 todomvc-app-css: specifier: ^2.4.3 version: 2.4.3 @@ -168,11 +168,11 @@ importers: specifier: ^5.2.2 version: 5.2.2 vite: - specifier: ^5.2.6 - version: 5.2.6(@types/node@20.11.30)(terser@5.29.2) + specifier: ^5.2.7 + version: 5.2.7(@types/node@20.11.30)(terser@5.30.1) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) + version: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1) packages/compiler-core: dependencies: @@ -361,10 +361,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.6)(vue@packages+vue) + version: 5.0.4(vite@5.2.7)(vue@packages+vue) vite: - specifier: ^5.2.6 - version: 5.2.6(@types/node@20.11.30)(terser@5.29.2) + specifier: ^5.2.7 + version: 5.2.7(@types/node@20.11.30)(terser@5.30.1) packages/shared: {} @@ -628,15 +628,15 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.2.6)(vitest@1.4.0): + /@codspeed/vitest-plugin@3.1.0(vite@5.2.7)(vitest@1.4.0): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: vite: ^4.2.0 || ^5.0.0 vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) - vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) + vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) + vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1) transitivePeerDependencies: - debug dev: true @@ -1164,7 +1164,7 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.25 dev: true /@jridgewell/sourcemap-codec@1.4.15: @@ -1233,7 +1233,7 @@ packages: - supports-color dev: true - /@rollup/plugin-alias@5.1.0(rollup@4.13.0): + /@rollup/plugin-alias@5.1.0(rollup@4.13.2): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1242,11 +1242,11 @@ packages: rollup: optional: true dependencies: - rollup: 4.13.0 + rollup: 4.13.2 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.13.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.13.2): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1255,16 +1255,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.2 dev: true - /@rollup/plugin-inject@5.0.5(rollup@4.13.0): + /@rollup/plugin-inject@5.0.5(rollup@4.13.2): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1273,13 +1273,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.2 dev: true - /@rollup/plugin-json@6.1.0(rollup@4.13.0): + /@rollup/plugin-json@6.1.0(rollup@4.13.2): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1288,11 +1288,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) - rollup: 4.13.0 + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + rollup: 4.13.2 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.2): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1301,16 +1301,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.13.0 + rollup: 4.13.2 dev: true - /@rollup/plugin-replace@5.0.4(rollup@4.13.0): + /@rollup/plugin-replace@5.0.4(rollup@4.13.2): resolution: {integrity: sha512-E2hmRnlh09K8HGT0rOnnri9OTh+BILGr7NVJGB30S4E3cLRn3J0xjdiyOZ74adPs4NiAMgrjUMGAZNJDBgsdmQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1319,12 +1319,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.2 dev: true - /@rollup/plugin-terser@0.4.4(rollup@4.13.0): + /@rollup/plugin-terser@0.4.4(rollup@4.13.2): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1333,13 +1333,13 @@ packages: rollup: optional: true dependencies: - rollup: 4.13.0 + rollup: 4.13.2 serialize-javascript: 6.0.1 smob: 1.4.1 - terser: 5.29.2 + terser: 5.30.1 dev: true - /@rollup/pluginutils@5.1.0(rollup@4.13.0): + /@rollup/pluginutils@5.1.0(rollup@4.13.2): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1351,107 +1351,123 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.13.0 + rollup: 4.13.2 dev: true - /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + /@rollup/rollup-android-arm-eabi@4.13.2: + resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + /@rollup/rollup-android-arm64@4.13.2: + resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + /@rollup/rollup-darwin-arm64@4.13.2: + resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + /@rollup/rollup-darwin-x64@4.13.2: + resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.2: + resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + /@rollup/rollup-linux-arm64-gnu@4.13.2: + resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + /@rollup/rollup-linux-arm64-musl@4.13.2: + resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: + resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==} + cpu: [ppc64le] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.2: + resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + /@rollup/rollup-linux-s390x-gnu@4.13.2: + resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.2: + resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + /@rollup/rollup-linux-x64-musl@4.13.2: + resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + /@rollup/rollup-win32-arm64-msvc@4.13.2: + resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + /@rollup/rollup-win32-ia32-msvc@4.13.2: + resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + /@rollup/rollup-win32-x64-msvc@4.13.2: + resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==} cpu: [x64] os: [win32] requiresBuild: true @@ -1706,14 +1722,14 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@packages+vue): + /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@packages+vue): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) + vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) vue: link:packages/vue dev: true @@ -1731,7 +1747,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) + vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1) transitivePeerDependencies: - supports-color dev: true @@ -4944,7 +4960,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.2.2): + /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.2.2): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -4952,58 +4968,60 @@ packages: typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.2 typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.13.0): + /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.13.2): resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) debug: 4.3.4 es-module-lexer: 1.3.1 esbuild: 0.20.2 get-tsconfig: 4.7.2 - rollup: 4.13.0 + rollup: 4.13.2 transitivePeerDependencies: - supports-color dev: true - /rollup-plugin-polyfill-node@0.13.0(rollup@4.13.0): + /rollup-plugin-polyfill-node@0.13.0(rollup@4.13.2): resolution: {integrity: sha512-FYEvpCaD5jGtyBuBFcQImEGmTxDTPbiHjJdrYIp+mFIwgXiXabxvKUK7ZT9P31ozu2Tqm9llYQMRWsfvTMTAOw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.13.0) - rollup: 4.13.0 + '@rollup/plugin-inject': 5.0.5(rollup@4.13.2) + rollup: 4.13.2 dev: true - /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + /rollup@4.13.2: + resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.0 - '@rollup/rollup-android-arm64': 4.13.0 - '@rollup/rollup-darwin-arm64': 4.13.0 - '@rollup/rollup-darwin-x64': 4.13.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 - '@rollup/rollup-linux-arm64-musl': 4.13.0 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-musl': 4.13.0 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 - '@rollup/rollup-win32-x64-msvc': 4.13.0 + '@rollup/rollup-android-arm-eabi': 4.13.2 + '@rollup/rollup-android-arm64': 4.13.2 + '@rollup/rollup-darwin-arm64': 4.13.2 + '@rollup/rollup-darwin-x64': 4.13.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.2 + '@rollup/rollup-linux-arm64-gnu': 4.13.2 + '@rollup/rollup-linux-arm64-musl': 4.13.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2 + '@rollup/rollup-linux-riscv64-gnu': 4.13.2 + '@rollup/rollup-linux-s390x-gnu': 4.13.2 + '@rollup/rollup-linux-x64-gnu': 4.13.2 + '@rollup/rollup-linux-x64-musl': 4.13.2 + '@rollup/rollup-win32-arm64-msvc': 4.13.2 + '@rollup/rollup-win32-ia32-msvc': 4.13.2 + '@rollup/rollup-win32-x64-msvc': 4.13.2 fsevents: 2.3.3 dev: true @@ -5394,8 +5412,8 @@ packages: temp-dir: 3.0.0 dev: true - /terser@5.29.2: - resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} + /terser@5.30.1: + resolution: {integrity: sha512-PJhOnRttZqqmIujxOQOMu4QuFGvh43lR7Youln3k6OJvmxwZ5FxK5rbCEh8XABRCpLf7ZnhrZuclCNCASsScnA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5636,7 +5654,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.4.0(@types/node@20.11.30)(terser@5.29.2): + /vite-node@1.4.0(@types/node@20.11.30)(terser@5.30.1): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5645,7 +5663,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) + vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) transitivePeerDependencies: - '@types/node' - less @@ -5657,8 +5675,8 @@ packages: - terser dev: true - /vite@5.2.6(@types/node@20.11.30)(terser@5.29.2): - resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} + /vite@5.2.7(@types/node@20.11.30)(terser@5.30.1): + resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5688,13 +5706,13 @@ packages: '@types/node': 20.11.30 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.0 - terser: 5.29.2 + rollup: 4.13.2 + terser: 5.30.1 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2): + /vitest@1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5738,8 +5756,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.6(@types/node@20.11.30)(terser@5.29.2) - vite-node: 1.4.0(@types/node@20.11.30)(terser@5.29.2) + vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) + vite-node: 1.4.0(@types/node@20.11.30)(terser@5.30.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 5aaa758867fb0421c6d826cb591782fac31bdd75 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:51:05 +0800 Subject: [PATCH 22/55] chore(deps): update all non-major dependencies (#10627) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/compiler-sfc/package.json | 2 +- pnpm-lock.yaml | 55 +++++++++++++++++------------- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 30b54ff73..bd003734b 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.11.30", + "@types/node": "^20.12.2", "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 621bdbb82..00642a494 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -58,7 +58,7 @@ "hash-sum": "^2.0.0", "lru-cache": "10.1.0", "merge-source-map": "^1.1.0", - "minimatch": "^9.0.3", + "minimatch": "^9.0.4", "postcss-modules": "^6.0.0", "postcss-selector-parser": "^6.0.16", "pug": "^3.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f819fe99..7ae208292 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.11.30 - version: 20.11.30 + specifier: ^20.12.2 + version: 20.12.2 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -169,10 +169,10 @@ importers: version: 5.2.2 vite: specifier: ^5.2.7 - version: 5.2.7(@types/node@20.11.30)(terser@5.30.1) + version: 5.2.7(@types/node@20.12.2)(terser@5.30.1) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1) + version: 1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1) packages/compiler-core: dependencies: @@ -251,8 +251,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 minimatch: - specifier: ^9.0.3 - version: 9.0.3 + specifier: ^9.0.4 + version: 9.0.4 postcss-modules: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.38) @@ -364,7 +364,7 @@ importers: version: 5.0.4(vite@5.2.7)(vue@packages+vue) vite: specifier: ^5.2.7 - version: 5.2.7(@types/node@20.11.30)(terser@5.30.1) + version: 5.2.7(@types/node@20.12.2)(terser@5.30.1) packages/shared: {} @@ -635,8 +635,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) - vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) + vitest: 1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1) transitivePeerDependencies: - debug dev: true @@ -1498,8 +1498,8 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.11.30: - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + /@types/node@20.12.2: + resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} dependencies: undici-types: 5.26.5 dev: true @@ -1520,7 +1520,7 @@ packages: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 dev: true optional: true @@ -1729,7 +1729,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) vue: link:packages/vue dev: true @@ -1747,7 +1747,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1) + vitest: 1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1) transitivePeerDependencies: - supports-color dev: true @@ -3339,7 +3339,7 @@ packages: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 7.0.4 path-scurry: 1.10.1 dev: true @@ -4176,6 +4176,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true @@ -4270,7 +4277,7 @@ packages: ansi-styles: 6.2.1 cross-spawn: 7.0.3 memorystream: 0.3.1 - minimatch: 9.0.3 + minimatch: 9.0.4 pidtree: 0.6.0 read-package-json-fast: 3.0.2 shell-quote: 1.8.1 @@ -5654,7 +5661,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.4.0(@types/node@20.11.30)(terser@5.30.1): + /vite-node@1.4.0(@types/node@20.12.2)(terser@5.30.1): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5663,7 +5670,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) transitivePeerDependencies: - '@types/node' - less @@ -5675,7 +5682,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.11.30)(terser@5.30.1): + /vite@5.2.7(@types/node@20.12.2)(terser@5.30.1): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5703,7 +5710,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -5712,7 +5719,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.30.1): + /vitest@1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5737,7 +5744,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -5756,8 +5763,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.11.30)(terser@5.30.1) - vite-node: 1.4.0(@types/node@20.11.30)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) + vite-node: 1.4.0(@types/node@20.12.2)(terser@5.30.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 0dea7f9a260d93eb6c39aabac8c94c2c9b2042dd Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Tue, 2 Apr 2024 14:06:52 +0530 Subject: [PATCH 23/55] fix(runtime-core): show hydration mismatch details for non-rectified mismatches too when __PROD_HYDRATION_MISMATCH_DETAILS__ is set (#10599) --- .gitignore | 1 + packages/runtime-core/src/hydration.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 810f88526..9dd21f59b 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ TODOs.md .eslintcache dts-build/packages *.tsbuildinfo +*.tgz diff --git a/packages/runtime-core/src/hydration.ts b/packages/runtime-core/src/hydration.ts index de02ae46d..846957760 100644 --- a/packages/runtime-core/src/hydration.ts +++ b/packages/runtime-core/src/hydration.ts @@ -443,6 +443,7 @@ export function createHydrationFunctions( if (props) { if ( __DEV__ || + __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (PatchFlags.FULL_PROPS | PatchFlags.NEED_HYDRATION) @@ -450,7 +451,7 @@ export function createHydrationFunctions( for (const key in props) { // check hydration mismatch if ( - __DEV__ && + (__DEV__ || __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__) && propHasMismatch(el, key, props[key], vnode, parentComponent) ) { hasMismatch = true From d4b767a1a5df8dd64003b0b4b546f76352ea61e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:16:33 +0800 Subject: [PATCH 24/55] chore(deps): update all non-major dependencies (#10658) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 ++-- packages/compiler-sfc/package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++--------------- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index bd003734b..d90461a93 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "version": "3.4.21", - "packageManager": "pnpm@8.15.5", + "packageManager": "pnpm@8.15.6", "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -70,7 +70,7 @@ "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.12.2", + "@types/node": "^20.12.5", "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", @@ -110,7 +110,7 @@ "terser": "^5.30.1", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", - "tsx": "^4.7.1", + "tsx": "^4.7.2", "typescript": "^5.2.2", "vite": "^5.2.7", "vitest": "^1.4.0" diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 00642a494..d1c7b5419 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -62,6 +62,6 @@ "postcss-modules": "^6.0.0", "postcss-selector-parser": "^6.0.16", "pug": "^3.0.2", - "sass": "^1.72.0" + "sass": "^1.74.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ae208292..a03589411 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.12.2 - version: 20.12.2 + specifier: ^20.12.5 + version: 20.12.5 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -162,17 +162,17 @@ importers: specifier: ^2.6.2 version: 2.6.2 tsx: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.7.2 + version: 4.7.2 typescript: specifier: ^5.2.2 version: 5.2.2 vite: specifier: ^5.2.7 - version: 5.2.7(@types/node@20.12.2)(terser@5.30.1) + version: 5.2.7(@types/node@20.12.5)(terser@5.30.1) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1) + version: 1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(terser@5.30.1) packages/compiler-core: dependencies: @@ -263,8 +263,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 sass: - specifier: ^1.72.0 - version: 1.72.0 + specifier: ^1.74.1 + version: 1.74.1 packages/compiler-ssr: dependencies: @@ -364,7 +364,7 @@ importers: version: 5.0.4(vite@5.2.7)(vue@packages+vue) vite: specifier: ^5.2.7 - version: 5.2.7(@types/node@20.12.2)(terser@5.30.1) + version: 5.2.7(@types/node@20.12.5)(terser@5.30.1) packages/shared: {} @@ -635,8 +635,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) - vitest: 1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.5)(terser@5.30.1) + vitest: 1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(terser@5.30.1) transitivePeerDependencies: - debug dev: true @@ -1498,8 +1498,8 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.12.2: - resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} + /@types/node@20.12.5: + resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} dependencies: undici-types: 5.26.5 dev: true @@ -1520,7 +1520,7 @@ packages: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.5 dev: true optional: true @@ -1729,7 +1729,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.5)(terser@5.30.1) vue: link:packages/vue dev: true @@ -1747,7 +1747,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1) + vitest: 1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(terser@5.30.1) transitivePeerDependencies: - supports-color dev: true @@ -5053,8 +5053,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass@1.72.0: - resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} + /sass@1.74.1: + resolution: {integrity: sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -5530,8 +5530,8 @@ packages: typescript: 5.2.2 dev: true - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + /tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -5661,7 +5661,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.4.0(@types/node@20.12.2)(terser@5.30.1): + /vite-node@1.4.0(@types/node@20.12.5)(terser@5.30.1): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5670,7 +5670,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.5)(terser@5.30.1) transitivePeerDependencies: - '@types/node' - less @@ -5682,7 +5682,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.2)(terser@5.30.1): + /vite@5.2.7(@types/node@20.12.5)(terser@5.30.1): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5710,7 +5710,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.5 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -5719,7 +5719,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.2)(jsdom@24.0.0)(terser@5.30.1): + /vitest@1.4.0(@types/node@20.12.5)(jsdom@24.0.0)(terser@5.30.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5744,7 +5744,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.5 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -5763,8 +5763,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.12.2)(terser@5.30.1) - vite-node: 1.4.0(@types/node@20.12.2)(terser@5.30.1) + vite: 5.2.7(@types/node@20.12.5)(terser@5.30.1) + vite-node: 1.4.0(@types/node@20.12.5)(terser@5.30.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From c51be5c24de1e960615503f55ad4be8d07b36801 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:16:53 +0800 Subject: [PATCH 25/55] chore(deps): update dependency puppeteer to ~22.6.3 (#10659) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index d90461a93..b0faeff0a 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "prettier": "^3.2.5", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", - "puppeteer": "~22.6.1", + "puppeteer": "~22.6.3", "rimraf": "^5.0.5", "rollup": "^4.13.2", "rollup-plugin-dts": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a03589411..5dfee373f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,8 +126,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 puppeteer: - specifier: ~22.6.1 - version: 22.6.1(typescript@5.2.2) + specifier: ~22.6.3 + version: 22.6.3(typescript@5.2.2) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -1216,8 +1216,8 @@ packages: dev: true optional: true - /@puppeteer/browsers@2.2.0: - resolution: {integrity: sha512-MC7LxpcBtdfTbzwARXIkqGZ1Osn3nnZJlm+i0+VqHl72t//Xwl9wICrXT8BwtgC6s1xJNHsxOpvzISUqe92+sw==} + /@puppeteer/browsers@2.2.1: + resolution: {integrity: sha512-QSXujx4d4ogDamQA8ckkkRieFzDgZEuZuGiey9G7CuDcbnX4iINKWxTPC5Br2AEzY9ICAvcndqgAUFMMKnS/Tw==} engines: {node: '>=18'} hasBin: true dependencies: @@ -2223,8 +2223,8 @@ packages: fsevents: 2.3.3 dev: true - /chromium-bidi@0.5.14(devtools-protocol@0.0.1262051): - resolution: {integrity: sha512-zm4mX61/U4KXs+S/0WIBHpOWqtpW6FPv1i7n4UZqDDc5LOQ9/Y1MAnB95nO7i/lFFuijLjpe1XMdNcqDqwlH5w==} + /chromium-bidi@0.5.16(devtools-protocol@0.0.1262051): + resolution: {integrity: sha512-IT5lnR44h/qZQ4GaCHvBxYIl4cQL2i9UvFyYeRyVdcpY04hx5H720HQfe/7Oz7ndxaYVLQFGpCO71J4X2Ye/Gw==} peerDependencies: devtools-protocol: '*' dependencies: @@ -4773,12 +4773,12 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@22.6.1: - resolution: {integrity: sha512-rShSd0xtyDSEJYys5nnzQnnwtrafQWg/lWCppyjZIIbYadWP8B1u0XJD/Oe+Xgw8v1hLHX0loNoA0ItRmNLnBg==} + /puppeteer-core@22.6.3: + resolution: {integrity: sha512-YrTAak5zCTWVTnVaCK1b7FD1qFCCT9bSvQhLzamnIsJ57/tfuXiT8ZvPJR2SBfahyFTYFCcaZAd/Npow3lmDGA==} engines: {node: '>=18'} dependencies: - '@puppeteer/browsers': 2.2.0 - chromium-bidi: 0.5.14(devtools-protocol@0.0.1262051) + '@puppeteer/browsers': 2.2.1 + chromium-bidi: 0.5.16(devtools-protocol@0.0.1262051) debug: 4.3.4 devtools-protocol: 0.0.1262051 ws: 8.16.0 @@ -4788,16 +4788,16 @@ packages: - utf-8-validate dev: true - /puppeteer@22.6.1(typescript@5.2.2): - resolution: {integrity: sha512-736QHNKtPD4tPeFbIn73E4l0CWsLzvRFlm0JsLG/VsyM8Eh0FRFNmMp+M3+GSMwdmYxqOVpTgzB6VQDxWxu8xQ==} + /puppeteer@22.6.3(typescript@5.2.2): + resolution: {integrity: sha512-KZOnthMbvr4+7cPKFeeOCJPe8DzOKGC0GbMXmZKOP/YusXQ6sqxA0vt6frstZq3rUJ277qXHlZNFf01VVwdHKw==} engines: {node: '>=18'} hasBin: true requiresBuild: true dependencies: - '@puppeteer/browsers': 2.2.0 + '@puppeteer/browsers': 2.2.1 cosmiconfig: 9.0.0(typescript@5.2.2) devtools-protocol: 0.0.1262051 - puppeteer-core: 22.6.1 + puppeteer-core: 22.6.3 transitivePeerDependencies: - bufferutil - supports-color From 34106bc9c715247211273bb9c64712f04bd4879d Mon Sep 17 00:00:00 2001 From: liudaodanOo <75828211+liudaodanOo@users.noreply.github.com> Date: Tue, 9 Apr 2024 16:14:11 +0800 Subject: [PATCH 26/55] fix(compiler-sfc): also search for `.tsx` when type import's extension is omitted (#10637) Co-authored-by: liuxiaofei Closes #10635 --- .../compileScript/resolveType.spec.ts | 21 +++++++++++++++++++ .../compiler-sfc/src/script/resolveType.ts | 2 ++ 2 files changed, 23 insertions(+) diff --git a/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts b/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts index 0c5c95cd1..f3be58a30 100644 --- a/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts @@ -561,6 +561,27 @@ describe('resolveType', () => { expect(deps && [...deps]).toStrictEqual(Object.keys(files)) }) + // #10635 + test('relative tsx', () => { + const files = { + '/foo.tsx': 'export type P = { foo: number }', + '/bar/index.tsx': 'export type PP = { bar: string }', + } + const { props, deps } = resolve( + ` + import { P } from './foo' + import { PP } from './bar' + defineProps

() + `, + files, + ) + expect(props).toStrictEqual({ + foo: ['Number'], + bar: ['String'], + }) + expect(deps && [...deps]).toStrictEqual(Object.keys(files)) + }) + test.runIf(process.platform === 'win32')('relative ts on Windows', () => { const files = { 'C:\\Test\\FolderA\\foo.ts': 'export type P = { foo: number }', diff --git a/packages/compiler-sfc/src/script/resolveType.ts b/packages/compiler-sfc/src/script/resolveType.ts index 968c168dd..f6e291791 100644 --- a/packages/compiler-sfc/src/script/resolveType.ts +++ b/packages/compiler-sfc/src/script/resolveType.ts @@ -956,8 +956,10 @@ function resolveExt(filename: string, fs: FS) { return ( tryResolve(filename) || tryResolve(filename + `.ts`) || + tryResolve(filename + `.tsx`) || tryResolve(filename + `.d.ts`) || tryResolve(joinPaths(filename, `index.ts`)) || + tryResolve(joinPaths(filename, `index.tsx`)) || tryResolve(joinPaths(filename, `index.d.ts`)) ) } From 4bc9f39f028af7313e5cf24c16915a1985d27bf8 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 12 Apr 2024 11:49:31 +0800 Subject: [PATCH 27/55] perf(ssr): avoid calling markRaw on component instance proxy The previous behavior invokes the definePropery proxy trap on the instance proxy and has massive overhead. This change improves Vue ops/sec by 40% in https://github.com/eknkc/ssr-benchmark --- packages/runtime-core/src/component.ts | 3 +-- packages/runtime-core/src/componentPublicInstance.ts | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index 2ad0a66f1..4cabdad0d 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -775,8 +775,7 @@ function setupStatefulComponent( // 0. create render proxy property access cache instance.accessCache = Object.create(null) // 1. create public instance / render proxy - // also mark it raw so it's never observed - instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers)) + instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers) if (__DEV__) { exposePropsOnRenderContext(instance) } diff --git a/packages/runtime-core/src/componentPublicInstance.ts b/packages/runtime-core/src/componentPublicInstance.ts index 5b2b4f230..a1b45e4f9 100644 --- a/packages/runtime-core/src/componentPublicInstance.ts +++ b/packages/runtime-core/src/componentPublicInstance.ts @@ -23,6 +23,7 @@ import { isString, } from '@vue/shared' import { + ReactiveFlags, type ShallowUnwrapRef, TrackOpTypes, type UnwrapNestedRefs, @@ -307,6 +308,10 @@ const hasSetupBinding = (state: Data, key: string) => export const PublicInstanceProxyHandlers: ProxyHandler = { get({ _: instance }: ComponentRenderContext, key: string) { + if (key === ReactiveFlags.SKIP) { + return true + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance From 6af733d68eb400a3d2c5ef5f465fff32b72a324e Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 12 Apr 2024 14:41:03 +0800 Subject: [PATCH 28/55] perf: optimize component props/slots internal object checks --- packages/runtime-core/src/componentProps.ts | 12 ++++++++---- packages/runtime-core/src/componentSlots.ts | 4 +--- packages/runtime-core/src/vnode.ts | 7 +++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index 2d91affe0..c0cef2f09 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -12,7 +12,6 @@ import { PatchFlags, camelize, capitalize, - def, extend, hasOwn, hyphenate, @@ -34,7 +33,6 @@ import { setCurrentInstance, } from './component' import { isEmitListener } from './componentEmits' -import { InternalObjectKey } from './vnode' import type { AppContext } from './apiCreateApp' import { createPropsDefaultThis } from './compat/props' import { isCompatEnabled, softAssertCompatEnabled } from './compat/compatConfig' @@ -187,6 +185,13 @@ type NormalizedProp = export type NormalizedProps = Record export type NormalizedPropsOptions = [NormalizedProps, string[]] | [] +/** + * Used during vnode props normalization to check if the vnode props is the + * attrs object of a component via `Object.getPrototypeOf`. This is more + * performant than defining a non-enumerable property. + */ +export const attrsProto = {} + export function initProps( instance: ComponentInternalInstance, rawProps: Data | null, @@ -194,8 +199,7 @@ export function initProps( isSSR = false, ) { const props: Data = {} - const attrs: Data = {} - def(attrs, InternalObjectKey, 1) + const attrs: Data = Object.create(attrsProto) instance.propsDefaults = Object.create(null) diff --git a/packages/runtime-core/src/componentSlots.ts b/packages/runtime-core/src/componentSlots.ts index 61e1ecc07..e0f051b39 100644 --- a/packages/runtime-core/src/componentSlots.ts +++ b/packages/runtime-core/src/componentSlots.ts @@ -1,6 +1,5 @@ import { type ComponentInternalInstance, currentInstance } from './component' import { - InternalObjectKey, type VNode, type VNodeChild, type VNodeNormalizedChildren, @@ -174,7 +173,7 @@ export const initSlots = ( // we should avoid the proxy object polluting the slots of the internal instance instance.slots = toRaw(children as InternalSlots) // make compiler marker non-enumerable - def(children as InternalSlots, '_', type) + def(instance.slots, '_', type) } else { normalizeObjectSlots( children as RawSlots, @@ -188,7 +187,6 @@ export const initSlots = ( normalizeVNodeSlots(instance, children) } } - def(instance.slots, InternalObjectKey, 1) } export const updateSlots = ( diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts index daa9413d2..28b60be78 100644 --- a/packages/runtime-core/src/vnode.ts +++ b/packages/runtime-core/src/vnode.ts @@ -55,6 +55,7 @@ import { convertLegacyVModelProps } from './compat/componentVModel' import { defineLegacyVNodeProperties } from './compat/renderFn' import { ErrorCodes, callWithAsyncErrorHandling } from './errorHandling' import type { ComponentPublicInstance } from './componentPublicInstance' +import { attrsProto } from './componentProps' export const Fragment = Symbol.for('v-fgt') as any as { __isFragment: true @@ -404,8 +405,6 @@ const createVNodeWithArgsTransform = ( ) } -export const InternalObjectKey = `__vInternal` - const normalizeKey = ({ key }: VNodeProps): VNode['key'] => key != null ? key : null @@ -618,7 +617,7 @@ function _createVNode( export function guardReactiveProps(props: (Data & VNodeProps) | null) { if (!props) return null - return isProxy(props) || InternalObjectKey in props + return isProxy(props) || Object.getPrototypeOf(props) === attrsProto ? extend({}, props) : props } @@ -792,7 +791,7 @@ export function normalizeChildren(vnode: VNode, children: unknown) { } else { type = ShapeFlags.SLOTS_CHILDREN const slotFlag = (children as RawSlots)._ - if (!slotFlag && !(InternalObjectKey in children!)) { + if (!slotFlag) { // if slots are not normalized, attach context instance // (compiled / normalized slots already have context) ;(children as RawSlots)._ctx = currentRenderingInstance From ca84316bfb3410efe21333670a6ad5cd21857396 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 12 Apr 2024 16:02:52 +0800 Subject: [PATCH 29/55] perf(ssr): optimize setup context creation for ssr in v8 --- packages/runtime-core/src/component.ts | 62 ++++++++++----------- packages/runtime-core/src/componentProps.ts | 2 +- 2 files changed, 29 insertions(+), 35 deletions(-) diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index 4cabdad0d..a551529e6 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -1004,36 +1004,28 @@ export function finishComponentSetup( } } -function getAttrsProxy(instance: ComponentInternalInstance): Data { - return ( - instance.attrsProxy || - (instance.attrsProxy = new Proxy( - instance.attrs, - __DEV__ - ? { - get(target, key: string) { - markAttrsAccessed() - track(instance, TrackOpTypes.GET, '$attrs') - return target[key] - }, - set() { - warn(`setupContext.attrs is readonly.`) - return false - }, - deleteProperty() { - warn(`setupContext.attrs is readonly.`) - return false - }, - } - : { - get(target, key: string) { - track(instance, TrackOpTypes.GET, '$attrs') - return target[key] - }, - }, - )) - ) -} +const attrsProxyHandlers = __DEV__ + ? { + get(target: Data, key: string) { + markAttrsAccessed() + track(target, TrackOpTypes.GET, '') + return target[key] + }, + set() { + warn(`setupContext.attrs is readonly.`) + return false + }, + deleteProperty() { + warn(`setupContext.attrs is readonly.`) + return false + }, + } + : { + get(target: Data, key: string) { + track(target, TrackOpTypes.GET, '') + return target[key] + }, + } /** * Dev-only @@ -1080,9 +1072,13 @@ export function createSetupContext( if (__DEV__) { // We use getters in dev in case libs like test-utils overwrite instance // properties (overwrites should not be done in prod) + let attrsProxy: Data return Object.freeze({ get attrs() { - return getAttrsProxy(instance) + return ( + attrsProxy || + (attrsProxy = new Proxy(instance.attrs, attrsProxyHandlers)) + ) }, get slots() { return getSlotsProxy(instance) @@ -1094,9 +1090,7 @@ export function createSetupContext( }) } else { return { - get attrs() { - return getAttrsProxy(instance) - }, + attrs: new Proxy(instance.attrs, attrsProxyHandlers), slots: instance.slots, emit: instance.emit, expose, diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index c0cef2f09..1c8730418 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -365,7 +365,7 @@ export function updateProps( // trigger updates for $attrs in case it's used in component slots if (hasAttrsChanged) { - trigger(instance, TriggerOpTypes.SET, '$attrs') + trigger(instance.attrs, TriggerOpTypes.SET, '') } if (__DEV__) { From c3c5dc93fbccc196771458f0b43cd5b7ad1863f4 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sun, 14 Apr 2024 22:46:48 +0800 Subject: [PATCH 30/55] fix(reactivity): fix tracking when hasOwnProperty is called with non-string value close #10455 close #10464 --- .../reactivity/__tests__/reactiveArray.spec.ts | 15 +++++++++++++++ packages/reactivity/src/baseHandlers.ts | 6 ++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/reactivity/__tests__/reactiveArray.spec.ts b/packages/reactivity/__tests__/reactiveArray.spec.ts index 1c6fcefd5..d405608f8 100644 --- a/packages/reactivity/__tests__/reactiveArray.spec.ts +++ b/packages/reactivity/__tests__/reactiveArray.spec.ts @@ -99,6 +99,21 @@ describe('reactivity/reactive/Array', () => { expect(fn).toHaveBeenCalledTimes(1) }) + test("should reactive when mutate array's index", () => { + const original = [1, 2, 3] + const observed = reactive(original) + + let dummy + effect(() => { + dummy = observed.hasOwnProperty(0) + }) + + expect(dummy).toBe(true) + + delete observed[0] + expect(dummy).toBe(false) + }) + test('shift on Array should trigger dependency once', () => { const arr = reactive([1, 2, 3]) const fn = vi.fn() diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts index 7cee7aa9b..36707aa91 100644 --- a/packages/reactivity/src/baseHandlers.ts +++ b/packages/reactivity/src/baseHandlers.ts @@ -80,10 +80,12 @@ function createArrayInstrumentations() { return instrumentations } -function hasOwnProperty(this: object, key: string) { +function hasOwnProperty(this: object, key: unknown) { + // #10455 hasOwnProperty may be called with non-string values + key = '' + key const obj = toRaw(this) track(obj, TrackOpTypes.HAS, key) - return obj.hasOwnProperty(key) + return obj.hasOwnProperty(key as string) } class BaseReactiveHandler implements ProxyHandler { From c4684d3161505d15c585a5dd0f095cdd527d45b5 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sun, 14 Apr 2024 22:49:16 +0800 Subject: [PATCH 31/55] chore: amend test case name [ci skip] --- packages/reactivity/__tests__/reactiveArray.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reactivity/__tests__/reactiveArray.spec.ts b/packages/reactivity/__tests__/reactiveArray.spec.ts index d405608f8..e32b5deeb 100644 --- a/packages/reactivity/__tests__/reactiveArray.spec.ts +++ b/packages/reactivity/__tests__/reactiveArray.spec.ts @@ -99,7 +99,7 @@ describe('reactivity/reactive/Array', () => { expect(fn).toHaveBeenCalledTimes(1) }) - test("should reactive when mutate array's index", () => { + test('should track hasOwnProperty call with index', () => { const original = [1, 2, 3] const observed = reactive(original) From 140a7681cc3bba22f55d97fd85a5eafe97a1230f Mon Sep 17 00:00:00 2001 From: edison Date: Sun, 14 Apr 2024 23:16:01 +0800 Subject: [PATCH 32/55] fix(TransitionGroup): avoid set transition hooks for comment nodes and text nodes (#9421) close #4621 close #4622 close #5153 close #5168 close #7898 close #9067 --- .../src/components/TransitionGroup.ts | 35 +++-- .../vue/__tests__/e2e/TransitionGroup.spec.ts | 122 ++++++++++++++++++ 2 files changed, 145 insertions(+), 12 deletions(-) diff --git a/packages/runtime-dom/src/components/TransitionGroup.ts b/packages/runtime-dom/src/components/TransitionGroup.ts index f98e82b27..763b7a98b 100644 --- a/packages/runtime-dom/src/components/TransitionGroup.ts +++ b/packages/runtime-dom/src/components/TransitionGroup.ts @@ -112,7 +112,29 @@ const TransitionGroupImpl: ComponentOptions = { tag = 'span' } - prevChildren = children + prevChildren = [] + if (children) { + for (let i = 0; i < children.length; i++) { + const child = children[i] + if (child.el && child.el instanceof Element) { + prevChildren.push(child) + setTransitionHooks( + child, + resolveTransitionHooks( + child, + cssTransitionProps, + state, + instance, + ), + ) + positionMap.set( + child, + (child.el as Element).getBoundingClientRect(), + ) + } + } + } + children = slots.default ? getTransitionRawChildren(slots.default()) : [] for (let i = 0; i < children.length; i++) { @@ -127,17 +149,6 @@ const TransitionGroupImpl: ComponentOptions = { } } - if (prevChildren) { - for (let i = 0; i < prevChildren.length; i++) { - const child = prevChildren[i] - setTransitionHooks( - child, - resolveTransitionHooks(child, cssTransitionProps, state, instance), - ) - positionMap.set(child, (child.el as Element).getBoundingClientRect()) - } - } - return createVNode(tag, null, children) } }, diff --git a/packages/vue/__tests__/e2e/TransitionGroup.spec.ts b/packages/vue/__tests__/e2e/TransitionGroup.spec.ts index febc9d3c2..da3f4a42d 100644 --- a/packages/vue/__tests__/e2e/TransitionGroup.spec.ts +++ b/packages/vue/__tests__/e2e/TransitionGroup.spec.ts @@ -508,4 +508,126 @@ describe('e2e: TransitionGroup', () => { expect(` children must be keyed`).toHaveBeenWarned() }) + + // #5168, #7898, #9067 + test( + 'avoid set transition hooks for comment node', + async () => { + await page().evaluate(duration => { + const { createApp, ref, h, createCommentVNode } = (window as any).Vue + + const show = ref(false) + createApp({ + template: ` +

+ +
{{item}}
+ +
+
+ + `, + components: { + Child: { + setup() { + return () => + show.value + ? h('div', { class: 'test' }, 'child') + : createCommentVNode('v-if', true) + }, + }, + }, + setup: () => { + const items = ref([]) + const click = () => { + items.value = ['a', 'b', 'c'] + setTimeout(() => { + show.value = true + }, duration) + } + return { click, items } + }, + }).mount('#app') + }, duration) + + expect(await html('#container')).toBe(``) + + expect(await htmlWhenTransitionStart()).toBe( + `
a
` + + `
b
` + + `
c
` + + ``, + ) + + await transitionFinish(duration) + await nextFrame() + expect(await html('#container')).toBe( + `
a
` + + `
b
` + + `
c
` + + `
child
`, + ) + + await transitionFinish(duration) + expect(await html('#container')).toBe( + `
a
` + + `
b
` + + `
c
` + + `
child
`, + ) + }, + E2E_TIMEOUT, + ) + + // #4621, #4622, #5153 + test( + 'avoid set transition hooks for text node', + async () => { + await page().evaluate(() => { + const { createApp, ref } = (window as any).Vue + const app = createApp({ + template: ` +
+ +
foo
+
bar
+
+
+ + `, + setup: () => { + const show = ref(false) + const click = () => { + show.value = true + } + return { show, click } + }, + }) + + app.config.compilerOptions.whitespace = 'preserve' + app.mount('#app') + }) + + expect(await html('#container')).toBe(`
foo
` + ` `) + + expect(await htmlWhenTransitionStart()).toBe( + `
foo
` + + ` ` + + `
bar
`, + ) + + await nextFrame() + expect(await html('#container')).toBe( + `
foo
` + + ` ` + + `
bar
`, + ) + + await transitionFinish(duration) + expect(await html('#container')).toBe( + `
foo
` + ` ` + `
bar
`, + ) + }, + E2E_TIMEOUT, + ) }) From f709238c30e49bd7589c04d371b3038bd56c7757 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 15 Apr 2024 11:35:05 +0800 Subject: [PATCH 33/55] chore: use correct parse in parser tests for whitespace: condense --- packages/compiler-core/__tests__/parse.spec.ts | 8 ++++---- packages/compiler-core/src/options.ts | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/compiler-core/__tests__/parse.spec.ts b/packages/compiler-core/__tests__/parse.spec.ts index d5bdb4bc5..882133a53 100644 --- a/packages/compiler-core/__tests__/parse.spec.ts +++ b/packages/compiler-core/__tests__/parse.spec.ts @@ -2166,7 +2166,7 @@ describe('compiler: parse', () => { }) test('should remove leading newline character immediately following the pre element start tag', () => { - const ast = baseParse(`
\n  foo  bar  
`, { + const ast = parse(`
\n  foo  bar  
`, { isPreTag: tag => tag === 'pre', }) expect(ast.children).toHaveLength(1) @@ -2176,7 +2176,7 @@ describe('compiler: parse', () => { }) test('should NOT remove leading newline character immediately following child-tag of pre element', () => { - const ast = baseParse(`
\n  foo  bar  
`, { + const ast = parse(`
\n  foo  bar  
`, { isPreTag: tag => tag === 'pre', }) const preElement = ast.children[0] as ElementNode @@ -2187,7 +2187,7 @@ describe('compiler: parse', () => { }) test('self-closing pre tag', () => { - const ast = baseParse(`
\n  foo   bar`, {
+      const ast = parse(`
\n  foo   bar`, {
         isPreTag: tag => tag === 'pre',
       })
       const elementAfterPre = ast.children[1] as ElementNode
@@ -2196,7 +2196,7 @@ describe('compiler: parse', () => {
     })
 
     test('should NOT condense whitespaces in RCDATA text mode', () => {
-      const ast = baseParse(``, {
+      const ast = parse(``, {
         parseMode: 'html',
       })
       const preElement = ast.children[0] as ElementNode
diff --git a/packages/compiler-core/src/options.ts b/packages/compiler-core/src/options.ts
index 8a989a8c6..5a8cd0079 100644
--- a/packages/compiler-core/src/options.ts
+++ b/packages/compiler-core/src/options.ts
@@ -74,6 +74,7 @@ export interface ParserOptions
   delimiters?: [string, string]
   /**
    * Whitespace handling strategy
+   * @default 'condense'
    */
   whitespace?: 'preserve' | 'condense'
   /**

From 16174da21d6c8ac0aae027dd964fc35e221ded0a Mon Sep 17 00:00:00 2001
From: Evan You 
Date: Mon, 15 Apr 2024 11:50:57 +0800
Subject: [PATCH 34/55] fix(compiler-core): fix loc.source for end tags with
 whitespace before >

close #10694
close #10695
---
 packages/compiler-core/__tests__/parse.spec.ts | 10 ++++++++++
 packages/compiler-core/src/parser.ts           |  8 +++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/packages/compiler-core/__tests__/parse.spec.ts b/packages/compiler-core/__tests__/parse.spec.ts
index 882133a53..429a79686 100644
--- a/packages/compiler-core/__tests__/parse.spec.ts
+++ b/packages/compiler-core/__tests__/parse.spec.ts
@@ -2070,6 +2070,16 @@ describe('compiler: parse', () => {
       baseParse(``, { parseMode: 'sfc', onError() {} })
       expect(() => baseParse(`{ foo }`)).not.toThrow()
     })
+
+    test('correct loc when the closing > is foarmatted', () => {
+      const [span] = baseParse(``).children
+
+      expect(span.loc.source).toBe('')
+      expect(span.loc.start.offset).toBe(0)
+      expect(span.loc.end.offset).toBe(27)
+    })
   })
 
   describe('decodeEntities option', () => {
diff --git a/packages/compiler-core/src/parser.ts b/packages/compiler-core/src/parser.ts
index 202fba81b..da8861b92 100644
--- a/packages/compiler-core/src/parser.ts
+++ b/packages/compiler-core/src/parser.ts
@@ -613,7 +613,7 @@ function onCloseTag(el: ElementNode, end: number, isImplied = false) {
     // implied close, end should be backtracked to close
     setLocEnd(el.loc, backTrack(end, CharCodes.Lt))
   } else {
-    setLocEnd(el.loc, end + 1)
+    setLocEnd(el.loc, lookAhead(end, CharCodes.Gt) + 1)
   }
 
   if (tokenizer.inSFCRoot) {
@@ -736,6 +736,12 @@ function onCloseTag(el: ElementNode, end: number, isImplied = false) {
   }
 }
 
+function lookAhead(index: number, c: number) {
+  let i = index
+  while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++
+  return i
+}
+
 function backTrack(index: number, c: number) {
   let i = index
   while (currentInput.charCodeAt(i) !== c && i >= 0) i--

From 7ae9dbf57dd0b5dedb560a318ba6c7340a42093d Mon Sep 17 00:00:00 2001
From: Evan You 
Date: Mon, 15 Apr 2024 13:36:43 +0800
Subject: [PATCH 35/55] chore(deps): bump TS to 5.4

---
 package.json                                  |  4 +-
 packages/compiler-core/src/codegen.ts         | 47 ++++++++-
 packages/compiler-core/src/index.ts           |  8 +-
 packages/compiler-sfc/src/parse.ts            |  7 +-
 packages/dts-built-test/package.json          |  2 +-
 packages/dts-built-test/tsconfig.json         | 14 +++
 packages/global.d.ts                          | 12 ---
 packages/reactivity/src/reactive.ts           |  4 +-
 .../sfc-playground/src/vue-dev-proxy-prod.ts  |  1 -
 pnpm-lock.yaml                                | 97 ++++++++++---------
 tsconfig.build.json                           |  3 +-
 11 files changed, 127 insertions(+), 72 deletions(-)
 create mode 100644 packages/dts-built-test/tsconfig.json

diff --git a/package.json b/package.json
index b0faeff0a..071c51311 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
     "test-unit": "vitest -c vitest.unit.config.ts",
     "test-e2e": "node scripts/build.js vue -f global -d && vitest -c vitest.e2e.config.ts",
     "test-dts": "run-s build-dts test-dts-only",
-    "test-dts-only": "tsc -p ./packages/dts-test/tsconfig.test.json",
+    "test-dts-only": "tsc -p packages/dts-built-test/tsconfig.json && tsc -p ./packages/dts-test/tsconfig.test.json",
     "test-coverage": "vitest -c vitest.unit.config.ts --coverage",
     "test-bench": "vitest bench",
     "release": "node scripts/release.js",
@@ -111,7 +111,7 @@
     "todomvc-app-css": "^2.4.3",
     "tslib": "^2.6.2",
     "tsx": "^4.7.2",
-    "typescript": "^5.2.2",
+    "typescript": "~5.4.5",
     "vite": "^5.2.7",
     "vitest": "^1.4.0"
   }
diff --git a/packages/compiler-core/src/codegen.ts b/packages/compiler-core/src/codegen.ts
index 4447e67aa..987293d51 100644
--- a/packages/compiler-core/src/codegen.ts
+++ b/packages/compiler-core/src/codegen.ts
@@ -28,7 +28,7 @@ import {
   getVNodeHelper,
   locStub,
 } from './ast'
-import { type RawSourceMap, SourceMapGenerator } from 'source-map-js'
+import { SourceMapGenerator } from 'source-map-js'
 import {
   advancePositionWithMutation,
   assert,
@@ -56,6 +56,45 @@ import {
 } from './runtimeHelpers'
 import type { ImportItem } from './transform'
 
+/**
+ * The `SourceMapGenerator` type from `source-map-js` is a bit incomplete as it
+ * misses `toJSON()`. We also need to add types for internal properties which we
+ * need to access for better performance.
+ *
+ * Since TS 5.3, dts generation starts to strangely include broken triple slash
+ * references for source-map-js, so we are inlining all source map related types
+ * here to to workaround that.
+ */
+export interface CodegenSourceMapGenerator {
+  setSourceContent(sourceFile: string, sourceContent: string): void
+  // SourceMapGenerator has this method but the types do not include it
+  toJSON(): RawSourceMap
+  _sources: Set
+  _names: Set
+  _mappings: {
+    add(mapping: MappingItem): void
+  }
+}
+
+export interface RawSourceMap {
+  file?: string
+  sourceRoot?: string
+  version: string
+  sources: string[]
+  names: string[]
+  sourcesContent?: string[]
+  mappings: string
+}
+
+interface MappingItem {
+  source: string
+  generatedLine: number
+  generatedColumn: number
+  originalLine: number
+  originalColumn: number
+  name: string | null
+}
+
 const PURE_ANNOTATION = `/*#__PURE__*/`
 
 const aliasHelper = (s: symbol) => `${helperNameMap[s]}: _${helperNameMap[s]}`
@@ -85,7 +124,7 @@ export interface CodegenContext
   offset: number
   indentLevel: number
   pure: boolean
-  map?: SourceMapGenerator
+  map?: CodegenSourceMapGenerator
   helper(key: symbol): string
   push(code: string, newlineIndex?: number, node?: CodegenNode): void
   indent(): void
@@ -218,14 +257,14 @@ function createCodegenContext(
       generatedLine: context.line,
       generatedColumn: context.column - 1,
       source: filename,
-      // @ts-expect-error it is possible to be null
       name,
     })
   }
 
   if (!__BROWSER__ && sourceMap) {
     // lazy require source-map implementation, only in non-browser builds
-    context.map = new SourceMapGenerator()
+    context.map =
+      new SourceMapGenerator() as unknown as CodegenSourceMapGenerator
     context.map.setSourceContent(filename, context.source)
     context.map._sources.add(filename)
   }
diff --git a/packages/compiler-core/src/index.ts b/packages/compiler-core/src/index.ts
index ef4e54cf2..47628b669 100644
--- a/packages/compiler-core/src/index.ts
+++ b/packages/compiler-core/src/index.ts
@@ -21,7 +21,13 @@ export {
   type StructuralDirectiveTransform,
   type DirectiveTransform,
 } from './transform'
-export { generate, type CodegenContext, type CodegenResult } from './codegen'
+export {
+  generate,
+  type CodegenContext,
+  type CodegenResult,
+  type CodegenSourceMapGenerator,
+  type RawSourceMap,
+} from './codegen'
 export {
   ErrorCodes,
   errorMessages,
diff --git a/packages/compiler-sfc/src/parse.ts b/packages/compiler-sfc/src/parse.ts
index 00c97867c..f0ec926d1 100644
--- a/packages/compiler-sfc/src/parse.ts
+++ b/packages/compiler-sfc/src/parse.ts
@@ -1,15 +1,17 @@
 import {
   type BindingMetadata,
+  type CodegenSourceMapGenerator,
   type CompilerError,
   type ElementNode,
   NodeTypes,
   type ParserOptions,
+  type RawSourceMap,
   type RootNode,
   type SourceLocation,
   createRoot,
 } from '@vue/compiler-core'
 import * as CompilerDOM from '@vue/compiler-dom'
-import { type RawSourceMap, SourceMapGenerator } from 'source-map-js'
+import { SourceMapGenerator } from 'source-map-js'
 import type { TemplateCompiler } from './compileTemplate'
 import { parseCssVars } from './style/cssVars'
 import { createCache } from './cache'
@@ -375,7 +377,7 @@ function generateSourceMap(
   const map = new SourceMapGenerator({
     file: filename.replace(/\\/g, '/'),
     sourceRoot: sourceRoot.replace(/\\/g, '/'),
-  })
+  }) as unknown as CodegenSourceMapGenerator
   map.setSourceContent(filename, source)
   map._sources.add(filename)
   generated.split(splitRE).forEach((line, index) => {
@@ -390,7 +392,6 @@ function generateSourceMap(
             generatedLine,
             generatedColumn: i,
             source: filename,
-            // @ts-expect-error
             name: null,
           })
         }
diff --git a/packages/dts-built-test/package.json b/packages/dts-built-test/package.json
index dca0f80fa..dd81cab68 100644
--- a/packages/dts-built-test/package.json
+++ b/packages/dts-built-test/package.json
@@ -2,7 +2,7 @@
   "name": "@vue/dts-built-test",
   "private": true,
   "version": "0.0.0",
-  "types": "dist/dts-built-test.d.ts",
+  "types": "dist/index.d.ts",
   "dependencies": {
     "@vue/shared": "workspace:*",
     "@vue/reactivity": "workspace:*",
diff --git a/packages/dts-built-test/tsconfig.json b/packages/dts-built-test/tsconfig.json
new file mode 100644
index 000000000..99d9024dc
--- /dev/null
+++ b/packages/dts-built-test/tsconfig.json
@@ -0,0 +1,14 @@
+{
+  "compilerOptions": {
+    "baseUrl": ".",
+    "outDir": "dist",
+    "jsx": "preserve",
+    "module": "esnext",
+    "strict": true,
+    "moduleResolution": "Bundler",
+    "lib": ["esnext", "dom"],
+    "declaration": true,
+    "emitDeclarationOnly": true
+  },
+  "include": ["./src"]
+}
diff --git a/packages/global.d.ts b/packages/global.d.ts
index 704f6d022..38320b81e 100644
--- a/packages/global.d.ts
+++ b/packages/global.d.ts
@@ -45,18 +45,6 @@ declare module 'estree-walker' {
   )
 }
 
-declare module 'source-map-js' {
-  export interface SourceMapGenerator {
-    // SourceMapGenerator has this method but the types do not include it
-    toJSON(): RawSourceMap
-    _sources: Set
-    _names: Set
-    _mappings: {
-      add(mapping: MappingItem): void
-    }
-  }
-}
-
 declare interface String {
   /**
    * @deprecated Please use String.prototype.slice instead of String.prototype.substring in the repository.
diff --git a/packages/reactivity/src/reactive.ts b/packages/reactivity/src/reactive.ts
index 1e0f9365d..7e80737fb 100644
--- a/packages/reactivity/src/reactive.ts
+++ b/packages/reactivity/src/reactive.ts
@@ -409,5 +409,5 @@ export const toReactive = (value: T): T =>
  *
  * @param value - The value for which a readonly proxy shall be created.
  */
-export const toReadonly = (value: T): T =>
-  isObject(value) ? readonly(value) : value
+export const toReadonly = (value: T): DeepReadonly =>
+  isObject(value) ? readonly(value) : (value as DeepReadonly)
diff --git a/packages/sfc-playground/src/vue-dev-proxy-prod.ts b/packages/sfc-playground/src/vue-dev-proxy-prod.ts
index c20c51579..3b2faf195 100644
--- a/packages/sfc-playground/src/vue-dev-proxy-prod.ts
+++ b/packages/sfc-playground/src/vue-dev-proxy-prod.ts
@@ -1,3 +1,2 @@
 // serve vue to the iframe sandbox during dev.
-// @ts-expect-error
 export * from 'vue/dist/vue.runtime.esm-browser.prod.js'
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5dfee373f..3a5bf1f2b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -49,10 +49,10 @@ importers:
         version: 7.5.8
       '@typescript-eslint/eslint-plugin':
         specifier: ^7.4.0
-        version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2)
+        version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.5)
       '@typescript-eslint/parser':
         specifier: ^7.4.0
-        version: 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+        version: 7.4.0(eslint@8.57.0)(typescript@5.4.5)
       '@vitest/coverage-istanbul':
         specifier: ^1.4.0
         version: 1.4.0(vitest@1.4.0)
@@ -82,7 +82,7 @@ importers:
         version: /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)
       eslint-plugin-jest:
         specifier: ^27.9.0
-        version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.2.2)
+        version: 27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.4.5)
       estree-walker:
         specifier: ^2.0.2
         version: 2.0.2
@@ -127,7 +127,7 @@ importers:
         version: 3.0.2
       puppeteer:
         specifier: ~22.6.3
-        version: 22.6.3(typescript@5.2.2)
+        version: 22.6.3(typescript@5.4.5)
       rimraf:
         specifier: ^5.0.5
         version: 5.0.5
@@ -136,7 +136,7 @@ importers:
         version: 4.13.2
       rollup-plugin-dts:
         specifier: ^6.1.0
-        version: 6.1.0(rollup@4.13.2)(typescript@5.2.2)
+        version: 6.1.0(rollup@4.13.2)(typescript@5.4.5)
       rollup-plugin-esbuild:
         specifier: ^6.1.1
         version: 6.1.1(esbuild@0.20.2)(rollup@4.13.2)
@@ -165,8 +165,8 @@ importers:
         specifier: ^4.7.2
         version: 4.7.2
       typescript:
-        specifier: ^5.2.2
-        version: 5.2.2
+        specifier: ~5.4.5
+        version: 5.4.5
       vite:
         specifier: ^5.2.7
         version: 5.2.7(@types/node@20.12.5)(terser@5.30.1)
@@ -1524,7 +1524,7 @@ packages:
     dev: true
     optional: true
 
-  /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2):
+  /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.5):
     resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
     engines: {node: ^18.18.0 || >=20.0.0}
     peerDependencies:
@@ -1536,10 +1536,10 @@ packages:
         optional: true
     dependencies:
       '@eslint-community/regexpp': 4.9.1
-      '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+      '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
       '@typescript-eslint/scope-manager': 7.4.0
-      '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
-      '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+      '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
+      '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
       '@typescript-eslint/visitor-keys': 7.4.0
       debug: 4.3.4
       eslint: 8.57.0
@@ -1547,13 +1547,13 @@ packages:
       ignore: 5.2.4
       natural-compare: 1.4.0
       semver: 7.6.0
-      ts-api-utils: 1.0.3(typescript@5.2.2)
-      typescript: 5.2.2
+      ts-api-utils: 1.0.3(typescript@5.4.5)
+      typescript: 5.4.5
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.2.2):
+  /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.5):
     resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
     engines: {node: ^18.18.0 || >=20.0.0}
     peerDependencies:
@@ -1565,11 +1565,11 @@ packages:
     dependencies:
       '@typescript-eslint/scope-manager': 7.4.0
       '@typescript-eslint/types': 7.4.0
-      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2)
+      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.5)
       '@typescript-eslint/visitor-keys': 7.4.0
       debug: 4.3.4
       eslint: 8.57.0
-      typescript: 5.2.2
+      typescript: 5.4.5
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -1590,7 +1590,7 @@ packages:
       '@typescript-eslint/visitor-keys': 7.4.0
     dev: true
 
-  /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.2.2):
+  /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.5):
     resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
     engines: {node: ^18.18.0 || >=20.0.0}
     peerDependencies:
@@ -1600,12 +1600,12 @@ packages:
       typescript:
         optional: true
     dependencies:
-      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2)
-      '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.5)
+      '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
       debug: 4.3.4
       eslint: 8.57.0
-      ts-api-utils: 1.0.3(typescript@5.2.2)
-      typescript: 5.2.2
+      ts-api-utils: 1.0.3(typescript@5.4.5)
+      typescript: 5.4.5
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -1620,7 +1620,7 @@ packages:
     engines: {node: ^18.18.0 || >=20.0.0}
     dev: true
 
-  /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2):
+  /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5):
     resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
     peerDependencies:
@@ -1635,13 +1635,13 @@ packages:
       globby: 11.1.0
       is-glob: 4.0.3
       semver: 7.6.0
-      tsutils: 3.21.0(typescript@5.2.2)
-      typescript: 5.2.2
+      tsutils: 3.21.0(typescript@5.4.5)
+      typescript: 5.4.5
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /@typescript-eslint/typescript-estree@7.4.0(typescript@5.2.2):
+  /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.5):
     resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
     engines: {node: ^18.18.0 || >=20.0.0}
     peerDependencies:
@@ -1657,13 +1657,13 @@ packages:
       is-glob: 4.0.3
       minimatch: 9.0.3
       semver: 7.6.0
-      ts-api-utils: 1.0.3(typescript@5.2.2)
-      typescript: 5.2.2
+      ts-api-utils: 1.0.3(typescript@5.4.5)
+      typescript: 5.4.5
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.2.2):
+  /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5):
     resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
     peerDependencies:
@@ -1674,7 +1674,7 @@ packages:
       '@types/semver': 7.5.8
       '@typescript-eslint/scope-manager': 5.62.0
       '@typescript-eslint/types': 5.62.0
-      '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
+      '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
       eslint: 8.57.0
       eslint-scope: 5.1.1
       semver: 7.6.0
@@ -1683,7 +1683,7 @@ packages:
       - typescript
     dev: true
 
-  /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.2.2):
+  /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.5):
     resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
     engines: {node: ^18.18.0 || >=20.0.0}
     peerDependencies:
@@ -1694,7 +1694,7 @@ packages:
       '@types/semver': 7.5.8
       '@typescript-eslint/scope-manager': 7.4.0
       '@typescript-eslint/types': 7.4.0
-      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2)
+      '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.5)
       eslint: 8.57.0
       semver: 7.6.0
     transitivePeerDependencies:
@@ -2501,7 +2501,7 @@ packages:
     resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
     dev: false
 
-  /cosmiconfig@9.0.0(typescript@5.2.2):
+  /cosmiconfig@9.0.0(typescript@5.4.5):
     resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
     engines: {node: '>=14'}
     peerDependencies:
@@ -2514,7 +2514,7 @@ packages:
       import-fresh: 3.3.0
       js-yaml: 4.1.0
       parse-json: 5.2.0
-      typescript: 5.2.2
+      typescript: 5.4.5
     dev: true
 
   /cross-spawn@7.0.3:
@@ -2866,7 +2866,7 @@ packages:
       eslint-import-resolver-webpack:
         optional: true
     dependencies:
-      '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2)
+      '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.5)
       debug: 3.2.7
       eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
@@ -2896,7 +2896,7 @@ packages:
       - supports-color
     dev: true
 
-  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.2.2):
+  /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.4.0)(eslint@8.57.0)(typescript@5.4.5):
     resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     peerDependencies:
@@ -2909,8 +2909,8 @@ packages:
       jest:
         optional: true
     dependencies:
-      '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2)
-      '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.2.2)
+      '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.5)
+      '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
       eslint: 8.57.0
     transitivePeerDependencies:
       - supports-color
@@ -4788,14 +4788,14 @@ packages:
       - utf-8-validate
     dev: true
 
-  /puppeteer@22.6.3(typescript@5.2.2):
+  /puppeteer@22.6.3(typescript@5.4.5):
     resolution: {integrity: sha512-KZOnthMbvr4+7cPKFeeOCJPe8DzOKGC0GbMXmZKOP/YusXQ6sqxA0vt6frstZq3rUJ277qXHlZNFf01VVwdHKw==}
     engines: {node: '>=18'}
     hasBin: true
     requiresBuild: true
     dependencies:
       '@puppeteer/browsers': 2.2.1
-      cosmiconfig: 9.0.0(typescript@5.2.2)
+      cosmiconfig: 9.0.0(typescript@5.4.5)
       devtools-protocol: 0.0.1262051
       puppeteer-core: 22.6.3
     transitivePeerDependencies:
@@ -4967,7 +4967,7 @@ packages:
       glob: 10.3.10
     dev: true
 
-  /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.2.2):
+  /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.4.5):
     resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==}
     engines: {node: '>=16'}
     peerDependencies:
@@ -4976,7 +4976,7 @@ packages:
     dependencies:
       magic-string: 0.30.8
       rollup: 4.13.2
-      typescript: 5.2.2
+      typescript: 5.4.5
     optionalDependencies:
       '@babel/code-frame': 7.23.5
     dev: true
@@ -5503,13 +5503,13 @@ packages:
       punycode: 2.3.1
     dev: true
 
-  /ts-api-utils@1.0.3(typescript@5.2.2):
+  /ts-api-utils@1.0.3(typescript@5.4.5):
     resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
     engines: {node: '>=16.13.0'}
     peerDependencies:
       typescript: '>=4.2.0'
     dependencies:
-      typescript: 5.2.2
+      typescript: 5.4.5
     dev: true
 
   /tslib@1.14.1:
@@ -5520,14 +5520,14 @@ packages:
     resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
     dev: true
 
-  /tsutils@3.21.0(typescript@5.2.2):
+  /tsutils@3.21.0(typescript@5.4.5):
     resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
     engines: {node: '>= 6'}
     peerDependencies:
       typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
     dependencies:
       tslib: 1.14.1
-      typescript: 5.2.2
+      typescript: 5.4.5
     dev: true
 
   /tsx@4.7.2:
@@ -5577,6 +5577,13 @@ packages:
     resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
     engines: {node: '>=14.17'}
     hasBin: true
+    dev: false
+
+  /typescript@5.4.5:
+    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
+    engines: {node: '>=14.17'}
+    hasBin: true
+    dev: true
 
   /ufo@1.3.1:
     resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==}
diff --git a/tsconfig.build.json b/tsconfig.build.json
index 954103c0f..ea2aecc45 100644
--- a/tsconfig.build.json
+++ b/tsconfig.build.json
@@ -10,6 +10,7 @@
     "packages/runtime-test",
     "packages/template-explorer",
     "packages/sfc-playground",
-    "packages/dts-test"
+    "packages/dts-test",
+    "packages/dts-built-test"
   ]
 }

From 2ae908d00c7744e194dae5fd279b5db8603a988b Mon Sep 17 00:00:00 2001
From: Evan You 
Date: Mon, 15 Apr 2024 15:52:48 +0800
Subject: [PATCH 36/55] chore(types): perform strict es2016 lib check when
 building dts

---
 package.json                                  |  2 +-
 packages/compiler-sfc/src/compileStyle.ts     |  2 +-
 packages/compiler-sfc/src/compileTemplate.ts  |  7 ++-----
 .../compiler-sfc/src/style/preprocessors.ts   |  2 +-
 packages/runtime-core/src/compat/global.ts    |  5 ++---
 packages/shared/src/general.ts                |  3 +++
 packages/shared/src/toDisplayString.ts        |  4 +++-
 tsconfig.build-browser.json                   | 20 +++++++++++++++++++
 tsconfig.build-node.json                      | 15 ++++++++++++++
 tsconfig.build.json                           | 16 ---------------
 10 files changed, 48 insertions(+), 28 deletions(-)
 create mode 100644 tsconfig.build-browser.json
 create mode 100644 tsconfig.build-node.json
 delete mode 100644 tsconfig.build.json

diff --git a/package.json b/package.json
index 071c51311..2c8ba0b81 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
   "scripts": {
     "dev": "node scripts/dev.js",
     "build": "node scripts/build.js",
-    "build-dts": "tsc -p tsconfig.build.json && rollup -c rollup.dts.config.js",
+    "build-dts": "tsc -p tsconfig.build-browser.json && tsc -p tsconfig.build-node.json && rollup -c rollup.dts.config.js",
     "clean": "rimraf packages/*/dist temp .eslintcache",
     "size": "run-s \"size-*\" && tsx scripts/usage-size.ts",
     "size-global": "node scripts/build.js vue runtime-dom -f global -p --size",
diff --git a/packages/compiler-sfc/src/compileStyle.ts b/packages/compiler-sfc/src/compileStyle.ts
index 4390014e8..f27a6338e 100644
--- a/packages/compiler-sfc/src/compileStyle.ts
+++ b/packages/compiler-sfc/src/compileStyle.ts
@@ -13,7 +13,7 @@ import {
   type StylePreprocessorResults,
   processors,
 } from './style/preprocessors'
-import type { RawSourceMap } from 'source-map-js'
+import type { RawSourceMap } from '@vue/compiler-core'
 import { cssVarsPlugin } from './style/cssVars'
 import postcssModules from 'postcss-modules'
 
diff --git a/packages/compiler-sfc/src/compileTemplate.ts b/packages/compiler-sfc/src/compileTemplate.ts
index 2d5ffdad7..5ba8a5e48 100644
--- a/packages/compiler-sfc/src/compileTemplate.ts
+++ b/packages/compiler-sfc/src/compileTemplate.ts
@@ -6,14 +6,11 @@ import {
   type NodeTransform,
   NodeTypes,
   type ParserOptions,
+  type RawSourceMap,
   type RootNode,
   createRoot,
 } from '@vue/compiler-core'
-import {
-  type RawSourceMap,
-  SourceMapConsumer,
-  SourceMapGenerator,
-} from 'source-map-js'
+import { SourceMapConsumer, SourceMapGenerator } from 'source-map-js'
 import {
   type AssetURLOptions,
   type AssetURLTagConfig,
diff --git a/packages/compiler-sfc/src/style/preprocessors.ts b/packages/compiler-sfc/src/style/preprocessors.ts
index 7915d1d14..6a974368e 100644
--- a/packages/compiler-sfc/src/style/preprocessors.ts
+++ b/packages/compiler-sfc/src/style/preprocessors.ts
@@ -1,5 +1,5 @@
 import merge from 'merge-source-map'
-import type { RawSourceMap } from 'source-map-js'
+import type { RawSourceMap } from '@vue/compiler-core'
 import type { SFCStyleCompileOptions } from '../compileStyle'
 import { isFunction } from '@vue/shared'
 
diff --git a/packages/runtime-core/src/compat/global.ts b/packages/runtime-core/src/compat/global.ts
index 5bf234fcf..1c633ed52 100644
--- a/packages/runtime-core/src/compat/global.ts
+++ b/packages/runtime-core/src/compat/global.ts
@@ -427,15 +427,14 @@ function applySingletonPrototype(app: App, Ctor: Function) {
     app.config.globalProperties = Object.create(Ctor.prototype)
   }
   let hasPrototypeAugmentations = false
-  const descriptors = Object.getOwnPropertyDescriptors(Ctor.prototype)
-  for (const key in descriptors) {
+  for (const key of Object.getOwnPropertyNames(Ctor.prototype)) {
     if (key !== 'constructor') {
       hasPrototypeAugmentations = true
       if (enabled) {
         Object.defineProperty(
           app.config.globalProperties,
           key,
-          descriptors[key],
+          Object.getOwnPropertyDescriptor(Ctor.prototype, key)!,
         )
       }
     }
diff --git a/packages/shared/src/general.ts b/packages/shared/src/general.ts
index e04b96122..47ab02292 100644
--- a/packages/shared/src/general.ts
+++ b/packages/shared/src/general.ts
@@ -165,6 +165,9 @@ export const toNumber = (val: any): any => {
   return isNaN(n) ? val : n
 }
 
+// for typeof global checks without @types/node
+declare var global: {}
+
 let _globalThis: any
 export const getGlobalThis = (): any => {
   return (
diff --git a/packages/shared/src/toDisplayString.ts b/packages/shared/src/toDisplayString.ts
index aff107cd9..b63cb4112 100644
--- a/packages/shared/src/toDisplayString.ts
+++ b/packages/shared/src/toDisplayString.ts
@@ -54,4 +54,6 @@ const replacer = (_key: string, val: any): any => {
 }
 
 const stringifySymbol = (v: unknown, i: number | string = ''): any =>
-  isSymbol(v) ? `Symbol(${v.description ?? i})` : v
+  // Symbol.description in es2019+ so we need to cast here to pass
+  // the lib: es2016 check
+  isSymbol(v) ? `Symbol(${(v as any).description ?? i})` : v
diff --git a/tsconfig.build-browser.json b/tsconfig.build-browser.json
new file mode 100644
index 000000000..707c99e58
--- /dev/null
+++ b/tsconfig.build-browser.json
@@ -0,0 +1,20 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "types": [],
+    "declaration": true,
+    "emitDeclarationOnly": true,
+    "stripInternal": true
+  },
+  "include": [
+    "packages/global.d.ts",
+    "packages/vue/src",
+    "packages/vue-compat/src",
+    "packages/compiler-core/src",
+    "packages/compiler-dom/src",
+    "packages/runtime-core/src",
+    "packages/runtime-dom/src",
+    "packages/reactivity/src",
+    "packages/shared/src"
+  ]
+}
diff --git a/tsconfig.build-node.json b/tsconfig.build-node.json
new file mode 100644
index 000000000..fac1412fa
--- /dev/null
+++ b/tsconfig.build-node.json
@@ -0,0 +1,15 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "types": ["node"],
+    "declaration": true,
+    "emitDeclarationOnly": true,
+    "stripInternal": true
+  },
+  "include": [
+    "packages/global.d.ts",
+    "packages/compiler-sfc/src",
+    "packages/compiler-ssr/src",
+    "packages/server-renderer/src"
+  ]
+}
diff --git a/tsconfig.build.json b/tsconfig.build.json
deleted file mode 100644
index ea2aecc45..000000000
--- a/tsconfig.build.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "extends": "./tsconfig.json",
-  "compilerOptions": {
-    "declaration": true,
-    "emitDeclarationOnly": true,
-    "stripInternal": true
-  },
-  "exclude": [
-    "packages/*/__tests__",
-    "packages/runtime-test",
-    "packages/template-explorer",
-    "packages/sfc-playground",
-    "packages/dts-test",
-    "packages/dts-built-test"
-  ]
-}

From b11dab99d1bd2e84d7059b29fb9a4982f8ff4d5f Mon Sep 17 00:00:00 2001
From: Evan You 
Date: Mon, 15 Apr 2024 16:06:33 +0800
Subject: [PATCH 37/55] chore: more descriptive eslint error messages for
 restricted syntax

---
 .eslintrc.cjs    | 24 +++++++++++++++++-------
 rollup.config.js |  4 ++--
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 65653f40d..0a44fb79a 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -26,13 +26,23 @@ module.exports = {
     'no-restricted-syntax': [
       'error',
       banConstEnum,
-      // since we target ES2015 for baseline support, we need to forbid object
-      // rest spread usage in destructure as it compiles into a verbose helper.
-      'ObjectPattern > RestElement',
-      // tsc compiles assignment spread into Object.assign() calls, but esbuild
-      // still generates verbose helpers, so spread assignment is also prohiboted
-      'ObjectExpression > SpreadElement',
-      'AwaitExpression',
+      {
+        selector: 'ObjectPattern > RestElement',
+        message:
+          'Our output target is ES2016, and object rest spread results in ' +
+          'verbose helpers and should be avoided.',
+      },
+      {
+        selector: 'ObjectExpression > SpreadElement',
+        message:
+          'esbuild transpiles object spread into very verbose inline helpers.\n' +
+          'Please use the `extend` helper from @vue/shared instead.',
+      },
+      {
+        selector: 'AwaitExpression',
+        message:
+          'Our output target is ES2016, so async/await syntax should be avoided.',
+      },
     ],
     'sort-imports': ['error', { ignoreDeclarationSort: true }],
 
diff --git a/rollup.config.js b/rollup.config.js
index 6ab5ca429..e8d598418 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -331,7 +331,7 @@ function createConfig(format, output, plugins = []) {
         tsconfig: path.resolve(__dirname, 'tsconfig.json'),
         sourceMap: output.sourcemap,
         minify: false,
-        target: isServerRenderer || isCJSBuild ? 'es2019' : 'es2015',
+        target: isServerRenderer || isCJSBuild ? 'es2019' : 'es2016',
         define: resolveDefine(),
       }),
       ...resolveNodePlugins(),
@@ -367,7 +367,7 @@ function createMinifiedConfig(/** @type {PackageFormat} */ format) {
       terser({
         module: /^esm/.test(format),
         compress: {
-          ecma: 2015,
+          ecma: 2016,
           pure_getters: true,
         },
         safari10: true,

From 6b4b8ec5b1b11d313b89c25152c9d4ac16fece20 Mon Sep 17 00:00:00 2001
From: Med Talhaouy <79597452+tal7aouy@users.noreply.github.com>
Date: Mon, 15 Apr 2024 08:21:23 +0000
Subject: [PATCH 38/55] chore: add download badge (#8550) [ci skip]

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index cbc05311a..afe5711e8 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# vuejs/core [![npm](https://img.shields.io/npm/v/vue.svg)](https://www.npmjs.com/package/vue) [![build status](https://github.com/vuejs/core/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/vuejs/core/actions/workflows/ci.yml)
+# vuejs/core [![npm](https://img.shields.io/npm/v/vue.svg)](https://www.npmjs.com/package/vue) [![build status](https://github.com/vuejs/core/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/vuejs/core/actions/workflows/ci.yml) [![Download](https://img.shields.io/npm/dm/vue)](https://www.npmjs.com/package/vue)
 
 ## Getting Started
 

From e5919d4658cfe0bb18c76611dd3c3432c57f94ab Mon Sep 17 00:00:00 2001
From: edison 
Date: Mon, 15 Apr 2024 16:32:04 +0800
Subject: [PATCH 39/55] fix(compile-sfc): analyze v-bind shorthand usage in
 template (#10518)

close #10515
---
 .../__snapshots__/importUsageCheck.spec.ts.snap              | 4 ++--
 .../__tests__/compileScript/importUsageCheck.spec.ts         | 5 +++--
 packages/compiler-sfc/src/script/importUsageCheck.ts         | 3 +++
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/packages/compiler-sfc/__tests__/compileScript/__snapshots__/importUsageCheck.spec.ts.snap b/packages/compiler-sfc/__tests__/compileScript/__snapshots__/importUsageCheck.spec.ts.snap
index 764d120a7..722e3340a 100644
--- a/packages/compiler-sfc/__tests__/compileScript/__snapshots__/importUsageCheck.spec.ts.snap
+++ b/packages/compiler-sfc/__tests__/compileScript/__snapshots__/importUsageCheck.spec.ts.snap
@@ -66,14 +66,14 @@ return { get vMyDir() { return vMyDir } }
 
 exports[`dynamic arguments 1`] = `
 "import { defineComponent as _defineComponent } from 'vue'
-import { FooBar, foo, bar, unused, baz } from './x'
+import { FooBar, foo, bar, unused, baz, msg } from './x'
     
 export default /*#__PURE__*/_defineComponent({
   setup(__props, { expose: __expose }) {
   __expose();
 
     
-return { get FooBar() { return FooBar }, get foo() { return foo }, get bar() { return bar }, get baz() { return baz } }
+return { get FooBar() { return FooBar }, get foo() { return foo }, get bar() { return bar }, get baz() { return baz }, get msg() { return msg } }
 }
 
 })"
diff --git a/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts b/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
index d9fd1dfe5..b842f7a46 100644
--- a/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
+++ b/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
@@ -45,7 +45,7 @@ test('directive', () => {
 test('dynamic arguments', () => {
   const { content } = compile(`
     
     
     `)
   expect(content).toMatch(
     `return { get FooBar() { return FooBar }, get foo() { return foo }, ` +
-      `get bar() { return bar }, get baz() { return baz } }`,
+      `get bar() { return bar }, get baz() { return baz }, get msg() { return msg } }`,
   )
   assertCode(content)
 })
diff --git a/packages/compiler-sfc/src/script/importUsageCheck.ts b/packages/compiler-sfc/src/script/importUsageCheck.ts
index 211efc490..6b9fbc634 100644
--- a/packages/compiler-sfc/src/script/importUsageCheck.ts
+++ b/packages/compiler-sfc/src/script/importUsageCheck.ts
@@ -60,6 +60,9 @@ function resolveTemplateUsedIdentifiers(sfc: SFCDescriptor): Set {
               extractIdentifiers(ids, prop.forParseResult!.source)
             } else if (prop.exp) {
               extractIdentifiers(ids, prop.exp)
+            } else if (prop.name === 'bind' && !prop.exp) {
+              // v-bind shorthand name as identifier
+              ids.add((prop.arg as SimpleExpressionNode).content)
             }
           }
           if (

From 969c5fb30f4c725757c7385abfc74772514eae4b Mon Sep 17 00:00:00 2001
From: Evan You 
Date: Mon, 15 Apr 2024 17:18:39 +0800
Subject: [PATCH 40/55] fix(reactivity): fix hasOwnProperty key coercion edge
 cases

---
 .../reactivity/__tests__/reactive.spec.ts     | 28 +++++++++++++++++++
 packages/reactivity/src/baseHandlers.ts       |  2 +-
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/packages/reactivity/__tests__/reactive.spec.ts b/packages/reactivity/__tests__/reactive.spec.ts
index ab953ff89..cdcd03258 100644
--- a/packages/reactivity/__tests__/reactive.spec.ts
+++ b/packages/reactivity/__tests__/reactive.spec.ts
@@ -302,4 +302,32 @@ describe('reactivity/reactive', () => {
     const observed = reactive(original)
     expect(isReactive(observed)).toBe(false)
   })
+
+  test('hasOwnProperty edge case: Symbol values', () => {
+    const key = Symbol()
+    const obj = reactive({ [key]: 1 }) as { [key]?: 1 }
+    let dummy
+    effect(() => {
+      dummy = obj.hasOwnProperty(key)
+    })
+    expect(dummy).toBe(true)
+
+    delete obj[key]
+    expect(dummy).toBe(false)
+  })
+
+  test('hasOwnProperty edge case: non-string values', () => {
+    const key = {}
+    const obj = reactive({ '[object Object]': 1 }) as { '[object Object]'?: 1 }
+    let dummy
+    effect(() => {
+      // @ts-expect-error
+      dummy = obj.hasOwnProperty(key)
+    })
+    expect(dummy).toBe(true)
+
+    // @ts-expect-error
+    delete obj[key]
+    expect(dummy).toBe(false)
+  })
 })
diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts
index 36707aa91..943f32957 100644
--- a/packages/reactivity/src/baseHandlers.ts
+++ b/packages/reactivity/src/baseHandlers.ts
@@ -82,7 +82,7 @@ function createArrayInstrumentations() {
 
 function hasOwnProperty(this: object, key: unknown) {
   // #10455 hasOwnProperty may be called with non-string values
-  key = '' + key
+  if (!isSymbol(key)) key = String(key)
   const obj = toRaw(this)
   track(obj, TrackOpTypes.HAS, key)
   return obj.hasOwnProperty(key as string)

From 04af9504a720c8e6de26c04b1282cf14fa1bcee3 Mon Sep 17 00:00:00 2001
From: Evan You 
Date: Mon, 15 Apr 2024 17:36:05 +0800
Subject: [PATCH 41/55] fix(compiler-core): fix v-bind shorthand for component
 :is

close #10469
close #10471
---
 .../transforms/transformElement.spec.ts       | 18 +++++++++++++++++
 .../src/transforms/transformElement.ts        | 20 ++++++++++++++-----
 2 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/packages/compiler-core/__tests__/transforms/transformElement.spec.ts b/packages/compiler-core/__tests__/transforms/transformElement.spec.ts
index 5d3f92ced..c30840a21 100644
--- a/packages/compiler-core/__tests__/transforms/transformElement.spec.ts
+++ b/packages/compiler-core/__tests__/transforms/transformElement.spec.ts
@@ -1231,6 +1231,24 @@ describe('compiler: element transform', () => {
       })
     })
 
+    test('dynamic binding shorthand', () => {
+      const { node, root } = parseWithBind(``)
+      expect(root.helpers).toContain(RESOLVE_DYNAMIC_COMPONENT)
+      expect(node).toMatchObject({
+        isBlock: true,
+        tag: {
+          callee: RESOLVE_DYNAMIC_COMPONENT,
+          arguments: [
+            {
+              type: NodeTypes.SIMPLE_EXPRESSION,
+              content: 'is',
+              isStatic: false,
+            },
+          ],
+        },
+      })
+    })
+
     test('is casting', () => {
       const { node, root } = parseWithBind(`
`) expect(root.helpers).toContain(RESOLVE_COMPONENT) diff --git a/packages/compiler-core/src/transforms/transformElement.ts b/packages/compiler-core/src/transforms/transformElement.ts index c50f7f5e9..ca6e59df3 100644 --- a/packages/compiler-core/src/transforms/transformElement.ts +++ b/packages/compiler-core/src/transforms/transformElement.ts @@ -64,6 +64,7 @@ import { checkCompatEnabled, isCompatEnabled, } from '../compat/compatConfig' +import { processExpression } from './transformExpression' // some directive transforms (e.g. v-model) may return a symbol for runtime // import, which should be used instead of a resolveDirective call. @@ -253,7 +254,7 @@ export function resolveComponentType( // 1. dynamic component const isExplicitDynamic = isComponentTag(tag) - const isProp = findProp(node, 'is') + const isProp = findProp(node, 'is', false, true /* allow empty */) if (isProp) { if ( isExplicitDynamic || @@ -263,10 +264,19 @@ export function resolveComponentType( context, )) ) { - const exp = - isProp.type === NodeTypes.ATTRIBUTE - ? isProp.value && createSimpleExpression(isProp.value.content, true) - : isProp.exp + let exp: ExpressionNode | undefined + if (isProp.type === NodeTypes.ATTRIBUTE) { + exp = isProp.value && createSimpleExpression(isProp.value.content, true) + } else { + exp = isProp.exp + if (!exp) { + // #10469 handle :is shorthand + exp = createSimpleExpression(`is`, false, isProp.loc) + if (!__BROWSER__) { + exp = isProp.exp = processExpression(exp, context) + } + } + } if (exp) { return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [ exp, From d58d133b1cde5085cc5ab0012d544cafd62a6ee6 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 15 Apr 2024 19:28:37 +0800 Subject: [PATCH 42/55] fix(compat): fix $options mutation + adjust private API initialization close #10626 close #10636 --- packages/runtime-core/src/compat/instance.ts | 108 +++++++++++------- packages/runtime-core/src/component.ts | 7 ++ .../vue-compat/__tests__/instance.spec.ts | 41 +++++++ 3 files changed, 116 insertions(+), 40 deletions(-) diff --git a/packages/runtime-core/src/compat/instance.ts b/packages/runtime-core/src/compat/instance.ts index 5beaf5f5e..d310de49a 100644 --- a/packages/runtime-core/src/compat/instance.ts +++ b/packages/runtime-core/src/compat/instance.ts @@ -15,6 +15,7 @@ import { DeprecationTypes, assertCompatEnabled, isCompatEnabled, + warnDeprecation, } from './compatConfig' import { off, on, once } from './instanceEventEmitter' import { getCompatListeners } from './instanceListeners' @@ -121,50 +122,77 @@ export function installCompatInstanceProperties(map: PublicPropertiesMap) { $children: getCompatChildren, $listeners: getCompatListeners, + + // inject additional properties into $options for compat + // e.g. vuex needs this.$options.parent + $options: i => { + if (!isCompatEnabled(DeprecationTypes.PRIVATE_APIS, i)) { + return resolveMergedOptions(i) + } + if (i.resolvedOptions) { + return i.resolvedOptions + } + const res = (i.resolvedOptions = extend({}, resolveMergedOptions(i))) + Object.defineProperties(res, { + parent: { + get() { + warnDeprecation(DeprecationTypes.PRIVATE_APIS, i, '$options.parent') + return i.proxy!.$parent + }, + }, + propsData: { + get() { + warnDeprecation( + DeprecationTypes.PRIVATE_APIS, + i, + '$options.propsData', + ) + return i.vnode.props + }, + }, + }) + return res + }, } as PublicPropertiesMap) - /* istanbul ignore if */ - if (isCompatEnabled(DeprecationTypes.PRIVATE_APIS, null)) { - extend(map, { - // needed by many libs / render fns - $vnode: i => i.vnode, + const privateAPIs = { + // needed by many libs / render fns + $vnode: i => i.vnode, - // inject additional properties into $options for compat - // e.g. vuex needs this.$options.parent - $options: i => { - const res = extend({}, resolveMergedOptions(i)) - res.parent = i.proxy!.$parent - res.propsData = i.vnode.props - return res - }, + // some private properties that are likely accessed... + _self: i => i.proxy, + _uid: i => i.uid, + _data: i => i.data, + _isMounted: i => i.isMounted, + _isDestroyed: i => i.isUnmounted, - // some private properties that are likely accessed... - _self: i => i.proxy, - _uid: i => i.uid, - _data: i => i.data, - _isMounted: i => i.isMounted, - _isDestroyed: i => i.isUnmounted, + // v2 render helpers + $createElement: () => compatH, + _c: () => compatH, + _o: () => legacyMarkOnce, + _n: () => looseToNumber, + _s: () => toDisplayString, + _l: () => renderList, + _t: i => legacyRenderSlot.bind(null, i), + _q: () => looseEqual, + _i: () => looseIndexOf, + _m: i => legacyRenderStatic.bind(null, i), + _f: () => resolveFilter, + _k: i => legacyCheckKeyCodes.bind(null, i), + _b: () => legacyBindObjectProps, + _v: () => createTextVNode, + _e: () => createCommentVNode, + _u: () => legacyresolveScopedSlots, + _g: () => legacyBindObjectListeners, + _d: () => legacyBindDynamicKeys, + _p: () => legacyPrependModifier, + } as PublicPropertiesMap - // v2 render helpers - $createElement: () => compatH, - _c: () => compatH, - _o: () => legacyMarkOnce, - _n: () => looseToNumber, - _s: () => toDisplayString, - _l: () => renderList, - _t: i => legacyRenderSlot.bind(null, i), - _q: () => looseEqual, - _i: () => looseIndexOf, - _m: i => legacyRenderStatic.bind(null, i), - _f: () => resolveFilter, - _k: i => legacyCheckKeyCodes.bind(null, i), - _b: () => legacyBindObjectProps, - _v: () => createTextVNode, - _e: () => createCommentVNode, - _u: () => legacyresolveScopedSlots, - _g: () => legacyBindObjectListeners, - _d: () => legacyBindDynamicKeys, - _p: () => legacyPrependModifier, - } as PublicPropertiesMap) + for (const key in privateAPIs) { + map[key] = i => { + if (isCompatEnabled(DeprecationTypes.PRIVATE_APIS, i)) { + return privateAPIs[key](i) + } + } } } diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index a551529e6..6f30053cf 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -45,6 +45,7 @@ import { type Directive, validateDirectiveName } from './directives' import { type ComponentOptions, type ComputedOptions, + type MergedComponentOptions, type MethodOptions, applyOptions, resolveMergedOptions, @@ -524,6 +525,12 @@ export interface ComponentInternalInstance { * @internal */ getCssVars?: () => Record + + /** + * v2 compat only, for caching mutated $options + * @internal + */ + resolvedOptions?: MergedComponentOptions } const emptyAppContext = createAppContext() diff --git a/packages/vue-compat/__tests__/instance.spec.ts b/packages/vue-compat/__tests__/instance.spec.ts index 63ce55812..1feccabd8 100644 --- a/packages/vue-compat/__tests__/instance.spec.ts +++ b/packages/vue-compat/__tests__/instance.spec.ts @@ -14,6 +14,7 @@ beforeEach(() => { Vue.configureCompat({ MODE: 2, GLOBAL_MOUNT: 'suppress-warning', + PRIVATE_APIS: 'suppress-warning', }) }) @@ -331,3 +332,43 @@ test('INSTANCE_ATTR_CLASS_STYLE', () => { )('Anonymous'), ).toHaveBeenWarned() }) + +test('$options mutation', () => { + const Comp = { + props: ['id'], + template: '
', + data() { + return { + foo: '', + } + }, + created(this: any) { + expect(this.$options.parent).toBeDefined() + expect(this.$options.test).toBeUndefined() + this.$options.test = this.id + expect(this.$options.test).toBe(this.id) + }, + } + + new Vue({ + template: `
`, + components: { Comp }, + }).$mount() +}) + +test('other private APIs', () => { + new Vue({ + created() { + expect(this.$createElement).toBeTruthy() + }, + }) + + new Vue({ + compatConfig: { + PRIVATE_APIS: false, + }, + created() { + expect(this.$createElement).toBeUndefined() + }, + }) +}) From 54a6afa75a546078e901ce0882da53b97420fe94 Mon Sep 17 00:00:00 2001 From: Doctor Wu <44631608+Doctor-wu@users.noreply.github.com> Date: Mon, 15 Apr 2024 19:36:13 +0800 Subject: [PATCH 43/55] fix(compiler-sfc): fix universal selector scope (#10551) close #10548 --- .../__tests__/compileStyle.spec.ts | 19 ++++++++++++++ .../compiler-sfc/src/style/pluginScoped.ts | 26 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/packages/compiler-sfc/__tests__/compileStyle.spec.ts b/packages/compiler-sfc/__tests__/compileStyle.spec.ts index 0da713a05..71c0689a3 100644 --- a/packages/compiler-sfc/__tests__/compileStyle.spec.ts +++ b/packages/compiler-sfc/__tests__/compileStyle.spec.ts @@ -429,4 +429,23 @@ describe('SFC style preprocessors', () => { expect(res.errors.length).toBe(0) }) + + test('should mount scope on correct selector when have universal selector', () => { + expect(compileScoped(`* { color: red; }`)).toMatchInlineSnapshot(` + "[data-v-test] { color: red; + }" + `) + expect(compileScoped('* .foo { color: red; }')).toMatchInlineSnapshot(` + ".foo[data-v-test] { color: red; + }" + `) + expect(compileScoped(`*.foo { color: red; }`)).toMatchInlineSnapshot(` + ".foo[data-v-test] { color: red; + }" + `) + expect(compileScoped(`.foo * { color: red; }`)).toMatchInlineSnapshot(` + ".foo[data-v-test] * { color: red; + }" + `) + }) }) diff --git a/packages/compiler-sfc/src/style/pluginScoped.ts b/packages/compiler-sfc/src/style/pluginScoped.ts index 0a46de7fc..3812e6709 100644 --- a/packages/compiler-sfc/src/style/pluginScoped.ts +++ b/packages/compiler-sfc/src/style/pluginScoped.ts @@ -170,6 +170,32 @@ function rewriteSelector( } } + if (n.type === 'universal') { + const prev = selector.at(selector.index(n) - 1) + const next = selector.at(selector.index(n) + 1) + // * ... {} + if (!prev) { + // * .foo {} -> .foo[xxxxxxx] {} + if (next) { + if (next.type === 'combinator' && next.value === ' ') { + selector.removeChild(next) + } + selector.removeChild(n) + return + } else { + // * {} -> [xxxxxxx] {} + node = selectorParser.combinator({ + value: '', + }) + selector.insertBefore(n, node) + selector.removeChild(n) + return false + } + } + // .foo * -> .foo[xxxxxxx] * + if (node) return + } + if ( (n.type !== 'pseudo' && n.type !== 'combinator') || (n.type === 'pseudo' && From 67722ba23b7c36ab8f3fa2d2b4df08e4ddc322e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E9=9B=BE=E4=B8=89=E8=AF=AD?= <32354856+baiwusanyu-c@users.noreply.github.com> Date: Mon, 15 Apr 2024 20:23:28 +0800 Subject: [PATCH 44/55] fix(runtime-dom): fix css v-bind for suspensed components (#8523) close #8520 --- .../__tests__/helpers/useCssVars.spec.ts | 57 +++++++++++++++++++ .../runtime-dom/src/helpers/useCssVars.ts | 3 +- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/packages/runtime-dom/__tests__/helpers/useCssVars.spec.ts b/packages/runtime-dom/__tests__/helpers/useCssVars.spec.ts index e26b9dfb4..9f860a5e3 100644 --- a/packages/runtime-dom/__tests__/helpers/useCssVars.spec.ts +++ b/packages/runtime-dom/__tests__/helpers/useCssVars.spec.ts @@ -118,6 +118,63 @@ describe('useCssVars', () => { } }) + test('with v-if & async component & suspense', async () => { + const state = reactive({ color: 'red' }) + const root = document.createElement('div') + const show = ref(false) + let resolveAsync: any + let asyncPromise: any + + const AsyncComp = { + setup() { + useCssVars(() => state) + asyncPromise = new Promise(r => { + resolveAsync = () => { + r(() => h('p', 'default')) + } + }) + return asyncPromise + }, + } + + const App = { + setup() { + return () => + h(Suspense, null, { + default: h('div', {}, show.value ? h(AsyncComp) : h('p')), + }) + }, + } + + render(h(App), root) + await nextTick() + // AsyncComp resolve + show.value = true + await nextTick() + resolveAsync() + await asyncPromise.then(() => {}) + // Suspense effects flush + await nextTick() + // css vars use with default tree + for (const c of [].slice.call(root.children as any)) { + expect( + ((c as any).children[0] as HTMLElement).style.getPropertyValue( + `--color`, + ), + ).toBe(`red`) + } + + state.color = 'green' + await nextTick() + for (const c of [].slice.call(root.children as any)) { + expect( + ((c as any).children[0] as HTMLElement).style.getPropertyValue( + `--color`, + ), + ).toBe('green') + } + }) + test('with subTree changed', async () => { const state = reactive({ color: 'red' }) const value = ref(true) diff --git a/packages/runtime-dom/src/helpers/useCssVars.ts b/packages/runtime-dom/src/helpers/useCssVars.ts index 1666e3cb3..286a41760 100644 --- a/packages/runtime-dom/src/helpers/useCssVars.ts +++ b/packages/runtime-dom/src/helpers/useCssVars.ts @@ -42,9 +42,8 @@ export function useCssVars(getter: (ctx: any) => Record) { updateTeleports(vars) } - watchPostEffect(setVars) - onMounted(() => { + watchPostEffect(setVars) const ob = new MutationObserver(setVars) ob.observe(instance.subTree.el!.parentNode, { childList: true }) onUnmounted(() => ob.disconnect()) From 0cef65cee411356e721bbc90d731fc52fc8fce94 Mon Sep 17 00:00:00 2001 From: yangxiuxiu <79584569+yangxiuxiu1115@users.noreply.github.com> Date: Mon, 15 Apr 2024 21:18:59 +0800 Subject: [PATCH 45/55] fix(compiler-sfc): fix defineModel coercion for boolean + string union types (#9603) close #9587 close #10676 --- .../__snapshots__/defineModel.spec.ts.snap | 20 +++++++++++++++++++ .../compileScript/defineModel.spec.ts | 20 +++++++++++++++++++ .../compiler-sfc/src/script/defineModel.ts | 18 ++++++++++------- 3 files changed, 51 insertions(+), 7 deletions(-) diff --git a/packages/compiler-sfc/__tests__/compileScript/__snapshots__/defineModel.spec.ts.snap b/packages/compiler-sfc/__tests__/compileScript/__snapshots__/defineModel.spec.ts.snap index b6a93541d..6e9967fd0 100644 --- a/packages/compiler-sfc/__tests__/compileScript/__snapshots__/defineModel.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/compileScript/__snapshots__/defineModel.spec.ts.snap @@ -103,6 +103,26 @@ return { modelValue } })" `; +exports[`defineModel() > w/ Boolean And Function types, production mode 1`] = ` +"import { useModel as _useModel, defineComponent as _defineComponent } from 'vue' + +export default /*#__PURE__*/_defineComponent({ + props: { + "modelValue": { type: [Boolean, String] }, + "modelModifiers": {}, + }, + emits: ["update:modelValue"], + setup(__props, { expose: __expose }) { + __expose(); + + const modelValue = _useModel(__props, "modelValue") + +return { modelValue } +} + +})" +`; + exports[`defineModel() > w/ array props 1`] = ` "import { useModel as _useModel, mergeModels as _mergeModels } from 'vue' diff --git a/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts b/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts index 304258615..bd048a847 100644 --- a/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/defineModel.spec.ts @@ -221,4 +221,24 @@ describe('defineModel()', () => { assertCode(content) expect(content).toMatch(`set: (v) => { return v + __props.x }`) }) + + test('w/ Boolean And Function types, production mode', () => { + const { content, bindings } = compile( + ` + + `, + { isProd: true }, + ) + assertCode(content) + expect(content).toMatch('"modelValue": { type: [Boolean, String] }') + expect(content).toMatch('emits: ["update:modelValue"]') + expect(content).toMatch( + `const modelValue = _useModel(__props, "modelValue")`, + ) + expect(bindings).toStrictEqual({ + modelValue: BindingTypes.SETUP_REF, + }) + }) }) diff --git a/packages/compiler-sfc/src/script/defineModel.ts b/packages/compiler-sfc/src/script/defineModel.ts index 24fd0780e..e5e2ed0e5 100644 --- a/packages/compiler-sfc/src/script/defineModel.ts +++ b/packages/compiler-sfc/src/script/defineModel.ts @@ -129,15 +129,19 @@ export function genModelProps(ctx: ScriptCompileContext) { let runtimeTypes = type && inferRuntimeType(ctx, type) if (runtimeTypes) { + const hasBoolean = runtimeTypes.includes('Boolean') const hasUnknownType = runtimeTypes.includes(UNKNOWN_TYPE) - runtimeTypes = runtimeTypes.filter(el => { - if (el === UNKNOWN_TYPE) return false - return isProd - ? el === 'Boolean' || (el === 'Function' && options) - : true - }) - skipCheck = !isProd && hasUnknownType && runtimeTypes.length > 0 + if (isProd || hasUnknownType) { + runtimeTypes = runtimeTypes.filter( + t => + t === 'Boolean' || + (hasBoolean && t === 'String') || + (t === 'Function' && options), + ) + + skipCheck = !isProd && hasUnknownType && runtimeTypes.length > 0 + } } let runtimeType = From 2ec06fd6c8383e11cdf4efcab1707f973bd6a54c Mon Sep 17 00:00:00 2001 From: edison Date: Mon, 15 Apr 2024 21:23:30 +0800 Subject: [PATCH 46/55] fix(hydration): properly handle optimized mode during hydrate node (#10638) close #10607 --- .../runtime-core/__tests__/hydration.spec.ts | 81 +++++++++++++++++++ packages/runtime-core/src/hydration.ts | 1 + 2 files changed, 82 insertions(+) diff --git a/packages/runtime-core/__tests__/hydration.spec.ts b/packages/runtime-core/__tests__/hydration.spec.ts index 6caa2442e..e0277622c 100644 --- a/packages/runtime-core/__tests__/hydration.spec.ts +++ b/packages/runtime-core/__tests__/hydration.spec.ts @@ -7,7 +7,10 @@ import { Teleport, Transition, type VNode, + createBlock, createCommentVNode, + createElementBlock, + createElementVNode, createSSRApp, createStaticVNode, createTextVNode, @@ -17,16 +20,19 @@ import { h, nextTick, onMounted, + openBlock, ref, renderSlot, useCssVars, vModelCheckbox, vShow, + withCtx, withDirectives, } from '@vue/runtime-dom' import { type SSRContext, renderToString } from '@vue/server-renderer' import { PatchFlags } from '@vue/shared' import { vShowOriginalDisplay } from '../../runtime-dom/src/directives/vShow' +import { expect } from 'vitest' function mountWithHydration(html: string, render: () => any) { const container = document.createElement('div') @@ -1292,6 +1298,81 @@ describe('SSR hydration', () => { `) }) + // #10607 + test('update component stable slot (prod + optimized mode)', async () => { + __DEV__ = false + const container = document.createElement('div') + container.innerHTML = `` + const Comp = { + render(this: any) { + return ( + openBlock(), + createElementBlock('div', null, [renderSlot(this.$slots, 'default')]) + ) + }, + } + const show = ref(false) + const clicked = ref(false) + + const Wrapper = { + setup() { + const items = ref([]) + onMounted(() => { + items.value = [1] + }) + return () => { + return ( + openBlock(), + createBlock(Comp, null, { + default: withCtx(() => [ + createElementVNode('div', null, [ + createElementVNode('div', null, [ + clicked.value + ? (openBlock(), + createElementBlock('div', { key: 0 }, 'foo')) + : createCommentVNode('v-if', true), + ]), + ]), + createElementVNode( + 'div', + null, + items.value.length, + 1 /* TEXT */, + ), + ]), + _: 1 /* STABLE */, + }) + ) + } + }, + } + createSSRApp({ + components: { Wrapper }, + data() { + return { show } + }, + template: ``, + }).mount(container) + + await nextTick() + expect(container.innerHTML).toBe( + `
1
`, + ) + + show.value = true + await nextTick() + expect(async () => { + clicked.value = true + await nextTick() + }).not.toThrow("Cannot read properties of null (reading 'insertBefore')") + + await nextTick() + expect(container.innerHTML).toBe( + `
foo
1
`, + ) + __DEV__ = true + }) + describe('mismatch handling', () => { test('text node', () => { const { container } = mountWithHydration(`foo`, () => 'bar') diff --git a/packages/runtime-core/src/hydration.ts b/packages/runtime-core/src/hydration.ts index 846957760..a7832ac3d 100644 --- a/packages/runtime-core/src/hydration.ts +++ b/packages/runtime-core/src/hydration.ts @@ -120,6 +120,7 @@ export function createHydrationFunctions( slotScopeIds: string[] | null, optimized = false, ): Node | null => { + optimized = optimized || !!vnode.dynamicChildren const isFragmentStart = isComment(node) && node.data === '[' const onMismatch = () => handleMismatch( From 5a9626708e970c6fc0b6f786e3c80c22273d126f Mon Sep 17 00:00:00 2001 From: Jonas Date: Mon, 15 Apr 2024 15:26:19 +0200 Subject: [PATCH 47/55] fix(ssr): don't render v-if comments in TransitionGroup (#6732) close #6715 --- .../compiler-ssr/__tests__/ssrTransitionGroup.spec.ts | 2 -- packages/compiler-ssr/src/ssrCodegenTransform.ts | 8 +++++++- .../src/transforms/ssrTransformTransitionGroup.ts | 9 ++++++++- packages/compiler-ssr/src/transforms/ssrVIf.ts | 3 ++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts b/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts index d2a576fd0..905e6a489 100644 --- a/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts @@ -82,8 +82,6 @@ describe('transition-group', () => { }) if (_ctx.ok) { _push(\`
ok
\`) - } else { - _push(\`\`) } _push(\`\`) }" diff --git a/packages/compiler-ssr/src/ssrCodegenTransform.ts b/packages/compiler-ssr/src/ssrCodegenTransform.ts index 1755be3a3..53a7a0605 100644 --- a/packages/compiler-ssr/src/ssrCodegenTransform.ts +++ b/packages/compiler-ssr/src/ssrCodegenTransform.ts @@ -141,6 +141,7 @@ export function processChildren( context: SSRTransformContext, asFragment = false, disableNestedFragments = false, + disableCommentAsIfAlternate = false, ) { if (asFragment) { context.pushStringPart(``) @@ -191,7 +192,12 @@ export function processChildren( ) break case NodeTypes.IF: - ssrProcessIf(child, context, disableNestedFragments) + ssrProcessIf( + child, + context, + disableNestedFragments, + disableCommentAsIfAlternate, + ) break case NodeTypes.FOR: ssrProcessFor(child, context, disableNestedFragments) diff --git a/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts b/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts index 2d434010e..a2e284ae8 100644 --- a/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts +++ b/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts @@ -87,6 +87,13 @@ export function ssrProcessTransitionGroup( * by disabling nested fragment wrappers from being generated. */ true, + /** + * TransitionGroup filters out comment children at runtime and thus + * doesn't expect comments to be present during hydration. We need to + * account for that by disabling the empty comment that is otherwise + * rendered for a falsy v-if that has no v-else specified. (#6715) + */ + true, ) context.pushStringPart(``']), ]) From 15ffe8f2c954359770c57e4d9e589b0b622e4a60 Mon Sep 17 00:00:00 2001 From: Wick Date: Mon, 15 Apr 2024 22:02:57 +0800 Subject: [PATCH 48/55] fix(runtime-dom): force update v-model number with leading 0 (#10506) close #10503 close #10615 --- .../__tests__/directives/vModel.spec.ts | 37 +++++++++++++++++++ packages/runtime-dom/src/directives/vModel.ts | 5 ++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/packages/runtime-dom/__tests__/directives/vModel.spec.ts b/packages/runtime-dom/__tests__/directives/vModel.spec.ts index d6398f373..66b57b689 100644 --- a/packages/runtime-dom/__tests__/directives/vModel.spec.ts +++ b/packages/runtime-dom/__tests__/directives/vModel.spec.ts @@ -1269,4 +1269,41 @@ describe('vModel', () => { expect(foo.selected).toEqual(true) expect(bar.selected).toEqual(true) }) + + // #10503 + test('equal value with a leading 0 should trigger update.', async () => { + const setNum = function (this: any, value: any) { + this.num = value + } + const component = defineComponent({ + data() { + return { num: 0 } + }, + render() { + return [ + withVModel( + h('input', { + id: 'input_num1', + type: 'number', + 'onUpdate:modelValue': setNum.bind(this), + }), + this.num, + ), + ] + }, + }) + + render(h(component), root) + const data = root._vnode.component.data + + const inputNum1 = root.querySelector('#input_num1')! + expect(inputNum1.value).toBe('0') + + inputNum1.value = '01' + triggerEvent('input', inputNum1) + await nextTick() + expect(data.num).toBe(1) + + expect(inputNum1.value).toBe('1') + }) }) diff --git a/packages/runtime-dom/src/directives/vModel.ts b/packages/runtime-dom/src/directives/vModel.ts index e002e2e10..b0ea41728 100644 --- a/packages/runtime-dom/src/directives/vModel.ts +++ b/packages/runtime-dom/src/directives/vModel.ts @@ -86,9 +86,10 @@ export const vModelText: ModelDirective< el[assignKey] = getModelAssigner(vnode) // avoid clearing unresolved text. #2302 if ((el as any).composing) return - const elValue = - number || el.type === 'number' ? looseToNumber(el.value) : el.value + (number || el.type === 'number') && !/^0\d/.test(el.value) + ? looseToNumber(el.value) + : el.value const newValue = value == null ? '' : value if (elValue === newValue) { From 7ccd453dd004076cad49ec9f56cd5fe97b7b6ed8 Mon Sep 17 00:00:00 2001 From: Adrien Foulon <6115458+Tofandel@users.noreply.github.com> Date: Mon, 15 Apr 2024 16:28:34 +0200 Subject: [PATCH 49/55] fix(runtime-dom): sanitize wrongly passed string value as event handler (#8953) close #8818 --- .../runtime-dom/__tests__/patchEvents.spec.ts | 11 +++++++ packages/runtime-dom/src/modules/events.ts | 32 ++++++++++++++++--- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/packages/runtime-dom/__tests__/patchEvents.spec.ts b/packages/runtime-dom/__tests__/patchEvents.spec.ts index 1b08f85ca..b7a5af0ed 100644 --- a/packages/runtime-dom/__tests__/patchEvents.spec.ts +++ b/packages/runtime-dom/__tests__/patchEvents.spec.ts @@ -192,4 +192,15 @@ describe(`runtime-dom: events patching`, () => { testElement.dispatchEvent(new CustomEvent('foobar')) expect(fn2).toHaveBeenCalledTimes(1) }) + + it('handles an unknown type', () => { + const el = document.createElement('div') + patchProp(el, 'onClick', null, 'test') + el.dispatchEvent(new Event('click')) + expect( + '[Vue warn]: Wrong type passed to the event invoker, ' + + 'did you maybe forget @ or : in front of your prop?' + + '\nReceived onClick="test"', + ).toHaveBeenWarned() + }) }) diff --git a/packages/runtime-dom/src/modules/events.ts b/packages/runtime-dom/src/modules/events.ts index 0335b6be0..09e4a22a8 100644 --- a/packages/runtime-dom/src/modules/events.ts +++ b/packages/runtime-dom/src/modules/events.ts @@ -1,8 +1,9 @@ -import { hyphenate, isArray } from '@vue/shared' +import { NOOP, hyphenate, isArray, isFunction, isString } from '@vue/shared' import { type ComponentInternalInstance, ErrorCodes, callWithAsyncErrorHandling, + warn, } from '@vue/runtime-core' interface Invoker extends EventListener { @@ -36,7 +37,7 @@ export function patchEvent( el: Element & { [veiKey]?: Record }, rawName: string, prevValue: EventValue | null, - nextValue: EventValue | null, + nextValue: EventValue | unknown, instance: ComponentInternalInstance | null = null, ) { // vei = vue event invokers @@ -44,12 +45,19 @@ export function patchEvent( const existingInvoker = invokers[rawName] if (nextValue && existingInvoker) { // patch - existingInvoker.value = nextValue + existingInvoker.value = __DEV__ + ? sanitizeEventValue(nextValue, rawName) + : (nextValue as EventValue) } else { const [name, options] = parseName(rawName) if (nextValue) { // add - const invoker = (invokers[rawName] = createInvoker(nextValue, instance)) + const invoker = (invokers[rawName] = createInvoker( + __DEV__ + ? sanitizeEventValue(nextValue, rawName) + : (nextValue as EventValue), + instance, + )) addEventListener(el, name, invoker, options) } else if (existingInvoker) { // remove @@ -116,6 +124,18 @@ function createInvoker( return invoker } +function sanitizeEventValue(value: unknown, propName: string): EventValue { + if (isFunction(value) || isArray(value)) { + return value as EventValue + } + warn( + `Wrong type passed to the event invoker, did you maybe forget @ or : ` + + `in front of your prop?\nReceived ` + + `${propName}=${isString(value) ? JSON.stringify(value) : `[${typeof value}]`}`, + ) + return NOOP +} + function patchStopImmediatePropagation( e: Event, value: EventValue, @@ -126,7 +146,9 @@ function patchStopImmediatePropagation( originalStop.call(e) ;(e as any)._stopped = true } - return value.map(fn => (e: Event) => !(e as any)._stopped && fn && fn(e)) + return (value as Function[]).map( + fn => (e: Event) => !(e as any)._stopped && fn && fn(e), + ) } else { return value } From 53d15d3f76184eed67a18d35e43d9a2062f8e121 Mon Sep 17 00:00:00 2001 From: caomingrui <47497092+caomingrui@users.noreply.github.com> Date: Mon, 15 Apr 2024 22:37:16 +0800 Subject: [PATCH 50/55] fix(runtime-core): handle invalid values in callWithAsyncErrorHandling --- packages/runtime-core/src/errorHandling.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/runtime-core/src/errorHandling.ts b/packages/runtime-core/src/errorHandling.ts index dda648038..41c92cbd3 100644 --- a/packages/runtime-core/src/errorHandling.ts +++ b/packages/runtime-core/src/errorHandling.ts @@ -2,7 +2,7 @@ import { pauseTracking, resetTracking } from '@vue/reactivity' import type { VNode } from './vnode' import type { ComponentInternalInstance } from './component' import { popWarningContext, pushWarningContext, warn } from './warning' -import { isFunction, isPromise } from '@vue/shared' +import { isArray, isFunction, isPromise } from '@vue/shared' import { LifecycleHooks } from './enums' // contexts where user provided function may be executed, in addition to @@ -79,7 +79,7 @@ export function callWithAsyncErrorHandling( instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[], -): any[] { +): any { if (isFunction(fn)) { const res = callWithErrorHandling(fn, instance, type, args) if (res && isPromise(res)) { @@ -90,11 +90,17 @@ export function callWithAsyncErrorHandling( return res } - const values = [] - for (let i = 0; i < fn.length; i++) { - values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)) + if (isArray(fn)) { + const values = [] + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)) + } + return values + } else if (__DEV__) { + warn( + `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`, + ) } - return values } export function handleError( From fc99e4d3f01b190ef9fd3c218a668ba9124a32bc Mon Sep 17 00:00:00 2001 From: edison Date: Mon, 15 Apr 2024 22:40:38 +0800 Subject: [PATCH 51/55] fix(Transition): ensure the KeepAlive children unmount w/ out-in mode (#10632) close #10620 --- .../components/BaseTransition.spec.ts | 37 +++++++++++++++++++ .../runtime-core/src/components/KeepAlive.ts | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/components/BaseTransition.spec.ts b/packages/runtime-core/__tests__/components/BaseTransition.spec.ts index 7c389fe1e..3184c9c9c 100644 --- a/packages/runtime-core/__tests__/components/BaseTransition.spec.ts +++ b/packages/runtime-core/__tests__/components/BaseTransition.spec.ts @@ -7,6 +7,7 @@ import { h, nextTick, nodeOps, + onUnmounted, ref, render, serialize, @@ -768,6 +769,42 @@ describe('BaseTransition', () => { test('w/ KeepAlive', async () => { await runTestWithKeepAlive(testOutIn) }) + + test('w/ KeepAlive + unmount innerChild', async () => { + const unmountSpy = vi.fn() + const includeRef = ref(['TrueBranch']) + const trueComp = { + name: 'TrueBranch', + setup() { + onUnmounted(unmountSpy) + const count = ref(0) + return () => h('div', count.value) + }, + } + + const toggle = ref(true) + const { props } = mockProps({ mode: 'out-in' }, true /*withKeepAlive*/) + const root = nodeOps.createElement('div') + const App = { + render() { + return h(BaseTransition, props, () => { + return h( + KeepAlive, + { include: includeRef.value }, + toggle.value ? h(trueComp) : h('div'), + ) + }) + }, + } + render(h(App), root) + + // trigger toggle + toggle.value = false + includeRef.value = [] + + await nextTick() + expect(unmountSpy).toHaveBeenCalledTimes(1) + }) }) // #6835 diff --git a/packages/runtime-core/src/components/KeepAlive.ts b/packages/runtime-core/src/components/KeepAlive.ts index db6088cf5..7697096bc 100644 --- a/packages/runtime-core/src/components/KeepAlive.ts +++ b/packages/runtime-core/src/components/KeepAlive.ts @@ -254,7 +254,7 @@ const KeepAliveImpl: ComponentOptions = { pendingCacheKey = null if (!slots.default) { - return null + return (current = null) } const children = slots.default() From 37ba93c213a81f99a68a99ef5d4065d61b150ba3 Mon Sep 17 00:00:00 2001 From: Thimo Sietsma Date: Mon, 15 Apr 2024 16:50:34 +0200 Subject: [PATCH 52/55] fix(types): avoid merging object union types when using withDefaults (#10596) close #10594 --- packages/dts-test/setupHelpers.test-d.ts | 35 ++++++++++++++++++++ packages/runtime-core/src/apiSetupHelpers.ts | 5 ++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index c749e80a5..883ebe6b2 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -102,6 +102,41 @@ describe('defineProps w/ union type declaration + withDefaults', () => { ) }) +describe('defineProps w/ object union + withDefaults', () => { + const props = withDefaults( + defineProps< + { + foo: string + } & ( + | { + type: 'hello' + bar: string + } + | { + type: 'world' + bar: number + } + ) + >(), + { + foo: 'default value!', + }, + ) + + expectType< + | { + readonly type: 'hello' + readonly bar: string + readonly foo: string + } + | { + readonly type: 'world' + readonly bar: number + readonly foo: string + } + >(props) +}) + describe('defineProps w/ generic type declaration + withDefaults', = T extends undefined ? never : T +type MappedOmit = { + [P in keyof T as P extends K ? never : P]: T[P] +} type InferDefaults = { [K in keyof T]?: InferDefault @@ -299,7 +302,7 @@ type PropsWithDefaults< T, Defaults extends InferDefaults, BKeys extends keyof T, -> = Readonly> & { +> = Readonly> & { readonly [K in keyof Defaults]-?: K extends keyof T ? Defaults[K] extends undefined ? T[K] From 9da34d7af81607fddd1f32f21b3b4002402ff1cc Mon Sep 17 00:00:00 2001 From: Wick Date: Mon, 15 Apr 2024 22:55:37 +0800 Subject: [PATCH 53/55] fix(reactivity): computed should not be detected as true by isProxy (#10401) --- .../reactivity/__tests__/reactive.spec.ts | 31 ++++++++++++++++++- packages/reactivity/src/reactive.ts | 4 +-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/packages/reactivity/__tests__/reactive.spec.ts b/packages/reactivity/__tests__/reactive.spec.ts index cdcd03258..bd4ec402b 100644 --- a/packages/reactivity/__tests__/reactive.spec.ts +++ b/packages/reactivity/__tests__/reactive.spec.ts @@ -1,5 +1,14 @@ import { isRef, ref } from '../src/ref' -import { isReactive, markRaw, reactive, toRaw } from '../src/reactive' +import { + isProxy, + isReactive, + markRaw, + reactive, + readonly, + shallowReactive, + shallowReadonly, + toRaw, +} from '../src/reactive' import { computed } from '../src/computed' import { effect } from '../src/effect' @@ -330,4 +339,24 @@ describe('reactivity/reactive', () => { delete obj[key] expect(dummy).toBe(false) }) + + test('isProxy', () => { + const foo = {} + expect(isProxy(foo)).toBe(false) + + const fooRe = reactive(foo) + expect(isProxy(fooRe)).toBe(true) + + const fooSRe = shallowReactive(foo) + expect(isProxy(fooSRe)).toBe(true) + + const barRl = readonly(foo) + expect(isProxy(barRl)).toBe(true) + + const barSRl = shallowReadonly(foo) + expect(isProxy(barSRl)).toBe(true) + + const c = computed(() => {}) + expect(isProxy(c)).toBe(false) + }) }) diff --git a/packages/reactivity/src/reactive.ts b/packages/reactivity/src/reactive.ts index 7e80737fb..f6fcbbdb9 100644 --- a/packages/reactivity/src/reactive.ts +++ b/packages/reactivity/src/reactive.ts @@ -329,8 +329,8 @@ export function isShallow(value: unknown): boolean { * @param value - The value to check. * @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy} */ -export function isProxy(value: unknown): boolean { - return isReactive(value) || isReadonly(value) +export function isProxy(value: any): boolean { + return value ? !!value[ReactiveFlags.RAW] : false } /** From f26d56601ca0d2726ad4350e1ddb7b95fbb1c31a Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 15 Apr 2024 23:39:59 +0800 Subject: [PATCH 54/55] chore: improve event value validation message --- packages/runtime-dom/__tests__/patchEvents.spec.ts | 5 ++--- packages/runtime-dom/src/modules/events.ts | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/runtime-dom/__tests__/patchEvents.spec.ts b/packages/runtime-dom/__tests__/patchEvents.spec.ts index b7a5af0ed..f70bf327a 100644 --- a/packages/runtime-dom/__tests__/patchEvents.spec.ts +++ b/packages/runtime-dom/__tests__/patchEvents.spec.ts @@ -198,9 +198,8 @@ describe(`runtime-dom: events patching`, () => { patchProp(el, 'onClick', null, 'test') el.dispatchEvent(new Event('click')) expect( - '[Vue warn]: Wrong type passed to the event invoker, ' + - 'did you maybe forget @ or : in front of your prop?' + - '\nReceived onClick="test"', + `Wrong type passed as event handler to onClick - did you forget @ or : ` + + `in front of your prop?\nExpected function or array of functions, received type string.`, ).toHaveBeenWarned() }) }) diff --git a/packages/runtime-dom/src/modules/events.ts b/packages/runtime-dom/src/modules/events.ts index 09e4a22a8..fd049a88f 100644 --- a/packages/runtime-dom/src/modules/events.ts +++ b/packages/runtime-dom/src/modules/events.ts @@ -1,4 +1,4 @@ -import { NOOP, hyphenate, isArray, isFunction, isString } from '@vue/shared' +import { NOOP, hyphenate, isArray, isFunction } from '@vue/shared' import { type ComponentInternalInstance, ErrorCodes, @@ -129,9 +129,8 @@ function sanitizeEventValue(value: unknown, propName: string): EventValue { return value as EventValue } warn( - `Wrong type passed to the event invoker, did you maybe forget @ or : ` + - `in front of your prop?\nReceived ` + - `${propName}=${isString(value) ? JSON.stringify(value) : `[${typeof value}]`}`, + `Wrong type passed as event handler to ${propName} - did you forget @ or : ` + + `in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`, ) return NOOP } From b4b856b3f0ebe937eacb6945d13b2561037057b5 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 15 Apr 2024 23:59:36 +0800 Subject: [PATCH 55/55] release: v3.4.22 --- CHANGELOG.md | 41 +++++++++++++++++++++++++++ package.json | 2 +- packages/compiler-core/package.json | 2 +- packages/compiler-dom/package.json | 2 +- packages/compiler-sfc/package.json | 2 +- packages/compiler-ssr/package.json | 2 +- packages/reactivity/package.json | 2 +- packages/runtime-core/package.json | 2 +- packages/runtime-dom/package.json | 2 +- packages/server-renderer/package.json | 2 +- packages/shared/package.json | 2 +- packages/vue-compat/package.json | 2 +- packages/vue/package.json | 2 +- 13 files changed, 53 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28447dfe3..a0d590a5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,44 @@ +## [3.4.22](https://github.com/vuejs/core/compare/v3.4.21...v3.4.22) (2024-04-15) + + +### Bug Fixes + +* **compat:** fix $options mutation + adjust private API initialization ([d58d133](https://github.com/vuejs/core/commit/d58d133b1cde5085cc5ab0012d544cafd62a6ee6)), closes [#10626](https://github.com/vuejs/core/issues/10626) [#10636](https://github.com/vuejs/core/issues/10636) +* **compile-sfc:** analyze v-bind shorthand usage in template ([#10518](https://github.com/vuejs/core/issues/10518)) ([e5919d4](https://github.com/vuejs/core/commit/e5919d4658cfe0bb18c76611dd3c3432c57f94ab)), closes [#10515](https://github.com/vuejs/core/issues/10515) +* **compiler-core:** fix loc.source for end tags with whitespace before > ([16174da](https://github.com/vuejs/core/commit/16174da21d6c8ac0aae027dd964fc35e221ded0a)), closes [#10694](https://github.com/vuejs/core/issues/10694) [#10695](https://github.com/vuejs/core/issues/10695) +* **compiler-core:** fix v-bind shorthand for component :is ([04af950](https://github.com/vuejs/core/commit/04af9504a720c8e6de26c04b1282cf14fa1bcee3)), closes [#10469](https://github.com/vuejs/core/issues/10469) [#10471](https://github.com/vuejs/core/issues/10471) +* **compiler-sfc:** :is() and :where() in compound selectors ([#10522](https://github.com/vuejs/core/issues/10522)) ([660cadc](https://github.com/vuejs/core/commit/660cadc7aadb909ef33a6055c4374902a82607a4)), closes [#10511](https://github.com/vuejs/core/issues/10511) +* **compiler-sfc:** also search for `.tsx` when type import's extension is omitted ([#10637](https://github.com/vuejs/core/issues/10637)) ([34106bc](https://github.com/vuejs/core/commit/34106bc9c715247211273bb9c64712f04bd4879d)), closes [#10635](https://github.com/vuejs/core/issues/10635) +* **compiler-sfc:** fix defineModel coercion for boolean + string union types ([#9603](https://github.com/vuejs/core/issues/9603)) ([0cef65c](https://github.com/vuejs/core/commit/0cef65cee411356e721bbc90d731fc52fc8fce94)), closes [#9587](https://github.com/vuejs/core/issues/9587) [#10676](https://github.com/vuejs/core/issues/10676) +* **compiler-sfc:** fix universal selector scope ([#10551](https://github.com/vuejs/core/issues/10551)) ([54a6afa](https://github.com/vuejs/core/commit/54a6afa75a546078e901ce0882da53b97420fe94)), closes [#10548](https://github.com/vuejs/core/issues/10548) +* **compiler-sfc:** use options module name if options provide runtimeModuleName options ([#10457](https://github.com/vuejs/core/issues/10457)) ([e76d743](https://github.com/vuejs/core/commit/e76d7430aa7470342f3fe263145a0fa92f5898ca)), closes [#10454](https://github.com/vuejs/core/issues/10454) +* **custom-element:** avoid setting attr to null if it is removed ([#9012](https://github.com/vuejs/core/issues/9012)) ([b49306a](https://github.com/vuejs/core/commit/b49306adff4572d90a42ccd231387f16eb966bbe)), closes [#9006](https://github.com/vuejs/core/issues/9006) [#10324](https://github.com/vuejs/core/issues/10324) +* **hydration:** properly handle optimized mode during hydrate node ([#10638](https://github.com/vuejs/core/issues/10638)) ([2ec06fd](https://github.com/vuejs/core/commit/2ec06fd6c8383e11cdf4efcab1707f973bd6a54c)), closes [#10607](https://github.com/vuejs/core/issues/10607) +* **reactivity:** computed should not be detected as true by isProxy ([#10401](https://github.com/vuejs/core/issues/10401)) ([9da34d7](https://github.com/vuejs/core/commit/9da34d7af81607fddd1f32f21b3b4002402ff1cc)) +* **reactivity:** fix hasOwnProperty key coercion edge cases ([969c5fb](https://github.com/vuejs/core/commit/969c5fb30f4c725757c7385abfc74772514eae4b)) +* **reactivity:** fix tracking when hasOwnProperty is called with non-string value ([c3c5dc9](https://github.com/vuejs/core/commit/c3c5dc93fbccc196771458f0b43cd5b7ad1863f4)), closes [#10455](https://github.com/vuejs/core/issues/10455) [#10464](https://github.com/vuejs/core/issues/10464) +* **runtime-core:** fix errorHandler causes an infinite loop during execution ([#9575](https://github.com/vuejs/core/issues/9575)) ([ab59bed](https://github.com/vuejs/core/commit/ab59bedae4e5e40b28804d88a51305b236d4a873)) +* **runtime-core:** handle invalid values in callWithAsyncErrorHandling ([53d15d3](https://github.com/vuejs/core/commit/53d15d3f76184eed67a18d35e43d9a2062f8e121)) +* **runtime-core:** show hydration mismatch details for non-rectified mismatches too when __PROD_HYDRATION_MISMATCH_DETAILS__ is set ([#10599](https://github.com/vuejs/core/issues/10599)) ([0dea7f9](https://github.com/vuejs/core/commit/0dea7f9a260d93eb6c39aabac8c94c2c9b2042dd)) +* **runtime-dom:** `v-model` string/number coercion for multiselect options ([#10576](https://github.com/vuejs/core/issues/10576)) ([db374e5](https://github.com/vuejs/core/commit/db374e54c9f5e07324728b85c74eca84e28dd352)) +* **runtime-dom:** fix css v-bind for suspensed components ([#8523](https://github.com/vuejs/core/issues/8523)) ([67722ba](https://github.com/vuejs/core/commit/67722ba23b7c36ab8f3fa2d2b4df08e4ddc322e1)), closes [#8520](https://github.com/vuejs/core/issues/8520) +* **runtime-dom:** force update v-model number with leading 0 ([#10506](https://github.com/vuejs/core/issues/10506)) ([15ffe8f](https://github.com/vuejs/core/commit/15ffe8f2c954359770c57e4d9e589b0b622e4a60)), closes [#10503](https://github.com/vuejs/core/issues/10503) [#10615](https://github.com/vuejs/core/issues/10615) +* **runtime-dom:** sanitize wrongly passed string value as event handler ([#8953](https://github.com/vuejs/core/issues/8953)) ([7ccd453](https://github.com/vuejs/core/commit/7ccd453dd004076cad49ec9f56cd5fe97b7b6ed8)), closes [#8818](https://github.com/vuejs/core/issues/8818) +* **ssr:** don't render v-if comments in TransitionGroup ([#6732](https://github.com/vuejs/core/issues/6732)) ([5a96267](https://github.com/vuejs/core/commit/5a9626708e970c6fc0b6f786e3c80c22273d126f)), closes [#6715](https://github.com/vuejs/core/issues/6715) +* **Transition:** ensure the KeepAlive children unmount w/ out-in mode ([#10632](https://github.com/vuejs/core/issues/10632)) ([fc99e4d](https://github.com/vuejs/core/commit/fc99e4d3f01b190ef9fd3c218a668ba9124a32bc)), closes [#10620](https://github.com/vuejs/core/issues/10620) +* **TransitionGroup:** avoid set transition hooks for comment nodes and text nodes ([#9421](https://github.com/vuejs/core/issues/9421)) ([140a768](https://github.com/vuejs/core/commit/140a7681cc3bba22f55d97fd85a5eafe97a1230f)), closes [#4621](https://github.com/vuejs/core/issues/4621) [#4622](https://github.com/vuejs/core/issues/4622) [#5153](https://github.com/vuejs/core/issues/5153) [#5168](https://github.com/vuejs/core/issues/5168) [#7898](https://github.com/vuejs/core/issues/7898) [#9067](https://github.com/vuejs/core/issues/9067) +* **types:** avoid merging object union types when using withDefaults ([#10596](https://github.com/vuejs/core/issues/10596)) ([37ba93c](https://github.com/vuejs/core/commit/37ba93c213a81f99a68a99ef5d4065d61b150ba3)), closes [#10594](https://github.com/vuejs/core/issues/10594) + + +### Performance Improvements + +* add `__NO_SIDE_EFFECTS__` comments ([#9053](https://github.com/vuejs/core/issues/9053)) ([d46df6b](https://github.com/vuejs/core/commit/d46df6bdb14b0509eb2134b3f85297a306821c61)) +* optimize component props/slots internal object checks ([6af733d](https://github.com/vuejs/core/commit/6af733d68eb400a3d2c5ef5f465fff32b72a324e)) +* **ssr:** avoid calling markRaw on component instance proxy ([4bc9f39](https://github.com/vuejs/core/commit/4bc9f39f028af7313e5cf24c16915a1985d27bf8)) +* **ssr:** optimize setup context creation for ssr in v8 ([ca84316](https://github.com/vuejs/core/commit/ca84316bfb3410efe21333670a6ad5cd21857396)) + + + ## [3.4.21](https://github.com/vuejs/core/compare/v3.4.20...v3.4.21) (2024-02-28) diff --git a/package.json b/package.json index 2c8ba0b81..acb12ffc9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "3.4.21", + "version": "3.4.22", "packageManager": "pnpm@8.15.6", "type": "module", "scripts": { diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index 6ffa0aa21..19d0a416a 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-core", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/compiler-core", "main": "index.js", "module": "dist/compiler-core.esm-bundler.js", diff --git a/packages/compiler-dom/package.json b/packages/compiler-dom/package.json index f6d90554d..3826fb2c6 100644 --- a/packages/compiler-dom/package.json +++ b/packages/compiler-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-dom", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/compiler-dom", "main": "index.js", "module": "dist/compiler-dom.esm-bundler.js", diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index d1c7b5419..9e7325500 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-sfc", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/compiler-sfc", "main": "dist/compiler-sfc.cjs.js", "module": "dist/compiler-sfc.esm-browser.js", diff --git a/packages/compiler-ssr/package.json b/packages/compiler-ssr/package.json index 700690be3..6e9648f54 100644 --- a/packages/compiler-ssr/package.json +++ b/packages/compiler-ssr/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-ssr", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/compiler-ssr", "main": "dist/compiler-ssr.cjs.js", "types": "dist/compiler-ssr.d.ts", diff --git a/packages/reactivity/package.json b/packages/reactivity/package.json index caccbc25a..414083ef6 100644 --- a/packages/reactivity/package.json +++ b/packages/reactivity/package.json @@ -1,6 +1,6 @@ { "name": "@vue/reactivity", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/reactivity", "main": "index.js", "module": "dist/reactivity.esm-bundler.js", diff --git a/packages/runtime-core/package.json b/packages/runtime-core/package.json index 7171aa3d4..8edddcc32 100644 --- a/packages/runtime-core/package.json +++ b/packages/runtime-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-core", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/runtime-core", "main": "index.js", "module": "dist/runtime-core.esm-bundler.js", diff --git a/packages/runtime-dom/package.json b/packages/runtime-dom/package.json index 12ffce6d2..17712da8e 100644 --- a/packages/runtime-dom/package.json +++ b/packages/runtime-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-dom", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/runtime-dom", "main": "index.js", "module": "dist/runtime-dom.esm-bundler.js", diff --git a/packages/server-renderer/package.json b/packages/server-renderer/package.json index 91015f515..8cd53da98 100644 --- a/packages/server-renderer/package.json +++ b/packages/server-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@vue/server-renderer", - "version": "3.4.21", + "version": "3.4.22", "description": "@vue/server-renderer", "main": "index.js", "module": "dist/server-renderer.esm-bundler.js", diff --git a/packages/shared/package.json b/packages/shared/package.json index 2683c4ac8..a227ded9e 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@vue/shared", - "version": "3.4.21", + "version": "3.4.22", "description": "internal utils shared across @vue packages", "main": "index.js", "module": "dist/shared.esm-bundler.js", diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index 7091e9a57..4c5dd04e3 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compat", - "version": "3.4.21", + "version": "3.4.22", "description": "Vue 3 compatibility build for Vue 2", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js", diff --git a/packages/vue/package.json b/packages/vue/package.json index 95a75640e..1a297293d 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "3.4.21", + "version": "3.4.22", "description": "The progressive JavaScript framework for building modern web UI.", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js",