webpack 5.93.0 → 5.94.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.
Files changed (343) hide show
  1. package/README.md +8 -5
  2. package/bin/webpack.js +6 -7
  3. package/hot/log.js +1 -2
  4. package/hot/only-dev-server.js +1 -1
  5. package/hot/poll.js +1 -1
  6. package/hot/signal.js +1 -1
  7. package/lib/APIPlugin.js +4 -3
  8. package/lib/AbstractMethodError.js +10 -5
  9. package/lib/AutomaticPrefetchPlugin.js +1 -1
  10. package/lib/BannerPlugin.js +12 -6
  11. package/lib/Cache.js +8 -10
  12. package/lib/CacheFacade.js +3 -3
  13. package/lib/CaseSensitiveModulesWarning.js +5 -7
  14. package/lib/Chunk.js +14 -11
  15. package/lib/ChunkGraph.js +58 -36
  16. package/lib/ChunkGroup.js +2 -3
  17. package/lib/ChunkTemplate.js +43 -0
  18. package/lib/CleanPlugin.js +10 -11
  19. package/lib/CodeGenerationResults.js +6 -5
  20. package/lib/CommentCompilationWarning.js +0 -1
  21. package/lib/Compilation.js +223 -191
  22. package/lib/Compiler.js +81 -82
  23. package/lib/ConcatenationScope.js +3 -6
  24. package/lib/ConditionalInitFragment.js +6 -7
  25. package/lib/ConstPlugin.js +7 -15
  26. package/lib/ContextExclusionPlugin.js +3 -3
  27. package/lib/ContextModule.js +33 -20
  28. package/lib/ContextModuleFactory.js +89 -44
  29. package/lib/ContextReplacementPlugin.js +10 -9
  30. package/lib/DefinePlugin.js +75 -68
  31. package/lib/DelegatedModule.js +7 -3
  32. package/lib/DelegatedModuleFactoryPlugin.js +36 -22
  33. package/lib/DelegatedPlugin.js +4 -0
  34. package/lib/DependenciesBlock.js +0 -1
  35. package/lib/Dependency.js +10 -14
  36. package/lib/DllEntryPlugin.js +4 -2
  37. package/lib/DllModuleFactory.js +1 -0
  38. package/lib/DllPlugin.js +9 -7
  39. package/lib/DllReferencePlugin.js +30 -15
  40. package/lib/EntryPlugin.js +1 -3
  41. package/lib/EnvironmentPlugin.js +5 -2
  42. package/lib/ErrorHelpers.js +11 -12
  43. package/lib/EvalDevToolModulePlugin.js +10 -12
  44. package/lib/EvalSourceMapDevToolPlugin.js +15 -13
  45. package/lib/ExportsInfo.js +185 -120
  46. package/lib/ExternalModule.js +104 -64
  47. package/lib/ExternalModuleFactoryPlugin.js +23 -10
  48. package/lib/FileSystemInfo.js +791 -422
  49. package/lib/FlagAllModulesAsUsedPlugin.js +1 -1
  50. package/lib/FlagDependencyExportsPlugin.js +12 -11
  51. package/lib/FlagDependencyUsagePlugin.js +1 -1
  52. package/lib/Generator.js +2 -5
  53. package/lib/GraphHelpers.js +3 -2
  54. package/lib/HookWebpackError.js +8 -10
  55. package/lib/HotModuleReplacementPlugin.js +78 -64
  56. package/lib/IgnoreErrorModuleFactory.js +3 -3
  57. package/lib/IgnorePlugin.js +1 -3
  58. package/lib/IgnoreWarningsPlugin.js +6 -9
  59. package/lib/InitFragment.js +2 -3
  60. package/lib/LibManifestPlugin.js +4 -3
  61. package/lib/MainTemplate.js +72 -19
  62. package/lib/Module.js +25 -9
  63. package/lib/ModuleBuildError.js +4 -11
  64. package/lib/ModuleDependencyError.js +5 -5
  65. package/lib/ModuleDependencyWarning.js +5 -5
  66. package/lib/ModuleError.js +1 -5
  67. package/lib/ModuleFilenameHelpers.js +29 -46
  68. package/lib/ModuleGraph.js +7 -6
  69. package/lib/ModuleGraphConnection.js +6 -6
  70. package/lib/ModuleInfoHeaderPlugin.js +82 -30
  71. package/lib/ModuleParseError.js +8 -9
  72. package/lib/ModuleRestoreError.js +1 -1
  73. package/lib/ModuleStoreError.js +1 -1
  74. package/lib/ModuleTemplate.js +33 -1
  75. package/lib/ModuleTypeConstants.js +21 -22
  76. package/lib/ModuleWarning.js +1 -5
  77. package/lib/MultiCompiler.js +24 -26
  78. package/lib/MultiStats.js +73 -31
  79. package/lib/MultiWatching.js +1 -1
  80. package/lib/NormalModule.js +126 -69
  81. package/lib/NormalModuleFactory.js +53 -49
  82. package/lib/OptimizationStages.js +3 -3
  83. package/lib/ProgressPlugin.js +9 -9
  84. package/lib/ProvidePlugin.js +4 -4
  85. package/lib/RuntimeGlobals.js +71 -70
  86. package/lib/RuntimeModule.js +1 -1
  87. package/lib/RuntimePlugin.js +24 -12
  88. package/lib/RuntimeTemplate.js +40 -44
  89. package/lib/SizeFormatHelpers.js +2 -4
  90. package/lib/SourceMapDevToolPlugin.js +42 -34
  91. package/lib/Stats.js +5 -11
  92. package/lib/Template.js +18 -24
  93. package/lib/TemplatedPathPlugin.js +12 -10
  94. package/lib/WarnDeprecatedOptionPlugin.js +0 -1
  95. package/lib/WatchIgnorePlugin.js +26 -9
  96. package/lib/Watching.js +10 -5
  97. package/lib/WebpackOptionsApply.js +84 -62
  98. package/lib/asset/AssetGenerator.js +107 -42
  99. package/lib/asset/AssetModulesPlugin.js +29 -23
  100. package/lib/asset/AssetSourceGenerator.js +2 -7
  101. package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
  102. package/lib/buildChunkGraph.js +14 -19
  103. package/lib/cache/IdleFileCachePlugin.js +4 -4
  104. package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
  105. package/lib/cache/PackFileCacheStrategy.js +51 -50
  106. package/lib/cache/ResolverCachePlugin.js +6 -6
  107. package/lib/cache/mergeEtags.js +16 -21
  108. package/lib/cli.js +148 -104
  109. package/lib/config/browserslistTargetHandler.js +16 -13
  110. package/lib/config/defaults.js +31 -28
  111. package/lib/config/normalization.js +335 -344
  112. package/lib/config/target.js +42 -52
  113. package/lib/container/ContainerEntryModule.js +2 -2
  114. package/lib/container/ContainerPlugin.js +1 -1
  115. package/lib/container/RemoteRuntimeModule.js +11 -8
  116. package/lib/container/options.js +18 -4
  117. package/lib/css/CssExportsGenerator.js +26 -24
  118. package/lib/css/CssGenerator.js +9 -4
  119. package/lib/css/CssLoadingRuntimeModule.js +10 -10
  120. package/lib/css/CssModulesPlugin.js +127 -47
  121. package/lib/css/CssParser.js +20 -18
  122. package/lib/css/walkCssTokens.js +80 -95
  123. package/lib/debug/ProfilingPlugin.js +19 -20
  124. package/lib/dependencies/AMDDefineDependency.js +1 -1
  125. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
  126. package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
  127. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
  128. package/lib/dependencies/AMDRuntimeModules.js +2 -2
  129. package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
  130. package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
  131. package/lib/dependencies/CommonJsExportsDependency.js +0 -1
  132. package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
  133. package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
  134. package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
  135. package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
  136. package/lib/dependencies/ConstDependency.js +1 -1
  137. package/lib/dependencies/ContextDependency.js +1 -1
  138. package/lib/dependencies/ContextDependencyHelpers.js +31 -34
  139. package/lib/dependencies/ContextElementDependency.js +2 -2
  140. package/lib/dependencies/CriticalDependencyWarning.js +1 -1
  141. package/lib/dependencies/CssExportDependency.js +7 -7
  142. package/lib/dependencies/CssImportDependency.js +0 -2
  143. package/lib/dependencies/CssLocalIdentifierDependency.js +3 -3
  144. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
  145. package/lib/dependencies/CssUrlDependency.js +4 -5
  146. package/lib/dependencies/DynamicExports.js +5 -5
  147. package/lib/dependencies/ExportsInfoDependency.js +1 -2
  148. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
  149. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
  150. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
  151. package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
  152. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
  153. package/lib/dependencies/HarmonyExports.js +2 -2
  154. package/lib/dependencies/HarmonyImportDependency.js +2 -4
  155. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
  156. package/lib/dependencies/HarmonyImportSpecifierDependency.js +40 -15
  157. package/lib/dependencies/ImportDependency.js +1 -1
  158. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
  159. package/lib/dependencies/ImportMetaPlugin.js +11 -13
  160. package/lib/dependencies/ImportParserPlugin.js +39 -44
  161. package/lib/dependencies/JsonExportsDependency.js +22 -18
  162. package/lib/dependencies/LoaderPlugin.js +47 -36
  163. package/lib/dependencies/LocalModule.js +1 -1
  164. package/lib/dependencies/LocalModulesHelpers.js +4 -4
  165. package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
  166. package/lib/dependencies/ProvidedDependency.js +1 -1
  167. package/lib/dependencies/PureExpressionDependency.js +6 -6
  168. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
  169. package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
  170. package/lib/dependencies/SystemPlugin.js +1 -1
  171. package/lib/dependencies/URLDependency.js +3 -3
  172. package/lib/dependencies/URLPlugin.js +66 -12
  173. package/lib/dependencies/WorkerPlugin.js +25 -24
  174. package/lib/dependencies/processExportInfo.js +3 -1
  175. package/lib/electron/ElectronTargetPlugin.js +1 -0
  176. package/lib/esm/ModuleChunkFormatPlugin.js +3 -3
  177. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
  178. package/lib/formatLocation.js +1 -2
  179. package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
  180. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  181. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
  182. package/lib/hmr/LazyCompilationPlugin.js +27 -12
  183. package/lib/hmr/lazyCompilationBackend.js +64 -40
  184. package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
  185. package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
  186. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  187. package/lib/ids/HashedModuleIdsPlugin.js +5 -1
  188. package/lib/ids/IdHelpers.js +29 -39
  189. package/lib/ids/SyncModuleIdsPlugin.js +7 -2
  190. package/lib/index.js +1 -5
  191. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -4
  192. package/lib/javascript/BasicEvaluatedExpression.js +4 -19
  193. package/lib/javascript/ChunkHelpers.js +1 -1
  194. package/lib/javascript/CommonJsChunkFormatPlugin.js +3 -2
  195. package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
  196. package/lib/javascript/JavascriptGenerator.js +23 -7
  197. package/lib/javascript/JavascriptModulesPlugin.js +91 -69
  198. package/lib/javascript/JavascriptParser.js +179 -200
  199. package/lib/javascript/JavascriptParserHelpers.js +20 -21
  200. package/lib/javascript/StartupHelpers.js +41 -13
  201. package/lib/json/JsonGenerator.js +7 -13
  202. package/lib/json/JsonModulesPlugin.js +1 -4
  203. package/lib/json/JsonParser.js +5 -3
  204. package/lib/library/AmdLibraryPlugin.js +12 -16
  205. package/lib/library/AssignLibraryPlugin.js +8 -10
  206. package/lib/library/EnableLibraryPlugin.js +15 -14
  207. package/lib/library/JsonpLibraryPlugin.js +2 -1
  208. package/lib/library/ModernModuleLibraryPlugin.js +8 -6
  209. package/lib/library/ModuleLibraryPlugin.js +2 -1
  210. package/lib/library/SystemLibraryPlugin.js +2 -1
  211. package/lib/library/UmdLibraryPlugin.js +66 -92
  212. package/lib/logging/Logger.js +32 -4
  213. package/lib/logging/createConsoleLogger.js +12 -13
  214. package/lib/logging/runtime.js +7 -8
  215. package/lib/logging/truncateArgs.js +5 -8
  216. package/lib/node/NodeWatchFileSystem.js +3 -18
  217. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
  218. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
  219. package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
  220. package/lib/node/nodeConsole.js +22 -22
  221. package/lib/optimize/AggressiveMergingPlugin.js +2 -4
  222. package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
  223. package/lib/optimize/ConcatenatedModule.js +80 -48
  224. package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
  225. package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
  226. package/lib/optimize/InnerGraph.js +17 -17
  227. package/lib/optimize/InnerGraphPlugin.js +8 -7
  228. package/lib/optimize/LimitChunkCountPlugin.js +2 -3
  229. package/lib/optimize/MangleExportsPlugin.js +1 -0
  230. package/lib/optimize/MinMaxSizeWarning.js +1 -1
  231. package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
  232. package/lib/optimize/RealContentHashPlugin.js +7 -10
  233. package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
  234. package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
  235. package/lib/optimize/SplitChunksPlugin.js +34 -30
  236. package/lib/performance/SizeLimitsPlugin.js +2 -2
  237. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
  238. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
  239. package/lib/rules/BasicEffectRulePlugin.js +3 -1
  240. package/lib/rules/BasicMatcherRulePlugin.js +3 -1
  241. package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
  242. package/lib/rules/RuleSetCompiler.js +41 -22
  243. package/lib/rules/UseEffectRulePlugin.js +36 -32
  244. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
  245. package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
  246. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  247. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
  248. package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
  249. package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
  250. package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
  251. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
  252. package/lib/schemes/DataUriPlugin.js +1 -1
  253. package/lib/schemes/HttpUriPlugin.js +241 -126
  254. package/lib/serialization/BinaryMiddleware.js +44 -28
  255. package/lib/serialization/DateObjectSerializer.js +1 -0
  256. package/lib/serialization/ErrorObjectSerializer.js +2 -0
  257. package/lib/serialization/FileMiddleware.js +154 -106
  258. package/lib/serialization/MapObjectSerializer.js +2 -1
  259. package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
  260. package/lib/serialization/ObjectMiddleware.js +52 -56
  261. package/lib/serialization/PlainObjectSerializer.js +32 -6
  262. package/lib/serialization/RegExpObjectSerializer.js +1 -0
  263. package/lib/serialization/Serializer.js +4 -5
  264. package/lib/serialization/SerializerMiddleware.js +6 -6
  265. package/lib/serialization/SetObjectSerializer.js +2 -1
  266. package/lib/sharing/ConsumeSharedPlugin.js +116 -97
  267. package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
  268. package/lib/sharing/ProvideForSharedDependency.js +0 -1
  269. package/lib/sharing/ProvideSharedPlugin.js +2 -2
  270. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  271. package/lib/sharing/utils.js +15 -27
  272. package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
  273. package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
  274. package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
  275. package/lib/stats/StatsFactory.js +127 -56
  276. package/lib/stats/StatsPrinter.js +75 -44
  277. package/lib/util/ArrayHelpers.js +8 -4
  278. package/lib/util/ArrayQueue.js +1 -1
  279. package/lib/util/AsyncQueue.js +31 -12
  280. package/lib/util/IterableHelpers.js +3 -4
  281. package/lib/util/LazyBucketSortedSet.js +60 -44
  282. package/lib/util/LazySet.js +1 -0
  283. package/lib/util/MapHelpers.js +1 -3
  284. package/lib/util/ParallelismFactorCalculator.js +1 -1
  285. package/lib/util/Queue.js +1 -1
  286. package/lib/util/Semaphore.js +4 -7
  287. package/lib/util/SetHelpers.js +5 -5
  288. package/lib/util/SortableSet.js +4 -3
  289. package/lib/util/StackedCacheMap.js +4 -6
  290. package/lib/util/StackedMap.js +1 -3
  291. package/lib/util/StringXor.js +0 -5
  292. package/lib/util/TupleQueue.js +1 -1
  293. package/lib/util/TupleSet.js +15 -5
  294. package/lib/util/URLAbsoluteSpecifier.js +7 -7
  295. package/lib/util/WeakTupleMap.js +19 -21
  296. package/lib/util/binarySearchBounds.js +5 -12
  297. package/lib/util/chainedImports.js +1 -1
  298. package/lib/util/cleverMerge.js +21 -19
  299. package/lib/util/comparators.js +57 -52
  300. package/lib/util/compileBooleanMatcher.js +3 -6
  301. package/lib/util/conventions.js +8 -11
  302. package/lib/util/createHash.js +9 -6
  303. package/lib/util/deprecation.js +22 -12
  304. package/lib/util/deterministicGrouping.js +19 -26
  305. package/lib/util/findGraphRoots.js +2 -2
  306. package/lib/util/fs.js +31 -31
  307. package/lib/util/hash/md4.js +2 -2
  308. package/lib/util/hash/wasm-hash.js +7 -7
  309. package/lib/util/hash/xxhash64.js +2 -2
  310. package/lib/util/identifier.js +81 -59
  311. package/lib/util/memoize.js +8 -10
  312. package/lib/util/mergeScope.js +6 -9
  313. package/lib/util/nonNumericOnlyHash.js +2 -2
  314. package/lib/util/numberHash.js +1 -6
  315. package/lib/util/objectToMap.js +0 -1
  316. package/lib/util/propertyAccess.js +2 -5
  317. package/lib/util/propertyName.js +1 -3
  318. package/lib/util/registerExternalSerializer.js +1 -1
  319. package/lib/util/runtime.js +103 -113
  320. package/lib/util/semver.js +29 -27
  321. package/lib/util/serialization.js +16 -1
  322. package/lib/util/smartGrouping.js +5 -5
  323. package/lib/util/source.js +1 -1
  324. package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
  325. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
  326. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
  327. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
  328. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
  329. package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
  330. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
  331. package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
  332. package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
  333. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
  334. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
  335. package/package.json +15 -14
  336. package/schemas/WebpackOptions.check.js +1 -1
  337. package/schemas/WebpackOptions.json +1 -0
  338. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  339. package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
  340. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  341. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  342. package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
  343. package/types.d.ts +667 -347
