Unify coreAliasing, externalRuntime and externalRegenerator
Merge all three transformers into the `selfContained` transformer, as discussed in Gitter. Name may not be final.
This commit is contained in:
@@ -94,9 +94,7 @@ _.each({
|
||||
_moduleFormatter: require("./transformers/_module-formatter"),
|
||||
|
||||
typeofSymbol: require("./transformers/optional-typeof-symbol"),
|
||||
externalRuntime: require("./transformers/optional-external-runtime"),
|
||||
coreAliasing: require("./transformers/optional-core-aliasing"),
|
||||
externalRegenerator: require("./transformers/optional-external-regenerator-runtime"),
|
||||
selfContained: require("./transformers/optional-self-contained"),
|
||||
undefinedToVoid: require("./transformers/optional-undefined-to-void"),
|
||||
|
||||
// spec
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
var t = require("../../types");
|
||||
|
||||
exports.optional = true;
|
||||
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file._regeneratorId = file.addImport("6to5-runtime/regenerator", "regeneratorRuntime");
|
||||
}
|
||||
};
|
||||
|
||||
exports.MemberExpression = function (node, parent, scope, context, file) {
|
||||
var obj = node.object;
|
||||
var prop = node.property;
|
||||
if (!t.isReferenced(node, parent) || !t.isReferenced(obj, node)) return;
|
||||
if (obj.name === "regeneratorRuntime") return t.memberExpression(file._regeneratorId, prop);
|
||||
};
|
||||
@@ -1,10 +0,0 @@
|
||||
exports.optional = true;
|
||||
|
||||
// In theory, it would be more appropriate to do this in `manipulateOptions`,
|
||||
// but we need an identifier for the import and we can't get that before the
|
||||
// AST is built.
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file.opts.runtime = file.addImport("6to5-runtime/6to5", "to5Runtime").name;
|
||||
}
|
||||
};
|
||||
@@ -23,7 +23,9 @@ exports.optional = true;
|
||||
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file.opts.runtime = file.addImport("6to5-runtime/6to5", "to5Runtime").name;
|
||||
file._coreId = file.addImport("6to5-runtime/core-js", "core");
|
||||
file._regeneratorId = file.addImport("6to5-runtime/regenerator", "regeneratorRuntime");
|
||||
},
|
||||
|
||||
exit: function (ast, file) {
|
||||
@@ -67,3 +69,10 @@ exports.ast = {
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
exports.MemberExpression = function (node, parent, scope, context, file) {
|
||||
var obj = node.object;
|
||||
var prop = node.property;
|
||||
if (!t.isReferenced(node, parent) || !t.isReferenced(obj, node)) return;
|
||||
if (obj.name === "regeneratorRuntime") return t.memberExpression(file._regeneratorId, prop);
|
||||
};
|
||||
Reference in New Issue
Block a user