@babel/plugin-proposal-export-default-from
Version:
Compile export default to ES2015
34 lines (31 loc) • 1.03 kB
JavaScript
import { declare } from '@babel/helper-plugin-utils';
import { types } from '@babel/core';
const index = declare(api => {
api.assertVersion("^7.0.0-0 || ^8.0.0");
return {
name: "proposal-export-default-from",
manipulateOptions: (_, parser) => parser.plugins.push("exportDefaultFrom"),
visitor: {
ExportNamedDeclaration(path) {
const {
node
} = path;
const {
specifiers,
source
} = node;
if (!types.isExportDefaultSpecifier(specifiers[0])) return;
const {
exported
} = specifiers.shift();
if (specifiers.every(s => types.isExportSpecifier(s))) {
specifiers.unshift(types.exportSpecifier(types.identifier("default"), exported));
return;
}
path.insertBefore(types.exportNamedDeclaration(null, [types.exportSpecifier(types.identifier("default"), exported)], types.cloneNode(source)));
}
}
};
});
export { index as default };
//# sourceMappingURL=index.js.map