* Create module hash. * @private * @param {Module} module module * @param {ChunkGraph} chunkGraph the chunk graph * @param {RuntimeSpec} runtime runtime * @param {HashFunction} hashFunction hash function * @param {RuntimeTemplate} runtimeTemplate runtime template * @param {HashDigest}
( module, chunkGraph, runtime, hashFunction, runtimeTemplate, hashDigest, hashDigestLength, errors )
| 4784 | * @returns {string} module hash digest |
| 4785 | */ |
| 4786 | _createModuleHash( |
| 4787 | module, |
| 4788 | chunkGraph, |
| 4789 | runtime, |
| 4790 | hashFunction, |
| 4791 | runtimeTemplate, |
| 4792 | hashDigest, |
| 4793 | hashDigestLength, |
| 4794 | errors |
| 4795 | ) { |
| 4796 | /** @type {string} */ |
| 4797 | let moduleHashDigest; |
| 4798 | try { |
| 4799 | const moduleHash = createHash(hashFunction); |
| 4800 | module.updateHash(moduleHash, { |
| 4801 | chunkGraph, |
| 4802 | runtime, |
| 4803 | runtimeTemplate |
| 4804 | }); |
| 4805 | moduleHashDigest = moduleHash.digest(hashDigest); |
| 4806 | } catch (err) { |
| 4807 | errors.push(new ModuleHashingError(module, /** @type {Error} */ (err))); |
| 4808 | moduleHashDigest = "XXXXXX"; |
| 4809 | } |
| 4810 | chunkGraph.setModuleHashes( |
| 4811 | module, |
| 4812 | runtime, |
| 4813 | moduleHashDigest, |
| 4814 | moduleHashDigest.slice(0, hashDigestLength) |
| 4815 | ); |
| 4816 | return moduleHashDigest; |
| 4817 | } |
| 4818 | |
| 4819 | createHash() { |
| 4820 | this.logger.time("hashing: initialize hash"); |
no test coverage detected