BaseUriRuntimeModule.js 926 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Ivan Kopeykin @vankop
  4. */
  5. "use strict";
  6. const RuntimeGlobals = require("../RuntimeGlobals");
  7. const RuntimeModule = require("../RuntimeModule");
  8. /** @typedef {import("../../declarations/WebpackOptions").EntryDescriptionNormalized} EntryDescription */
  9. /** @typedef {import("../Chunk")} Chunk */
  10. class BaseUriRuntimeModule extends RuntimeModule {
  11. constructor() {
  12. super("base uri", RuntimeModule.STAGE_ATTACH);
  13. }
  14. /**
  15. * Generates runtime code for this runtime module.
  16. * @returns {string | null} runtime code
  17. */
  18. generate() {
  19. const chunk = /** @type {Chunk} */ (this.chunk);
  20. const options =
  21. /** @type {EntryDescription} */
  22. (chunk.getEntryOptions());
  23. return `${RuntimeGlobals.baseURI} = ${
  24. options.baseUri === undefined
  25. ? "undefined"
  26. : JSON.stringify(options.baseUri)
  27. };`;
  28. }
  29. }
  30. module.exports = BaseUriRuntimeModule;