123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- "use strict";
- const { compareChunksNatural } = require("../util/comparators");
- const {
- getShortChunkName,
- getLongChunkName,
- assignNames,
- getUsedChunkIds,
- assignAscendingChunkIds
- } = require("./IdHelpers");
- class NamedChunkIdsPlugin {
-
- constructor(options) {
- this.delimiter = (options && options.delimiter) || "-";
- this.context = options && options.context;
- }
-
- apply(compiler) {
- compiler.hooks.compilation.tap("NamedChunkIdsPlugin", compilation => {
- const hashFunction =
-
- (compilation.outputOptions.hashFunction);
- 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;
|