webpack 5.92.1 → 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 (350) 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 +36 -21
  28. package/lib/ContextModuleFactory.js +89 -44
  29. package/lib/ContextReplacementPlugin.js +10 -9
  30. package/lib/DefinePlugin.js +76 -69
  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 +132 -70
  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/UseStrictPlugin.js +8 -1
  95. package/lib/WarnDeprecatedOptionPlugin.js +0 -1
  96. package/lib/WatchIgnorePlugin.js +26 -9
  97. package/lib/Watching.js +10 -5
  98. package/lib/WebpackOptionsApply.js +89 -62
  99. package/lib/asset/AssetGenerator.js +107 -42
  100. package/lib/asset/AssetModulesPlugin.js +29 -23
  101. package/lib/asset/AssetSourceGenerator.js +2 -7
  102. package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
  103. package/lib/buildChunkGraph.js +14 -19
  104. package/lib/cache/IdleFileCachePlugin.js +4 -4
  105. package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
  106. package/lib/cache/PackFileCacheStrategy.js +51 -50
  107. package/lib/cache/ResolverCachePlugin.js +6 -6
  108. package/lib/cache/mergeEtags.js +16 -21
  109. package/lib/cli.js +148 -104
  110. package/lib/config/browserslistTargetHandler.js +16 -13
  111. package/lib/config/defaults.js +31 -28
  112. package/lib/config/normalization.js +335 -344
  113. package/lib/config/target.js +42 -52
  114. package/lib/container/ContainerEntryModule.js +2 -2
  115. package/lib/container/ContainerPlugin.js +1 -1
  116. package/lib/container/RemoteRuntimeModule.js +11 -8
  117. package/lib/container/options.js +18 -4
  118. package/lib/css/CssExportsGenerator.js +39 -40
  119. package/lib/css/CssGenerator.js +11 -14
  120. package/lib/css/CssLoadingRuntimeModule.js +10 -10
  121. package/lib/css/CssModulesPlugin.js +127 -47
  122. package/lib/css/CssParser.js +20 -18
  123. package/lib/css/walkCssTokens.js +80 -95
  124. package/lib/debug/ProfilingPlugin.js +19 -20
  125. package/lib/dependencies/AMDDefineDependency.js +1 -1
  126. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
  127. package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
  128. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
  129. package/lib/dependencies/AMDRuntimeModules.js +2 -2
  130. package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
  131. package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
  132. package/lib/dependencies/CommonJsExportsDependency.js +0 -1
  133. package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
  134. package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
  135. package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
  136. package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
  137. package/lib/dependencies/ConstDependency.js +1 -1
  138. package/lib/dependencies/ContextDependency.js +1 -1
  139. package/lib/dependencies/ContextDependencyHelpers.js +31 -34
  140. package/lib/dependencies/ContextElementDependency.js +2 -2
  141. package/lib/dependencies/CriticalDependencyWarning.js +1 -1
  142. package/lib/dependencies/CssExportDependency.js +72 -9
  143. package/lib/dependencies/CssImportDependency.js +0 -2
  144. package/lib/dependencies/CssLocalIdentifierDependency.js +68 -21
  145. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
  146. package/lib/dependencies/CssUrlDependency.js +4 -5
  147. package/lib/dependencies/DynamicExports.js +5 -5
  148. package/lib/dependencies/ExportsInfoDependency.js +1 -2
  149. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
  150. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
  151. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
  152. package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
  153. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
  154. package/lib/dependencies/HarmonyExports.js +2 -2
  155. package/lib/dependencies/HarmonyImportDependency.js +2 -4
  156. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
  157. package/lib/dependencies/HarmonyImportSpecifierDependency.js +41 -16
  158. package/lib/dependencies/ImportDependency.js +1 -1
  159. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
  160. package/lib/dependencies/ImportMetaPlugin.js +11 -13
  161. package/lib/dependencies/ImportParserPlugin.js +39 -44
  162. package/lib/dependencies/JsonExportsDependency.js +22 -18
  163. package/lib/dependencies/LoaderPlugin.js +47 -36
  164. package/lib/dependencies/LocalModule.js +1 -1
  165. package/lib/dependencies/LocalModulesHelpers.js +4 -4
  166. package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
  167. package/lib/dependencies/ProvidedDependency.js +1 -1
  168. package/lib/dependencies/PureExpressionDependency.js +6 -6
  169. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
  170. package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
  171. package/lib/dependencies/SystemPlugin.js +1 -1
  172. package/lib/dependencies/URLDependency.js +3 -3
  173. package/lib/dependencies/URLPlugin.js +66 -12
  174. package/lib/dependencies/WorkerPlugin.js +25 -24
  175. package/lib/dependencies/processExportInfo.js +3 -1
  176. package/lib/electron/ElectronTargetPlugin.js +1 -0
  177. package/lib/esm/ModuleChunkFormatPlugin.js +11 -12
  178. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
  179. package/lib/formatLocation.js +1 -2
  180. package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
  181. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  182. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
  183. package/lib/hmr/LazyCompilationPlugin.js +27 -12
  184. package/lib/hmr/lazyCompilationBackend.js +64 -40
  185. package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
  186. package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
  187. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  188. package/lib/ids/HashedModuleIdsPlugin.js +5 -1
  189. package/lib/ids/IdHelpers.js +29 -39
  190. package/lib/ids/SyncModuleIdsPlugin.js +7 -2
  191. package/lib/index.js +1 -5
  192. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +6 -4
  193. package/lib/javascript/BasicEvaluatedExpression.js +4 -19
  194. package/lib/javascript/ChunkHelpers.js +1 -1
  195. package/lib/javascript/CommonJsChunkFormatPlugin.js +10 -11
  196. package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
  197. package/lib/javascript/JavascriptGenerator.js +23 -7
  198. package/lib/javascript/JavascriptModulesPlugin.js +97 -70
  199. package/lib/javascript/JavascriptParser.js +179 -200
  200. package/lib/javascript/JavascriptParserHelpers.js +20 -21
  201. package/lib/javascript/StartupHelpers.js +41 -13
  202. package/lib/json/JsonGenerator.js +7 -13
  203. package/lib/json/JsonModulesPlugin.js +1 -4
  204. package/lib/json/JsonParser.js +5 -3
  205. package/lib/library/AmdLibraryPlugin.js +12 -16
  206. package/lib/library/AssignLibraryPlugin.js +9 -11
  207. package/lib/library/EnableLibraryPlugin.js +25 -15
  208. package/lib/library/ExportPropertyLibraryPlugin.js +8 -2
  209. package/lib/library/JsonpLibraryPlugin.js +2 -1
  210. package/lib/library/ModernModuleLibraryPlugin.js +144 -0
  211. package/lib/library/ModuleLibraryPlugin.js +2 -1
  212. package/lib/library/SystemLibraryPlugin.js +2 -1
  213. package/lib/library/UmdLibraryPlugin.js +66 -92
  214. package/lib/logging/Logger.js +32 -4
  215. package/lib/logging/createConsoleLogger.js +12 -13
  216. package/lib/logging/runtime.js +7 -8
  217. package/lib/logging/truncateArgs.js +5 -8
  218. package/lib/node/NodeWatchFileSystem.js +3 -18
  219. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
  220. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
  221. package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
  222. package/lib/node/nodeConsole.js +22 -22
  223. package/lib/optimize/AggressiveMergingPlugin.js +2 -4
  224. package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
  225. package/lib/optimize/ConcatenatedModule.js +144 -61
  226. package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
  227. package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
  228. package/lib/optimize/InnerGraph.js +17 -17
  229. package/lib/optimize/InnerGraphPlugin.js +8 -7
  230. package/lib/optimize/LimitChunkCountPlugin.js +2 -3
  231. package/lib/optimize/MangleExportsPlugin.js +1 -0
  232. package/lib/optimize/MinMaxSizeWarning.js +1 -1
  233. package/lib/optimize/ModuleConcatenationPlugin.js +56 -78
  234. package/lib/optimize/RealContentHashPlugin.js +7 -10
  235. package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
  236. package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
  237. package/lib/optimize/SplitChunksPlugin.js +34 -30
  238. package/lib/performance/SizeLimitsPlugin.js +2 -2
  239. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -0
  240. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
  241. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
  242. package/lib/rules/BasicEffectRulePlugin.js +3 -1
  243. package/lib/rules/BasicMatcherRulePlugin.js +3 -1
  244. package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
  245. package/lib/rules/RuleSetCompiler.js +41 -22
  246. package/lib/rules/UseEffectRulePlugin.js +36 -32
  247. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
  248. package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
  249. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  250. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
  251. package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
  252. package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
  253. package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
  254. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
  255. package/lib/schemes/DataUriPlugin.js +1 -1
  256. package/lib/schemes/HttpUriPlugin.js +241 -126
  257. package/lib/serialization/BinaryMiddleware.js +44 -28
  258. package/lib/serialization/DateObjectSerializer.js +1 -0
  259. package/lib/serialization/ErrorObjectSerializer.js +2 -0
  260. package/lib/serialization/FileMiddleware.js +154 -106
  261. package/lib/serialization/MapObjectSerializer.js +2 -1
  262. package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
  263. package/lib/serialization/ObjectMiddleware.js +52 -56
  264. package/lib/serialization/PlainObjectSerializer.js +32 -6
  265. package/lib/serialization/RegExpObjectSerializer.js +1 -0
  266. package/lib/serialization/Serializer.js +4 -5
  267. package/lib/serialization/SerializerMiddleware.js +6 -6
  268. package/lib/serialization/SetObjectSerializer.js +2 -1
  269. package/lib/sharing/ConsumeSharedModule.js +19 -14
  270. package/lib/sharing/ConsumeSharedPlugin.js +116 -97
  271. package/lib/sharing/ConsumeSharedRuntimeModule.js +108 -141
  272. package/lib/sharing/ProvideForSharedDependency.js +0 -1
  273. package/lib/sharing/ProvideSharedPlugin.js +2 -2
  274. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  275. package/lib/sharing/utils.js +15 -27
  276. package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
  277. package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
  278. package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
  279. package/lib/stats/StatsFactory.js +127 -56
  280. package/lib/stats/StatsPrinter.js +75 -44
  281. package/lib/util/ArrayHelpers.js +8 -4
  282. package/lib/util/ArrayQueue.js +1 -1
  283. package/lib/util/AsyncQueue.js +31 -12
  284. package/lib/util/IterableHelpers.js +3 -4
  285. package/lib/util/LazyBucketSortedSet.js +60 -44
  286. package/lib/util/LazySet.js +1 -0
  287. package/lib/util/MapHelpers.js +1 -3
  288. package/lib/util/ParallelismFactorCalculator.js +1 -1
  289. package/lib/util/Queue.js +1 -1
  290. package/lib/util/Semaphore.js +4 -7
  291. package/lib/util/SetHelpers.js +5 -5
  292. package/lib/util/SortableSet.js +4 -3
  293. package/lib/util/StackedCacheMap.js +4 -6
  294. package/lib/util/StackedMap.js +1 -3
  295. package/lib/util/StringXor.js +0 -5
  296. package/lib/util/TupleQueue.js +1 -1
  297. package/lib/util/TupleSet.js +15 -5
  298. package/lib/util/URLAbsoluteSpecifier.js +7 -7
  299. package/lib/util/WeakTupleMap.js +19 -21
  300. package/lib/util/binarySearchBounds.js +5 -12
  301. package/lib/util/chainedImports.js +1 -1
  302. package/lib/util/cleverMerge.js +21 -19
  303. package/lib/util/comparators.js +57 -52
  304. package/lib/util/compileBooleanMatcher.js +3 -6
  305. package/lib/util/conventions.js +10 -13
  306. package/lib/util/createHash.js +9 -6
  307. package/lib/util/deprecation.js +22 -12
  308. package/lib/util/deterministicGrouping.js +19 -26
  309. package/lib/util/findGraphRoots.js +2 -2
  310. package/lib/util/fs.js +31 -31
  311. package/lib/util/hash/md4.js +2 -2
  312. package/lib/util/hash/wasm-hash.js +7 -7
  313. package/lib/util/hash/xxhash64.js +2 -2
  314. package/lib/util/identifier.js +81 -59
  315. package/lib/util/memoize.js +8 -10
  316. package/lib/util/mergeScope.js +6 -9
  317. package/lib/util/nonNumericOnlyHash.js +2 -2
  318. package/lib/util/numberHash.js +1 -6
  319. package/lib/util/objectToMap.js +0 -1
  320. package/lib/util/propertyAccess.js +2 -5
  321. package/lib/util/propertyName.js +1 -3
  322. package/lib/util/registerExternalSerializer.js +1 -1
  323. package/lib/util/runtime.js +103 -113
  324. package/lib/util/semver.js +29 -27
  325. package/lib/util/serialization.js +16 -1
  326. package/lib/util/smartGrouping.js +5 -5
  327. package/lib/util/source.js +1 -1
  328. package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
  329. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
  330. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
  331. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
  332. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
  333. package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
  334. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
  335. package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
  336. package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
  337. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
  338. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
  339. package/package.json +17 -16
  340. package/schemas/WebpackOptions.check.js +1 -1
  341. package/schemas/WebpackOptions.json +17 -0
  342. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -1
  343. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -1
  344. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -1
  345. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  346. package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
  347. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  348. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  349. package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
  350. package/types.d.ts +682 -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;
