diff --git a/packages/vue-language-core/src/generators/script.ts b/packages/vue-language-core/src/generators/script.ts
index b8bb16006..f4a94e541 100644
--- a/packages/vue-language-core/src/generators/script.ts
+++ b/packages/vue-language-core/src/generators/script.ts
@@ -421,7 +421,7 @@ export function generate(
if (!scriptRanges?.exportDefault) {
codes.push('export default ');
}
- codes.push('(() => {\n');
+ codes.push('await (async () => {\n');
scriptSetupGeneratedOffset = generateSetupFunction(false, 'return', definePropMirrors);
codes.push(`})()`);
}
diff --git a/packages/vue-test-workspace/vue-tsc/#2712/main.vue b/packages/vue-test-workspace/vue-tsc/#2712/main.vue
new file mode 100644
index 000000000..bf5340390
--- /dev/null
+++ b/packages/vue-test-workspace/vue-tsc/#2712/main.vue
@@ -0,0 +1,12 @@
+
+
+