diff --git a/src/babel/transformation/modules/_default.js b/src/babel/transformation/modules/_default.js index b0864376b4..cdcf45a616 100644 --- a/src/babel/transformation/modules/_default.js +++ b/src/babel/transformation/modules/_default.js @@ -63,7 +63,7 @@ var exportsVisitor = traverse.explode({ } if (!t.isExportDefaultDeclaration(node)) { - var onlyDefault = node.specifiers && t.isExportDefaultSpecifier(node.specifiers[0]) && node.specifiers.length === 1; + var onlyDefault = node.specifiers && node.specifiers.length === 1 && t.isSpecifierDefault(node.specifiers[0]); if (!onlyDefault) { formatter.hasNonDefaultExports = true; } diff --git a/src/babel/transformation/modules/amd.js b/src/babel/transformation/modules/amd.js index 595a0011c0..69192815ff 100644 --- a/src/babel/transformation/modules/amd.js +++ b/src/babel/transformation/modules/amd.js @@ -91,6 +91,10 @@ export default class AMDFormatter extends DefaultFormatter { ])); } + exportSpecifier() { + CommonFormatter.prototype.exportSpecifier.apply(this, arguments); + } + exportDeclaration(node) { if (this.doDefaultExportInterop(node)) { this.passModuleArg = true; diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-default/actual.js b/test/core/fixtures/transformation/es6.modules-amd/exports-default/actual.js index 62923e5c15..74f2130fdf 100644 --- a/test/core/fixtures/transformation/es6.modules-amd/exports-default/actual.js +++ b/test/core/fixtures/transformation/es6.modules-amd/exports-default/actual.js @@ -6,3 +6,4 @@ export default function () {} export default class {} export default function foo () {} export default class Foo {} +export { foo as default }; diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-default/expected.js b/test/core/fixtures/transformation/es6.modules-amd/exports-default/expected.js index c5662089c9..3dfc0ccccd 100644 --- a/test/core/fixtures/transformation/es6.modules-amd/exports-default/expected.js +++ b/test/core/fixtures/transformation/es6.modules-amd/exports-default/expected.js @@ -28,4 +28,5 @@ define(["exports", "module"], function (exports, module) { }; module.exports = Foo; + module.exports = foo; }); diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-default/actual.js b/test/core/fixtures/transformation/es6.modules-common/exports-default/actual.js index 62923e5c15..74f2130fdf 100644 --- a/test/core/fixtures/transformation/es6.modules-common/exports-default/actual.js +++ b/test/core/fixtures/transformation/es6.modules-common/exports-default/actual.js @@ -6,3 +6,4 @@ export default function () {} export default class {} export default function foo () {} export default class Foo {} +export { foo as default }; diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-default/expected.js b/test/core/fixtures/transformation/es6.modules-common/exports-default/expected.js index e76142bd92..ca9e402df3 100644 --- a/test/core/fixtures/transformation/es6.modules-common/exports-default/expected.js +++ b/test/core/fixtures/transformation/es6.modules-common/exports-default/expected.js @@ -27,3 +27,4 @@ var Foo = function Foo() { }; module.exports = Foo; +module.exports = foo; diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-default/actual.js b/test/core/fixtures/transformation/es6.modules-umd/exports-default/actual.js index 62923e5c15..74f2130fdf 100644 --- a/test/core/fixtures/transformation/es6.modules-umd/exports-default/actual.js +++ b/test/core/fixtures/transformation/es6.modules-umd/exports-default/actual.js @@ -6,3 +6,4 @@ export default function () {} export default class {} export default function foo () {} export default class Foo {} +export { foo as default }; diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-default/expected.js b/test/core/fixtures/transformation/es6.modules-umd/exports-default/expected.js index 6dcb9dc68f..f861e51989 100644 --- a/test/core/fixtures/transformation/es6.modules-umd/exports-default/expected.js +++ b/test/core/fixtures/transformation/es6.modules-umd/exports-default/expected.js @@ -34,4 +34,5 @@ }; module.exports = Foo; + module.exports = foo; });