improve `export` compatibility mode (#4703)
authorAlex Lam S.L <alexlamsl@gmail.com>
Sat, 27 Feb 2021 06:05:36 +0000 (06:05 +0000)
committerGitHub <noreply@github.com>
Sat, 27 Feb 2021 06:05:36 +0000 (14:05 +0800)
test/sandbox.js

index ceaf008..b369ba8 100644 (file)
@@ -51,7 +51,7 @@ exports.same_stdout = semver.satisfies(process.version, "0.12") ? function(expec
 };
 exports.strip_exports = function(code) {
     var count = 0;
-    return code.replace(/\bexport(?:\s*\{[^}]*};|\s+default\b(?:\s*(\(|\{|class\s*\{|class\s+(?=extends\b)|(?:async\s+)?function\s*(?:\*\s*)?\())?|\b)/g, function(match, header) {
+    return code.replace(/\bexport(?:\s*\{[^}]*}\s*?(?:$|\n|;)|\s+default\b(?:\s*(\(|\{|class\s*\{|class\s+(?=extends\b)|(?:async\s+)?function\s*(?:\*\s*)?\())?|\b)/g, function(match, header) {
         if (!header) return "";
         if (header.length == 1) return "!!" + header;
         return header.slice(0, -1) + " _" + ++count + header.slice(-1);