MCPcopy
hub / github.com/webpack/webpack / renderRuntimeModules

Method renderRuntimeModules

lib/Template.js:387–429  ·  lib/Template.js::Template.renderRuntimeModules

* Renders runtime modules. * @param {RuntimeModule[]} runtimeModules array of runtime modules in order * @param {RenderContext & { codeGenerationResults?: CodeGenerationResults }} renderContext render context * @returns {Source} rendered runtime modules in a Source object

(runtimeModules, renderContext)

Source from the content-addressed store, hash-verified

385 * @returns {Source} rendered runtime modules in a Source object
386 */
387 static renderRuntimeModules(runtimeModules, renderContext) {
388 const source = new ConcatSource();
389 for (const module of runtimeModules) {
390 const codeGenerationResults = renderContext.codeGenerationResults;
391 /** @type {undefined | Source} */
392 let runtimeSource;
393 if (codeGenerationResults) {
394 runtimeSource = codeGenerationResults.getSource(
395 module,
396 renderContext.chunk.runtime,
397 WEBPACK_MODULE_TYPE_RUNTIME
398 );
399 } else {
400 const codeGenResult = module.codeGeneration({
401 chunkGraph: renderContext.chunkGraph,
402 dependencyTemplates: renderContext.dependencyTemplates,
403 moduleGraph: renderContext.moduleGraph,
404 runtimeTemplate: renderContext.runtimeTemplate,
405 runtime: renderContext.chunk.runtime,
406 runtimes: [renderContext.chunk.runtime],
407 codeGenerationResults
408 });
409 if (!codeGenResult) continue;
410 runtimeSource = codeGenResult.sources.get(class="st">"runtime");
411 }
412 if (runtimeSource) {
413 source.add(`${Template.toNormalComment(module.identifier())}\n`);
414 if (!module.shouldIsolate()) {
415 source.add(runtimeSource);
416 source.add(class="st">"\n\n");
417 } else if (renderContext.runtimeTemplate.supportsArrowFunction()) {
418 source.add(class="st">"(() => {\n");
419 source.add(new PrefixSource(class="st">"\t", runtimeSource));
420 source.add(class="st">"\n})();\n\n");
421 } else {
422 source.add(class="st">"!function() {\n");
423 source.add(new PrefixSource(class="st">"\t", runtimeSource));
424 source.add(class="st">"\n}();\n\n");
425 }
426 }
427 }
428 return source;
429 }
430
431 /**
432 * Renders chunk runtime modules.

Callers 3

renderMainMethod · 0.80
applyMethod · 0.80

Calls 8

toNormalCommentMethod · 0.80
supportsArrowFunctionMethod · 0.80
getSourceMethod · 0.45
codeGenerationMethod · 0.45
getMethod · 0.45
addMethod · 0.45
identifierMethod · 0.45
shouldIsolateMethod · 0.45

Tested by

no test coverage detected