@@ -466,4 +466,23 @@ describe("test/reduce.js", function() {
|
|||||||
"// }",
|
"// }",
|
||||||
].join("\n"));
|
].join("\n"));
|
||||||
});
|
});
|
||||||
|
it("Should transform `export default (42)` correctly", function() {
|
||||||
|
var code = [
|
||||||
|
"export default (42);",
|
||||||
|
"for (var k in this)",
|
||||||
|
" console.log(k);",
|
||||||
|
].join("\n");
|
||||||
|
var result = reduce_test(code, {
|
||||||
|
compress: false,
|
||||||
|
mangle: false,
|
||||||
|
});
|
||||||
|
if (result.error) throw result.error;
|
||||||
|
assert.strictEqual(result.code, [
|
||||||
|
"// Can't reproduce test failure",
|
||||||
|
"// minify options: {",
|
||||||
|
'// "compress": false,',
|
||||||
|
'// "mangle": false',
|
||||||
|
"// }",
|
||||||
|
].join("\n"));
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -54,8 +54,8 @@ exports.same_stdout = semver.satisfies(process.version, "0.12") ? function(expec
|
|||||||
exports.patch_module_statements = function(code) {
|
exports.patch_module_statements = function(code) {
|
||||||
var count = 0, has_default = "", imports = [];
|
var count = 0, has_default = "", imports = [];
|
||||||
code = 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) {
|
code = 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 (/^export\s+default/.test(match)) has_default = "var _uglify_export_default_;";
|
||||||
if (!header) return "";
|
if (!header) return "";
|
||||||
has_default = "var _uglify_export_default_;";
|
|
||||||
if (header.length == 1) return "0, " + header;
|
if (header.length == 1) return "0, " + header;
|
||||||
var name = "_uglify_export_default_";
|
var name = "_uglify_export_default_";
|
||||||
if (/^class\b/.test(header)) do {
|
if (/^class\b/.test(header)) do {
|
||||||
|
|||||||
Reference in New Issue
Block a user