MCPcopy
hub / github.com/webpack/webpack / updateHash

Method updateHash

lib/optimize/ConcatenatedModule.js:2592–2619  ·  view source on GitHub ↗

* Updates the hash with the data contributed by this instance. * @param {Hash} hash the hash used to track dependencies * @param {UpdateHashContext} context context * @returns {void}

(hash, context)

Source from the content-addressed store, hash-verified

2590 * @returns {void}
2591 */
2592 updateHash(hash, context) {
2593 const { chunkGraph, runtime } = context;
2594 for (const info of this._createConcatenationList(
2595 this.rootModule,
2596 this._modules,
2597 intersectRuntime(runtime, this._runtime),
2598 chunkGraph.moduleGraph
2599 )) {
2600 switch (info.type) {
2601 case "concatenated":
2602 info.module.updateHash(hash, context);
2603 break;
2604 case "external":
2605 hash.update(
2606 `${chunkGraph.getModuleId(info.module)}|${runtimeConditionToString(
2607 info.runtimeCondition
2608 )}|${info.nonDeferAccess ? "1" : "0"}|${
2609 this.compilation.options.experiments.deferImport &&
2610 chunkGraph.moduleGraph.isDeferred(info.module)
2611 ? "1"
2612 : "0"
2613 }`
2614 );
2615 break;
2616 }
2617 }
2618 super.updateHash(hash, context);
2619 }
2620
2621 /**
2622 * @param {ObjectDeserializerContext} context context

Callers

nothing calls this directly

Calls 6

intersectRuntimeFunction · 0.85
runtimeConditionToStringFunction · 0.85
getModuleIdMethod · 0.80
isDeferredMethod · 0.80
updateMethod · 0.45

Tested by

no test coverage detected