Don't use interopRequire for dynamic imports
They don't need it at all and this also allows use of `externalRuntime` without fear of the runtime ending up being loaded after it's used.
This commit is contained in:
parent
84ee0efe32
commit
e985d8b25d
@ -87,7 +87,7 @@ AMDFormatter.prototype.importSpecifier = function (specifier, node, nodes) {
|
||||
var key = t.getSpecifierName(specifier);
|
||||
var ref = this._push(node);
|
||||
|
||||
if (t.isImportBatchSpecifier(specifier) || node._noInteropRequire) {
|
||||
if (t.isImportBatchSpecifier(specifier) || _.contains(this.file.dynamicImports, node)) {
|
||||
// import * as bar from "foo";
|
||||
} else if (t.isSpecifierDefault(specifier) && !this.noInteropRequire) {
|
||||
// import foo from "foo";
|
||||
|
||||
@ -6,6 +6,7 @@ var DefaultFormatter = require("./_default");
|
||||
var traverse = require("../../traverse");
|
||||
var util = require("../../util");
|
||||
var t = require("../../types");
|
||||
var _ = require("lodash");
|
||||
|
||||
function CommonJSFormatter(file) {
|
||||
DefaultFormatter.apply(this, arguments);
|
||||
@ -27,7 +28,7 @@ CommonJSFormatter.prototype.importSpecifier = function (specifier, node, nodes)
|
||||
// import foo from "foo";
|
||||
if (t.isSpecifierDefault(specifier)) {
|
||||
var ref = util.template("require", {MODULE_NAME: node.source});
|
||||
if (!node._noInteropRequire) {
|
||||
if (!_.contains(this.file.dynamicImports, node)) {
|
||||
ref = t.callExpression(this.file.addHelper("interop-require"), [ref]);
|
||||
}
|
||||
nodes.push(t.variableDeclaration("var", [t.variableDeclarator(variableName, ref)]));
|
||||
|
||||
@ -6,6 +6,5 @@ exports.optional = true;
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file.opts.runtime = file.addImport(file.opts.runtime, "to5Runtime").name;
|
||||
file.dynamicImports[file.dynamicImports.length - 1]._noInteropRequire = true;
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _bluebird = _interopRequire(require("bluebird"));
|
||||
var _bluebird = require("bluebird");
|
||||
|
||||
var foo = _bluebird.coroutine(function* () {
|
||||
var wat = yield bar();
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _bluebird = _interopRequire(require("bluebird"));
|
||||
var _bluebird = require("bluebird");
|
||||
|
||||
var foo = _bluebird.coroutine(function* foo() {
|
||||
var wat = yield bar();
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _core = _interopRequire(require("core-js/library"));
|
||||
var _core = require("core-js/library");
|
||||
|
||||
obj.constructor === Object;
|
||||
obj.constructor === _core.Promise;
|
||||
|
||||
@ -16,11 +16,7 @@ var _slicedToArray = function (arr, i) {
|
||||
}
|
||||
};
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _core = _interopRequire(require("core-js/library"));
|
||||
var _core = require("core-js/library");
|
||||
|
||||
var _ref = ["hello", [", ", "junk"], ["world"]];
|
||||
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _core = _interopRequire(require("core-js/library"));
|
||||
var _core = require("core-js/library");
|
||||
|
||||
for (var _iterator = _core.$for.getIterator(arr), _step; !(_step = _iterator.next()).done;) {
|
||||
var i = _step.value;
|
||||
|
||||
@ -4,10 +4,6 @@ var _toArray = function (arr) {
|
||||
return Array.isArray(arr) ? arr : _core.Array.from(arr);
|
||||
};
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _core = _interopRequire(require("core-js/library"));
|
||||
var _core = require("core-js/library");
|
||||
|
||||
var lyrics = ["head", "and", "toes"].concat(_toArray(parts));
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequire = function (obj) {
|
||||
return obj && (obj["default"] || obj);
|
||||
};
|
||||
|
||||
var _core = _interopRequire(require("core-js/library"));
|
||||
var _core = require("core-js/library");
|
||||
|
||||
var arr = (function () {
|
||||
var _arr = [];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user