From 71f5636cb2122e9917f2f0498660fa973b0109d6 Mon Sep 17 00:00:00 2001 From: webfansplz <308241863@qq.com> Date: Wed, 26 Oct 2022 22:20:04 +0800 Subject: [PATCH] fix(compiler-sfc): Optimize the value of emitIdentifier --- packages/compiler-sfc/src/compileScript.ts | 5 ++++- .../__snapshots__/compileScript.spec.ts.snap | 16 ++++++++++++++++ packages/compiler-sfc/test/compileScript.spec.ts | 13 +++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index 548fc592423..e2a3fbe5726 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -414,7 +414,10 @@ export function compileScript( } if (declId) { - emitIdentifier = scriptSetup!.content.slice(declId.start!, declId.end!) + emitIdentifier = + declId.type === 'Identifier' + ? declId.name + : scriptSetup!.content.slice(declId.start!, declId.end!) } return true diff --git a/packages/compiler-sfc/test/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/test/__snapshots__/compileScript.spec.ts.snap index bb52a66b907..bcecdb4efb5 100644 --- a/packages/compiler-sfc/test/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/test/__snapshots__/compileScript.spec.ts.snap @@ -558,6 +558,22 @@ export default /*#__PURE__*/_defineComponent({ +return { emit } +} + +})" +`; + +exports[`SFC compile + `) + assertCode(content) + expect(content).toMatch(`setup(__props, { emit }) {`) + expect(content).toMatch(`emits: ['foo']`) + }) + test('runtime Enum', () => { const { content, bindings } = compile( `