webpack 5.79.0 → 5.81.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.

Files changed (115) hide show
  1. package/README.md +3 -0
  2. package/lib/AsyncDependenciesBlock.js +8 -0
  3. package/lib/CodeGenerationResults.js +2 -2
  4. package/lib/Compilation.js +2 -2
  5. package/lib/ContextModule.js +8 -0
  6. package/lib/CssModule.js +137 -0
  7. package/lib/DefinePlugin.js +81 -44
  8. package/lib/DelegatedModule.js +5 -0
  9. package/lib/DependenciesBlock.js +8 -0
  10. package/lib/Dependency.js +8 -0
  11. package/lib/DllModule.js +8 -0
  12. package/lib/ExportsInfo.js +3 -0
  13. package/lib/ExternalModule.js +8 -0
  14. package/lib/FileSystemInfo.js +8 -0
  15. package/lib/LoaderOptionsPlugin.js +12 -2
  16. package/lib/Module.js +8 -0
  17. package/lib/ModuleBuildError.js +9 -0
  18. package/lib/ModuleError.js +9 -0
  19. package/lib/ModuleFilenameHelpers.js +113 -4
  20. package/lib/ModuleParseError.js +9 -0
  21. package/lib/ModuleTypeConstants.js +21 -0
  22. package/lib/ModuleWarning.js +9 -0
  23. package/lib/NormalModule.js +8 -0
  24. package/lib/NormalModuleFactory.js +26 -4
  25. package/lib/RawModule.js +8 -0
  26. package/lib/WarnCaseSensitiveModulesPlugin.js +12 -0
  27. package/lib/WebpackError.js +8 -0
  28. package/lib/asset/AssetGenerator.js +11 -3
  29. package/lib/asset/RawDataUrlModule.js +8 -0
  30. package/lib/cache/ResolverCachePlugin.js +3 -0
  31. package/lib/config/normalization.js +1 -0
  32. package/lib/container/ContainerEntryModule.js +5 -0
  33. package/lib/container/ContainerExposedDependency.js +9 -0
  34. package/lib/container/FallbackDependency.js +6 -0
  35. package/lib/container/FallbackModule.js +5 -0
  36. package/lib/container/RemoteModule.js +5 -0
  37. package/lib/css/CssModulesPlugin.js +91 -50
  38. package/lib/css/CssParser.js +226 -72
  39. package/lib/css/walkCssTokens.js +152 -117
  40. package/lib/dependencies/AMDDefineDependency.js +8 -0
  41. package/lib/dependencies/AMDRequireArrayDependency.js +8 -0
  42. package/lib/dependencies/AMDRequireContextDependency.js +9 -0
  43. package/lib/dependencies/AMDRequireDependency.js +8 -0
  44. package/lib/dependencies/CachedConstDependency.js +8 -0
  45. package/lib/dependencies/CommonJsDependencyHelpers.js +9 -0
  46. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  47. package/lib/dependencies/CommonJsExportsDependency.js +8 -0
  48. package/lib/dependencies/CommonJsExportsParserPlugin.js +65 -3
  49. package/lib/dependencies/CommonJsFullRequireDependency.js +8 -0
  50. package/lib/dependencies/CommonJsRequireContextDependency.js +9 -0
  51. package/lib/dependencies/CommonJsSelfReferenceDependency.js +8 -0
  52. package/lib/dependencies/ConstDependency.js +8 -0
  53. package/lib/dependencies/ContextDependency.js +8 -0
  54. package/lib/dependencies/ContextElementDependency.js +8 -0
  55. package/lib/dependencies/CreateScriptUrlDependency.js +8 -0
  56. package/lib/dependencies/CssExportDependency.js +8 -0
  57. package/lib/dependencies/CssImportDependency.js +52 -1
  58. package/lib/dependencies/CssLocalIdentifierDependency.js +8 -0
  59. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +8 -0
  60. package/lib/dependencies/CssUrlDependency.js +38 -18
  61. package/lib/dependencies/DllEntryDependency.js +9 -0
  62. package/lib/dependencies/ExportsInfoDependency.js +5 -0
  63. package/lib/dependencies/HarmonyAcceptDependency.js +8 -0
  64. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +8 -0
  65. package/lib/dependencies/HarmonyExportExpressionDependency.js +8 -0
  66. package/lib/dependencies/HarmonyExportHeaderDependency.js +8 -0
  67. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +14 -0
  68. package/lib/dependencies/HarmonyExportSpecifierDependency.js +8 -0
  69. package/lib/dependencies/HarmonyImportDependency.js +8 -0
  70. package/lib/dependencies/HarmonyImportSpecifierDependency.js +8 -0
  71. package/lib/dependencies/ImportContextDependency.js +9 -0
  72. package/lib/dependencies/ImportDependency.js +8 -0
  73. package/lib/dependencies/ImportMetaPlugin.js +56 -26
  74. package/lib/dependencies/ImportParserPlugin.js +17 -1
  75. package/lib/dependencies/JsonExportsDependency.js +8 -0
  76. package/lib/dependencies/LocalModuleDependency.js +8 -0
  77. package/lib/dependencies/ModuleDecoratorDependency.js +8 -0
  78. package/lib/dependencies/ModuleDependency.js +8 -0
  79. package/lib/dependencies/ProvidedDependency.js +8 -0
  80. package/lib/dependencies/PureExpressionDependency.js +8 -0
  81. package/lib/dependencies/RequireEnsureDependency.js +8 -0
  82. package/lib/dependencies/RequireHeaderDependency.js +5 -0
  83. package/lib/dependencies/RequireResolveContextDependency.js +9 -0
  84. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  85. package/lib/dependencies/RuntimeRequirementsDependency.js +8 -0
  86. package/lib/dependencies/StaticExportsDependency.js +8 -0
  87. package/lib/dependencies/URLDependency.js +8 -0
  88. package/lib/dependencies/UnsupportedDependency.js +8 -0
  89. package/lib/dependencies/WebAssemblyExportImportedDependency.js +8 -0
  90. package/lib/dependencies/WebAssemblyImportDependency.js +8 -0
  91. package/lib/dependencies/WorkerDependency.js +8 -0
  92. package/lib/ids/OccurrenceModuleIdsPlugin.js +1 -1
  93. package/lib/index.js +1 -0
  94. package/lib/javascript/JavascriptParser.js +14 -4
  95. package/lib/optimize/RealContentHashPlugin.js +6 -0
  96. package/lib/runtime/AutoPublicPathRuntimeModule.js +6 -1
  97. package/lib/schemes/DataUriPlugin.js +12 -3
  98. package/lib/serialization/ObjectMiddleware.js +2 -0
  99. package/lib/sharing/ConsumeSharedModule.js +8 -0
  100. package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -3
  101. package/lib/sharing/ProvideSharedDependency.js +6 -0
  102. package/lib/sharing/ProvideSharedModule.js +5 -0
  103. package/lib/sharing/ShareRuntimeModule.js +7 -4
  104. package/lib/stats/DefaultStatsFactoryPlugin.js +98 -25
  105. package/lib/stats/DefaultStatsPresetPlugin.js +9 -0
  106. package/lib/stats/DefaultStatsPrinterPlugin.js +4 -0
  107. package/lib/util/LazySet.js +10 -2
  108. package/lib/util/MapHelpers.js +19 -5
  109. package/lib/util/binarySearchBounds.js +49 -0
  110. package/lib/util/internalSerializables.js +1 -0
  111. package/lib/util/semver.js +1 -1
  112. package/package.json +19 -22
  113. package/schemas/WebpackOptions.check.js +1 -1
  114. package/schemas/WebpackOptions.json +16 -0
  115. package/types.d.ts +108 -39
