You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					47 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					47 lines
				
				1.3 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = _default; | ||
|  | var _utils = require("./utils"); | ||
|  | 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
 |