only require imports that are necessary in selfContained
This commit is contained in:
@@ -87,7 +87,7 @@ AMDFormatter.prototype.importSpecifier = function (specifier, node, nodes) {
|
||||
var key = t.getSpecifierName(specifier);
|
||||
var ref = this._push(node);
|
||||
|
||||
if (_.contains(this.file.dynamicImports, node)) {
|
||||
if (_.contains(this.file.dynamicImported, node)) {
|
||||
// Prevent unnecessary renaming of dynamic imports.
|
||||
this.ids[node.source.value] = key;
|
||||
return;
|
||||
|
||||
@@ -33,7 +33,7 @@ CommonJSFormatter.prototype.importSpecifier = function (specifier, node, nodes)
|
||||
var ref = util.template("require", {
|
||||
MODULE_NAME: node.source
|
||||
});
|
||||
if (!_.contains(this.file.dynamicImports, node)) {
|
||||
if (!_.contains(this.file.dynamicImported, node)) {
|
||||
ref = t.callExpression(this.file.addHelper("interop-require"), [ref]);
|
||||
}
|
||||
nodes.push(t.variableDeclaration("var", [t.variableDeclarator(variableName, ref)]));
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
var useStrict = require("../helpers/use-strict");
|
||||
var transform = require("../transform");
|
||||
|
||||
exports.ast = {
|
||||
exit: function (ast, file) {
|
||||
if (!transform.transformers["es6.modules"].canRun(file)) return;
|
||||
|
||||
useStrict.wrap(ast.program, function () {
|
||||
ast.program.body = file.dynamicImports.concat(ast.program.body);
|
||||
});
|
||||
|
||||
if (file.moduleFormatter.transform) {
|
||||
file.moduleFormatter.transform(ast);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,6 @@
|
||||
|
||||
var t = require("../../../types");
|
||||
|
||||
exports.ast = {
|
||||
before: function (ast, file) {
|
||||
ast.program.body = file.dynamicImports.concat(ast.program.body);
|
||||
}
|
||||
};
|
||||
|
||||
exports.ImportDeclaration = function (node, parent, scope, context, file) {
|
||||
var nodes = [];
|
||||
|
||||
@@ -20,8 +14,7 @@ exports.ImportDeclaration = function (node, parent, scope, context, file) {
|
||||
}
|
||||
|
||||
if (nodes.length === 1) {
|
||||
// inherit `_blockHoist`
|
||||
// this for `_blockHoist` in File.prototype.addImport
|
||||
// inherit `_blockHoist` - this is for `_blockHoist` in File.prototype.addImport
|
||||
nodes[0]._blockHoist = node._blockHoist;
|
||||
}
|
||||
|
||||
@@ -40,7 +33,7 @@ exports.ExportDeclaration = function (node, parent, scope, context, file) {
|
||||
}
|
||||
|
||||
file.moduleFormatter.exportDeclaration(node, nodes, parent);
|
||||
} else {
|
||||
} else if (node.specifiers) {
|
||||
for (var i = 0; i < node.specifiers.length; i++) {
|
||||
file.moduleFormatter.exportSpecifier(node.specifiers[i], node, nodes, parent);
|
||||
}
|
||||
|
||||
@@ -62,12 +62,20 @@ exports.optional = true;
|
||||
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file.set("runtimeIdentifier", file.addImport("6to5-runtime/helpers", "to5Runtime"));
|
||||
file.set("coreIdentifier", file.addImport("6to5-runtime/core-js", "core"));
|
||||
file.set("regeneratorIdentifier", file.addImport("6to5-runtime/regenerator", "regeneratorRuntime"));
|
||||
file.setDynamic("runtimeIdentifier", function () {
|
||||
return file.addImport("6to5-runtime/helpers", "to5Helpers");
|
||||
});
|
||||
|
||||
file.setDynamic("coreIdentifier", function () {
|
||||
return file.addImport("6to5-runtime/core-js", "core");
|
||||
});
|
||||
|
||||
file.setDynamic("regeneratorIdentifier", function () {
|
||||
return file.addImport("6to5-runtime/regenerator", "regeneratorRuntime");
|
||||
});
|
||||
},
|
||||
|
||||
exit: function (ast, file) {
|
||||
after: function (ast, file) {
|
||||
traverse(ast, astVisitor, null, file);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2,6 +2,6 @@ exports.optional = true;
|
||||
|
||||
exports.Identifier = function (node, parent, scope, context, file) {
|
||||
if (!scope.has(node.name, true)) {
|
||||
throw file.errorWithNode(node, "Reference to undeclared variable");
|
||||
throw file.errorWithNode(node, "Reference to undeclared variable", ReferenceError);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/helpers");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
obj.constructor === Object;
|
||||
obj.constructor === _core.Promise;
|
||||
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/helpers");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
for (var _iterator = _core.$for.getIterator(arr), _step; !(_step = _iterator.next()).done;) {
|
||||
var i = _step.value;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/helpers");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
var arr = (function () {
|
||||
var _arr = [];
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/helpers");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
var _to5Helpers = require("6to5-runtime/helpers");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
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) {
|
||||
@@ -20,8 +20,8 @@ var giveWord = _regeneratorRuntime.mark(function giveWord() {
|
||||
});
|
||||
|
||||
exports.giveWord = giveWord;
|
||||
var foo = _to5Runtime.interopRequire(require("someModule"));
|
||||
var foo = _to5Helpers.interopRequire(require("someModule"));
|
||||
|
||||
var bar = _to5Runtime.interopRequireWildcard(require("someModule"));
|
||||
var bar = _to5Helpers.interopRequireWildcard(require("someModule"));
|
||||
|
||||
var myWord = exports.myWord = _core.Symbol("abc");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
define(["exports", "6to5-runtime/helpers", "6to5-runtime/core-js", "6to5-runtime/regenerator", "someModule"], function (exports, _to5Runtime, _core, _regeneratorRuntime, _someModule) {
|
||||
define(["exports", "someModule", "6to5-runtime/helpers"], function (exports, _someModule, _to5Helpers) {
|
||||
"use strict";
|
||||
|
||||
var foo = _to5Runtime.interopRequire(_someModule);
|
||||
var foo = _to5Helpers.interopRequire(_someModule);
|
||||
});
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/helpers");
|
||||
var _to5Helpers = require("6to5-runtime/helpers");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
var foo = _to5Runtime.interopRequireWildcard(require("someModule"));
|
||||
var foo = _to5Helpers.interopRequireWildcard(require("someModule"));
|
||||
|
||||
Reference in New Issue
Block a user