2021-07-08 15:13:42 +08:00
/ *
MIT License http : //www.opensource.org/licenses/mit-license.php
* /
"use strict" ;
2023-05-19 23:55:47 +08:00
const RuntimeGlobals = require ( "../RuntimeGlobals" ) ;
2021-07-08 15:13:42 +08:00
const RuntimeModule = require ( "../RuntimeModule" ) ;
2025-08-06 19:54:28 +08:00
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__" ;
2021-07-08 15:13:42 +08:00
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 ;
}
/ * *
2023-06-17 01:13:03 +08:00
* @ returns { string | null } runtime code
2021-07-08 15:13:42 +08:00
* /
generate ( ) {
2025-08-06 19:54:28 +08:00
return Template . asString ( [
` var ${ EXPORT _TEMP _NAME } = ${ RuntimeGlobals . require } ; ` ,
` export { ${ EXPORT _TEMP _NAME } as ${ RuntimeGlobals . require } }; `
] ) ;
2021-07-08 15:13:42 +08:00
}
}
module . exports = ExportWebpackRequireRuntimeModule ;