package/types.d.ts CHANGED
@@ -99,10 +99,12 @@ import {
99
99
  AsyncSeriesHook,
100
100
  AsyncSeriesWaterfallHook,
101
101
  HookMap,
102
+ IfSet,
102
103
  MultiHook,
103
104
  SyncBailHook,
104
105
  SyncHook,
105
- SyncWaterfallHook
106
+ SyncWaterfallHook,
107
+ TapOptions
106
108
  } from "tapable";
107
109
  import { SecureContextOptions, TlsOptions } from "tls";
108
110
  import { URL } from "url";
@@ -219,6 +221,7 @@ declare interface AggressiveSplittingPluginOptions {
219
221
  */
220
222
  minSize?: number;
221
223
  }
224
+ type Algorithm = string | typeof Hash;
222
225
  type Alias = string | false | string[];
223
226
  declare interface AliasOption {
224
227
  alias: Alias;
@@ -230,13 +233,13 @@ declare interface AliasOptions {
230
233
  [index: string]: AliasOptionNewRequest;
231
234
  }
232
235
  declare interface Argument {
233
- description: string;
234
- simpleType: "string" | "number" | "boolean";
236
+ description?: string;
237
+ simpleType: SimpleType;
235
238
  multiple: boolean;
236
239
  configs: ArgumentConfig[];
237
240
  }
238
241
  declare interface ArgumentConfig {
239
- description: string;
242
+ description?: string;
240
243
  negatedDescription?: string;
241
244
  path: string;
242
245
  multiple: boolean;
@@ -400,7 +403,9 @@ declare abstract class AsyncQueue<T, K, R> {
400
403
  added: SyncHook<[T]>;
401
404
  beforeStart: AsyncSeriesHook<[T]>;
402
405
  started: SyncHook<[T]>;
403
- result: SyncHook<[T, Error, R]>;
406
+ result: SyncHook<
407
+ [T, undefined | null | WebpackError, undefined | null | R]
408
+ >;
404
409
  };
405
410
  add(item: T, callback: CallbackAsyncQueue<R>): void;
406
411
  invalidate(item: T): void;
@@ -450,8 +455,8 @@ declare class AutomaticPrefetchPlugin {
450
455
  }
451
456
  type AuxiliaryComment = string | LibraryCustomUmdCommentObject;
452
457
  declare interface BackendApi {
453
- dispose: (arg0?: Error) => void;
454
- module: (arg0: Module) => { client: string; data: string; active: boolean };
458
+ dispose: (arg0: (arg0?: null | Error) => void) => void;
459
+ module: (arg0: Module) => ModuleResult;
455
460
  }
456
461
  declare class BannerPlugin {
457
462
  constructor(options: BannerPluginArgument);
@@ -576,6 +581,7 @@ declare abstract class BasicEvaluatedExpression {
576
581
  | ThisExpression
577
582
  | UpdateExpression
578
583
  | YieldExpression
584
+ | SpreadElement
579
585
  | FunctionDeclaration
580
586
  | VariableDeclaration
581
587
  | ClassDeclaration
@@ -613,7 +619,6 @@ declare abstract class BasicEvaluatedExpression {
613
619
  | ArrayPattern
614
620
  | RestElement
615
621
  | AssignmentPattern
616
- | SpreadElement
617
622
  | Property
618
623
  | AssignmentProperty
619
624
  | ClassBody
@@ -799,6 +804,7 @@ declare abstract class BasicEvaluatedExpression {
799
804
  | ThisExpression
800
805
  | UpdateExpression
801
806
  | YieldExpression
807
+ | SpreadElement
802
808
  | FunctionDeclaration
803
809
  | VariableDeclaration
804
810
  | ClassDeclaration
@@ -836,7 +842,6 @@ declare abstract class BasicEvaluatedExpression {
836
842
  | ArrayPattern
837
843
  | RestElement
838
844
  | AssignmentPattern
839
- | SpreadElement
840
845
  | Property
841
846
  | AssignmentProperty
842
847
  | ClassBody
@@ -848,6 +853,13 @@ declare abstract class BasicEvaluatedExpression {
848
853
  | TemplateElement
849
854
  ): BasicEvaluatedExpression;
850
855
  }
856
+ declare interface Bootstrap {
857
+ header: string[];
858
+ beforeStartup: string[];
859
+ startup: string[];
860
+ afterStartup: string[];
861
+ allowInlineStartup: boolean;
862
+ }
851
863
  type BufferEncoding =
852
864
  | "ascii"
853
865
  | "utf8"
@@ -996,7 +1008,7 @@ declare interface CallExpressionInfo {
996
1008
  getMemberRanges: () => [number, number][];
997
1009
  }
998
1010
  declare interface CallbackAsyncQueue<T> {
999
- (err?: null | WebpackError, result?: T): any;
1011
+ (err?: null | WebpackError, result?: null | T): any;
1000
1012
  }
1001
1013
  declare interface CallbackCacheCache<T> {
1002
1014
  (err: null | WebpackError, result?: T): void;
@@ -1183,7 +1195,7 @@ declare class ChunkGraph {
1183
1195
  connectChunkAndEntryModule(
1184
1196
  chunk: Chunk,
1185
1197
  module: Module,
1186
- entrypoint?: Entrypoint
1198
+ entrypoint: Entrypoint
1187
1199
  ): void;
1188
1200
  connectChunkAndRuntimeModule(chunk: Chunk, module: RuntimeModule): void;
1189
1201
  addFullHashModuleToChunk(chunk: Chunk, module: RuntimeModule): void;
@@ -1217,7 +1229,7 @@ declare class ChunkGraph {
1217
1229
  chunkGroup: ChunkGroup
1218
1230
  ): void;
1219
1231
  disconnectChunkGroup(chunkGroup: ChunkGroup): void;
1220
- getModuleId(module: Module): ModuleId;
1232
+ getModuleId(module: Module): null | string | number;
1221
1233
  setModuleId(module: Module, id: ModuleId): void;
1222
1234
  getRuntimeId(runtime: string): string | number;
1223
1235
  setRuntimeId(runtime: string, id: string | number): void;
@@ -1332,7 +1344,11 @@ declare abstract class ChunkGroup {
1332
1344
  hasBlock(block: AsyncDependenciesBlock): boolean;
1333
1345
  get blocksIterable(): Iterable<AsyncDependenciesBlock>;
1334
1346
  addBlock(block: AsyncDependenciesBlock): boolean;
1335
- addOrigin(module: Module, loc: DependencyLocation, request: string): void;
1347
+ addOrigin(
1348
+ module: null | Module,
1349
+ loc: DependencyLocation,
1350
+ request: string
1351
+ ): void;
1336
1352
  getFiles(): string[];
1337
1353
  remove(): void;
1338
1354
  sortItems(): void;
@@ -1483,7 +1499,7 @@ declare interface ChunkRenderContext {
1483
1499
  /**
1484
1500
  * rendering in strict context
1485
1501
  */
1486
- strictMode: boolean;
1502
+ strictMode?: boolean;
1487
1503
  }
1488
1504
  declare interface ChunkSizeOptions {
1489
1505
  /**
@@ -1498,12 +1514,57 @@ declare interface ChunkSizeOptions {
1498
1514
  }
1499
1515
  declare abstract class ChunkTemplate {
1500
1516
  hooks: Readonly<{
1501
- renderManifest: { tap: (options?: any, fn?: any) => void };
1502
- modules: { tap: (options?: any, fn?: any) => void };
1503
- render: { tap: (options?: any, fn?: any) => void };
1504
- renderWithEntry: { tap: (options?: any, fn?: any) => void };
1505
- hash: { tap: (options?: any, fn?: any) => void };
1506
- hashForChunk: { tap: (options?: any, fn?: any) => void };
1517
+ renderManifest: {
1518
+ tap: <AdditionalOptions>(
1519
+ options:
1520
+ | string
1521
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
1522
+ fn: (
1523
+ arg0: RenderManifestEntry[],
1524
+ arg1: RenderManifestOptions
1525
+ ) => RenderManifestEntry[]
1526
+ ) => void;
1527
+ };
1528
+ modules: {
1529
+ tap: <AdditionalOptions>(
1530
+ options:
1531
+ | string
1532
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
1533
+ fn: (arg0: Source, arg1: ModuleTemplate, arg2: RenderContext) => Source
1534
+ ) => void;
1535
+ };
1536
+ render: {
1537
+ tap: <AdditionalOptions>(
1538
+ options:
1539
+ | string
1540
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
1541
+ fn: (arg0: Source, arg1: ModuleTemplate, arg2: RenderContext) => Source
1542
+ ) => void;
1543
+ };
1544
+ renderWithEntry: {
1545
+ tap: <AdditionalOptions>(
1546
+ options:
1547
+ | string
1548
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
1549
+ fn: (arg0: Source, arg1: Chunk) => Source
1550
+ ) => void;
1551
+ };
1552
+ hash: {
1553
+ tap: <AdditionalOptions>(
1554
+ options:
1555
+ | string
1556
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
1557
+ fn: (arg0: Hash) => void
1558
+ ) => void;
1559
+ };
1560
+ hashForChunk: {
1561
+ tap: <AdditionalOptions>(
1562
+ options:
1563
+ | string
1564
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
1565
+ fn: (arg0: Hash, arg1: Chunk, arg2: ChunkHashContext) => void
1566
+ ) => void;
1567
+ };
1507
1568
  }>;
1508
1569
  get outputOptions(): Output;
1509
1570
  }
@@ -1609,7 +1670,7 @@ declare interface CodeGenerationResult {
1609
1670
  /**
1610
1671
  * the runtime requirements
1611
1672
  */
1612
- runtimeRequirements: ReadonlySet<string>;
1673
+ runtimeRequirements: null | ReadonlySet<string>;
1613
1674
 
1614
1675
  /**
1615
1676
  * a hash of the code generation result (will be automatically calculated from sources and runtimeRequirements if not provided)
@@ -1711,10 +1772,10 @@ declare class Compilation {
1711
1772
  * inspect, analyze, and/or modify the chunk graph.
1712
1773
  */
1713
1774
  afterChunks: SyncHook<[Iterable<Chunk>]>;
1714
- optimizeDependencies: SyncBailHook<[Iterable<Module>], any>;
1775
+ optimizeDependencies: SyncBailHook<[Iterable<Module>], boolean | void>;
1715
1776
  afterOptimizeDependencies: SyncHook<[Iterable<Module>]>;
1716
1777
  optimize: SyncHook<[]>;
1717
- optimizeModules: SyncBailHook<[Iterable<Module>], any>;
1778
+ optimizeModules: SyncBailHook<[Iterable<Module>], boolean | void>;
1718
1779
  afterOptimizeModules: SyncHook<[Iterable<Module>]>;
1719
1780
  optimizeChunks: SyncBailHook<
1720
1781
  [Iterable<Chunk>, ChunkGroup[]],
@@ -1739,13 +1800,13 @@ declare class Compilation {
1739
1800
  [Module, Set<string>, RuntimeRequirementsContext]
1740
1801
  >;
1741
1802
  runtimeRequirementInModule: HookMap<
1742
- SyncBailHook<[Module, Set<string>, RuntimeRequirementsContext], any>
1803
+ SyncBailHook<[Module, Set<string>, RuntimeRequirementsContext], void>
1743
1804
  >;
1744
1805
  additionalTreeRuntimeRequirements: SyncHook<
1745
1806
  [Chunk, Set<string>, RuntimeRequirementsContext]
1746
1807
  >;
1747
1808
  runtimeRequirementInTree: HookMap<
1748
- SyncBailHook<[Chunk, Set<string>, RuntimeRequirementsContext], any>
1809
+ SyncBailHook<[Chunk, Set<string>, RuntimeRequirementsContext], void>
1749
1810
  >;
1750
1811
  runtimeModule: SyncHook<[RuntimeModule, Chunk]>;
1751
1812
  reviveModules: SyncHook<[Iterable<Module>, any]>;
@@ -1830,7 +1891,9 @@ declare class Compilation {
1830
1891
  >;
1831
1892
  statsFactory: SyncHook<[StatsFactory, NormalizedStatsOptions]>;
1832
1893
  statsPrinter: SyncHook<[StatsPrinter, NormalizedStatsOptions]>;
1833
- get normalModuleLoader(): SyncHook<[object, NormalModule]>;
1894
+ get normalModuleLoader(): SyncHook<
1895
+ [LoaderContextNormalModule<any>, NormalModule]
1896
+ >;
1834
1897
  }>;
1835
1898
  name?: string;
1836
1899
  startTime?: number;
@@ -1839,7 +1902,7 @@ declare class Compilation {
1839
1902
  resolverFactory: ResolverFactory;
1840
1903
  inputFileSystem: InputFileSystem;
1841
1904
  fileSystemInfo: FileSystemInfo;
1842
- valueCacheVersions: Map<string, string | Set<string>>;
1905
+ valueCacheVersions: Map<string, ValueCacheVersion>;
1843
1906
  requestShortener: RequestShortener;
1844
1907
  compilerPath: string;
1845
1908
  logger: WebpackLogger;
@@ -1892,7 +1955,7 @@ declare class Compilation {
1892
1955
  logging: Map<string, LogEntry[]>;
1893
1956
  dependencyFactories: Map<DepConstructor, ModuleFactory>;
1894
1957
  dependencyTemplates: DependencyTemplates;
1895
- childrenCounters: object;
1958
+ childrenCounters: Record<string, number>;
1896
1959
  usedChunkIds: Set<string | number>;
1897
1960
  usedModuleIds: Set<number>;
1898
1961
  needAdditionalPass: boolean;
@@ -1917,7 +1980,7 @@ declare class Compilation {
1917
1980
  getLogger(name: string | (() => string)): WebpackLogger;
1918
1981
  addModule(
1919
1982
  module: Module,
1920
- callback: (err?: null | WebpackError, result?: Module) => void
1983
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1921
1984
  ): void;
1922
1985
 
1923
1986
  /**
@@ -1935,21 +1998,21 @@ declare class Compilation {
1935
1998
  */
1936
1999
  buildModule(
1937
2000
  module: Module,
1938
- callback: (err?: null | WebpackError, result?: Module) => void
2001
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1939
2002
  ): void;
1940
2003
  processModuleDependencies(
1941
2004
  module: Module,
1942
- callback: (err?: null | WebpackError, result?: Module) => void
2005
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1943
2006
  ): void;
1944
2007
  processModuleDependenciesNonRecursive(module: Module): void;
1945
2008
  handleModuleCreation(
1946
2009
  __0: HandleModuleCreationOptions,
1947
- callback: (err?: null | WebpackError, result?: Module) => void
2010
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1948
2011
  ): void;
1949
2012
  addModuleChain(
1950
2013
  context: string,
1951
2014
  dependency: Dependency,
1952
- callback: (err?: null | WebpackError, result?: Module) => void
2015
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1953
2016
  ): void;
1954
2017
  addModuleTree(
1955
2018
  __0: {
@@ -1966,23 +2029,23 @@ declare class Compilation {
1966
2029
  */
1967
2030
  contextInfo?: Partial<ModuleFactoryCreateDataContextInfo>;
1968
2031
  },
1969
- callback: (err?: null | WebpackError, result?: Module) => void
2032
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1970
2033
  ): void;
1971
2034
  addEntry(
1972
2035
  context: string,
1973
2036
  entry: Dependency,
1974
2037
  optionsOrName: string | EntryOptions,
1975
- callback: (err?: null | WebpackError, result?: Module) => void
2038
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1976
2039
  ): void;
1977
2040
  addInclude(
1978
2041
  context: string,
1979
2042
  dependency: Dependency,
1980
2043
  options: EntryOptions,
1981
- callback: (err?: null | WebpackError, result?: Module) => void
2044
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1982
2045
  ): void;
1983
2046
  rebuildModule(
1984
2047
  module: Module,
1985
- callback: (err?: null | WebpackError, result?: Module) => void
2048
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1986
2049
  ): void;
1987
2050
  finish(callback: (err?: null | WebpackError) => void): void;
1988
2051
  unseal(): void;
@@ -2079,22 +2142,16 @@ declare class Compilation {
2079
2142
  createModuleAssets(): void;
2080
2143
  getRenderManifest(options: RenderManifestOptions): RenderManifestEntry[];
2081
2144
  createChunkAssets(callback: (err?: null | WebpackError) => void): void;
2082
- getPath(
2083
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2084
- data?: PathData
2085
- ): string;
2145
+ getPath(filename: TemplatePath, data?: PathData): string;
2086
2146
  getPathWithInfo(
2087
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2147
+ filename: TemplatePath,
2088
2148
  data?: PathData
2089
- ): { path: string; info: AssetInfo };
2090
- getAssetPath(
2091
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2092
- data: PathData
2093
- ): string;
2149
+ ): InterpolatedPathAndAssetInfo;
2150
+ getAssetPath(filename: TemplatePath, data: PathData): string;
2094
2151
  getAssetPathWithInfo(
2095
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2152
+ filename: TemplatePath,
2096
2153
  data: PathData
2097
- ): { path: string; info: AssetInfo };
2154
+ ): InterpolatedPathAndAssetInfo;
2098
2155
  getWarnings(): WebpackError[];
2099
2156
  getErrors(): WebpackError[];
2100
2157
 
@@ -2114,13 +2171,13 @@ declare class Compilation {
2114
2171
  executeModule(
2115
2172
  module: Module,
2116
2173
  options: ExecuteModuleOptions,
2117
- callback: (err?: null | WebpackError, result?: ExecuteModuleResult) => void
2174
+ callback: (err: null | WebpackError, result?: ExecuteModuleResult) => void
2118
2175
  ): void;
2119
2176
  checkConstraints(): void;
2120
2177
  factorizeModule: {
2121
2178
  (
2122
2179
  options: FactorizeModuleOptions & { factoryResult?: false },
2123
- callback: (err?: null | WebpackError, result?: Module) => void
2180
+ callback: (err?: null | WebpackError, result?: null | Module) => void
2124
2181
  ): void;
2125
2182
  (
2126
2183
  options: FactorizeModuleOptions & { factoryResult: true },
@@ -2277,7 +2334,7 @@ declare class Compiler {
2277
2334
  invalid: SyncHook<[null | string, number]>;
2278
2335
  watchClose: SyncHook<[]>;
2279
2336
  shutdown: AsyncSeriesHook<[]>;
2280
- infrastructureLog: SyncBailHook<[string, string, any[]], true>;
2337
+ infrastructureLog: SyncBailHook<[string, string, undefined | any[]], true>;
2281
2338
  environment: SyncHook<[]>;
2282
2339
  afterEnvironment: SyncHook<[]>;
2283
2340
  afterPlugins: SyncHook<[Compiler]>;
@@ -2309,7 +2366,11 @@ declare class Compiler {
2309
2366
  >;
2310
2367
  fsStartTime?: number;
2311
2368
  resolverFactory: ResolverFactory;
2312
- infrastructureLogger?: (arg0: string, arg1: LogTypeEnum, arg2: any[]) => void;
2369
+ infrastructureLogger?: (
2370
+ arg0: string,
2371
+ arg1: LogTypeEnum,
2372
+ arg2?: any[]
2373
+ ) => void;
2313
2374
  platform: Readonly<PlatformTargetProperties>;
2314
2375
  options: WebpackOptionsNormalized;
2315
2376
  context: string;
@@ -2515,6 +2576,7 @@ declare interface Configuration {
2515
2576
  | "jsonp"
2516
2577
  | "system"
2517
2578
  | "promise"
2579
+ | "module-import"
2518
2580
  | "script"
2519
2581
  | "node-commonjs";
2520
2582
 
@@ -2768,9 +2830,7 @@ declare interface ConsumesConfig {
2768
2830
  declare interface ConsumesObject {
2769
2831
  [index: string]: string | ConsumesConfig;
2770
2832
  }
2771
- type ContainerOptionsFormat<T> =
2772
- | Record<string, string | string[] | T>
2773
- | (string | Record<string, string | string[] | T>)[];
2833
+ type ContainerOptionsFormat<T> = Item<T> | (string | Item<T>)[];
2774
2834
  declare class ContainerPlugin {
2775
2835
  constructor(options: ContainerPluginOptions);
2776
2836
 
@@ -2834,8 +2894,12 @@ declare interface ContainerReferencePluginOptions {
2834
2894
  */
2835
2895
  shareScope?: string;
2836
2896
  }
2897
+ declare interface ContextAlternativeRequest {
2898
+ context: string;
2899
+ request: string;
2900
+ }
2837
2901
  declare abstract class ContextElementDependency extends ModuleDependency {
2838
- referencedExports?: string[][];
2902
+ referencedExports?: null | string[][];
2839
2903
  }
2840
2904
  declare class ContextExclusionPlugin {
2841
2905
  constructor(negativeMatcher: RegExp);
@@ -2871,12 +2935,12 @@ declare abstract class ContextModuleFactory extends ModuleFactory {
2871
2935
  contextModuleFiles: SyncWaterfallHook<[string[]]>;
2872
2936
  alternatives: FakeHook<
2873
2937
  Pick<
2874
- AsyncSeriesWaterfallHook<[any[]]>,
2938
+ AsyncSeriesWaterfallHook<[ContextAlternativeRequest[]]>,
2875
2939
  "name" | "tap" | "tapAsync" | "tapPromise"
2876
2940
  >
2877
2941
  >;
2878
2942
  alternativeRequests: AsyncSeriesWaterfallHook<
2879
- [any[], ContextModuleOptions]
2943
+ [ContextAlternativeRequest[], ContextModuleOptions]
2880
2944
  >;
2881
2945
  }>;
2882
2946
  resolverFactory: ResolverFactory;
@@ -2884,7 +2948,7 @@ declare abstract class ContextModuleFactory extends ModuleFactory {
2884
2948
  fs: InputFileSystem,
2885
2949
  options: ContextModuleOptions,
2886
2950
  callback: (
2887
- err?: null | Error,
2951
+ err: null | Error,
2888
2952
  dependencies?: ContextElementDependency[]
2889
2953
  ) => any
2890
2954
  ): void;
@@ -2919,14 +2983,14 @@ declare class ContextReplacementPlugin {
2919
2983
  resourceRegExp: RegExp,
2920
2984
  newContentResource?: any,
2921
2985
  newContentRecursive?: any,
2922
- newContentRegExp?: any
2986
+ newContentRegExp?: RegExp
2923
2987
  );
2924
2988
  resourceRegExp: RegExp;
2925
2989
  newContentCallback: any;
2926
2990
  newContentResource: any;
2927
2991
  newContentCreateContextMap: any;
2928
2992
  newContentRecursive: any;
2929
- newContentRegExp: any;
2993
+ newContentRegExp?: RegExp;
2930
2994
 
2931
2995
  /**
2932
2996
  * Apply the plugin
@@ -2940,8 +3004,8 @@ declare interface ContextTimestampAndHash {
2940
3004
  resolved?: ResolvedContextTimestampAndHash;
2941
3005
  symlinks?: Set<string>;
2942
3006
  }
2943
- type CreateStatsOptionsContext = KnownCreateStatsOptionsContext &
2944
- Record<string, any>;
3007
+ type CreateStatsOptionsContext = Record<string, any> &
3008
+ KnownCreateStatsOptionsContext;
2945
3009
  type CreateWriteStreamFSImplementation = FSImplementation & {
2946
3010
  write: (...args: any[]) => any;
2947
3011
  close?: (...args: any[]) => any;
@@ -3115,14 +3179,14 @@ declare class DefinePlugin {
3115
3179
  fn: (arg0: {
3116
3180
  module: NormalModule;
3117
3181
  key: string;
3118
- readonly version?: string;
3182
+ readonly version: ValueCacheVersion;
3119
3183
  }) => CodeValuePrimitive,
3120
3184
  options?: true | string[] | RuntimeValueOptions
3121
3185
  ): RuntimeValue;
3122
3186
  }
3123
3187
  declare class DelegatedPlugin {
3124
- constructor(options?: any);
3125
- options: any;
3188
+ constructor(options: Options);
3189
+ options: Options;
3126
3190
 
3127
3191
  /**
3128
3192
  * Apply the plugin
@@ -3619,6 +3683,9 @@ declare interface Effect {
3619
3683
  type: string;
3620
3684
  value: any;
3621
3685
  }
3686
+ declare interface EffectData {
3687
+ [index: string]: any;
3688
+ }
3622
3689
  declare class ElectronTargetPlugin {
3623
3690
  constructor(context?: "main" | "preload" | "renderer");
3624
3691
 
@@ -3859,8 +3926,7 @@ type EntryOptions = { name?: string } & Omit<
3859
3926
  >;
3860
3927
  declare class EntryPlugin {
3861
3928
  /**
3862
- * An entry plugin which will handle
3863
- * creation of the EntryDependency
3929
+ * An entry plugin which will handle creation of the EntryDependency
3864
3930
  */
3865
3931
  constructor(context: string, entry: string, options?: string | EntryOptions);
3866
3932
  context: string;
@@ -3982,9 +4048,9 @@ declare interface Environment {
3982
4048
  templateLiteral?: boolean;
3983
4049
  }
3984
4050
  declare class EnvironmentPlugin {
3985
- constructor(...keys: any[]);
3986
- keys: any[];
3987
- defaultValues: any;
4051
+ constructor(...keys: (string | string[] | Record<string, string>)[]);
4052
+ keys: string[];
4053
+ defaultValues: Record<string, string>;
3988
4054
 
3989
4055
  /**
3990
4056
  * Apply the plugin
@@ -4190,7 +4256,7 @@ declare abstract class ExportInfo {
4190
4256
  setTarget(
4191
4257
  key: any,
4192
4258
  connection: ModuleGraphConnection,
4193
- exportName?: string[],
4259
+ exportName?: null | string[],
4194
4260
  priority?: number
4195
4261
  ): boolean;
4196
4262
  getUsed(runtime: RuntimeSpec): UsageStateType;
@@ -4210,42 +4276,30 @@ declare abstract class ExportInfo {
4210
4276
  setUsedName(name: string): void;
4211
4277
  getTerminalBinding(
4212
4278
  moduleGraph: ModuleGraph,
4213
- resolveTargetFilter?: (arg0: {
4214
- module: Module;
4215
- export?: string[];
4216
- }) => boolean
4279
+ resolveTargetFilter?: (arg0: TargetItem) => boolean
4217
4280
  ): undefined | ExportsInfo | ExportInfo;
4218
4281
  isReexport(): undefined | boolean;
4219
4282
  findTarget(
4220
4283
  moduleGraph: ModuleGraph,
4221
4284
  validTargetModuleFilter: (arg0: Module) => boolean
4222
- ): undefined | false | { module: Module; export?: string[] };
4285
+ ): undefined | null | false | TargetItemWithoutConnection;
4223
4286
  getTarget(
4224
4287
  moduleGraph: ModuleGraph,
4225
- resolveTargetFilter?: (arg0: {
4226
- module: Module;
4227
- export?: string[];
4228
- }) => boolean
4229
- ): undefined | { module: Module; export?: string[] };
4288
+ resolveTargetFilter?: (arg0: TargetItem) => boolean
4289
+ ): undefined | TargetItem;
4230
4290
 
4231
4291
  /**
4232
4292
  * Move the target forward as long resolveTargetFilter is fulfilled
4233
4293
  */
4234
4294
  moveTarget(
4235
4295
  moduleGraph: ModuleGraph,
4236
- resolveTargetFilter: (arg0: {
4237
- module: Module;
4238
- export?: string[];
4239
- }) => boolean,
4240
- updateOriginalConnection?: (arg0: {
4241
- module: Module;
4242
- export?: string[];
4243
- }) => ModuleGraphConnection
4244
- ): undefined | { module: Module; export?: string[] };
4245
- createNestedExportsInfo(): undefined | ExportsInfo;
4296
+ resolveTargetFilter: (arg0: TargetItem) => boolean,
4297
+ updateOriginalConnection?: (arg0: TargetItem) => ModuleGraphConnection
4298
+ ): undefined | TargetItem;
4299
+ createNestedExportsInfo(): ExportsInfo;
4246
4300
  getNestedExportsInfo(): undefined | ExportsInfo;
4247
- hasInfo(baseInfo?: any, runtime?: any): boolean;
4248
- updateHash(hash?: any, runtime?: any): void;
4301
+ hasInfo(baseInfo: ExportInfo, runtime: RuntimeSpec): boolean;
4302
+ updateHash(hash: Hash, runtime: RuntimeSpec): void;
4249
4303
  getUsedInfo(): string;
4250
4304
  getProvidedInfo():
4251
4305
  | "no provided info"
@@ -4330,12 +4384,9 @@ declare abstract class ExportsInfo {
4330
4384
  getUsageKey(runtime: RuntimeSpec): string;
4331
4385
  isEquallyUsed(runtimeA: RuntimeSpec, runtimeB: RuntimeSpec): boolean;
4332
4386
  getUsed(name: string | string[], runtime: RuntimeSpec): UsageStateType;
4333
- getUsedName(
4334
- name: undefined | string | string[],
4335
- runtime: RuntimeSpec
4336
- ): string | false | string[];
4387
+ getUsedName(name: string | string[], runtime: RuntimeSpec): UsedName;
4337
4388
  updateHash(hash: Hash, runtime: RuntimeSpec): void;
4338
- getRestoreProvidedData(): any;
4389
+ getRestoreProvidedData(): RestoreProvidedData;
4339
4390
  restoreProvided(__0: {
4340
4391
  otherProvided: any;
4341
4392
  otherCanMangleProvide: any;
@@ -4357,7 +4408,7 @@ declare interface ExportsSpec {
4357
4408
  /**
4358
4409
  * list of maybe prior exposed, but now hidden exports
4359
4410
  */
4360
- hideExports?: Set<string>;
4411
+ hideExports?: null | Set<string>;
4361
4412
 
4362
4413
  /**
4363
4414
  * when reexported: from which module
@@ -4531,6 +4582,7 @@ declare class ExternalModule extends Module {
4531
4582
  externalType: string;
4532
4583
  userRequest: string;
4533
4584
  dependencyMeta?: ImportDependencyMeta | CssImportDependencyMeta;
4585
+ getModuleImportType(externalType: string): string;
4534
4586
 
4535
4587
  /**
4536
4588
  * restore unsafe cache data
@@ -4632,6 +4684,7 @@ type ExternalsType =
4632
4684
  | "jsonp"
4633
4685
  | "system"
4634
4686
  | "promise"
4687
+ | "module-import"
4635
4688
  | "script"
4636
4689
  | "node-commonjs";
4637
4690
  declare interface FSImplementation {
@@ -4809,16 +4862,12 @@ declare interface FileSystem {
4809
4862
  declare abstract class FileSystemInfo {
4810
4863
  fs: InputFileSystem;
4811
4864
  logger?: WebpackLogger;
4812
- fileTimestampQueue: AsyncQueue<string, string, null | FileSystemInfoEntry>;
4813
- fileHashQueue: AsyncQueue<string, string, null | string>;
4814
- contextTimestampQueue: AsyncQueue<
4815
- string,
4816
- string,
4817
- null | ContextFileSystemInfoEntry
4818
- >;
4819
- contextHashQueue: AsyncQueue<string, string, null | ContextHash>;
4820
- contextTshQueue: AsyncQueue<string, string, null | ContextTimestampAndHash>;
4821
- managedItemQueue: AsyncQueue<string, string, null | string>;
4865
+ fileTimestampQueue: AsyncQueue<string, string, FileSystemInfoEntry>;
4866
+ fileHashQueue: AsyncQueue<string, string, string>;
4867
+ contextTimestampQueue: AsyncQueue<string, string, ContextFileSystemInfoEntry>;
4868
+ contextHashQueue: AsyncQueue<string, string, ContextHash>;
4869
+ contextTshQueue: AsyncQueue<string, string, ContextTimestampAndHash>;
4870
+ managedItemQueue: AsyncQueue<string, string, string>;
4822
4871
  managedItemDirectoryQueue: AsyncQueue<string, string, Set<string>>;
4823
4872
  unmanagedPathsWithSlash: string[];
4824
4873
  unmanagedPathsRegExps: RegExp[];
@@ -4864,7 +4913,7 @@ declare abstract class FileSystemInfo {
4864
4913
  path: string,
4865
4914
  callback: (
4866
4915
  arg0?: null | WebpackError,
4867
- arg1?: ResolvedContextTimestampAndHash
4916
+ arg1?: null | ResolvedContextTimestampAndHash
4868
4917
  ) => void
4869
4918
  ): void;
4870
4919
  resolveBuildDependencies(
@@ -4885,7 +4934,7 @@ declare abstract class FileSystemInfo {
4885
4934
  directories: null | Iterable<string>,
4886
4935
  missing: null | Iterable<string>,
4887
4936
  options: undefined | null | SnapshotOptionsFileSystemInfo,
4888
- callback: (arg0?: null | WebpackError, arg1?: null | Snapshot) => void
4937
+ callback: (arg0: null | WebpackError, arg1: null | Snapshot) => void
4889
4938
  ): void;
4890
4939
  mergeSnapshots(snapshot1: Snapshot, snapshot2: Snapshot): Snapshot;
4891
4940
  checkSnapshotValid(
@@ -4900,6 +4949,9 @@ declare interface FileSystemInfoEntry {
4900
4949
  timestamp?: number;
4901
4950
  }
4902
4951
  type FilterItemTypes = string | RegExp | ((value: string) => boolean);
4952
+ declare interface Flags {
4953
+ [index: string]: Argument;
4954
+ }
4903
4955
  declare interface GenerateContext {
4904
4956
  /**
4905
4957
  * mapping from dependencies to templates
@@ -5040,16 +5092,12 @@ declare class GetChunkFilenameRuntimeModule extends RuntimeModule {
5040
5092
  contentType: string,
5041
5093
  name: string,
5042
5094
  global: string,
5043
- getFilenameForChunk: (
5044
- arg0: Chunk
5045
- ) => string | ((arg0: PathData, arg1?: AssetInfo) => string),
5095
+ getFilenameForChunk: (arg0: Chunk) => TemplatePath,
5046
5096
  allChunks: boolean
5047
5097
  );
5048
5098
  contentType: string;
5049
5099
  global: string;
5050
- getFilenameForChunk: (
5051
- arg0: Chunk
5052
- ) => string | ((arg0: PathData, arg1?: AssetInfo) => string);
5100
+ getFilenameForChunk: (arg0: Chunk) => TemplatePath;
5053
5101
  allChunks: boolean;
5054
5102
 
5055
5103
  /**
@@ -5073,7 +5121,7 @@ declare class GetChunkFilenameRuntimeModule extends RuntimeModule {
5073
5121
  static STAGE_TRIGGER: number;
5074
5122
  }
5075
5123
  declare interface GroupConfig {
5076
- getKeys: (arg0?: any) => string[];
5124
+ getKeys: (arg0?: any) => undefined | string[];
5077
5125
  createGroup: (arg0: string, arg1: any[], arg2: any[]) => object;
5078
5126
  getOptions?: (arg0: string, arg1: any[]) => GroupOptions;
5079
5127
  }
@@ -5319,8 +5367,7 @@ declare class IgnorePlugin {
5319
5367
  options: IgnorePluginOptions;
5320
5368
 
5321
5369
  /**
5322
- * Note that if "contextRegExp" is given, both the "resourceRegExp"
5323
- * and "contextRegExp" have to match.
5370
+ * Note that if "contextRegExp" is given, both the "resourceRegExp" and "contextRegExp" have to match.
5324
5371
  */
5325
5372
  checkIgnore(resolveData: ResolveData): undefined | false;
5326
5373
 
@@ -5349,6 +5396,7 @@ type IgnorePluginOptions =
5349
5396
  type ImportAttributes = Record<string, string> & {};
5350
5397
  declare interface ImportDependencyMeta {
5351
5398
  attributes?: ImportAttributes;
5399
+ externalType?: "import" | "module";
5352
5400
  }
5353
5401
  declare interface ImportModuleOptions {
5354
5402
  /**
@@ -5505,6 +5553,13 @@ declare interface IntermediateFileSystemExtras {
5505
5553
  ) => void;
5506
5554
  }
5507
5555
  type InternalCell<T> = T | typeof TOMBSTONE | typeof UNDEFINED_MARKER;
5556
+ declare interface InterpolatedPathAndAssetInfo {
5557
+ path: string;
5558
+ info: AssetInfo;
5559
+ }
5560
+ declare interface Item<T> {
5561
+ [index: string]: string | string[] | T;
5562
+ }
5508
5563
  declare abstract class ItemCacheFacade {
5509
5564
  get<T>(callback: CallbackCacheCacheFacade<T>): void;
5510
5565
  getPromise<T>(): Promise<T>;
@@ -5529,7 +5584,7 @@ declare class JavascriptModulesPlugin {
5529
5584
  renderContext: ChunkRenderContext,
5530
5585
  hooks: CompilationHooksJavascriptModulesPlugin,
5531
5586
  factory: boolean
5532
- ): Source;
5587
+ ): null | Source;
5533
5588
  renderChunk(
5534
5589
  renderContext: RenderContext,
5535
5590
  hooks: CompilationHooksJavascriptModulesPlugin
@@ -5547,13 +5602,7 @@ declare class JavascriptModulesPlugin {
5547
5602
  renderBootstrap(
5548
5603
  renderContext: RenderBootstrapContext,
5549
5604
  hooks: CompilationHooksJavascriptModulesPlugin
5550
- ): {
5551
- header: string[];
5552
- beforeStartup: string[];
5553
- startup: string[];
5554
- afterStartup: string[];
5555
- allowInlineStartup: boolean;
5556
- };
5605
+ ): Bootstrap;
5557
5606
  renderRequire(
5558
5607
  renderContext: RenderBootstrapContext,
5559
5608
  hooks: CompilationHooksJavascriptModulesPlugin
@@ -5573,7 +5622,10 @@ declare class JavascriptModulesPlugin {
5573
5622
  static getCompilationHooks(
5574
5623
  compilation: Compilation
5575
5624
  ): CompilationHooksJavascriptModulesPlugin;
5576
- static getChunkFilenameTemplate(chunk?: any, outputOptions?: any): any;
5625
+ static getChunkFilenameTemplate(
5626
+ chunk: Chunk,
5627
+ outputOptions: Output
5628
+ ): TemplatePath;
5577
5629
  static chunkHasJs: (chunk: Chunk, chunkGraph: ChunkGraph) => boolean;
5578
5630
  }
5579
5631
  declare class JavascriptParser extends Parser {
@@ -5586,7 +5638,39 @@ declare class JavascriptParser extends Parser {
5586
5638
  >
5587
5639
  >;
5588
5640
  evaluate: HookMap<
5589
- SyncBailHook<[Expression], undefined | null | BasicEvaluatedExpression>
5641
+ SyncBailHook<
5642
+ [
5643
+ | UnaryExpression
5644
+ | ArrayExpression
5645
+ | ArrowFunctionExpression
5646
+ | AssignmentExpression
5647
+ | AwaitExpression
5648
+ | BinaryExpression
5649
+ | SimpleCallExpression
5650
+ | NewExpression
5651
+ | ChainExpression
5652
+ | ClassExpression
5653
+ | ConditionalExpression
5654
+ | FunctionExpression
5655
+ | Identifier
5656
+ | ImportExpression
5657
+ | SimpleLiteral
5658
+ | RegExpLiteral
5659
+ | BigIntLiteral
5660
+ | LogicalExpression
5661
+ | MemberExpression
5662
+ | MetaProperty
5663
+ | ObjectExpression
5664
+ | SequenceExpression
5665
+ | TaggedTemplateExpression
5666
+ | TemplateLiteral
5667
+ | ThisExpression
5668
+ | UpdateExpression
5669
+ | YieldExpression
5670
+ | SpreadElement
5671
+ ],
5672
+ undefined | null | BasicEvaluatedExpression
5673
+ >
5590
5674
  >;
5591
5675
  evaluateIdentifier: HookMap<
5592
5676
  SyncBailHook<
@@ -6422,7 +6506,37 @@ declare class JavascriptParser extends Parser {
6422
6506
  enterArrayPattern(pattern: ArrayPattern, onIdent?: any): void;
6423
6507
  enterRestElement(pattern: RestElement, onIdent?: any): void;
6424
6508
  enterAssignmentPattern(pattern: AssignmentPattern, onIdent?: any): void;
6425
- evaluateExpression(expression?: any): BasicEvaluatedExpression;
6509
+ evaluateExpression(
6510
+ expression:
6511
+ | UnaryExpression
6512
+ | ArrayExpression
6513
+ | ArrowFunctionExpression
6514
+ | AssignmentExpression
6515
+ | AwaitExpression
6516
+ | BinaryExpression
6517
+ | SimpleCallExpression
6518
+ | NewExpression
6519
+ | ChainExpression
6520
+ | ClassExpression
6521
+ | ConditionalExpression
6522
+ | FunctionExpression
6523
+ | Identifier
6524
+ | ImportExpression
6525
+ | SimpleLiteral
6526
+ | RegExpLiteral
6527
+ | BigIntLiteral
6528
+ | LogicalExpression
6529
+ | MemberExpression
6530
+ | MetaProperty
6531
+ | ObjectExpression
6532
+ | SequenceExpression
6533
+ | TaggedTemplateExpression
6534
+ | TemplateLiteral
6535
+ | ThisExpression
6536
+ | UpdateExpression
6537
+ | YieldExpression
6538
+ | SpreadElement
6539
+ ): BasicEvaluatedExpression;
6426
6540
  parseString(expression: Expression): string;
6427
6541
  parseCalculatedString(expression: Expression): any;
6428
6542
  evaluate(source: string): BasicEvaluatedExpression;
@@ -6465,6 +6579,7 @@ declare class JavascriptParser extends Parser {
6465
6579
  ): boolean;
6466
6580
  getComments(range: [number, number]): Comment[];
6467
6581
  isAsiPosition(pos: number): boolean;
6582
+ setAsiPosition(pos: number): void;
6468
6583
  unsetAsiPosition(pos: number): void;
6469
6584
  isStatementLevelExpression(expr: Expression): boolean;
6470
6585
  getTagData(name: string, tag?: any): any;
@@ -6870,7 +6985,7 @@ declare interface KnownBuildInfo {
6870
6985
  contextDependencies?: LazySet<string>;
6871
6986
  missingDependencies?: LazySet<string>;
6872
6987
  buildDependencies?: LazySet<string>;
6873
- valueDependencies?: Map<string, string | Set<string>>;
6988
+ valueDependencies?: Map<string, ValueCacheVersion>;
6874
6989
  hash?: any;
6875
6990
  assets?: Record<string, Source>;
6876
6991
  assetsInfo?: Map<string, undefined | AssetInfo>;
@@ -6975,14 +7090,14 @@ declare interface KnownStatsChunk {
6975
7090
  recorded: boolean;
6976
7091
  reason?: string;
6977
7092
  size: number;
6978
- sizes?: Record<string, number>;
6979
- names?: string[];
6980
- idHints?: string[];
7093
+ sizes: Record<string, number>;
7094
+ names: string[];
7095
+ idHints: string[];
6981
7096
  runtime?: string[];
6982
- files?: string[];
6983
- auxiliaryFiles?: string[];
7097
+ files: string[];
7098
+ auxiliaryFiles: string[];
6984
7099
  hash: string;
6985
- childrenByOrder?: Record<string, (string | number)[]>;
7100
+ childrenByOrder: Record<string, (string | number)[]>;
6986
7101
  id?: string | number;
6987
7102
  siblings?: (string | number)[];
6988
7103
  parents?: (string | number)[];
@@ -7005,11 +7120,11 @@ declare interface KnownStatsChunkGroup {
7005
7120
  isOverSizeLimit?: boolean;
7006
7121
  }
7007
7122
  declare interface KnownStatsChunkOrigin {
7008
- module?: string;
7009
- moduleIdentifier?: string;
7010
- moduleName?: string;
7011
- loc?: string;
7012
- request?: string;
7123
+ module: string;
7124
+ moduleIdentifier: string;
7125
+ moduleName: string;
7126
+ loc: string;
7127
+ request: string;
7013
7128
  moduleId?: string | number;
7014
7129
  }
7015
7130
  declare interface KnownStatsCompilation {
@@ -7054,14 +7169,14 @@ declare interface KnownStatsError {
7054
7169
  }
7055
7170
  declare interface KnownStatsFactoryContext {
7056
7171
  type: string;
7057
- makePathsRelative?: (arg0: string) => string;
7058
- compilation?: Compilation;
7059
- rootModules?: Set<Module>;
7060
- compilationFileToChunks?: Map<string, Chunk[]>;
7061
- compilationAuxiliaryFileToChunks?: Map<string, Chunk[]>;
7062
- runtime?: RuntimeSpec;
7063
- cachedGetErrors?: (arg0: Compilation) => WebpackError[];
7064
- cachedGetWarnings?: (arg0: Compilation) => WebpackError[];
7172
+ makePathsRelative: (arg0: string) => string;
7173
+ compilation: Compilation;
7174
+ rootModules: Set<Module>;
7175
+ compilationFileToChunks: Map<string, Chunk[]>;
7176
+ compilationAuxiliaryFileToChunks: Map<string, Chunk[]>;
7177
+ runtime: RuntimeSpec;
7178
+ cachedGetErrors: (arg0: Compilation) => WebpackError[];
7179
+ cachedGetWarnings: (arg0: Compilation) => WebpackError[];
7065
7180
  }
7066
7181
  declare interface KnownStatsLogging {
7067
7182
  entries: StatsLoggingEntry[];
@@ -7070,7 +7185,7 @@ declare interface KnownStatsLogging {
7070
7185
  }
7071
7186
  declare interface KnownStatsLoggingEntry {
7072
7187
  type: string;
7073
- message: string;
7188
+ message?: string;
7074
7189
  trace?: string[];
7075
7190
  children?: StatsLoggingEntry[];
7076
7191
  args?: any[];
@@ -7079,10 +7194,10 @@ declare interface KnownStatsLoggingEntry {
7079
7194
  declare interface KnownStatsModule {
7080
7195
  type?: string;
7081
7196
  moduleType?: string;
7082
- layer?: string;
7197
+ layer?: null | string;
7083
7198
  identifier?: string;
7084
7199
  name?: string;
7085
- nameForCondition?: string;
7200
+ nameForCondition?: null | string;
7086
7201
  index?: number;
7087
7202
  preOrderIndex?: number;
7088
7203
  index2?: number;
@@ -7097,45 +7212,45 @@ declare interface KnownStatsModule {
7097
7212
  optional?: boolean;
7098
7213
  orphan?: boolean;
7099
7214
  id?: string | number;
7100
- issuerId?: string | number;
7215
+ issuerId?: null | string | number;
7101
7216
  chunks?: (string | number)[];
7102
7217
  assets?: (string | number)[];
7103
7218
  dependent?: boolean;
7104
- issuer?: string;
7105
- issuerName?: string;
7219
+ issuer?: null | string;
7220
+ issuerName?: null | string;
7106
7221
  issuerPath?: StatsModuleIssuer[];
7107
7222
  failed?: boolean;
7108
7223
  errors?: number;
7109
7224
  warnings?: number;
7110
7225
  profile?: StatsProfile;
7111
7226
  reasons?: StatsModuleReason[];
7112
- usedExports?: boolean | string[];
7113
- providedExports?: string[];
7227
+ usedExports?: null | boolean | string[];
7228
+ providedExports?: null | string[];
7114
7229
  optimizationBailout?: string[];
7115
- depth?: number;
7230
+ depth?: null | number;
7116
7231
  modules?: StatsModule[];
7117
7232
  filteredModules?: number;
7118
7233
  source?: string | Buffer;
7119
7234
  }
7120
7235
  declare interface KnownStatsModuleIssuer {
7121
- identifier?: string;
7122
- name?: string;
7236
+ identifier: string;
7237
+ name: string;
7123
7238
  id?: string | number;
7124
- profile?: StatsProfile;
7239
+ profile: StatsProfile;
7125
7240
  }
7126
7241
  declare interface KnownStatsModuleReason {
7127
- moduleIdentifier?: string;
7128
- module?: string;
7129
- moduleName?: string;
7130
- resolvedModuleIdentifier?: string;
7131
- resolvedModule?: string;
7132
- type?: string;
7242
+ moduleIdentifier: null | string;
7243
+ module: null | string;
7244
+ moduleName: null | string;
7245
+ resolvedModuleIdentifier: null | string;
7246
+ resolvedModule: null | string;
7247
+ type: null | string;
7133
7248
  active: boolean;
7134
- explanation?: string;
7135
- userRequest?: string;
7136
- loc?: string;
7137
- moduleId?: string | number;
7138
- resolvedModuleId?: string | number;
7249
+ explanation: null | string;
7250
+ userRequest: null | string;
7251
+ loc?: null | string;
7252
+ moduleId?: null | string | number;
7253
+ resolvedModuleId?: null | string | number;
7139
7254
  }
7140
7255
  declare interface KnownStatsModuleTraceDependency {
7141
7256
  loc?: string;
@@ -7149,20 +7264,31 @@ declare interface KnownStatsModuleTraceItem {
7149
7264
  originId?: string | number;
7150
7265
  moduleId?: string | number;
7151
7266
  }
7267
+ declare interface KnownStatsPrinterColorFn {
7268
+ bold?: (str: string) => string;
7269
+ yellow?: (str: string) => string;
7270
+ red?: (str: string) => string;
7271
+ green?: (str: string) => string;
7272
+ magenta?: (str: string) => string;
7273
+ cyan?: (str: string) => string;
7274
+ }
7152
7275
  declare interface KnownStatsPrinterContext {
7153
7276
  type?: string;
7154
7277
  compilation?: StatsCompilation;
7155
7278
  chunkGroup?: StatsChunkGroup;
7279
+ chunkGroupKind?: string;
7156
7280
  asset?: StatsAsset;
7157
7281
  module?: StatsModule;
7158
7282
  chunk?: StatsChunk;
7159
7283
  moduleReason?: StatsModuleReason;
7160
- bold?: (str: string) => string;
7161
- yellow?: (str: string) => string;
7162
- red?: (str: string) => string;
7163
- green?: (str: string) => string;
7164
- magenta?: (str: string) => string;
7165
- cyan?: (str: string) => string;
7284
+ moduleIssuer?: StatsModuleIssuer;
7285
+ error?: StatsError;
7286
+ profile?: StatsProfile;
7287
+ logging?: StatsLogging;
7288
+ moduleTraceItem?: StatsModuleTraceItem;
7289
+ moduleTraceDependency?: StatsModuleTraceDependency;
7290
+ }
7291
+ declare interface KnownStatsPrinterFormaters {
7166
7292
  formatFilename?: (file: string, oversize?: boolean) => string;
7167
7293
  formatModuleId?: (id: string) => string;
7168
7294
  formatChunkId?: (
@@ -7170,10 +7296,11 @@ declare interface KnownStatsPrinterContext {
7170
7296
  direction?: "parent" | "child" | "sibling"
7171
7297
  ) => string;
7172
7298
  formatSize?: (size: number) => string;
7299
+ formatLayer?: (size: string) => string;
7173
7300
  formatDateTime?: (dateTime: number) => string;
7174
7301
  formatFlag?: (flag: string) => string;
7175
7302
  formatTime?: (time: number, boldQuantity?: boolean) => string;
7176
- chunkGroupKind?: string;
7303
+ formatError?: (message: string) => string;
7177
7304
  }
7178
7305
  declare interface KnownStatsProfile {
7179
7306
  total: number;
@@ -7550,8 +7677,13 @@ declare class LoadScriptRuntimeModule extends HelperRuntimeModule {
7550
7677
  declare interface Loader {
7551
7678
  [index: string]: any;
7552
7679
  }
7553
- type LoaderContext<OptionsType> = NormalModuleLoaderContext<OptionsType> &
7554
- LoaderRunnerLoaderContext<OptionsType> &
7680
+ type LoaderContextDeclarationsIndex<OptionsType> =
7681
+ NormalModuleLoaderContext<OptionsType> &
7682
+ LoaderRunnerLoaderContext<OptionsType> &
7683
+ LoaderPluginLoaderContext &
7684
+ HotModuleReplacementPluginLoaderContext;
7685
+ type LoaderContextNormalModule<T> = NormalModuleLoaderContext<T> &
7686
+ LoaderRunnerLoaderContext<T> &
7555
7687
  LoaderPluginLoaderContext &
7556
7688
  HotModuleReplacementPluginLoaderContext;
7557
7689
  type LoaderDefinition<
@@ -7637,14 +7769,14 @@ declare interface LoaderPluginLoaderContext {
7637
7769
  request: string,
7638
7770
  callback: (
7639
7771
  err: null | Error,
7640
- source: string,
7641
- sourceMap: any,
7642
- module: NormalModule
7772
+ source?: string | Buffer,
7773
+ sourceMap?: null | object,
7774
+ module?: Module
7643
7775
  ) => void
7644
7776
  ): void;
7645
7777
  importModule(
7646
7778
  request: string,
7647
- options: ImportModuleOptions,
7779
+ options: undefined | ImportModuleOptions,
7648
7780
  callback: (err?: null | Error, exports?: any) => any
7649
7781
  ): void;
7650
7782
  importModule(request: string, options?: ImportModuleOptions): Promise<any>;
@@ -7805,7 +7937,7 @@ declare class LoaderTargetPlugin {
7805
7937
  }
7806
7938
  declare interface LogEntry {
7807
7939
  type: string;
7808
- args: any[];
7940
+ args?: any[];
7809
7941
  time: number;
7810
7942
  trace?: string[];
7811
7943
  }
@@ -7865,25 +7997,81 @@ declare interface MainRenderContext {
7865
7997
  /**
7866
7998
  * rendering in strict context
7867
7999
  */
7868
- strictMode: boolean;
8000
+ strictMode?: boolean;
7869
8001
  }
7870
8002
  declare abstract class MainTemplate {
7871
8003
  hooks: Readonly<{
7872
- renderManifest: { tap: (options?: any, fn?: any) => void };
8004
+ renderManifest: {
8005
+ tap: <AdditionalOptions>(
8006
+ options:
8007
+ | string
8008
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8009
+ fn: (
8010
+ arg0: RenderManifestEntry[],
8011
+ arg1: RenderManifestOptions
8012
+ ) => RenderManifestEntry[]
8013
+ ) => void;
8014
+ };
7873
8015
  modules: { tap: () => never };
7874
8016
  moduleObj: { tap: () => never };
7875
- require: { tap: (options?: any, fn?: any) => void };
8017
+ require: {
8018
+ tap: <AdditionalOptions>(
8019
+ options:
8020
+ | string
8021
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8022
+ fn: (arg0: string, arg1: RenderBootstrapContext) => string
8023
+ ) => void;
8024
+ };
7876
8025
  beforeStartup: { tap: () => never };
7877
8026
  startup: { tap: () => never };
7878
8027
  afterStartup: { tap: () => never };
7879
- render: { tap: (options?: any, fn?: any) => void };
7880
- renderWithEntry: { tap: (options?: any, fn?: any) => void };
8028
+ render: {
8029
+ tap: <AdditionalOptions>(
8030
+ options:
8031
+ | string
8032
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8033
+ fn: (
8034
+ arg0: Source,
8035
+ arg1: Chunk,
8036
+ arg2: undefined | string,
8037
+ arg3: ModuleTemplate,
8038
+ arg4: DependencyTemplates
8039
+ ) => Source
8040
+ ) => void;
8041
+ };
8042
+ renderWithEntry: {
8043
+ tap: <AdditionalOptions>(
8044
+ options:
8045
+ | string
8046
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8047
+ fn: (arg0: Source, arg1: Chunk, arg2?: string) => Source
8048
+ ) => void;
8049
+ };
7881
8050
  assetPath: {
7882
- tap: (options?: any, fn?: any) => void;
7883
- call: (filename?: any, options?: any) => string;
8051
+ tap: <AdditionalOptions>(
8052
+ options:
8053
+ | string
8054
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8055
+ fn: (arg0: string, arg1: object, arg2?: AssetInfo) => string
8056
+ ) => void;
8057
+ call: (filename: TemplatePath, options: PathData) => string;
8058
+ };
8059
+ hash: {
8060
+ tap: <AdditionalOptions>(
8061
+ options:
8062
+ | string
8063
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8064
+ fn: (arg0: Hash) => void
8065
+ ) => void;
8066
+ };
8067
+ hashForChunk: {
8068
+ tap: <AdditionalOptions>(
8069
+ options:
8070
+ | string
8071
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8072
+ fn: (arg0: Hash, arg1: Chunk) => void
8073
+ ) => void;
7884
8074
  };
7885
- hash: { tap: (options?: any, fn?: any) => void };
7886
- hashForChunk: { tap: (options?: any, fn?: any) => void };
7887
8075
  globalHashPaths: { tap: () => void };
7888
8076
  globalHash: { tap: () => void };
7889
8077
  hotBootstrap: { tap: () => never };
@@ -7898,12 +8086,12 @@ declare abstract class MainTemplate {
7898
8086
  get linkPreload(): SyncWaterfallHook<[string, Chunk]>;
7899
8087
  }>;
7900
8088
  renderCurrentHashCode: (hash: string, length?: number) => string;
7901
- getPublicPath: (options: object) => string;
7902
- getAssetPath: (path?: any, options?: any) => string;
8089
+ getPublicPath: (options: PathData) => string;
8090
+ getAssetPath: (path: TemplatePath, options: PathData) => string;
7903
8091
  getAssetPathWithInfo: (
7904
- path?: any,
7905
- options?: any
7906
- ) => { path: string; info: AssetInfo };
8092
+ path: TemplatePath,
8093
+ options: PathData
8094
+ ) => InterpolatedPathAndAssetInfo;
7907
8095
  get requireFn(): "__webpack_require__";
7908
8096
  get outputOptions(): Output;
7909
8097
  }
@@ -8033,7 +8221,7 @@ declare class Module extends DependenciesBlock {
8033
8221
  buildInfo?: BuildInfo;
8034
8222
  presentationalDependencies?: Dependency[];
8035
8223
  codeGenerationDependencies?: Dependency[];
8036
- id: ModuleId;
8224
+ id: null | string | number;
8037
8225
  get hash(): string;
8038
8226
  get renderedHash(): string;
8039
8227
  profile?: ModuleProfile;
@@ -8157,8 +8345,7 @@ declare class Module extends DependenciesBlock {
8157
8345
  used: any;
8158
8346
  }
8159
8347
  declare class ModuleConcatenationPlugin {
8160
- constructor(options?: any);
8161
- options: any;
8348
+ constructor();
8162
8349
 
8163
8350
  /**
8164
8351
  * Apply the plugin
@@ -8259,6 +8446,7 @@ declare interface ModuleFederationPluginOptions {
8259
8446
  | "jsonp"
8260
8447
  | "system"
8261
8448
  | "promise"
8449
+ | "module-import"
8262
8450
  | "script"
8263
8451
  | "node-commonjs";
8264
8452
 
@@ -8424,11 +8612,11 @@ declare class ModuleGraphConnection {
8424
8612
  ): void;
8425
8613
  addExplanation(explanation: string): void;
8426
8614
  get explanation(): string;
8427
- active: void;
8428
8615
  isActive(runtime: RuntimeSpec): boolean;
8429
8616
  isTargetActive(runtime: RuntimeSpec): boolean;
8430
8617
  getActiveState(runtime: RuntimeSpec): ConnectionState;
8431
8618
  setActive(value: boolean): void;
8619
+ active: void;
8432
8620
  static addConnectionStates: (
8433
8621
  a: ConnectionState,
8434
8622
  b: ConnectionState
@@ -8641,6 +8829,11 @@ declare interface ModuleReferenceOptions {
8641
8829
  */
8642
8830
  asiSafe?: boolean;
8643
8831
  }
8832
+ declare interface ModuleResult {
8833
+ client: string;
8834
+ data: string;
8835
+ active: boolean;
8836
+ }
8644
8837
  declare interface ModuleSettings {
8645
8838
  /**
8646
8839
  * Specifies the layer in which the module should be placed in.
@@ -8675,13 +8868,68 @@ declare interface ModuleSettings {
8675
8868
  declare abstract class ModuleTemplate {
8676
8869
  type: string;
8677
8870
  hooks: Readonly<{
8678
- content: { tap: (options?: any, fn?: any) => void };
8679
- module: { tap: (options?: any, fn?: any) => void };
8680
- render: { tap: (options?: any, fn?: any) => void };
8681
- package: { tap: (options?: any, fn?: any) => void };
8682
- hash: { tap: (options?: any, fn?: any) => void };
8871
+ content: {
8872
+ tap: <AdditionalOptions>(
8873
+ options:
8874
+ | string
8875
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8876
+ fn: (
8877
+ arg0: Source,
8878
+ arg1: Module,
8879
+ arg2: ChunkRenderContext,
8880
+ arg3: DependencyTemplates
8881
+ ) => Source
8882
+ ) => void;
8883
+ };
8884
+ module: {
8885
+ tap: <AdditionalOptions>(
8886
+ options:
8887
+ | string
8888
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8889
+ fn: (
8890
+ arg0: Source,
8891
+ arg1: Module,
8892
+ arg2: ChunkRenderContext,
8893
+ arg3: DependencyTemplates
8894
+ ) => Source
8895
+ ) => void;
8896
+ };
8897
+ render: {
8898
+ tap: <AdditionalOptions>(
8899
+ options:
8900
+ | string
8901
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8902
+ fn: (
8903
+ arg0: Source,
8904
+ arg1: Module,
8905
+ arg2: ChunkRenderContext,
8906
+ arg3: DependencyTemplates
8907
+ ) => Source
8908
+ ) => void;
8909
+ };
8910
+ package: {
8911
+ tap: <AdditionalOptions>(
8912
+ options:
8913
+ | string
8914
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8915
+ fn: (
8916
+ arg0: Source,
8917
+ arg1: Module,
8918
+ arg2: ChunkRenderContext,
8919
+ arg3: DependencyTemplates
8920
+ ) => Source
8921
+ ) => void;
8922
+ };
8923
+ hash: {
8924
+ tap: <AdditionalOptions>(
8925
+ options:
8926
+ | string
8927
+ | (TapOptions & { name: string } & IfSet<AdditionalOptions>),
8928
+ fn: (arg0: Hash) => void
8929
+ ) => void;
8930
+ };
8683
8931
  }>;
8684
- get runtimeTemplate(): any;
8932
+ get runtimeTemplate(): RuntimeTemplate;
8685
8933
  }
8686
8934
  declare interface ModuleTemplates {
8687
8935
  javascript: ModuleTemplate;
@@ -8735,8 +8983,8 @@ declare abstract class MultiStats {
8735
8983
  get hash(): string;
8736
8984
  hasErrors(): boolean;
8737
8985
  hasWarnings(): boolean;
8738
- toJson(options?: any): StatsCompilation;
8739
- toString(options?: any): string;
8986
+ toJson(options?: string | boolean | StatsOptions): StatsCompilation;
8987
+ toString(options?: string | boolean | StatsOptions): string;
8740
8988
  }
8741
8989
  declare abstract class MultiWatching {
8742
8990
  watchings: Watching[];
@@ -8907,7 +9155,7 @@ declare class NormalModule extends Module {
8907
9155
  createSource(
8908
9156
  context: string,
8909
9157
  content: string | Buffer,
8910
- sourceMap?: string | SourceMapSource,
9158
+ sourceMap?: null | string | SourceMapSource,
8911
9159
  associatedObjectForCache?: object
8912
9160
  ): Source;
8913
9161
  markModuleAsErrored(error: WebpackError): void;
@@ -8919,14 +9167,23 @@ declare class NormalModule extends Module {
8919
9167
  static deserialize(context?: any): NormalModule;
8920
9168
  }
8921
9169
  declare interface NormalModuleCompilationHooks {
8922
- loader: SyncHook<[object, NormalModule]>;
8923
- beforeLoaders: SyncHook<[LoaderItem[], NormalModule, object]>;
9170
+ loader: SyncHook<[LoaderContextNormalModule<any>, NormalModule]>;
9171
+ beforeLoaders: SyncHook<
9172
+ [LoaderItem[], NormalModule, LoaderContextNormalModule<any>]
9173
+ >;
8924
9174
  beforeParse: SyncHook<[NormalModule]>;
8925
9175
  beforeSnapshot: SyncHook<[NormalModule]>;
8926
9176
  readResourceForScheme: HookMap<
8927
- AsyncSeriesBailHook<[string, NormalModule], string | Buffer>
9177
+ FakeHook<
9178
+ AsyncSeriesBailHook<[string, NormalModule], null | string | Buffer>
9179
+ >
9180
+ >;
9181
+ readResource: HookMap<
9182
+ AsyncSeriesBailHook<
9183
+ [LoaderContextNormalModule<any>],
9184
+ null | string | Buffer
9185
+ >
8928
9186
  >;
8929
- readResource: HookMap<AsyncSeriesBailHook<[object], string | Buffer>>;
8930
9187
  needBuild: AsyncSeriesBailHook<[NormalModule, NeedBuildContext], boolean>;
8931
9188
  }
8932
9189
  declare interface NormalModuleCreateData {
@@ -9222,6 +9479,9 @@ declare interface ObjectEncodingOptions {
9222
9479
  | "base64url"
9223
9480
  | "hex";
9224
9481
  }
9482
+ declare interface ObjectForExtract {
9483
+ [index: string]: any;
9484
+ }
9225
9485
  declare interface ObjectSerializer {
9226
9486
  serialize: (arg0: any, arg1: ObjectSerializerContext) => void;
9227
9487
  deserialize: (arg0: ObjectDeserializerContext) => any;
@@ -9674,11 +9934,47 @@ declare interface OptimizationSplitChunksOptions {
9674
9934
  */
9675
9935
  usedExports?: boolean;
9676
9936
  }
9937
+ declare interface Options {
9938
+ /**
9939
+ * source
9940
+ */
9941
+ source: string;
9942
+
9943
+ /**
9944
+ * absolute context path to which lib ident is relative to
9945
+ */
9946
+ context: string;
9947
+
9948
+ /**
9949
+ * content
9950
+ */
9951
+ content: DllReferencePluginOptionsContent;
9952
+
9953
+ /**
9954
+ * type
9955
+ */
9956
+ type?: "object" | "require";
9957
+
9958
+ /**
9959
+ * extensions
9960
+ */
9961
+ extensions?: string[];
9962
+
9963
+ /**
9964
+ * scope
9965
+ */
9966
+ scope?: string;
9967
+
9968
+ /**
9969
+ * object for caching
9970
+ */
9971
+ associatedObjectForCache?: object;
9972
+ }
9677
9973
  declare abstract class OptionsApply {
9678
9974
  process(options?: any, compiler?: any): void;
9679
9975
  }
9680
9976
  declare interface OriginRecord {
9681
- module: Module;
9977
+ module: null | Module;
9682
9978
  loc: DependencyLocation;
9683
9979
  request: string;
9684
9980
  }
@@ -11410,7 +11706,7 @@ declare interface RenderContext {
11410
11706
  /**
11411
11707
  * rendering in strict context
11412
11708
  */
11413
- strictMode: boolean;
11709
+ strictMode?: boolean;
11414
11710
  }
11415
11711
  type RenderManifestEntry =
11416
11712
  | RenderManifestEntryTemplated
@@ -11425,7 +11721,7 @@ declare interface RenderManifestEntryStatic {
11425
11721
  }
11426
11722
  declare interface RenderManifestEntryTemplated {
11427
11723
  render: () => Source;
11428
- filenameTemplate: string | ((arg0: PathData, arg1?: AssetInfo) => string);
11724
+ filenameTemplate: TemplatePath;
11429
11725
  pathOptions?: PathData;
11430
11726
  info?: AssetInfo;
11431
11727
  identifier: string;
@@ -11487,7 +11783,7 @@ declare interface ResolveBuildDependenciesResult {
11487
11783
  /**
11488
11784
  * stored resolve results
11489
11785
  */
11490
- resolveResults: Map<string, string | false>;
11786
+ resolveResults: Map<string, undefined | string | false>;
11491
11787
 
11492
11788
  /**
11493
11789
  * dependencies of the resolving
@@ -12040,6 +12336,13 @@ declare interface ResourceDataWithData {
12040
12336
  context?: string;
12041
12337
  data: Record<string, any>;
12042
12338
  }
12339
+ declare abstract class RestoreProvidedData {
12340
+ exports: any;
12341
+ otherProvided: any;
12342
+ otherCanMangleProvide: any;
12343
+ otherTerminalBinding: any;
12344
+ serialize(__0: ObjectSerializerContext): void;
12345
+ }
12043
12346
  declare interface RmDirOptions {
12044
12347
  maxRetries?: number;
12045
12348
  recursive?: boolean;
@@ -12066,7 +12369,7 @@ declare interface RuleSet {
12066
12369
  /**
12067
12370
  * execute the rule set
12068
12371
  */
12069
- exec: (arg0: object) => Effect[];
12372
+ exec: (arg0: EffectData) => Effect[];
12070
12373
  }
12071
12374
  type RuleSetCondition =
12072
12375
  | string
@@ -12987,13 +13290,13 @@ declare abstract class RuntimeValue {
12987
13290
  fn: (arg0: {
12988
13291
  module: NormalModule;
12989
13292
  key: string;
12990
- readonly version?: string;
13293
+ readonly version: ValueCacheVersion;
12991
13294
  }) => CodeValuePrimitive;
12992
13295
  options: true | RuntimeValueOptions;
12993
13296
  get fileDependencies(): true | string[];
12994
13297
  exec(
12995
13298
  parser: JavascriptParser,
12996
- valueCacheVersions: Map<string, string | Set<string>>,
13299
+ valueCacheVersions: Map<string, ValueCacheVersion>,
12997
13300
  key: string
12998
13301
  ): CodeValuePrimitive;
12999
13302
  getCacheVersion(): undefined | string;
@@ -13138,6 +13441,7 @@ declare class SideEffectsFlagPlugin {
13138
13441
  cache: Map<string, RegExp>
13139
13442
  ): undefined | boolean;
13140
13443
  }
13444
+ type SimpleType = "string" | "number" | "boolean";
13141
13445
  declare class SizeOnlySource extends Source {
13142
13446
  constructor(size: number);
13143
13447
  }
@@ -13157,32 +13461,36 @@ declare abstract class Snapshot {
13157
13461
  children?: Set<Snapshot>;
13158
13462
  hasStartTime(): boolean;
13159
13463
  setStartTime(value: number): void;
13160
- setMergedStartTime(value?: any, snapshot?: any): void;
13464
+ setMergedStartTime(value: undefined | number, snapshot: Snapshot): void;
13161
13465
  hasFileTimestamps(): boolean;
13162
- setFileTimestamps(value?: any): void;
13466
+ setFileTimestamps(value: Map<string, null | FileSystemInfoEntry>): void;
13163
13467
  hasFileHashes(): boolean;
13164
- setFileHashes(value?: any): void;
13468
+ setFileHashes(value: Map<string, null | string>): void;
13165
13469
  hasFileTshs(): boolean;
13166
- setFileTshs(value?: any): void;
13470
+ setFileTshs(value: Map<string, null | string | TimestampAndHash>): void;
13167
13471
  hasContextTimestamps(): boolean;
13168
- setContextTimestamps(value?: any): void;
13472
+ setContextTimestamps(
13473
+ value: Map<string, null | ResolvedContextFileSystemInfoEntry>
13474
+ ): void;
13169
13475
  hasContextHashes(): boolean;
13170
- setContextHashes(value?: any): void;
13476
+ setContextHashes(value: Map<string, null | string>): void;
13171
13477
  hasContextTshs(): boolean;
13172
- setContextTshs(value?: any): void;
13478
+ setContextTshs(
13479
+ value: Map<string, null | ResolvedContextTimestampAndHash>
13480
+ ): void;
13173
13481
  hasMissingExistence(): boolean;
13174
- setMissingExistence(value?: any): void;
13482
+ setMissingExistence(value: Map<string, boolean>): void;
13175
13483
  hasManagedItemInfo(): boolean;
13176
- setManagedItemInfo(value?: any): void;
13484
+ setManagedItemInfo(value: Map<string, string>): void;
13177
13485
  hasManagedFiles(): boolean;
13178
- setManagedFiles(value?: any): void;
13486
+ setManagedFiles(value: Set<string>): void;
13179
13487
  hasManagedContexts(): boolean;
13180
- setManagedContexts(value?: any): void;
13488
+ setManagedContexts(value: Set<string>): void;
13181
13489
  hasManagedMissing(): boolean;
13182
- setManagedMissing(value?: any): void;
13490
+ setManagedMissing(value: Set<string>): void;
13183
13491
  hasChildren(): boolean;
13184
- setChildren(value?: any): void;
13185
- addChild(child?: any): void;
13492
+ setChildren(value: Set<Snapshot>): void;
13493
+ addChild(child: Snapshot): void;
13186
13494
  serialize(__0: ObjectSerializerContext): void;
13187
13495
  deserialize(__0: ObjectDeserializerContext): void;
13188
13496
  getFileIterable(): Iterable<string>;
@@ -13276,11 +13584,14 @@ declare interface SnapshotOptionsWebpackOptions {
13276
13584
  */
13277
13585
  unmanagedPaths?: (string | RegExp)[];
13278
13586
  }
13587
+ declare interface SortFunction<T> {
13588
+ (arg0: T, arg1: T): number;
13589
+ }
13279
13590
  declare abstract class SortableSet<T> extends Set<T> {
13280
13591
  /**
13281
13592
  * Sort with a comparer function
13282
13593
  */
13283
- sortWith(sortFn: (arg0: T, arg1: T) => number): void;
13594
+ sortWith(sortFn?: SortFunction<T>): void;
13284
13595
  sort(): SortableSet<T>;
13285
13596
 
13286
13597
  /**
@@ -13447,7 +13758,7 @@ declare interface SplitChunksOptions {
13447
13758
  maxAsyncRequests: number;
13448
13759
  maxInitialRequests: number;
13449
13760
  hidePathInfo: boolean;
13450
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string);
13761
+ filename: TemplatePath;
13451
13762
  automaticNameDelimiter: string;
13452
13763
  getCacheGroups: (
13453
13764
  module: Module,
@@ -13652,59 +13963,73 @@ declare class Stats {
13652
13963
  toJson(options?: string | boolean | StatsOptions): StatsCompilation;
13653
13964
  toString(options?: string | boolean | StatsOptions): string;
13654
13965
  }
13655
- type StatsAsset = KnownStatsAsset & Record<string, any>;
13656
- type StatsChunk = KnownStatsChunk & Record<string, any>;
13657
- type StatsChunkGroup = KnownStatsChunkGroup & Record<string, any>;
13658
- type StatsChunkOrigin = KnownStatsChunkOrigin & Record<string, any>;
13659
- type StatsCompilation = KnownStatsCompilation & Record<string, any>;
13660
- type StatsError = KnownStatsError & Record<string, any>;
13966
+ type StatsAsset = Record<string, any> & KnownStatsAsset;
13967
+ type StatsChunk = Record<string, any> & KnownStatsChunk;
13968
+ type StatsChunkGroup = Record<string, any> & KnownStatsChunkGroup;
13969
+ type StatsChunkOrigin = Record<string, any> & KnownStatsChunkOrigin;
13970
+ type StatsCompilation = Record<string, any> & KnownStatsCompilation;
13971
+ type StatsError = Record<string, any> & KnownStatsError;
13661
13972
  declare abstract class StatsFactory {
13662
- hooks: Readonly<{
13663
- extract: HookMap<SyncBailHook<[object, any, StatsFactoryContext], any>>;
13664
- filter: HookMap<
13665
- SyncBailHook<[any, StatsFactoryContext, number, number], any>
13666
- >;
13667
- sort: HookMap<
13668
- SyncBailHook<
13669
- [((arg0?: any, arg1?: any) => number)[], StatsFactoryContext],
13670
- any
13671
- >
13672
- >;
13673
- filterSorted: HookMap<
13674
- SyncBailHook<[any, StatsFactoryContext, number, number], any>
13675
- >;
13676
- groupResults: HookMap<
13677
- SyncBailHook<[GroupConfig[], StatsFactoryContext], any>
13678
- >;
13679
- sortResults: HookMap<
13680
- SyncBailHook<
13681
- [((arg0?: any, arg1?: any) => number)[], StatsFactoryContext],
13682
- any
13683
- >
13684
- >;
13685
- filterResults: HookMap<
13686
- SyncBailHook<[any, StatsFactoryContext, number, number], any>
13687
- >;
13688
- merge: HookMap<SyncBailHook<[any[], StatsFactoryContext], any>>;
13689
- result: HookMap<SyncBailHook<[any[], StatsFactoryContext], any>>;
13690
- getItemName: HookMap<SyncBailHook<[any, StatsFactoryContext], any>>;
13691
- getItemFactory: HookMap<SyncBailHook<[any, StatsFactoryContext], any>>;
13692
- }>;
13973
+ hooks: StatsFactoryHooks;
13693
13974
  create(
13694
13975
  type: string,
13695
13976
  data: any,
13696
13977
  baseContext: Omit<StatsFactoryContext, "type">
13697
13978
  ): any;
13698
13979
  }
13699
- type StatsFactoryContext = KnownStatsFactoryContext & Record<string, any>;
13700
- type StatsLogging = KnownStatsLogging & Record<string, any>;
13701
- type StatsLoggingEntry = KnownStatsLoggingEntry & Record<string, any>;
13702
- type StatsModule = KnownStatsModule & Record<string, any>;
13703
- type StatsModuleIssuer = KnownStatsModuleIssuer & Record<string, any>;
13704
- type StatsModuleReason = KnownStatsModuleReason & Record<string, any>;
13705
- type StatsModuleTraceDependency = KnownStatsModuleTraceDependency &
13706
- Record<string, any>;
13707
- type StatsModuleTraceItem = KnownStatsModuleTraceItem & Record<string, any>;
13980
+ type StatsFactoryContext = Record<string, any> & KnownStatsFactoryContext;
13981
+ declare interface StatsFactoryHooks {
13982
+ extract: HookMap<
13983
+ SyncBailHook<[ObjectForExtract, any, StatsFactoryContext], undefined>
13984
+ >;
13985
+ filter: HookMap<
13986
+ SyncBailHook<
13987
+ [any, StatsFactoryContext, number, number],
13988
+ undefined | boolean
13989
+ >
13990
+ >;
13991
+ sort: HookMap<
13992
+ SyncBailHook<
13993
+ [((arg0?: any, arg1?: any) => 0 | 1 | -1)[], StatsFactoryContext],
13994
+ undefined
13995
+ >
13996
+ >;
13997
+ filterSorted: HookMap<
13998
+ SyncBailHook<
13999
+ [any, StatsFactoryContext, number, number],
14000
+ undefined | boolean
14001
+ >
14002
+ >;
14003
+ groupResults: HookMap<
14004
+ SyncBailHook<[GroupConfig[], StatsFactoryContext], undefined>
14005
+ >;
14006
+ sortResults: HookMap<
14007
+ SyncBailHook<
14008
+ [((arg0?: any, arg1?: any) => 0 | 1 | -1)[], StatsFactoryContext],
14009
+ undefined
14010
+ >
14011
+ >;
14012
+ filterResults: HookMap<
14013
+ SyncBailHook<
14014
+ [any, StatsFactoryContext, number, number],
14015
+ undefined | boolean
14016
+ >
14017
+ >;
14018
+ merge: HookMap<SyncBailHook<[any[], StatsFactoryContext], any>>;
14019
+ result: HookMap<SyncBailHook<[any, StatsFactoryContext], any>>;
14020
+ getItemName: HookMap<SyncBailHook<[any, StatsFactoryContext], string>>;
14021
+ getItemFactory: HookMap<
14022
+ SyncBailHook<[any, StatsFactoryContext], undefined | StatsFactory>
14023
+ >;
14024
+ }
14025
+ type StatsLogging = Record<string, any> & KnownStatsLogging;
14026
+ type StatsLoggingEntry = Record<string, any> & KnownStatsLoggingEntry;
14027
+ type StatsModule = Record<string, any> & KnownStatsModule;
14028
+ type StatsModuleIssuer = Record<string, any> & KnownStatsModuleIssuer;
14029
+ type StatsModuleReason = Record<string, any> & KnownStatsModuleReason;
14030
+ type StatsModuleTraceDependency = Record<string, any> &
14031
+ KnownStatsModuleTraceDependency;
14032
+ type StatsModuleTraceItem = Record<string, any> & KnownStatsModuleTraceItem;
13708
14033
 
13709
14034
  /**
13710
14035
  * Stats options object.
@@ -14153,22 +14478,28 @@ declare interface StatsOptions {
14153
14478
  */
14154
14479
  warningsSpace?: number;
14155
14480
  }
14156
- declare abstract class StatsPrinter {
14157
- hooks: Readonly<{
14158
- sortElements: HookMap<SyncBailHook<[string[], StatsPrinterContext], true>>;
14159
- printElements: HookMap<
14160
- SyncBailHook<[PrintedElement[], StatsPrinterContext], string>
14161
- >;
14162
- sortItems: HookMap<SyncBailHook<[any[], StatsPrinterContext], true>>;
14163
- getItemName: HookMap<SyncBailHook<[any, StatsPrinterContext], string>>;
14164
- printItems: HookMap<SyncBailHook<[string[], StatsPrinterContext], string>>;
14165
- print: HookMap<SyncBailHook<[{}, StatsPrinterContext], string>>;
14166
- result: HookMap<SyncWaterfallHook<[string, StatsPrinterContext]>>;
14167
- }>;
14168
- print(type: string, object: object, baseContext?: object): string;
14481
+ declare interface StatsPrintHooks {
14482
+ sortElements: HookMap<SyncBailHook<[string[], StatsPrinterContext], void>>;
14483
+ printElements: HookMap<
14484
+ SyncBailHook<[PrintedElement[], StatsPrinterContext], undefined | string>
14485
+ >;
14486
+ sortItems: HookMap<SyncBailHook<[any[], StatsPrinterContext], true>>;
14487
+ getItemName: HookMap<SyncBailHook<[any, StatsPrinterContext], string>>;
14488
+ printItems: HookMap<
14489
+ SyncBailHook<[string[], StatsPrinterContext], undefined | string>
14490
+ >;
14491
+ print: HookMap<SyncBailHook<[any, StatsPrinterContext], string | void>>;
14492
+ result: HookMap<SyncWaterfallHook<[string, StatsPrinterContext]>>;
14169
14493
  }
14170
- type StatsPrinterContext = KnownStatsPrinterContext & Record<string, any>;
14171
- type StatsProfile = KnownStatsProfile & Record<string, any>;
14494
+ declare abstract class StatsPrinter {
14495
+ hooks: StatsPrintHooks;
14496
+ print(type: string, object?: any, baseContext?: StatsPrinterContext): string;
14497
+ }
14498
+ type StatsPrinterContext = Record<string, any> &
14499
+ KnownStatsPrinterColorFn &
14500
+ KnownStatsPrinterFormaters &
14501
+ KnownStatsPrinterContext;
14502
+ type StatsProfile = Record<string, any> & KnownStatsProfile;
14172
14503
  type StatsValue =
14173
14504
  | boolean
14174
14505
  | StatsOptions
@@ -14197,7 +14528,7 @@ declare class SyncModuleIdsPlugin {
14197
14528
  /**
14198
14529
  * operation mode (defaults to merge)
14199
14530
  */
14200
- mode?: "read" | "merge" | "create" | "update";
14531
+ mode?: "read" | "create" | "merge" | "update";
14201
14532
  });
14202
14533
 
14203
14534
  /**
@@ -14223,6 +14554,15 @@ declare interface TagInfo {
14223
14554
  data: any;
14224
14555
  next?: TagInfo;
14225
14556
  }
14557
+ declare interface TargetItem {
14558
+ module: Module;
14559
+ connection: ModuleGraphConnection;
14560
+ export?: string[];
14561
+ }
14562
+ declare interface TargetItemWithoutConnection {
14563
+ module: Module;
14564
+ export: string[];
14565
+ }
14226
14566
  declare class Template {
14227
14567
  constructor();
14228
14568
  static getFunctionContent(fn: Function): string;
@@ -14239,7 +14579,7 @@ declare class Template {
14239
14579
  static renderChunkModules(
14240
14580
  renderContext: ChunkRenderContext,
14241
14581
  modules: Module[],
14242
- renderModule: (arg0: Module) => Source,
14582
+ renderModule: (arg0: Module) => null | Source,
14243
14583
  prefix?: string
14244
14584
  ): null | Source;
14245
14585
  static renderRuntimeModules(
@@ -14255,6 +14595,7 @@ declare class Template {
14255
14595
  static NUMBER_OF_IDENTIFIER_START_CHARS: number;
14256
14596
  static NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS: number;
14257
14597
  }
14598
+ type TemplatePath = string | ((arg0: PathData, arg1?: AssetInfo) => string);
14258
14599
  declare interface TimestampAndHash {
14259
14600
  safeTime: number;
14260
14601
  timestamp?: number;
@@ -14305,6 +14646,9 @@ declare interface UpdateHashContextGenerator {
14305
14646
  runtimeTemplate?: RuntimeTemplate;
14306
14647
  }
14307
14648
  type UsageStateType = 0 | 1 | 2 | 3 | 4;
14649
+ type UsedName = string | false | string[];
14650
+ type Value = string | number | boolean | RegExp;
14651
+ type ValueCacheVersion = undefined | string | Set<string>;
14308
14652
  declare abstract class VariableInfo {
14309
14653
  declaredScope: ScopeInfo;
14310
14654
  freeName?: string | true;
@@ -14328,10 +14672,10 @@ declare interface WatchFileSystem {
14328
14672
  options: WatchOptions,
14329
14673
  callback: (
14330
14674
  arg0: null | Error,
14331
- arg1: Map<string, FileSystemInfoEntry | "ignore">,
14332
- arg2: Map<string, FileSystemInfoEntry | "ignore">,
14333
- arg3: Set<string>,
14334
- arg4: Set<string>
14675
+ arg1?: Map<string, FileSystemInfoEntry | "ignore">,
14676
+ arg2?: Map<string, FileSystemInfoEntry | "ignore">,
14677
+ arg3?: Set<string>,
14678
+ arg4?: Set<string>
14335
14679
  ) => void,
14336
14680
  callbackUndelayed: (arg0: string, arg1: number) => void
14337
14681
  ) => Watcher;
@@ -14446,28 +14790,7 @@ declare abstract class Watching {
14446
14790
  closed: boolean;
14447
14791
  suspended: boolean;
14448
14792
  blocked: boolean;
14449
- watchOptions: {
14450
- /**
14451
- * Delay the rebuilt after the first change. Value is a time in ms.
14452
- */
14453
- aggregateTimeout?: number;
14454
- /**
14455
- * Resolve symlinks and watch symlink and real file. This is usually not needed as webpack already resolves symlinks ('resolve.symlinks').
14456
- */
14457
- followSymlinks?: boolean;
14458
- /**
14459
- * Ignore some files from watching (glob pattern or regexp).
14460
- */
14461
- ignored?: string | RegExp | string[];
14462
- /**
14463
- * Enable polling mode for watching.
14464
- */
14465
- poll?: number | boolean;
14466
- /**
14467
- * Stop watching when stdin stream has ended.
14468
- */
14469
- stdin?: boolean;
14470
- };
14793
+ watchOptions: WatchOptions;
14471
14794
  compiler: Compiler;
14472
14795
  running: boolean;
14473
14796
  watcher?: null | Watcher;
@@ -14574,7 +14897,7 @@ declare abstract class WebpackLogger {
14574
14897
  status(...args: any[]): void;
14575
14898
  group(...args: any[]): void;
14576
14899
  groupCollapsed(...args: any[]): void;
14577
- groupEnd(...args: any[]): void;
14900
+ groupEnd(): void;
14578
14901
  profile(label?: string): void;
14579
14902
  profileEnd(label?: string): void;
14580
14903
  time(label: string): void;
@@ -14673,6 +14996,7 @@ declare interface WebpackOptionsNormalized {
14673
14996
  | "jsonp"
14674
14997
  | "system"
14675
14998
  | "promise"
14999
+ | "module-import"
14676
15000
  | "script"
14677
15001
  | "node-commonjs";
14678
15002
 
@@ -14982,18 +15306,11 @@ declare namespace exports {
14982
15306
  ) => void;
14983
15307
  export const version: string;
14984
15308
  export namespace cli {
14985
- export let getArguments: (schema?: any) => Record<string, Argument>;
15309
+ export let getArguments: (schema?: any) => Flags;
14986
15310
  export let processArguments: (
14987
- args: Record<string, Argument>,
15311
+ args: Flags,
14988
15312
  config: any,
14989
- values: Record<
14990
- string,
14991
- | string
14992
- | number
14993
- | boolean
14994
- | RegExp
14995
- | (string | number | boolean | RegExp)[]
14996
- >
15313
+ values: Record<string, Value[]>
14997
15314
  ) => null | Problem[];
14998
15315
  }
14999
15316
  export namespace ModuleFilenameHelpers {
@@ -15289,7 +15606,7 @@ declare namespace exports {
15289
15606
  export { ProfilingPlugin };
15290
15607
  }
15291
15608
  export namespace util {
15292
- export const createHash: (algorithm: string | typeof Hash) => Hash;
15609
+ export const createHash: (algorithm: Algorithm) => Hash;
15293
15610
  export namespace comparators {
15294
15611
  export let compareChunksById: (a: Chunk, b: Chunk) => 0 | 1 | -1;
15295
15612
  export let compareModulesByIdentifier: (
@@ -15418,7 +15735,10 @@ declare namespace exports {
15418
15735
  ) => Serializer;
15419
15736
  export { MEASURE_START_OPERATION, MEASURE_END_OPERATION };
15420
15737
  }
15421
- export const cleverMerge: <T, O>(first: T, second: O) => T | O | (T & O);
15738
+ export const cleverMerge: <T, O>(
15739
+ first?: null | T,
15740
+ second?: null | O
15741
+ ) => T | O | (T & O);
15422
15742
  export function compileBooleanMatcher(
15423
15743
  map: Record<string | number, boolean>
15424
15744
  ): boolean | ((arg0: string) => string);
@@ -15575,7 +15895,7 @@ declare namespace exports {
15575
15895
  LoaderDefinitionFunction,
15576
15896
  PitchLoaderDefinitionFunction,
15577
15897
  RawLoaderDefinitionFunction,
15578
- LoaderContext
15898
+ LoaderContextDeclarationsIndex as LoaderContext
15579
15899
  };
15580
15900
  }
15581
15901
  declare const topLevelSymbolTag: unique symbol;