summaryrefslogtreecommitdiff
path: root/node_modules/@babel/preset-env/lib/polyfills/regenerator.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/preset-env/lib/polyfills/regenerator.js')
-rw-r--r--node_modules/@babel/preset-env/lib/polyfills/regenerator.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/node_modules/@babel/preset-env/lib/polyfills/regenerator.js b/node_modules/@babel/preset-env/lib/polyfills/regenerator.js
new file mode 100644
index 00000000..c02846fa
--- /dev/null
+++ b/node_modules/@babel/preset-env/lib/polyfills/regenerator.js
@@ -0,0 +1,46 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = _default;
+var _utils = require("./utils.js");
+function isRegeneratorSource(source) {
+ return source === "regenerator-runtime/runtime" || source === "regenerator-runtime/runtime.js";
+}
+function _default() {
+ const visitor = {
+ ImportDeclaration(path) {
+ if (isRegeneratorSource((0, _utils.getImportSource)(path))) {
+ this.regeneratorImportExcluded = true;
+ path.remove();
+ }
+ },
+ Program(path) {
+ path.get("body").forEach(bodyPath => {
+ if (isRegeneratorSource((0, _utils.getRequireSource)(bodyPath))) {
+ this.regeneratorImportExcluded = true;
+ bodyPath.remove();
+ }
+ });
+ }
+ };
+ return {
+ name: "preset-env/remove-regenerator",
+ visitor,
+ pre() {
+ this.regeneratorImportExcluded = false;
+ },
+ post() {
+ if (this.opts.debug && this.regeneratorImportExcluded) {
+ let filename = this.file.opts.filename;
+ if (process.env.BABEL_ENV === "test") {
+ filename = filename.replace(/\\/g, "/");
+ }
+ console.log(`\n[${filename}] Based on your targets, regenerator-runtime import excluded.`);
+ }
+ }
+ };
+}
+
+//# sourceMappingURL=regenerator.js.map