PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const { find } = require("../util/SetHelpers"); const { compareModulesByPreOrderIndexOrIdentifier, compareModulesByPostOrderIndexOrIdentifier } = require("../util/comparators"); /** @typedef {import("../Compiler")} Compiler */ class ChunkModuleIdRangePlugin { constructor(options) { this.options = options; } /** * Apply the plugin * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { const options = this.options; compiler.hooks.compilation.tap("ChunkModuleIdRangePlugin", compilation => { const moduleGraph = compilation.moduleGraph; compilation.hooks.moduleIds.tap("ChunkModuleIdRangePlugin", modules => { const chunkGraph = compilation.chunkGraph; const chunk = find( compilation.chunks, chunk => chunk.name === options.name ); if (!chunk) { throw new Error( `ChunkModuleIdRangePlugin: Chunk with name '${options.name}"' was not found` ); } let chunkModules; if (options.order) { let cmpFn; switch (options.order) { case "index": case "preOrderIndex": cmpFn = compareModulesByPreOrderIndexOrIdentifier(moduleGraph); break; case "index2": case "postOrderIndex": cmpFn = compareModulesByPostOrderIndexOrIdentifier(moduleGraph); break; default: throw new Error( "ChunkModuleIdRangePlugin: unexpected value of order" ); } chunkModules = chunkGraph.getOrderedChunkModules(chunk, cmpFn); } else { chunkModules = Array.from(modules) .filter(m => { return chunkGraph.isModuleInChunk(m, chunk); }) .sort(compareModulesByPreOrderIndexOrIdentifier(moduleGraph)); } let currentId = options.start || 0; for (let i = 0; i < chunkModules.length; i++) { const m = chunkModules[i]; if (m.needId && chunkGraph.getModuleId(m) === null) { chunkGraph.setModuleId(m, currentId++); } if (options.end && currentId > options.end) break; } }); }); } } module.exports = ChunkModuleIdRangePlugin;