From c4f213b42535da3558d406da9b33dd1f9455aeaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Tue, 8 Nov 2022 09:38:47 +0800 Subject: [PATCH] fix(reactivity-transform): add semicolon after statements (#6303) --- .../compileScriptPropsTransform.spec.ts.snap | 6 +++--- packages/compiler-sfc/src/compileScript.ts | 2 +- .../__snapshots__/reactivityTransform.spec.ts.snap | 14 +++++++------- .../src/reactivityTransform.ts | 12 +++++++++--- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScriptPropsTransform.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScriptPropsTransform.spec.ts.snap index cfde6700dba..093d2b9ddf7 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScriptPropsTransform.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScriptPropsTransform.spec.ts.snap @@ -6,8 +6,8 @@ exports[`sfc props transform $$() escape 1`] = ` export default { props: ['foo'], setup(__props) { -const __props_bar = _toRef(__props, 'bar') -const __props_foo = _toRef(__props, 'foo') +const __props_bar = _toRef(__props, 'bar'); +const __props_foo = _toRef(__props, 'foo'); console.log((__props_foo)) @@ -160,7 +160,7 @@ export default { props: ['foo', 'bar', 'baz'], setup(__props) { -const rest = _createPropsRestProxy(__props, [\\"foo\\",\\"bar\\"]) +const rest = _createPropsRestProxy(__props, [\\"foo\\",\\"bar\\"]); diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index dc989e4681e..485d51e5c8b 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -1419,7 +1419,7 @@ export function compileScript( startOffset, `\nconst ${propsDestructureRestId} = ${helper( `createPropsRestProxy` - )}(__props, ${JSON.stringify(Object.keys(propsDestructuredBindings))})\n` + )}(__props, ${JSON.stringify(Object.keys(propsDestructuredBindings))});\n` ) } // inject temp variables for async context preservation diff --git a/packages/reactivity-transform/__tests__/__snapshots__/reactivityTransform.spec.ts.snap b/packages/reactivity-transform/__tests__/__snapshots__/reactivityTransform.spec.ts.snap index 0251a2f5d17..9d55945a381 100644 --- a/packages/reactivity-transform/__tests__/__snapshots__/reactivityTransform.spec.ts.snap +++ b/packages/reactivity-transform/__tests__/__snapshots__/reactivityTransform.spec.ts.snap @@ -61,7 +61,7 @@ exports[`array destructure 1`] = ` let n = _ref(1), __$temp_1 = (useFoo()), a = _toRef(__$temp_1, 0), - b = _toRef(__$temp_1, 1, 1) + b = _toRef(__$temp_1, 1, 1); console.log(n.value, a.value, b.value) " `; @@ -90,7 +90,7 @@ exports[`macro import alias and removal 1`] = ` let a = _ref(1) const __$temp_1 = (useMouse()), x = _toRef(__$temp_1, 'x'), - y = _toRef(__$temp_1, 'y') + y = _toRef(__$temp_1, 'y'); " `; @@ -130,10 +130,10 @@ exports[`nested destructure 1`] = ` "import { toRef as _toRef } from 'vue' let __$temp_1 = (useFoo()), - b = _toRef(__$temp_1[0].a, 'b') + b = _toRef(__$temp_1[0].a, 'b'); let __$temp_2 = (useBar()), d = _toRef(__$temp_2.c, 0), - e = _toRef(__$temp_2.c, 1) + e = _toRef(__$temp_2.c, 1); console.log(b.value, d.value, e.value) " `; @@ -183,9 +183,9 @@ exports[`object destructure 1`] = ` c = _toRef(__$temp_1, 'b'), d = _toRef(__$temp_1, 'd', 1), f = _toRef(__$temp_1, 'e', 2), - h = _toRef(__$temp_1, g) + h = _toRef(__$temp_1, g); let __$temp_2 = (useSomething(() => 1)), - foo = _toRef(__$temp_2, 'foo'); + foo = _toRef(__$temp_2, 'foo');; console.log(n.value, a.value, c.value, d.value, f.value, h.value, foo.value) " `; @@ -194,7 +194,7 @@ exports[`object destructure w/ mid-path default values 1`] = ` "import { toRef as _toRef } from 'vue' const __$temp_1 = (useFoo()), - b = _toRef((__$temp_1.a || { b: 123 }), 'b') + b = _toRef((__$temp_1.a || { b: 123 }), 'b'); console.log(b.value) " `; diff --git a/packages/reactivity-transform/src/reactivityTransform.ts b/packages/reactivity-transform/src/reactivityTransform.ts index 34d537d221b..9d47416f43c 100644 --- a/packages/reactivity-transform/src/reactivityTransform.ts +++ b/packages/reactivity-transform/src/reactivityTransform.ts @@ -321,8 +321,8 @@ export function transformAST( s.overwrite(pattern.start! + offset, pattern.end! + offset, tempVar) } + let nameId: Identifier | undefined for (const p of pattern.properties) { - let nameId: Identifier | undefined let key: Expression | string | undefined let defaultValue: Expression | undefined if (p.type === 'ObjectProperty') { @@ -391,6 +391,9 @@ export function transformAST( ) } } + if (nameId) { + s.appendLeft(call.end! + offset, ';') + } } function processRefArrayPattern( @@ -405,10 +408,10 @@ export function transformAST( s.overwrite(pattern.start! + offset, pattern.end! + offset, tempVar) } + let nameId: Identifier | undefined for (let i = 0; i < pattern.elements.length; i++) { const e = pattern.elements[i] if (!e) continue - let nameId: Identifier | undefined let defaultValue: Expression | undefined if (e.type === 'Identifier') { // [a] --> [__a] @@ -438,6 +441,9 @@ export function transformAST( ) } } + if (nameId) { + s.appendLeft(call.end! + offset, ';') + } } type PathSegmentAtom = Expression | string | number @@ -545,7 +551,7 @@ export function transformAST( offset, `const __props_${publicKey} = ${helper( `toRef` - )}(__props, '${publicKey}')\n` + )}(__props, '${publicKey}');\n` ) } }