webpack 5.27.2 → 5.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of webpack might be problematic. Click here for more details.

@@ -282,9 +282,9 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
282
282
  * @property {string=} loc
283
283
  * @property {string|number=} chunkId
284
284
  * @property {string|number=} moduleId
285
- * @property {any=} moduleTrace
285
+ * @property {StatsModuleTraceItem[]=} moduleTrace
286
286
  * @property {any=} details
287
- * @property {any=} stack
287
+ * @property {string=} stack
288
288
  */
289
289
 
290
290
  /** @typedef {Asset & { type: string, related: PreprocessedAsset[] }} PreprocessedAsset */
@@ -216,6 +216,7 @@ class Group {
216
216
  lastNode = node;
217
217
  }
218
218
  }
219
+ if (resultNodes.length === this.nodes.length) return undefined;
219
220
  this.nodes = newNodes;
220
221
  this.similarities = newSimilarities;
221
222
  this.size = sumSize(newNodes);
@@ -296,14 +297,15 @@ module.exports = ({ maxSize, minSize, items, getSize, getKey }) => {
296
297
  if (initialNodes.length > 0) {
297
298
  const initialGroup = new Group(initialNodes, getSimilarities(initialNodes));
298
299
 
299
- const removeProblematicNodes = group => {
300
- const problemTypes = getTooSmallTypes(group.size, minSize);
300
+ const removeProblematicNodes = (group, consideredSize = group.size) => {
301
+ const problemTypes = getTooSmallTypes(consideredSize, minSize);
301
302
  if (problemTypes.size > 0) {
302
303
  // We hit an edge case where the working set is already smaller than minSize
303
304
  // We merge problematic nodes with the smallest result node to keep minSize intact
304
305
  const problemNodes = group.popNodes(
305
306
  n => getNumberOfMatchingSizeTypes(n.size, problemTypes) > 0
306
307
  );
308
+ if (problemNodes === undefined) return false;
307
309
  // Only merge it with result nodes that have the problematic size type
308
310
  const possibleResultGroups = result.filter(
309
311
  n => getNumberOfMatchingSizeTypes(n.size, problemTypes) > 0
@@ -377,7 +379,31 @@ module.exports = ({ maxSize, minSize, items, getSize, getKey }) => {
377
379
  right--;
378
380
  }
379
381
 
382
+ // left v v right
383
+ // [ O O O ] O O O [ O O O ]
384
+ // ^^^^^^^^^ leftSize
385
+ // rightSize ^^^^^^^^^
386
+ // leftSize > minSize
387
+ // rightSize > minSize
388
+
389
+ // Perfect split: [ O O O ] [ O O O ]
390
+ // right === left - 1
391
+
380
392
  if (left - 1 > right) {
393
+ // We try to remove some problematic nodes to "fix" that
394
+ let prevSize;
395
+ if (right < group.nodes.length - left) {
396
+ subtractSizeFrom(rightSize, group.nodes[right + 1].size);
397
+ prevSize = rightSize;
398
+ } else {
399
+ subtractSizeFrom(leftSize, group.nodes[left - 1].size);
400
+ prevSize = leftSize;
401
+ }
402
+ if (removeProblematicNodes(group, prevSize)) {
403
+ // This changed something, so we try this group again
404
+ queue.push(group);
405
+ continue;
406
+ }
381
407
  // can't split group while holding minSize
382
408
  // because minSize is preferred of maxSize we return
383
409
  // the problematic nodes as result here even while it's too big
@@ -395,7 +421,13 @@ module.exports = ({ maxSize, minSize, items, getSize, getKey }) => {
395
421
  let bestSimilarity = Infinity;
396
422
  let pos = left;
397
423
  let rightSize = sumSize(group.nodes.slice(pos));
398
- while (pos <= right) {
424
+
425
+ // pos v v right
426
+ // [ O O O ] O O O [ O O O ]
427
+ // ^^^^^^^^^ leftSize
428
+ // rightSize ^^^^^^^^^^^^^^^
429
+
430
+ while (pos <= right + 1) {
399
431
  const similarity = group.similarities[pos - 1];
400
432
  if (
401
433
  similarity < bestSimilarity &&
@@ -410,7 +442,9 @@ module.exports = ({ maxSize, minSize, items, getSize, getKey }) => {
410
442
  pos++;
411
443
  }
412
444
  if (best < 0) {
413
- // can't split group while holding minSize
445
+ // This can't happen
446
+ // but if that assumption is wrong
447
+ // fallback to a big group
414
448
  result.push(group);
415
449
  continue;
416
450
  }
@@ -347,7 +347,7 @@ const subtractRuntime = (a, b) => {
347
347
  return undefined;
348
348
  } else if (typeof a === "string") {
349
349
  if (typeof b === "string") {
350
- return undefined;
350
+ return a;
351
351
  } else if (b.has(a)) {
352
352
  return undefined;
353
353
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack",
3
- "version": "5.27.2",
3
+ "version": "5.31.0",
4
4
  "author": "Tobias Koppers @sokra",
5
5
  "description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
6
6
  "license": "MIT",
@@ -53,7 +53,7 @@
53
53
  "es5-ext": "^0.10.53",
54
54
  "es6-promise-polyfill": "^1.2.0",
55
55
  "eslint": "^7.14.0",
56
- "eslint-config-prettier": "^7.0.0",
56
+ "eslint-config-prettier": "^8.1.0",
57
57
  "eslint-plugin-jest": "^24.1.3",
58
58
  "eslint-plugin-jsdoc": "^32.0.2",
59
59
  "eslint-plugin-node": "^11.0.0",
@@ -107,6 +107,9 @@
107
107
  },
108
108
  "filename": {
109
109
  "$ref": "#/definitions/FilenameTemplate"
110
+ },
111
+ "publicPath": {
112
+ "$ref": "#/definitions/RawPublicPath"
110
113
  }
111
114
  }
112
115
  },
@@ -178,6 +181,9 @@
178
181
  },
179
182
  "filename": {
180
183
  "$ref": "#/definitions/FilenameTemplate"
184
+ },
185
+ "publicPath": {
186
+ "$ref": "#/definitions/RawPublicPath"
181
187
  }
182
188
  }
183
189
  },
@@ -965,6 +971,16 @@
965
971
  "minLength": 1
966
972
  }
967
973
  },
974
+ "maxAge": {
975
+ "description": "Time for which unused cache entries stay in the filesystem cache at minimum (in milliseconds).",
976
+ "type": "number",
977
+ "minimum": 0
978
+ },
979
+ "maxMemoryGenerations": {
980
+ "description": "Number of generations unused cache entries stay in memory cache at minimum (0 = no memory cache used, 1 = may be removed after unused for a single compilation, ..., Infinity: kept forever). Cache entries will be deserialized from disk when removed from memory cache.",
981
+ "type": "number",
982
+ "minimum": 0
983
+ },
968
984
  "name": {
969
985
  "description": "Name for the cache. Different names will lead to different coexisting caches.",
970
986
  "type": "string"
@@ -1195,6 +1211,18 @@
1195
1211
  "type": "object",
1196
1212
  "additionalProperties": false,
1197
1213
  "properties": {
1214
+ "appendOnly": {
1215
+ "description": "Only appends lines to the output. Avoids updating existing output e. g. for status messages. This option is only used when no custom console is provided.",
1216
+ "type": "boolean"
1217
+ },
1218
+ "colors": {
1219
+ "description": "Enables/Disables colorful output. This option is only used when no custom console is provided.",
1220
+ "type": "boolean"
1221
+ },
1222
+ "console": {
1223
+ "description": "Custom console used for logging.",
1224
+ "tsType": "Console"
1225
+ },
1198
1226
  "debug": {
1199
1227
  "description": "Enable debug logging for specific loggers.",
1200
1228
  "anyOf": [
@@ -1210,6 +1238,10 @@
1210
1238
  "level": {
1211
1239
  "description": "Log level.",
1212
1240
  "enum": ["none", "error", "warn", "info", "log", "verbose"]
1241
+ },
1242
+ "stream": {
1243
+ "description": "Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided.",
1244
+ "tsType": "NodeJS.WritableStream"
1213
1245
  }
1214
1246
  }
1215
1247
  },
@@ -1541,6 +1573,11 @@
1541
1573
  "type": "object",
1542
1574
  "additionalProperties": false,
1543
1575
  "properties": {
1576
+ "maxGenerations": {
1577
+ "description": "Number of generations unused cache entries stay in memory cache at minimum (1 = may be removed after unused for a single compilation, ..., Infinity: kept forever).",
1578
+ "type": "number",
1579
+ "minimum": 1
1580
+ },
1544
1581
  "type": {
1545
1582
  "description": "In memory caching.",
1546
1583
  "enum": ["memory"]
@@ -2912,11 +2949,19 @@
2912
2949
  "type": "boolean"
2913
2950
  },
2914
2951
  "PublicPath": {
2915
- "description": "The `publicPath` specifies the public URL address of the output files when referenced in a browser.",
2952
+ "description": "The 'publicPath' specifies the public URL address of the output files when referenced in a browser.",
2916
2953
  "anyOf": [
2917
2954
  {
2918
2955
  "enum": ["auto"]
2919
2956
  },
2957
+ {
2958
+ "$ref": "#/definitions/RawPublicPath"
2959
+ }
2960
+ ]
2961
+ },
2962
+ "RawPublicPath": {
2963
+ "description": "The 'publicPath' specifies the public URL address of the output files when referenced in a browser.",
2964
+ "anyOf": [
2920
2965
  {
2921
2966
  "type": "string"
2922
2967
  },
@@ -4088,6 +4133,10 @@
4088
4133
  "description": "Group modules by their path.",
4089
4134
  "type": "boolean"
4090
4135
  },
4136
+ "groupModulesByType": {
4137
+ "description": "Group modules by their type.",
4138
+ "type": "boolean"
4139
+ },
4091
4140
  "hash": {
4092
4141
  "description": "Add the hash of the compilation.",
4093
4142
  "type": "boolean"
package/types.d.ts CHANGED
@@ -312,8 +312,20 @@ declare interface AssetResourceGeneratorOptions {
312
312
  * Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.
313
313
  */
314
314
  filename?: string | ((pathData: PathData, assetInfo?: AssetInfo) => string);
315
+
316
+ /**
317
+ * The 'publicPath' specifies the public URL address of the output files when referenced in a browser.
318
+ */
319
+ publicPath?: string | ((pathData: PathData, assetInfo?: AssetInfo) => string);
315
320
  }
316
- declare abstract class AsyncDependenciesBlock extends DependenciesBlock {
321
+ declare class AsyncDependenciesBlock extends DependenciesBlock {
322
+ constructor(
323
+ groupOptions: RawChunkGroupOptions & { name?: string } & {
324
+ entryOptions?: EntryOptions;
325
+ },
326
+ loc?: SyntheticDependencyLocation | RealDependencyLocation,
327
+ request?: string
328
+ );
317
329
  groupOptions: RawChunkGroupOptions & { name?: string } & {
318
330
  entryOptions?: EntryOptions;
319
331
  };
@@ -2094,6 +2106,22 @@ type ConnectionState =
2094
2106
  | boolean
2095
2107
  | typeof TRANSITIVE_ONLY
2096
2108
  | typeof CIRCULAR_CONNECTION;
2109
+ declare class ConstDependency extends NullDependency {
2110
+ constructor(
2111
+ expression: string,
2112
+ range: number | [number, number],
2113
+ runtimeRequirements?: string[]
2114
+ );
2115
+ expression: string;
2116
+ range: number | [number, number];
2117
+ runtimeRequirements: null | Set<string>;
2118
+ static Template: typeof ConstDependencyTemplate;
2119
+ static NO_EXPORTS_REFERENCED: string[][];
2120
+ static EXPORTS_OBJECT_REFERENCED: string[][];
2121
+ }
2122
+ declare class ConstDependencyTemplate extends NullDependencyTemplate {
2123
+ constructor();
2124
+ }
2097
2125
  declare interface Constructor {
2098
2126
  new (...params: any[]): any;
2099
2127
  }
@@ -2431,14 +2459,15 @@ declare class Dependency {
2431
2459
  deserialize(__0: { read: any }): void;
2432
2460
  module: any;
2433
2461
  readonly disconnect: any;
2434
- static NO_EXPORTS_REFERENCED: any[];
2435
- static EXPORTS_OBJECT_REFERENCED: never[][];
2462
+ static NO_EXPORTS_REFERENCED: string[][];
2463
+ static EXPORTS_OBJECT_REFERENCED: string[][];
2436
2464
  }
2437
2465
  declare interface DependencyConstructor {
2438
2466
  new (...args: any[]): Dependency;
2439
2467
  }
2440
2468
  type DependencyLocation = SyntheticDependencyLocation | RealDependencyLocation;
2441
- declare abstract class DependencyTemplate {
2469
+ declare class DependencyTemplate {
2470
+ constructor();
2442
2471
  apply(
2443
2472
  dependency: Dependency,
2444
2473
  source: ReplaceSource,
@@ -3168,9 +3197,10 @@ declare abstract class ExportInfo {
3168
3197
  setUsed(newValue: UsageStateType, runtime: RuntimeSpec): boolean;
3169
3198
  unsetTarget(key?: any): boolean;
3170
3199
  setTarget(
3171
- key?: any,
3172
- connection?: ModuleGraphConnection,
3173
- exportName?: string[]
3200
+ key: any,
3201
+ connection: ModuleGraphConnection,
3202
+ exportName?: string[],
3203
+ priority?: number
3174
3204
  ): boolean;
3175
3205
  getUsed(runtime: RuntimeSpec): UsageStateType;
3176
3206
 
@@ -3274,6 +3304,11 @@ declare interface ExportSpec {
3274
3304
  */
3275
3305
  export?: null | string[];
3276
3306
 
3307
+ /**
3308
+ * when reexported: with which priority
3309
+ */
3310
+ priority?: number;
3311
+
3277
3312
  /**
3278
3313
  * export is not visible, because another export blends over it
3279
3314
  */
@@ -3298,7 +3333,8 @@ declare abstract class ExportsInfo {
3298
3333
  canMangle?: boolean,
3299
3334
  excludeExports?: Set<string>,
3300
3335
  targetKey?: any,
3301
- targetModule?: ModuleGraphConnection
3336
+ targetModule?: ModuleGraphConnection,
3337
+ priority?: number
3302
3338
  ): boolean;
3303
3339
  setUsedInUnknownWay(runtime: RuntimeSpec): boolean;
3304
3340
  setUsedWithoutInfo(runtime: RuntimeSpec): boolean;
@@ -3347,6 +3383,11 @@ declare interface ExportsSpec {
3347
3383
  */
3348
3384
  from?: ModuleGraphConnection;
3349
3385
 
3386
+ /**
3387
+ * when reexported: with which priority
3388
+ */
3389
+ priority?: number;
3390
+
3350
3391
  /**
3351
3392
  * can the export be renamed (defaults to true)
3352
3393
  */
@@ -3664,6 +3705,16 @@ declare interface FileCacheOptions {
3664
3705
  */
3665
3706
  managedPaths?: string[];
3666
3707
 
3708
+ /**
3709
+ * Time for which unused cache entries stay in the filesystem cache at minimum (in milliseconds).
3710
+ */
3711
+ maxAge?: number;
3712
+
3713
+ /**
3714
+ * Number of generations unused cache entries stay in memory cache at minimum (0 = no memory cache used, 1 = may be removed after unused for a single compilation, ..., Infinity: kept forever). Cache entries will be deserialized from disk when removed from memory cache.
3715
+ */
3716
+ maxMemoryGenerations?: number;
3717
+
3667
3718
  /**
3668
3719
  * Name for the cache. Different names will lead to different coexisting caches.
3669
3720
  */
@@ -3755,6 +3806,7 @@ declare abstract class FileSystemInfo {
3755
3806
  immutablePaths: string[];
3756
3807
  immutablePathsWithSlash: string[];
3757
3808
  logStatistics(): void;
3809
+ clear(): void;
3758
3810
  addFileTimestamps(
3759
3811
  map: Map<string, null | FileSystemInfoEntry | "ignore">
3760
3812
  ): void;
@@ -3789,7 +3841,7 @@ declare abstract class FileSystemInfo {
3789
3841
  callback: (arg0?: Error, arg1?: ResolveBuildDependenciesResult) => void
3790
3842
  ): void;
3791
3843
  checkResolveResultsValid(
3792
- resolveResults: Map<string, string>,
3844
+ resolveResults: Map<string, string | false>,
3793
3845
  callback: (arg0?: Error, arg1?: boolean) => void
3794
3846
  ): void;
3795
3847
  createSnapshot(
@@ -4144,6 +4196,21 @@ type ImportSource = undefined | null | string | SimpleLiteral | RegExpLiteral;
4144
4196
  * Options for infrastructure level logging.
4145
4197
  */
4146
4198
  declare interface InfrastructureLogging {
4199
+ /**
4200
+ * Only appends lines to the output. Avoids updating existing output e. g. for status messages. This option is only used when no custom console is provided.
4201
+ */
4202
+ appendOnly?: boolean;
4203
+
4204
+ /**
4205
+ * Enables/Disables colorful output. This option is only used when no custom console is provided.
4206
+ */
4207
+ colors?: boolean;
4208
+
4209
+ /**
4210
+ * Custom console used for logging.
4211
+ */
4212
+ console?: Console;
4213
+
4147
4214
  /**
4148
4215
  * Enable debug logging for specific loggers.
4149
4216
  */
@@ -4158,6 +4225,11 @@ declare interface InfrastructureLogging {
4158
4225
  * Log level.
4159
4226
  */
4160
4227
  level?: "none" | "verbose" | "error" | "warn" | "info" | "log";
4228
+
4229
+ /**
4230
+ * Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided.
4231
+ */
4232
+ stream?: NodeJS.WritableStream;
4161
4233
  }
4162
4234
  declare abstract class InitFragment {
4163
4235
  content: string | Source;
@@ -5232,9 +5304,9 @@ declare interface KnownStatsError {
5232
5304
  loc?: string;
5233
5305
  chunkId?: string | number;
5234
5306
  moduleId?: string | number;
5235
- moduleTrace?: any;
5307
+ moduleTrace?: StatsModuleTraceItem[];
5236
5308
  details?: any;
5237
- stack?: any;
5309
+ stack?: string;
5238
5310
  }
5239
5311
  declare interface KnownStatsFactoryContext {
5240
5312
  type: string;
@@ -5320,6 +5392,18 @@ declare interface KnownStatsModuleReason {
5320
5392
  moduleId?: string | number;
5321
5393
  resolvedModuleId?: string | number;
5322
5394
  }
5395
+ declare interface KnownStatsModuleTraceDependency {
5396
+ loc?: string;
5397
+ }
5398
+ declare interface KnownStatsModuleTraceItem {
5399
+ originIdentifier?: string;
5400
+ originName?: string;
5401
+ moduleIdentifier?: string;
5402
+ moduleName?: string;
5403
+ dependencies?: StatsModuleTraceDependency[];
5404
+ originId?: string | number;
5405
+ moduleId?: string | number;
5406
+ }
5323
5407
  declare interface KnownStatsPrinterContext {
5324
5408
  type?: string;
5325
5409
  compilation?: StatsCompilation;
@@ -5698,6 +5782,11 @@ declare interface MapOptions {
5698
5782
  * Options object for in-memory caching.
5699
5783
  */
5700
5784
  declare interface MemoryCacheOptions {
5785
+ /**
5786
+ * Number of generations unused cache entries stay in memory cache at minimum (1 = may be removed after unused for a single compilation, ..., Infinity: kept forever).
5787
+ */
5788
+ maxGenerations?: number;
5789
+
5701
5790
  /**
5702
5791
  * In memory caching.
5703
5792
  */
@@ -5880,10 +5969,14 @@ declare class ModuleConcatenationPlugin {
5880
5969
  */
5881
5970
  apply(compiler: Compiler): void;
5882
5971
  }
5883
- declare abstract class ModuleDependency extends Dependency {
5972
+ declare class ModuleDependency extends Dependency {
5973
+ constructor(request: string);
5884
5974
  request: string;
5885
5975
  userRequest: string;
5886
5976
  range: any;
5977
+ static Template: typeof DependencyTemplate;
5978
+ static NO_EXPORTS_REFERENCED: string[][];
5979
+ static EXPORTS_OBJECT_REFERENCED: string[][];
5887
5980
  }
5888
5981
  declare abstract class ModuleFactory {
5889
5982
  create(
@@ -6432,8 +6525,18 @@ declare class NoEmitOnErrorsPlugin {
6432
6525
  apply(compiler: Compiler): void;
6433
6526
  }
6434
6527
  declare class NodeEnvironmentPlugin {
6435
- constructor(options?: any);
6436
- options: any;
6528
+ constructor(options: {
6529
+ /**
6530
+ * infrastructure logging options
6531
+ */
6532
+ infrastructureLogging: InfrastructureLogging;
6533
+ });
6534
+ options: {
6535
+ /**
6536
+ * infrastructure logging options
6537
+ */
6538
+ infrastructureLogging: InfrastructureLogging;
6539
+ };
6437
6540
 
6438
6541
  /**
6439
6542
  * Apply the plugin
@@ -6774,6 +6877,15 @@ type NormalizedStatsOptions = KnownNormalizedStatsOptions &
6774
6877
  | "_env"
6775
6878
  > &
6776
6879
  Record<string, any>;
6880
+ declare class NullDependency extends Dependency {
6881
+ constructor();
6882
+ static Template: typeof NullDependencyTemplate;
6883
+ static NO_EXPORTS_REFERENCED: string[][];
6884
+ static EXPORTS_OBJECT_REFERENCED: string[][];
6885
+ }
6886
+ declare class NullDependencyTemplate extends DependencyTemplate {
6887
+ constructor();
6888
+ }
6777
6889
  declare interface ObjectDeserializerContext {
6778
6890
  read: () => any;
6779
6891
  }
@@ -7388,7 +7500,7 @@ declare interface Output {
7388
7500
  pathinfo?: boolean | "verbose";
7389
7501
 
7390
7502
  /**
7391
- * The `publicPath` specifies the public URL address of the output files when referenced in a browser.
7503
+ * The 'publicPath' specifies the public URL address of the output files when referenced in a browser.
7392
7504
  */
7393
7505
  publicPath?: string | ((pathData: PathData, assetInfo?: AssetInfo) => string);
7394
7506
 
@@ -7650,7 +7762,7 @@ declare interface OutputNormalized {
7650
7762
  pathinfo?: boolean | "verbose";
7651
7763
 
7652
7764
  /**
7653
- * The `publicPath` specifies the public URL address of the output files when referenced in a browser.
7765
+ * The 'publicPath' specifies the public URL address of the output files when referenced in a browser.
7654
7766
  */
7655
7767
  publicPath?: string | ((pathData: PathData, assetInfo?: AssetInfo) => string);
7656
7768
 
@@ -8263,7 +8375,7 @@ declare interface ResolveBuildDependenciesResult {
8263
8375
  /**
8264
8376
  * stored resolve results
8265
8377
  */
8266
- resolveResults: Map<string, string>;
8378
+ resolveResults: Map<string, string | false>;
8267
8379
 
8268
8380
  /**
8269
8381
  * dependencies of the resolving
@@ -10136,6 +10248,9 @@ type StatsLoggingEntry = KnownStatsLoggingEntry & Record<string, any>;
10136
10248
  type StatsModule = KnownStatsModule & Record<string, any>;
10137
10249
  type StatsModuleIssuer = KnownStatsModuleIssuer & Record<string, any>;
10138
10250
  type StatsModuleReason = KnownStatsModuleReason & Record<string, any>;
10251
+ type StatsModuleTraceDependency = KnownStatsModuleTraceDependency &
10252
+ Record<string, any>;
10253
+ type StatsModuleTraceItem = KnownStatsModuleTraceItem & Record<string, any>;
10139
10254
 
10140
10255
  /**
10141
10256
  * Stats options object.
@@ -10400,6 +10515,11 @@ declare interface StatsOptions {
10400
10515
  */
10401
10516
  groupModulesByPath?: boolean;
10402
10517
 
10518
+ /**
10519
+ * Group modules by their type.
10520
+ */
10521
+ groupModulesByType?: boolean;
10522
+
10403
10523
  /**
10404
10524
  * Add the hash of the compilation.
10405
10525
  */
@@ -11414,6 +11534,9 @@ declare namespace exports {
11414
11534
  options: WebpackOptionsNormalized
11415
11535
  ) => void;
11416
11536
  }
11537
+ export namespace dependencies {
11538
+ export { ModuleDependency, ConstDependency, NullDependency };
11539
+ }
11417
11540
  export namespace ids {
11418
11541
  export {
11419
11542
  ChunkModuleIdRangePlugin,
@@ -11605,6 +11728,7 @@ declare namespace exports {
11605
11728
  ) => void;
11606
11729
  export {
11607
11730
  AutomaticPrefetchPlugin,
11731
+ AsyncDependenciesBlock,
11608
11732
  BannerPlugin,
11609
11733
  Cache,
11610
11734
  Chunk,
@@ -11676,7 +11800,20 @@ declare namespace exports {
11676
11800
  MultiStats,
11677
11801
  ParserState,
11678
11802
  Watching,
11679
- StatsCompilation
11803
+ StatsAsset,
11804
+ StatsChunk,
11805
+ StatsChunkGroup,
11806
+ StatsChunkOrigin,
11807
+ StatsCompilation,
11808
+ StatsError,
11809
+ StatsLogging,
11810
+ StatsLoggingEntry,
11811
+ StatsModule,
11812
+ StatsModuleIssuer,
11813
+ StatsModuleReason,
11814
+ StatsModuleTraceDependency,
11815
+ StatsModuleTraceItem,
11816
+ StatsProfile
11680
11817
  };
11681
11818
  }
11682
11819