123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- */
- "use strict";
- const RuntimeGlobals = require("../RuntimeGlobals");
- const RuntimeModule = require("../RuntimeModule");
- /** @typedef {import("../MainTemplate")} MainTemplate */
- class CompatRuntimeModule extends RuntimeModule {
- constructor() {
- super("compat", RuntimeModule.STAGE_ATTACH);
- this.fullHash = true;
- }
- /**
- * @returns {string} runtime code
- */
- generate() {
- const { chunkGraph, chunk, compilation } = this;
- const {
- runtimeTemplate,
- mainTemplate,
- moduleTemplates,
- dependencyTemplates
- } = compilation;
- const bootstrap = mainTemplate.hooks.bootstrap.call(
- "",
- chunk,
- compilation.hash || "XXXX",
- moduleTemplates.javascript,
- dependencyTemplates
- );
- const localVars = mainTemplate.hooks.localVars.call(
- "",
- chunk,
- compilation.hash || "XXXX"
- );
- const requireExtensions = mainTemplate.hooks.requireExtensions.call(
- "",
- chunk,
- compilation.hash || "XXXX"
- );
- const runtimeRequirements = chunkGraph.getTreeRuntimeRequirements(chunk);
- let requireEnsure = "";
- if (runtimeRequirements.has(RuntimeGlobals.ensureChunk)) {
- const requireEnsureHandler = mainTemplate.hooks.requireEnsure.call(
- "",
- chunk,
- compilation.hash || "XXXX",
- "chunkId"
- );
- if (requireEnsureHandler) {
- requireEnsure = `${
- RuntimeGlobals.ensureChunkHandlers
- }.compat = ${runtimeTemplate.basicFunction(
- "chunkId, promises",
- requireEnsureHandler
- )};`;
- }
- }
- return [bootstrap, localVars, requireEnsure, requireExtensions]
- .filter(Boolean)
- .join("\n");
- }
- /**
- * @returns {boolean} true, if the runtime module should get it's own scope
- */
- shouldIsolate() {
- // We avoid isolating this to have better backward-compat
- return false;
- }
- }
- module.exports = CompatRuntimeModule;
|