summaryrefslogtreecommitdiff
path: root/node_modules/@babel/preset-env/lib/polyfills/regenerator.cjs
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/preset-env/lib/polyfills/regenerator.cjs')
-rw-r--r--node_modules/@babel/preset-env/lib/polyfills/regenerator.cjs44
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/@babel/preset-env/lib/polyfills/regenerator.cjs b/node_modules/@babel/preset-env/lib/polyfills/regenerator.cjs
new file mode 100644
index 00000000..de6d42dc
--- /dev/null
+++ b/node_modules/@babel/preset-env/lib/polyfills/regenerator.cjs
@@ -0,0 +1,44 @@
+;
+const {
+ getImportSource,
+ getRequireSource
+} = require("./utils.cjs");
+function isRegeneratorSource(source) {
+ return source === "regenerator-runtime/runtime" || source === "regenerator-runtime/runtime.js";
+}
+module.exports = function () {
+ const visitor = {
+ ImportDeclaration(path) {
+ if (isRegeneratorSource(getImportSource(path))) {
+ this.regeneratorImportExcluded = true;
+ path.remove();
+ }
+ },
+ Program(path) {
+ path.get("body").forEach(bodyPath => {
+ if (isRegeneratorSource(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.cjs.map