@@ -3162,6 +3162,10 @@
3162
3162
  "hotUpdateMainFilename": {
3163
3163
  "$ref": "#/definitions/HotUpdateMainFilename"
3164
3164
  },
3165
+ "ignoreBrowserWarnings": {
3166
+ "description": "Ignore warnings in the browser.",
3167
+ "type": "boolean"
3168
+ },
3165
3169
  "iife": {
3166
3170
  "$ref": "#/definitions/Iife"
3167
3171
  },
@@ -3364,6 +3368,10 @@
3364
3368
  "hotUpdateMainFilename": {
3365
3369
  "$ref": "#/definitions/HotUpdateMainFilename"
3366
3370
  },
3371
+ "ignoreBrowserWarnings": {
3372
+ "description": "Ignore warnings in the browser.",
3373
+ "type": "boolean"
3374
+ },
3367
3375
  "iife": {
3368
3376
  "$ref": "#/definitions/Iife"
3369
3377
  },
@@ -4713,6 +4721,10 @@
4713
4721
  "description": "Add errors count.",
4714
4722
  "type": "boolean"
4715
4723
  },
4724
+ "errorsSpace": {
4725
+ "description": "Space to display errors (value is in number of lines).",
4726
+ "type": "number"
4727
+ },
4716
4728
  "exclude": {
4717
4729
  "description": "Please use excludeModules instead.",
4718
4730
  "cli": {
@@ -4945,6 +4957,10 @@
4945
4957
  "$ref": "#/definitions/WarningFilterTypes"
4946
4958
  }
4947
4959
  ]
