38 lines
		
	
	
		
			1005 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1005 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | ||
| 	MIT License http://www.opensource.org/licenses/mit-license.php
 | ||
| */
 | ||
| 
 | ||
| "use strict";
 | ||
| 
 | ||
| const RuntimeGlobals = require("../RuntimeGlobals");
 | ||
| const RuntimeModule = require("../RuntimeModule");
 | ||
| const Template = require("../Template");
 | ||
| 
 | ||
| // CompatibilityPlugin renames `__webpack_require__` but doesn’t account for `export { __webpack_require__ }`, so we create a temporary variable to handle it.
 | ||
| const EXPORT_TEMP_NAME = "__webpack_require_temp__";
 | ||
| 
 | ||
| class ExportWebpackRequireRuntimeModule extends RuntimeModule {
 | ||
| 	constructor() {
 | ||
| 		super("export webpack runtime", RuntimeModule.STAGE_ATTACH);
 | ||
| 	}
 | ||
| 
 | ||
| 	/**
 | ||
| 	 * @returns {boolean} true, if the runtime module should get it's own scope
 | ||
| 	 */
 | ||
| 	shouldIsolate() {
 | ||
| 		return false;
 | ||
| 	}
 | ||
| 
 | ||
| 	/**
 | ||
| 	 * @returns {string | null} runtime code
 | ||
| 	 */
 | ||
| 	generate() {
 | ||
| 		return Template.asString([
 | ||
| 			`var ${EXPORT_TEMP_NAME} = ${RuntimeGlobals.require};`,
 | ||
| 			`export { ${EXPORT_TEMP_NAME} as ${RuntimeGlobals.require} };`
 | ||
| 		]);
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| module.exports = ExportWebpackRequireRuntimeModule;
 |