| Server IP : 46.62.235.243 / Your IP : 216.73.216.163 Web Server : Apache/2.4.58 (Ubuntu) System : Linux Linkabili3Dicembre 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/node_modules/webpack/lib/ids/ |
Upload File : |
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const { compareChunksNatural } = require("../util/comparators");
const {
getShortChunkName,
getLongChunkName,
assignNames,
getUsedChunkIds,
assignAscendingChunkIds
} = require("./IdHelpers");
/** @typedef {import("../Chunk")} Chunk */
/** @typedef {import("../Compiler")} Compiler */
/** @typedef {import("../Module")} Module */
class NamedChunkIdsPlugin {
constructor(options) {
this.delimiter = (options && options.delimiter) || "-";
this.context = options && options.context;
}
/**
* Apply the plugin
* @param {Compiler} compiler the compiler instance
* @returns {void}
*/
apply(compiler) {
compiler.hooks.compilation.tap("NamedChunkIdsPlugin", compilation => {
const { hashFunction } = compilation.outputOptions;
compilation.hooks.chunkIds.tap("NamedChunkIdsPlugin", chunks => {
const chunkGraph = compilation.chunkGraph;
const context = this.context ? this.context : compiler.context;
const delimiter = this.delimiter;
const unnamedChunks = assignNames(
Array.from(chunks).filter(chunk => {
if (chunk.name) {
chunk.id = chunk.name;
chunk.ids = [chunk.name];
}
return chunk.id === null;
}),
chunk =>
getShortChunkName(
chunk,
chunkGraph,
context,
delimiter,
hashFunction,
compiler.root
),
chunk =>
getLongChunkName(
chunk,
chunkGraph,
context,
delimiter,
hashFunction,
compiler.root
),
compareChunksNatural(chunkGraph),
getUsedChunkIds(compilation),
(chunk, name) => {
chunk.id = name;
chunk.ids = [name];
}
);
if (unnamedChunks.length > 0) {
assignAscendingChunkIds(unnamedChunks, compilation);
}
});
});
}
}
module.exports = NamedChunkIdsPlugin;