From 2a29a71d8ae2eabb4b57aee782dfb482ee914121 Mon Sep 17 00:00:00 2001 From: David Matter Date: Fri, 2 Aug 2024 05:45:23 +0200 Subject: [PATCH 01/44] test(types): add test for generic discriminated unions in props (#9336) --- packages/dts-test/setupHelpers.test-d.ts | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index 883ebe6b2..729f9b97d 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -137,6 +137,31 @@ describe('defineProps w/ object union + withDefaults', () => { >(props) }) +describe('defineProps w/ generic discriminate union + withDefaults', () => { + interface B { + b?: string + } + interface S extends B { + mode: 'single' + v: T + } + interface M extends B { + mode: 'multiple' + v: T[] + } + type Props = S | M + const props = withDefaults(defineProps(), { + b: 'b', + }) + + if (props.mode === 'single') { + expectType(props.v) + } + if (props.mode === 'multiple') { + expectType(props.v) + } +}) + describe('defineProps w/ generic type declaration + withDefaults', Date: Mon, 5 Aug 2024 10:42:13 +0800 Subject: [PATCH 02/44] chore(runtime-test): remove useless test code (#11483) --- packages/runtime-test/__tests__/testRuntime.spec.ts | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/packages/runtime-test/__tests__/testRuntime.spec.ts b/packages/runtime-test/__tests__/testRuntime.spec.ts index 2b6e12c47..df8c77af0 100644 --- a/packages/runtime-test/__tests__/testRuntime.spec.ts +++ b/packages/runtime-test/__tests__/testRuntime.spec.ts @@ -200,17 +200,4 @@ describe('test renderer', () => { await nextTick() expect(serialize(root)).toBe(`
1, 2
`) }) - - it('should mock warn', () => { - console.warn('warn!!!') - expect('warn!!!').toHaveBeenWarned() - expect('warn!!!').toHaveBeenWarnedTimes(1) - - console.warn('warn!!!') - expect('warn!!!').toHaveBeenWarnedTimes(2) - - console.warn('warning') - expect('warn!!!').toHaveBeenWarnedTimes(2) - expect('warning').toHaveBeenWarnedLast() - }) }) From 3430bffa4b58ea7b2002f67bea2c3667e5200e46 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 5 Aug 2024 10:53:21 +0800 Subject: [PATCH 03/44] test(runtime-core): test cases when the value of the `$stable` flag is false (#11485) --- .../__tests__/componentSlots.spec.ts | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/componentSlots.spec.ts b/packages/runtime-core/__tests__/componentSlots.spec.ts index 6042ccbd7..93d88ad0e 100644 --- a/packages/runtime-core/__tests__/componentSlots.spec.ts +++ b/packages/runtime-core/__tests__/componentSlots.spec.ts @@ -213,7 +213,7 @@ describe('component: slots', () => { expect(instance.slots.default()).toMatchObject([normalizeVNode('footer')]) }) - test('should respect $stable flag', async () => { + test('should respect $stable flag with a value of true', async () => { const flag1 = ref(1) const flag2 = ref(2) const spy = vi.fn() @@ -255,6 +255,48 @@ describe('component: slots', () => { expect(spy).toHaveBeenCalledTimes(2) }) + test('should respect $stable flag with a value of false', async () => { + const flag1 = ref(1) + const flag2 = ref(2) + const spy = vi.fn() + + const Child = () => { + spy() + return 'child' + } + + const App = { + setup() { + return () => [ + flag1.value, + h( + Child, + { n: flag2.value }, + { + foo: () => 'foo', + $stable: false, + }, + ), + ] + }, + } + + render(h(App), nodeOps.createElement('div')) + expect(spy).toHaveBeenCalledTimes(1) + + // parent re-render, props didn't change, slots are not stable + // -> child should update + flag1.value++ + await nextTick() + expect(spy).toHaveBeenCalledTimes(2) + + // parent re-render, props changed + // -> child should update + flag2.value++ + await nextTick() + expect(spy).toHaveBeenCalledTimes(3) + }) + test('should not warn when mounting another app in setup', () => { const Comp = { setup(_: any, { slots }: any) { From 4592b63c6a8a3d69bfe4ac1f9458b4a86a9676a4 Mon Sep 17 00:00:00 2001 From: Tycho Date: Mon, 5 Aug 2024 10:59:44 +0800 Subject: [PATCH 04/44] fix(types/withDefaults): ensure default values of type `any` do not include `undefined` (#11490) --- packages/dts-test/setupHelpers.test-d.ts | 6 +++++- packages/runtime-core/src/apiSetupHelpers.ts | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index 729f9b97d..b134a4ca0 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -42,7 +42,8 @@ describe('defineProps w/ generics', () => { test() }) -describe('defineProps w/ type declaration + withDefaults', () => { +describe('defineProps w/ type declaration + withDefaults', () => { const res = withDefaults( defineProps<{ number?: number @@ -55,6 +56,7 @@ describe('defineProps w/ type declaration + withDefaults', () => { z?: string bool?: boolean boolAndUndefined: boolean | undefined + foo?: T }>(), { number: 123, @@ -64,6 +66,7 @@ describe('defineProps w/ type declaration + withDefaults', () => { genStr: () => '', y: undefined, z: 'string', + foo: '' as any, }, ) @@ -80,6 +83,7 @@ describe('defineProps w/ type declaration + withDefaults', () => { expectType(res.x) expectType(res.y) expectType(res.z) + expectType(res.foo) expectType(res.bool) expectType(res.boolAndUndefined) diff --git a/packages/runtime-core/src/apiSetupHelpers.ts b/packages/runtime-core/src/apiSetupHelpers.ts index 39d8edbcc..c233fd350 100644 --- a/packages/runtime-core/src/apiSetupHelpers.ts +++ b/packages/runtime-core/src/apiSetupHelpers.ts @@ -1,4 +1,5 @@ import { + type IfAny, type LooseRequired, type Prettify, type UnionToIntersection, @@ -305,7 +306,7 @@ type PropsWithDefaults< > = Readonly> & { readonly [K in keyof Defaults]-?: K extends keyof T ? Defaults[K] extends undefined - ? T[K] + ? IfAny, T[K]> : NotUndefined : never } & { From 2f9023d3dcb42273414271d3f59b42611a2cef32 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 13:08:33 +0800 Subject: [PATCH 05/44] chore(deps): update dependency marked to v13 (#11500) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c2b7b21ec..03befd739 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "lodash": "^4.17.21", "magic-string": "^0.30.10", "markdown-table": "^3.0.3", - "marked": "^12.0.2", + "marked": "^13.0.3", "npm-run-all2": "^6.2.2", "picocolors": "^1.0.1", "prettier": "^3.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b2337776..b8a038fcf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -108,8 +108,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 marked: - specifier: ^12.0.2 - version: 12.0.2 + specifier: ^13.0.3 + version: 13.0.3 npm-run-all2: specifier: ^6.2.2 version: 6.2.2 @@ -2540,8 +2540,8 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + marked@13.0.3: + resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} engines: {node: '>= 18'} hasBin: true @@ -5687,7 +5687,7 @@ snapshots: markdown-table@3.0.3: {} - marked@12.0.2: {} + marked@13.0.3: {} memorystream@0.3.1: {} From 077a1aeb3c222b729a7e190f46864656ecc65325 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 5 Aug 2024 13:46:51 +0800 Subject: [PATCH 06/44] fix(compiler-core): fix expression transform for try...catch block params close #11465 close #11467 --- .../transformExpressions.spec.ts.snap | 62 ++++++++--- .../transforms/transformExpressions.spec.ts | 105 ++++++++++++------ packages/compiler-core/src/babelUtils.ts | 4 + 3 files changed, 119 insertions(+), 52 deletions(-) diff --git a/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap b/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap index 9f4406864..9ea502132 100644 --- a/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap +++ b/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap @@ -14,44 +14,74 @@ return function render(_ctx, _cache, $props, $setup, $data, $options) { }" `; -exports[`compiler: expression transform > bindingMetadata > should not prefix temp variable of for loop 1`] = ` +exports[`compiler: expression transform > should not prefix catch block param 1`] = ` "const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue -return function render(_ctx, _cache, $props, $setup, $data, $options) { +return function render(_ctx, _cache) { return (_openBlock(), _createElementBlock("div", { onClick: () => { - for (let i = 0; i < _ctx.list.length; i++) { - _ctx.log(i) - } - } + try {} catch (err) { console.error(err) } + console.log(_ctx.err) + } }, null, 8 /* PROPS */, ["onClick"])) }" `; -exports[`compiler: expression transform > bindingMetadata > should not prefix temp variable of for...in 1`] = ` +exports[`compiler: expression transform > should not prefix destructured catch block param 1`] = ` "const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue -return function render(_ctx, _cache, $props, $setup, $data, $options) { +return function render(_ctx, _cache) { return (_openBlock(), _createElementBlock("div", { onClick: () => { - for (const x in _ctx.list) { - _ctx.log(x) - } + try { + throw new Error('sup?') + } catch ({ message: { length } }) { + console.error(length) } + console.log(_ctx.length) + } }, null, 8 /* PROPS */, ["onClick"])) }" `; -exports[`compiler: expression transform > bindingMetadata > should not prefix temp variable of for...of 1`] = ` +exports[`compiler: expression transform > should not prefix temp variable of for loop 1`] = ` "const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue -return function render(_ctx, _cache, $props, $setup, $data, $options) { +return function render(_ctx, _cache) { return (_openBlock(), _createElementBlock("div", { onClick: () => { - for (const x of _ctx.list) { - _ctx.log(x) - } + for (let i = 0; i < _ctx.list.length; i++) { + _ctx.log(i) } + } + }, null, 8 /* PROPS */, ["onClick"])) +}" +`; + +exports[`compiler: expression transform > should not prefix temp variable of for...in 1`] = ` +"const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue + +return function render(_ctx, _cache) { + return (_openBlock(), _createElementBlock("div", { + onClick: () => { + for (const x in _ctx.list) { + _ctx.log(x) + } + } + }, null, 8 /* PROPS */, ["onClick"])) +}" +`; + +exports[`compiler: expression transform > should not prefix temp variable of for...of 1`] = ` +"const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue + +return function render(_ctx, _cache) { + return (_openBlock(), _createElementBlock("div", { + onClick: () => { + for (const x of _ctx.list) { + _ctx.log(x) + } + } }, null, 8 /* PROPS */, ["onClick"])) }" `; diff --git a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts index 7ca831f0c..af14265e2 100644 --- a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts +++ b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts @@ -27,6 +27,10 @@ function parseWithExpressionTransform( return ast.children[0] } +function compile(template: string) { + return baseCompile(template, { prefixIdentifiers: true }) +} + describe('compiler: expression transform', () => { test('interpolation (root)', () => { const node = parseWithExpressionTransform(`{{ foo }}`) as InterpolationNode @@ -291,6 +295,7 @@ describe('compiler: expression transform', () => { ], }) }) + test('should not prefix an object property key', () => { const node = parseWithExpressionTransform( `{{ { foo() { baz() }, value: bar } }}`, @@ -457,6 +462,70 @@ describe('compiler: expression transform', () => { }) }) + test('should not prefix temp variable of for...in', () => { + const { code } = compile( + `
`, + ) + expect(code).not.toMatch(`_ctx.x`) + expect(code).toMatchSnapshot() + }) + + test('should not prefix temp variable of for...of', () => { + const { code } = compile( + `
`, + ) + expect(code).not.toMatch(`_ctx.x`) + expect(code).toMatchSnapshot() + }) + + test('should not prefix temp variable of for loop', () => { + const { code } = compile( + `
`, + ) + expect(code).not.toMatch(`_ctx.i`) + expect(code).toMatchSnapshot() + }) + + test('should not prefix catch block param', () => { + const { code } = compile( + `
`, + ) + expect(code).not.toMatch(`console.error(_ctx.err)`) + expect(code).toMatch(`console.log(_ctx.err)`) + expect(code).toMatchSnapshot() + }) + + test('should not prefix destructured catch block param', () => { + const { code } = compile( + `
`, + ) + expect(code).not.toMatch(`console.error(_ctx.length)`) + expect(code).toMatch(`console.log(_ctx.length)`) + expect(code).toMatchSnapshot() + }) + describe('ES Proposals support', () => { test('bigInt', () => { const node = parseWithExpressionTransform( @@ -555,42 +624,6 @@ describe('compiler: expression transform', () => { expect(code).toMatchSnapshot() }) - test('should not prefix temp variable of for...in', () => { - const { code } = compileWithBindingMetadata( - `
`, - ) - expect(code).not.toMatch(`_ctx.x`) - expect(code).toMatchSnapshot() - }) - - test('should not prefix temp variable of for...of', () => { - const { code } = compileWithBindingMetadata( - `
`, - ) - expect(code).not.toMatch(`_ctx.x`) - expect(code).toMatchSnapshot() - }) - - test('should not prefix temp variable of for loop', () => { - const { code } = compileWithBindingMetadata( - `
`, - ) - expect(code).not.toMatch(`_ctx.i`) - expect(code).toMatchSnapshot() - }) - test('inline mode', () => { const { code } = compileWithBindingMetadata( `
{{ props }} {{ setup }} {{ setupConst }} {{ data }} {{ options }} {{ isNaN }}
`, diff --git a/packages/compiler-core/src/babelUtils.ts b/packages/compiler-core/src/babelUtils.ts index 679977988..3144ed595 100644 --- a/packages/compiler-core/src/babelUtils.ts +++ b/packages/compiler-core/src/babelUtils.ts @@ -77,6 +77,10 @@ export function walkIdentifiers( markScopeIdentifier(node, id, knownIds), ) } + } else if (node.type === 'CatchClause' && node.param) { + for (const id of extractIdentifiers(node.param)) { + markScopeIdentifier(node, id, knownIds) + } } }, leave(node: Node & { scopeIds?: Set }, parent: Node | null) { From 47bda1578836089c1bc4925a962ed55fdbeb86f9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:06:21 +0800 Subject: [PATCH 07/44] chore(deps): update dependency typescript-eslint to v8 (#11506) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 141 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 103 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index 03befd739..064030b84 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "tslib": "^2.6.3", "tsx": "^4.16.2", "typescript": "~5.4.5", - "typescript-eslint": "^7.17.0", + "typescript-eslint": "^8.0.0", "vite": "catalog:", "vitest": "^1.6.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b8a038fcf..4f624cf9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -165,8 +165,8 @@ importers: specifier: ~5.4.5 version: 5.4.5 typescript-eslint: - specifier: ^7.17.0 - version: 7.17.0(eslint@9.8.0)(typescript@5.4.5) + specifier: ^8.0.0 + version: 8.0.0(eslint@9.8.0)(typescript@5.4.5) vite: specifier: 'catalog:' version: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) @@ -1223,22 +1223,22 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.17.0': - resolution: {integrity: sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@8.0.0': + resolution: {integrity: sha512-STIZdwEQRXAHvNUS6ILDf5z3u95Gc8jzywunxSNqX00OooIemaaNIA0vEgynJlycL5AjabYLLrIyHd4iazyvtg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.17.0': - resolution: {integrity: sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.0.0': + resolution: {integrity: sha512-pS1hdZ+vnrpDIxuFXYQpLTILglTjSYJ9MbetZctrUawogUsPdz31DIIRZ9+rab0LhYNTsk88w4fIzVheiTbWOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -1252,11 +1252,14 @@ packages: resolution: {integrity: sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.17.0': - resolution: {integrity: sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.0.0': + resolution: {integrity: sha512-V0aa9Csx/ZWWv2IPgTfY7T4agYwJyILESu/PVqFtTFz9RIS823mAze+NbnBI8xiwdX3iqeQbcTYlvB04G9wyQw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.0.0': + resolution: {integrity: sha512-mJAFP2mZLTBwAn5WI4PMakpywfWFH5nQZezUQdSKV23Pqo6o9iShQg1hP2+0hJJXP2LnZkWPphdIq4juYYwCeg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: @@ -1270,6 +1273,10 @@ packages: resolution: {integrity: sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.0.0': + resolution: {integrity: sha512-wgdSGs9BTMWQ7ooeHtu5quddKKs5Z5dS+fHLbrQI+ID0XWJLODGMHRfhwImiHoeO2S5Wir2yXuadJN6/l4JRxw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@7.15.0': resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1288,6 +1295,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.0.0': + resolution: {integrity: sha512-5b97WpKMX+Y43YKi4zVcCVLtK5F98dFls3Oxui8LbnmRsseKenbbDinmvxrWegKDMmlkIq/XHuyy0UGLtpCDKg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@7.15.0': resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1300,6 +1316,12 @@ packages: peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.0.0': + resolution: {integrity: sha512-k/oS/A/3QeGLRvOWCg6/9rATJL5rec7/5s1YmdS0ZU6LHveJyGFwBvLhSRBv6i9xaj7etmosp+l+ViN1I9Aj/Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@7.15.0': resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1308,6 +1330,10 @@ packages: resolution: {integrity: sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.0.0': + resolution: {integrity: sha512-oN0K4nkHuOyF3PVMyETbpP5zp6wfyOvm7tWhTMfoqxSSsPmJIh6JNASuZDlODE8eE+0EB9uar+6+vxr9DBTYOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitejs/plugin-vue@5.1.1': resolution: {integrity: sha512-sDckXxlHpMsjRQbAH9WanangrfrblsOd3pNifePs+FOHjJg1jfWq5L/P0PsBRndEt3nmdUnmvieP8ULDeX5AvA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -3341,11 +3367,10 @@ packages: resolution: {integrity: sha512-ADn2w7hVPcK6w1I0uWnM//y1rLXZhzB9mr0a3OirzclKF1Wp6VzevUmzz/NRAWunOT6E8HrnpGY7xOfc6K57fA==} engines: {node: '>=16'} - typescript-eslint@7.17.0: - resolution: {integrity: sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ==} - engines: {node: ^18.18.0 || >=20.0.0} + typescript-eslint@8.0.0: + resolution: {integrity: sha512-yQWBJutWL1PmpmDddIOl9/Mi6vZjqNCjqSGBMQ4vsc2Aiodk0SnbQQWPXbSy0HNuKCuGkw1+u4aQ2mO40TdhDQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: @@ -4209,14 +4234,14 @@ snapshots: '@types/node': 20.14.13 optional: true - '@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.8.0)(typescript@5.4.5))(eslint@9.8.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.4.5))(eslint@9.8.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.17.0(eslint@9.8.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.17.0 - '@typescript-eslint/type-utils': 7.17.0(eslint@9.8.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.17.0 + '@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.0.0 + '@typescript-eslint/type-utils': 8.0.0(eslint@9.8.0)(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.0.0 eslint: 9.8.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -4227,12 +4252,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.17.0(eslint@9.8.0)(typescript@5.4.5)': + '@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.17.0 - '@typescript-eslint/types': 7.17.0 - '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.17.0 + '@typescript-eslint/scope-manager': 8.0.0 + '@typescript-eslint/types': 8.0.0 + '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.0.0 debug: 4.3.5 eslint: 9.8.0 optionalDependencies: @@ -4250,22 +4275,29 @@ snapshots: '@typescript-eslint/types': 7.17.0 '@typescript-eslint/visitor-keys': 7.17.0 - '@typescript-eslint/type-utils@7.17.0(eslint@9.8.0)(typescript@5.4.5)': + '@typescript-eslint/scope-manager@8.0.0': dependencies: - '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.4.5) + '@typescript-eslint/types': 8.0.0 + '@typescript-eslint/visitor-keys': 8.0.0 + + '@typescript-eslint/type-utils@8.0.0(eslint@9.8.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.4.5) debug: 4.3.5 - eslint: 9.8.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: + - eslint - supports-color '@typescript-eslint/types@7.15.0': {} '@typescript-eslint/types@7.17.0': {} + '@typescript-eslint/types@8.0.0': {} + '@typescript-eslint/typescript-estree@7.15.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 7.15.0 @@ -4296,6 +4328,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.0.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 8.0.0 + '@typescript-eslint/visitor-keys': 8.0.0 + debug: 4.3.5 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@7.15.0(eslint@9.8.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) @@ -4318,6 +4365,17 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.0.0(eslint@9.8.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@typescript-eslint/scope-manager': 8.0.0 + '@typescript-eslint/types': 8.0.0 + '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.4.5) + eslint: 9.8.0 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/visitor-keys@7.15.0': dependencies: '@typescript-eslint/types': 7.15.0 @@ -4328,6 +4386,11 @@ snapshots: '@typescript-eslint/types': 7.17.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.0.0': + dependencies: + '@typescript-eslint/types': 8.0.0 + eslint-visitor-keys: 3.4.3 + '@vitejs/plugin-vue@5.1.1(vite@5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue)': dependencies: vite: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) @@ -6552,15 +6615,15 @@ snapshots: type-fest@4.21.0: {} - typescript-eslint@7.17.0(eslint@9.8.0)(typescript@5.4.5): + typescript-eslint@8.0.0(eslint@9.8.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/eslint-plugin': 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.8.0)(typescript@5.4.5))(eslint@9.8.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.17.0(eslint@9.8.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.4.5) - eslint: 9.8.0 + '@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.4.5))(eslint@9.8.0)(typescript@5.4.5) + '@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: + - eslint - supports-color typescript@5.4.5: {} From f3efff1909b85d26fbfc8c653d104e8096fb3a44 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:06:57 +0800 Subject: [PATCH 08/44] chore(deps): update dependency rimraf to v6 (#11505) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 064030b84..d274ac659 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "pretty-bytes": "^6.1.1", "pug": "^3.0.3", "puppeteer": "~22.14.0", - "rimraf": "^5.0.9", + "rimraf": "^6.0.1", "rollup": "^4.19.1", "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4f624cf9c..4b07894c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,8 +129,8 @@ importers: specifier: ~22.14.0 version: 22.14.0(typescript@5.4.5) rimraf: - specifier: ^5.0.9 - version: 5.0.9 + specifier: ^6.0.1 + version: 6.0.1 rollup: specifier: ^4.19.1 version: 4.19.1 @@ -2165,6 +2165,11 @@ packages: engines: {node: '>=18'} hasBin: true + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -2421,6 +2426,10 @@ packages: resolution: {integrity: sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==} engines: {node: '>=18'} + jackspeak@4.0.1: + resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} + engines: {node: 20 || >=22} + js-stringify@1.0.2: resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} @@ -2546,6 +2555,10 @@ packages: resolution: {integrity: sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==} engines: {node: '>=18'} + lru-cache@11.0.0: + resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -2617,6 +2630,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2789,6 +2806,10 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + path-to-regexp@2.2.1: resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} @@ -3031,9 +3052,9 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@5.0.9: - resolution: {integrity: sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==} - engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} hasBin: true rollup-plugin-dts@6.1.1: @@ -5343,6 +5364,15 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 1.11.1 + glob@11.0.0: + dependencies: + foreground-child: 3.2.1 + jackspeak: 4.0.1 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 2.0.0 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -5580,6 +5610,12 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.1: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + js-stringify@1.0.2: {} js-tokens@4.0.0: {} @@ -5728,6 +5764,8 @@ snapshots: lru-cache@10.4.0: {} + lru-cache@11.0.0: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -5785,6 +5823,10 @@ snapshots: mimic-fn@4.0.0: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -5953,6 +5995,11 @@ snapshots: lru-cache: 10.4.0 minipass: 7.1.2 + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.0 + minipass: 7.1.2 + path-to-regexp@2.2.1: {} path-type@4.0.0: {} @@ -6242,9 +6289,10 @@ snapshots: rfdc@1.4.1: {} - rimraf@5.0.9: + rimraf@6.0.1: dependencies: - glob: 10.4.3 + glob: 11.0.0 + package-json-from-dist: 1.0.0 rollup-plugin-dts@6.1.1(rollup@4.19.1)(typescript@5.4.5): dependencies: From 67bb820904d53480fa37536fc3cb4109a4c6d3e2 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 5 Aug 2024 14:07:30 +0800 Subject: [PATCH 09/44] fix(compiler-core): properly handle for loop variable declarations in expression transforms ref https://github.com/vuejs/core/pull/11467#issuecomment-2263069794 --- .../transformExpressions.spec.ts.snap | 18 +++++++ .../transforms/transformExpressions.spec.ts | 26 ++++++++-- packages/compiler-core/src/babelUtils.ts | 49 ++++++++++++++----- 3 files changed, 78 insertions(+), 15 deletions(-) diff --git a/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap b/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap index 9ea502132..5a94de5a6 100644 --- a/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap +++ b/packages/compiler-core/__tests__/transforms/__snapshots__/transformExpressions.spec.ts.snap @@ -14,6 +14,21 @@ return function render(_ctx, _cache, $props, $setup, $data, $options) { }" `; +exports[`compiler: expression transform > should allow leak of var declarations in for loop 1`] = ` +"const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue + +return function render(_ctx, _cache) { + return (_openBlock(), _createElementBlock("div", { + onClick: () => { + for (var i = 0; i < _ctx.list.length; i++) { + _ctx.log(i) + } + _ctx.error(i) + } + }, null, 8 /* PROPS */, ["onClick"])) +}" +`; + exports[`compiler: expression transform > should not prefix catch block param 1`] = ` "const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue @@ -53,6 +68,7 @@ return function render(_ctx, _cache) { for (let i = 0; i < _ctx.list.length; i++) { _ctx.log(i) } + _ctx.error(_ctx.i) } }, null, 8 /* PROPS */, ["onClick"])) }" @@ -67,6 +83,7 @@ return function render(_ctx, _cache) { for (const x in _ctx.list) { _ctx.log(x) } + _ctx.error(_ctx.x) } }, null, 8 /* PROPS */, ["onClick"])) }" @@ -81,6 +98,7 @@ return function render(_ctx, _cache) { for (const x of _ctx.list) { _ctx.log(x) } + _ctx.error(_ctx.x) } }, null, 8 /* PROPS */, ["onClick"])) }" diff --git a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts index af14265e2..c92814089 100644 --- a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts +++ b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts @@ -468,9 +468,11 @@ describe('compiler: expression transform', () => { for (const x in list) { log(x) } + error(x) }"/>`, ) - expect(code).not.toMatch(`_ctx.x`) + expect(code).not.toMatch(`log(_ctx.x)`) + expect(code).toMatch(`error(_ctx.x)`) expect(code).toMatchSnapshot() }) @@ -480,9 +482,11 @@ describe('compiler: expression transform', () => { for (const x of list) { log(x) } + error(x) }"/>`, ) - expect(code).not.toMatch(`_ctx.x`) + expect(code).not.toMatch(`log(_ctx.x)`) + expect(code).toMatch(`error(_ctx.x)`) expect(code).toMatchSnapshot() }) @@ -492,9 +496,25 @@ describe('compiler: expression transform', () => { for (let i = 0; i < list.length; i++) { log(i) } + error(i) }"/>`, ) - expect(code).not.toMatch(`_ctx.i`) + expect(code).not.toMatch(`log(_ctx.i)`) + expect(code).toMatch(`error(_ctx.i)`) + expect(code).toMatchSnapshot() + }) + + test('should allow leak of var declarations in for loop', () => { + const { code } = compile( + `
`, + ) + expect(code).not.toMatch(`log(_ctx.i)`) + expect(code).not.toMatch(`error(_ctx.i)`) expect(code).toMatchSnapshot() }) diff --git a/packages/compiler-core/src/babelUtils.ts b/packages/compiler-core/src/babelUtils.ts index 3144ed595..9b0a5ede6 100644 --- a/packages/compiler-core/src/babelUtils.ts +++ b/packages/compiler-core/src/babelUtils.ts @@ -2,6 +2,9 @@ // do not import runtime methods import type { BlockStatement, + ForInStatement, + ForOfStatement, + ForStatement, Function, Identifier, Node, @@ -81,6 +84,10 @@ export function walkIdentifiers( for (const id of extractIdentifiers(node.param)) { markScopeIdentifier(node, id, knownIds) } + } else if (isForStatement(node)) { + walkForStatement(node, false, id => + markScopeIdentifier(node, id, knownIds), + ) } }, leave(node: Node & { scopeIds?: Set }, parent: Node | null) { @@ -196,18 +203,36 @@ export function walkBlockDeclarations( ) { if (stmt.declare || !stmt.id) continue onIdent(stmt.id) - } else if ( - stmt.type === 'ForOfStatement' || - stmt.type === 'ForInStatement' || - stmt.type === 'ForStatement' - ) { - const variable = stmt.type === 'ForStatement' ? stmt.init : stmt.left - if (variable && variable.type === 'VariableDeclaration') { - for (const decl of variable.declarations) { - for (const id of extractIdentifiers(decl.id)) { - onIdent(id) - } - } + } else if (isForStatement(stmt)) { + walkForStatement(stmt, true, onIdent) + } + } +} + +function isForStatement( + stmt: Node, +): stmt is ForStatement | ForOfStatement | ForInStatement { + return ( + stmt.type === 'ForOfStatement' || + stmt.type === 'ForInStatement' || + stmt.type === 'ForStatement' + ) +} + +function walkForStatement( + stmt: ForStatement | ForOfStatement | ForInStatement, + isVar: boolean, + onIdent: (id: Identifier) => void, +) { + const variable = stmt.type === 'ForStatement' ? stmt.init : stmt.left + if ( + variable && + variable.type === 'VariableDeclaration' && + (variable.kind === 'var' ? isVar : !isVar) + ) { + for (const decl of variable.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id) } } } From ea190f24e4b92526da80e405be47d5aab90ab80c Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 5 Aug 2024 14:14:52 +0800 Subject: [PATCH 10/44] chore(deps): upgrade to entities 5.0 close #11507 --- packages/compiler-core/package.json | 2 +- packages/compiler-core/src/parser.ts | 2 +- packages/compiler-core/src/tokenizer.ts | 2 +- pnpm-lock.yaml | 10 ++++++++-- rollup.config.js | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index 6237a360d..b9a4f58c9 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -48,7 +48,7 @@ "dependencies": { "@babel/parser": "catalog:", "@vue/shared": "workspace:*", - "entities": "^4.5.0", + "entities": "^5.0.0", "estree-walker": "catalog:", "source-map-js": "catalog:" }, diff --git a/packages/compiler-core/src/parser.ts b/packages/compiler-core/src/parser.ts index cac943dd6..55487e12b 100644 --- a/packages/compiler-core/src/parser.ts +++ b/packages/compiler-core/src/parser.ts @@ -44,7 +44,7 @@ import { isSimpleIdentifier, isStaticArgOf, } from './utils' -import { decodeHTML } from 'entities/lib/decode.js' +import { decodeHTML } from 'entities/dist/decode.js' import { type ParserOptions as BabelOptions, parse, diff --git a/packages/compiler-core/src/tokenizer.ts b/packages/compiler-core/src/tokenizer.ts index 561a84b5f..72f548fa2 100644 --- a/packages/compiler-core/src/tokenizer.ts +++ b/packages/compiler-core/src/tokenizer.ts @@ -36,7 +36,7 @@ import { EntityDecoder, fromCodePoint, htmlDecodeTree, -} from 'entities/lib/decode.js' +} from 'entities/dist/decode.js' export enum ParseMode { BASE, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b07894c0..3951e1c67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -183,8 +183,8 @@ importers: specifier: workspace:* version: link:../shared entities: - specifier: ^4.5.0 - version: 4.5.0 + specifier: ^5.0.0 + version: 5.0.0 estree-walker: specifier: 'catalog:' version: 2.0.2 @@ -1891,6 +1891,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@5.0.0: + resolution: {integrity: sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==} + engines: {node: '>=0.12'} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -4982,6 +4986,8 @@ snapshots: entities@4.5.0: {} + entities@5.0.0: {} + env-paths@2.2.1: {} error-ex@1.3.2: diff --git a/rollup.config.js b/rollup.config.js index ff0da3488..a7afed7ec 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -253,7 +253,7 @@ function createConfig(format, output, plugins = []) { 'source-map-js', '@babel/parser', 'estree-walker', - 'entities/lib/decode.js', + 'entities/dist/decode.js', ] if (isGlobalBuild || isBrowserESMBuild || isCompatPackage) { From 59d2284f475e1299351d59dbf37e28142bb66e04 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:43:59 +0800 Subject: [PATCH 11/44] chore(deps): update all non-major dependencies (#11494) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 62 +++++++++++++++++++++++++------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index d274ac659..a71e9dd73 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@rollup/plugin-replace": "5.0.4", "@swc/core": "^1.7.3", "@types/hash-sum": "^1.0.2", - "@types/node": "^20.14.13", + "@types/node": "^20.14.14", "@types/semver": "^7.5.8", "@vitest/coverage-istanbul": "^1.6.0", "@vue/consolidate": "1.0.0", @@ -102,7 +102,7 @@ "simple-git-hooks": "^2.11.1", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.3", - "tsx": "^4.16.2", + "tsx": "^4.16.5", "typescript": "~5.4.5", "typescript-eslint": "^8.0.0", "vite": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3951e1c67..431d97f73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,14 +57,14 @@ importers: specifier: ^1.0.2 version: 1.0.2 '@types/node': - specifier: ^20.14.13 - version: 20.14.13 + specifier: ^20.14.14 + version: 20.14.14 '@types/semver': specifier: ^7.5.8 version: 7.5.8 '@vitest/coverage-istanbul': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1)) + version: 1.6.0(vitest@1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1)) '@vue/consolidate': specifier: 1.0.0 version: 1.0.0 @@ -88,7 +88,7 @@ importers: version: 3.1.0(eslint@9.8.0)(typescript@5.4.5) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(eslint@9.8.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1)) + version: 0.5.4(eslint@9.8.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1)) estree-walker: specifier: 'catalog:' version: 2.0.2 @@ -159,8 +159,8 @@ importers: specifier: ^2.6.3 version: 2.6.3 tsx: - specifier: ^4.16.2 - version: 4.16.2 + specifier: ^4.16.5 + version: 4.16.5 typescript: specifier: ~5.4.5 version: 5.4.5 @@ -169,10 +169,10 @@ importers: version: 8.0.0(eslint@9.8.0)(typescript@5.4.5) vite: specifier: 'catalog:' - version: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) + version: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1) + version: 1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1) packages/compiler-core: dependencies: @@ -364,10 +364,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.1.1 - version: 5.1.1(vite@5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue) + version: 5.1.1(vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue) vite: specifier: 'catalog:' - version: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) + version: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) packages/shared: {} @@ -1208,8 +1208,8 @@ packages: '@types/hash-sum@1.0.2': resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} - '@types/node@20.14.13': - resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} + '@types/node@20.14.14': + resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3371,8 +3371,8 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsx@4.16.2: - resolution: {integrity: sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==} + tsx@4.16.5: + resolution: {integrity: sha512-ArsiAQHEW2iGaqZ8fTA1nX0a+lN5mNTyuGRRO6OW3H/Yno1y9/t1f9YOI1Cfoqz63VAthn++ZYcbDP7jPflc+A==} engines: {node: '>=18.0.0'} hasBin: true @@ -4244,7 +4244,7 @@ snapshots: '@types/hash-sum@1.0.2': {} - '@types/node@20.14.13': + '@types/node@20.14.14': dependencies: undici-types: 5.26.5 @@ -4256,7 +4256,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.14 optional: true '@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.4.5))(eslint@9.8.0)(typescript@5.4.5)': @@ -4416,12 +4416,12 @@ snapshots: '@typescript-eslint/types': 8.0.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.1.1(vite@5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue)': + '@vitejs/plugin-vue@5.1.1(vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue)': dependencies: - vite: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) + vite: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) vue: link:packages/vue - '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1))': + '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1))': dependencies: debug: 4.3.5 istanbul-lib-coverage: 3.2.2 @@ -4432,7 +4432,7 @@ snapshots: magicast: 0.3.4 picocolors: 1.0.1 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1) transitivePeerDependencies: - supports-color @@ -5100,12 +5100,12 @@ snapshots: - supports-color - typescript - eslint-plugin-vitest@0.5.4(eslint@9.8.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1)): + eslint-plugin-vitest@0.5.4(eslint@9.8.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1)): dependencies: '@typescript-eslint/utils': 7.15.0(eslint@9.8.0)(typescript@5.4.5) eslint: 9.8.0 optionalDependencies: - vitest: 1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1) + vitest: 1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1) transitivePeerDependencies: - supports-color - typescript @@ -6652,7 +6652,7 @@ snapshots: tslib@2.6.3: {} - tsx@4.16.2: + tsx@4.16.5: dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 @@ -6731,13 +6731,13 @@ snapshots: vary@1.1.2: {} - vite-node@1.6.0(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1): + vite-node@1.6.0(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1): dependencies: cac: 6.7.14 debug: 4.3.5 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) + vite: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) transitivePeerDependencies: - '@types/node' - less @@ -6748,18 +6748,18 @@ snapshots: - supports-color - terser - vite@5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1): + vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1): dependencies: esbuild: 0.21.5 postcss: 8.4.40 rollup: 4.18.0 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.14 fsevents: 2.3.3 sass: 1.77.8 terser: 5.31.1 - vitest@1.6.0(@types/node@20.14.13)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1): + vitest@1.6.0(@types/node@20.14.14)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.1): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -6778,11 +6778,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.3(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) - vite-node: 1.6.0(@types/node@20.14.13)(sass@1.77.8)(terser@5.31.1) + vite: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) + vite-node: 1.6.0(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.14 jsdom: 24.1.1 transitivePeerDependencies: - less From 1a40c378de28d0a28e83cf622042e743172eed08 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:45:39 +0800 Subject: [PATCH 12/44] chore(deps): update dependency puppeteer to ~22.15.0 (#11499) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 41 +++++++++++++++++++++++++++-------------- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index a71e9dd73..67091a80e 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "prettier": "^3.3.3", "pretty-bytes": "^6.1.1", "pug": "^3.0.3", - "puppeteer": "~22.14.0", + "puppeteer": "~22.15.0", "rimraf": "^6.0.1", "rollup": "^4.19.1", "rollup-plugin-dts": "^6.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 431d97f73..4ab82aad8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,8 +126,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 puppeteer: - specifier: ~22.14.0 - version: 22.14.0(typescript@5.4.5) + specifier: ~22.15.0 + version: 22.15.0(typescript@5.4.5) rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -1603,8 +1603,8 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chromium-bidi@0.6.2: - resolution: {integrity: sha512-4WVBa6ijmUTVr9cZD4eicQD8Mdy/HCX3bzEIYYpmk0glqYLoWH+LqQEvV9RpDRzoQSbY1KJHloYXbDMXMbDPhg==} + chromium-bidi@0.6.3: + resolution: {integrity: sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==} peerDependencies: devtools-protocol: '*' @@ -1813,6 +1813,15 @@ packages: supports-color: optional: true + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -2968,12 +2977,12 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@22.14.0: - resolution: {integrity: sha512-rl4tOY5LcA3e374GAlsGGHc05HL3eGNf5rZ+uxkl6id9zVZKcwcp1Z+Nd6byb6WPiPeecT/dwz8f/iUm+AZQSw==} + puppeteer-core@22.15.0: + resolution: {integrity: sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==} engines: {node: '>=18'} - puppeteer@22.14.0: - resolution: {integrity: sha512-MGTR6/pM8zmWbTdazb6FKnwIihzsSEXBPH49mFFU96DNZpQOevCAZMnjBZGlZRGRzRK6aADCavR6SQtrbv5dQw==} + puppeteer@22.15.0: + resolution: {integrity: sha512-XjCY1SiSEi1T7iSYuxS82ft85kwDJUS7wj1Z0eGVXKdtr5g4xnVcbjwxhq5xBnpK/E7x1VZZoJDxpjAOasHT4Q==} engines: {node: '>=18'} hasBin: true @@ -4708,7 +4717,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chromium-bidi@0.6.2(devtools-protocol@0.0.1312386): + chromium-bidi@0.6.3(devtools-protocol@0.0.1312386): dependencies: devtools-protocol: 0.0.1312386 mitt: 3.0.1 @@ -4921,6 +4930,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.6: + dependencies: + ms: 2.1.2 + decimal.js@10.4.3: {} deep-eql@4.1.4: @@ -6187,11 +6200,11 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@22.14.0: + puppeteer-core@22.15.0: dependencies: '@puppeteer/browsers': 2.3.0 - chromium-bidi: 0.6.2(devtools-protocol@0.0.1312386) - debug: 4.3.5 + chromium-bidi: 0.6.3(devtools-protocol@0.0.1312386) + debug: 4.3.6 devtools-protocol: 0.0.1312386 ws: 8.18.0 transitivePeerDependencies: @@ -6199,12 +6212,12 @@ snapshots: - supports-color - utf-8-validate - puppeteer@22.14.0(typescript@5.4.5): + puppeteer@22.15.0(typescript@5.4.5): dependencies: '@puppeteer/browsers': 2.3.0 cosmiconfig: 9.0.0(typescript@5.4.5) devtools-protocol: 0.0.1312386 - puppeteer-core: 22.14.0 + puppeteer-core: 22.15.0 transitivePeerDependencies: - bufferutil - supports-color From d4db35a6778db3ca37f8efb516dbd4c9b1fce5b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:45:52 +0800 Subject: [PATCH 13/44] chore(deps): update dependency magic-string to ^0.30.11 (#11497) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 67091a80e..1f34f8899 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "jsdom": "^24.1.1", "lint-staged": "^15.2.7", "lodash": "^4.17.21", - "magic-string": "^0.30.10", + "magic-string": "^0.30.11", "markdown-table": "^3.0.3", "marked": "^13.0.3", "npm-run-all2": "^6.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ab82aad8..37e91152d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -102,8 +102,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.10 - version: 0.30.10 + specifier: ^0.30.11 + version: 0.30.11 markdown-table: specifier: ^3.0.3 version: 3.0.3 @@ -871,6 +871,9 @@ packages: '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2582,6 +2585,9 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + magicast@0.3.4: resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} @@ -4005,6 +4011,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -4053,7 +4061,7 @@ snapshots: estree-walker: 2.0.2 glob: 10.4.3 is-reference: 1.2.1 - magic-string: 0.30.10 + magic-string: 0.30.11 optionalDependencies: rollup: 4.19.1 @@ -4061,7 +4069,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.19.1) estree-walker: 2.0.2 - magic-string: 0.30.10 + magic-string: 0.30.11 optionalDependencies: rollup: 4.19.1 @@ -4085,7 +4093,7 @@ snapshots: '@rollup/plugin-replace@5.0.4(rollup@4.19.1)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.19.1) - magic-string: 0.30.10 + magic-string: 0.30.11 optionalDependencies: rollup: 4.19.1 @@ -4459,7 +4467,7 @@ snapshots: '@vitest/snapshot@1.6.0': dependencies: - magic-string: 0.30.10 + magic-string: 0.30.11 pathe: 1.1.2 pretty-format: 29.7.0 @@ -5795,6 +5803,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.4: dependencies: '@babel/parser': 7.24.7 @@ -6315,7 +6327,7 @@ snapshots: rollup-plugin-dts@6.1.1(rollup@4.19.1)(typescript@5.4.5): dependencies: - magic-string: 0.30.10 + magic-string: 0.30.11 rollup: 4.19.1 typescript: 5.4.5 optionalDependencies: @@ -6784,7 +6796,7 @@ snapshots: debug: 4.3.5 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.10 + magic-string: 0.30.11 pathe: 1.1.2 picocolors: 1.0.1 std-env: 3.7.0 From 7ecf91f7609b5f2a1be0b9d7c2508dca983f1fe0 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 5 Aug 2024 14:48:22 +0800 Subject: [PATCH 14/44] chore(deps): limit minimatch range minimatch 10+ only supports Node 20+ --- packages/compiler-sfc/package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 5f2216dc8..d90375fcd 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.5", + "minimatch": "~9.0.5", "postcss-modules": "^6.0.0", "postcss-selector-parser": "^6.1.1", "pug": "^3.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37e91152d..9d5f59f3e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -251,7 +251,7 @@ importers: specifier: ^1.1.0 version: 1.1.0 minimatch: - specifier: ^9.0.5 + specifier: ~9.0.5 version: 9.0.5 postcss-modules: specifier: ^6.0.0 From ed1bf727153df08568b1d8eec58f040f09220d19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:49:04 +0800 Subject: [PATCH 15/44] chore(deps): update build (#11495) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/sfc-playground/package.json | 2 +- .../src/download/template/package.json | 2 +- pnpm-lock.yaml | 308 +++++++++--------- 4 files changed, 158 insertions(+), 158 deletions(-) diff --git a/package.json b/package.json index 1f34f8899..6f9faf83f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-replace": "5.0.4", - "@swc/core": "^1.7.3", + "@swc/core": "^1.7.6", "@types/hash-sum": "^1.0.2", "@types/node": "^20.14.14", "@types/semver": "^7.5.8", @@ -93,7 +93,7 @@ "pug": "^3.0.3", "puppeteer": "~22.15.0", "rimraf": "^6.0.1", - "rollup": "^4.19.1", + "rollup": "^4.20.0", "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0", diff --git a/packages/sfc-playground/package.json b/packages/sfc-playground/package.json index 74302db32..9d38811c7 100644 --- a/packages/sfc-playground/package.json +++ b/packages/sfc-playground/package.json @@ -9,7 +9,7 @@ "serve": "vite preview" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.1.1", + "@vitejs/plugin-vue": "^5.1.2", "vite": "catalog:" }, "dependencies": { diff --git a/packages/sfc-playground/src/download/template/package.json b/packages/sfc-playground/src/download/template/package.json index 6747f24c8..28a5aee22 100644 --- a/packages/sfc-playground/src/download/template/package.json +++ b/packages/sfc-playground/src/download/template/package.json @@ -11,7 +11,7 @@ "vue": "^3.4.0" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.1.1", + "@vitejs/plugin-vue": "^5.1.2", "vite": "^5.3.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9d5f59f3e..da5faa62e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,22 +37,22 @@ importers: version: 7.24.7 '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.19.1) + version: 5.1.0(rollup@4.20.0) '@rollup/plugin-commonjs': specifier: ^26.0.1 - version: 26.0.1(rollup@4.19.1) + version: 26.0.1(rollup@4.20.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.19.1) + version: 6.1.0(rollup@4.20.0) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.19.1) + version: 15.2.3(rollup@4.20.0) '@rollup/plugin-replace': specifier: 5.0.4 - version: 5.0.4(rollup@4.19.1) + version: 5.0.4(rollup@4.20.0) '@swc/core': - specifier: ^1.7.3 - version: 1.7.3 + specifier: ^1.7.6 + version: 1.7.6 '@types/hash-sum': specifier: ^1.0.2 version: 1.0.2 @@ -132,17 +132,17 @@ importers: specifier: ^6.0.1 version: 6.0.1 rollup: - specifier: ^4.19.1 - version: 4.19.1 + specifier: ^4.20.0 + version: 4.20.0 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.19.1)(typescript@5.4.5) + version: 6.1.1(rollup@4.20.0)(typescript@5.4.5) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.23.0)(rollup@4.19.1) + version: 6.1.1(esbuild@0.23.0)(rollup@4.20.0) rollup-plugin-polyfill-node: specifier: ^0.13.0 - version: 0.13.0(rollup@4.19.1) + version: 0.13.0(rollup@4.20.0) semver: specifier: ^7.6.3 version: 7.6.3 @@ -363,8 +363,8 @@ importers: version: link:../vue devDependencies: '@vitejs/plugin-vue': - specifier: ^5.1.1 - version: 5.1.1(vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue) + specifier: ^5.1.2 + version: 5.1.2(vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue) vite: specifier: 'catalog:' version: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) @@ -969,8 +969,8 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.19.1': - resolution: {integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==} + '@rollup/rollup-android-arm-eabi@4.20.0': + resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} cpu: [arm] os: [android] @@ -979,8 +979,8 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.19.1': - resolution: {integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==} + '@rollup/rollup-android-arm64@4.20.0': + resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} cpu: [arm64] os: [android] @@ -989,8 +989,8 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.19.1': - resolution: {integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==} + '@rollup/rollup-darwin-arm64@4.20.0': + resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} cpu: [arm64] os: [darwin] @@ -999,8 +999,8 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.19.1': - resolution: {integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==} + '@rollup/rollup-darwin-x64@4.20.0': + resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} cpu: [x64] os: [darwin] @@ -1009,8 +1009,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.19.1': - resolution: {integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} cpu: [arm] os: [linux] @@ -1019,8 +1019,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.19.1': - resolution: {integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==} + '@rollup/rollup-linux-arm-musleabihf@4.20.0': + resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} cpu: [arm] os: [linux] @@ -1029,8 +1029,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.19.1': - resolution: {integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==} + '@rollup/rollup-linux-arm64-gnu@4.20.0': + resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} cpu: [arm64] os: [linux] @@ -1039,8 +1039,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.19.1': - resolution: {integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==} + '@rollup/rollup-linux-arm64-musl@4.20.0': + resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} cpu: [arm64] os: [linux] @@ -1049,8 +1049,8 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': - resolution: {integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} cpu: [ppc64] os: [linux] @@ -1059,8 +1059,8 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.19.1': - resolution: {integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==} + '@rollup/rollup-linux-riscv64-gnu@4.20.0': + resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} cpu: [riscv64] os: [linux] @@ -1069,8 +1069,8 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.19.1': - resolution: {integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==} + '@rollup/rollup-linux-s390x-gnu@4.20.0': + resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} cpu: [s390x] os: [linux] @@ -1079,8 +1079,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.19.1': - resolution: {integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==} + '@rollup/rollup-linux-x64-gnu@4.20.0': + resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} cpu: [x64] os: [linux] @@ -1089,8 +1089,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.19.1': - resolution: {integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==} + '@rollup/rollup-linux-x64-musl@4.20.0': + resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} cpu: [x64] os: [linux] @@ -1099,8 +1099,8 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.19.1': - resolution: {integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==} + '@rollup/rollup-win32-arm64-msvc@4.20.0': + resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} cpu: [arm64] os: [win32] @@ -1109,8 +1109,8 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.19.1': - resolution: {integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==} + '@rollup/rollup-win32-ia32-msvc@4.20.0': + resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} cpu: [ia32] os: [win32] @@ -1119,76 +1119,76 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.19.1': - resolution: {integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==} + '@rollup/rollup-win32-x64-msvc@4.20.0': + resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} cpu: [x64] os: [win32] '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@swc/core-darwin-arm64@1.7.3': - resolution: {integrity: sha512-CTkHa6MJdov9t41vuV2kmQIMu+Q19LrEHGIR/UiJYH06SC/sOu35ZZH8DyfLp9ZoaCn21gwgWd61ixOGQlwzTw==} + '@swc/core-darwin-arm64@1.7.6': + resolution: {integrity: sha512-6lYHey84ZzsdtC7UuPheM4Rm0Inzxm6Sb8U6dmKc4eCx8JL0LfWG4LC5RsdsrTxnjTsbriWlnhZBffh8ijUHIQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.3': - resolution: {integrity: sha512-mun623y6rCoZ2EFIYfIRqXYRFufJOopoYSJcxYhZUrfTpAvQ1zLngjQpWCUU1krggXR2U0PQj+ls0DfXUTraNg==} + '@swc/core-darwin-x64@1.7.6': + resolution: {integrity: sha512-Fyl+8aH9O5rpx4O7r2KnsPpoi32iWoKOYKiipeTbGjQ/E95tNPxbmsz4yqE8Ovldcga60IPJ5OKQA3HWRiuzdw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.3': - resolution: {integrity: sha512-4Jz4UcIcvZNMp9qoHbBx35bo3rjt8hpYLPqnR4FFq6gkAsJIMFC56UhRZwdEQoDuYiOFMBnnrsg31Fyo6YQypA==} + '@swc/core-linux-arm-gnueabihf@1.7.6': + resolution: {integrity: sha512-2WxYTqFaOx48GKC2cbO1/IntA+w+kfCFy436Ij7qRqqtV/WAvTM9TC1OmiFbqq436rSot52qYmX8fkwdB5UcLQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.3': - resolution: {integrity: sha512-p+U/M/oqV7HC4erQ5TVWHhJU1984QD+wQBPxslAYq751bOQGm0R/mXK42GjugqjnR6yYrAiwKKbpq4iWVXNePA==} + '@swc/core-linux-arm64-gnu@1.7.6': + resolution: {integrity: sha512-TBEGMSe0LhvPe4S7E68c7VzgT3OMu4VTmBLS7B2aHv4v8uZO92Khpp7L0WqgYU1y5eMjk+XLDLi4kokiNHv/Hg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.3': - resolution: {integrity: sha512-s6VzyaJwaRGTi2mz2h6Ywxfmgpkc69IxhuMzl+sl34plH0V0RgnZDm14HoCGIKIzRk4+a2EcBV1ZLAfWmPACQg==} + '@swc/core-linux-arm64-musl@1.7.6': + resolution: {integrity: sha512-QI8QGL0HGT42tj7F1A+YAzhGkJjUcvvTfI1e2m704W0Enl2/UIK9v5D1zvQzYwusRyKuaQfbeBRYDh0NcLOGLg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.3': - resolution: {integrity: sha512-IrFY48C356Z2dU2pjYg080yvMXzmSV3Lmm/Wna4cfcB1nkVLjWsuYwwRAk9CY7E19c+q8N1sMNggubAUDYoX2g==} + '@swc/core-linux-x64-gnu@1.7.6': + resolution: {integrity: sha512-61AYVzhjuNQAVIKKWOJu3H0/pFD28RYJGxnGg3YMhvRLRyuWNyY5Nyyj2WkKcz/ON+g38Arlz00NT1LDIViRLg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.3': - resolution: {integrity: sha512-qoLgxBlBnnyUEDu5vmRQqX90h9jldU1JXI96e6eh2d1gJyKRA0oSK7xXmTzorv1fGHiHulv9qiJOUG+g6uzJWg==} + '@swc/core-linux-x64-musl@1.7.6': + resolution: {integrity: sha512-hQFznpfLK8XajfAAN9Cjs0w/aVmO7iu9VZvInyrTCRcPqxV5O+rvrhRxKvC1LRMZXr5M6JRSRtepp5w+TK4kAw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.3': - resolution: {integrity: sha512-OAd7jVVJ7nb0Ev80VAa1aeK+FldPeC4eZ35H4Qn6EICzIz0iqJo2T33qLKkSZiZEBKSoF4KcwrqYfkjLOp5qWg==} + '@swc/core-win32-arm64-msvc@1.7.6': + resolution: {integrity: sha512-Aqsd9afykVMuekzjm4X4TDqwxmG4CrzoOSFe0hZrn9SMio72l5eAPnMtYoe5LsIqtjV8MNprLfXaNbjHjTegmA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.3': - resolution: {integrity: sha512-31+Le1NyfSnILFV9+AhxfFOG0DK0272MNhbIlbcv4w/iqpjkhaOnNQnLsYJD1Ow7lTX1MtIZzTjOhRlzSviRWg==} + '@swc/core-win32-ia32-msvc@1.7.6': + resolution: {integrity: sha512-9h0hYnOeRVNeQgHQTvD1Im67faNSSzBZ7Adtxyu9urNLfBTJilMllFd2QuGHlKW5+uaT6ZH7ZWDb+c/enx7Lcg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.3': - resolution: {integrity: sha512-jVQPbYrwcuueI4QB0fHC29SVrkFOBcfIspYDlgSoHnEz6tmLMqUy+txZUypY/ZH/KaK0HEY74JkzgbRC1S6LFQ==} + '@swc/core-win32-x64-msvc@1.7.6': + resolution: {integrity: sha512-izeoB8glCSe6IIDQmrVm6bvR9muk9TeKgmtY7b6l1BwL4BFnTUk4dMmpbntT90bEVQn3JPCaPtUG4HfL8VuyuA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.3': - resolution: {integrity: sha512-HHAlbXjWI6Kl9JmmUW1LSygT1YbblXgj2UvvDzMkTBPRzYMhW6xchxdO8HbtMPtFYRt/EQq9u1z7j4ttRSrFsA==} + '@swc/core@1.7.6': + resolution: {integrity: sha512-FZxyao9eQks1MRmUshgsZTmlg/HB2oXK5fghkoWJm/1CU2q2kaJlVDll2as5j+rmWiwkp0Gidlq8wlXcEEAO+g==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1337,8 +1337,8 @@ packages: resolution: {integrity: sha512-oN0K4nkHuOyF3PVMyETbpP5zp6wfyOvm7tWhTMfoqxSSsPmJIh6JNASuZDlODE8eE+0EB9uar+6+vxr9DBTYOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitejs/plugin-vue@5.1.1': - resolution: {integrity: sha512-sDckXxlHpMsjRQbAH9WanangrfrblsOd3pNifePs+FOHjJg1jfWq5L/P0PsBRndEt3nmdUnmvieP8ULDeX5AvA==} + '@vitejs/plugin-vue@5.1.2': + resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -3100,8 +3100,8 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.19.1: - resolution: {integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==} + rollup@4.20.0: + resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4048,206 +4048,206 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/plugin-alias@5.1.0(rollup@4.19.1)': + '@rollup/plugin-alias@5.1.0(rollup@4.20.0)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/plugin-commonjs@26.0.1(rollup@4.19.1)': + '@rollup/plugin-commonjs@26.0.1(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.3 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/plugin-inject@5.0.5(rollup@4.19.1)': + '@rollup/plugin-inject@5.0.5(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) estree-walker: 2.0.2 magic-string: 0.30.11 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/plugin-json@6.1.0(rollup@4.19.1)': + '@rollup/plugin-json@6.1.0(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.19.1)': + '@rollup/plugin-node-resolve@15.2.3(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.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 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/plugin-replace@5.0.4(rollup@4.19.1)': + '@rollup/plugin-replace@5.0.4(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) magic-string: 0.30.11 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/pluginutils@5.1.0(rollup@4.19.1)': + '@rollup/pluginutils@5.1.0(rollup@4.20.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 '@rollup/rollup-android-arm-eabi@4.18.0': optional: true - '@rollup/rollup-android-arm-eabi@4.19.1': + '@rollup/rollup-android-arm-eabi@4.20.0': optional: true '@rollup/rollup-android-arm64@4.18.0': optional: true - '@rollup/rollup-android-arm64@4.19.1': + '@rollup/rollup-android-arm64@4.20.0': optional: true '@rollup/rollup-darwin-arm64@4.18.0': optional: true - '@rollup/rollup-darwin-arm64@4.19.1': + '@rollup/rollup-darwin-arm64@4.20.0': optional: true '@rollup/rollup-darwin-x64@4.18.0': optional: true - '@rollup/rollup-darwin-x64@4.19.1': + '@rollup/rollup-darwin-x64@4.20.0': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.18.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.19.1': + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': optional: true '@rollup/rollup-linux-arm-musleabihf@4.18.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.19.1': + '@rollup/rollup-linux-arm-musleabihf@4.20.0': optional: true '@rollup/rollup-linux-arm64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.19.1': + '@rollup/rollup-linux-arm64-gnu@4.20.0': optional: true '@rollup/rollup-linux-arm64-musl@4.18.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.19.1': + '@rollup/rollup-linux-arm64-musl@4.20.0': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': optional: true '@rollup/rollup-linux-riscv64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.19.1': + '@rollup/rollup-linux-riscv64-gnu@4.20.0': optional: true '@rollup/rollup-linux-s390x-gnu@4.18.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.19.1': + '@rollup/rollup-linux-s390x-gnu@4.20.0': optional: true '@rollup/rollup-linux-x64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.19.1': + '@rollup/rollup-linux-x64-gnu@4.20.0': optional: true '@rollup/rollup-linux-x64-musl@4.18.0': optional: true - '@rollup/rollup-linux-x64-musl@4.19.1': + '@rollup/rollup-linux-x64-musl@4.20.0': optional: true '@rollup/rollup-win32-arm64-msvc@4.18.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.19.1': + '@rollup/rollup-win32-arm64-msvc@4.20.0': optional: true '@rollup/rollup-win32-ia32-msvc@4.18.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.19.1': + '@rollup/rollup-win32-ia32-msvc@4.20.0': optional: true '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.19.1': + '@rollup/rollup-win32-x64-msvc@4.20.0': optional: true '@sinclair/typebox@0.27.8': {} - '@swc/core-darwin-arm64@1.7.3': + '@swc/core-darwin-arm64@1.7.6': optional: true - '@swc/core-darwin-x64@1.7.3': + '@swc/core-darwin-x64@1.7.6': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.3': + '@swc/core-linux-arm-gnueabihf@1.7.6': optional: true - '@swc/core-linux-arm64-gnu@1.7.3': + '@swc/core-linux-arm64-gnu@1.7.6': optional: true - '@swc/core-linux-arm64-musl@1.7.3': + '@swc/core-linux-arm64-musl@1.7.6': optional: true - '@swc/core-linux-x64-gnu@1.7.3': + '@swc/core-linux-x64-gnu@1.7.6': optional: true - '@swc/core-linux-x64-musl@1.7.3': + '@swc/core-linux-x64-musl@1.7.6': optional: true - '@swc/core-win32-arm64-msvc@1.7.3': + '@swc/core-win32-arm64-msvc@1.7.6': optional: true - '@swc/core-win32-ia32-msvc@1.7.3': + '@swc/core-win32-ia32-msvc@1.7.6': optional: true - '@swc/core-win32-x64-msvc@1.7.3': + '@swc/core-win32-x64-msvc@1.7.6': optional: true - '@swc/core@1.7.3': + '@swc/core@1.7.6': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.3 - '@swc/core-darwin-x64': 1.7.3 - '@swc/core-linux-arm-gnueabihf': 1.7.3 - '@swc/core-linux-arm64-gnu': 1.7.3 - '@swc/core-linux-arm64-musl': 1.7.3 - '@swc/core-linux-x64-gnu': 1.7.3 - '@swc/core-linux-x64-musl': 1.7.3 - '@swc/core-win32-arm64-msvc': 1.7.3 - '@swc/core-win32-ia32-msvc': 1.7.3 - '@swc/core-win32-x64-msvc': 1.7.3 + '@swc/core-darwin-arm64': 1.7.6 + '@swc/core-darwin-x64': 1.7.6 + '@swc/core-linux-arm-gnueabihf': 1.7.6 + '@swc/core-linux-arm64-gnu': 1.7.6 + '@swc/core-linux-arm64-musl': 1.7.6 + '@swc/core-linux-x64-gnu': 1.7.6 + '@swc/core-linux-x64-musl': 1.7.6 + '@swc/core-win32-arm64-msvc': 1.7.6 + '@swc/core-win32-ia32-msvc': 1.7.6 + '@swc/core-win32-x64-msvc': 1.7.6 '@swc/counter@0.1.3': {} @@ -4433,7 +4433,7 @@ snapshots: '@typescript-eslint/types': 8.0.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.1.1(vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue)': + '@vitejs/plugin-vue@5.1.2(vite@5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1))(vue@packages+vue)': dependencies: vite: 5.3.3(@types/node@20.14.14)(sass@1.77.8)(terser@5.31.1) vue: link:packages/vue @@ -6325,29 +6325,29 @@ snapshots: glob: 11.0.0 package-json-from-dist: 1.0.0 - rollup-plugin-dts@6.1.1(rollup@4.19.1)(typescript@5.4.5): + rollup-plugin-dts@6.1.1(rollup@4.20.0)(typescript@5.4.5): dependencies: magic-string: 0.30.11 - rollup: 4.19.1 + rollup: 4.20.0 typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-esbuild@6.1.1(esbuild@0.23.0)(rollup@4.19.1): + rollup-plugin-esbuild@6.1.1(esbuild@0.23.0)(rollup@4.20.0): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) debug: 4.3.5 es-module-lexer: 1.5.4 esbuild: 0.23.0 get-tsconfig: 4.7.5 - rollup: 4.19.1 + rollup: 4.20.0 transitivePeerDependencies: - supports-color - rollup-plugin-polyfill-node@0.13.0(rollup@4.19.1): + rollup-plugin-polyfill-node@0.13.0(rollup@4.20.0): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.19.1) - rollup: 4.19.1 + '@rollup/plugin-inject': 5.0.5(rollup@4.20.0) + rollup: 4.20.0 rollup@4.18.0: dependencies: @@ -6371,26 +6371,26 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 - rollup@4.19.1: + rollup@4.20.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.19.1 - '@rollup/rollup-android-arm64': 4.19.1 - '@rollup/rollup-darwin-arm64': 4.19.1 - '@rollup/rollup-darwin-x64': 4.19.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.19.1 - '@rollup/rollup-linux-arm-musleabihf': 4.19.1 - '@rollup/rollup-linux-arm64-gnu': 4.19.1 - '@rollup/rollup-linux-arm64-musl': 4.19.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1 - '@rollup/rollup-linux-riscv64-gnu': 4.19.1 - '@rollup/rollup-linux-s390x-gnu': 4.19.1 - '@rollup/rollup-linux-x64-gnu': 4.19.1 - '@rollup/rollup-linux-x64-musl': 4.19.1 - '@rollup/rollup-win32-arm64-msvc': 4.19.1 - '@rollup/rollup-win32-ia32-msvc': 4.19.1 - '@rollup/rollup-win32-x64-msvc': 4.19.1 + '@rollup/rollup-android-arm-eabi': 4.20.0 + '@rollup/rollup-android-arm64': 4.20.0 + '@rollup/rollup-darwin-arm64': 4.20.0 + '@rollup/rollup-darwin-x64': 4.20.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 + '@rollup/rollup-linux-arm-musleabihf': 4.20.0 + '@rollup/rollup-linux-arm64-gnu': 4.20.0 + '@rollup/rollup-linux-arm64-musl': 4.20.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 + '@rollup/rollup-linux-riscv64-gnu': 4.20.0 + '@rollup/rollup-linux-s390x-gnu': 4.20.0 + '@rollup/rollup-linux-x64-gnu': 4.20.0 + '@rollup/rollup-linux-x64-musl': 4.20.0 + '@rollup/rollup-win32-arm64-msvc': 4.20.0 + '@rollup/rollup-win32-ia32-msvc': 4.20.0 + '@rollup/rollup-win32-x64-msvc': 4.20.0 fsevents: 2.3.3 rrweb-cssom@0.6.0: {} From e26fd7b1d15cb3335a4c2230cc49b1008daddca1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:49:27 +0800 Subject: [PATCH 16/44] chore(deps): update dependency lint-staged to ^15.2.8 (#11498) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 92 +++++++++++++++++++++++++++++++------------------- 2 files changed, 58 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index 6f9faf83f..20f244a4d 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "eslint-plugin-vitest": "^0.5.4", "estree-walker": "catalog:", "jsdom": "^24.1.1", - "lint-staged": "^15.2.7", + "lint-staged": "^15.2.8", "lodash": "^4.17.21", "magic-string": "^0.30.11", "markdown-table": "^3.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da5faa62e..d12dc453c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,8 +96,8 @@ importers: specifier: ^24.1.1 version: 24.1.1 lint-staged: - specifier: ^15.2.7 - version: 15.2.7 + specifier: ^15.2.8 + version: 15.2.8 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -1417,9 +1417,9 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -1615,9 +1615,9 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} @@ -1911,6 +1911,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -2526,13 +2530,13 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@15.2.7: - resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} + lint-staged@15.2.8: + resolution: {integrity: sha512-PUWFf2zQzsd9EFU+kM1d7UP+AZDbKFKuj+9JNVTBkhUFhbg4MAt6WfyMMwBfM4lYqd4D2Jwac5iuTu9rVj4zCQ==} engines: {node: '>=18.12.0'} hasBin: true - listr2@8.2.3: - resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==} + listr2@8.2.4: + resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==} engines: {node: '>=18.0.0'} loader-utils@3.3.1: @@ -2556,8 +2560,8 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} loupe@2.3.7: @@ -2649,6 +2653,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -2754,6 +2762,10 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3060,9 +3072,9 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -3623,8 +3635,8 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} engines: {node: '>= 14'} hasBin: true @@ -4533,7 +4545,9 @@ snapshots: ansi-colors@4.1.3: {} - ansi-escapes@6.2.1: {} + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 ansi-regex@5.0.1: {} @@ -4734,9 +4748,9 @@ snapshots: cli-boxes@3.0.0: {} - cli-cursor@4.0.0: + cli-cursor@5.0.0: dependencies: - restore-cursor: 4.0.0 + restore-cursor: 5.1.0 cli-truncate@4.0.0: dependencies: @@ -5011,6 +5025,8 @@ snapshots: env-paths@2.2.1: {} + environment@1.1.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -5734,27 +5750,27 @@ snapshots: lines-and-columns@1.2.4: {} - lint-staged@15.2.7: + lint-staged@15.2.8: dependencies: chalk: 5.3.0 commander: 12.1.0 - debug: 4.3.5 + debug: 4.3.6 execa: 8.0.1 lilconfig: 3.1.2 - listr2: 8.2.3 + listr2: 8.2.4 micromatch: 4.0.7 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.4.5 + yaml: 2.5.0 transitivePeerDependencies: - supports-color - listr2@8.2.3: + listr2@8.2.4: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 6.0.0 + log-update: 6.1.0 rfdc: 1.4.1 wrap-ansi: 9.0.0 @@ -5775,10 +5791,10 @@ snapshots: lodash@4.17.21: {} - log-update@6.0.0: + log-update@6.1.0: dependencies: - ansi-escapes: 6.2.1 - cli-cursor: 4.0.0 + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 @@ -5854,6 +5870,8 @@ snapshots: mimic-fn@4.0.0: {} + mimic-function@5.0.1: {} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 @@ -5945,6 +5963,10 @@ snapshots: dependencies: mimic-fn: 4.0.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -6311,10 +6333,10 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@4.0.0: + restore-cursor@5.1.0: dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 + onetime: 7.0.0 + signal-exit: 4.1.0 reusify@1.0.4: {} @@ -6891,7 +6913,7 @@ snapshots: yallist@3.1.1: {} - yaml@2.4.5: {} + yaml@2.5.0: {} yargs-parser@21.1.1: {} From 63fd8b683a29ef2132c96df059cd5c76b7e18c6c Mon Sep 17 00:00:00 2001 From: David Matter Date: Tue, 6 Aug 2024 08:34:31 +0200 Subject: [PATCH 17/44] ci: fix canary release workflow (#11516) --- scripts/utils.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/utils.js b/scripts/utils.js index 2050b05b7..056d95b7b 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -95,8 +95,17 @@ export async function exec(command, args, options) { const ok = code === 0 const stderr = Buffer.concat(stderrChunks).toString().trim() const stdout = Buffer.concat(stdoutChunks).toString().trim() - const result = { ok, code, stderr, stdout } - resolve(result) + + if (ok) { + const result = { ok, code, stderr, stdout } + resolve(result) + } else { + reject( + new Error( + `Failed to execute command: ${command} ${args.join(' ')}: ${stderr}`, + ), + ) + } }) }) } From 7d473b7721b423050dba62823b16f3d39e640567 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 15:58:17 +0800 Subject: [PATCH 18/44] fix(hydration): force hydrate custom element dynamic props close #7203 close #8038 --- .../runtime-core/__tests__/hydration.spec.ts | 20 +++++++++++++++++++ packages/runtime-core/src/hydration.ts | 4 +++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/hydration.spec.ts b/packages/runtime-core/__tests__/hydration.spec.ts index c525618b5..02f491efc 100644 --- a/packages/runtime-core/__tests__/hydration.spec.ts +++ b/packages/runtime-core/__tests__/hydration.spec.ts @@ -1340,6 +1340,26 @@ describe('SSR hydration', () => { expect((container.firstChild!.firstChild as any)._value).toBe(true) }) + // #7203 + test('force hydrate custom element with dynamic props', () => { + class MyElement extends HTMLElement { + foo = '' + constructor() { + super() + } + } + customElements.define('my-element-7203', MyElement) + + const msg = ref('bar') + const container = document.createElement('div') + container.innerHTML = '' + const app = createSSRApp({ + render: () => h('my-element-7203', { foo: msg.value }), + }) + app.mount(container) + expect((container.firstChild as any).foo).toBe(msg.value) + }) + // #5728 test('empty text node in slot', () => { const Comp = { diff --git a/packages/runtime-core/src/hydration.ts b/packages/runtime-core/src/hydration.ts index c37154260..533a52e8e 100644 --- a/packages/runtime-core/src/hydration.ts +++ b/packages/runtime-core/src/hydration.ts @@ -447,6 +447,7 @@ export function createHydrationFunctions( !optimized || patchFlag & (PatchFlags.FULL_PROPS | PatchFlags.NEED_HYDRATION) ) { + const isCustomElement = el.tagName.includes('-') for (const key in props) { // check hydration mismatch if ( @@ -463,7 +464,8 @@ export function createHydrationFunctions( (key.endsWith('value') || key === 'indeterminate')) || (isOn(key) && !isReservedProp(key)) || // force hydrate v-bind with .prop modifiers - key[0] === '.' + key[0] === '.' || + isCustomElement ) { patchProp(el, key, null, props[key], undefined, parentComponent) } From 79602f9ecd9559954f844774a90286305b13e056 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 18:14:47 +0800 Subject: [PATCH 19/44] fix(ssr): respect textContent/innerHTML from getSSRProps in optimized SSR output close #8112 --- .../compiler-ssr/__tests__/ssrElement.spec.ts | 57 +++++++++++++------ .../src/transforms/ssrTransformElement.ts | 19 +++++++ 2 files changed, 59 insertions(+), 17 deletions(-) diff --git a/packages/compiler-ssr/__tests__/ssrElement.spec.ts b/packages/compiler-ssr/__tests__/ssrElement.spec.ts index 4056b4c3c..723ef7b35 100644 --- a/packages/compiler-ssr/__tests__/ssrElement.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrElement.spec.ts @@ -288,12 +288,27 @@ describe('ssr: element', () => { }>
\`" `) }) + }) - test('custom dir', () => { + describe('custom directives', () => { + // #8112 should respect textContent / innerHTML from directive getSSRProps + // if the element has no children + test('custom dir without children', () => { expect(getCompiledString(`
`)).toMatchInlineSnapshot(` + "\`\${ + ("textContent" in _temp0) ? _ssrInterpolate(_temp0.textContent) : _temp0.innerHTML ?? '' + }
\`" + `) + }) + + test('custom dir with children', () => { + expect(getCompiledString(`
hello
`)) + .toMatchInlineSnapshot(` "\`
\`" + }>hello
\`" `) }) @@ -301,30 +316,36 @@ describe('ssr: element', () => { expect(getCompiledString(`
`)) .toMatchInlineSnapshot(` "\`
\`" + _ssrRenderAttrs(_temp0 = _mergeProps({ class: "foo" }, _ssrGetDirectiveProps(_ctx, _directive_xxx))) + }>\${ + ("textContent" in _temp0) ? _ssrInterpolate(_temp0.textContent) : _temp0.innerHTML ?? '' + }
\`" `) }) test('custom dir with v-bind', () => { expect(getCompiledString(`
`)) .toMatchInlineSnapshot(` - "\`
\`" - `) + "\`\${ + ("textContent" in _temp0) ? _ssrInterpolate(_temp0.textContent) : _temp0.innerHTML ?? '' + }
\`" + `) }) test('custom dir with object v-bind', () => { expect(getCompiledString(`
`)) .toMatchInlineSnapshot(` - "\`
\`" - `) + "\`\${ + ("textContent" in _temp0) ? _ssrInterpolate(_temp0.textContent) : _temp0.innerHTML ?? '' + }
\`" + `) }) test('custom dir with object v-bind + normal bindings', () => { @@ -332,11 +353,13 @@ describe('ssr: element', () => { getCompiledString(`
`), ).toMatchInlineSnapshot(` "\`
\`" + }>\${ + ("textContent" in _temp0) ? _ssrInterpolate(_temp0.textContent) : _temp0.innerHTML ?? '' + }
\`" `) }) }) diff --git a/packages/compiler-ssr/src/transforms/ssrTransformElement.ts b/packages/compiler-ssr/src/transforms/ssrTransformElement.ts index 7175b797d..45d4d76fe 100644 --- a/packages/compiler-ssr/src/transforms/ssrTransformElement.ts +++ b/packages/compiler-ssr/src/transforms/ssrTransformElement.ts @@ -163,6 +163,25 @@ export const ssrTransformElement: NodeTransform = (node, context) => { ]), ] } + } else if (directives.length && !node.children.length) { + const tempId = `_temp${context.temps++}` + propsExp.arguments = [ + createAssignmentExpression( + createSimpleExpression(tempId, false), + mergedProps, + ), + ] + rawChildrenMap.set( + node, + createConditionalExpression( + createSimpleExpression(`"textContent" in ${tempId}`, false), + createCallExpression(context.helper(SSR_INTERPOLATE), [ + createSimpleExpression(`${tempId}.textContent`, false), + ]), + createSimpleExpression(`${tempId}.innerHTML ?? ''`, false), + false, + ), + ) } if (needTagForRuntime) { From 275354caba295a6fb50695b70e97888a33c504e0 Mon Sep 17 00:00:00 2001 From: edison Date: Tue, 6 Aug 2024 18:25:13 +0800 Subject: [PATCH 20/44] fix(compiler-ssr): don't render v-if comments in TransitionGroup + static tag (#11515) close #11514 --- .../__tests__/ssrTransitionGroup.spec.ts | 22 +++++++++++++++++++ .../transforms/ssrTransformTransitionGroup.ts | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts b/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts index 905e6a489..431ebaa77 100644 --- a/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts @@ -38,6 +38,28 @@ describe('transition-group', () => { `) }) + // #11514 + test('with static tag + comment', () => { + expect( + compile( + `
`, + ).code, + ).toMatchInlineSnapshot(` + "const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require("vue/server-renderer") + + return function ssrRender(_ctx, _push, _parent, _attrs) { + _push(\`\`) + _ssrRenderList(_ctx.list, (i) => { + _push(\`
\`) + }) + if (false) { + _push(\`
\`) + } + _push(\`\`) + }" + `) + }) + test('with dynamic tag', () => { expect( compile( diff --git a/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts b/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts index a2e284ae8..1d99a6910 100644 --- a/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts +++ b/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts @@ -108,7 +108,7 @@ export function ssrProcessTransitionGroup( context.pushStringPart(` ${scopeId}`) } context.pushStringPart(`>`) - processChildren(node, context, false, true) + processChildren(node, context, false, true, true) context.pushStringPart(``) } } else { From a586901a7627b1861140e8505aef70aee7000a59 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Tue, 6 Aug 2024 20:42:36 +0800 Subject: [PATCH 21/44] workflow: add a "publish" workflow for automated releases (#9690) --- .github/workflows/publish.yml | 70 +++++++++++++++++++++++++++++++++++ scripts/release.js | 11 ++++++ 2 files changed, 81 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..95a3cb9d6 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,70 @@ +name: Publish Package + +on: + workflow_dispatch: + inputs: + branch: + description: 'Branch to publish' + required: true + default: 'main' + type: choice + options: + - main + - minor + bump: + description: 'Bump version' + required: true + default: 'patch' + type: choice + options: + - patch + - minor + - prepatch + - preminor + - custom + custom_version: + description: 'Custom version' + required: false + default: '' + type: string + +jobs: + publish: + # prevents this action from running on forks + if: github.repository == 'vuejs/core' + runs-on: ubuntu-latest + permissions: + contents: write + id-token: write + # Use Release environment for deployment protection + environment: Release + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.branch }} + + - name: Install pnpm + uses: pnpm/action-setup@v2 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install deps + run: pnpm install + + - name: Configure git user as vue bot + run: | + git config user.name "vue-bot" + git config user.email "" + + - name: Release + run: pnpm release ${{ inputs.bump != 'custom' && inputs.bump || inputs.custom_version }} --skip-prompts + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Push tags + run: git push -u origin ${{ inputs.branch }} --follow-tags diff --git a/scripts/release.js b/scripts/release.js index eed71c2fd..82ecf9f99 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -218,6 +218,12 @@ async function main() { } } + // @ts-expect-error + if (versionIncrements.includes(targetVersion)) { + // @ts-expect-error + targetVersion = inc(targetVersion) + } + if (!semver.valid(targetVersion)) { throw new Error(`invalid target version: ${targetVersion}`) } @@ -338,6 +344,11 @@ async function main() { if (branch !== 'main') { additionalPublishFlags.push('--publish-branch', branch) } + // add provenance metadata when releasing from CI + // canary release commits are not pushed therefore we don't need to add provenance + if (process.env.CI && !isCanary) { + additionalPublishFlags.push('--provenance') + } for (const pkg of packages) { await publishPackage(pkg, targetVersion, additionalPublishFlags) From 4e5cafe77bfdf2301cb565d10d0642e630ce052c Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 20:47:46 +0800 Subject: [PATCH 22/44] workflow: update size report to compare against pr target branch --- .github/workflows/size-data.yml | 1 + .github/workflows/size-report.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/size-data.yml b/.github/workflows/size-data.yml index a702d0fef..664f75aee 100644 --- a/.github/workflows/size-data.yml +++ b/.github/workflows/size-data.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - minor pull_request: branches: - main diff --git a/.github/workflows/size-report.yml b/.github/workflows/size-report.yml index 5cec66287..25c93d8ed 100644 --- a/.github/workflows/size-report.yml +++ b/.github/workflows/size-report.yml @@ -58,7 +58,7 @@ jobs: - name: Download Previous Size Data uses: dawidd6/action-download-artifact@v6 with: - branch: main + branch: ${{ github.base_ref }} workflow: size-data.yml event: push name: size-data From 244545c1c70d152c22ec209a11f67b3674371047 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 20:55:26 +0800 Subject: [PATCH 23/44] workflow: fix release workflow [ci skip] --- .github/workflows/{release-tag.yml => release-gh.yml} | 2 +- .github/workflows/{publish.yml => release.yml} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename .github/workflows/{release-tag.yml => release-gh.yml} (96%) rename .github/workflows/{publish.yml => release.yml} (95%) diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-gh.yml similarity index 96% rename from .github/workflows/release-tag.yml rename to .github/workflows/release-gh.yml index d93510607..f0cc5601f 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-gh.yml @@ -3,7 +3,7 @@ on: tags: - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 -name: Create Release +name: Create GH Release for Tag permissions: {} jobs: diff --git a/.github/workflows/publish.yml b/.github/workflows/release.yml similarity index 95% rename from .github/workflows/publish.yml rename to .github/workflows/release.yml index 95a3cb9d6..47f60da81 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Publish Package +name: Release on: workflow_dispatch: @@ -62,7 +62,7 @@ jobs: git config user.email "" - name: Release - run: pnpm release ${{ inputs.bump != 'custom' && inputs.bump || inputs.custom_version }} --skip-prompts + run: pnpm release ${{ inputs.bump != 'custom' && inputs.bump || inputs.custom_version }} --skipPrompts env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From ae09d24f41c3612f972caf5ba3b01c782321f089 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 21:07:54 +0800 Subject: [PATCH 24/44] workflow: bail release when skipping prompts + CI not passed yet --- scripts/release.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/scripts/release.js b/scripts/release.js index 82ecf9f99..9df761f2e 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -252,15 +252,23 @@ async function main() { let isCIPassed = await getCIResult() skipTests ||= isCIPassed - if (isCIPassed && !skipPrompts) { - /** @type {{ yes: boolean }} */ - const { yes: promptSkipTests } = await prompt({ - type: 'confirm', - name: 'yes', - message: `CI for this commit passed. Skip local tests?`, - }) - - skipTests = promptSkipTests + if (isCIPassed) { + if (!skipPrompts) { + /** @type {{ yes: boolean }} */ + const { yes: promptSkipTests } = await prompt({ + type: 'confirm', + name: 'yes', + message: `CI for this commit passed. Skip local tests?`, + }) + skipTests = promptSkipTests + } else { + skipTests = true + } + } else if (skipPrompts) { + throw new Error( + 'CI for the latest commit has not passed yet. ' + + 'Only run the release workflow after the CI has passed.', + ) } } From 13834c81ea7187f93b7472ed398fb9fc108e6062 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 21:14:18 +0800 Subject: [PATCH 25/44] workflow: fix release script error handling --- scripts/release.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release.js b/scripts/release.js index 9df761f2e..a85ee866e 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -533,7 +533,7 @@ async function publishPackage(pkgName, version, additionalFlags) { ) console.log(pico.green(`Successfully published ${pkgName}@${version}`)) } catch (/** @type {any} */ e) { - if (e.stderr.match(/previously published/)) { + if (e.message?.match(/previously published/)) { console.log(pico.red(`Skipping already published: ${pkgName}`)) } else { throw e From c82afc0471cfff8bc2f472e5e358e062f52a8454 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 21:29:15 +0800 Subject: [PATCH 26/44] workflow: add registry-url --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 47f60da81..caf86b43e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,6 +51,7 @@ jobs: uses: actions/setup-node@v4 with: node-version-file: '.node-version' + registry-url: 'https://registry.npmjs.org' cache: 'pnpm' - name: Install deps From 1cbbb0400836ccb8c8cc7a1ca83a3e10f1bf4633 Mon Sep 17 00:00:00 2001 From: vue-bot Date: Tue, 6 Aug 2024 14:00:05 +0000 Subject: [PATCH 27/44] release: v3.4.36 --- CHANGELOG.md | 4 ++++ 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, 16 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70d5e5a1e..5d54a4ef6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.4.36 (2024-08-06) + + + ## [3.4.35](https://github.com/vuejs/core/compare/v3.4.34...v3.4.35) (2024-07-31) diff --git a/package.json b/package.json index 20f244a4d..87f10e911 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "3.4.35", + "version": "3.4.36", "packageManager": "pnpm@9.6.0", "type": "module", "scripts": { diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index b9a4f58c9..a268685df 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-core", - "version": "3.4.35", + "version": "3.4.36", "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 f988fa1dd..6b28a5f20 100644 --- a/packages/compiler-dom/package.json +++ b/packages/compiler-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-dom", - "version": "3.4.35", + "version": "3.4.36", "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 d90375fcd..f5834ed0a 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-sfc", - "version": "3.4.35", + "version": "3.4.36", "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 787667632..bf1045952 100644 --- a/packages/compiler-ssr/package.json +++ b/packages/compiler-ssr/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compiler-ssr", - "version": "3.4.35", + "version": "3.4.36", "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 9da115b81..37faf6c69 100644 --- a/packages/reactivity/package.json +++ b/packages/reactivity/package.json @@ -1,6 +1,6 @@ { "name": "@vue/reactivity", - "version": "3.4.35", + "version": "3.4.36", "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 614f2beb7..f6f2533de 100644 --- a/packages/runtime-core/package.json +++ b/packages/runtime-core/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-core", - "version": "3.4.35", + "version": "3.4.36", "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 f01d252b6..a0a011311 100644 --- a/packages/runtime-dom/package.json +++ b/packages/runtime-dom/package.json @@ -1,6 +1,6 @@ { "name": "@vue/runtime-dom", - "version": "3.4.35", + "version": "3.4.36", "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 18d1a92f0..cc7c27b61 100644 --- a/packages/server-renderer/package.json +++ b/packages/server-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@vue/server-renderer", - "version": "3.4.35", + "version": "3.4.36", "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 f0eadfca1..26324eeaf 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@vue/shared", - "version": "3.4.35", + "version": "3.4.36", "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 18d818f3e..cbcf29a5a 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -1,6 +1,6 @@ { "name": "@vue/compat", - "version": "3.4.35", + "version": "3.4.36", "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 891900f87..1a1e1ee32 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "3.4.35", + "version": "3.4.36", "description": "The progressive JavaScript framework for building modern web UI.", "main": "index.js", "module": "dist/vue.runtime.esm-bundler.js", From a6c411371bd96a3281f34f70a67a8ec74b560a08 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 22:13:32 +0800 Subject: [PATCH 28/44] chore: fix 3.4.36 changelog [ci skip] --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d54a4ef6..e9f235ebc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,13 @@ -## 3.4.36 (2024-08-06) +## [3.4.36](https://github.com/vuejs/core/compare/v3.4.35...v3.4.36) (2024-08-06) + +### Bug Fixes + +* **compiler-core:** fix expression transform for try...catch block params ([077a1ae](https://github.com/vuejs/core/commit/077a1aeb3c222b729a7e190f46864656ecc65325)), closes [#11465](https://github.com/vuejs/core/issues/11465) [#11467](https://github.com/vuejs/core/issues/11467) +* **compiler-core:** properly handle for loop variable declarations in expression transforms ([67bb820](https://github.com/vuejs/core/commit/67bb820904d53480fa37536fc3cb4109a4c6d3e2)), closes [/github.com/vuejs/core/pull/11467#issuecomment-2263069794](https://github.com//github.com/vuejs/core/pull/11467/issues/issuecomment-2263069794) +* **compiler-ssr:** don't render v-if comments in TransitionGroup + static tag ([#11515](https://github.com/vuejs/core/issues/11515)) ([275354c](https://github.com/vuejs/core/commit/275354caba295a6fb50695b70e97888a33c504e0)), closes [#11514](https://github.com/vuejs/core/issues/11514) +* **hydration:** force hydrate custom element dynamic props ([7d473b7](https://github.com/vuejs/core/commit/7d473b7721b423050dba62823b16f3d39e640567)), closes [#7203](https://github.com/vuejs/core/issues/7203) [#8038](https://github.com/vuejs/core/issues/8038) +* **ssr:** respect textContent/innerHTML from getSSRProps in optimized SSR output ([79602f9](https://github.com/vuejs/core/commit/79602f9ecd9559954f844774a90286305b13e056)), closes [#8112](https://github.com/vuejs/core/issues/8112) +* **types/withDefaults:** ensure default values of type `any` do not include `undefined` ([#11490](https://github.com/vuejs/core/issues/11490)) ([4592b63](https://github.com/vuejs/core/commit/4592b63c6a8a3d69bfe4ac1f9458b4a86a9676a4)) From 9e7aa04edb7316281ef44e1612b3ce96ef0f582d Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 22:24:19 +0800 Subject: [PATCH 29/44] workflow: auto create gh release tag in release --- .github/workflows/release.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index caf86b43e..823bbcd45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ on: type: string jobs: - publish: + release: # prevents this action from running on forks if: github.repository == 'vuejs/core' runs-on: ubuntu-latest @@ -45,7 +45,7 @@ jobs: ref: ${{ inputs.branch }} - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v4 - name: Install Node.js uses: actions/setup-node@v4 @@ -62,10 +62,25 @@ jobs: git config user.name "vue-bot" git config user.email "" - - name: Release - run: pnpm release ${{ inputs.bump != 'custom' && inputs.bump || inputs.custom_version }} --skipPrompts + - name: Run release script + id: release + run: | + pnpm release ${{ inputs.bump != 'custom' && inputs.bump || inputs.custom_version }} --skipPrompts + RELEASE_TAG=$(git describe --tags --abbrev=0) + echo "tag=$RELEASE_TAG" >> $GITHUB_OUTPUT env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Push tags run: git push -u origin ${{ inputs.branch }} --follow-tags + + - name: Create Release for Tag + id: release_tag + uses: yyx990803/release-tag@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.release.outputs.tag }} + body: | + For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. + For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. From 5b6caab8d194364e3e8eb3036582ab203d15c29b Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 22:28:00 +0800 Subject: [PATCH 30/44] chore: changelog [ci skip] --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9f235ebc..efa863949 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ### Bug Fixes * **compiler-core:** fix expression transform for try...catch block params ([077a1ae](https://github.com/vuejs/core/commit/077a1aeb3c222b729a7e190f46864656ecc65325)), closes [#11465](https://github.com/vuejs/core/issues/11465) [#11467](https://github.com/vuejs/core/issues/11467) -* **compiler-core:** properly handle for loop variable declarations in expression transforms ([67bb820](https://github.com/vuejs/core/commit/67bb820904d53480fa37536fc3cb4109a4c6d3e2)), closes [/github.com/vuejs/core/pull/11467#issuecomment-2263069794](https://github.com//github.com/vuejs/core/pull/11467/issues/issuecomment-2263069794) +* **compiler-core:** properly handle for loop variable declarations in expression transforms ([67bb820](https://github.com/vuejs/core/commit/67bb820904d53480fa37536fc3cb4109a4c6d3e2)), ref [#11467](https://github.com/vuejs/core/issues/11467) * **compiler-ssr:** don't render v-if comments in TransitionGroup + static tag ([#11515](https://github.com/vuejs/core/issues/11515)) ([275354c](https://github.com/vuejs/core/commit/275354caba295a6fb50695b70e97888a33c504e0)), closes [#11514](https://github.com/vuejs/core/issues/11514) * **hydration:** force hydrate custom element dynamic props ([7d473b7](https://github.com/vuejs/core/commit/7d473b7721b423050dba62823b16f3d39e640567)), closes [#7203](https://github.com/vuejs/core/issues/7203) [#8038](https://github.com/vuejs/core/issues/8038) * **ssr:** respect textContent/innerHTML from getSSRProps in optimized SSR output ([79602f9](https://github.com/vuejs/core/commit/79602f9ecd9559954f844774a90286305b13e056)), closes [#8112](https://github.com/vuejs/core/issues/8112) From 7c75cc3988e5e7bd7eeb002bfeb561a0e2ce28e8 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 6 Aug 2024 22:57:52 +0800 Subject: [PATCH 31/44] workflow: sign the release commit in workflow --- .github/workflows/release.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 823bbcd45..fcf0c3fac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,6 +62,14 @@ jobs: git config user.name "vue-bot" git config user.email "" + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.GPG_PASSPHRASE }} + git_user_signingkey: true + git_commit_gpgsign: true + - name: Run release script id: release run: | From 8a99f903db114d4996c0d41ccfea898371c0d487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Deng=20=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90?= Date: Wed, 7 Aug 2024 10:57:18 +0800 Subject: [PATCH 32/44] style: format html&markdown files (#11531) --- .github/commit-convention.md | 8 +- .github/contributing.md | 1 - .github/maintenance.md | 1 + .prettierignore | 3 +- SECURITY.md | 2 +- packages/compiler-dom/README.md | 2 +- packages/compiler-ssr/README.md | 2 +- packages/runtime-core/README.md | 2 +- packages/runtime-dom/README.md | 4 +- packages/runtime-test/README.md | 2 +- packages/server-renderer/README.md | 16 +- packages/sfc-playground/index.html | 17 +- .../src/download/template/index.html | 2 +- packages/template-explorer/index.html | 20 +- packages/template-explorer/local.html | 20 +- packages/vue-compat/README.md | 160 ++++---- packages/vue/README.md | 5 +- packages/vue/__tests__/e2e/transition.html | 43 ++- packages/vue/examples/classic/commits.html | 82 ++-- packages/vue/examples/classic/grid.html | 231 ++++++----- packages/vue/examples/classic/markdown.html | 93 ++--- packages/vue/examples/classic/svg.html | 198 +++++----- packages/vue/examples/classic/todomvc.html | 360 ++++++++++-------- packages/vue/examples/classic/tree.html | 131 +++---- .../vue/examples/composition/commits.html | 84 ++-- packages/vue/examples/composition/grid.html | 233 ++++++------ .../vue/examples/composition/markdown.html | 93 ++--- packages/vue/examples/composition/svg.html | 212 ++++++----- .../vue/examples/composition/todomvc.html | 360 ++++++++++-------- packages/vue/examples/composition/tree.html | 132 +++---- packages/vue/examples/transition/list.html | 125 +++--- packages/vue/examples/transition/modal.html | 114 +++--- 32 files changed, 1445 insertions(+), 1313 deletions(-) diff --git a/.github/commit-convention.md b/.github/commit-convention.md index d17a8bd4f..11a64576a 100644 --- a/.github/commit-convention.md +++ b/.github/commit-convention.md @@ -44,7 +44,7 @@ This reverts commit 667ecc1654a317a13331b17617d973392f415f02. ### Full Message Format -A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: +A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: ``` (): @@ -74,9 +74,9 @@ The scope could be anything specifying the place of the commit change. For examp The subject contains a succinct description of the change: -* use the imperative, present tense: "change" not "changed" nor "changes" -* don't capitalize the first letter -* no dot (.) at the end +- use the imperative, present tense: "change" not "changed" nor "changes" +- don't capitalize the first letter +- no dot (.) at the end ### Body diff --git a/.github/contributing.md b/.github/contributing.md index 3ed1de4e0..6439f1239 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -35,7 +35,6 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before Another aspect of it is that large scale stylistic changes result in massive diffs that touch multiple files, adding noise to the git history and makes tracing behavior changes across commits more cumbersome. - ### Pull Request Checklist - Vue core has two primary work branches: `main` and `minor`. diff --git a/.github/maintenance.md b/.github/maintenance.md index 8d4317c6b..b1fb550dd 100644 --- a/.github/maintenance.md +++ b/.github/maintenance.md @@ -80,6 +80,7 @@ Depending on the type of the PR, different considerations need to be taken into - Make sure it doesn't accidentally cause dev-only or compiler-only code branches to be included in the runtime build. Notable case is that some functions in @vue/shared are compiler-only and should not be used in runtime code, e.g. `isHTMLTag` and `isSVGTag`. - Performance + - Be careful about code changes in "hot paths", in particular the Virtual DOM renderer (`runtime-core/src/renderer.ts`) and component instantiation code. - Potential Breakage diff --git a/.prettierignore b/.prettierignore index fbd3dca8c..ca3c40849 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,3 @@ dist -*.md -*.html pnpm-lock.yaml +CHANGELOG*.md diff --git a/SECURITY.md b/SECURITY.md index 6caf3621a..a1bb8c411 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,6 +10,6 @@ Please note that we do not consider XSS via template expressions a valid attack We would like to thank the following security researchers for responsibly disclosing security issues to us. -- Jeet Pal - [@jeetpal2007](https://github.com/jeetpal2007) | [Email](jeetpal2007@gmail.com) | [LinkedIn](https://in.linkedin.com/in/jeet-pal-22601a290 ) +- Jeet Pal - [@jeetpal2007](https://github.com/jeetpal2007) | [Email](jeetpal2007@gmail.com) | [LinkedIn](https://in.linkedin.com/in/jeet-pal-22601a290) - Mix - [@mnixry](https://github.com/mnixry) - Aviv Keller - [@RedYetiDev](https://github.com/redyetidev) | [LinkedIn](https://www.linkedin.com/in/redyetidev) diff --git a/packages/compiler-dom/README.md b/packages/compiler-dom/README.md index 0027f5426..57748e661 100644 --- a/packages/compiler-dom/README.md +++ b/packages/compiler-dom/README.md @@ -1 +1 @@ -# @vue/compiler-dom \ No newline at end of file +# @vue/compiler-dom diff --git a/packages/compiler-ssr/README.md b/packages/compiler-ssr/README.md index 5beb121e1..9337906f4 100644 --- a/packages/compiler-ssr/README.md +++ b/packages/compiler-ssr/README.md @@ -1 +1 @@ -# @vue/compiler-ssr \ No newline at end of file +# @vue/compiler-ssr diff --git a/packages/runtime-core/README.md b/packages/runtime-core/README.md index 3a5b29812..452ef520c 100644 --- a/packages/runtime-core/README.md +++ b/packages/runtime-core/README.md @@ -13,7 +13,7 @@ const { render, createApp } = createRenderer({ patchProp, insert, remove, - createElement + createElement, // ... }) diff --git a/packages/runtime-dom/README.md b/packages/runtime-dom/README.md index 2ac2c4de8..11c373fe9 100644 --- a/packages/runtime-dom/README.md +++ b/packages/runtime-dom/README.md @@ -1,12 +1,12 @@ # @vue/runtime-dom -``` js +```js import { h, createApp } from '@vue/runtime-dom' const RootComponent = { render() { return h('div', 'hello world') - } + }, } createApp(RootComponent).mount('#app') diff --git a/packages/runtime-test/README.md b/packages/runtime-test/README.md index 6d6ba8298..6db8b810e 100644 --- a/packages/runtime-test/README.md +++ b/packages/runtime-test/README.md @@ -4,7 +4,7 @@ This is for Vue's own internal tests only - it ensures logic tested using this p It can also be used as a reference for implementing a custom renderer. -``` js +```js import { h, render, nodeOps, dumpOps } from '@vue/runtime-test' const App = { diff --git a/packages/server-renderer/README.md b/packages/server-renderer/README.md index 4188fc93f..55323e429 100644 --- a/packages/server-renderer/README.md +++ b/packages/server-renderer/README.md @@ -11,7 +11,7 @@ ```ts function renderToString( input: App | VNode, - context?: SSRContext + context?: SSRContext, ): Promise ``` @@ -23,7 +23,7 @@ const { renderToString } = require('@vue/server-renderer') const app = createSSRApp({ data: () => ({ msg: 'hello' }), - template: `
{{ msg }}
` + template: `
{{ msg }}
`, }) ;(async () => { @@ -74,7 +74,7 @@ Render and pipe to an existing [Node.js Writable stream](https://nodejs.org/api/ function pipeToNodeWritable( input: App | VNode, context: SSRContext = {}, - writable: Writable + writable: Writable, ): void ``` @@ -94,7 +94,7 @@ Renders input as a [Web ReadableStream](https://developer.mozilla.org/en-US/docs ```ts function renderToWebStream( input: App | VNode, - context?: SSRContext + context?: SSRContext, ): ReadableStream ``` @@ -117,7 +117,7 @@ Render and pipe to an existing [Web WritableStream](https://developer.mozilla.or function pipeToWebWritable( input: App | VNode, context: SSRContext = {}, - writable: WritableStream + writable: WritableStream, ): void ``` @@ -144,7 +144,7 @@ Renders input in streaming mode using a simple readable interface. function renderToSimpleStream( input: App | VNode, context: SSRContext, - options: SimpleReadable + options: SimpleReadable, ): SimpleReadable interface SimpleReadable { @@ -172,7 +172,7 @@ renderToSimpleStream( }, destroy(err) { // error encountered - } - } + }, + }, ) ``` diff --git a/packages/sfc-playground/index.html b/packages/sfc-playground/index.html index 2319a9187..3a21d956c 100644 --- a/packages/sfc-playground/index.html +++ b/packages/sfc-playground/index.html @@ -1,4 +1,4 @@ - + @@ -7,13 +7,16 @@ Vue SFC Playground diff --git a/packages/sfc-playground/src/download/template/index.html b/packages/sfc-playground/src/download/template/index.html index 030a6ff51..e631329c1 100644 --- a/packages/sfc-playground/src/download/template/index.html +++ b/packages/sfc-playground/src/download/template/index.html @@ -1,4 +1,4 @@ - + diff --git a/packages/template-explorer/index.html b/packages/template-explorer/index.html index 81dc39146..d1db969f0 100644 --- a/packages/template-explorer/index.html +++ b/packages/template-explorer/index.html @@ -1,6 +1,10 @@ Vue Template Explorer - - + +
@@ -8,13 +12,13 @@ diff --git a/packages/template-explorer/local.html b/packages/template-explorer/local.html index 6ec0ba20a..c86cdb6b3 100644 --- a/packages/template-explorer/local.html +++ b/packages/template-explorer/local.html @@ -1,6 +1,10 @@ Vue Template Explorer - - + +
@@ -8,13 +12,13 @@ diff --git a/packages/vue-compat/README.md b/packages/vue-compat/README.md index 23e4ce9eb..9428d6f6c 100644 --- a/packages/vue-compat/README.md +++ b/packages/vue-compat/README.md @@ -84,12 +84,12 @@ The following workflow walks through the steps of migrating an actual Vue 2 app ...options, compilerOptions: { compatConfig: { - MODE: 2 - } - } + MODE: 2, + }, + }, } }) - } + }, } ``` @@ -103,8 +103,8 @@ The following workflow walks through the steps of migrating an actual Vue 2 app module.exports = { resolve: { alias: { - vue: '@vue/compat' - } + vue: '@vue/compat', + }, }, module: { rules: [ @@ -114,13 +114,13 @@ The following workflow walks through the steps of migrating an actual Vue 2 app options: { compilerOptions: { compatConfig: { - MODE: 2 - } - } - } - } - ] - } + MODE: 2, + }, + }, + }, + }, + ], + }, } ``` @@ -134,20 +134,20 @@ The following workflow walks through the steps of migrating an actual Vue 2 app export default { resolve: { alias: { - vue: '@vue/compat' - } + vue: '@vue/compat', + }, }, plugins: [ vue({ template: { compilerOptions: { compatConfig: { - MODE: 2 - } - } - } - }) - ] + MODE: 2, + }, + }, + }, + }), + ], } ``` @@ -207,7 +207,7 @@ import { configureCompat } from 'vue' // disable compat for certain features configureCompat({ FEATURE_ID_A: false, - FEATURE_ID_B: false + FEATURE_ID_B: false, }) ``` @@ -221,7 +221,7 @@ import { configureCompat } from 'vue' configureCompat({ MODE: 3, FEATURE_ID_A: true, - FEATURE_ID_B: true + FEATURE_ID_B: true, }) ``` @@ -233,8 +233,8 @@ A component can use the `compatConfig` option, which expects the same options as export default { compatConfig: { MODE: 3, // opt-in to Vue 3 behavior for this component only - FEATURE_ID_A: true // features can also be toggled at component level - } + FEATURE_ID_A: true, // features can also be toggled at component level + }, // ... } ``` @@ -256,73 +256,73 @@ Features that start with `COMPILER_` are compiler-specific: if you are using the > Should be fixed upfront or will likely lead to errors -| ID | Type | Description | Docs | -| ------------------------------------- | ---- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| GLOBAL_MOUNT_CONTAINER | ⨂ | Mounted application does not replace the element it's mounted to | [link](https://v3-migration.vuejs.org/breaking-changes/mount-changes.html) | -| CONFIG_DEVTOOLS | ⨂ | production devtools is now a build-time flag | [link](https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags) | -| COMPILER_V_IF_V_FOR_PRECEDENCE | ⨂ | `v-if` and `v-for` precedence when used on the same element has changed | [link](https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html) | -| COMPILER_V_IF_SAME_KEY | ⨂ | `v-if` branches can no longer have the same key | [link](https://v3-migration.vuejs.org/breaking-changes/key-attribute.html#on-conditional-branches) | -| COMPILER_V_FOR_TEMPLATE_KEY_PLACEMENT | ⨂ | `