diff --git a/src/babel/transformation/modules/common.js b/src/babel/transformation/modules/common.js index 48ff9bcdda..088d878556 100644 --- a/src/babel/transformation/modules/common.js +++ b/src/babel/transformation/modules/common.js @@ -20,10 +20,6 @@ export default class CommonJSFormatter extends DefaultFormatter { } } - exportFromSepcifier() { - - } - importSpecifier(specifier, node, nodes) { var variableName = specifier.local; @@ -31,19 +27,17 @@ export default class CommonJSFormatter extends DefaultFormatter { // import foo from "foo"; if (t.isSpecifierDefault(specifier)) { - if (!includes(this.file.dynamicImportedNoDefault, node)) { - if (this.noInteropRequireImport || includes(this.file.dynamicImported, node)) { - ref = t.memberExpression(ref, t.identifier("default")); - } else { - var uid = this.scope.generateUidIdentifier(variableName.name); + if (includes(this.file.dynamicImportedNoDefault, node)) { + this.internalRemap[variableName.name] = ref; + } else { + if (this.noInteropRequireImport) { + this.internalRemap[variableName.name] = t.memberExpression(ref, t.identifier("default")) + } else if (!includes(this.file.dynamicImported, node)) { nodes.push(t.variableDeclaration("var", [ - t.variableDeclarator(uid, t.callExpression(this.file.addHelper("interop-require"), [ref])) + t.variableDeclarator(variableName, t.callExpression(this.file.addHelper("interop-require"), [ref])) ])); - ref = uid; } } - - this.internalRemap[variableName.name] = ref; } else { if (t.isImportNamespaceSpecifier(specifier)) { if (!this.noInteropRequireImport) { @@ -100,9 +94,17 @@ export default class CommonJSFormatter extends DefaultFormatter { _getExternalReference(node, nodes) { var source = node.source.value; - var call = t.callExpression(t.identifier("require"), [node.source]); - var uid = this.scope.generateUidBasedOnNode(node, "import"); + var call = t.callExpression(t.identifier("require"), [node.source]); + var uid; + + if (includes(this.file.dynamicImported, node) && !includes(this.file.dynamicImportedNoDefault, node)) { + call = t.memberExpression(call, t.identifier("default")); + uid = node.specifiers[0].local; + } else { + uid = this.scope.generateUidBasedOnNode(node, "import"); + } + var declar = t.variableDeclaration("var", [ t.variableDeclarator(uid, call) ]); diff --git a/test/core/fixtures/transformation/es3.runtime/aliases-array-is-array/expected.js b/test/core/fixtures/transformation/es3.runtime/aliases-array-is-array/expected.js index 0522efac39..ee0a0e4007 100644 --- a/test/core/fixtures/transformation/es3.runtime/aliases-array-is-array/expected.js +++ b/test/core/fixtures/transformation/es3.runtime/aliases-array-is-array/expected.js @@ -1,5 +1,5 @@ "use strict"; -var _core2 = require("babel-runtime/es3/core-js"); +var _core = require("babel-runtime/es3/core-js")["default"]; -_core2["default"].Array.isArray(foo); +_core.Array.isArray(foo); diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-default/expected.js b/test/core/fixtures/transformation/es6.modules-common/imports-default/expected.js index 07cf6fc289..3f17b9a4e3 100644 --- a/test/core/fixtures/transformation/es6.modules-common/imports-default/expected.js +++ b/test/core/fixtures/transformation/es6.modules-common/imports-default/expected.js @@ -4,9 +4,9 @@ var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["defau var _foo = require("foo"); -var _foo2 = _interopRequire(_foo); +var foo = _interopRequire(_foo); -var _foo22 = _interopRequire(_foo); +var foo2 = _interopRequire(_foo); -_foo2; -_foo22; +foo; +foo2; diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-mixing/expected.js b/test/core/fixtures/transformation/es6.modules-common/imports-mixing/expected.js index 08ced45c1f..67b4d1bb02 100644 --- a/test/core/fixtures/transformation/es6.modules-common/imports-mixing/expected.js +++ b/test/core/fixtures/transformation/es6.modules-common/imports-mixing/expected.js @@ -4,7 +4,7 @@ var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["defau var _foo$xyz = require("foo"); -var _foo = _interopRequire(_foo$xyz); +var foo = _interopRequire(_foo$xyz); -_foo; +foo; _foo$xyz.baz; diff --git a/test/core/fixtures/transformation/es6.modules-common/overview/expected.js b/test/core/fixtures/transformation/es6.modules-common/overview/expected.js index 79b21055ce..9da5b005e4 100644 --- a/test/core/fixtures/transformation/es6.modules-common/overview/expected.js +++ b/test/core/fixtures/transformation/es6.modules-common/overview/expected.js @@ -16,7 +16,7 @@ require("./directory/foo-bar"); var _foo = require("foo2"); -var _foo2 = _interopRequire(_foo); +var foo = _interopRequire(_foo); var _import = require("foo3"); @@ -32,4 +32,4 @@ var test = 5; exports.test = test; _bar.bar; _bar2.foo; -_foo2; +foo; diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js b/test/core/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js index 0dd90943d1..3da20ee56b 100644 --- a/test/core/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js +++ b/test/core/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js @@ -2,6 +2,6 @@ var _foo2 = require("bar"); -var _foo3 = babelHelpers.interopRequire(_foo2); +var _foo = babelHelpers.interopRequire(_foo2); -exports.foo = _foo3; +exports.foo = _foo; diff --git a/test/core/fixtures/transformation/runtime/aliased-constructors/expected.js b/test/core/fixtures/transformation/runtime/aliased-constructors/expected.js index 61eaf09928..8c8ef8412e 100644 --- a/test/core/fixtures/transformation/runtime/aliased-constructors/expected.js +++ b/test/core/fixtures/transformation/runtime/aliased-constructors/expected.js @@ -1,11 +1,11 @@ "use strict"; -var _core2 = require("babel-runtime/es5/core-js"); +var _core = require("babel-runtime/es5/core-js")["default"]; obj.constructor === Object; -obj.constructor === _core2["default"].Promise; +obj.constructor === _core.Promise; -_core2["default"].Symbol(); -_core2["default"].Symbol("test"); +_core.Symbol(); +_core.Symbol("test"); -new _core2["default"].Map(); +new _core.Map(); diff --git a/test/core/fixtures/transformation/runtime/es6-for-of/expected.js b/test/core/fixtures/transformation/runtime/es6-for-of/expected.js index 988fd80f86..85e91885e1 100644 --- a/test/core/fixtures/transformation/runtime/es6-for-of/expected.js +++ b/test/core/fixtures/transformation/runtime/es6-for-of/expected.js @@ -1,13 +1,13 @@ "use strict"; -var _core2 = require("babel-runtime/es5/core-js"); +var _core = require("babel-runtime/es5/core-js")["default"]; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { - for (var _iterator = _core2["default"].$for.getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = _core.$for.getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var i = _step.value; } } catch (err) { diff --git a/test/core/fixtures/transformation/runtime/es7-array-comprehensions/expected.js b/test/core/fixtures/transformation/runtime/es7-array-comprehensions/expected.js index 61dadbfbd9..24853c0bff 100644 --- a/test/core/fixtures/transformation/runtime/es7-array-comprehensions/expected.js +++ b/test/core/fixtures/transformation/runtime/es7-array-comprehensions/expected.js @@ -1,6 +1,6 @@ "use strict"; -var _core2 = require("babel-runtime/es5/core-js"); +var _core = require("babel-runtime/es5/core-js")["default"]; var arr = (function () { var _arr = []; @@ -9,7 +9,7 @@ var arr = (function () { var _iteratorError = undefined; try { - for (var _iterator = _core2["default"].$for.getIterator(nums), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = _core.$for.getIterator(nums), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var i = _step.value; _arr.push(i * i); diff --git a/test/core/fixtures/transformation/runtime/full/expected.js b/test/core/fixtures/transformation/runtime/full/expected.js index 61cddde0ac..8b22f49ba2 100644 --- a/test/core/fixtures/transformation/runtime/full/expected.js +++ b/test/core/fixtures/transformation/runtime/full/expected.js @@ -1,19 +1,19 @@ "use strict"; -var _core2 = require("babel-runtime/es5/core-js"); +var _core = require("babel-runtime/es5/core-js")["default"]; -var _regeneratorRuntime2 = require("babel-runtime/es5/regenerator"); +var _regeneratorRuntime = require("babel-runtime/es5/regenerator")["default"]; -var _interopRequire2 = require("babel-runtime/es5/helpers/interop-require"); +var _interopRequire = require("babel-runtime/es5/helpers/interop-require")["default"]; -var _interopRequireWildcard2 = require("babel-runtime/es5/helpers/interop-require-wildcard"); +var _interopRequireWildcard = require("babel-runtime/es5/helpers/interop-require-wildcard")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); -var giveWord = _regeneratorRuntime2["default"].mark(function giveWord() { - return _regeneratorRuntime2["default"].wrap(function giveWord$(context$1$0) { +var giveWord = _regeneratorRuntime.mark(function giveWord() { + return _regeneratorRuntime.wrap(function giveWord$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; @@ -30,12 +30,12 @@ exports.giveWord = giveWord; var _foo = require("someModule"); -var _foo2 = _interopRequire2["default"](_foo); +var foo = _interopRequire(_foo); -var bar = _interopRequireWildcard2["default"](_foo); +var bar = _interopRequireWildcard(_foo); -var myWord = _core2["default"].Symbol("abc"); +var myWord = _core.Symbol("abc"); exports.myWord = myWord; -_foo2; +foo; bar; diff --git a/test/core/fixtures/transformation/runtime/modules-common/expected.js b/test/core/fixtures/transformation/runtime/modules-common/expected.js index 7f8b5577cf..7ee37d3901 100644 --- a/test/core/fixtures/transformation/runtime/modules-common/expected.js +++ b/test/core/fixtures/transformation/runtime/modules-common/expected.js @@ -1,9 +1,9 @@ "use strict"; -var _interopRequire2 = require("babel-runtime/es5/helpers/interop-require"); +var _interopRequire = require("babel-runtime/es5/helpers/interop-require")["default"]; var _foo = require("foo"); -var _foo2 = _interopRequire2["default"](_foo); +var foo = _interopRequire(_foo); -_foo2; +foo; diff --git a/test/core/fixtures/transformation/runtime/regenerator-runtime/expected.js b/test/core/fixtures/transformation/runtime/regenerator-runtime/expected.js index 51edb968c5..4458814fc4 100644 --- a/test/core/fixtures/transformation/runtime/regenerator-runtime/expected.js +++ b/test/core/fixtures/transformation/runtime/regenerator-runtime/expected.js @@ -1,9 +1,9 @@ "use strict"; -var _regeneratorRuntime2 = require("babel-runtime/es5/regenerator"); +var _regeneratorRuntime = require("babel-runtime/es5/regenerator")["default"]; -void _regeneratorRuntime2["default"].mark(function callee$0$0() { - return _regeneratorRuntime2["default"].wrap(function callee$0$0$(context$1$0) { +void _regeneratorRuntime.mark(function callee$0$0() { + return _regeneratorRuntime.wrap(function callee$0$0$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: case "end": diff --git a/test/core/fixtures/transformation/runtime/symbol-iterator-in/expected.js b/test/core/fixtures/transformation/runtime/symbol-iterator-in/expected.js index 85341f5a1a..7193cbaee9 100644 --- a/test/core/fixtures/transformation/runtime/symbol-iterator-in/expected.js +++ b/test/core/fixtures/transformation/runtime/symbol-iterator-in/expected.js @@ -1,5 +1,5 @@ "use strict"; -var _core2 = require("babel-runtime/es5/core-js"); +var _core = require("babel-runtime/es5/core-js")["default"]; -_core2["default"].$for.isIterable(Object(arr)); +_core.$for.isIterable(Object(arr));