4960
+ },
4961
+ "warningsSpace": {
4962
+ "description": "Space to display warnings (value is in number of lines).",
4963
+ "type": "number"
4948
4964
  }
4949
4965
  }
4950
4966
  },
package/types.d.ts CHANGED
@@ -2646,8 +2646,8 @@ declare abstract class DependenciesBlock {
2646
2646
  */
2647
2647
  clearDependenciesAndBlocks(): void;
2648
2648
  updateHash(hash: Hash, context: UpdateHashContextDependency): void;
2649
- serialize(__0: { write: any }): void;
2650
- deserialize(__0: { read: any }): void;
2649
+ serialize(__0: ObjectSerializerContext): void;
2650
+ deserialize(__0: ObjectDeserializerContext): void;
2651
2651
  }
2652
2652
  declare interface DependenciesBlockLike {
2653
2653
  dependencies: Dependency[];
@@ -2717,8 +2717,8 @@ declare class Dependency {
2717
2717
  moduleGraph: ModuleGraph
2718
2718
  ): ConnectionState;
2719
2719
  createIgnoredModule(context: string): Module;
2720
- serialize(__0: { write: any }): void;
2721
- deserialize(__0: { read: any }): void;
2720
+ serialize(__0: ObjectSerializerContext): void;
2721
+ deserialize(__0: ObjectDeserializerContext): void;
2722
2722
  module: any;
2723
2723
  get disconnect(): any;
2724
2724
  static NO_EXPORTS_REFERENCED: string[][];
@@ -4191,17 +4191,31 @@ declare interface FileSystem {
4191
4191
  arg2: FileSystemCallback<string | Buffer>
4192
4192
  ): void;
4193
4193
  };
