babel-plugin-transform-es2015-modules-commonjs
Advanced tools
Comparing version 6.24.1 to 6.26.0
238
lib/index.js
@@ -49,31 +49,84 @@ "use strict"; | ||
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; | ||
node[REASSIGN_REMAP_SKIP] = true; | ||
for (var _iterator = exports, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { | ||
var _ref; | ||
for (var _iterator = exports, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { | ||
var _ref; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref = _i.value; | ||
} | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref = _i.value; | ||
var reid = _ref; | ||
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; | ||
node = buildExportsAssignment(reid, node).expression; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref2 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref2 = _i2.value; | ||
} | ||
var property = _ref2; | ||
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))); | ||
} | ||
} | ||
path.replaceWith(node); | ||
this.requeueInParent(path); | ||
}, | ||
@@ -114,3 +167,3 @@ UpdateExpression: function UpdateExpression(path) { | ||
return { | ||
inherits: require("babel-plugin-transform-strict-mode"), | ||
inherits: _babelPluginTransformStrictMode2.default, | ||
@@ -182,15 +235,15 @@ visitor: { | ||
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; | ||
@@ -201,15 +254,15 @@ if (_path.isExportDeclaration()) { | ||
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; | ||
@@ -288,15 +341,15 @@ var ids = _specifier2.getBindingIdentifiers(); | ||
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; | ||
@@ -306,2 +359,3 @@ var _id4 = decl.get("id"); | ||
var init = decl.get("init"); | ||
var exportsToInsert = []; | ||
if (!init.node) init.replaceWith(t.identifier("undefined")); | ||
@@ -313,3 +367,31 @@ | ||
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); | ||
} | ||
@@ -327,15 +409,15 @@ _path.replaceWith(_declaration.node); | ||
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; | ||
@@ -352,15 +434,15 @@ if (_specifier3.isExportNamespaceSpecifier()) {} else if (_specifier3.isExportDefaultSpecifier()) {} else if (_specifier3.isExportSpecifier()) { | ||
} 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; | ||
@@ -415,15 +497,15 @@ if (_specifier4.isExportSpecifier()) { | ||
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; | ||
@@ -511,2 +593,6 @@ if (t.isImportSpecifier(_specifier)) { | ||
var _babelPluginTransformStrictMode = require("babel-plugin-transform-strict-mode"); | ||
var _babelPluginTransformStrictMode2 = _interopRequireDefault(_babelPluginTransformStrictMode); | ||
var _babelTypes = require("babel-types"); | ||
@@ -513,0 +599,0 @@ |
{ | ||
"name": "babel-plugin-transform-es2015-modules-commonjs", | ||
"version": "6.24.1", | ||
"version": "6.26.0", | ||
"description": "This plugin transforms ES2015 modules to CommonJS", | ||
@@ -9,6 +9,6 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-commonjs", | ||
"dependencies": { | ||
"babel-types": "^6.24.1", | ||
"babel-runtime": "^6.22.0", | ||
"babel-template": "^6.24.1", | ||
"babel-plugin-transform-strict-mode": "^6.24.1" | ||
"babel-plugin-transform-strict-mode": "^6.24.1", | ||
"babel-runtime": "^6.26.0", | ||
"babel-template": "^6.26.0", | ||
"babel-types": "^6.26.0" | ||
}, | ||
@@ -19,4 +19,5 @@ "keywords": [ | ||
"devDependencies": { | ||
"babel-helper-plugin-test-runner": "^6.24.1" | ||
"babel-helper-plugin-test-runner": "^6.24.1", | ||
"babel-plugin-syntax-object-rest-spread": "^6.13.0" | ||
} | ||
} |
@@ -85,3 +85,3 @@ # babel-plugin-transform-es2015-modules-commonjs | ||
In environments that don't support this you can enable loose mode on `babel-plugin-transform-es20150-modules-commonjs` | ||
In environments that don't support this you can enable loose mode on `babel-plugin-transform-es2015-modules-commonjs` | ||
and instead of using `Object.defineProperty` an assignment will be used instead. | ||
@@ -88,0 +88,0 @@ |
27623
474
2
Updatedbabel-runtime@^6.26.0
Updatedbabel-template@^6.26.0
Updatedbabel-types@^6.26.0