diff --git a/packages/vue-code-gen/src/generators/script.ts b/packages/vue-code-gen/src/generators/script.ts
index b2bc56126..15a68e86e 100644
--- a/packages/vue-code-gen/src/generators/script.ts
+++ b/packages/vue-code-gen/src/generators/script.ts
@@ -312,6 +312,8 @@ export function generate(
codeGen.addText('export default await (async () => {\n');
}
+ codeGen.addText('const __VLS_setup = async () => {\n');
+
codeGen.addCode(
scriptSetup.content.substring(scriptSetupRanges.importSectionEndOffset),
{
@@ -535,6 +537,8 @@ export function generate(
codeGen.addText(`const __VLS_slots = (await import('./${path.basename(fileName)}.__VLS_template.jsx')).default;\n`)
codeGen.addText(`return {} as typeof __VLS_Component & (new () => { ${getSlotsPropertyName(vueVersion)}: typeof __VLS_slots });\n`);
}
+ codeGen.addText(`};\n`);
+ codeGen.addText(`return await __VLS_setup();\n`);
codeGen.addText(`})();`);
exportdefaultEnd = codeGen.getText().length;
diff --git a/packages/vue-test-workspace/vue-tsc/script-setup-scope/export-order.vue b/packages/vue-test-workspace/vue-tsc/script-setup-scope/export-order.vue
new file mode 100644
index 000000000..fccfe6dcb
--- /dev/null
+++ b/packages/vue-test-workspace/vue-tsc/script-setup-scope/export-order.vue
@@ -0,0 +1,14 @@
+
+
+