ExportWebpackRequireRuntimeModule.js 1005 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. */
  4. "use strict";
  5. const RuntimeGlobals = require("../RuntimeGlobals");
  6. const RuntimeModule = require("../RuntimeModule");
  7. const Template = require("../Template");
  8. // CompatibilityPlugin renames `__webpack_require__` but doesn’t account for `export { __webpack_require__ }`, so we create a temporary variable to handle it.
  9. const EXPORT_TEMP_NAME = "__webpack_require_temp__";
  10. class ExportWebpackRequireRuntimeModule extends RuntimeModule {
  11. constructor() {
  12. super("export webpack runtime", RuntimeModule.STAGE_ATTACH);
  13. }
  14. /**
  15. * @returns {boolean} true, if the runtime module should get it's own scope
  16. */
  17. shouldIsolate() {
  18. return false;
  19. }
  20. /**
  21. * @returns {string | null} runtime code
  22. */
  23. generate() {
  24. return Template.asString([
  25. `var ${EXPORT_TEMP_NAME} = ${RuntimeGlobals.require};`,
  26. `export { ${EXPORT_TEMP_NAME} as ${RuntimeGlobals.require} };`
  27. ]);
  28. }
  29. }
  30. module.exports = ExportWebpackRequireRuntimeModule;