update selfContained transformer to use new File data layer
This commit is contained in:
@@ -23,9 +23,9 @@ exports.optional = true;
|
||||
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file.opts.runtime = file.addImport("6to5-runtime/helpers", "to5Runtime").name;
|
||||
file._coreId = file.addImport("6to5-runtime/core-js", "core");
|
||||
file._regeneratorId = file.addImport("6to5-runtime/regenerator", "regeneratorRuntime");
|
||||
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"));
|
||||
},
|
||||
|
||||
exit: function (ast, file) {
|
||||
@@ -42,11 +42,11 @@ exports.ast = {
|
||||
|
||||
if (!node.computed && coreHas(obj) && _.has(core[obj.name], prop.name)) {
|
||||
context.skip();
|
||||
return t.prependToMemberExpression(node, file._coreId);
|
||||
return t.prependToMemberExpression(node, file.get("coreIdentifier"));
|
||||
}
|
||||
} else if (t.isReferencedIdentifier(node, parent) && !t.isMemberExpression(parent) && _.contains(ALIASABLE_CONSTRUCTORS, node.name)) {
|
||||
// Symbol() -> _core.Symbol(); new Promise -> new _core.Promise
|
||||
return t.memberExpression(file._coreId, node);
|
||||
return t.memberExpression(file.get("coreIdentifier"), node);
|
||||
} else if (t.isCallExpression(node)) {
|
||||
// arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
|
||||
|
||||
@@ -61,7 +61,7 @@ exports.ast = {
|
||||
if (!t.isIdentifier(prop.property, { name: "iterator" })) return;
|
||||
|
||||
return util.template("corejs-iterator", {
|
||||
CORE_ID: file._coreId,
|
||||
CORE_ID: file.get("coreIdentifier"),
|
||||
VALUE: callee.object
|
||||
});
|
||||
}
|
||||
@@ -72,6 +72,6 @@ exports.ast = {
|
||||
|
||||
exports.Identifier = function (node, parent, scope, context, file) {
|
||||
if (node.name === "regeneratorRuntime" && t.isReferenced(node, parent)) {
|
||||
node.name = file._regeneratorId;
|
||||
return file.get("regeneratorIdentifier");
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user