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;
|