From 69a46dd10223f5f6f26008b3746e7400824a7d6c Mon Sep 17 00:00:00 2001
From: Hongxu Hou <903040380@qq.com>
Date: Sat, 17 Aug 2024 12:37:18 +0800
Subject: [PATCH] fix: add defaultExport in empty export

---
 src/loader.js | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/loader.js b/src/loader.js
index 5c0b04b1..e4217f5c 100644
--- a/src/loader.js
+++ b/src/loader.js
@@ -255,6 +255,11 @@ function pitch(request) {
     }
 
     const result = (function makeResult() {
+      const defaultExport =
+        typeof options.defaultExport !== "undefined"
+          ? options.defaultExport
+          : false;
+
       if (locals) {
         if (namedExport) {
           const identifiers = Array.from(
@@ -281,11 +286,6 @@ function pitch(request) {
             .map(([id, key]) => `${id} as ${JSON.stringify(key)}`)
             .join(", ")} }`;
 
-          const defaultExport =
-            typeof options.defaultExport !== "undefined"
-              ? options.defaultExport
-              : false;
-
           return defaultExport
             ? `${localsString}\n${exportsString}\nexport default { ${identifiers
                 .map(([id, key]) => `${JSON.stringify(key)}: ${id}`)
@@ -297,7 +297,9 @@ function pitch(request) {
           esModule ? "export default" : "module.exports = "
         } ${JSON.stringify(locals)};`;
       } else if (esModule) {
-        return "\nexport {};";
+        return defaultExport
+          ? "\nexport {};export default {};"
+          : "\nexport {};";
       }
       return "";
     })();