From 8fb58492df433a7465716edf9cda4f5b1c4df9e4 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 4 May 2015 22:20:01 +0100 Subject: [PATCH] fix default specifiers not taking into consideration sourced imports --- src/babel/transformation/modules/amd.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/babel/transformation/modules/amd.js b/src/babel/transformation/modules/amd.js index 3e8228bb70..1eed9c457d 100644 --- a/src/babel/transformation/modules/amd.js +++ b/src/babel/transformation/modules/amd.js @@ -23,7 +23,7 @@ export default class AMDFormatter extends DefaultFormatter { */ transform(program) { - DefaultFormatter.prototype.transform.apply(this, arguments); + CommonFormatter.prototype.transform.apply(this, arguments); var body = program.body; @@ -108,12 +108,16 @@ export default class AMDFormatter extends DefaultFormatter { exportSpecifier(specifier, node, nodes) { if (this.doDefaultExportInterop(specifier)) { this.passModuleArg = true; - nodes.push(util.template("exports-default-assign", { - VALUE: specifier.local - }, true)); - } else { - CommonFormatter.prototype.exportSpecifier.apply(this, arguments); + + if (specifier.exported !== specifier.local && !node.source) { + nodes.push(util.template("exports-default-assign", { + VALUE: specifier.local + }, true)); + return; + } } + + CommonFormatter.prototype.exportSpecifier.apply(this, arguments); } exportDeclaration(node, nodes) {