diff options
Diffstat (limited to 'node_modules/babel-plugin-transform-es2015-modules-commonjs/lib')
-rw-r--r-- | node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js | 238 |
1 files changed, 162 insertions, 76 deletions
diff --git a/node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js b/node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js index e45feffc6..2fcce5090 100644 --- a/node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js +++ b/node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js @@ -46,35 +46,88 @@ exports.default = function () { if (node[REASSIGN_REMAP_SKIP]) return; var left = path.get("left"); - if (!left.isIdentifier()) return; + if (left.isIdentifier()) { + var name = left.node.name; + var exports = this.exports[name]; + if (!exports) return; - var name = left.node.name; - var exports = this.exports[name]; - if (!exports) return; + if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return; - if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return; + node[REASSIGN_REMAP_SKIP] = true; + + for (var _iterator = exports, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; - node[REASSIGN_REMAP_SKIP] = true; + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } - for (var _iterator = exports, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { - var _ref; + var reid = _ref; - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; + node = buildExportsAssignment(reid, node).expression; } - var reid = _ref; + path.replaceWith(node); + this.requeueInParent(path); + } else if (left.isObjectPattern()) { + for (var _iterator2 = left.node.properties, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } - node = buildExportsAssignment(reid, node).expression; - } + var property = _ref2; - path.replaceWith(node); - this.requeueInParent(path); + var _name = property.value.name; + + var _exports = this.exports[_name]; + if (!_exports) continue; + + if (this.scope.getBinding(_name) !== path.scope.getBinding(_name)) return; + + node[REASSIGN_REMAP_SKIP] = true; + + path.insertAfter(buildExportsAssignment(t.identifier(_name), t.identifier(_name))); + } + } else if (left.isArrayPattern()) { + for (var _iterator3 = left.node.elements, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var element = _ref3; + + if (!element) continue; + var _name2 = element.name; + + var _exports2 = this.exports[_name2]; + if (!_exports2) continue; + + if (this.scope.getBinding(_name2) !== path.scope.getBinding(_name2)) return; + + node[REASSIGN_REMAP_SKIP] = true; + + path.insertAfter(buildExportsAssignment(t.identifier(_name2), t.identifier(_name2))); + } + } }, UpdateExpression: function UpdateExpression(path) { var arg = path.get("argument"); @@ -110,7 +163,7 @@ exports.default = function () { }; return { - inherits: require("babel-plugin-transform-strict-mode"), + inherits: _babelPluginTransformStrictMode2.default, visitor: { ThisExpression: function ThisExpression(path, state) { @@ -177,37 +230,37 @@ exports.default = function () { obj[key] = existing.concat(arr); } - for (var _iterator2 = body, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { - var _ref2; + for (var _iterator4 = body, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { + var _ref4; - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref4 = _iterator4[_i4++]; } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref4 = _i4.value; } - var _path = _ref2; + var _path = _ref4; if (_path.isExportDeclaration()) { hasExports = true; var specifiers = [].concat(_path.get("declaration"), _path.get("specifiers")); - for (var _iterator4 = specifiers, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { - var _ref4; + for (var _iterator6 = specifiers, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : (0, _getIterator3.default)(_iterator6);;) { + var _ref6; - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; + if (_isArray6) { + if (_i6 >= _iterator6.length) break; + _ref6 = _iterator6[_i6++]; } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; + _i6 = _iterator6.next(); + if (_i6.done) break; + _ref6 = _i6.value; } - var _specifier2 = _ref4; + var _specifier2 = _ref6; var ids = _specifier2.getBindingIdentifiers(); if (ids.__esModule) { @@ -281,30 +334,59 @@ exports.default = function () { nonHoistedExportNames[_id3.name] = true; } else if (_declaration.isVariableDeclaration()) { var declarators = _declaration.get("declarations"); - for (var _iterator5 = declarators, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) { - var _ref5; + for (var _iterator7 = declarators, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : (0, _getIterator3.default)(_iterator7);;) { + var _ref7; - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref5 = _iterator5[_i5++]; + if (_isArray7) { + if (_i7 >= _iterator7.length) break; + _ref7 = _iterator7[_i7++]; } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref5 = _i5.value; + _i7 = _iterator7.next(); + if (_i7.done) break; + _ref7 = _i7.value; } - var decl = _ref5; + var decl = _ref7; var _id4 = decl.get("id"); var init = decl.get("init"); + var exportsToInsert = []; if (!init.node) init.replaceWith(t.identifier("undefined")); if (_id4.isIdentifier()) { addTo(exports, _id4.node.name, _id4.node); init.replaceWith(buildExportsAssignment(_id4.node, init.node).expression); nonHoistedExportNames[_id4.node.name] = true; - } else {} + } else if (_id4.isObjectPattern()) { + for (var _i8 = 0; _i8 < _id4.node.properties.length; _i8++) { + var prop = _id4.node.properties[_i8]; + var propValue = prop.value; + if (t.isAssignmentPattern(propValue)) { + propValue = propValue.left; + } else if (t.isRestProperty(prop)) { + propValue = prop.argument; + } + addTo(exports, propValue.name, propValue); + exportsToInsert.push(buildExportsAssignment(propValue, propValue)); + nonHoistedExportNames[propValue.name] = true; + } + } else if (_id4.isArrayPattern() && _id4.node.elements) { + for (var _i9 = 0; _i9 < _id4.node.elements.length; _i9++) { + var elem = _id4.node.elements[_i9]; + if (!elem) continue; + if (t.isAssignmentPattern(elem)) { + elem = elem.left; + } else if (t.isRestElement(elem)) { + elem = elem.argument; + } + var name = elem.name; + addTo(exports, name, elem); + exportsToInsert.push(buildExportsAssignment(elem, elem)); + nonHoistedExportNames[name] = true; + } + } + _path.insertAfter(exportsToInsert); } _path.replaceWith(_declaration.node); } @@ -317,19 +399,19 @@ exports.default = function () { if (_source) { var ref = addRequire(_source.value, _path.node._blockHoist); - for (var _iterator6 = _specifiers, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : (0, _getIterator3.default)(_iterator6);;) { - var _ref6; + for (var _iterator8 = _specifiers, _isArray8 = Array.isArray(_iterator8), _i10 = 0, _iterator8 = _isArray8 ? _iterator8 : (0, _getIterator3.default)(_iterator8);;) { + var _ref8; - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref6 = _iterator6[_i6++]; + if (_isArray8) { + if (_i10 >= _iterator8.length) break; + _ref8 = _iterator8[_i10++]; } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref6 = _i6.value; + _i10 = _iterator8.next(); + if (_i10.done) break; + _ref8 = _i10.value; } - var _specifier3 = _ref6; + var _specifier3 = _ref8; if (_specifier3.isExportNamespaceSpecifier()) {} else if (_specifier3.isExportDefaultSpecifier()) {} else if (_specifier3.isExportSpecifier()) { if (!noInterop && _specifier3.node.local.name === "default") { @@ -341,19 +423,19 @@ exports.default = function () { } } } else { - for (var _iterator7 = _specifiers, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : (0, _getIterator3.default)(_iterator7);;) { - var _ref7; + for (var _iterator9 = _specifiers, _isArray9 = Array.isArray(_iterator9), _i11 = 0, _iterator9 = _isArray9 ? _iterator9 : (0, _getIterator3.default)(_iterator9);;) { + var _ref9; - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref7 = _iterator7[_i7++]; + if (_isArray9) { + if (_i11 >= _iterator9.length) break; + _ref9 = _iterator9[_i11++]; } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref7 = _i7.value; + _i11 = _iterator9.next(); + if (_i11.done) break; + _ref9 = _i11.value; } - var _specifier4 = _ref7; + var _specifier4 = _ref9; if (_specifier4.isExportSpecifier()) { addTo(exports, _specifier4.node.local.name, _specifier4.node.exported); @@ -403,19 +485,19 @@ exports.default = function () { } } - for (var _iterator3 = specifiers, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { - var _ref3; + for (var _iterator5 = specifiers, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) { + var _ref5; - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref5 = _iterator5[_i5++]; } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref5 = _i5.value; } - var _specifier = _ref3; + var _specifier = _ref5; if (t.isImportSpecifier(_specifier)) { var target = uid; @@ -498,6 +580,10 @@ var _babelTemplate = require("babel-template"); var _babelTemplate2 = _interopRequireDefault(_babelTemplate); +var _babelPluginTransformStrictMode = require("babel-plugin-transform-strict-mode"); + +var _babelPluginTransformStrictMode2 = _interopRequireDefault(_babelPluginTransformStrictMode); + var _babelTypes = require("babel-types"); var t = _interopRequireWildcard(_babelTypes); |