diff options
Diffstat (limited to 'node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js')
| -rw-r--r-- | node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js b/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js deleted file mode 100644 index b0acac36..00000000 --- a/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const { compareChunksNatural } = require("../util/comparators"); -const createSchemaValidation = require("../util/create-schema-validation"); -const { assignAscendingChunkIds } = require("./IdHelpers"); - -/** @typedef {import("../../declarations/plugins/ids/OccurrenceChunkIdsPlugin").OccurrenceChunkIdsPluginOptions} OccurrenceChunkIdsPluginOptions */ -/** @typedef {import("../Chunk")} Chunk */ -/** @typedef {import("../Compiler")} Compiler */ -/** @typedef {import("../Module")} Module */ - -const validate = createSchemaValidation( - require("../../schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js"), - () => require("../../schemas/plugins/ids/OccurrenceChunkIdsPlugin.json"), - { - name: "Occurrence Order Chunk Ids Plugin", - baseDataPath: "options" - } -); - -class OccurrenceChunkIdsPlugin { - /** - * @param {OccurrenceChunkIdsPluginOptions=} options options object - */ - constructor(options = {}) { - validate(options); - this.options = options; - } - - /** - * Apply the plugin - * @param {Compiler} compiler the compiler instance - * @returns {void} - */ - apply(compiler) { - const prioritiseInitial = this.options.prioritiseInitial; - compiler.hooks.compilation.tap("OccurrenceChunkIdsPlugin", compilation => { - compilation.hooks.chunkIds.tap("OccurrenceChunkIdsPlugin", chunks => { - const chunkGraph = compilation.chunkGraph; - - /** @type {Map<Chunk, number>} */ - const occursInInitialChunksMap = new Map(); - - const compareNatural = compareChunksNatural(chunkGraph); - - for (const c of chunks) { - let occurs = 0; - for (const chunkGroup of c.groupsIterable) { - for (const parent of chunkGroup.parentsIterable) { - if (parent.isInitial()) occurs++; - } - } - occursInInitialChunksMap.set(c, occurs); - } - - const chunksInOccurrenceOrder = Array.from(chunks).sort((a, b) => { - if (prioritiseInitial) { - const aEntryOccurs = - /** @type {number} */ - (occursInInitialChunksMap.get(a)); - const bEntryOccurs = - /** @type {number} */ - (occursInInitialChunksMap.get(b)); - if (aEntryOccurs > bEntryOccurs) return -1; - if (aEntryOccurs < bEntryOccurs) return 1; - } - const aOccurs = a.getNumberOfGroups(); - const bOccurs = b.getNumberOfGroups(); - if (aOccurs > bOccurs) return -1; - if (aOccurs < bOccurs) return 1; - return compareNatural(a, b); - }); - assignAscendingChunkIds(chunksInOccurrenceOrder, compilation); - }); - }); - } -} - -module.exports = OccurrenceChunkIdsPlugin; |
