From c839129ab9d46f56a019b0ff234b35f27cac1e35 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, 28 Mar 2023 17:34:23 +0800 Subject: [PATCH] fix(compiler-sfc): avoid codegen conflict with user variable named `expose` (#7949) rename `expose` to `__expose` to avoid duplicate identifier relate #7890 --- .../__snapshots__/compileScript.spec.ts.snap | 316 +++++++++--------- .../compileScriptRefTransform.spec.ts.snap | 20 +- .../__snapshots__/cssVars.spec.ts.snap | 20 +- .../__tests__/compileScript.spec.ts | 14 +- packages/compiler-sfc/src/compileScript.ts | 4 +- 5 files changed, 188 insertions(+), 186 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index df4fc952b..d5714b223 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -4,8 +4,8 @@ exports[`SFC analyze `) assertCode(content) - expect(content).toMatch(`setup(__props, { expose, emit }) {`) + expect(content).toMatch(`setup(__props, { expose: __expose, emit }) {`) expect(content).toMatch(`emits: ['foo']`) }) diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index c25335972..aacc8c627 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -1545,7 +1545,7 @@ export function compileScript( } const destructureElements = - hasDefineExposeCall || !options.inlineTemplate ? [`expose`] : [] + hasDefineExposeCall || !options.inlineTemplate ? [`expose: __expose`] : [] if (emitIdentifier) { destructureElements.push( emitIdentifier === `emit` ? `emit` : `emit: ${emitIdentifier}` @@ -1723,7 +1723,7 @@ export function compileScript( //