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
							 |