diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
index 6ff7608cc..c2407f8ac 100644
--- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
+++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap
@@ -1,5 +1,38 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`SFC compile
+
+ `)
+ assertCode(content)
+ })
+
+ test('script setup first', () => {
+ const { content } = compile(`
+
+
+ `)
+ assertCode(content)
+ })
+ })
+
describe('imports', () => {
test('should hoist and expose imports', () => {
assertCode(
diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts
index c1f0ae6ca..31e92fb02 100644
--- a/packages/compiler-sfc/src/compileScript.ts
+++ b/packages/compiler-sfc/src/compileScript.ts
@@ -921,7 +921,7 @@ export function compileScript(
hasAwait ? `async ` : ``
}setup(${args}) {\n`
)
- s.append(`})`)
+ s.appendRight(endOffset, `})`)
} else {
if (defaultExport) {
// can't rely on spread operator in non ts mode
@@ -939,7 +939,7 @@ export function compileScript(
`\nexport default {${runtimeOptions}\n ` +
`${hasAwait ? `async ` : ``}setup(${args}) {\n`
)
- s.append(`}`)
+ s.appendRight(endOffset, `}`)
}
}