refactor: code

This commit is contained in:
alexander.akait 2024-09-20 15:49:36 +03:00
parent 1b217a6d94
commit 0011ec130a
4 changed files with 30 additions and 38 deletions

View File

@ -53,7 +53,6 @@ const DefaultStatsFactoryPlugin = require("./stats/DefaultStatsFactoryPlugin");
const DefaultStatsPresetPlugin = require("./stats/DefaultStatsPresetPlugin");
const DefaultStatsPrinterPlugin = require("./stats/DefaultStatsPrinterPlugin");
const { STAGE_BASIC, STAGE_ADVANCED } = require("./OptimizationStages");
const { cleverMerge } = require("./util/cleverMerge");
/** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
@ -433,10 +432,6 @@ class WebpackOptionsApply extends OptionsApply {
const RemoveEmptyChunksPlugin = require("./optimize/RemoveEmptyChunksPlugin");
new RemoveEmptyChunksPlugin().apply(compiler);
}
if (options.optimization.mergeDuplicateChunks) {
const MergeDuplicateChunksPlugin = require("./optimize/MergeDuplicateChunksPlugin");
new MergeDuplicateChunksPlugin(STAGE_BASIC).apply(compiler);
}
if (options.optimization.flagIncludedChunks) {
const FlagIncludedChunksPlugin = require("./optimize/FlagIncludedChunksPlugin");
new FlagIncludedChunksPlugin().apply(compiler);
@ -476,8 +471,8 @@ class WebpackOptionsApply extends OptionsApply {
new SplitChunksPlugin(options.optimization.splitChunks).apply(compiler);
}
if (options.optimization.mergeDuplicateChunks) {
const MergeDuplicateChunksPluginAdv = require("./optimize/MergeDuplicateChunksPlugin");
new MergeDuplicateChunksPluginAdv(STAGE_ADVANCED).apply(compiler);
const MergeDuplicateChunksPlugin = require("./optimize/MergeDuplicateChunksPlugin");
new MergeDuplicateChunksPlugin().apply(compiler);
}
if (options.optimization.runtimeChunk) {
const RuntimeChunkPlugin = require("./optimize/RuntimeChunkPlugin");

View File

@ -5,15 +5,12 @@
"use strict";
const { STAGE_ADVANCED } = require("../OptimizationStages");
const { runtimeEqual } = require("../util/runtime");
/** @typedef {import("../Compiler")} Compiler */
class MergeDuplicateChunksPlugin {
constructor(stage) {
this.stage = stage;
}
/**
* @param {Compiler} compiler the compiler
* @returns {void}
@ -25,7 +22,7 @@ class MergeDuplicateChunksPlugin {
compilation.hooks.optimizeChunks.tap(
{
name: "MergeDuplicateChunksPlugin",
stage: this.stage
stage: STAGE_ADVANCED
},
chunks => {
const { chunkGraph, moduleGraph } = compilation;

View File

@ -4097,6 +4097,29 @@ chunk (runtime: main) 914.js X bytes <{792}> ={60}= ={263}= [rendered] split chu
webpack x.x.x compiled successfully"
`;
exports[`StatsTestCases should print correct stats for split-chunks-dedup 1`] = `
"asset main.js X KiB [emitted] (name: main) (id hint: main)
asset table-643--shared.js X bytes [emitted]
asset row-359--shared.js X bytes [emitted]
asset cell--shared.js X bytes [emitted]
asset templater--shared.js X bytes [emitted]
runtime modules X KiB 11 modules
built modules X bytes (javascript) X bytes (share-init) X bytes (consume-shared) [built]
cacheable modules X bytes
modules by path ./node_modules/ X bytes 4 modules
modules by path ./*.js X bytes 2 modules
provide-module modules X bytes
provide shared module (default) cell@1.0.0 = ./node_modules/cell/index.js X bytes [built] [code generated]
provide shared module (default) row@1.0.0 = ./node_modules/row/index.js X bytes [built] [code generated]
+ 2 modules
consume-shared-module modules X bytes
consume shared module (default) table@=1.0.0 (strict) (fallback: ./node_modules/...(truncated) X bytes [built] [code generated]
consume shared module (default) row@=1.0.0 (strict) (fallback: ./node_modules...(truncated) X bytes [built] [code generated]
consume shared module (default) templater@=1.0.0 (strict) (fallback: ./node_modu...(truncated) X bytes [built] [code generated]
consume shared module (default) cell@=1.0.0 (strict) (fallback: ./node_modules/...(truncated) X bytes [built] [code generated]
webpack x.x.x compiled successfully in X ms"
`;
exports[`StatsTestCases should print correct stats for split-chunks-issue-6413 1`] = `
"Entrypoint main X KiB = main.js
chunk (runtime: main) async-b.js (async-b) X bytes <{792}> ={476}= ={628}= [rendered]
@ -4724,29 +4747,6 @@ global:
global (webpack x.x.x) compiled successfully in X ms"
`;
exports[`StatsTestCases should print correct stats for split-chunks-dedup 1`] = `
"asset main.js X KiB [emitted] (name: main) (id hint: main)
asset table--shared X bytes [emitted]
asset row-359--shared X bytes [emitted]
asset cell--shared X bytes [emitted]
asset templater--shared X bytes [emitted]
runtime modules X KiB 11 modules
built modules X bytes (javascript) X bytes (share-init) X bytes (consume-shared) [built]
cacheable modules X bytes
modules by path ./node_modules/ X bytes 4 modules
modules by path ./*.js X bytes 2 modules
provide-module modules X bytes
provide shared module (default) cell@1.0.0 = ./node_modules/cell/index.js X bytes [built] [code generated]
provide shared module (default) row@1.0.0 = ./node_modules/row/index.js X bytes [built] [code generated]
+ 2 modules
consume-shared-module modules X bytes
consume shared module (default) table@=1.0.0 (strict) (fallback: ./node_modules/...(truncated) X bytes [built] [code generated]
consume shared module (default) row@=1.0.0 (strict) (fallback: ./node_modules...(truncated) X bytes [built] [code generated]
consume shared module (default) templater@=1.0.0 (strict) (fallback: ./node_modu...(truncated) X bytes [built] [code generated]
consume shared module (default) cell@=1.0.0 (strict) (fallback: ./node_modules/...(truncated) X bytes [built] [code generated]
webpack x.x.x compiled successfully in X ms"
`;
exports[`StatsTestCases should print correct stats for tree-shaking 1`] = `
"asset bundle.js X KiB [emitted] (name: main)
runtime modules X bytes 3 modules

View File

@ -36,7 +36,7 @@ module.exports = {
chunk.id
) {
if (chunkIdChunkNameMap.has(chunk.id)) {
return chunkIdChunkNameMap.get(chunk.id);
return `${chunkIdChunkNameMap.get(chunk.id)}.js`;
}
// @ts-expect-error
@ -49,13 +49,13 @@ module.exports = {
usedSharedModuleNames.add(sharedModuleName);
chunkIdChunkNameMap.set(chunk.id, chunkName);
return chunkName;
return `${chunkName}.js`;
}
}
}
}
}
return "[id]--chunk";
return "[id]--chunk.js";
}
},
plugins: [