ヤミRoot VoidGate
User / IP
:
216.73.216.81
Host / Server
:
146.88.233.70 / dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
logercm
/
dev.loger.cm
/
node_modules
/
webpack
/
lib
/
ids
/
Viewing: OccurrenceChunkIdsPlugin.js
/* 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;
Coded With 💗 by
0x6ick