4194
- readdir: {
4195
- (
4196
- arg0: string,
4197
- arg1: FileSystemCallback<(string | Buffer)[] | FileSystemDirent[]>
4198
- ): void;
4199
- (
4200
- arg0: string,
4201
- arg1: object,
4202
- arg2: FileSystemCallback<(string | Buffer)[] | FileSystemDirent[]>
4203
- ): void;
4204
- };
4194
+ readdir: (
4195
+ arg0: string,
4196
+ arg1?:
4197
+ | null
4198
+ | "ascii"
4199
+ | "utf8"
4200
+ | "utf16le"
4201
+ | "ucs2"
4202
+ | "latin1"
4203
+ | "binary"
4204
+ | ((
4205
+ arg0?: null | NodeJS.ErrnoException,
4206
+ arg1?: any[] | (string | Buffer)[]
4207
+ ) => void)
4208
+ | ReaddirOptions
4209
+ | "utf-8"
4210
+ | "ucs-2"
4211
+ | "base64"
4212
+ | "hex"
4213
+ | "buffer",
4214
+ arg2?: (
4215
+ arg0?: null | NodeJS.ErrnoException,
4216
+ arg1?: any[] | (string | Buffer)[]
4217
+ ) => void
4218
+ ) => void;
4205
4219
  readJson?: {
4206
4220
  (arg0: string, arg1: FileSystemCallback<object>): void;
4207
4221
  (arg0: string, arg1: object, arg2: FileSystemCallback<object>): void;
@@ -4234,11 +4248,6 @@ declare interface FileSystem {
4234
4248
  declare interface FileSystemCallback<T> {
4235
4249
  (err?: null | (PossibleFileSystemError & Error), result?: T): any;
4236
4250
  }
4237
- declare interface FileSystemDirent {
4238
- name: string | Buffer;
4239
- isDirectory: () => boolean;
4240
- isFile: () => boolean;
4241
- }
4242
4251
  declare abstract class FileSystemInfo {
4243
4252
  fs: InputFileSystem;
4244
4253
  logger?: WebpackLogger;
@@ -4590,7 +4599,7 @@ declare interface HashedModuleIdsPluginOptions {
4590
4599
  /**
4591
4600
  * The encoding to use when generating the hash, defaults to 'base64'. All encodings from Node.JS' hash.digest are supported.
4592
4601
  */
4593
- hashDigest?: "latin1" | "hex" | "base64";
4602
+ hashDigest?: "latin1" | "base64" | "hex";
4594
4603
 
4595
4604
  /**
4596
4605
  * The prefix length of the hash digest to use, defaults to 4.
@@ -6195,9 +6204,9 @@ declare class LazySet<T> {
6195
6204
  has(item: T): boolean;
6196
6205
  keys(): IterableIterator<T>;
6197
6206
  values(): IterableIterator<T>;
6198
- serialize(__0: { write: any }): void;
6207
+ serialize(__0: ObjectSerializerContext): void;
6199
6208
  [Symbol.iterator](): IterableIterator<T>;
6200
- static deserialize(__0: { read: any }): LazySet<any>;
6209
+ static deserialize<T>(__0: ObjectDeserializerContext): LazySet<T>;
6201
6210
  }
6202
6211
  declare interface LibIdentOptions {
6203
6212
  /**
@@ -6424,8 +6433,8 @@ declare interface LoaderModule<OptionsType = {}, ContextAdditions = {}> {
6424
6433
  pitch?: PitchLoaderDefinitionFunction<OptionsType, ContextAdditions>;
6425
6434
  }
6426
6435
  declare class LoaderOptionsPlugin {
6427
- constructor(options?: LoaderOptionsPluginOptions);
6428
- options: LoaderOptionsPluginOptions;
6436
+ constructor(options?: LoaderOptionsPluginOptions & MatchObject);
6437
+ options: LoaderOptionsPluginOptions & MatchObject;
6429
6438
 
6430
6439
  /**
6431
6440
  * Apply the plugin
@@ -6589,6 +6598,7 @@ declare interface LoaderRunnerLoaderContext<OptionsType> {
6589
6598
  data?: object;
6590
6599
  pitchExecuted: boolean;
6591
6600
  normalExecuted: boolean;
6601
+ type?: "module" | "commonjs";
6592
6602
  }[];
6593
6603
 
6594
6604
  /**
@@ -6723,6 +6733,12 @@ declare interface MapOptions {
6723
6733
  columns?: boolean;
6724
6734
  module?: boolean;
6725
6735
  }
6736
+ declare interface MatchObject {
6737
+ test?: string | RegExp | string[] | RegExp[];
6738
+ include?: string | RegExp | string[] | RegExp[];
6739
+ exclude?: string | RegExp | string[] | RegExp[];
6740
+ }
6741
+ type Matcher = string | RegExp | string[] | RegExp[];
6726
6742
 
6727
6743
  /**
6728
6744
  * Options object for in-memory caching.
@@ -7837,6 +7853,7 @@ declare abstract class NormalModuleFactory extends ModuleFactory {
7837
7853
  parser: HookMap<SyncHook<any>>;
7838
7854
  createGenerator: HookMap<SyncBailHook<any, any>>;
7839
7855
  generator: HookMap<SyncHook<any>>;
7856
+ createModuleClass: HookMap<SyncBailHook<any, any>>;
7840
7857
  }>;
7841
7858
  resolverFactory: ResolverFactory;
7842
7859
  ruleSet: RuleSet;
@@ -7991,6 +8008,7 @@ declare class NullDependencyTemplate extends DependencyTemplate {
7991
8008
  }
7992
8009
  declare interface ObjectDeserializerContext {
7993
8010
  read: () => any;
8011
+ setCircularReference: (arg0?: any) => void;
7994
8012
  }
7995
8013
  declare interface ObjectSerializer {
7996
8014
  serialize: (arg0: any, arg1: ObjectSerializerContext) => void;
@@ -7998,6 +8016,7 @@ declare interface ObjectSerializer {
7998
8016
  }
7999
8017
  declare interface ObjectSerializerContext {
8000
8018
  write: (arg0?: any) => void;
8019
+ setCircularReference: (arg0?: any) => void;
8001
8020
  }
8002
8021
  declare class OccurrenceChunkIdsPlugin {
8003
8022
  constructor(options?: OccurrenceChunkIdsPluginOptions);
@@ -8599,6 +8618,11 @@ declare interface Output {
8599
8618
  */
8600
8619
  hotUpdateMainFilename?: string;
8601
8620
 
8621
+ /**
8622
+ * Ignore warnings in the browser.
8623
+ */
8624
+ ignoreBrowserWarnings?: boolean;
8625
+
8602
8626
  /**
8603
8627
  * Wrap javascript code into IIFE's to avoid leaking into global scope.
8604
8628
  */
@@ -8913,6 +8937,11 @@ declare interface OutputNormalized {
8913
8937
  */
8914
8938
  hotUpdateMainFilename?: string;
8915
8939
 
8940
+ /**
8941
+ * Ignore warnings in the browser.
8942
+ */
8943
+ ignoreBrowserWarnings?: boolean;
8944
+
8916
8945
  /**
8917
8946
  * Wrap javascript code into IIFE's to avoid leaking into global scope.
8918
8947
  */
@@ -9233,7 +9262,7 @@ declare class ProgressPlugin {
9233
9262
  showModules?: boolean;
9234
9263
  showDependencies?: boolean;
9235
9264
  showActiveModules?: boolean;
9236
- percentBy?: null | "modules" | "dependencies" | "entries";
9265
+ percentBy?: null | "entries" | "modules" | "dependencies";
9237
9266
  apply(compiler: Compiler | MultiCompiler): void;
9238
9267
  static getReporter(
9239
9268
  compiler: Compiler
@@ -9294,7 +9323,7 @@ declare interface ProgressPluginOptions {
9294
9323
  /**
9295
9324
  * Collect percent algorithm. By default it calculates by a median from modules, entries and dependencies percent.
9296
9325
  */
9297
- percentBy?: null | "modules" | "dependencies" | "entries";
9326
+ percentBy?: null | "entries" | "modules" | "dependencies";
9298
9327
 
9299
9328
  /**
9300
9329
  * Collect profile data for progress steps. Default: false.
@@ -9410,8 +9439,33 @@ declare class ReadFileCompileWasmPlugin {
9410
9439
  */
9411
9440
  apply(compiler: Compiler): void;
9412
9441
  }
9442
+ declare interface ReaddirOptions {
9443
+ encoding?:
9444
+ | null
9445
+ | "ascii"
9446
+ | "utf8"
9447
+ | "utf16le"
9448
+ | "ucs2"
9449
+ | "latin1"
9450
+ | "binary"
9451
+ | "utf-8"
9452
+ | "ucs-2"
9453
+ | "base64"
9454
+ | "hex"
9455
+ | "buffer";
9456
+ withFileTypes?: boolean;
9457
+ }
9413
9458
  declare class RealContentHashPlugin {
9414
- constructor(__0: { hashFunction: any; hashDigest: any });
9459
+ constructor(__0: {
9460
+ /**
9461
+ * the hash function to use
9462
+ */
9463
+ hashFunction: string | typeof Hash;
9464
+ /**
9465
+ * the hash digest to use
9466
+ */
9467
+ hashDigest: string;
9468
+ });
9415
9469
 
9416
9470
  /**
9417
9471
  * Apply the plugin
@@ -11045,8 +11099,8 @@ declare abstract class Snapshot {
11045
11099
  hasChildren(): boolean;
11046
11100
  setChildren(value?: any): void;
11047
11101
  addChild(child?: any): void;
11048
- serialize(__0: { write: any }): void;
11049
- deserialize(__0: { read: any }): void;
11102
+ serialize(__0: ObjectSerializerContext): void;
11103
+ deserialize(__0: ObjectDeserializerContext): void;
11050
11104
  getFileIterable(): Iterable<string>;
11051
11105
  getContextIterable(): Iterable<string>;
11052
11106
  getMissingIterable(): Iterable<string>;
@@ -11591,6 +11645,11 @@ declare interface StatsOptions {
11591
11645
  */
11592
11646
  errorsCount?: boolean;
11593
11647
 
11648
+ /**
11649
+ * Space to display errors (value is in number of lines).
11650
+ */
11651
+ errorsSpace?: number;
11652
+
11594
11653
  /**
11595
11654
  * Please use excludeModules instead.
11596
11655
  */
@@ -11851,6 +11910,11 @@ declare interface StatsOptions {
11851
11910
  | RegExp
11852
11911
  | WarningFilterItemTypes[]
11853
11912
  | ((warning: StatsError, value: string) => boolean);
11913
+
11914
+ /**
11915
+ * Space to display warnings (value is in number of lines).
11916
+ */
11917
+ warningsSpace?: number;
11854
11918
  }
11855
11919
  declare abstract class StatsPrinter {
11856
11920
  hooks: Readonly<{
@@ -12364,8 +12428,8 @@ declare class WebpackError extends Error {
12364
12428
  hideStack: boolean;
12365
12429
  chunk: Chunk;
12366
12430
  file: string;
12367
- serialize(__0: { write: any }): void;
12368
- deserialize(__0: { read: any }): void;
12431
+ serialize(__0: ObjectSerializerContext): void;
12432
+ deserialize(__0: ObjectDeserializerContext): void;
12369
12433
 
12370
12434
  /**
12371
12435
  * Create .stack property on a target object
@@ -12738,13 +12802,17 @@ declare namespace exports {
12738
12802
  hashFunction: string | typeof Hash;
12739
12803
  }
12740
12804
  ) => string;
12741
- export let replaceDuplicates: (
12742
- array?: any,
12743
- fn?: any,
12744
- comparator?: any
12745
- ) => any;
12746
- export let matchPart: (str?: any, test?: any) => any;
12747
- export let matchObject: (obj?: any, str?: any) => boolean;
12805
+ export let replaceDuplicates: <T>(
12806
+ array: T[],
12807
+ fn: (
12808
+ duplicateItem: T,
12809
+ duplicateItemIndex: number,
12810
+ numberOfTimesReplaced: number
12811
+ ) => T,
12812
+ comparator?: (firstElement: T, nextElement: T) => 0 | 1 | -1
12813
+ ) => T[];
12814
+ export let matchPart: (str: string, test: Matcher) => boolean;
12815
+ export let matchObject: (obj: MatchObject, str: string) => boolean;
12748
12816
  }
12749
12817
  export namespace RuntimeGlobals {
12750
12818
  export let require: "__webpack_require__";
@@ -13204,6 +13272,7 @@ declare namespace exports {
13204
13272
  Externals,
13205
13273
  FileCacheOptions,
13206
13274
  LibraryOptions,
13275
+ MemoryCacheOptions,
13207
13276
  ModuleOptions,
13208
13277
  ResolveOptionsWebpackOptions as ResolveOptions,
13209
13278
  RuleSetCondition,