diff --git a/escodegen.js b/escodegen.js index c6957763..8f98fbc6 100644 --- a/escodegen.js +++ b/escodegen.js @@ -2262,9 +2262,11 @@ }, ExportSpecifier: function (expr, precedence, flags) { - var result = [ (expr.id || expr.local).name ]; - if (expr.name) { - result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(expr.name)); + var exported = (expr.id || expr.imported).name; + var result = [ exported ]; + var id = expr.name || expr.local; + if (id && id.name !== exported) { + result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(id)); } return result; }, diff --git a/test/compare-esprima2/import-with-default.expected.js b/test/compare-esprima2/import-with-default.expected.js index 75d9a1fc..5e55c4ff 100644 --- a/test/compare-esprima2/import-with-default.expected.js +++ b/test/compare-esprima2/import-with-default.expected.js @@ -2,7 +2,7 @@ import foo from 'foo'; import foo, * as foo from 'foo'; import * as foo from 'foo'; import ok, { - foo, - test, + foo as bar, + test as testing, logging } from 'foo'; diff --git a/test/compare-esprima2/import-with-default.expected.min.js b/test/compare-esprima2/import-with-default.expected.min.js index 9541f438..6b6105f4 100644 --- a/test/compare-esprima2/import-with-default.expected.min.js +++ b/test/compare-esprima2/import-with-default.expected.min.js @@ -1 +1 @@ -import foo from'foo';import foo,*as foo from'foo';import*as foo from'foo';import ok,{foo,test,logging}from'foo' +import foo from'foo';import foo,*as foo from'foo';import*as foo from'foo';import ok,{foo as bar,test as testing,logging}from'foo' diff --git a/test/compare-esprima2/import-with-default.js b/test/compare-esprima2/import-with-default.js index 75d9a1fc..5e55c4ff 100644 --- a/test/compare-esprima2/import-with-default.js +++ b/test/compare-esprima2/import-with-default.js @@ -2,7 +2,7 @@ import foo from 'foo'; import foo, * as foo from 'foo'; import * as foo from 'foo'; import ok, { - foo, - test, + foo as bar, + test as testing, logging } from 'foo';