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);
|
||||
};
|
||||
@@ -1 +0,0 @@
|
||||
var [a, [b], [c], d] = ["hello", [", ", "junk"], ["world"]];
|
||||
@@ -1,30 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var _slicedToArray = function (arr, i) {
|
||||
if (Array.isArray(arr)) {
|
||||
return arr;
|
||||
} else {
|
||||
var _arr = [];
|
||||
|
||||
for (var _iterator = _core.$for.getIterator(arr), _step; !(_step = _iterator.next()).done;) {
|
||||
_arr.push(_step.value);
|
||||
|
||||
if (i && _arr.length === i) break;
|
||||
}
|
||||
|
||||
return _arr;
|
||||
}
|
||||
};
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _ref = ["hello", [", ", "junk"], ["world"]];
|
||||
|
||||
var a = _ref[0];
|
||||
var _ref$1 = _slicedToArray(_ref[1], 1);
|
||||
|
||||
var b = _ref$1[0];
|
||||
var _ref$2 = _slicedToArray(_ref[2], 1);
|
||||
|
||||
var c = _ref$2[0];
|
||||
var d = _ref[3];
|
||||
@@ -1 +0,0 @@
|
||||
var lyrics = ["head", "and", "toes", ...parts];
|
||||
@@ -1,9 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var _toArray = function (arr) {
|
||||
return Array.isArray(arr) ? arr : _core.Array.from(arr);
|
||||
};
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var lyrics = ["head", "and", "toes"].concat(_toArray(parts));
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"optional": ["coreAliasing"],
|
||||
"experimental": true
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"optional": ["externalRegenerator"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
define(["exports", "6to5-runtime/6to5", "someModule"], function (exports, _to5Runtime6to5, _someModule) {
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = _to5Runtime6to5;
|
||||
var foo = _to5Runtime.interopRequire(_someModule);
|
||||
});
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"optional": ["externalRuntime"]
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/6to5");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
obj.constructor === Object;
|
||||
obj.constructor === _core.Promise;
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/6to5");
|
||||
|
||||
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,7 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/6to5");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
var arr = (function () {
|
||||
var _arr = [];
|
||||
|
||||
4
test/fixtures/transformation/optional-self-contained/options.json
vendored
Normal file
4
test/fixtures/transformation/optional-self-contained/options.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"optional": ["selfContained"],
|
||||
"experimental": true
|
||||
}
|
||||
@@ -1,5 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/6to5");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
void _regeneratorRuntime.mark(function callee$0$0() {
|
||||
8
test/fixtures/transformation/optional-self-contained/runtime-amd/expected.js
vendored
Normal file
8
test/fixtures/transformation/optional-self-contained/runtime-amd/expected.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
define(["exports", "6to5-runtime/6to5", "6to5-runtime/core-js", "6to5-runtime/regenerator", "someModule"], function (exports, _to5Runtime6to5, _to5RuntimeCoreJs, _to5RuntimeRegenerator, _someModule) {
|
||||
"use strict";
|
||||
|
||||
var _to5Runtime = _to5Runtime6to5;
|
||||
var _core = _to5RuntimeCoreJs;
|
||||
var _regeneratorRuntime = _to5RuntimeRegenerator;
|
||||
var foo = _to5Runtime.interopRequire(_someModule);
|
||||
});
|
||||
@@ -2,4 +2,8 @@
|
||||
|
||||
var _to5Runtime = require("6to5-runtime/6to5");
|
||||
|
||||
var _core = require("6to5-runtime/core-js");
|
||||
|
||||
var _regeneratorRuntime = require("6to5-runtime/regenerator");
|
||||
|
||||
var foo = _to5Runtime.interopRequireWildcard(require("someModule"));
|
||||
Reference in New Issue
Block a user