mirror of https://github.com/webpack/webpack.git
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;
|