Add transformer to import regeneratorRuntime from a module
Thanks to facebook/regenerator#167 Regenerator's runtime can be now required as a module (though not in an easily self-containable way). This transformer, together with `coreAliasing` and `externalRuntime`, allows users to ditch a runtime dependency on `6to5`/`6to5-core` to depend directly on `core-js` and `regenerator`.
This commit is contained in:
parent
81bec3e5c4
commit
d4cc8fefd1
@ -95,6 +95,7 @@ _.each({
|
|||||||
|
|
||||||
typeofSymbol: require("./transformers/optional-typeof-symbol"),
|
typeofSymbol: require("./transformers/optional-typeof-symbol"),
|
||||||
coreAliasing: require("./transformers/optional-core-aliasing"),
|
coreAliasing: require("./transformers/optional-core-aliasing"),
|
||||||
|
externalRegenerator: require("./transformers/optional-external-regenerator-runtime"),
|
||||||
undefinedToVoid: require("./transformers/optional-undefined-to-void"),
|
undefinedToVoid: require("./transformers/optional-undefined-to-void"),
|
||||||
|
|
||||||
// spec
|
// spec
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
var t = require("../../types");
|
||||||
|
|
||||||
|
exports.optional = true;
|
||||||
|
|
||||||
|
exports.ast = {
|
||||||
|
enter: function (ast, file) {
|
||||||
|
file._regeneratorId = file.addImport("regenerator/runtime-module", "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);
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user