take into consideration default export specifiers in common module formatter - fixes #1071

This commit is contained in:
Sebastian McKenzie 2015-03-31 01:27:43 +11:00
parent 1c7fabdd6d
commit 80fed5f395
8 changed files with 11 additions and 1 deletions

View File

@ -63,7 +63,7 @@ var exportsVisitor = traverse.explode({
} }
if (!t.isExportDefaultDeclaration(node)) { 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) { if (!onlyDefault) {
formatter.hasNonDefaultExports = true; formatter.hasNonDefaultExports = true;
} }

View File

@ -91,6 +91,10 @@ export default class AMDFormatter extends DefaultFormatter {
])); ]));
} }
exportSpecifier() {
CommonFormatter.prototype.exportSpecifier.apply(this, arguments);
}
exportDeclaration(node) { exportDeclaration(node) {
if (this.doDefaultExportInterop(node)) { if (this.doDefaultExportInterop(node)) {
this.passModuleArg = true; this.passModuleArg = true;

View File

@ -6,3 +6,4 @@ export default function () {}
export default class {} export default class {}
export default function foo () {} export default function foo () {}
export default class Foo {} export default class Foo {}
export { foo as default };

View File

@ -28,4 +28,5 @@ define(["exports", "module"], function (exports, module) {
}; };
module.exports = Foo; module.exports = Foo;
module.exports = foo;
}); });

View File

@ -6,3 +6,4 @@ export default function () {}
export default class {} export default class {}
export default function foo () {} export default function foo () {}
export default class Foo {} export default class Foo {}
export { foo as default };

View File

@ -27,3 +27,4 @@ var Foo = function Foo() {
}; };
module.exports = Foo; module.exports = Foo;
module.exports = foo;

View File

@ -6,3 +6,4 @@ export default function () {}
export default class {} export default class {}
export default function foo () {} export default function foo () {}
export default class Foo {} export default class Foo {}
export { foo as default };

View File

@ -34,4 +34,5 @@
}; };
module.exports = Foo; module.exports = Foo;
module.exports = foo;
}); });