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(
`