UNPKG

babel-plugin-transform-export-default

Version:

Compile export default to ES2015

34 lines (27 loc) 1.16 kB
"use strict"; exports.__esModule = true; exports.default = function (_ref) { var t = _ref.types; return { inherits: _babelPluginSyntaxExportExtensions2.default, visitor: { ExportNamedDeclaration: function ExportNamedDeclaration(path) { var node = path.node, scope = path.scope; var specifiers = node.specifiers; if (!t.isExportDefaultSpecifier(specifiers[0])) return; var specifier = specifiers.shift(); var exported = specifier.exported; var uid = scope.generateUidIdentifier(exported.name); var nodes = [t.importDeclaration([t.importDefaultSpecifier(uid)], node.source), t.exportNamedDeclaration(null, [t.exportSpecifier(uid, exported)])]; if (specifiers.length >= 1) { nodes.push(node); } path.replaceWithMultiple(nodes); } } }; }; var _babelPluginSyntaxExportExtensions = require("babel-plugin-syntax-export-extensions"); var _babelPluginSyntaxExportExtensions2 = _interopRequireDefault(_babelPluginSyntaxExportExtensions); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }