diff --git a/escodegen.js b/escodegen.js index 847fc370..3656fa2c 100644 --- a/escodegen.js +++ b/escodegen.js @@ -1275,14 +1275,23 @@ ExportAllDeclaration: function (stmt, flags) { // export * FromClause ; - return [ + var result = [ 'export' + space, - '*' + space, + '*' + space + ]; + + if (stmt.exported) { + result.push('as ' + stmt.exported.name + ' '); + } + + result = join(result, [ 'from' + space, // ModuleSpecifier this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), this.semicolon(flags) - ]; + ]); + + return result; }, ExpressionStatement: function (stmt, flags) { diff --git a/package.json b/package.json index 73307cc0..d20f37d8 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "source-map": "~0.6.1" }, "devDependencies": { - "acorn": "^7.3.1", + "acorn": "^8.0.1", "bluebird": "^3.4.7", "bower-registry-client": "^1.0.0", "chai": "^4.2.0", diff --git a/test/compare-acorn-es2020.js b/test/compare-acorn-es2020.js index f5bfd123..25dd1b63 100644 --- a/test/compare-acorn-es2020.js +++ b/test/compare-acorn-es2020.js @@ -39,7 +39,8 @@ function test(code, expected) { options = { ranges: false, locations: false, - ecmaVersion: 11 + ecmaVersion: 11, + sourceType: 'module' }; tree = acorn.parse(code, options); @@ -58,7 +59,8 @@ function testMin(code, expected) { options = { ranges: false, locations: false, - ecmaVersion: 11 + ecmaVersion: 11, + sourceType: 'module' }; tree = acorn.parse(code, options); diff --git a/test/compare-acorn-es2020/export-all-declaration-exported.expected.js b/test/compare-acorn-es2020/export-all-declaration-exported.expected.js new file mode 100644 index 00000000..4c21edfe --- /dev/null +++ b/test/compare-acorn-es2020/export-all-declaration-exported.expected.js @@ -0,0 +1 @@ +export * as name from 'OK'; \ No newline at end of file diff --git a/test/compare-acorn-es2020/export-all-declaration-exported.expected.min.js b/test/compare-acorn-es2020/export-all-declaration-exported.expected.min.js new file mode 100644 index 00000000..56e704d1 --- /dev/null +++ b/test/compare-acorn-es2020/export-all-declaration-exported.expected.min.js @@ -0,0 +1 @@ +export*as name from'OK' diff --git a/test/compare-acorn-es2020/export-all-declaration-exported.js b/test/compare-acorn-es2020/export-all-declaration-exported.js new file mode 100644 index 00000000..a9bd5eda --- /dev/null +++ b/test/compare-acorn-es2020/export-all-declaration-exported.js @@ -0,0 +1 @@ +export * as name from 'OK';