From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- node_modules/webpack/lib/HashedModuleIdsPlugin.js | 95 +++++++++++++---------- 1 file changed, 53 insertions(+), 42 deletions(-) (limited to 'node_modules/webpack/lib/HashedModuleIdsPlugin.js') diff --git a/node_modules/webpack/lib/HashedModuleIdsPlugin.js b/node_modules/webpack/lib/HashedModuleIdsPlugin.js index 40a491b07..aeb9f1d93 100644 --- a/node_modules/webpack/lib/HashedModuleIdsPlugin.js +++ b/node_modules/webpack/lib/HashedModuleIdsPlugin.js @@ -1,42 +1,53 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -"use strict"; -const createHash = require("crypto").createHash; - -class HashedModuleIdsPlugin { - constructor(options) { - this.options = Object.assign({ - hashFunction: "md5", - hashDigest: "base64", - hashDigestLength: 4 - }, options); - } - - apply(compiler) { - const options = this.options; - compiler.plugin("compilation", (compilation) => { - const usedIds = new Set(); - compilation.plugin("before-module-ids", (modules) => { - modules.forEach((module) => { - if(module.id === null && module.libIdent) { - const id = module.libIdent({ - context: this.options.context || compiler.options.context - }); - const hash = createHash(options.hashFunction); - hash.update(id); - const hashId = hash.digest(options.hashDigest); - let len = options.hashDigestLength; - while(usedIds.has(hashId.substr(0, len))) - len++; - module.id = hashId.substr(0, len); - usedIds.add(module.id); - } - }); - }); - }); - } -} - -module.exports = HashedModuleIdsPlugin; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; +const createHash = require("./util/createHash"); + +const validateOptions = require("schema-utils"); +const schema = require("../schemas/plugins/HashedModuleIdsPlugin.json"); + +class HashedModuleIdsPlugin { + constructor(options) { + validateOptions(schema, options || {}, "Hashed Module Ids Plugin"); + + this.options = Object.assign( + { + context: null, + hashFunction: "md4", + hashDigest: "base64", + hashDigestLength: 4 + }, + options + ); + } + + apply(compiler) { + const options = this.options; + compiler.hooks.compilation.tap("HashedModuleIdsPlugin", compilation => { + const usedIds = new Set(); + compilation.hooks.beforeModuleIds.tap( + "HashedModuleIdsPlugin", + modules => { + for (const module of modules) { + if (module.id === null && module.libIdent) { + const id = module.libIdent({ + context: this.options.context || compiler.options.context + }); + const hash = createHash(options.hashFunction); + hash.update(id); + const hashId = hash.digest(options.hashDigest); + let len = options.hashDigestLength; + while (usedIds.has(hashId.substr(0, len))) len++; + module.id = hashId.substr(0, len); + usedIds.add(module.id); + } + } + } + ); + }); + } +} + +module.exports = HashedModuleIdsPlugin; -- cgit v1.2.3