@@ -306,6 +309,11 @@ type AssetInfo = KnownAssetInfo & Record<string, any>;
306
309
  * Generator options for asset/inline modules.
307
310
  */
308
311
  declare interface AssetInlineGeneratorOptions {
312
+ /**
313
+ * Whether or not this asset module should be considered binary. This can be set to 'false' to treat this asset module as text.
314
+ */
315
+ binary?: boolean;
316
+
309
317
  /**
310
318
  * The options for data url generator.
311
319
  */
@@ -346,6 +354,11 @@ declare interface AssetParserOptions {
346
354
  * Generator options for asset/resource modules.
347
355
  */
348
356
  declare interface AssetResourceGeneratorOptions {
357
+ /**
358
+ * Whether or not this asset module should be considered binary. This can be set to 'false' to treat this asset module as text.
359
+ */
360
+ binary?: boolean;
361
+
349
362
  /**
350
363
  * Emit an output asset from this asset module. This can be set to 'false' to omit emitting e. g. for SSR.
351
364
  */
@@ -390,7 +403,9 @@ declare abstract class AsyncQueue<T, K, R> {
390
403
  added: SyncHook<[T]>;
391
404
  beforeStart: AsyncSeriesHook<[T]>;
392
405
  started: SyncHook<[T]>;
393
- result: SyncHook<[T, Error, R]>;
406
+ result: SyncHook<
407
+ [T, undefined | null | WebpackError, undefined | null | R]
408
+ >;
394
409
  };
395
410
  add(item: T, callback: CallbackAsyncQueue<R>): void;
396
411
  invalidate(item: T): void;
@@ -440,8 +455,8 @@ declare class AutomaticPrefetchPlugin {
440
455
  }
441
456
  type AuxiliaryComment = string | LibraryCustomUmdCommentObject;
442
457
  declare interface BackendApi {
443
- dispose: (arg0?: Error) => void;
444
- module: (arg0: Module) => { client: string; data: string; active: boolean };
458
+ dispose: (arg0: (arg0?: null | Error) => void) => void;
459
+ module: (arg0: Module) => ModuleResult;
445
460
  }
446
461
  declare class BannerPlugin {
447
462
  constructor(options: BannerPluginArgument);
@@ -566,6 +581,7 @@ declare abstract class BasicEvaluatedExpression {
566
581
  | ThisExpression
567
582
  | UpdateExpression
568
583
  | YieldExpression
584
+ | SpreadElement
569
585
  | FunctionDeclaration
570
586
  | VariableDeclaration
571
587
  | ClassDeclaration
@@ -603,7 +619,6 @@ declare abstract class BasicEvaluatedExpression {
603
619
  | ArrayPattern
604
620
  | RestElement
605
621
  | AssignmentPattern
606
- | SpreadElement
607
622
  | Property
608
623
  | AssignmentProperty
609
624
  | ClassBody
@@ -789,6 +804,7 @@ declare abstract class BasicEvaluatedExpression {
789
804
  | ThisExpression
790
805
  | UpdateExpression
791
806
  | YieldExpression
807
+ | SpreadElement
792
808
  | FunctionDeclaration
793
809
  | VariableDeclaration
794
810
  | ClassDeclaration
@@ -826,7 +842,6 @@ declare abstract class BasicEvaluatedExpression {
826
842
  | ArrayPattern
827
843
  | RestElement
828
844
  | AssignmentPattern
829
- | SpreadElement
830
845
  | Property
831
846
  | AssignmentProperty
832
847
  | ClassBody
@@ -838,6 +853,13 @@ declare abstract class BasicEvaluatedExpression {
838
853
  | TemplateElement
839
854
  ): BasicEvaluatedExpression;
840
855
  }
856
+ declare interface Bootstrap {
857
+ header: string[];
858
+ beforeStartup: string[];
859
+ startup: string[];
860
+ afterStartup: string[];
861
+ allowInlineStartup: boolean;
862
+ }
841
863
  type BufferEncoding =
842
864
  | "ascii"
843
865
  | "utf8"
@@ -986,7 +1008,7 @@ declare interface CallExpressionInfo {
986
1008
  getMemberRanges: () => [number, number][];
987
1009
  }
988
1010
  declare interface CallbackAsyncQueue<T> {
989
- (err?: null | WebpackError, result?: T): any;
1011
+ (err?: null | WebpackError, result?: null | T): any;
990
1012
  }
991
1013
  declare interface CallbackCacheCache<T> {
992
1014
  (err: null | WebpackError, result?: T): void;
@@ -1173,7 +1195,7 @@ declare class ChunkGraph {
1173
1195
  connectChunkAndEntryModule(
1174
1196
  chunk: Chunk,
1175
1197
  module: Module,
1176
- entrypoint?: Entrypoint
1198
+ entrypoint: Entrypoint
1177
1199
  ): void;
1178
1200
  connectChunkAndRuntimeModule(chunk: Chunk, module: RuntimeModule): void;
1179
1201
  addFullHashModuleToChunk(chunk: Chunk, module: RuntimeModule): void;
@@ -1207,7 +1229,7 @@ declare class ChunkGraph {
1207
1229
  chunkGroup: ChunkGroup
1208
1230
  ): void;
1209
1231
  disconnectChunkGroup(chunkGroup: ChunkGroup): void;
1210
- getModuleId(module: Module): ModuleId;
1232
+ getModuleId(module: Module): null | string | number;
1211
1233
  setModuleId(module: Module, id: ModuleId): void;
1212
1234
  getRuntimeId(runtime: string): string | number;
1213
1235
  setRuntimeId(runtime: string, id: string | number): void;
@@ -1322,7 +1344,11 @@ declare abstract class ChunkGroup {
1322
1344
  hasBlock(block: AsyncDependenciesBlock): boolean;
1323
1345
  get blocksIterable(): Iterable<AsyncDependenciesBlock>;
1324
1346
  addBlock(block: AsyncDependenciesBlock): boolean;
1325
- addOrigin(module: Module, loc: DependencyLocation, request: string): void;
1347
+ addOrigin(
1348
+ module: null | Module,
1349
+ loc: DependencyLocation,
1350
+ request: string
1351
+ ): void;
1326
1352
  getFiles(): string[];
1327
1353
  remove(): void;
1328
1354
  sortItems(): void;
@@ -1473,7 +1499,7 @@ declare interface ChunkRenderContext {
1473
1499
  /**
1474
1500
  * rendering in strict context
1475
1501
  */
1476
- strictMode: boolean;
1502
+ strictMode?: boolean;
1477
1503
  }
1478
1504
  declare interface ChunkSizeOptions {
1479
1505
  /**
@@ -1488,12 +1514,57 @@ declare interface ChunkSizeOptions {
1488
1514
  }
1489
1515
  declare abstract class ChunkTemplate {
1490
1516
  hooks: Readonly<{
1491
- renderManifest: { tap: (options?: any, fn?: any) => void };
1492
- modules: { tap: (options?: any, fn?: any) => void };
1493
- render: { tap: (options?: any, fn?: any) => void };
1494
- renderWithEntry: { tap: (options?: any, fn?: any) => void };
1495
- hash: { tap: (options?: any, fn?: any) => void };
1496
- 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
+ };
1497
1568
  }>;
1498
1569
  get outputOptions(): Output;
1499
1570
  }
@@ -1599,7 +1670,7 @@ declare interface CodeGenerationResult {
1599
1670
  /**
1600
1671
  * the runtime requirements
1601
1672
  */
1602
- runtimeRequirements: ReadonlySet<string>;
1673
+ runtimeRequirements: null | ReadonlySet<string>;
1603
1674
 
1604
1675
  /**
1605
1676
  * a hash of the code generation result (will be automatically calculated from sources and runtimeRequirements if not provided)
@@ -1701,10 +1772,10 @@ declare class Compilation {
1701
1772
  * inspect, analyze, and/or modify the chunk graph.
1702
1773
  */
1703
1774
  afterChunks: SyncHook<[Iterable<Chunk>]>;
1704
- optimizeDependencies: SyncBailHook<[Iterable<Module>], any>;
1775
+ optimizeDependencies: SyncBailHook<[Iterable<Module>], boolean | void>;
1705
1776
  afterOptimizeDependencies: SyncHook<[Iterable<Module>]>;
1706
1777
  optimize: SyncHook<[]>;
1707
- optimizeModules: SyncBailHook<[Iterable<Module>], any>;
1778
+ optimizeModules: SyncBailHook<[Iterable<Module>], boolean | void>;
1708
1779
  afterOptimizeModules: SyncHook<[Iterable<Module>]>;
1709
1780
  optimizeChunks: SyncBailHook<
1710
1781
  [Iterable<Chunk>, ChunkGroup[]],
@@ -1729,13 +1800,13 @@ declare class Compilation {
1729
1800
  [Module, Set<string>, RuntimeRequirementsContext]
1730
1801
  >;
1731
1802
  runtimeRequirementInModule: HookMap<
1732
- SyncBailHook<[Module, Set<string>, RuntimeRequirementsContext], any>
1803
+ SyncBailHook<[Module, Set<string>, RuntimeRequirementsContext], void>
1733
1804
  >;
1734
1805
  additionalTreeRuntimeRequirements: SyncHook<
1735
1806
  [Chunk, Set<string>, RuntimeRequirementsContext]
1736
1807
  >;
1737
1808
  runtimeRequirementInTree: HookMap<
1738
- SyncBailHook<[Chunk, Set<string>, RuntimeRequirementsContext], any>
1809
+ SyncBailHook<[Chunk, Set<string>, RuntimeRequirementsContext], void>
1739
1810
  >;
1740
1811
  runtimeModule: SyncHook<[RuntimeModule, Chunk]>;
1741
1812
  reviveModules: SyncHook<[Iterable<Module>, any]>;
@@ -1820,7 +1891,9 @@ declare class Compilation {
1820
1891
  >;
1821
1892
  statsFactory: SyncHook<[StatsFactory, NormalizedStatsOptions]>;
1822
1893
  statsPrinter: SyncHook<[StatsPrinter, NormalizedStatsOptions]>;
1823
- get normalModuleLoader(): SyncHook<[object, NormalModule]>;
1894
+ get normalModuleLoader(): SyncHook<
1895
+ [LoaderContextNormalModule<any>, NormalModule]
1896
+ >;
1824
1897
  }>;
1825
1898
  name?: string;
1826
1899
  startTime?: number;
@@ -1829,7 +1902,7 @@ declare class Compilation {
1829
1902
  resolverFactory: ResolverFactory;
1830
1903
  inputFileSystem: InputFileSystem;
1831
1904
  fileSystemInfo: FileSystemInfo;
1832
- valueCacheVersions: Map<string, string | Set<string>>;
1905
+ valueCacheVersions: Map<string, ValueCacheVersion>;
1833
1906
  requestShortener: RequestShortener;
1834
1907
  compilerPath: string;
1835
1908
  logger: WebpackLogger;
@@ -1882,7 +1955,7 @@ declare class Compilation {
1882
1955
  logging: Map<string, LogEntry[]>;
1883
1956
  dependencyFactories: Map<DepConstructor, ModuleFactory>;
1884
1957
  dependencyTemplates: DependencyTemplates;
1885
- childrenCounters: object;
1958
+ childrenCounters: Record<string, number>;
1886
1959
  usedChunkIds: Set<string | number>;
1887
1960
  usedModuleIds: Set<number>;
1888
1961
  needAdditionalPass: boolean;
@@ -1907,7 +1980,7 @@ declare class Compilation {
1907
1980
  getLogger(name: string | (() => string)): WebpackLogger;
1908
1981
  addModule(
1909
1982
  module: Module,
1910
- callback: (err?: null | WebpackError, result?: Module) => void
1983
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1911
1984
  ): void;
1912
1985
 
1913
1986
  /**
@@ -1925,21 +1998,21 @@ declare class Compilation {
1925
1998
  */
1926
1999
  buildModule(
1927
2000
  module: Module,
1928
- callback: (err?: null | WebpackError, result?: Module) => void
2001
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1929
2002
  ): void;
1930
2003
  processModuleDependencies(
1931
2004
  module: Module,
1932
- callback: (err?: null | WebpackError, result?: Module) => void
2005
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1933
2006
  ): void;
1934
2007
  processModuleDependenciesNonRecursive(module: Module): void;
1935
2008
  handleModuleCreation(
1936
2009
  __0: HandleModuleCreationOptions,
1937
- callback: (err?: null | WebpackError, result?: Module) => void
2010
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1938
2011
  ): void;
1939
2012
  addModuleChain(
1940
2013
  context: string,
1941
2014
  dependency: Dependency,
1942
- callback: (err?: null | WebpackError, result?: Module) => void
2015
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1943
2016
  ): void;
1944
2017
  addModuleTree(
1945
2018
  __0: {
@@ -1956,23 +2029,23 @@ declare class Compilation {
1956
2029
  */
1957
2030
  contextInfo?: Partial<ModuleFactoryCreateDataContextInfo>;
1958
2031
  },
1959
- callback: (err?: null | WebpackError, result?: Module) => void
2032
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1960
2033
  ): void;
1961
2034
  addEntry(
1962
2035
  context: string,
1963
2036
  entry: Dependency,
1964
2037
  optionsOrName: string | EntryOptions,
1965
- callback: (err?: null | WebpackError, result?: Module) => void
2038
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1966
2039
  ): void;
1967
2040
  addInclude(
1968
2041
  context: string,
1969
2042
  dependency: Dependency,
1970
2043
  options: EntryOptions,
1971
- callback: (err?: null | WebpackError, result?: Module) => void
2044
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1972
2045
  ): void;
1973
2046
  rebuildModule(
1974
2047
  module: Module,
1975
- callback: (err?: null | WebpackError, result?: Module) => void
2048
+ callback: (err?: null | WebpackError, result?: null | Module) => void
1976
2049
  ): void;
1977
2050
  finish(callback: (err?: null | WebpackError) => void): void;
1978
2051
  unseal(): void;
@@ -2069,22 +2142,16 @@ declare class Compilation {
2069
2142
  createModuleAssets(): void;
2070
2143
  getRenderManifest(options: RenderManifestOptions): RenderManifestEntry[];
2071
2144
  createChunkAssets(callback: (err?: null | WebpackError) => void): void;
2072
- getPath(
2073
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2074
- data?: PathData
2075
- ): string;
2145
+ getPath(filename: TemplatePath, data?: PathData): string;
2076
2146
  getPathWithInfo(
2077
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2147
+ filename: TemplatePath,
2078
2148
  data?: PathData
2079
- ): { path: string; info: AssetInfo };
2080
- getAssetPath(
2081
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2082
- data: PathData
2083
- ): string;
2149
+ ): InterpolatedPathAndAssetInfo;
2150
+ getAssetPath(filename: TemplatePath, data: PathData): string;
2084
2151
  getAssetPathWithInfo(
2085
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string),
2152
+ filename: TemplatePath,
2086
2153
  data: PathData
2087
- ): { path: string; info: AssetInfo };
2154
+ ): InterpolatedPathAndAssetInfo;
2088
2155
  getWarnings(): WebpackError[];
2089
2156
  getErrors(): WebpackError[];
2090
2157
 
@@ -2104,13 +2171,13 @@ declare class Compilation {
2104
2171
  executeModule(
2105
2172
  module: Module,
2106
2173
  options: ExecuteModuleOptions,
2107
- callback: (err?: null | WebpackError, result?: ExecuteModuleResult) => void
2174
+ callback: (err: null | WebpackError, result?: ExecuteModuleResult) => void
2108
2175
  ): void;
2109
2176
  checkConstraints(): void;
2110
2177
  factorizeModule: {
2111
2178
  (
2112
2179
  options: FactorizeModuleOptions & { factoryResult?: false },
2113
- callback: (err?: null | WebpackError, result?: Module) => void
2180
+ callback: (err?: null | WebpackError, result?: null | Module) => void
2114
2181
  ): void;
2115
2182
  (
2116
2183
  options: FactorizeModuleOptions & { factoryResult: true },
@@ -2267,7 +2334,7 @@ declare class Compiler {
2267
2334
  invalid: SyncHook<[null | string, number]>;
2268
2335
  watchClose: SyncHook<[]>;
2269
2336
  shutdown: AsyncSeriesHook<[]>;
2270
- infrastructureLog: SyncBailHook<[string, string, any[]], true>;
2337
+ infrastructureLog: SyncBailHook<[string, string, undefined | any[]], true>;
2271
2338
  environment: SyncHook<[]>;
2272
2339
  afterEnvironment: SyncHook<[]>;
2273
2340
  afterPlugins: SyncHook<[Compiler]>;
@@ -2299,7 +2366,11 @@ declare class Compiler {
2299
2366
  >;
2300
2367
  fsStartTime?: number;
2301
2368
  resolverFactory: ResolverFactory;
2302
- infrastructureLogger?: (arg0: string, arg1: LogTypeEnum, arg2: any[]) => void;
2369
+ infrastructureLogger?: (
2370
+ arg0: string,
2371
+ arg1: LogTypeEnum,
2372
+ arg2?: any[]
2373
+ ) => void;
2303
2374
  platform: Readonly<PlatformTargetProperties>;
2304
2375
  options: WebpackOptionsNormalized;
2305
2376
  context: string;
@@ -2505,6 +2576,7 @@ declare interface Configuration {
2505
2576
  | "jsonp"
2506
2577
  | "system"
2507
2578
  | "promise"
2579
+ | "module-import"
2508
2580
  | "script"
2509
2581
  | "node-commonjs";
2510
2582
 
@@ -2758,9 +2830,7 @@ declare interface ConsumesConfig {
2758
2830
  declare interface ConsumesObject {
2759
2831
  [index: string]: string | ConsumesConfig;
2760
2832
  }
2761
- type ContainerOptionsFormat<T> =
2762
- | Record<string, string | string[] | T>
2763
- | (string | Record<string, string | string[] | T>)[];
2833
+ type ContainerOptionsFormat<T> = Item<T> | (string | Item<T>)[];
2764
2834
  declare class ContainerPlugin {
2765
2835
  constructor(options: ContainerPluginOptions);
2766
2836
 
@@ -2824,8 +2894,12 @@ declare interface ContainerReferencePluginOptions {
2824
2894
  */
2825
2895
  shareScope?: string;
2826
2896
  }
2897
+ declare interface ContextAlternativeRequest {
2898
+ context: string;
2899
+ request: string;
2900
+ }
2827
2901
  declare abstract class ContextElementDependency extends ModuleDependency {
2828
- referencedExports?: string[][];
2902
+ referencedExports?: null | string[][];
2829
2903
  }
2830
2904
  declare class ContextExclusionPlugin {
2831
2905
  constructor(negativeMatcher: RegExp);
@@ -2861,12 +2935,12 @@ declare abstract class ContextModuleFactory extends ModuleFactory {
2861
2935
  contextModuleFiles: SyncWaterfallHook<[string[]]>;
2862
2936
  alternatives: FakeHook<
2863
2937
  Pick<
2864
- AsyncSeriesWaterfallHook<[any[]]>,
2938
+ AsyncSeriesWaterfallHook<[ContextAlternativeRequest[]]>,
2865
2939
  "name" | "tap" | "tapAsync" | "tapPromise"
2866
2940
  >
2867
2941
  >;
2868
2942
  alternativeRequests: AsyncSeriesWaterfallHook<
2869
- [any[], ContextModuleOptions]
2943
+ [ContextAlternativeRequest[], ContextModuleOptions]
2870
2944
  >;
2871
2945
  }>;
2872
2946
  resolverFactory: ResolverFactory;
@@ -2874,7 +2948,7 @@ declare abstract class ContextModuleFactory extends ModuleFactory {
2874
2948
  fs: InputFileSystem,
2875
2949
  options: ContextModuleOptions,
2876
2950
  callback: (
2877
- err?: null | Error,
2951
+ err: null | Error,
2878
2952
  dependencies?: ContextElementDependency[]
2879
2953
  ) => any
2880
2954
  ): void;
@@ -2909,14 +2983,14 @@ declare class ContextReplacementPlugin {
2909
2983
  resourceRegExp: RegExp,
2910
2984
  newContentResource?: any,
2911
2985
  newContentRecursive?: any,
2912
- newContentRegExp?: any
2986
+ newContentRegExp?: RegExp
2913
2987
  );
2914
2988
  resourceRegExp: RegExp;
2915
2989
  newContentCallback: any;
2916
2990
  newContentResource: any;
2917
2991
  newContentCreateContextMap: any;
2918
2992
  newContentRecursive: any;
2919
- newContentRegExp: any;
2993
+ newContentRegExp?: RegExp;
2920
2994
 
2921
2995
  /**
2922
2996
  * Apply the plugin
@@ -2930,8 +3004,8 @@ declare interface ContextTimestampAndHash {
2930
3004
  resolved?: ResolvedContextTimestampAndHash;
2931
3005
  symlinks?: Set<string>;
2932
3006
  }
2933
- type CreateStatsOptionsContext = KnownCreateStatsOptionsContext &
2934
- Record<string, any>;
3007
+ type CreateStatsOptionsContext = Record<string, any> &
3008
+ KnownCreateStatsOptionsContext;
2935
3009
  type CreateWriteStreamFSImplementation = FSImplementation & {
2936
3010
  write: (...args: any[]) => any;
2937
3011
  close?: (...args: any[]) => any;
@@ -3105,14 +3179,14 @@ declare class DefinePlugin {
3105
3179
  fn: (arg0: {
3106
3180
  module: NormalModule;
3107
3181
  key: string;
3108
- readonly version?: string;
3182
+ readonly version: ValueCacheVersion;
3109
3183
  }) => CodeValuePrimitive,
3110
3184
  options?: true | string[] | RuntimeValueOptions
3111
3185
  ): RuntimeValue;
3112
3186
  }
3113
3187
  declare class DelegatedPlugin {
3114
- constructor(options?: any);
3115
- options: any;
3188
+ constructor(options: Options);
3189
+ options: Options;
3116
3190
 
3117
3191
  /**
3118
3192
  * Apply the plugin
@@ -3609,6 +3683,9 @@ declare interface Effect {
3609
3683
  type: string;
3610
3684
  value: any;
3611
3685
  }
3686
+ declare interface EffectData {
3687
+ [index: string]: any;
3688
+ }
3612
3689
  declare class ElectronTargetPlugin {
3613
3690
  constructor(context?: "main" | "preload" | "renderer");
3614
3691
 
@@ -3849,8 +3926,7 @@ type EntryOptions = { name?: string } & Omit<
3849
3926
  >;
3850
3927
  declare class EntryPlugin {
3851
3928
  /**
3852
- * An entry plugin which will handle
3853
- * creation of the EntryDependency
3929
+ * An entry plugin which will handle creation of the EntryDependency
3854
3930
  */
3855
3931
  constructor(context: string, entry: string, options?: string | EntryOptions);
3856
3932
  context: string;
@@ -3972,9 +4048,9 @@ declare interface Environment {
3972
4048
  templateLiteral?: boolean;
3973
4049
  }
3974
4050
  declare class EnvironmentPlugin {
3975
- constructor(...keys: any[]);
3976
- keys: any[];
3977
- defaultValues: any;
4051
+ constructor(...keys: (string | string[] | Record<string, string>)[]);
4052
+ keys: string[];
4053
+ defaultValues: Record<string, string>;
3978
4054
 
3979
4055
  /**
3980
4056
  * Apply the plugin
@@ -4180,7 +4256,7 @@ declare abstract class ExportInfo {
4180
4256
  setTarget(
4181
4257
  key: any,
4182
4258
  connection: ModuleGraphConnection,
4183
- exportName?: string[],
4259
+ exportName?: null | string[],
4184
4260
  priority?: number
4185
4261
  ): boolean;
4186
4262
  getUsed(runtime: RuntimeSpec): UsageStateType;
@@ -4200,42 +4276,30 @@ declare abstract class ExportInfo {
4200
4276
  setUsedName(name: string): void;
4201
4277
  getTerminalBinding(
4202
4278
  moduleGraph: ModuleGraph,
4203
- resolveTargetFilter?: (arg0: {
4204
- module: Module;
4205
- export?: string[];
4206
- }) => boolean
4279
+ resolveTargetFilter?: (arg0: TargetItem) => boolean
4207
4280
  ): undefined | ExportsInfo | ExportInfo;
4208
4281
  isReexport(): undefined | boolean;
4209
4282
  findTarget(
4210
4283
  moduleGraph: ModuleGraph,
4211
4284
  validTargetModuleFilter: (arg0: Module) => boolean
4212
- ): undefined | false | { module: Module; export?: string[] };
4285
+ ): undefined | null | false | TargetItemWithoutConnection;
4213
4286
  getTarget(
4214
4287
  moduleGraph: ModuleGraph,
4215
- resolveTargetFilter?: (arg0: {
4216
- module: Module;
4217
- export?: string[];
4218
- }) => boolean
4219
- ): undefined | { module: Module; export?: string[] };
4288
+ resolveTargetFilter?: (arg0: TargetItem) => boolean
4289
+ ): undefined | TargetItem;
4220
4290
 
4221
4291
  /**
4222
4292
  * Move the target forward as long resolveTargetFilter is fulfilled
4223
4293
  */
4224
4294
  moveTarget(
4225
4295
  moduleGraph: ModuleGraph,
4226
- resolveTargetFilter: (arg0: {
4227
- module: Module;
4228
- export?: string[];
4229
- }) => boolean,
4230
- updateOriginalConnection?: (arg0: {
4231
- module: Module;
4232
- export?: string[];
4233
- }) => ModuleGraphConnection
4234
- ): undefined | { module: Module; export?: string[] };
4235
- createNestedExportsInfo(): undefined | ExportsInfo;
4296
+ resolveTargetFilter: (arg0: TargetItem) => boolean,
4297
+ updateOriginalConnection?: (arg0: TargetItem) => ModuleGraphConnection
4298
+ ): undefined | TargetItem;
4299
+ createNestedExportsInfo(): ExportsInfo;
4236
4300
  getNestedExportsInfo(): undefined | ExportsInfo;
4237
- hasInfo(baseInfo?: any, runtime?: any): boolean;
4238
- updateHash(hash?: any, runtime?: any): void;
4301
+ hasInfo(baseInfo: ExportInfo, runtime: RuntimeSpec): boolean;
4302
+ updateHash(hash: Hash, runtime: RuntimeSpec): void;
4239
4303
  getUsedInfo(): string;
4240
4304
  getProvidedInfo():
4241
4305
  | "no provided info"
@@ -4320,12 +4384,9 @@ declare abstract class ExportsInfo {
4320
4384
  getUsageKey(runtime: RuntimeSpec): string;
4321
4385
  isEquallyUsed(runtimeA: RuntimeSpec, runtimeB: RuntimeSpec): boolean;
4322
4386
  getUsed(name: string | string[], runtime: RuntimeSpec): UsageStateType;
4323
- getUsedName(
4324
- name: undefined | string | string[],
4325
- runtime: RuntimeSpec
4326
- ): string | false | string[];
4387
+ getUsedName(name: string | string[], runtime: RuntimeSpec): UsedName;
4327
4388
  updateHash(hash: Hash, runtime: RuntimeSpec): void;
4328
- getRestoreProvidedData(): any;
4389
+ getRestoreProvidedData(): RestoreProvidedData;
4329
4390
  restoreProvided(__0: {
4330
4391
  otherProvided: any;
4331
4392
  otherCanMangleProvide: any;
@@ -4347,7 +4408,7 @@ declare interface ExportsSpec {
4347
4408
  /**
4348
4409
  * list of maybe prior exposed, but now hidden exports
4349
4410
  */
4350
- hideExports?: Set<string>;
4411
+ hideExports?: null | Set<string>;
4351
4412
 
4352
4413
  /**
4353
4414
  * when reexported: from which module
@@ -4521,6 +4582,7 @@ declare class ExternalModule extends Module {
4521
4582
  externalType: string;
4522
4583
  userRequest: string;
4523
4584
  dependencyMeta?: ImportDependencyMeta | CssImportDependencyMeta;
4585
+ getModuleImportType(externalType: string): string;
4524
4586
 
4525
4587
  /**
4526
4588
  * restore unsafe cache data
@@ -4622,6 +4684,7 @@ type ExternalsType =
4622
4684
  | "jsonp"
4623
4685
  | "system"
4624
4686
  | "promise"
4687
+ | "module-import"
4625
4688
  | "script"
4626
4689
  | "node-commonjs";
4627
4690
  declare interface FSImplementation {
@@ -4799,16 +4862,12 @@ declare interface FileSystem {
4799
4862
  declare abstract class FileSystemInfo {
4800
4863
  fs: InputFileSystem;
4801
4864
  logger?: WebpackLogger;
4802
- fileTimestampQueue: AsyncQueue<string, string, null | FileSystemInfoEntry>;
4803
- fileHashQueue: AsyncQueue<string, string, null | string>;
4804
- contextTimestampQueue: AsyncQueue<
4805
- string,
4806
- string,
4807
- null | ContextFileSystemInfoEntry
4808
- >;
4809
- contextHashQueue: AsyncQueue<string, string, null | ContextHash>;
4810
- contextTshQueue: AsyncQueue<string, string, null | ContextTimestampAndHash>;
4811
- 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>;
4812
4871
  managedItemDirectoryQueue: AsyncQueue<string, string, Set<string>>;
4813
4872
  unmanagedPathsWithSlash: string[];
4814
4873
  unmanagedPathsRegExps: RegExp[];
@@ -4854,7 +4913,7 @@ declare abstract class FileSystemInfo {
4854
4913
  path: string,
4855
4914
  callback: (
4856
4915
  arg0?: null | WebpackError,
4857
- arg1?: ResolvedContextTimestampAndHash
4916
+ arg1?: null | ResolvedContextTimestampAndHash
4858
4917
  ) => void
4859
4918
  ): void;
4860
4919
  resolveBuildDependencies(
@@ -4875,7 +4934,7 @@ declare abstract class FileSystemInfo {
4875
4934
  directories: null | Iterable<string>,
4876
4935
  missing: null | Iterable<string>,
4877
4936
  options: undefined | null | SnapshotOptionsFileSystemInfo,
4878
- callback: (arg0?: null | WebpackError, arg1?: null | Snapshot) => void
4937
+ callback: (arg0: null | WebpackError, arg1: null | Snapshot) => void
4879
4938
  ): void;
4880
4939
  mergeSnapshots(snapshot1: Snapshot, snapshot2: Snapshot): Snapshot;
4881
4940
  checkSnapshotValid(
@@ -4890,6 +4949,9 @@ declare interface FileSystemInfoEntry {
4890
4949
  timestamp?: number;
4891
4950
  }
4892
4951
  type FilterItemTypes = string | RegExp | ((value: string) => boolean);
4952
+ declare interface Flags {
4953
+ [index: string]: Argument;
4954
+ }
4893
4955
  declare interface GenerateContext {
4894
4956
  /**
4895
4957
  * mapping from dependencies to templates
@@ -5030,16 +5092,12 @@ declare class GetChunkFilenameRuntimeModule extends RuntimeModule {
5030
5092
  contentType: string,
5031
5093
  name: string,
5032
5094
  global: string,
5033
- getFilenameForChunk: (
5034
- arg0: Chunk
5035
- ) => string | ((arg0: PathData, arg1?: AssetInfo) => string),
5095
+ getFilenameForChunk: (arg0: Chunk) => TemplatePath,
5036
5096
  allChunks: boolean
5037
5097
  );
5038
5098
  contentType: string;
5039
5099
  global: string;
5040
- getFilenameForChunk: (
5041
- arg0: Chunk
5042
- ) => string | ((arg0: PathData, arg1?: AssetInfo) => string);
5100
+ getFilenameForChunk: (arg0: Chunk) => TemplatePath;
5043
5101
  allChunks: boolean;
5044
5102
 
5045
5103
  /**
@@ -5063,7 +5121,7 @@ declare class GetChunkFilenameRuntimeModule extends RuntimeModule {
5063
5121
  static STAGE_TRIGGER: number;
5064
5122
  }
5065
5123
  declare interface GroupConfig {
5066
- getKeys: (arg0?: any) => string[];
5124
+ getKeys: (arg0?: any) => undefined | string[];
5067
5125
  createGroup: (arg0: string, arg1: any[], arg2: any[]) => object;
5068
5126
  getOptions?: (arg0: string, arg1: any[]) => GroupOptions;
5069
5127
  }
@@ -5309,8 +5367,7 @@ declare class IgnorePlugin {
5309
5367
  options: IgnorePluginOptions;
5310
5368
 
5311
5369
  /**
5312
- * Note that if "contextRegExp" is given, both the "resourceRegExp"
5313
- * and "contextRegExp" have to match.
5370
+ * Note that if "contextRegExp" is given, both the "resourceRegExp" and "contextRegExp" have to match.
5314
5371
  */
5315
5372
  checkIgnore(resolveData: ResolveData): undefined | false;
5316
5373
 
@@ -5339,6 +5396,7 @@ type IgnorePluginOptions =
5339
5396
  type ImportAttributes = Record<string, string> & {};
5340
5397
  declare interface ImportDependencyMeta {
5341
5398
  attributes?: ImportAttributes;
5399
+ externalType?: "import" | "module";
5342
5400
  }
5343
5401
  declare interface ImportModuleOptions {
5344
5402
  /**
@@ -5495,6 +5553,13 @@ declare interface IntermediateFileSystemExtras {
5495
5553
  ) => void;
5496
5554
  }
5497
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
+ }
5498
5563
  declare abstract class ItemCacheFacade {
5499
5564
  get<T>(callback: CallbackCacheCacheFacade<T>): void;
5500
5565
  getPromise<T>(): Promise<T>;
@@ -5519,7 +5584,7 @@ declare class JavascriptModulesPlugin {
5519
5584
  renderContext: ChunkRenderContext,
5520
5585
  hooks: CompilationHooksJavascriptModulesPlugin,
5521
5586
  factory: boolean
5522
- ): Source;
5587
+ ): null | Source;
5523
5588
  renderChunk(
5524
5589
  renderContext: RenderContext,
5525
5590
  hooks: CompilationHooksJavascriptModulesPlugin
@@ -5537,13 +5602,7 @@ declare class JavascriptModulesPlugin {
5537
5602
  renderBootstrap(
5538
5603
  renderContext: RenderBootstrapContext,
5539
5604
  hooks: CompilationHooksJavascriptModulesPlugin
5540
- ): {
5541
- header: string[];
5542
- beforeStartup: string[];
5543
- startup: string[];
5544
- afterStartup: string[];
5545
- allowInlineStartup: boolean;
5546
- };
5605
+ ): Bootstrap;
5547
5606
  renderRequire(
5548
5607
  renderContext: RenderBootstrapContext,
5549
5608
  hooks: CompilationHooksJavascriptModulesPlugin
@@ -5563,7 +5622,10 @@ declare class JavascriptModulesPlugin {
5563
5622
  static getCompilationHooks(
5564
5623
  compilation: Compilation
5565
5624
  ): CompilationHooksJavascriptModulesPlugin;
5566
- static getChunkFilenameTemplate(chunk?: any, outputOptions?: any): any;
5625
+ static getChunkFilenameTemplate(
5626
+ chunk: Chunk,
5627
+ outputOptions: Output
5628
+ ): TemplatePath;
5567
5629
  static chunkHasJs: (chunk: Chunk, chunkGraph: ChunkGraph) => boolean;
5568
5630
  }
5569
5631
  declare class JavascriptParser extends Parser {
@@ -5576,7 +5638,39 @@ declare class JavascriptParser extends Parser {
5576
5638
  >
5577
5639
  >;
5578
5640
  evaluate: HookMap<
5579
- 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
+ >
5580
5674
  >;
5581
5675
  evaluateIdentifier: HookMap<
5582
5676
  SyncBailHook<
@@ -6412,7 +6506,37 @@ declare class JavascriptParser extends Parser {
6412
6506
  enterArrayPattern(pattern: ArrayPattern, onIdent?: any): void;
6413
6507
  enterRestElement(pattern: RestElement, onIdent?: any): void;
6414
6508
  enterAssignmentPattern(pattern: AssignmentPattern, onIdent?: any): void;
6415
- 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;
6416
6540
  parseString(expression: Expression): string;
6417
6541
  parseCalculatedString(expression: Expression): any;
6418
6542
  evaluate(source: string): BasicEvaluatedExpression;
@@ -6455,6 +6579,7 @@ declare class JavascriptParser extends Parser {
6455
6579
  ): boolean;
6456
6580
  getComments(range: [number, number]): Comment[];
6457
6581
  isAsiPosition(pos: number): boolean;
6582
+ setAsiPosition(pos: number): void;
6458
6583
  unsetAsiPosition(pos: number): void;
6459
6584
  isStatementLevelExpression(expr: Expression): boolean;
6460
6585
  getTagData(name: string, tag?: any): any;
@@ -6627,6 +6752,11 @@ declare interface JavascriptParserOptions {
6627
6752
  */
6628
6753
  node?: false | NodeOptions;
6629
6754
 
6755
+ /**
6756
+ * Override the module to strict or non-strict. This may affect the behavior of the module (some behaviors differ between strict and non-strict), so please configure this option carefully.
6757
+ */
6758
+ overrideStrict?: "strict" | "non-strict";
6759
+
6630
6760
  /**
6631
6761
  * Specifies the behavior of invalid export names in "export ... from ...". This might be useful to disable during the migration from "export ... from ..." to "export type ... from ..." when reexporting types in TypeScript.
6632
6762
  */
@@ -6855,7 +6985,7 @@ declare interface KnownBuildInfo {
6855
6985
  contextDependencies?: LazySet<string>;
6856
6986
  missingDependencies?: LazySet<string>;
6857
6987
  buildDependencies?: LazySet<string>;
6858
- valueDependencies?: Map<string, string | Set<string>>;
6988
+ valueDependencies?: Map<string, ValueCacheVersion>;
6859
6989
  hash?: any;
6860
6990
  assets?: Record<string, Source>;
6861
6991
  assetsInfo?: Map<string, undefined | AssetInfo>;
@@ -6960,14 +7090,14 @@ declare interface KnownStatsChunk {
6960
7090
  recorded: boolean;
6961
7091
  reason?: string;
6962
7092
  size: number;
6963
- sizes?: Record<string, number>;
6964
- names?: string[];
6965
- idHints?: string[];
7093
+ sizes: Record<string, number>;
7094
+ names: string[];
7095
+ idHints: string[];
6966
7096
  runtime?: string[];
6967
- files?: string[];
6968
- auxiliaryFiles?: string[];
7097
+ files: string[];
7098
+ auxiliaryFiles: string[];
6969
7099
  hash: string;
6970
- childrenByOrder?: Record<string, (string | number)[]>;
7100
+ childrenByOrder: Record<string, (string | number)[]>;
6971
7101
  id?: string | number;
6972
7102
  siblings?: (string | number)[];
6973
7103
  parents?: (string | number)[];
@@ -6990,11 +7120,11 @@ declare interface KnownStatsChunkGroup {
6990
7120
  isOverSizeLimit?: boolean;
6991
7121
  }
6992
7122
  declare interface KnownStatsChunkOrigin {
6993
- module?: string;
6994
- moduleIdentifier?: string;
6995
- moduleName?: string;
6996
- loc?: string;
6997
- request?: string;
7123
+ module: string;
7124
+ moduleIdentifier: string;
7125
+ moduleName: string;
7126
+ loc: string;
7127
+ request: string;
6998
7128
  moduleId?: string | number;
6999
7129
  }
7000
7130
  declare interface KnownStatsCompilation {
@@ -7039,14 +7169,14 @@ declare interface KnownStatsError {
7039
7169
  }
7040
7170
  declare interface KnownStatsFactoryContext {
7041
7171
  type: string;
7042
- makePathsRelative?: (arg0: string) => string;
7043
- compilation?: Compilation;
7044
- rootModules?: Set<Module>;
7045
- compilationFileToChunks?: Map<string, Chunk[]>;
7046
- compilationAuxiliaryFileToChunks?: Map<string, Chunk[]>;
7047
- runtime?: RuntimeSpec;
7048
- cachedGetErrors?: (arg0: Compilation) => WebpackError[];
7049
- 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[];
7050
7180
  }
7051
7181
  declare interface KnownStatsLogging {
7052
7182
  entries: StatsLoggingEntry[];
@@ -7055,7 +7185,7 @@ declare interface KnownStatsLogging {
7055
7185
  }
7056
7186
  declare interface KnownStatsLoggingEntry {
7057
7187
  type: string;
7058
- message: string;
7188
+ message?: string;
7059
7189
  trace?: string[];
7060
7190
  children?: StatsLoggingEntry[];
7061
7191
  args?: any[];
@@ -7064,10 +7194,10 @@ declare interface KnownStatsLoggingEntry {
7064
7194
  declare interface KnownStatsModule {
7065
7195
  type?: string;
7066
7196
  moduleType?: string;
7067
- layer?: string;
7197
+ layer?: null | string;
7068
7198
  identifier?: string;
7069
7199
  name?: string;
7070
- nameForCondition?: string;
7200
+ nameForCondition?: null | string;
7071
7201
  index?: number;
7072
7202
  preOrderIndex?: number;
7073
7203
  index2?: number;
@@ -7082,45 +7212,45 @@ declare interface KnownStatsModule {
7082
7212
  optional?: boolean;
7083
7213
  orphan?: boolean;
7084
7214
  id?: string | number;
7085
- issuerId?: string | number;
7215
+ issuerId?: null | string | number;
7086
7216
  chunks?: (string | number)[];
7087
7217
  assets?: (string | number)[];
7088
7218
  dependent?: boolean;
7089
- issuer?: string;
7090
- issuerName?: string;
7219
+ issuer?: null | string;
7220
+ issuerName?: null | string;
7091
7221
  issuerPath?: StatsModuleIssuer[];
7092
7222
  failed?: boolean;
7093
7223
  errors?: number;
7094
7224
  warnings?: number;
7095
7225
  profile?: StatsProfile;
7096
7226
  reasons?: StatsModuleReason[];
7097
- usedExports?: boolean | string[];
7098
- providedExports?: string[];
7227
+ usedExports?: null | boolean | string[];
7228
+ providedExports?: null | string[];
7099
7229
  optimizationBailout?: string[];
7100
- depth?: number;
7230
+ depth?: null | number;
7101
7231
  modules?: StatsModule[];
7102
7232
  filteredModules?: number;
7103
7233
  source?: string | Buffer;
7104
7234
  }
7105
7235
  declare interface KnownStatsModuleIssuer {
7106
- identifier?: string;
7107
- name?: string;
7236
+ identifier: string;
7237
+ name: string;
7108
7238
  id?: string | number;
7109
- profile?: StatsProfile;
7239
+ profile: StatsProfile;
7110
7240
  }
7111
7241
  declare interface KnownStatsModuleReason {
7112
- moduleIdentifier?: string;
7113
- module?: string;
7114
- moduleName?: string;
7115
- resolvedModuleIdentifier?: string;
7116
- resolvedModule?: string;
7117
- 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;
7118
7248
  active: boolean;
7119
- explanation?: string;
7120
- userRequest?: string;
7121
- loc?: string;
7122
- moduleId?: string | number;
7123
- 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;
7124
7254
  }
7125
7255
  declare interface KnownStatsModuleTraceDependency {
7126
7256
  loc?: string;
@@ -7134,20 +7264,31 @@ declare interface KnownStatsModuleTraceItem {
7134
7264
  originId?: string | number;
7135
7265
  moduleId?: string | number;
7136
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
+ }
7137
7275
  declare interface KnownStatsPrinterContext {
7138
7276
  type?: string;
7139
7277
  compilation?: StatsCompilation;
7140
7278
  chunkGroup?: StatsChunkGroup;
7279
+ chunkGroupKind?: string;
7141
7280
  asset?: StatsAsset;
7142
7281
  module?: StatsModule;
7143
7282
  chunk?: StatsChunk;
7144
7283
  moduleReason?: StatsModuleReason;
7145
- bold?: (str: string) => string;
7146
- yellow?: (str: string) => string;
7147
- red?: (str: string) => string;
7148
- green?: (str: string) => string;
7149
- magenta?: (str: string) => string;
7150
- 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 {
7151
7292
  formatFilename?: (file: string, oversize?: boolean) => string;
7152
7293
  formatModuleId?: (id: string) => string;
7153
7294
  formatChunkId?: (
@@ -7155,10 +7296,11 @@ declare interface KnownStatsPrinterContext {
7155
7296
  direction?: "parent" | "child" | "sibling"
7156
7297
  ) => string;
7157
7298
  formatSize?: (size: number) => string;
7299
+ formatLayer?: (size: string) => string;
7158
7300
  formatDateTime?: (dateTime: number) => string;
7159
7301
  formatFlag?: (flag: string) => string;
7160
7302
  formatTime?: (time: number, boldQuantity?: boolean) => string;
7161
- chunkGroupKind?: string;
7303
+ formatError?: (message: string) => string;
7162
7304
  }
7163
7305
  declare interface KnownStatsProfile {
7164
7306
  total: number;
@@ -7535,8 +7677,13 @@ declare class LoadScriptRuntimeModule extends HelperRuntimeModule {
7535
7677
  declare interface Loader {
7536
7678
  [index: string]: any;
7537
7679
  }
7538
- type LoaderContext<OptionsType> = NormalModuleLoaderContext<OptionsType> &
7539
- 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> &
7540
7687
  LoaderPluginLoaderContext &
7541
7688
  HotModuleReplacementPluginLoaderContext;
7542
7689
  type LoaderDefinition<
@@ -7622,14 +7769,14 @@ declare interface LoaderPluginLoaderContext {
7622
7769
  request: string,
7623
7770
  callback: (
7624
7771
  err: null | Error,
7625
- source: string,
7626
- sourceMap: any,
7627
- module: NormalModule
7772
+ source?: string | Buffer,
7773
+ sourceMap?: null | object,
7774
+ module?: Module
7628
7775
  ) => void
7629
7776
  ): void;
7630
7777
  importModule(
7631
7778
  request: string,
7632
- options: ImportModuleOptions,
7779
+ options: undefined | ImportModuleOptions,
7633
7780
  callback: (err?: null | Error, exports?: any) => any
7634
7781
  ): void;
7635
7782
  importModule(request: string, options?: ImportModuleOptions): Promise<any>;
@@ -7790,7 +7937,7 @@ declare class LoaderTargetPlugin {
7790
7937
  }
7791
7938
  declare interface LogEntry {
7792
7939
  type: string;
7793
- args: any[];
7940
+ args?: any[];
7794
7941
  time: number;
7795
7942
  trace?: string[];
7796
7943
  }
@@ -7850,25 +7997,81 @@ declare interface MainRenderContext {
7850
7997
  /**
7851
7998
  * rendering in strict context
7852
7999
  */
7853
- strictMode: boolean;
8000
+ strictMode?: boolean;
7854
8001
  }
7855
8002
  declare abstract class MainTemplate {
7856
8003
  hooks: Readonly<{
7857
- 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
+ };
7858
8015
  modules: { tap: () => never };
7859
8016
  moduleObj: { tap: () => never };
7860
- 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
+ };
7861
8025
  beforeStartup: { tap: () => never };
7862
8026
  startup: { tap: () => never };
7863
8027
  afterStartup: { tap: () => never };
7864
- render: { tap: (options?: any, fn?: any) => void };
7865
- 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
+ };
7866
8050
  assetPath: {
7867
- tap: (options?: any, fn?: any) => void;
7868
- 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;
7869
8074
  };
7870
- hash: { tap: (options?: any, fn?: any) => void };
7871
- hashForChunk: { tap: (options?: any, fn?: any) => void };
7872
8075
  globalHashPaths: { tap: () => void };
7873
8076
  globalHash: { tap: () => void };
7874
8077
  hotBootstrap: { tap: () => never };
@@ -7883,12 +8086,12 @@ declare abstract class MainTemplate {
7883
8086
  get linkPreload(): SyncWaterfallHook<[string, Chunk]>;
7884
8087
  }>;
7885
8088
  renderCurrentHashCode: (hash: string, length?: number) => string;
7886
- getPublicPath: (options: object) => string;
7887
- getAssetPath: (path?: any, options?: any) => string;
8089
+ getPublicPath: (options: PathData) => string;
8090
+ getAssetPath: (path: TemplatePath, options: PathData) => string;
7888
8091
  getAssetPathWithInfo: (
7889
- path?: any,
7890
- options?: any
7891
- ) => { path: string; info: AssetInfo };
8092
+ path: TemplatePath,
8093
+ options: PathData
8094
+ ) => InterpolatedPathAndAssetInfo;
7892
8095
  get requireFn(): "__webpack_require__";
7893
8096
  get outputOptions(): Output;
7894
8097
  }
@@ -8018,7 +8221,7 @@ declare class Module extends DependenciesBlock {
8018
8221
  buildInfo?: BuildInfo;
8019
8222
  presentationalDependencies?: Dependency[];
8020
8223
  codeGenerationDependencies?: Dependency[];
8021
- id: ModuleId;
8224
+ id: null | string | number;
8022
8225
  get hash(): string;
8023
8226
  get renderedHash(): string;
8024
8227
  profile?: ModuleProfile;
@@ -8142,8 +8345,7 @@ declare class Module extends DependenciesBlock {
8142
8345
  used: any;
8143
8346
  }
8144
8347
  declare class ModuleConcatenationPlugin {
8145
- constructor(options?: any);
8146
- options: any;
8348
+ constructor();
8147
8349
 
8148
8350
  /**
8149
8351
  * Apply the plugin
@@ -8244,6 +8446,7 @@ declare interface ModuleFederationPluginOptions {
8244
8446
  | "jsonp"
8245
8447
  | "system"
8246
8448
  | "promise"
8449
+ | "module-import"
8247
8450
  | "script"
8248
8451
  | "node-commonjs";
8249
8452
 
@@ -8409,11 +8612,11 @@ declare class ModuleGraphConnection {
8409
8612
  ): void;
8410
8613
  addExplanation(explanation: string): void;
8411
8614
  get explanation(): string;
8412
- active: void;
8413
8615
  isActive(runtime: RuntimeSpec): boolean;
8414
8616
  isTargetActive(runtime: RuntimeSpec): boolean;
8415
8617
  getActiveState(runtime: RuntimeSpec): ConnectionState;
8416
8618
  setActive(value: boolean): void;
8619
+ active: void;
8417
8620
  static addConnectionStates: (
8418
8621
  a: ConnectionState,
8419
8622
  b: ConnectionState
@@ -8626,6 +8829,11 @@ declare interface ModuleReferenceOptions {
8626
8829
  */
8627
8830
  asiSafe?: boolean;
8628
8831
  }
8832
+ declare interface ModuleResult {
8833
+ client: string;
8834
+ data: string;
8835
+ active: boolean;
8836
+ }
8629
8837
  declare interface ModuleSettings {
8630
8838
  /**
8631
8839
  * Specifies the layer in which the module should be placed in.
@@ -8660,13 +8868,68 @@ declare interface ModuleSettings {
8660
8868
  declare abstract class ModuleTemplate {
8661
8869
  type: string;
8662
8870
  hooks: Readonly<{
8663
- content: { tap: (options?: any, fn?: any) => void };
8664
- module: { tap: (options?: any, fn?: any) => void };
8665
- render: { tap: (options?: any, fn?: any) => void };
8666
- package: { tap: (options?: any, fn?: any) => void };
8667
- 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
+ };
8668
8931
  }>;
8669
- get runtimeTemplate(): any;
8932
+ get runtimeTemplate(): RuntimeTemplate;
8670
8933
  }
8671
8934
  declare interface ModuleTemplates {
8672
8935
  javascript: ModuleTemplate;
@@ -8720,8 +8983,8 @@ declare abstract class MultiStats {
8720
8983
  get hash(): string;
8721
8984
  hasErrors(): boolean;
8722
8985
  hasWarnings(): boolean;
8723
- toJson(options?: any): StatsCompilation;
8724
- toString(options?: any): string;
8986
+ toJson(options?: string | boolean | StatsOptions): StatsCompilation;
8987
+ toString(options?: string | boolean | StatsOptions): string;
8725
8988
  }
8726
8989
  declare abstract class MultiWatching {
8727
8990
  watchings: Watching[];
@@ -8892,7 +9155,7 @@ declare class NormalModule extends Module {
8892
9155
  createSource(
8893
9156
  context: string,
8894
9157
  content: string | Buffer,
8895
- sourceMap?: string | SourceMapSource,
9158
+ sourceMap?: null | string | SourceMapSource,
8896
9159
  associatedObjectForCache?: object
8897
9160
  ): Source;
8898
9161
  markModuleAsErrored(error: WebpackError): void;
@@ -8904,14 +9167,23 @@ declare class NormalModule extends Module {
8904
9167
  static deserialize(context?: any): NormalModule;
8905
9168
  }
8906
9169
  declare interface NormalModuleCompilationHooks {
8907
- loader: SyncHook<[object, NormalModule]>;
8908
- beforeLoaders: SyncHook<[LoaderItem[], NormalModule, object]>;
9170
+ loader: SyncHook<[LoaderContextNormalModule<any>, NormalModule]>;
9171
+ beforeLoaders: SyncHook<
9172
+ [LoaderItem[], NormalModule, LoaderContextNormalModule<any>]
9173
+ >;
8909
9174
  beforeParse: SyncHook<[NormalModule]>;
8910
9175
  beforeSnapshot: SyncHook<[NormalModule]>;
8911
9176
  readResourceForScheme: HookMap<
8912
- 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
+ >
8913
9186
  >;
8914
- readResource: HookMap<AsyncSeriesBailHook<[object], string | Buffer>>;
8915
9187
  needBuild: AsyncSeriesBailHook<[NormalModule, NeedBuildContext], boolean>;
8916
9188
  }
8917
9189
  declare interface NormalModuleCreateData {
@@ -9207,6 +9479,9 @@ declare interface ObjectEncodingOptions {
9207
9479
  | "base64url"
9208
9480
  | "hex";
9209
9481
  }
9482
+ declare interface ObjectForExtract {
9483
+ [index: string]: any;
9484
+ }
9210
9485
  declare interface ObjectSerializer {
9211
9486
  serialize: (arg0: any, arg1: ObjectSerializerContext) => void;
9212
9487
  deserialize: (arg0: ObjectDeserializerContext) => any;
@@ -9659,11 +9934,47 @@ declare interface OptimizationSplitChunksOptions {
9659
9934
  */
9660
9935
  usedExports?: boolean;
9661
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
+ }
9662
9973
  declare abstract class OptionsApply {
9663
9974
  process(options?: any, compiler?: any): void;
9664
9975
  }
9665
9976
  declare interface OriginRecord {
9666
- module: Module;
9977
+ module: null | Module;
9667
9978
  loc: DependencyLocation;
9668
9979
  request: string;
9669
9980
  }
@@ -11395,7 +11706,7 @@ declare interface RenderContext {
11395
11706
  /**
11396
11707
  * rendering in strict context
11397
11708
  */
11398
- strictMode: boolean;
11709
+ strictMode?: boolean;
11399
11710
  }
11400
11711
  type RenderManifestEntry =
11401
11712
  | RenderManifestEntryTemplated
@@ -11410,7 +11721,7 @@ declare interface RenderManifestEntryStatic {
11410
11721
  }
11411
11722
  declare interface RenderManifestEntryTemplated {
11412
11723
  render: () => Source;
11413
- filenameTemplate: string | ((arg0: PathData, arg1?: AssetInfo) => string);
11724
+ filenameTemplate: TemplatePath;
11414
11725
  pathOptions?: PathData;
11415
11726
  info?: AssetInfo;
11416
11727
  identifier: string;
@@ -11472,7 +11783,7 @@ declare interface ResolveBuildDependenciesResult {
11472
11783
  /**
11473
11784
  * stored resolve results
11474
11785
  */
11475
- resolveResults: Map<string, string | false>;
11786
+ resolveResults: Map<string, undefined | string | false>;
11476
11787
 
11477
11788
  /**
11478
11789
  * dependencies of the resolving
@@ -12025,6 +12336,13 @@ declare interface ResourceDataWithData {
12025
12336
  context?: string;
12026
12337
  data: Record<string, any>;
12027
12338
  }
12339
+ declare abstract class RestoreProvidedData {
12340
+ exports: any;
12341
+ otherProvided: any;
12342
+ otherCanMangleProvide: any;
12343
+ otherTerminalBinding: any;
12344
+ serialize(__0: ObjectSerializerContext): void;
12345
+ }
12028
12346
  declare interface RmDirOptions {
12029
12347
  maxRetries?: number;
12030
12348
  recursive?: boolean;
@@ -12051,7 +12369,7 @@ declare interface RuleSet {
12051
12369
  /**
12052
12370
  * execute the rule set
12053
12371
  */
12054
- exec: (arg0: object) => Effect[];
12372
+ exec: (arg0: EffectData) => Effect[];
12055
12373
  }
12056
12374
  type RuleSetCondition =
12057
12375
  | string
@@ -12972,13 +13290,13 @@ declare abstract class RuntimeValue {
12972
13290
  fn: (arg0: {
12973
13291
  module: NormalModule;
12974
13292
  key: string;
12975
- readonly version?: string;
13293
+ readonly version: ValueCacheVersion;
12976
13294
  }) => CodeValuePrimitive;
12977
13295
  options: true | RuntimeValueOptions;
12978
13296
  get fileDependencies(): true | string[];
12979
13297
  exec(
12980
13298
  parser: JavascriptParser,
12981
- valueCacheVersions: Map<string, string | Set<string>>,
13299
+ valueCacheVersions: Map<string, ValueCacheVersion>,
12982
13300
  key: string
12983
13301
  ): CodeValuePrimitive;
12984
13302
  getCacheVersion(): undefined | string;
@@ -13123,6 +13441,7 @@ declare class SideEffectsFlagPlugin {
13123
13441
  cache: Map<string, RegExp>
13124
13442
  ): undefined | boolean;
13125
13443
  }
13444
+ type SimpleType = "string" | "number" | "boolean";
13126
13445
  declare class SizeOnlySource extends Source {
13127
13446
  constructor(size: number);
13128
13447
  }
@@ -13142,32 +13461,36 @@ declare abstract class Snapshot {
13142
13461
  children?: Set<Snapshot>;
13143
13462
  hasStartTime(): boolean;
13144
13463
  setStartTime(value: number): void;
13145
- setMergedStartTime(value?: any, snapshot?: any): void;
13464
+ setMergedStartTime(value: undefined | number, snapshot: Snapshot): void;
13146
13465
  hasFileTimestamps(): boolean;
13147
- setFileTimestamps(value?: any): void;
13466
+ setFileTimestamps(value: Map<string, null | FileSystemInfoEntry>): void;
13148
13467
  hasFileHashes(): boolean;
13149
- setFileHashes(value?: any): void;
13468
+ setFileHashes(value: Map<string, null | string>): void;
13150
13469
  hasFileTshs(): boolean;
13151
- setFileTshs(value?: any): void;
13470
+ setFileTshs(value: Map<string, null | string | TimestampAndHash>): void;
13152
13471
  hasContextTimestamps(): boolean;
13153
- setContextTimestamps(value?: any): void;
13472
+ setContextTimestamps(
13473
+ value: Map<string, null | ResolvedContextFileSystemInfoEntry>
13474
+ ): void;
13154
13475
  hasContextHashes(): boolean;
13155
- setContextHashes(value?: any): void;
13476
+ setContextHashes(value: Map<string, null | string>): void;
13156
13477
  hasContextTshs(): boolean;
13157
- setContextTshs(value?: any): void;
13478
+ setContextTshs(
13479
+ value: Map<string, null | ResolvedContextTimestampAndHash>
13480
+ ): void;
13158
13481
  hasMissingExistence(): boolean;
13159
- setMissingExistence(value?: any): void;
13482
+ setMissingExistence(value: Map<string, boolean>): void;
13160
13483
  hasManagedItemInfo(): boolean;
13161
- setManagedItemInfo(value?: any): void;
13484
+ setManagedItemInfo(value: Map<string, string>): void;
13162
13485
  hasManagedFiles(): boolean;
13163
- setManagedFiles(value?: any): void;
13486
+ setManagedFiles(value: Set<string>): void;
13164
13487
  hasManagedContexts(): boolean;
13165
- setManagedContexts(value?: any): void;
13488
+ setManagedContexts(value: Set<string>): void;
13166
13489
  hasManagedMissing(): boolean;
13167
- setManagedMissing(value?: any): void;
13490
+ setManagedMissing(value: Set<string>): void;
13168
13491
  hasChildren(): boolean;
13169
- setChildren(value?: any): void;
13170
- addChild(child?: any): void;
13492
+ setChildren(value: Set<Snapshot>): void;
13493
+ addChild(child: Snapshot): void;
13171
13494
  serialize(__0: ObjectSerializerContext): void;
13172
13495
  deserialize(__0: ObjectDeserializerContext): void;
13173
13496
  getFileIterable(): Iterable<string>;
@@ -13261,11 +13584,14 @@ declare interface SnapshotOptionsWebpackOptions {
13261
13584
  */
13262
13585
  unmanagedPaths?: (string | RegExp)[];
13263
13586
  }
13587
+ declare interface SortFunction<T> {
13588
+ (arg0: T, arg1: T): number;
13589
+ }
13264
13590
  declare abstract class SortableSet<T> extends Set<T> {
13265
13591
  /**
13266
13592
  * Sort with a comparer function
13267
13593
  */
13268
- sortWith(sortFn: (arg0: T, arg1: T) => number): void;
13594
+ sortWith(sortFn?: SortFunction<T>): void;
13269
13595
  sort(): SortableSet<T>;
13270
13596
 
13271
13597
  /**
@@ -13432,7 +13758,7 @@ declare interface SplitChunksOptions {
13432
13758
  maxAsyncRequests: number;
13433
13759
  maxInitialRequests: number;
13434
13760
  hidePathInfo: boolean;
13435
- filename: string | ((arg0: PathData, arg1?: AssetInfo) => string);
13761
+ filename: TemplatePath;
13436
13762
  automaticNameDelimiter: string;
13437
13763
  getCacheGroups: (
13438
13764
  module: Module,
@@ -13637,59 +13963,73 @@ declare class Stats {
13637
13963
  toJson(options?: string | boolean | StatsOptions): StatsCompilation;
13638
13964
  toString(options?: string | boolean | StatsOptions): string;
13639
13965
  }
13640
- type StatsAsset = KnownStatsAsset & Record<string, any>;
13641
- type StatsChunk = KnownStatsChunk & Record<string, any>;
13642
- type StatsChunkGroup = KnownStatsChunkGroup & Record<string, any>;
13643
- type StatsChunkOrigin = KnownStatsChunkOrigin & Record<string, any>;
13644
- type StatsCompilation = KnownStatsCompilation & Record<string, any>;
13645
- 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;
13646
13972
  declare abstract class StatsFactory {
13647
- hooks: Readonly<{
13648
- extract: HookMap<SyncBailHook<[object, any, StatsFactoryContext], any>>;
13649
- filter: HookMap<
13650
- SyncBailHook<[any, StatsFactoryContext, number, number], any>
13651
- >;
13652
- sort: HookMap<
13653
- SyncBailHook<
13654
- [((arg0?: any, arg1?: any) => number)[], StatsFactoryContext],
13655
- any
13656
- >
13657
- >;
13658
- filterSorted: HookMap<
13659
- SyncBailHook<[any, StatsFactoryContext, number, number], any>
13660
- >;
13661
- groupResults: HookMap<
13662
- SyncBailHook<[GroupConfig[], StatsFactoryContext], any>
13663
- >;
13664
- sortResults: HookMap<
13665
- SyncBailHook<
13666
- [((arg0?: any, arg1?: any) => number)[], StatsFactoryContext],
13667
- any
13668
- >
13669
- >;
13670
- filterResults: HookMap<
13671
- SyncBailHook<[any, StatsFactoryContext, number, number], any>
13672
- >;
13673
- merge: HookMap<SyncBailHook<[any[], StatsFactoryContext], any>>;
13674
- result: HookMap<SyncBailHook<[any[], StatsFactoryContext], any>>;
13675
- getItemName: HookMap<SyncBailHook<[any, StatsFactoryContext], any>>;
13676
- getItemFactory: HookMap<SyncBailHook<[any, StatsFactoryContext], any>>;
13677
- }>;
13973
+ hooks: StatsFactoryHooks;
13678
13974
  create(
13679
13975
  type: string,
13680
13976
  data: any,
13681
13977
  baseContext: Omit<StatsFactoryContext, "type">
13682
13978
  ): any;
13683
13979
  }
13684
- type StatsFactoryContext = KnownStatsFactoryContext & Record<string, any>;
13685
- type StatsLogging = KnownStatsLogging & Record<string, any>;
13686
- type StatsLoggingEntry = KnownStatsLoggingEntry & Record<string, any>;
13687
- type StatsModule = KnownStatsModule & Record<string, any>;
13688
- type StatsModuleIssuer = KnownStatsModuleIssuer & Record<string, any>;
13689
- type StatsModuleReason = KnownStatsModuleReason & Record<string, any>;
13690
- type StatsModuleTraceDependency = KnownStatsModuleTraceDependency &
13691
- Record<string, any>;
13692
- 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;
13693
14033
 
13694
14034
  /**
13695
14035
  * Stats options object.
@@ -14138,22 +14478,28 @@ declare interface StatsOptions {
14138
14478
  */
14139
14479
  warningsSpace?: number;
14140
14480
  }
14141
- declare abstract class StatsPrinter {
14142
- hooks: Readonly<{
14143
- sortElements: HookMap<SyncBailHook<[string[], StatsPrinterContext], true>>;
14144
- printElements: HookMap<
14145
- SyncBailHook<[PrintedElement[], StatsPrinterContext], string>
14146
- >;
14147
- sortItems: HookMap<SyncBailHook<[any[], StatsPrinterContext], true>>;
14148
- getItemName: HookMap<SyncBailHook<[any, StatsPrinterContext], string>>;
14149
- printItems: HookMap<SyncBailHook<[string[], StatsPrinterContext], string>>;
14150
- print: HookMap<SyncBailHook<[{}, StatsPrinterContext], string>>;
14151
- result: HookMap<SyncWaterfallHook<[string, StatsPrinterContext]>>;
14152
- }>;
14153
- 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]>>;
14154
14493
  }
14155
- type StatsPrinterContext = KnownStatsPrinterContext & Record<string, any>;
14156
- 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;
14157
14503
  type StatsValue =
14158
14504
  | boolean
14159
14505
  | StatsOptions
@@ -14182,7 +14528,7 @@ declare class SyncModuleIdsPlugin {
14182
14528
  /**
14183
14529
  * operation mode (defaults to merge)
14184
14530
  */
14185
- mode?: "read" | "merge" | "create" | "update";
14531
+ mode?: "read" | "create" | "merge" | "update";
14186
14532
  });
14187
14533
 
14188
14534
  /**
@@ -14208,6 +14554,15 @@ declare interface TagInfo {
14208
14554
  data: any;
14209
14555
  next?: TagInfo;
14210
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
+ }
14211
14566
  declare class Template {
14212
14567
  constructor();
14213
14568
  static getFunctionContent(fn: Function): string;
@@ -14224,7 +14579,7 @@ declare class Template {
14224
14579
  static renderChunkModules(
14225
14580
  renderContext: ChunkRenderContext,
14226
14581
  modules: Module[],
14227
- renderModule: (arg0: Module) => Source,
14582
+ renderModule: (arg0: Module) => null | Source,
14228
14583
  prefix?: string
14229
14584
  ): null | Source;
14230
14585
  static renderRuntimeModules(
@@ -14240,6 +14595,7 @@ declare class Template {
14240
14595
  static NUMBER_OF_IDENTIFIER_START_CHARS: number;
14241
14596
  static NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS: number;
14242
14597
  }
14598
+ type TemplatePath = string | ((arg0: PathData, arg1?: AssetInfo) => string);
14243
14599
  declare interface TimestampAndHash {
14244
14600
  safeTime: number;
14245
14601
  timestamp?: number;
@@ -14290,6 +14646,9 @@ declare interface UpdateHashContextGenerator {
14290
14646
  runtimeTemplate?: RuntimeTemplate;
14291
14647
  }
14292
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>;
14293
14652
  declare abstract class VariableInfo {
14294
14653
  declaredScope: ScopeInfo;
14295
14654
  freeName?: string | true;
@@ -14313,10 +14672,10 @@ declare interface WatchFileSystem {
14313
14672
  options: WatchOptions,
14314
14673
  callback: (
14315
14674
  arg0: null | Error,
14316
- arg1: Map<string, FileSystemInfoEntry | "ignore">,
14317
- arg2: Map<string, FileSystemInfoEntry | "ignore">,
14318
- arg3: Set<string>,
14319
- arg4: Set<string>
14675
+ arg1?: Map<string, FileSystemInfoEntry | "ignore">,
14676
+ arg2?: Map<string, FileSystemInfoEntry | "ignore">,
14677
+ arg3?: Set<string>,
14678
+ arg4?: Set<string>
14320
14679
  ) => void,
14321
14680
  callbackUndelayed: (arg0: string, arg1: number) => void
14322
14681
  ) => Watcher;
@@ -14431,28 +14790,7 @@ declare abstract class Watching {
14431
14790
  closed: boolean;
14432
14791
  suspended: boolean;
14433
14792
  blocked: boolean;
14434
- watchOptions: {
14435
- /**
14436
- * Delay the rebuilt after the first change. Value is a time in ms.
14437
- */
14438
- aggregateTimeout?: number;
14439
- /**
14440
- * Resolve symlinks and watch symlink and real file. This is usually not needed as webpack already resolves symlinks ('resolve.symlinks').
14441
- */
14442
- followSymlinks?: boolean;
14443
- /**
14444
- * Ignore some files from watching (glob pattern or regexp).
14445
- */
14446
- ignored?: string | RegExp | string[];
14447
- /**
14448
- * Enable polling mode for watching.
14449
- */
14450
- poll?: number | boolean;
14451
- /**
14452
- * Stop watching when stdin stream has ended.
14453
- */
14454
- stdin?: boolean;
14455
- };
14793
+ watchOptions: WatchOptions;
14456
14794
  compiler: Compiler;
14457
14795
  running: boolean;
14458
14796
  watcher?: null | Watcher;
@@ -14559,7 +14897,7 @@ declare abstract class WebpackLogger {
14559
14897
  status(...args: any[]): void;
14560
14898
  group(...args: any[]): void;
14561
14899
  groupCollapsed(...args: any[]): void;
14562
- groupEnd(...args: any[]): void;
14900
+ groupEnd(): void;
14563
14901
  profile(label?: string): void;
14564
14902
  profileEnd(label?: string): void;
14565
14903
  time(label: string): void;
@@ -14658,6 +14996,7 @@ declare interface WebpackOptionsNormalized {
14658
14996
  | "jsonp"
14659
14997
  | "system"
14660
14998
  | "promise"
14999
+ | "module-import"
14661
15000
  | "script"
14662
15001
  | "node-commonjs";
14663
15002
 
@@ -14967,18 +15306,11 @@ declare namespace exports {
14967
15306
  ) => void;
14968
15307
  export const version: string;
14969
15308
  export namespace cli {
14970
- export let getArguments: (schema?: any) => Record<string, Argument>;
15309
+ export let getArguments: (schema?: any) => Flags;
14971
15310
  export let processArguments: (
14972
- args: Record<string, Argument>,
15311
+ args: Flags,
14973
15312
  config: any,
14974
- values: Record<
14975
- string,
14976
- | string
14977
- | number
14978
- | boolean
14979
- | RegExp
14980
- | (string | number | boolean | RegExp)[]
14981
- >
15313
+ values: Record<string, Value[]>
14982
15314
  ) => null | Problem[];
14983
15315
  }
14984
15316
  export namespace ModuleFilenameHelpers {
@@ -15274,7 +15606,7 @@ declare namespace exports {
15274
15606
  export { ProfilingPlugin };
15275
15607
  }
15276
15608
  export namespace util {
15277
- export const createHash: (algorithm: string | typeof Hash) => Hash;
15609
+ export const createHash: (algorithm: Algorithm) => Hash;
15278
15610
  export namespace comparators {
15279
15611
  export let compareChunksById: (a: Chunk, b: Chunk) => 0 | 1 | -1;
15280
15612
  export let compareModulesByIdentifier: (
@@ -15403,7 +15735,10 @@ declare namespace exports {
15403
15735
  ) => Serializer;
15404
15736
  export { MEASURE_START_OPERATION, MEASURE_END_OPERATION };
15405
15737
  }
15406
- 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);
15407
15742
  export function compileBooleanMatcher(
15408
15743
  map: Record<string | number, boolean>
15409
15744
  ): boolean | ((arg0: string) => string);
@@ -15560,7 +15895,7 @@ declare namespace exports {
15560
15895
  LoaderDefinitionFunction,
15561
15896
  PitchLoaderDefinitionFunction,
15562
15897
  RawLoaderDefinitionFunction,
15563
- LoaderContext
15898
+ LoaderContextDeclarationsIndex as LoaderContext
15564
15899
  };
15565
15900
  }
15566
15901
  declare const topLevelSymbolTag: unique symbol;