webpack 5.107.2 → 5.108.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 (357) hide show
  1. package/hot/dev-server.js +2 -0
  2. package/lib/APIPlugin.js +8 -4
  3. package/lib/CacheFacade.js +7 -0
  4. package/lib/Chunk.js +4 -0
  5. package/lib/ChunkGraph.js +30 -9
  6. package/lib/CircularModulesPlugin.js +190 -0
  7. package/lib/CleanPlugin.js +2 -1
  8. package/lib/Compilation.js +396 -65
  9. package/lib/Compiler.js +25 -11
  10. package/lib/ConcatenationScope.js +10 -3
  11. package/lib/ContextExclusionPlugin.js +1 -0
  12. package/lib/ContextModule.js +92 -47
  13. package/lib/ContextReplacementPlugin.js +4 -0
  14. package/lib/DefinePlugin.js +89 -15
  15. package/lib/Dependency.js +111 -7
  16. package/lib/EntryOptionPlugin.js +39 -2
  17. package/lib/EntryPlugin.js +2 -0
  18. package/lib/ExportsInfo.js +314 -73
  19. package/lib/ExternalModule.js +82 -34
  20. package/lib/ExternalModuleFactoryPlugin.js +1 -0
  21. package/lib/ExternalsPlugin.js +1 -0
  22. package/lib/FileSystemInfo.js +173 -23
  23. package/lib/FlagAllModulesAsUsedPlugin.js +1 -5
  24. package/lib/FlagDependencyExportsPlugin.js +23 -0
  25. package/lib/FlagDependencyUsagePlugin.js +87 -5
  26. package/lib/FlagEntryExportAsUsedPlugin.js +2 -0
  27. package/lib/Generator.js +8 -0
  28. package/lib/HotModuleReplacementPlugin.js +65 -28
  29. package/lib/IgnorePlugin.js +1 -0
  30. package/lib/InitFragment.js +5 -0
  31. package/lib/JavascriptMetaInfoPlugin.js +7 -5
  32. package/lib/LazyBarrel.js +361 -0
  33. package/lib/LoaderTargetPlugin.js +1 -0
  34. package/lib/Module.js +21 -42
  35. package/lib/ModuleGraph.js +3 -2
  36. package/lib/ModuleProfile.js +27 -1
  37. package/lib/ModuleTemplate.js +2 -0
  38. package/lib/MultiCompiler.js +2 -0
  39. package/lib/MultiStats.js +1 -0
  40. package/lib/MultiWatching.js +2 -0
  41. package/lib/NodeStuffPlugin.js +22 -17
  42. package/lib/NormalModule.js +142 -80
  43. package/lib/NormalModuleReplacementPlugin.js +2 -0
  44. package/lib/PrefetchPlugin.js +2 -0
  45. package/lib/ProgressPlugin.js +8 -0
  46. package/lib/ProvidePlugin.js +1 -0
  47. package/lib/RawModule.js +20 -16
  48. package/lib/RecordIdsPlugin.js +1 -0
  49. package/lib/RuntimeGlobals.js +5 -0
  50. package/lib/RuntimePlugin.js +58 -26
  51. package/lib/RuntimeTemplate.js +278 -21
  52. package/lib/SelfModuleFactory.js +1 -0
  53. package/lib/SourceMapDevToolPlugin.js +3 -5
  54. package/lib/Stats.js +1 -0
  55. package/lib/Template.js +8 -2
  56. package/lib/TemplatedPathPlugin.js +473 -131
  57. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -0
  58. package/lib/WarnDeprecatedOptionPlugin.js +4 -0
  59. package/lib/WarnNoModeSetPlugin.js +1 -0
  60. package/lib/WatchIgnorePlugin.js +1 -0
  61. package/lib/Watching.js +9 -0
  62. package/lib/WebpackOptionsApply.js +50 -5
  63. package/lib/asset/AssetBytesGenerator.js +11 -3
  64. package/lib/asset/AssetGenerator.js +47 -22
  65. package/lib/asset/AssetModule.js +47 -0
  66. package/lib/asset/AssetModulesPlugin.js +14 -14
  67. package/lib/asset/AssetParser.js +2 -2
  68. package/lib/asset/AssetSourceGenerator.js +8 -0
  69. package/lib/asset/RawDataUrlModule.js +12 -13
  70. package/lib/buildChunkGraph.js +64 -7
  71. package/lib/bun/BunTargetPlugin.js +48 -0
  72. package/lib/cache/AddBuildDependenciesPlugin.js +1 -0
  73. package/lib/cache/AddManagedPathsPlugin.js +3 -0
  74. package/lib/cache/IdleFileCachePlugin.js +4 -0
  75. package/lib/cache/MemoryWithGcCachePlugin.js +1 -0
  76. package/lib/cache/PackFileCacheStrategy.js +1 -0
  77. package/lib/cache/ResolverCachePlugin.js +2 -0
  78. package/lib/cache/mergeEtags.js +2 -0
  79. package/lib/cli.js +109 -19
  80. package/lib/config/browserslistTargetHandler.js +99 -0
  81. package/lib/config/defaults.js +147 -7
  82. package/lib/config/defineConfig.js +31 -0
  83. package/lib/config/normalization.js +5 -0
  84. package/lib/config/target.js +181 -2
  85. package/lib/container/ContainerEntryModule.js +15 -14
  86. package/lib/container/ContainerExposedDependency.js +2 -2
  87. package/lib/container/ContainerReferencePlugin.js +1 -1
  88. package/lib/container/FallbackDependency.js +5 -7
  89. package/lib/container/FallbackModule.js +10 -9
  90. package/lib/container/RemoteModule.js +20 -10
  91. package/lib/container/RemoteRuntimeModule.js +14 -12
  92. package/lib/css/CssGenerator.js +353 -327
  93. package/lib/css/CssInjectStyleRuntimeModule.js +36 -8
  94. package/lib/css/CssLoadingRuntimeModule.js +118 -47
  95. package/lib/css/CssModule.js +52 -23
  96. package/lib/css/CssModulesPlugin.js +107 -124
  97. package/lib/css/CssParser.js +2759 -2205
  98. package/lib/css/syntax.js +2859 -0
  99. package/lib/debug/ProfilingPlugin.js +2 -0
  100. package/lib/deno/DenoTargetPlugin.js +47 -0
  101. package/lib/dependencies/AMDDefineDependency.js +22 -17
  102. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +1 -0
  103. package/lib/dependencies/AMDRequireArrayDependency.js +7 -11
  104. package/lib/dependencies/AMDRequireContextDependency.js +7 -11
  105. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +1 -0
  106. package/lib/dependencies/AMDRequireDependency.js +24 -20
  107. package/lib/dependencies/CachedConstDependency.js +3 -0
  108. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  109. package/lib/dependencies/CommonJsExportRequireDependency.js +79 -31
  110. package/lib/dependencies/CommonJsExportsDependency.js +21 -16
  111. package/lib/dependencies/CommonJsExportsParserPlugin.js +230 -7
  112. package/lib/dependencies/CommonJsFullRequireDependency.js +27 -19
  113. package/lib/dependencies/CommonJsImportsParserPlugin.js +51 -16
  114. package/lib/dependencies/CommonJsPlugin.js +1 -1
  115. package/lib/dependencies/CommonJsRequireContextDependency.js +10 -13
  116. package/lib/dependencies/CommonJsRequireDependency.js +42 -11
  117. package/lib/dependencies/CommonJsSelfReferenceDependency.js +22 -14
  118. package/lib/dependencies/ConstDependency.js +16 -11
  119. package/lib/dependencies/ContextDependency.js +4 -0
  120. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -1
  121. package/lib/dependencies/ContextElementDependency.js +23 -14
  122. package/lib/dependencies/CreateRequireParserPlugin.js +1 -0
  123. package/lib/dependencies/CreateScriptUrlDependency.js +5 -7
  124. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  125. package/lib/dependencies/CssIcssExportDependency.js +512 -574
  126. package/lib/dependencies/CssIcssImportDependency.js +9 -9
  127. package/lib/dependencies/CssIcssSymbolDependency.js +22 -15
  128. package/lib/dependencies/CssImportDependency.js +25 -1
  129. package/lib/dependencies/CssUrlDependency.js +23 -14
  130. package/lib/dependencies/DllEntryDependency.js +9 -13
  131. package/lib/dependencies/ExportBindingInitFragment.js +164 -0
  132. package/lib/dependencies/ExportsInfoDependency.js +12 -12
  133. package/lib/dependencies/ExternalModuleDependency.js +8 -5
  134. package/lib/dependencies/ExternalModuleInitFragment.js +7 -5
  135. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +13 -10
  136. package/lib/dependencies/HarmonyAcceptDependency.js +11 -11
  137. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  138. package/lib/dependencies/HarmonyDetectionParserPlugin.js +47 -22
  139. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +28 -2
  140. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +46 -22
  141. package/lib/dependencies/HarmonyExportExpressionDependency.js +107 -30
  142. package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -9
  143. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +109 -31
  144. package/lib/dependencies/HarmonyExportInitFragment.js +18 -15
  145. package/lib/dependencies/HarmonyExportSpecifierDependency.js +83 -18
  146. package/lib/dependencies/HarmonyExports.js +4 -1
  147. package/lib/dependencies/HarmonyImportDependency.js +24 -0
  148. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +110 -74
  149. package/lib/dependencies/HarmonyImportGuard.js +254 -0
  150. package/lib/dependencies/HarmonyImportSideEffectDependency.js +18 -1
  151. package/lib/dependencies/HarmonyImportSpecifierDependency.js +118 -14
  152. package/lib/dependencies/HarmonyLinkingError.js +1 -0
  153. package/lib/dependencies/HarmonyModulesPlugin.js +1 -0
  154. package/lib/dependencies/{HtmlScriptSrcDependency.js → HtmlEntryDependency.js} +261 -109
  155. package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
  156. package/lib/dependencies/HtmlInlineScriptDependency.js +17 -13
  157. package/lib/dependencies/HtmlInlineStyleDependency.js +45 -11
  158. package/lib/dependencies/ImportContextDependency.js +5 -9
  159. package/lib/dependencies/ImportDependency.js +44 -2
  160. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  161. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  162. package/lib/dependencies/ImportMetaPlugin.js +74 -30
  163. package/lib/dependencies/ImportParserPlugin.js +19 -0
  164. package/lib/dependencies/ImportWeakDependency.js +1 -0
  165. package/lib/dependencies/JsonExportsDependency.js +9 -9
  166. package/lib/dependencies/LoaderImportDependency.js +1 -0
  167. package/lib/dependencies/LocalModule.js +11 -12
  168. package/lib/dependencies/LocalModuleDependency.js +11 -13
  169. package/lib/dependencies/ModuleDecoratorDependency.js +9 -9
  170. package/lib/dependencies/ModuleDependency.js +7 -0
  171. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  172. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  173. package/lib/dependencies/ModuleInitFragmentDependency.js +15 -11
  174. package/lib/dependencies/ProvidedDependency.js +31 -27
  175. package/lib/dependencies/PureExpressionDependency.js +7 -9
  176. package/lib/dependencies/RequireEnsureDependency.js +12 -13
  177. package/lib/dependencies/RequireHeaderDependency.js +3 -4
  178. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  179. package/lib/dependencies/RequireResolveContextDependency.js +7 -11
  180. package/lib/dependencies/RequireResolveDependency.js +1 -0
  181. package/lib/dependencies/RequireResolveHeaderDependency.js +3 -5
  182. package/lib/dependencies/RuntimeRequirementsDependency.js +6 -7
  183. package/lib/dependencies/StaticExportsDependency.js +10 -10
  184. package/lib/dependencies/SystemPlugin.js +2 -0
  185. package/lib/dependencies/URLContextDependency.js +5 -7
  186. package/lib/dependencies/URLDependency.js +14 -16
  187. package/lib/dependencies/UnsupportedDependency.js +8 -13
  188. package/lib/dependencies/WebAssemblyExportImportedDependency.js +11 -16
  189. package/lib/dependencies/WebAssemblyImportDependency.js +14 -16
  190. package/lib/dependencies/WebpackIsIncludedDependency.js +1 -0
  191. package/lib/dependencies/WorkerDependency.js +19 -8
  192. package/lib/dependencies/WorkerPlugin.js +22 -6
  193. package/lib/dependencies/processExportInfo.js +13 -11
  194. package/lib/dll/DelegatedModule.js +29 -15
  195. package/lib/dll/DelegatedModuleFactoryPlugin.js +1 -0
  196. package/lib/dll/DelegatedPlugin.js +1 -0
  197. package/lib/dll/DllEntryPlugin.js +3 -0
  198. package/lib/dll/DllModule.js +3 -2
  199. package/lib/dll/DllPlugin.js +16 -0
  200. package/lib/dll/DllReferencePlugin.js +3 -0
  201. package/lib/dll/LibManifestPlugin.js +1 -0
  202. package/lib/electron/ElectronTargetPlugin.js +22 -4
  203. package/lib/errors/ConcurrentCompilationError.js +1 -0
  204. package/lib/errors/HookWebpackError.js +11 -13
  205. package/lib/errors/IgnoreErrorModuleFactory.js +1 -0
  206. package/lib/errors/InvalidDependenciesModuleWarning.js +2 -0
  207. package/lib/errors/JSONParseError.js +9 -8
  208. package/lib/errors/ModuleBuildError.js +16 -13
  209. package/lib/errors/ModuleDependencyError.js +8 -1
  210. package/lib/errors/ModuleDependencyWarning.js +8 -1
  211. package/lib/errors/ModuleError.js +5 -11
  212. package/lib/errors/ModuleHashingError.js +4 -0
  213. package/lib/errors/ModuleNotFoundError.js +3 -0
  214. package/lib/errors/ModuleParseError.js +5 -11
  215. package/lib/errors/ModuleRestoreError.js +2 -0
  216. package/lib/errors/ModuleStoreError.js +3 -0
  217. package/lib/errors/ModuleWarning.js +7 -11
  218. package/lib/errors/NodeStuffInWebError.js +1 -0
  219. package/lib/errors/NonErrorEmittedError.js +2 -0
  220. package/lib/errors/UnhandledSchemeError.js +1 -0
  221. package/lib/esm/ModuleChunkLoadingPlugin.js +0 -1
  222. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +28 -23
  223. package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
  224. package/lib/hmr/HotModuleReplacementRuntimeModule.js +7 -0
  225. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
  226. package/lib/hmr/LazyCompilationPlugin.js +30 -6
  227. package/lib/html/HtmlGenerator.js +217 -23
  228. package/lib/html/HtmlModule.js +40 -0
  229. package/lib/html/HtmlModulesPlugin.js +219 -55
  230. package/lib/html/HtmlParser.js +1108 -1099
  231. package/lib/html/{walkHtmlTokens.js → syntax.js} +4701 -212
  232. package/lib/ids/IdHelpers.js +4 -2
  233. package/lib/index.js +19 -0
  234. package/lib/javascript/BasicEvaluatedExpression.js +1 -0
  235. package/lib/javascript/EnableChunkLoadingPlugin.js +1 -0
  236. package/lib/javascript/JavascriptGenerator.js +6 -2
  237. package/lib/javascript/JavascriptModule.js +54 -0
  238. package/lib/javascript/JavascriptModulesPlugin.js +257 -102
  239. package/lib/javascript/JavascriptParser.js +285 -158
  240. package/lib/json/JsonModule.js +40 -0
  241. package/lib/json/JsonModulesPlugin.js +7 -0
  242. package/lib/json/JsonParser.js +4 -2
  243. package/lib/library/AssignLibraryPlugin.js +5 -3
  244. package/lib/library/ExportPropertyLibraryPlugin.js +1 -0
  245. package/lib/library/FalseIIFEUmdWarning.js +1 -0
  246. package/lib/library/ModuleLibraryPlugin.js +24 -5
  247. package/lib/library/SystemLibraryPlugin.js +3 -3
  248. package/lib/node/NodeTargetPlugin.js +1 -0
  249. package/lib/node/NodeWatchFileSystem.js +1 -0
  250. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +10 -9
  251. package/lib/node/RequireChunkLoadingRuntimeModule.js +18 -16
  252. package/lib/optimize/ConcatenatedModule.js +395 -77
  253. package/lib/optimize/ConstExportsPlugin.js +211 -0
  254. package/lib/optimize/InlineExports.js +178 -0
  255. package/lib/optimize/InnerGraph.js +372 -275
  256. package/lib/optimize/InnerGraphPlugin.js +196 -99
  257. package/lib/optimize/ModuleConcatenationPlugin.js +56 -25
  258. package/lib/optimize/RealContentHashPlugin.js +14 -1
  259. package/lib/optimize/SideEffectsFlagPlugin.js +234 -64
  260. package/lib/runtime/AsyncModuleRuntimeModule.js +32 -30
  261. package/lib/runtime/AutoPublicPathRuntimeModule.js +11 -5
  262. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -1
  263. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +6 -4
  264. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +33 -4
  265. package/lib/runtime/GetChunkFilenameRuntimeModule.js +82 -3
  266. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -1
  267. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -1
  268. package/lib/runtime/LoadScriptRuntimeModule.js +18 -13
  269. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +39 -26
  270. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -1
  271. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  272. package/lib/runtime/RelativeUrlRuntimeModule.js +3 -2
  273. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -1
  274. package/lib/runtime/StartupEntrypointRuntimeModule.js +4 -3
  275. package/lib/runtime/WorkerRuntimeModule.js +33 -0
  276. package/lib/schemes/HttpUriPlugin.js +3 -2
  277. package/lib/serialization/AggregateErrorSerializer.js +7 -6
  278. package/lib/serialization/ArraySerializer.js +4 -8
  279. package/lib/serialization/BinaryMiddleware.js +538 -468
  280. package/lib/serialization/DateObjectSerializer.js +2 -2
  281. package/lib/serialization/ErrorObjectSerializer.js +7 -6
  282. package/lib/serialization/MapObjectSerializer.js +5 -9
  283. package/lib/serialization/NullPrototypeObjectSerializer.js +7 -9
  284. package/lib/serialization/ObjectMiddleware.js +50 -13
  285. package/lib/serialization/PlainObjectSerializer.js +9 -8
  286. package/lib/serialization/RegExpObjectSerializer.js +2 -2
  287. package/lib/serialization/Serializer.js +1 -0
  288. package/lib/serialization/SetObjectSerializer.js +4 -8
  289. package/lib/sharing/ConsumeSharedModule.js +6 -7
  290. package/lib/sharing/ConsumeSharedPlugin.js +1 -0
  291. package/lib/sharing/ConsumeSharedRuntimeModule.js +46 -41
  292. package/lib/sharing/ProvideSharedDependency.js +30 -15
  293. package/lib/sharing/ProvideSharedModule.js +30 -11
  294. package/lib/sharing/ProvideSharedPlugin.js +4 -2
  295. package/lib/sharing/SharePlugin.js +3 -0
  296. package/lib/sharing/ShareRuntimeModule.js +18 -16
  297. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  298. package/lib/sharing/utils.js +1 -1
  299. package/lib/stats/DefaultStatsFactoryPlugin.js +4 -6
  300. package/lib/stats/DefaultStatsPrinterPlugin.js +14 -14
  301. package/lib/stats/StatsFactory.js +11 -9
  302. package/lib/stats/StatsPrinter.js +9 -2
  303. package/lib/url/URLParserPlugin.js +5 -2
  304. package/lib/util/AsyncQueue.js +10 -0
  305. package/lib/util/LazyBucketSortedSet.js +5 -0
  306. package/lib/util/LazySet.js +6 -4
  307. package/lib/util/LocConverter.js +11 -1
  308. package/lib/util/Semaphore.js +1 -0
  309. package/lib/util/SourceProcessor.js +106 -0
  310. package/lib/util/TupleSet.js +1 -0
  311. package/lib/util/WeakTupleMap.js +27 -1
  312. package/lib/util/chainedImports.js +3 -3
  313. package/lib/util/comparators.js +2 -2
  314. package/lib/util/concatenate.js +31 -7
  315. package/lib/util/createHash.js +0 -1
  316. package/lib/util/deterministicGrouping.js +19 -12
  317. package/lib/util/extractSourceMap.js +1 -1
  318. package/lib/util/findGraphRoots.js +2 -0
  319. package/lib/util/fs.js +10 -5
  320. package/lib/util/hash/DebugHash.js +1 -0
  321. package/lib/util/hash/hash-digest.js +24 -15
  322. package/lib/util/identifier.js +7 -0
  323. package/lib/util/internalSerializables.js +11 -2
  324. package/lib/util/magicComment.js +42 -0
  325. package/lib/util/makeSerializable.js +1 -0
  326. package/lib/util/nonNumericOnlyHash.js +30 -1
  327. package/lib/util/property.js +7 -1
  328. package/lib/util/publicPathPlaceholder.js +64 -0
  329. package/lib/util/registerExternalSerializer.js +4 -4
  330. package/lib/wasm-async/AsyncWasmModule.js +77 -0
  331. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +1 -1
  332. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +1 -96
  333. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -1
  334. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +1 -1
  335. package/lib/wasm-sync/SyncWasmModule.js +39 -0
  336. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  337. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +6 -3
  338. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -1
  339. package/lib/wasm-sync/WebAssemblyGenerator.js +1 -0
  340. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  341. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -0
  342. package/lib/wasm-sync/WebAssemblyParser.js +7 -3
  343. package/lib/web/JsonpChunkLoadingRuntimeModule.js +45 -39
  344. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +11 -10
  345. package/package.json +35 -27
  346. package/schemas/WebpackOptions.check.js +1 -1
  347. package/schemas/WebpackOptions.json +212 -3
  348. package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -1
  349. package/schemas/plugins/HtmlParserOptions.check.d.ts +7 -0
  350. package/schemas/plugins/HtmlParserOptions.check.js +6 -0
  351. package/schemas/plugins/HtmlParserOptions.json +3 -0
  352. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
  353. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  354. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  355. package/types.d.ts +1456 -290
  356. package/lib/css/walkCssTokens.js +0 -2020
  357. package/lib/util/AppendOnlyStackedSet.js +0 -93
package/types.d.ts CHANGED
@@ -129,6 +129,10 @@ import { Context as ContextImport } from "vm";
129
129
  declare interface Abortable {
130
130
  signal?: AbortSignal;
131
131
  }
132
+
133
+ /**
134
+ * Represents AbstractLibraryPlugin.
135
+ */
132
136
  declare class AbstractLibraryPlugin<T> {
133
137
  /**
134
138
  * Creates an instance of AbstractLibraryPlugin.
@@ -311,16 +315,17 @@ declare interface AliasOption {
311
315
  name: string;
312
316
  onlyModule?: boolean;
313
317
  }
314
- type AliasOptionNewRequest = string | false | string[];
315
- declare interface AliasOptions {
316
- [index: string]: AliasOptionNewRequest;
317
- }
318
318
  declare interface AllCodeGenerationSchemas {
319
319
  /**
320
320
  * top level declarations for javascript modules
321
321
  */
322
322
  topLevelDeclarations: Set<string>;
323
323
 
324
+ /**
325
+ * free identifier names in the rendered source for javascript modules
326
+ */
327
+ freeNames: Set<string>;
328
+
324
329
  /**
325
330
  * chunk init fragments for javascript modules
326
331
  */
@@ -355,36 +360,6 @@ type AnyLoaderContext = NormalModuleLoaderContext<any> &
355
360
  LoaderRunnerLoaderContext<any> &
356
361
  LoaderPluginLoaderContext &
357
362
  HotModuleReplacementPluginLoaderContext;
358
- declare abstract class AppendOnlyStackedSet<T> {
359
- /**
360
- * Adds a value to the current scope layer, creating that layer lazily when
361
- * the first write occurs.
362
- */
363
- add(el: T): void;
364
-
365
- /**
366
- * Checks whether a value is present in any scope layer currently visible to
367
- * this stacked set.
368
- */
369
- has(el: T): boolean;
370
-
371
- /**
372
- * Removes every scope layer and any values accumulated in them.
373
- */
374
- clear(): void;
375
-
376
- /**
377
- * Creates a child stacked set that shares the existing scope history while
378
- * allowing subsequent additions to be recorded in its own new layer.
379
- */
380
- createChild(): AppendOnlyStackedSet<T>;
381
-
382
- /**
383
- * Iterates over the stacked sets from newest to oldest so consumers can
384
- * inspect recently added values first.
385
- */
386
- [Symbol.iterator](): Iterator<T>;
387
- }
388
363
 
389
364
  /**
390
365
  * Returns object of arguments.
@@ -521,6 +496,10 @@ declare interface AssetInlineGeneratorOptions {
521
496
  context: { filename: string; module: Module }
522
497
  ) => string);
523
498
  }
499
+ type AssetModuleBuildInfo = KnownBuildInfo &
500
+ Record<string, any> &
501
+ KnownNormalModuleBuildInfo &
502
+ KnownAssetModuleBuildInfo;
524
503
  declare abstract class AssetParser extends ParserClass {
525
504
  dataUrlCondition?:
526
505
  | boolean
@@ -609,6 +588,10 @@ declare class AsyncDependenciesBlock extends DependenciesBlock {
609
588
  get circular(): boolean;
610
589
  module: any;
611
590
  }
591
+
592
+ /**
593
+ * Represents AsyncQueue.
594
+ */
612
595
  declare abstract class AsyncQueue<T, K, R> {
613
596
  hooks: {
614
597
  beforeAdd: AsyncSeriesHook<[T]>;
@@ -711,6 +694,11 @@ declare interface AsyncWebAssemblyModulesPluginOptions {
711
694
  mangleImports?: boolean;
712
695
  }
713
696
  declare abstract class AsyncWebAssemblyParser extends ParserClass {}
697
+
698
+ /**
699
+ * Records modules from one compilation and adds them back as prefetch
700
+ * dependencies in the next compilation.
701
+ */
714
702
  declare class AutomaticPrefetchPlugin {
715
703
  constructor();
716
704
 
@@ -725,6 +713,11 @@ declare interface BackendApi {
725
713
  dispose: (callback: (err?: null | Error) => void) => void;
726
714
  module: (module: Module) => ModuleResult;
727
715
  }
716
+
717
+ /**
718
+ * Prepends or appends banner text to emitted assets that match the configured
719
+ * file filters.
720
+ */
728
721
  declare class BannerPlugin {
729
722
  /**
730
723
  * Normalizes banner options and compiles the configured banner source into a
@@ -847,6 +840,11 @@ declare interface BaseResolveRequest {
847
840
  * inner relative path for internal usage
848
841
  */
849
842
  __innerRequest_relativePath?: string;
843
+
844
+ /**
845
+ * internal: shared marker `RestrictionsPlugin` flips when it filters out an existing target, letting `ExportsFieldPlugin` fall back instead of erroring
846
+ */
847
+ __restrictionsMarker?: { blocked: boolean };
850
848
  }
851
849
  declare interface BasenameCacheEntry {
852
850
  /**
@@ -1269,6 +1267,11 @@ declare abstract class ByTypeGenerator extends Generator {
1269
1267
  ) => null | Source;
1270
1268
  }
1271
1269
  declare const CIRCULAR_CONNECTION: unique symbol;
1270
+
1271
+ /**
1272
+ * Abstract cache interface backed by tapable hooks for reading, writing, idle
1273
+ * transitions, and shutdown across webpack cache implementations.
1274
+ */
1272
1275
  declare class CacheClass {
1273
1276
  /**
1274
1277
  * Initializes the cache lifecycle hooks implemented by cache backends.
@@ -1552,6 +1555,11 @@ declare interface CallbackWebpackFunction_2<T, R = void> {
1552
1555
  (err: null | Error, result?: T): R;
1553
1556
  }
1554
1557
  type Cell<T> = undefined | T;
1558
+
1559
+ /**
1560
+ * A Chunk is a unit of encapsulation for Modules.
1561
+ * Chunks are "rendered" into bundles that get emitted when the build completes.
1562
+ */
1555
1563
  declare class Chunk {
1556
1564
  /**
1557
1565
  * Creates an instance of Chunk.
@@ -1575,6 +1583,7 @@ declare class Chunk {
1575
1583
  rendered: boolean;
1576
1584
  hash?: string;
1577
1585
  contentHash: Record<string, string>;
1586
+ contentHashFull: Record<string, string>;
1578
1587
  renderedHash?: string;
1579
1588
  chunkReason?: string;
1580
1589
  extraAsync: boolean;
@@ -2368,6 +2377,11 @@ declare class ChunkGraph {
2368
2377
  */
2369
2378
  static clearChunkGraphForChunk(chunk: Chunk): void;
2370
2379
  }
2380
+
2381
+ /**
2382
+ * Represents a connected group of chunks along with the parent/child
2383
+ * relationships, async blocks, and traversal metadata webpack tracks for it.
2384
+ */
2371
2385
  declare abstract class ChunkGroup {
2372
2386
  groupDebugId: number;
2373
2387
  options: ChunkGroupOptions;
@@ -2672,9 +2686,27 @@ declare interface ChunkPathData {
2672
2686
  name?: string;
2673
2687
  hash: string;
2674
2688
  hashWithLength?: (length: number) => string;
2689
+
2690
+ /**
2691
+ * builds `[chunkhash:<digest>]` per chunk in the runtime chunk-filename map
2692
+ */
2693
+ hashWithDigest?: (digest: string, length?: number) => string;
2675
2694
  contentHash?: Record<string, string>;
2676
2695
  contentHashWithLength?: Record<string, (length: number) => string>;
2696
+
2697
+ /**
2698
+ * builds `[contenthash:<digest>]` per chunk in the runtime chunk-filename map
2699
+ */
2700
+ contentHashWithDigest?: Record<
2701
+ string,
2702
+ (digest: string, length?: number) => string
2703
+ >;
2677
2704
  }
2705
+
2706
+ /**
2707
+ * Adds runtime support for chunk prefetch and preload relationships discovered
2708
+ * in the chunk graph.
2709
+ */
2678
2710
  declare class ChunkPrefetchPreloadPlugin {
2679
2711
  constructor();
2680
2712
 
@@ -2916,6 +2948,7 @@ type CodeGenValue<K extends string> = K extends
2916
2948
  | "assetInfo"
2917
2949
  | "share-init"
2918
2950
  | "topLevelDeclarations"
2951
+ | "freeNames"
2919
2952
  | "chunkInitFragments"
2920
2953
  | "url"
2921
2954
  | "fullContentHash"
@@ -3004,6 +3037,11 @@ type CodeGenerationResultData = Omit<
3004
3037
  "get" | "set" | "has" | "delete"
3005
3038
  > &
3006
3039
  CodeGenMapOverloads;
3040
+
3041
+ /**
3042
+ * Stores code generation results keyed by module and runtime so later stages
3043
+ * can retrieve emitted sources, metadata, and derived hashes.
3044
+ */
3007
3045
  declare abstract class CodeGenerationResults {
3008
3046
  map: Map<Module, RuntimeSpecMap<CodeGenerationResult, CodeGenerationResult>>;
3009
3047
 
@@ -3147,11 +3185,6 @@ declare interface ColorsOptions {
3147
3185
  */
3148
3186
  useColor?: boolean;
3149
3187
  }
3150
- declare interface CommentCssParser {
3151
- value: string;
3152
- range: [number, number];
3153
- loc: { start: Position; end: Position };
3154
- }
3155
3188
  type CommentJavascriptParser = CommentImport & {
3156
3189
  start: number;
3157
3190
  end: number;
@@ -4308,6 +4341,9 @@ declare class ConcatSource extends Source {
4308
4341
  ): GeneratedSourceInfo;
4309
4342
  }
4310
4343
  type ConcatSourceChild = string | Source | SourceLike;
4344
+ type ConcatenatedModuleBuildInfo = KnownBuildInfo &
4345
+ Record<string, any> &
4346
+ KnownConcatenatedModuleBuildInfo;
4311
4347
  declare interface ConcatenatedModuleInfo {
4312
4348
  type: "concatenated";
4313
4349
  module: Module;
@@ -4324,6 +4360,11 @@ declare interface ConcatenatedModuleInfo {
4324
4360
  rawExportMap?: Map<string, string>;
4325
4361
  namespaceExportSymbol?: string;
4326
4362
  namespaceObjectName?: string;
4363
+
4364
+ /**
4365
+ * decoupled namespace object that keeps original export names when the exports are mangled
4366
+ */
4367
+ escapeNamespaceObjectName?: string;
4327
4368
  concatenationScope?: ConcatenationScope;
4328
4369
 
4329
4370
  /**
@@ -4355,6 +4396,24 @@ declare interface ConcatenatedModuleInfo {
4355
4396
  * runtime namespace object that detects "__esModule"
4356
4397
  */
4357
4398
  interopDefaultAccessName?: string;
4399
+
4400
+ /**
4401
+ * memoized getExportsType(strict=true)
4402
+ */
4403
+ exportsTypeStrict?:
4404
+ | "namespace"
4405
+ | "dynamic"
4406
+ | "default-only"
4407
+ | "default-with-named";
4408
+
4409
+ /**
4410
+ * memoized getExportsType(strict=false)
4411
+ */
4412
+ exportsTypeNonStrict?:
4413
+ | "namespace"
4414
+ | "dynamic"
4415
+ | "default-only"
4416
+ | "default-with-named";
4358
4417
  }
4359
4418
  declare interface ConcatenationBailoutReasonContext {
4360
4419
  /**
@@ -4367,6 +4426,11 @@ declare interface ConcatenationBailoutReasonContext {
4367
4426
  */
4368
4427
  chunkGraph: ChunkGraph;
4369
4428
  }
4429
+
4430
+ /**
4431
+ * Tracks the symbols and cross-module references needed while rendering a
4432
+ * concatenated module.
4433
+ */
4370
4434
  declare class ConcatenationScope {
4371
4435
  /**
4372
4436
  * Creates the mutable scope object used while rendering a concatenated
@@ -4733,8 +4797,20 @@ declare class ConstDependency extends NullDependency {
4733
4797
  range: number | [number, number];
4734
4798
  runtimeRequirements: null | Set<string>;
4735
4799
  static Template: typeof ConstDependencyTemplate;
4800
+
4801
+ /**
4802
+ * Compares two dependencies by source location for sorting a module's
4803
+ * `dependencies`, without materializing the `loc` objects (`get loc` caches
4804
+ * its result, so comparing through it would retain a location object on every
4805
+ * sorted dependency). These dependencies always carry a real source position,
4806
+ * so only start (line, column) and the within-statement index are compared; a
4807
+ * dependency without an index sorts after one that has an index at the same
4808
+ * position.
4809
+ */
4810
+ static compareLocations(a: Dependency, b: Dependency): 0 | 1 | -1;
4736
4811
  static NO_EXPORTS_REFERENCED: string[][];
4737
4812
  static EXPORTS_OBJECT_REFERENCED: string[][];
4813
+ static EXPORTS_OBJECT_REFERENCED_MANGLEABLE: string[][];
4738
4814
 
4739
4815
  /**
4740
4816
  * Returns true if the dependency is a low priority dependency.
@@ -4746,6 +4822,10 @@ declare class ConstDependency extends NullDependency {
4746
4822
  */
4747
4823
  static canConcatenate(dependency: Dependency): boolean;
4748
4824
  static TRANSITIVE: symbol;
4825
+ static LAZY_UNTIL_LOCAL: "local";
4826
+ static LAZY_UNTIL_ID: "id";
4827
+ static LAZY_UNTIL_FALLBACK: "*";
4828
+ static LAZY_UNTIL_REQUEST: "@";
4749
4829
  }
4750
4830
  declare class ConstDependencyTemplate extends NullDependencyTemplate {
4751
4831
  constructor();
@@ -4949,12 +5029,15 @@ declare interface ContextHash {
4949
5029
  symlinks?: Set<string>;
4950
5030
  }
4951
5031
  type ContextMode =
4952
- | "weak"
4953
5032
  | "eager"
5033
+ | "weak"
4954
5034
  | "lazy"
4955
5035
  | "lazy-once"
4956
5036
  | "sync"
4957
5037
  | "async-weak";
5038
+ type ContextModuleBuildInfo = KnownBuildInfo &
5039
+ Record<string, any> &
5040
+ KnownContextModuleBuildInfo;
4958
5041
  declare abstract class ContextModuleFactory extends ModuleFactory {
4959
5042
  hooks: Readonly<{
4960
5043
  beforeResolve: AsyncSeriesWaterfallHook<
@@ -5189,6 +5272,11 @@ declare interface CssAutoOrModuleParserOptions {
5189
5272
  */
5190
5273
  animation?: boolean;
5191
5274
 
5275
+ /**
5276
+ * Configure how the CSS source is parsed: as a full stylesheet (default) or as a block's contents (e.g. the content of an HTML `style` attribute).
5277
+ */
5278
+ as?: "stylesheet" | "block-contents";
5279
+
5192
5280
  /**
5193
5281
  * Enable/disable renaming of `@container` names.
5194
5282
  */
@@ -5354,6 +5442,13 @@ declare abstract class CssModule extends NormalModule {
5354
5442
  inheritance?: [CssLayer, Supports, Media][];
5355
5443
  exportType?: "link" | "text" | "css-style-sheet" | "style";
5356
5444
  }
5445
+ type CssModuleBuildInfo = KnownBuildInfo &
5446
+ Record<string, any> &
5447
+ KnownNormalModuleBuildInfo &
5448
+ KnownCssModuleBuildInfo;
5449
+ type CssModuleBuildMeta = KnownBuildMeta &
5450
+ Record<string, any> &
5451
+ KnownCssModuleBuildMeta;
5357
5452
 
5358
5453
  /**
5359
5454
  * Generator options for css/module modules.
@@ -5420,6 +5515,11 @@ declare interface CssModuleParserOptions {
5420
5515
  */
5421
5516
  animation?: boolean;
5422
5517
 
5518
+ /**
5519
+ * Configure how the CSS source is parsed: as a full stylesheet (default) or as a block's contents (e.g. the content of an HTML `style` attribute).
5520
+ */
5521
+ as?: "stylesheet" | "block-contents";
5522
+
5423
5523
  /**
5424
5524
  * Enable/disable renaming of `@container` names.
5425
5525
  */
@@ -5529,12 +5629,16 @@ declare class CssModulesPlugin {
5529
5629
  static chunkHasCss(chunk: Chunk, chunkGraph: ChunkGraph): boolean;
5530
5630
  }
5531
5631
  declare abstract class CssParser extends ParserClass {
5532
- defaultMode: "global" | "auto" | "pure" | "local";
5632
+ defaultMode: "global" | "auto" | "local" | "pure";
5533
5633
  options: {
5534
5634
  /**
5535
5635
  * Enable/disable renaming of `@keyframes`.
5536
5636
  */
5537
5637
  animation: boolean;
5638
+ /**
5639
+ * Configure how the CSS source is parsed: as a full stylesheet (default) or as a block's contents (e.g. the content of an HTML `style` attribute).
5640
+ */
5641
+ as: string;
5538
5642
  /**
5539
5643
  * Enable/disable renaming of `@container` names.
5540
5644
  */
@@ -5578,29 +5682,20 @@ declare abstract class CssParser extends ParserClass {
5578
5682
  /**
5579
5683
  * default mode
5580
5684
  */
5581
- defaultMode?: "global" | "auto" | "pure" | "local";
5685
+ defaultMode?: "global" | "auto" | "local" | "pure";
5582
5686
  };
5583
- comments?: CommentCssParser[];
5584
5687
  magicCommentContext: ContextImport;
5585
-
5586
- /**
5587
- * Returns comments in the range.
5588
- */
5589
- getComments(range: [number, number]): CommentCssParser[];
5590
-
5591
- /**
5592
- * Parses comment options.
5593
- */
5594
- parseCommentOptions(range: [number, number]): {
5595
- options: null | Record<string, any>;
5596
- errors: null | (Error & { comment: CommentCssParser })[];
5597
- };
5598
5688
  }
5599
5689
 
5600
5690
  /**
5601
5691
  * Parser options for css modules.
5602
5692
  */
5603
5693
  declare interface CssParserOptions {
5694
+ /**
5695
+ * Configure how the CSS source is parsed: as a full stylesheet (default) or as a block's contents (e.g. the content of an HTML `style` attribute).
5696
+ */
5697
+ as?: "stylesheet" | "block-contents";
5698
+
5604
5699
  /**
5605
5700
  * Configure how CSS content is exported as default.
5606
5701
  */
@@ -5622,6 +5717,29 @@ declare interface CssParserOptions {
5622
5717
  url?: boolean;
5623
5718
  }
5624
5719
  type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration;
5720
+ type DefineConfigInput =
5721
+ | Configuration
5722
+ | MultiConfiguration
5723
+ | ((
5724
+ env: Record<string, any>,
5725
+ argv: Record<string, any>
5726
+ ) => MaybePromise<Configuration | MultiConfiguration>)
5727
+ | ((
5728
+ env: Record<string, any>,
5729
+ argv: Record<string, any>
5730
+ ) => MaybePromise<Configuration | MultiConfiguration>)[]
5731
+ | Promise<
5732
+ | Configuration
5733
+ | MultiConfiguration
5734
+ | ((
5735
+ env: Record<string, any>,
5736
+ argv: Record<string, any>
5737
+ ) => MaybePromise<Configuration | MultiConfiguration>)
5738
+ | ((
5739
+ env: Record<string, any>,
5740
+ argv: Record<string, any>
5741
+ ) => MaybePromise<Configuration | MultiConfiguration>)[]
5742
+ >;
5625
5743
  declare class DefinePlugin {
5626
5744
  /**
5627
5745
  * Create a new define plugin
@@ -5672,6 +5790,15 @@ declare class DelegatedPlugin {
5672
5790
  */
5673
5791
  apply(compiler: Compiler): void;
5674
5792
  }
5793
+
5794
+ /**
5795
+ * DependenciesBlock is the base class for all Module classes in webpack. It describes a
5796
+ * "block" of dependencies which are pointers to other DependenciesBlock instances. For example
5797
+ * when a Module has a CommonJs require statement, the DependencyBlock for the CommonJs module
5798
+ * would be added as a dependency to the Module. DependenciesBlock is inherited by two types of classes:
5799
+ * Module subclasses and AsyncDependenciesBlock subclasses. The only difference between the two is that
5800
+ * AsyncDependenciesBlock subclasses are used for code-splitting (async boundary) and Module subclasses are not.
5801
+ */
5675
5802
  declare abstract class DependenciesBlock {
5676
5803
  dependencies: Dependency[];
5677
5804
  blocks: AsyncDependenciesBlock[];
@@ -5707,12 +5834,12 @@ declare abstract class DependenciesBlock {
5707
5834
  /**
5708
5835
  * Serializes this instance into the provided serializer context.
5709
5836
  */
5710
- serialize(__0: ObjectSerializerContext): void;
5837
+ serialize(__0: ObjectSerializerContextObjectMiddlewareObject_5): void;
5711
5838
 
5712
5839
  /**
5713
5840
  * Restores this instance from the provided deserializer context.
5714
5841
  */
5715
- deserialize(__0: ObjectDeserializerContext): void;
5842
+ deserialize(__0: ObjectDeserializerContextObjectMiddlewareObject_4): void;
5716
5843
  }
5717
5844
  declare interface DependenciesBlockLike {
5718
5845
  dependencies: Dependency[];
@@ -5720,7 +5847,6 @@ declare interface DependenciesBlockLike {
5720
5847
  }
5721
5848
  declare class Dependency {
5722
5849
  constructor();
5723
- weak: boolean;
5724
5850
  optional?: boolean;
5725
5851
 
5726
5852
  /**
@@ -5748,6 +5874,14 @@ declare class Dependency {
5748
5874
  endColumn: number
5749
5875
  ): void;
5750
5876
 
5877
+ /**
5878
+ * Updates loc from a source location plus an explicit index, without
5879
+ * materializing the `loc` object (keeps `get loc` lazy). Replaces the
5880
+ * `dep.loc = Object.create(loc); dep.loc.index = i` pattern, which both
5881
+ * allocated a copy and stored the index outside the serialized fields.
5882
+ */
5883
+ setLocWithIndex(loc: DependencyLocation, index: number): void;
5884
+
5751
5885
  /**
5752
5886
  * Returns a request context.
5753
5887
  */
@@ -5763,6 +5897,31 @@ declare class Dependency {
5763
5897
  */
5764
5898
  couldAffectReferencingModule(): boolean | symbol;
5765
5899
 
5900
+ /**
5901
+ * Returns the export name this dependency requests from its target module (lazy barrel optimization).
5902
+ */
5903
+ getForwardId(): null | string | true;
5904
+
5905
+ /**
5906
+ * Returns how this dependency may be deferred when its parent module is side-effect-free (lazy barrel optimization).
5907
+ */
5908
+ getLazyUntil(): null | "local" | "id" | "*" | "@";
5909
+
5910
+ /**
5911
+ * Returns the export name for a `LAZY_UNTIL_LOCAL`/`LAZY_UNTIL_ID` classification (lazy barrel optimization).
5912
+ */
5913
+ getLazyName(): null | string;
5914
+
5915
+ /**
5916
+ * Whether the lazy barrel currently defers creating this dependency's target module (lazy barrel optimization).
5917
+ */
5918
+ isLazy(): boolean;
5919
+
5920
+ /**
5921
+ * Sets whether the lazy barrel defers creating this dependency's target module (lazy barrel optimization).
5922
+ */
5923
+ setLazy(value: boolean): void;
5924
+
5766
5925
  /**
5767
5926
  * Returns the referenced module and export
5768
5927
  * @deprecated
@@ -5835,16 +5994,28 @@ declare class Dependency {
5835
5994
  /**
5836
5995
  * Serializes this instance into the provided serializer context.
5837
5996
  */
5838
- serialize(__0: ObjectSerializerContext): void;
5997
+ serialize(__0: ObjectSerializerContextObjectMiddlewareObject_5): void;
5839
5998
 
5840
5999
  /**
5841
6000
  * Restores this instance from the provided deserializer context.
5842
6001
  */
5843
- deserialize(__0: ObjectDeserializerContext): void;
6002
+ deserialize(__0: ObjectDeserializerContextObjectMiddlewareObject_4): void;
5844
6003
  module: any;
5845
6004
  get disconnect(): any;
6005
+
6006
+ /**
6007
+ * Compares two dependencies by source location for sorting a module's
6008
+ * `dependencies`, without materializing the `loc` objects (`get loc` caches
6009
+ * its result, so comparing through it would retain a location object on every
6010
+ * sorted dependency). These dependencies always carry a real source position,
6011
+ * so only start (line, column) and the within-statement index are compared; a
6012
+ * dependency without an index sorts after one that has an index at the same
6013
+ * position.
6014
+ */
6015
+ static compareLocations(a: Dependency, b: Dependency): 0 | 1 | -1;
5846
6016
  static NO_EXPORTS_REFERENCED: string[][];
5847
6017
  static EXPORTS_OBJECT_REFERENCED: string[][];
6018
+ static EXPORTS_OBJECT_REFERENCED_MANGLEABLE: string[][];
5848
6019
 
5849
6020
  /**
5850
6021
  * Returns true if the dependency is a low priority dependency.
@@ -5856,6 +6027,10 @@ declare class Dependency {
5856
6027
  */
5857
6028
  static canConcatenate(dependency: Dependency): boolean;
5858
6029
  static TRANSITIVE: symbol;
6030
+ static LAZY_UNTIL_LOCAL: "local";
6031
+ static LAZY_UNTIL_ID: "id";
6032
+ static LAZY_UNTIL_FALLBACK: "*";
6033
+ static LAZY_UNTIL_REQUEST: "@";
5859
6034
  }
5860
6035
  declare interface DependencyConstructor {
5861
6036
  new (...args: any[]): Dependency;
@@ -6446,7 +6621,37 @@ declare class ElectronTargetPlugin {
6446
6621
  /**
6447
6622
  * Creates an instance of ElectronTargetPlugin.
6448
6623
  */
6449
- constructor(context?: "main" | "preload" | "renderer");
6624
+ constructor(
6625
+ context?: "main" | "preload" | "renderer",
6626
+ type?:
6627
+ | "import"
6628
+ | "var"
6629
+ | "module"
6630
+ | "assign"
6631
+ | "this"
6632
+ | "window"
6633
+ | "self"
6634
+ | "global"
6635
+ | "commonjs"
6636
+ | "commonjs2"
6637
+ | "commonjs-module"
6638
+ | "commonjs-static"
6639
+ | "amd"
6640
+ | "amd-require"
6641
+ | "umd"
6642
+ | "umd2"
6643
+ | "jsonp"
6644
+ | "system"
6645
+ | "promise"
6646
+ | "module-import"
6647
+ | "script"
6648
+ | "node-commonjs"
6649
+ | "asset"
6650
+ | "asset-url"
6651
+ | "css-import"
6652
+ | "css-url"
6653
+ );
6654
+ type: ExternalsType;
6450
6655
 
6451
6656
  /**
6452
6657
  * Applies the plugin by registering its hooks on the compiler.
@@ -6518,6 +6723,11 @@ declare interface EnableLibraryPluginOptions {
6518
6723
  */
6519
6724
  additionalApply?: () => void;
6520
6725
  }
6726
+
6727
+ /**
6728
+ * Validates and enables named wasm loading backends by applying the plugin
6729
+ * implementations that provide their runtime support.
6730
+ */
6521
6731
  declare class EnableWasmLoadingPlugin {
6522
6732
  /**
6523
6733
  * Stores the wasm loading backend name that should be enabled for the
@@ -6624,6 +6834,11 @@ declare interface EntryDescription {
6624
6834
  */
6625
6835
  filename?: string | TemplatePathFn<PathDataChunk>;
6626
6836
 
6837
+ /**
6838
+ * Generate an HTML file for this entrypoint with its JS and CSS output chunks injected. Overrides `output.html` for this entry.
6839
+ */
6840
+ html?: boolean;
6841
+
6627
6842
  /**
6628
6843
  * Module(s) that are loaded upon startup.
6629
6844
  */
@@ -6653,6 +6868,11 @@ declare interface EntryDescription {
6653
6868
  * The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).
6654
6869
  */
6655
6870
  wasmLoading?: string | false;
6871
+
6872
+ /**
6873
+ * Mark this entry as a worker so its output file uses 'output.workerChunkFilename'.
6874
+ */
6875
+ worker?: boolean;
6656
6876
  }
6657
6877
 
6658
6878
  /**
@@ -6684,6 +6904,11 @@ declare interface EntryDescriptionNormalized {
6684
6904
  */
6685
6905
  filename?: string | TemplatePathFn<PathDataChunk>;
6686
6906
 
6907
+ /**
6908
+ * Generate an HTML file for this entrypoint with its JS and CSS output chunks injected. Overrides `output.html` for this entry.
6909
+ */
6910
+ html?: boolean;
6911
+
6687
6912
  /**
6688
6913
  * Module(s) that are loaded upon startup. The last one is exported.
6689
6914
  */
@@ -6713,6 +6938,11 @@ declare interface EntryDescriptionNormalized {
6713
6938
  * The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).
6714
6939
  */
6715
6940
  wasmLoading?: string | false;
6941
+
6942
+ /**
6943
+ * Mark this entry as a worker so its output file uses 'output.workerChunkFilename'.
6944
+ */
6945
+ worker?: boolean;
6716
6946
  }
6717
6947
  type EntryItem = string | string[];
6718
6948
  type EntryLibIndex =
@@ -6737,6 +6967,7 @@ declare class EntryOptionPlugin {
6737
6967
  * Applies the plugin by registering its hooks on the compiler.
6738
6968
  */
6739
6969
  apply(compiler: Compiler): void;
6970
+ static getHooks(compiler: Compiler): EntryOptionPluginHooks;
6740
6971
 
6741
6972
  /**
6742
6973
  * Apply entry option.
@@ -6756,6 +6987,15 @@ declare class EntryOptionPlugin {
6756
6987
  desc: EntryDescriptionNormalized
6757
6988
  ): EntryOptions;
6758
6989
  }
6990
+ declare interface EntryOptionPluginHooks {
6991
+ /**
6992
+ * transform an entry into a different request (e.g. wrap a non-HTML entry in a synthetic HTML module); return `undefined` to keep the default behavior
6993
+ */
6994
+ entry: SyncBailHook<
6995
+ [string, string, EntryDescriptionNormalized],
6996
+ undefined | string
6997
+ >;
6998
+ }
6759
6999
  type EntryOptions = { name?: string } & Omit<
6760
7000
  EntryDescriptionNormalized,
6761
7001
  "import"
@@ -6782,6 +7022,11 @@ declare class EntryPlugin {
6782
7022
  options: string | EntryOptions
6783
7023
  ): EntryDependency;
6784
7024
  }
7025
+ declare interface EntryScriptInfo {
7026
+ request: string;
7027
+ entryName: string;
7028
+ type: "script" | "stylesheet" | "script-module" | "modulepreload";
7029
+ }
6785
7030
  type EntryStatic = string | EntryObject | string[];
6786
7031
 
6787
7032
  /**
@@ -6795,6 +7040,13 @@ declare interface EntryTypesIndex {
6795
7040
  timestamp: number;
6796
7041
  accuracy: number;
6797
7042
  }
7043
+
7044
+ /**
7045
+ * Entrypoint serves as an encapsulation primitive for chunks that are
7046
+ * a part of a single ChunkGroup. They represent all bundles that need to be loaded for a
7047
+ * single instance of a page. Multi-page application architectures will typically yield multiple Entrypoint objects
7048
+ * inside of the compilation, whereas a Single Page App may only contain one with many lazy-loaded chunks.
7049
+ */
6798
7050
  declare abstract class Entrypoint extends ChunkGroup {
6799
7051
  /**
6800
7052
  * Sets the runtimeChunk for an entrypoint.
@@ -6884,11 +7136,26 @@ declare interface Environment {
6884
7136
  */
6885
7137
  globalThis?: boolean;
6886
7138
 
7139
+ /**
7140
+ * The environment supports 'Object.hasOwn'.
7141
+ */
7142
+ hasOwn?: boolean;
7143
+
6887
7144
  /**
6888
7145
  * The environment supports `import.meta.dirname` and `import.meta.filename`.
6889
7146
  */
6890
7147
  importMetaDirnameAndFilename?: boolean;
6891
7148
 
7149
+ /**
7150
+ * The environment supports let for variable declarations.
7151
+ */
7152
+ let?: boolean;
7153
+
7154
+ /**
7155
+ * The environment supports logical assignment operators ('a ||= b', 'a &&= b', 'a ??= b').
7156
+ */
7157
+ logicalAssignment?: boolean;
7158
+
6892
7159
  /**
6893
7160
  * The environment supports object method shorthand ('{ module() {} }').
6894
7161
  */
@@ -6899,6 +7166,11 @@ declare interface Environment {
6899
7166
  */
6900
7167
  module?: boolean;
6901
7168
 
7169
+ /**
7170
+ * The environment supports `process.getBuiltinModule()` to synchronously load Node.js core modules.
7171
+ */
7172
+ nodeBuiltinModuleGetter?: boolean;
7173
+
6902
7174
  /**
6903
7175
  * The environment supports `node:` prefix for Node.js core modules.
6904
7176
  */
@@ -6909,6 +7181,16 @@ declare interface Environment {
6909
7181
  */
6910
7182
  optionalChaining?: boolean;
6911
7183
 
7184
+ /**
7185
+ * The environment supports spread and rest in array/object literals and calls ('{ ...obj }', 'fn(...args)').
7186
+ */
7187
+ spread?: boolean;
7188
+
7189
+ /**
7190
+ * The environment supports 'Symbol' (and well-known symbols like 'Symbol.toStringTag').
7191
+ */
7192
+ symbol?: boolean;
7193
+
6912
7194
  /**
6913
7195
  * The environment supports template literals.
6914
7196
  */
@@ -7096,7 +7378,7 @@ declare interface Experiments {
7096
7378
  futureDefaults?: boolean;
7097
7379
 
7098
7380
  /**
7099
- * Enable experimental HTML support. This flag does not by itself make `.html` files usable directly as entry points without additional HTML handling.
7381
+ * Enable HTML entry support. Treats `.html` files as a first-class module type so they can be used directly as entry points.
7100
7382
  * @experimental
7101
7383
  */
7102
7384
  html?: boolean;
@@ -7245,7 +7527,28 @@ declare abstract class ExportInfo {
7245
7527
  canMangleUse?: boolean;
7246
7528
  exportsInfoOwned: boolean;
7247
7529
  exportsInfo?: ExportsInfo;
7530
+
7531
+ /**
7532
+ * defined: the export binds to a small primitive constant and may be inlined
7533
+ * undefined: not an inlined constant export
7534
+ */
7535
+ canInlineProvide?: InlinedValue;
7536
+
7537
+ /**
7538
+ * true: at least one consumer accepts inlining, none rejected
7539
+ * false: at least one consumer rejected inlining
7540
+ * undefined: collecting; no consumer has decided yet
7541
+ */
7542
+ canInlineUse?: boolean;
7543
+
7544
+ /**
7545
+ * Only specific export info can be pure, so other_export_info.pure is always undefined.
7546
+ * true: calling the export has no observable side effects
7547
+ * undefined: it was not determined whether the export is pure
7548
+ */
7549
+ pureProvide?: boolean;
7248
7550
  get canMangle(): boolean;
7551
+ canInline(): undefined | InlinedValue;
7249
7552
 
7250
7553
  /**
7251
7554
  * Sets used in unknown way.
@@ -7294,12 +7597,12 @@ declare abstract class ExportInfo {
7294
7597
  getUsed(runtime: RuntimeSpec): UsageStateType;
7295
7598
 
7296
7599
  /**
7297
- * Returns used name.
7600
+ * Returns used name. May return InlinedUsedName when the export is inlined to a primitive.
7298
7601
  */
7299
7602
  getUsedName(
7300
7603
  fallbackName: undefined | string,
7301
7604
  runtime: RuntimeSpec
7302
- ): string | false;
7605
+ ): string | false | InlinedUsedName;
7303
7606
 
7304
7607
  /**
7305
7608
  * Checks whether this export info has used name.
@@ -7309,7 +7612,7 @@ declare abstract class ExportInfo {
7309
7612
  /**
7310
7613
  * Updates used name using the provided name.
7311
7614
  */
7312
- setUsedName(name: string): void;
7615
+ setUsedName(name: string | InlinedUsedName): void;
7313
7616
 
7314
7617
  /**
7315
7618
  * Gets terminal binding.
@@ -7344,7 +7647,7 @@ declare abstract class ExportInfo {
7344
7647
  resolveTargetFilter: (target: TargetItemWithConnection) => boolean,
7345
7648
  updateOriginalConnection?: (
7346
7649
  target: TargetItemWithConnection
7347
- ) => ModuleGraphConnection
7650
+ ) => undefined | ModuleGraphConnection
7348
7651
  ): undefined | TargetItemWithConnection;
7349
7652
 
7350
7653
  /**
@@ -7408,6 +7711,11 @@ declare interface ExportSpec {
7408
7711
  */
7409
7712
  terminalBinding?: boolean;
7410
7713
 
7714
+ /**
7715
+ * calling this export has no observable side effects
7716
+ */
7717
+ isPure?: boolean;
7718
+
7411
7719
  /**
7412
7720
  * nested exports
7413
7721
  */
@@ -7432,9 +7740,19 @@ declare interface ExportSpec {
7432
7740
  * export is not visible, because another export blends over it
7433
7741
  */
7434
7742
  hidden?: boolean;
7743
+
7744
+ /**
7745
+ * when set: the export binds to a small primitive constant eligible for inlining
7746
+ */
7747
+ inlined?: InlinedValue;
7435
7748
  }
7436
7749
  type ExportedVariableInfo = string | VariableInfo | ScopeInfo;
7437
7750
  declare abstract class ExportsInfo {
7751
+ /**
7752
+ * Records that an owned export got an inlined used name.
7753
+ */
7754
+ markInlinedExports(): void;
7755
+
7438
7756
  /**
7439
7757
  * Gets owned exports.
7440
7758
  */
@@ -7573,6 +7891,12 @@ declare abstract class ExportsInfo {
7573
7891
  */
7574
7892
  getUsedName(name: string | string[], runtime: RuntimeSpec): UsedName;
7575
7893
 
7894
+ /**
7895
+ * Checks whether `getUsedName(name, runtime)` would return an `InlinedUsedName`,
7896
+ * without allocating intermediate used-name arrays (hot path for connection conditions).
7897
+ */
7898
+ hasInlinedUsedName(name: string[], runtime: RuntimeSpec): boolean;
7899
+
7576
7900
  /**
7577
7901
  * Updates the hash with the data contributed by this instance.
7578
7902
  */
@@ -7624,6 +7948,11 @@ declare interface ExportsSpec {
7624
7948
  */
7625
7949
  terminalBinding?: boolean;
7626
7950
 
7951
+ /**
7952
+ * calling these exports has no observable side effects
7953
+ */
7954
+ isPure?: boolean;
7955
+
7627
7956
  /**
7628
7957
  * module on which the result depends on
7629
7958
  */
@@ -7631,9 +7960,9 @@ declare interface ExportsSpec {
7631
7960
  }
7632
7961
  type ExportsType =
7633
7962
  | "namespace"
7963
+ | "dynamic"
7634
7964
  | "default-only"
7635
- | "default-with-named"
7636
- | "dynamic";
7965
+ | "default-with-named";
7637
7966
  type Exposes = (string | ExposesObject)[] | ExposesObject;
7638
7967
 
7639
7968
  /**
@@ -7814,7 +8143,8 @@ declare class ExternalModule extends Module {
7814
8143
  static getCompilationHooks(compilation: Compilation): ExternalModuleHooks;
7815
8144
  static ModuleExternalInitFragment: typeof ModuleExternalInitFragment;
7816
8145
  static getExternalModuleNodeCommonjsInitFragment: (
7817
- runtimeTemplate: RuntimeTemplate
8146
+ runtimeTemplate: RuntimeTemplate,
8147
+ universal?: boolean
7818
8148
  ) => InitFragment<ChunkRenderContextJavascriptModulesPlugin>;
7819
8149
 
7820
8150
  /**
@@ -7823,6 +8153,9 @@ declare class ExternalModule extends Module {
7823
8153
  */
7824
8154
  static getSourceBasicTypes(module: Module): ReadonlySet<string>;
7825
8155
  }
8156
+ type ExternalModuleBuildInfo = KnownBuildInfo &
8157
+ Record<string, any> &
8158
+ KnownExternalModuleBuildInfo;
7826
8159
  declare interface ExternalModuleHooks {
7827
8160
  chunkCondition: SyncBailHook<[Chunk, Compilation], boolean>;
7828
8161
  }
@@ -7838,6 +8171,11 @@ declare interface ExternalModuleInfo {
7838
8171
  */
7839
8172
  name?: string;
7840
8173
 
8174
+ /**
8175
+ * decoupled namespace object that keeps original export names when the exports are mangled
8176
+ */
8177
+ escapeNamespaceObjectName?: string;
8178
+
7841
8179
  /**
7842
8180
  * deferred module.exports / harmony namespace object
7843
8181
  */
@@ -7887,6 +8225,24 @@ declare interface ExternalModuleInfo {
7887
8225
  * runtime namespace object that detects "__esModule"
7888
8226
  */
7889
8227
  interopDefaultAccessName?: string;
8228
+
8229
+ /**
8230
+ * memoized getExportsType(strict=true)
8231
+ */
8232
+ exportsTypeStrict?:
8233
+ | "namespace"
8234
+ | "dynamic"
8235
+ | "default-only"
8236
+ | "default-with-named";
8237
+
8238
+ /**
8239
+ * memoized getExportsType(strict=false)
8240
+ */
8241
+ exportsTypeNonStrict?:
8242
+ | "namespace"
8243
+ | "dynamic"
8244
+ | "default-only"
8245
+ | "default-with-named";
7890
8246
  }
7891
8247
  type ExternalModuleRequest = string | string[] | RequestRecord;
7892
8248
  type Externals =
@@ -7977,6 +8333,16 @@ declare class ExternalsPlugin {
7977
8333
  * Enable presets of externals for specific targets.
7978
8334
  */
7979
8335
  declare interface ExternalsPresets {
8336
+ /**
8337
+ * Treat bun built-in modules like 'bun', 'bun:sqlite' or 'bun:ffi' and node.js built-in modules as external and load them via import when used (for the Bun runtime).
8338
+ */
8339
+ bun?: boolean;
8340
+
8341
+ /**
8342
+ * Treat node.js built-in modules like fs, path or vm as external and load them via the required 'node:' specifier when used (for the Deno runtime).
8343
+ */
8344
+ deno?: boolean;
8345
+
7980
8346
  /**
7981
8347
  * Treat common electron built-in modules in main and preload context like 'electron', 'ipc' or 'shell' as external and load them via require() when used.
7982
8348
  */
@@ -8094,6 +8460,11 @@ declare interface FallbackCacheGroup {
8094
8460
  maxInitialSize: SplitChunksSizes;
8095
8461
  automaticNameDelimiter: string;
8096
8462
  }
8463
+
8464
+ /**
8465
+ * Enables asynchronous WebAssembly loading through `fetch` for environments
8466
+ * that can instantiate fetched binaries at runtime.
8467
+ */
8097
8468
  declare class FetchCompileAsyncWasmPlugin {
8098
8469
  constructor();
8099
8470
 
@@ -8103,6 +8474,11 @@ declare class FetchCompileAsyncWasmPlugin {
8103
8474
  */
8104
8475
  apply(compiler: Compiler): void;
8105
8476
  }
8477
+
8478
+ /**
8479
+ * Enables synchronous WebAssembly chunk loading that fetches `.wasm` files and
8480
+ * compiles them in browser-like environments.
8481
+ */
8106
8482
  declare class FetchCompileWasmPlugin {
8107
8483
  /**
8108
8484
  * Stores options that affect generated synchronous WebAssembly runtime code.
@@ -8269,6 +8645,10 @@ declare interface FileSystem {
8269
8645
  */
8270
8646
  realpath?: RealPathTypes;
8271
8647
  }
8648
+
8649
+ /**
8650
+ * Used to access information about the filesystem in a cached way
8651
+ */
8272
8652
  declare abstract class FileSystemInfo {
8273
8653
  fs: InputFileSystem;
8274
8654
  logger?: WebpackLogger;
@@ -8495,6 +8875,7 @@ declare class Generator {
8495
8875
  * Returns the source types available for this module.
8496
8876
  */
8497
8877
  getTypes(module: NormalModule): ReadonlySet<string>;
8878
+ getTypesDependOnIncomingConnections(): boolean;
8498
8879
 
8499
8880
  /**
8500
8881
  * Returns the estimated size for the requested source type.
@@ -8629,7 +9010,8 @@ declare class GetChunkFilenameRuntimeModule extends RuntimeModule {
8629
9010
  | string
8630
9011
  | false
8631
9012
  | ((pathData: PathDataChunk, assetInfo?: AssetInfo) => string),
8632
- allChunks: boolean
9013
+ allChunks: boolean,
9014
+ usesFullHashDigest?: boolean
8633
9015
  );
8634
9016
  contentType: string;
8635
9017
  global: string;
@@ -8700,6 +9082,10 @@ declare interface GroupOptionsSmartGrouping {
8700
9082
  force?: boolean;
8701
9083
  targetGroupCount?: number;
8702
9084
  }
9085
+ declare interface GuardCollection {
9086
+ consequent?: object;
9087
+ alternate?: object;
9088
+ }
8703
9089
  declare interface HMRJavascriptParserHooks {
8704
9090
  hotAcceptCallback: SyncBailHook<
8705
9091
  [
@@ -8878,8 +9264,20 @@ declare class HarmonyImportDependency extends ModuleDependency {
8878
9264
  members: string[],
8879
9265
  membersOptionals: boolean[]
8880
9266
  ) => string[];
9267
+
9268
+ /**
9269
+ * Compares two dependencies by source location for sorting a module's
9270
+ * `dependencies`, without materializing the `loc` objects (`get loc` caches
9271
+ * its result, so comparing through it would retain a location object on every
9272
+ * sorted dependency). These dependencies always carry a real source position,
9273
+ * so only start (line, column) and the within-statement index are compared; a
9274
+ * dependency without an index sorts after one that has an index at the same
9275
+ * position.
9276
+ */
9277
+ static compareLocations(a: Dependency, b: Dependency): 0 | 1 | -1;
8881
9278
  static NO_EXPORTS_REFERENCED: string[][];
8882
9279
  static EXPORTS_OBJECT_REFERENCED: string[][];
9280
+ static EXPORTS_OBJECT_REFERENCED_MANGLEABLE: string[][];
8883
9281
 
8884
9282
  /**
8885
9283
  * Returns true if the dependency is a low priority dependency.
@@ -8891,6 +9289,10 @@ declare class HarmonyImportDependency extends ModuleDependency {
8891
9289
  */
8892
9290
  static canConcatenate(dependency: Dependency): boolean;
8893
9291
  static TRANSITIVE: symbol;
9292
+ static LAZY_UNTIL_LOCAL: "local";
9293
+ static LAZY_UNTIL_ID: "id";
9294
+ static LAZY_UNTIL_FALLBACK: "*";
9295
+ static LAZY_UNTIL_REQUEST: "@";
8894
9296
  }
8895
9297
  declare class HarmonyImportDependencyTemplate extends DependencyTemplate {
8896
9298
  constructor();
@@ -8912,9 +9314,6 @@ declare interface HarmonySettings {
8912
9314
  attributes?: ImportAttributes;
8913
9315
  phase: ImportPhaseType;
8914
9316
  }
8915
- declare interface HarmonySpecifierGuards {
8916
- guards?: AppendOnlyStackedSet<string>;
8917
- }
8918
9317
  declare abstract class HarmonyStarExportsList {
8919
9318
  dependencies: HarmonyExportImportedSpecifierDependency[];
8920
9319
 
@@ -8927,12 +9326,12 @@ declare abstract class HarmonyStarExportsList {
8927
9326
  /**
8928
9327
  * Serializes this instance into the provided serializer context.
8929
9328
  */
8930
- serialize(__0: ObjectSerializerContext): void;
9329
+ serialize(__0: StarListSerializerContext): void;
8931
9330
 
8932
9331
  /**
8933
9332
  * Restores this instance from the provided deserializer context.
8934
9333
  */
8935
- deserialize(__0: ObjectDeserializerContext): void;
9334
+ deserialize(__0: StarListDeserializerContext): void;
8936
9335
  }
8937
9336
  declare class Hash {
8938
9337
  constructor();
@@ -9017,6 +9416,18 @@ declare interface HashedModuleIdsPluginOptions {
9017
9416
  */
9018
9417
  hashFunction?: string | typeof Hash;
9019
9418
  }
9419
+ type Head<T extends ReadonlyArray<any>> = T extends readonly [infer H, ...any[]]
9420
+ ? H
9421
+ : T extends readonly []
9422
+ ? any
9423
+ : T extends (infer E)[]
9424
+ ? E
9425
+ : never;
9426
+
9427
+ /**
9428
+ * Base class for runtime modules that only emit helper functions and do not
9429
+ * need special staging or attachment behavior beyond `RuntimeModule`.
9430
+ */
9020
9431
  declare abstract class HelperRuntimeModule extends RuntimeModule {}
9021
9432
  declare class HotModuleReplacementPlugin {
9022
9433
  constructor();
@@ -9091,16 +9502,117 @@ declare abstract class HtmlGenerator extends Generator {
9091
9502
  */
9092
9503
  declare interface HtmlGeneratorOptions {
9093
9504
  /**
9094
- * Emit the parsed and URL-rewritten HTML as a standalone `.html` output file alongside the module's JavaScript export. When unset, extraction defaults to `true` for HTML modules used as compilation entries (HTML entry points) and `false` for HTML modules imported from JavaScript. Filenames follow `output.htmlFilename` / `output.htmlChunkFilename`.
9505
+ * Emit the parsed and URL-rewritten HTML as a standalone `.html` output file alongside the module's JavaScript export. `true` always emits the file; `false` never does; `"inline"` exposes the processed HTML for inline write-back (e.g. `<iframe srcdoc>`) without emitting a standalone file. When unset, extraction defaults to `true` for HTML modules used as compilation entries (HTML entry points) and `false` for HTML modules imported from JavaScript. Filenames follow `output.htmlFilename` / `output.htmlChunkFilename`.
9095
9506
  */
9096
- extract?: boolean;
9507
+ extract?: boolean | "inline";
9097
9508
  }
9509
+ type HtmlModuleBuildInfo = KnownBuildInfo &
9510
+ Record<string, any> &
9511
+ KnownNormalModuleBuildInfo &
9512
+ KnownHtmlModuleBuildInfo;
9098
9513
  declare abstract class HtmlParser extends ParserClass {
9099
9514
  magicCommentContext: ContextImport;
9100
- hashFunction?: string | typeof Hash;
9101
- context?: string;
9102
- outputModule?: boolean;
9103
- css?: boolean;
9515
+ template?: (source: string, context: HtmlTemplateContext) => string;
9516
+ sourcesByTag: Record<string, Record<string, SourceItem>>;
9517
+
9518
+ /**
9519
+ * Runs the `template` option over the source and returns the transformed
9520
+ * html. Called from HtmlModulesPlugin's `processResult`, where the return
9521
+ * value becomes the module's stored source so the parser (which records
9522
+ * dependency offsets against it) and the generator (which renders from
9523
+ * `module.originalSource()`) stay in agreement.
9524
+ */
9525
+ applyTemplate(source: string | Buffer, module: NormalModule): string | Buffer;
9526
+ }
9527
+
9528
+ /**
9529
+ * Parser options for html modules.
9530
+ */
9531
+ declare interface HtmlParserOptions {
9532
+ /**
9533
+ * Configure extraction of URL-like attribute values (e.g. `<img src>`, `<link href>`, `<script src>`) as webpack dependencies. `true` (default) uses the built-in source list; `false` disables extraction entirely so attributes are left untouched and `<script src>` / `<link rel="modulepreload">` / `<link rel="stylesheet">` no longer become compilation entries; an array lets you customize which `tag`/`attribute` pairs are treated as URLs and how they are bundled. Use the string `"..."` inside the array to inline the defaults. Inline `<script>` and `<style>` bodies are always processed. Use `webpackIgnore` comments or `IgnorePlugin` to skip individual URLs.
9534
+ */
9535
+ sources?:
9536
+ | boolean
9537
+ | (
9538
+ | "..."
9539
+ | {
9540
+ /**
9541
+ * Attribute name whose value is treated as a URL.
9542
+ */
9543
+ attribute: string;
9544
+ /**
9545
+ * Called with the element's decoded attribute map and the decoded attribute value; return false to skip this source entry for that element.
9546
+ */
9547
+ filter?: (
9548
+ attributes: Map<string, string>,
9549
+ value: string
9550
+ ) => boolean;
9551
+ /**
9552
+ * Tag name to match. Omit to match any tag.
9553
+ */
9554
+ tag?: string;
9555
+ /**
9556
+ * How the attribute value should be parsed and bundled. `src` extracts a single URL as a plain asset; `srcset` parses a `srcset`-style list of candidate URLs as plain assets; `css-url` extracts `url(...)` references from a CSS value (like an SVG presentation attribute such as `fill`) as plain assets; `script` and `script-module` emit a classic / ES-module chunk entry like `<script src>` and `<script type="module" src>`; `stylesheet` emits a CSS chunk entry like `<link rel="stylesheet">`; `stylesheet-style` treats the attribute value as a full stylesheet (like a `<style>` body) and `stylesheet-style-attribute` as a CSS block's contents (a declaration list, like a `style` attribute) — both bundle it through the CSS pipeline and replace the attribute's content with the processed CSS at render time; `srcdoc` treats the attribute value as an entity-encoded HTML document (like `<iframe srcdoc>`), bundling it through the HTML pipeline and replacing the attribute's content with the processed HTML at render time.
9557
+ */
9558
+ type:
9559
+ | "script"
9560
+ | "css-url"
9561
+ | "stylesheet"
9562
+ | "script-module"
9563
+ | "src"
9564
+ | "srcset"
9565
+ | "stylesheet-style"
9566
+ | "stylesheet-style-attribute"
9567
+ | "srcdoc";
9568
+ }
9569
+ )[];
9570
+
9571
+ /**
9572
+ * Transform the raw source before the html parser extracts dependencies. Receives the source string and a context (`{ module, resource }`) and must return the html string to parse. Useful for compiling a templating language (Handlebars, EJS, Eta, …) to html so that URLs the template emits are still picked up as webpack dependencies. Runs synchronously.
9573
+ */
9574
+ template?: (source: string, context: HtmlTemplateContext) => string;
9575
+ }
9576
+ declare interface HtmlTemplateContext {
9577
+ /**
9578
+ * the html module being transformed
9579
+ */
9580
+ module: Module;
9581
+
9582
+ /**
9583
+ * absolute path of the module's resource
9584
+ */
9585
+ resource: string;
9586
+
9587
+ /**
9588
+ * register a file (e.g. a template partial) as a build dependency so editing it triggers a rebuild
9589
+ */
9590
+ addDependency: (dependency: string) => void;
9591
+
9592
+ /**
9593
+ * register a directory as a build dependency
9594
+ */
9595
+ addContextDependency: (dependency: string) => void;
9596
+
9597
+ /**
9598
+ * register a not-yet-existing path as a build dependency so creating it triggers a rebuild
9599
+ */
9600
+ addMissingDependency: (dependency: string) => void;
9601
+
9602
+ /**
9603
+ * register a build dependency (e.g. a template engine config) so changing it invalidates the cache
9604
+ */
9605
+ addBuildDependency: (dependency: string) => void;
9606
+
9607
+ /**
9608
+ * report a non-fatal warning on the module
9609
+ */
9610
+ emitWarning: (warning: string | Error) => void;
9611
+
9612
+ /**
9613
+ * report an error on the module
9614
+ */
9615
+ emitError: (error: string | Error) => void;
9104
9616
  }
9105
9617
 
9106
9618
  /**
@@ -9617,6 +10129,10 @@ type InfrastructureLoggingNormalizedWithDefaults = InfrastructureLogging & {
9617
10129
  colors: NonNullable<undefined | boolean>;
9618
10130
  appendOnly: NonNullable<undefined | boolean>;
9619
10131
  };
10132
+
10133
+ /**
10134
+ * Represents InitFragment.
10135
+ */
9620
10136
  declare class InitFragment<GenerateContext> {
9621
10137
  /**
9622
10138
  * Creates an instance of InitFragment.
@@ -9647,12 +10163,12 @@ declare class InitFragment<GenerateContext> {
9647
10163
  /**
9648
10164
  * Serializes this instance into the provided serializer context.
9649
10165
  */
9650
- serialize(context: ObjectSerializerContext): void;
10166
+ serialize(context: ObjectSerializerContextObjectMiddlewareObject_5): void;
9651
10167
 
9652
10168
  /**
9653
10169
  * Restores this instance from the provided deserializer context.
9654
10170
  */
9655
- deserialize(context: ObjectDeserializerContext): void;
10171
+ deserialize(context: ObjectDeserializerContextObjectMiddlewareObject_4): void;
9656
10172
 
9657
10173
  /**
9658
10174
  * Adds the provided source to the init fragment.
@@ -9670,6 +10186,54 @@ declare class InitFragment<GenerateContext> {
9670
10186
  static STAGE_ASYNC_DEPENDENCIES: number;
9671
10187
  static STAGE_ASYNC_HARMONY_IMPORTS: number;
9672
10188
  }
10189
+ declare abstract class InlinedUsedName {
10190
+ value: InlinedValue;
10191
+ suffix: string[];
10192
+ render(comment: string): string;
10193
+ }
10194
+ declare abstract class InlinedValue {
10195
+ kind: InlinedValueKind;
10196
+ value?: null | string | number | boolean;
10197
+ renderLiteral(): string;
10198
+ render(comment: string): string;
10199
+ serialize(__0: ObjectSerializerContextObjectMiddlewareObject_5): void;
10200
+ deserialize(__0: ObjectDeserializerContextObjectMiddlewareObject_4): void;
10201
+ }
10202
+ type InlinedValueKind = "string" | "number" | "boolean" | "undefined" | "null";
10203
+ declare interface InnerGraphUtils {
10204
+ enable: (parserState: ParserState) => void;
10205
+ bailout: (parserState: ParserState) => void;
10206
+ isEnabled: (parserState: ParserState) => boolean;
10207
+ addUsage: (
10208
+ parserState: ParserState,
10209
+ symbol: null | TopLevelSymbol,
10210
+ usage: Usage
10211
+ ) => void;
10212
+ onUsage: (
10213
+ parserState: ParserState,
10214
+ onUsageCallback: (
10215
+ value: undefined | boolean | Set<string>,
10216
+ module: Module
10217
+ ) => void
10218
+ ) => void;
10219
+ setTopLevelSymbol: (
10220
+ parserState: ParserState,
10221
+ symbol?: TopLevelSymbol
10222
+ ) => void;
10223
+ getTopLevelSymbol: (parserState: ParserState) => void | TopLevelSymbol;
10224
+ tagTopLevelSymbol: (
10225
+ parser: JavascriptParser,
10226
+ name: string,
10227
+ pure?: boolean | ((compilation: Compilation, module: Module) => boolean)
10228
+ ) => undefined | TopLevelSymbol;
10229
+ addVariableUsage: (
10230
+ parser: JavascriptParser,
10231
+ name: string,
10232
+ usage: Usage
10233
+ ) => void;
10234
+ inferDependencyUsage: (module: Module) => void;
10235
+ release: (module: Module) => void;
10236
+ }
9673
10237
 
9674
10238
  /**
9675
10239
  * Returns location of targetPath relative to rootPath.
@@ -9835,6 +10399,13 @@ declare abstract class JavascriptGenerator extends Generator {
9835
10399
  generateContext: GenerateContext
9836
10400
  ): null | Source;
9837
10401
  }
10402
+ type JavascriptModuleBuildInfo = KnownBuildInfo &
10403
+ Record<string, any> &
10404
+ KnownNormalModuleBuildInfo &
10405
+ KnownJavascriptModuleBuildInfo;
10406
+ type JavascriptModuleBuildMeta = KnownBuildMeta &
10407
+ Record<string, any> &
10408
+ KnownJavascriptModuleBuildMeta;
9838
10409
  declare class JavascriptModulesPlugin {
9839
10410
  constructor(options?: object);
9840
10411
  options: object;
@@ -10136,10 +10707,7 @@ declare class JavascriptParser extends ParserClass {
10136
10707
  boolean | void
10137
10708
  >;
10138
10709
  statementIf: SyncBailHook<[IfStatement], boolean | void>;
10139
- collectGuards: SyncBailHook<
10140
- [Expression],
10141
- void | ((walk: () => void) => void)
10142
- >;
10710
+ collectGuards: SyncBailHook<[Expression], void | GuardCollection>;
10143
10711
  classExtendsExpression: SyncBailHook<
10144
10712
  [
10145
10713
  Expression,
@@ -10436,8 +11004,7 @@ declare class JavascriptParser extends ParserClass {
10436
11004
  | HarmonySettings
10437
11005
  | ImportSettings
10438
11006
  | CommonJsImportSettings
10439
- | CompatibilitySettings
10440
- | HarmonySpecifierGuards;
11007
+ | CompatibilitySettings;
10441
11008
  magicCommentContext: ContextImport;
10442
11009
 
10443
11010
  /**
@@ -10757,6 +11324,12 @@ declare class JavascriptParser extends ParserClass {
10757
11324
  */
10758
11325
  preWalkIfStatement(statement: IfStatement): void;
10759
11326
 
11327
+ /**
11328
+ * Walks a conditional branch with its guard frame (if any) pushed onto the
11329
+ * parser-state guard stack for the duration of the branch body.
11330
+ */
11331
+ walkGuardedBranch(frame: undefined | null | object, walk: () => void): void;
11332
+
10760
11333
  /**
10761
11334
  * Processes the provided statement.
10762
11335
  */
@@ -11680,8 +12253,7 @@ declare class JavascriptParser extends ParserClass {
11680
12253
  | HarmonySettings
11681
12254
  | ImportSettings
11682
12255
  | CommonJsImportSettings
11683
- | CompatibilitySettings
11684
- | HarmonySpecifierGuards;
12256
+ | CompatibilitySettings;
11685
12257
 
11686
12258
  /**
11687
12259
  * Processes the provided name.
@@ -11695,8 +12267,7 @@ declare class JavascriptParser extends ParserClass {
11695
12267
  | HarmonySettings
11696
12268
  | ImportSettings
11697
12269
  | CommonJsImportSettings
11698
- | CompatibilitySettings
11699
- | HarmonySpecifierGuards,
12270
+ | CompatibilitySettings,
11700
12271
  flags?: 0 | 1 | 2 | 4
11701
12272
  ): void;
11702
12273
 
@@ -11738,6 +12309,72 @@ declare class JavascriptParser extends ParserClass {
11738
12309
  errors: null | (Error & { comment: CommentJavascriptParser })[];
11739
12310
  };
11740
12311
 
12312
+ /**
12313
+ * Finds the root object of a member expression chain without allocating the
12314
+ * member arrays. The traversal/break logic must stay in sync with
12315
+ * `extractMemberExpressionChain`; it lets `getMemberExpressionInfo` reject
12316
+ * unrecognized roots (~77% of calls) before paying for the arrays.
12317
+ */
12318
+ getMemberExpressionRoot(
12319
+ expression:
12320
+ | ImportExpressionImport
12321
+ | UnaryExpression
12322
+ | ArrayExpression
12323
+ | ArrowFunctionExpression
12324
+ | AssignmentExpression
12325
+ | AwaitExpression
12326
+ | BinaryExpression
12327
+ | SimpleCallExpression
12328
+ | NewExpression
12329
+ | ChainExpression
12330
+ | ClassExpression
12331
+ | ConditionalExpression
12332
+ | FunctionExpression
12333
+ | Identifier
12334
+ | SimpleLiteral
12335
+ | RegExpLiteral
12336
+ | BigIntLiteral
12337
+ | LogicalExpression
12338
+ | MemberExpression
12339
+ | MetaProperty
12340
+ | ObjectExpression
12341
+ | SequenceExpression
12342
+ | TaggedTemplateExpression
12343
+ | TemplateLiteral
12344
+ | ThisExpression
12345
+ | UpdateExpression
12346
+ | YieldExpression
12347
+ | Super
12348
+ ):
12349
+ | ImportExpressionImport
12350
+ | UnaryExpression
12351
+ | ArrayExpression
12352
+ | ArrowFunctionExpression
12353
+ | AssignmentExpression
12354
+ | AwaitExpression
12355
+ | BinaryExpression
12356
+ | SimpleCallExpression
12357
+ | NewExpression
12358
+ | ChainExpression
12359
+ | ClassExpression
12360
+ | ConditionalExpression
12361
+ | FunctionExpression
12362
+ | Identifier
12363
+ | SimpleLiteral
12364
+ | RegExpLiteral
12365
+ | BigIntLiteral
12366
+ | LogicalExpression
12367
+ | MemberExpression
12368
+ | MetaProperty
12369
+ | ObjectExpression
12370
+ | SequenceExpression
12371
+ | TaggedTemplateExpression
12372
+ | TemplateLiteral
12373
+ | ThisExpression
12374
+ | UpdateExpression
12375
+ | YieldExpression
12376
+ | Super;
12377
+
11741
12378
  /**
11742
12379
  * Extract member expression chain.
11743
12380
  */
@@ -11941,7 +12578,7 @@ declare interface JavascriptParserOptions {
11941
12578
  /**
11942
12579
  * Specifies global mode for dynamic import.
11943
12580
  */
11944
- dynamicImportMode?: "weak" | "eager" | "lazy" | "lazy-once";
12581
+ dynamicImportMode?: "eager" | "weak" | "lazy" | "lazy-once";
11945
12582
 
11946
12583
  /**
11947
12584
  * Specifies global prefetch for dynamic import.
@@ -12023,6 +12660,11 @@ declare interface JavascriptParserOptions {
12023
12660
  */
12024
12661
  parse?: (code: string, options: ParseOptions) => ParseResult;
12025
12662
 
12663
+ /**
12664
+ * Mark the listed top-level function names for pure-function-based tree shaking.
12665
+ */
12666
+ pureFunctions?: string[];
12667
+
12026
12668
  /**
12027
12669
  * 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.
12028
12670
  */
@@ -12174,6 +12816,10 @@ declare interface JsonGeneratorOptions {
12174
12816
  */
12175
12817
  JSONParse?: boolean;
12176
12818
  }
12819
+ type JsonModuleBuildInfo = KnownBuildInfo &
12820
+ Record<string, any> &
12821
+ KnownNormalModuleBuildInfo &
12822
+ KnownJsonModuleBuildInfo;
12177
12823
  declare interface JsonObjectFs {
12178
12824
  [index: string]:
12179
12825
  | undefined
@@ -12316,6 +12962,11 @@ declare interface KnownAssetInfo {
12316
12962
  */
12317
12963
  contenthash?: string | string[];
12318
12964
 
12965
+ /**
12966
+ * maps a `[contenthash:<digest>]` value to its digest, so `RealContentHashPlugin` re-encodes the recomputed hash in it
12967
+ */
12968
+ contenthashDigest?: Record<string, string>;
12969
+
12319
12970
  /**
12320
12971
  * when asset was created from a source file (potentially transformed), the original filename relative to compilation context
12321
12972
  */
@@ -12351,152 +13002,97 @@ declare interface KnownAssetInfo {
12351
13002
  */
12352
13003
  related?: Record<string, null | string | string[]>;
12353
13004
  }
13005
+ declare interface KnownAssetModuleBuildInfo {
13006
+ /**
13007
+ * whether the asset is inlined as a data url
13008
+ */
13009
+ dataUrl?: boolean;
13010
+ filename?: string;
13011
+ assetInfo?: AssetInfo;
13012
+ fullContentHash?: string;
13013
+ }
12354
13014
  declare interface KnownBuildInfo {
12355
13015
  cacheable?: boolean;
12356
- parsed?: boolean;
12357
13016
  strict?: boolean;
12358
-
12359
- /**
12360
- * using in AMD
12361
- */
12362
13017
  moduleArgument?: string;
12363
-
12364
- /**
12365
- * using in AMD
12366
- */
12367
13018
  exportsArgument?: string;
12368
13019
 
12369
13020
  /**
12370
- * using in CommonJs
13021
+ * assets added by loaders or plugins
12371
13022
  */
12372
- moduleConcatenationBailout?: string;
13023
+ assets?: Record<string, Source>;
13024
+ assetsInfo?: Map<string, undefined | AssetInfo>;
12373
13025
 
12374
13026
  /**
12375
- * using in APIPlugin
13027
+ * top level declaration names
12376
13028
  */
12377
- needCreateRequire?: boolean;
13029
+ topLevelDeclarations?: Set<string>;
12378
13030
 
12379
13031
  /**
12380
- * using in HttpUriPlugin
13032
+ * true when the module is part of a circular dependency chain
12381
13033
  */
12382
- resourceIntegrity?: string;
13034
+ isCircular?: boolean;
13035
+ }
13036
+ declare interface KnownBuildMeta {
13037
+ exportsType?: "default" | "namespace" | "flagged" | "dynamic";
13038
+ defaultObject?: false | "redirect" | "redirect-warn";
13039
+ async?: boolean;
13040
+ sideEffectFree?: boolean;
12383
13041
 
12384
13042
  /**
12385
- * using in NormalModule
13043
+ * using in ModuleLibraryPlugin
12386
13044
  */
12387
- fileDependencies?: LazySet<string>;
13045
+ exportsFinalNameByRuntime?: Map<string, Record<string, string>>;
12388
13046
 
12389
13047
  /**
12390
- * using in NormalModule
13048
+ * using in ModuleLibraryPlugin
12391
13049
  */
13050
+ exportsSourceByRuntime?: Map<string, string>;
13051
+ }
13052
+ declare interface KnownConcatenatedModuleBuildInfo {
13053
+ fileDependencies?: LazySet<string>;
12392
13054
  contextDependencies?: LazySet<string>;
12393
-
12394
- /**
12395
- * using in NormalModule
12396
- */
12397
13055
  missingDependencies?: LazySet<string>;
12398
13056
 
12399
13057
  /**
12400
- * using in NormalModule
13058
+ * collected from the inner modules
12401
13059
  */
12402
- buildDependencies?: LazySet<string>;
12403
-
12404
- /**
12405
- * using in NormalModule
12406
- */
12407
- valueDependencies?: Map<string, ValueCacheVersion>;
12408
-
12409
- /**
12410
- * using in NormalModule
12411
- */
12412
- assets?: Record<string, Source>;
12413
-
12414
- /**
12415
- * using in NormalModule
12416
- */
12417
- assetsInfo?: Map<string, undefined | AssetInfo>;
13060
+ needCreateRequire?: boolean;
12418
13061
 
12419
13062
  /**
12420
- * using in NormalModule
13063
+ * taken over from the root module
12421
13064
  */
12422
- hash?: string;
12423
-
13065
+ inlineExports?: boolean;
13066
+ }
13067
+ declare interface KnownContext {
12424
13068
  /**
12425
- * using in ContextModule
13069
+ * environments
12426
13070
  */
13071
+ environments?: string[];
13072
+ }
13073
+ declare interface KnownContextModuleBuildInfo {
12427
13074
  snapshot?: null | Snapshot;
12428
-
12429
- /**
12430
- * for assets modules
12431
- */
12432
- fullContentHash?: string;
12433
-
12434
- /**
12435
- * for assets modules
12436
- */
12437
- filename?: string;
12438
-
12439
- /**
12440
- * for assets modules
12441
- */
12442
- dataUrl?: boolean;
12443
-
12444
- /**
12445
- * for assets modules
12446
- */
12447
- assetInfo?: AssetInfo;
12448
-
12449
- /**
12450
- * for external modules
12451
- */
12452
- javascriptModule?: boolean;
12453
-
12454
- /**
12455
- * for lazy compilation modules
12456
- */
12457
- active?: boolean;
12458
-
12459
- /**
12460
- * for css modules
12461
- */
13075
+ }
13076
+ declare interface KnownCreateStatsOptionsContext {
13077
+ forToString?: boolean;
13078
+ }
13079
+ declare interface KnownCssModuleBuildInfo {
12462
13080
  cssData?: CssData;
12463
13081
 
12464
13082
  /**
12465
- * for css modules (charset at-rule)
13083
+ * charset at-rule
12466
13084
  */
12467
13085
  charset?: string;
12468
-
12469
- /**
12470
- * for json modules
12471
- */
12472
- jsonData?: JsonData;
12473
-
12474
- /**
12475
- * top level declaration names
12476
- */
12477
- topLevelDeclarations?: Set<string>;
12478
13086
  }
12479
- declare interface KnownBuildMeta {
12480
- exportsType?: "namespace" | "dynamic" | "default" | "flagged";
12481
- defaultObject?: false | "redirect" | "redirect-warn";
12482
- strictHarmonyModule?: boolean;
12483
- treatAsCommonJs?: boolean;
12484
- async?: boolean;
12485
- sideEffectFree?: boolean;
13087
+ declare interface KnownCssModuleBuildMeta {
12486
13088
  isCssModule?: boolean;
12487
13089
  needIdInConcatenation?: boolean;
12488
- jsIncompatibleExports?: Record<string, string>;
12489
- exportsFinalNameByRuntime?: Map<string, Record<string, string>>;
12490
- exportsSourceByRuntime?: Map<string, string>;
12491
13090
  }
12492
- declare interface KnownContext {
13091
+ declare interface KnownExternalModuleBuildInfo {
12493
13092
  /**
12494
- * environments
13093
+ * true when emitting an ESM external (`output.module`)
12495
13094
  */
12496
- environments?: string[];
12497
- }
12498
- declare interface KnownCreateStatsOptionsContext {
12499
- forToString?: boolean;
13095
+ javascriptModule?: boolean;
12500
13096
  }
12501
13097
  declare interface KnownHooks {
12502
13098
  /**
@@ -12530,16 +13126,65 @@ declare interface KnownHooks {
12530
13126
  */
12531
13127
  result: AsyncSeriesHook<[ResolveRequest, ResolveContext]>;
12532
13128
  }
13129
+ declare interface KnownHtmlModuleBuildInfo {
13130
+ /**
13131
+ * entries collected from the document, grouped by kind
13132
+ */
13133
+ htmlEntryScripts?: Record<string, EntryScriptInfo[]>;
13134
+ }
13135
+ declare interface KnownJavascriptModuleBuildInfo {
13136
+ /**
13137
+ * using in CommonJs
13138
+ */
13139
+ moduleConcatenationBailout?: string;
13140
+
13141
+ /**
13142
+ * using in APIPlugin
13143
+ */
13144
+ needCreateRequire?: boolean;
13145
+
13146
+ /**
13147
+ * names of locally declared functions known to be free of side effects
13148
+ */
13149
+ pureFunctions?: Set<string>;
13150
+
13151
+ /**
13152
+ * whether this module was parsed with `optimization.inlineExports` enabled (gates inlining of its exports)
13153
+ */
13154
+ inlineExports?: boolean;
13155
+ }
13156
+ declare interface KnownJavascriptModuleBuildMeta {
13157
+ strictHarmonyModule?: boolean;
13158
+ treatAsCommonJs?: boolean;
13159
+ }
12533
13160
  declare interface KnownJavascriptParserState {
12534
13161
  harmonyNamedExports?: Set<string>;
12535
13162
  harmonyStarExports?: HarmonyStarExportsList;
12536
13163
  lastHarmonyImportOrder?: number;
12537
13164
  localModules?: LocalModule[];
12538
13165
  }
13166
+ declare interface KnownJsonModuleBuildInfo {
13167
+ jsonData?: JsonData;
13168
+ }
12539
13169
  declare interface KnownMeta {
12540
13170
  importVarMap?: Map<Module, string>;
12541
13171
  deferredImportVarMap?: Map<Module, string>;
12542
13172
  }
13173
+ declare interface KnownNormalModuleBuildInfo {
13174
+ parsed?: boolean;
13175
+ hash?: string;
13176
+ fileDependencies?: LazySet<string>;
13177
+ contextDependencies?: LazySet<string>;
13178
+ missingDependencies?: LazySet<string>;
13179
+ buildDependencies?: LazySet<string>;
13180
+ valueDependencies?: Map<string, ValueCacheVersion>;
13181
+ snapshot?: null | Snapshot;
13182
+
13183
+ /**
13184
+ * using in HttpUriPlugin
13185
+ */
13186
+ resourceIntegrity?: string;
13187
+ }
12543
13188
  declare interface KnownNormalizedStatsOptions {
12544
13189
  context: string;
12545
13190
  requestShortener: RequestShortener;
@@ -12909,6 +13554,9 @@ declare interface KnownStatsProfile {
12909
13554
  factory: number;
12910
13555
  dependencies: number;
12911
13556
  }
13557
+ declare interface KnownSyncWasmModuleBuildMeta {
13558
+ jsIncompatibleExports?: Record<string, string>;
13559
+ }
12912
13560
  declare interface KnownUnsafeCacheData {
12913
13561
  /**
12914
13562
  * factory meta
@@ -13079,6 +13727,12 @@ type LazyFunction<
13079
13727
  declare interface LazyOptions {
13080
13728
  [index: string]: any;
13081
13729
  }
13730
+
13731
+ /**
13732
+ * Like Set but with an addAll method to eventually add items from another iterable.
13733
+ * Access methods make sure that all delayed operations are executed.
13734
+ * Iteration methods deopts to normal Set performance until clear is called again (because of the chance of modifications during iteration).
13735
+ */
13082
13736
  declare class LazySet<T> {
13083
13737
  /**
13084
13738
  * Seeds the set with an optional iterable while preparing internal queues for
@@ -13147,7 +13801,9 @@ declare class LazySet<T> {
13147
13801
  * Serializes the fully materialized set contents into webpack's object
13148
13802
  * serialization stream.
13149
13803
  */
13150
- serialize(__0: ObjectSerializerContext): void;
13804
+ serialize(
13805
+ __0: ObjectSerializerContextObjectMiddlewareObject_4<(number | T)[]>
13806
+ ): void;
13151
13807
 
13152
13808
  /**
13153
13809
  * Returns the default iterator over values after forcing pending merges.
@@ -13157,7 +13813,9 @@ declare class LazySet<T> {
13157
13813
  /**
13158
13814
  * Restores a `LazySet` from serialized item data.
13159
13815
  */
13160
- static deserialize<T>(__0: ObjectDeserializerContext): LazySet<T>;
13816
+ static deserialize<T>(
13817
+ __0: ObjectDeserializerContextObjectMiddlewareObject_3<(number | T)[]>
13818
+ ): LazySet<T>;
13161
13819
  }
13162
13820
  declare interface LibIdentOptions {
13163
13821
  /**
@@ -13667,12 +14325,12 @@ declare abstract class LocalModule {
13667
14325
  /**
13668
14326
  * Serializes this instance into the provided serializer context.
13669
14327
  */
13670
- serialize(context: ObjectSerializerContext): void;
14328
+ serialize(context: ObjectSerializerContextObjectMiddlewareObject_2): void;
13671
14329
 
13672
14330
  /**
13673
14331
  * Restores this instance from the provided deserializer context.
13674
14332
  */
13675
- deserialize(context: ObjectDeserializerContext): void;
14333
+ deserialize(context: ObjectDeserializerContextObjectMiddlewareObject_1): void;
13676
14334
  }
13677
14335
  declare interface LogEntry {
13678
14336
  type:
@@ -13996,6 +14654,7 @@ declare interface MaybeMergeableInitFragment<GenerateContext> {
13996
14654
  fragments: MaybeMergeableInitFragment<GenerateContext>[]
13997
14655
  ) => MaybeMergeableInitFragment<GenerateContext>[];
13998
14656
  }
14657
+ type MaybePromise<T> = T | Promise<T>;
13999
14658
  type Media = undefined | string;
14000
14659
 
14001
14660
  /**
@@ -14130,7 +14789,6 @@ declare class Module extends DependenciesBlock {
14130
14789
  factoryMeta?: FactoryMeta;
14131
14790
  useSourceMap: boolean;
14132
14791
  useSimpleSourceMap: boolean;
14133
- hot: boolean;
14134
14792
  buildMeta?: BuildMeta;
14135
14793
  buildInfo?: BuildInfo;
14136
14794
  presentationalDependencies?: Dependency[];
@@ -14402,6 +15060,11 @@ declare class Module extends DependenciesBlock {
14402
15060
  */
14403
15061
  getSourceTypes(): ReadonlySet<string>;
14404
15062
 
15063
+ /**
15064
+ * Freshly recomputed source types when they depend on incoming connections, for chunk-graph cache invalidation; undefined otherwise. #20800
15065
+ */
15066
+ getReferencedSourceTypes(): undefined | ReadonlySet<string>;
15067
+
14405
15068
  /**
14406
15069
  * Basic source types are high-level categories like javascript, css, webassembly, etc.
14407
15070
  * We only have built-in knowledge about the javascript basic type here; other basic types may be
@@ -14559,9 +15222,22 @@ declare class ModuleDependency extends Dependency {
14559
15222
  userRequest: string;
14560
15223
  sourceOrder?: number;
14561
15224
  range?: [number, number];
15225
+ weak: boolean;
14562
15226
  static Template: typeof DependencyTemplate;
15227
+
15228
+ /**
15229
+ * Compares two dependencies by source location for sorting a module's
15230
+ * `dependencies`, without materializing the `loc` objects (`get loc` caches
15231
+ * its result, so comparing through it would retain a location object on every
15232
+ * sorted dependency). These dependencies always carry a real source position,
15233
+ * so only start (line, column) and the within-statement index are compared; a
15234
+ * dependency without an index sorts after one that has an index at the same
15235
+ * position.
15236
+ */
15237
+ static compareLocations(a: Dependency, b: Dependency): 0 | 1 | -1;
14563
15238
  static NO_EXPORTS_REFERENCED: string[][];
14564
15239
  static EXPORTS_OBJECT_REFERENCED: string[][];
15240
+ static EXPORTS_OBJECT_REFERENCED_MANGLEABLE: string[][];
14565
15241
 
14566
15242
  /**
14567
15243
  * Returns true if the dependency is a low priority dependency.
@@ -14573,7 +15249,15 @@ declare class ModuleDependency extends Dependency {
14573
15249
  */
14574
15250
  static canConcatenate(dependency: Dependency): boolean;
14575
15251
  static TRANSITIVE: symbol;
15252
+ static LAZY_UNTIL_LOCAL: "local";
15253
+ static LAZY_UNTIL_ID: "id";
15254
+ static LAZY_UNTIL_FALLBACK: "*";
15255
+ static LAZY_UNTIL_REQUEST: "@";
14576
15256
  }
15257
+
15258
+ /**
15259
+ * Represents ModuleExternalInitFragment.
15260
+ */
14577
15261
  declare class ModuleExternalInitFragment extends InitFragment<GenerateContext> {
14578
15262
  /**
14579
15263
  * Creates an instance of ModuleExternalInitFragment.
@@ -15506,6 +16190,11 @@ declare interface ModuleReferenceOptions {
15506
16190
  */
15507
16191
  deferredImport: boolean;
15508
16192
 
16193
+ /**
16194
+ * true, when a whole-namespace reference may use a decoupled namespace object that keeps the original export names
16195
+ */
16196
+ mangleableNamespace: boolean;
16197
+
15509
16198
  /**
15510
16199
  * if the position is ASI safe or unknown
15511
16200
  */
@@ -16042,6 +16731,7 @@ declare class NodeTargetPlugin {
16042
16731
  * Applies the plugin by registering its hooks on the compiler.
16043
16732
  */
16044
16733
  apply(compiler: Compiler): void;
16734
+ static builtins: (string | RegExp)[];
16045
16735
  }
16046
16736
  declare class NodeTemplatePlugin {
16047
16737
  /**
@@ -16077,6 +16767,7 @@ declare class NormalModule extends Module {
16077
16767
  matchResource?: string;
16078
16768
  loaders: LoaderItem[];
16079
16769
  extractSourceMap: boolean;
16770
+ hot: boolean;
16080
16771
  error: null | Error;
16081
16772
  getResource(): null | string;
16082
16773
 
@@ -16121,7 +16812,9 @@ declare class NormalModule extends Module {
16121
16812
  static getCompilationHooks(
16122
16813
  compilation: Compilation
16123
16814
  ): NormalModuleCompilationHooks;
16124
- static deserialize(context: ObjectDeserializerContext): NormalModule;
16815
+ static deserialize(
16816
+ context: ObjectDeserializerContextObjectMiddlewareObject_4
16817
+ ): NormalModule;
16125
16818
 
16126
16819
  /**
16127
16820
  * Gets source basic types.
@@ -16129,6 +16822,9 @@ declare class NormalModule extends Module {
16129
16822
  */
16130
16823
  static getSourceBasicTypes(module: Module): ReadonlySet<string>;
16131
16824
  }
16825
+ type NormalModuleBuildInfo = KnownBuildInfo &
16826
+ Record<string, any> &
16827
+ KnownNormalModuleBuildInfo;
16132
16828
  declare interface NormalModuleCompilationHooks {
16133
16829
  loader: SyncHook<[AnyLoaderContext, NormalModule]>;
16134
16830
  beforeLoaders: SyncHook<[LoaderItem[], NormalModule, AnyLoaderContext]>;
@@ -16873,8 +17569,20 @@ type NormalizedStatsOptions = KnownNormalizedStatsOptions &
16873
17569
  declare class NullDependency extends Dependency {
16874
17570
  constructor();
16875
17571
  static Template: typeof NullDependencyTemplate;
17572
+
17573
+ /**
17574
+ * Compares two dependencies by source location for sorting a module's
17575
+ * `dependencies`, without materializing the `loc` objects (`get loc` caches
17576
+ * its result, so comparing through it would retain a location object on every
17577
+ * sorted dependency). These dependencies always carry a real source position,
17578
+ * so only start (line, column) and the within-statement index are compared; a
17579
+ * dependency without an index sorts after one that has an index at the same
17580
+ * position.
17581
+ */
17582
+ static compareLocations(a: Dependency, b: Dependency): 0 | 1 | -1;
16876
17583
  static NO_EXPORTS_REFERENCED: string[][];
16877
17584
  static EXPORTS_OBJECT_REFERENCED: string[][];
17585
+ static EXPORTS_OBJECT_REFERENCED_MANGLEABLE: string[][];
16878
17586
 
16879
17587
  /**
16880
17588
  * Returns true if the dependency is a low priority dependency.
@@ -16886,6 +17594,10 @@ declare class NullDependency extends Dependency {
16886
17594
  */
16887
17595
  static canConcatenate(dependency: Dependency): boolean;
16888
17596
  static TRANSITIVE: symbol;
17597
+ static LAZY_UNTIL_LOCAL: "local";
17598
+ static LAZY_UNTIL_ID: "id";
17599
+ static LAZY_UNTIL_FALLBACK: "*";
17600
+ static LAZY_UNTIL_REQUEST: "@";
16889
17601
  }
16890
17602
  declare class NullDependencyTemplate extends DependencyTemplate {
16891
17603
  constructor();
@@ -16897,8 +17609,36 @@ declare interface ObjectConfiguration {
16897
17609
  /**
16898
17610
  * Updates set size using the provided set.
16899
17611
  */
16900
- declare interface ObjectDeserializerContext {
17612
+ declare interface ObjectDeserializerContextObjectMiddlewareObject_1 {
17613
+ read: () => string;
17614
+ rest: ObjectDeserializerContextObjectMiddlewareObject_3<[number, boolean]>;
17615
+ setCircularReference: (value: ReferenceableItem) => void;
17616
+ }
17617
+ declare namespace ObjectDeserializerContextObjectMiddlewareObject_2 {
17618
+ export let read: () => any;
17619
+ export let rest: ObjectDeserializerContextObjectMiddlewareObject_3<
17620
+ ReadonlyArray<any>
17621
+ >;
17622
+ export let setCircularReference: (value: ReferenceableItem) => void;
17623
+ }
17624
+
17625
+ /**
17626
+ * Updates set size using the provided set.
17627
+ */
17628
+ declare interface ObjectDeserializerContextObjectMiddlewareObject_3<
17629
+ T extends ReadonlyArray<any> = ReadonlyArray<any>
17630
+ > {
17631
+ read: () => Head<T>;
17632
+ rest: ObjectDeserializerContextObjectMiddlewareObject_3<Tail<T>>;
17633
+ setCircularReference: (value: ReferenceableItem) => void;
17634
+ }
17635
+
17636
+ /**
17637
+ * Updates set size using the provided set.
17638
+ */
17639
+ declare interface ObjectDeserializerContextObjectMiddlewareObject_4 {
16901
17640
  read: () => any;
17641
+ rest: ObjectDeserializerContextObjectMiddlewareObject_3<ReadonlyArray<any>>;
16902
17642
  setCircularReference: (value: ReferenceableItem) => void;
16903
17643
  }
16904
17644
 
@@ -16945,15 +17685,92 @@ declare interface ObjectEncodingOptionsTypes {
16945
17685
  * Updates set size using the provided set.
16946
17686
  */
16947
17687
  declare interface ObjectSerializer {
16948
- serialize: (value: any, context: ObjectSerializerContext) => void;
16949
- deserialize: (context: ObjectDeserializerContext) => any;
17688
+ serialize: (
17689
+ value: any,
17690
+ context: ObjectSerializerContextObjectMiddlewareObject_4<any>
17691
+ ) => void;
17692
+ deserialize: (
17693
+ context: ObjectDeserializerContextObjectMiddlewareObject_3<any>
17694
+ ) => any;
17695
+ }
17696
+
17697
+ /**
17698
+ * Updates set size using the provided set.
17699
+ */
17700
+ declare interface ObjectSerializerContextObjectMiddlewareObject_1 {
17701
+ write: (
17702
+ value: RestoreProvidedDataExports[]
17703
+ ) => ObjectSerializerContextObjectMiddlewareObject_4<
17704
+ [undefined | null | boolean, undefined | boolean, boolean]
17705
+ >;
17706
+ setCircularReference: (value: ReferenceableItem) => void;
17707
+ snapshot: () => ObjectSerializerSnapshot;
17708
+ rollback: (snapshot: ObjectSerializerSnapshot) => void;
17709
+ writeLazy?: (item?: any) => void;
17710
+ writeSeparate?: (
17711
+ item: any,
17712
+ obj?: LazyOptions
17713
+ ) => LazyFunction<any, any, any, LazyOptions>;
17714
+ }
17715
+
17716
+ /**
17717
+ * Updates set size using the provided set.
17718
+ */
17719
+ declare interface ObjectSerializerContextObjectMiddlewareObject_2 {
17720
+ write: (
17721
+ value: string
17722
+ ) => ObjectSerializerContextObjectMiddlewareObject_4<[number, boolean]>;
17723
+ setCircularReference: (value: ReferenceableItem) => void;
17724
+ snapshot: () => ObjectSerializerSnapshot;
17725
+ rollback: (snapshot: ObjectSerializerSnapshot) => void;
17726
+ writeLazy?: (item?: any) => void;
17727
+ writeSeparate?: (
17728
+ item: any,
17729
+ obj?: LazyOptions
17730
+ ) => LazyFunction<any, any, any, LazyOptions>;
17731
+ }
17732
+ declare namespace ObjectSerializerContextObjectMiddlewareObject_3 {
17733
+ export let write: (
17734
+ value?: any
17735
+ ) => ObjectSerializerContextObjectMiddlewareObject_4<ReadonlyArray<any>>;
17736
+ export let setCircularReference: (value: ReferenceableItem) => void;
17737
+ export let snapshot: () => ObjectSerializerSnapshot;
17738
+ export let rollback: (snapshot: ObjectSerializerSnapshot) => void;
17739
+ export let writeLazy: undefined | ((item?: any) => void);
17740
+ export let writeSeparate:
17741
+ | undefined
17742
+ | ((
17743
+ item: any,
17744
+ obj?: LazyOptions
17745
+ ) => LazyFunction<any, any, any, LazyOptions>);
17746
+ }
17747
+
17748
+ /**
17749
+ * Updates set size using the provided set.
17750
+ */
17751
+ declare interface ObjectSerializerContextObjectMiddlewareObject_4<
17752
+ T extends ReadonlyArray<any> = ReadonlyArray<any>
17753
+ > {
17754
+ write: (
17755
+ value: Head<T>
17756
+ ) => ObjectSerializerContextObjectMiddlewareObject_4<Tail<T>>;
17757
+ setCircularReference: (value: ReferenceableItem) => void;
17758
+ snapshot: () => ObjectSerializerSnapshot;
17759
+ rollback: (snapshot: ObjectSerializerSnapshot) => void;
17760
+ writeLazy?: (item?: any) => void;
17761
+ writeSeparate?: (
17762
+ item: any,
17763
+ obj?: LazyOptions
17764
+ ) => LazyFunction<any, any, any, LazyOptions>;
16950
17765
  }
16951
17766
 
16952
17767
  /**
16953
17768
  * Updates set size using the provided set.
16954
17769
  */
16955
- declare interface ObjectSerializerContext {
16956
- write: (value?: any) => void;
17770
+ declare interface ObjectSerializerContextObjectMiddlewareObject_5 {
17771
+ write: (
17772
+ value?: any
17773
+ ) => ObjectSerializerContextObjectMiddlewareObject_4<ReadonlyArray<any>>;
16957
17774
  setCircularReference: (value: ReferenceableItem) => void;
16958
17775
  snapshot: () => ObjectSerializerSnapshot;
16959
17776
  rollback: (snapshot: ObjectSerializerSnapshot) => void;
@@ -17072,6 +17889,11 @@ declare interface Optimization {
17072
17889
  */
17073
17890
  flagIncludedChunks?: boolean;
17074
17891
 
17892
+ /**
17893
+ * Inline ESM exports that bind to small primitive constants (≤6-byte null/undefined/boolean/number/string). Inlining makes the import dependency inactive so DCE can drop the export and possibly the module.
17894
+ */
17895
+ inlineExports?: boolean;
17896
+
17075
17897
  /**
17076
17898
  * Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.
17077
17899
  */
@@ -17222,6 +18044,11 @@ declare interface OptimizationNormalized {
17222
18044
  */
17223
18045
  flagIncludedChunks?: boolean;
17224
18046
 
18047
+ /**
18048
+ * Inline ESM exports that bind to small primitive constants (≤6-byte null/undefined/boolean/number/string). Inlining makes the import dependency inactive so DCE can drop the export and possibly the module.
18049
+ */
18050
+ inlineExports?: boolean;
18051
+
17225
18052
  /**
17226
18053
  * Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.
17227
18054
  */
@@ -17363,6 +18190,7 @@ type OptimizationNormalizedWithDefaults = OptimizationNormalized & {
17363
18190
  usedExports: NonNullable<undefined | boolean | "global">;
17364
18191
  mangleExports: NonNullable<undefined | boolean | "deterministic" | "size">;
17365
18192
  innerGraph: NonNullable<undefined | boolean>;
18193
+ inlineExports: NonNullable<undefined | boolean>;
17366
18194
  concatenateModules: NonNullable<undefined | boolean>;
17367
18195
  avoidEntryIife: NonNullable<undefined | boolean>;
17368
18196
  emitOnErrors: NonNullable<undefined | boolean>;
@@ -17895,6 +18723,11 @@ declare interface Output {
17895
18723
  */
17896
18724
  hotUpdateMainFilename?: string;
17897
18725
 
18726
+ /**
18727
+ * Generate an HTML file for each non-HTML entrypoint with its JS and CSS output chunks injected. Can be overridden per entry via the entry descriptor `html` option.
18728
+ */
18729
+ html?: boolean | OutputHtmlOptions;
18730
+
17898
18731
  /**
17899
18732
  * Specifies the filename template of non-initial output html files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.
17900
18733
  */
@@ -17986,6 +18819,11 @@ declare interface Output {
17986
18819
  */
17987
18820
  strictModuleExceptionHandling?: boolean;
17988
18821
 
18822
+ /**
18823
+ * Emit a runtime check that throws a 'MODULE_NOT_FOUND' error when a required module id is missing from the bundle.
18824
+ */
18825
+ strictModuleResolution?: boolean;
18826
+
17989
18827
  /**
17990
18828
  * Use a Trusted Types policy to create urls for chunks. 'output.uniqueName' is used a default policy name. Passing a string sets a custom policy name.
17991
18829
  */
@@ -18011,6 +18849,11 @@ declare interface Output {
18011
18849
  */
18012
18850
  webassemblyModuleFilename?: string;
18013
18851
 
18852
+ /**
18853
+ * Specifies the filename template of non-initial output worker's files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.
18854
+ */
18855
+ workerChunkFilename?: string | TemplatePathFn<PathDataChunk>;
18856
+
18014
18857
  /**
18015
18858
  * The method of loading chunks (methods included by default are 'jsonp' (web), 'import' (ESM), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).
18016
18859
  */
@@ -18067,6 +18910,16 @@ declare interface OutputFileSystem {
18067
18910
  dirname?: (dirname: string) => string;
18068
18911
  }
18069
18912
 
18913
+ /**
18914
+ * Options for the generated HTML files.
18915
+ */
18916
+ declare interface OutputHtmlOptions {
18917
+ /**
18918
+ * How injected `<script>` tags load. `auto` (default) emits a module script for ES module output and `defer` otherwise; `defer` forces a deferred script; `blocking` emits a plain blocking script.
18919
+ */
18920
+ scriptLoading?: "auto" | "defer" | "blocking";
18921
+ }
18922
+
18070
18923
  /**
18071
18924
  * Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
18072
18925
  */
@@ -18220,6 +19073,11 @@ declare interface OutputNormalized {
18220
19073
  */
18221
19074
  hotUpdateMainFilename?: string;
18222
19075
 
19076
+ /**
19077
+ * Generate an HTML file for each non-HTML entrypoint with its JS and CSS output chunks injected. Can be overridden per entry via the entry descriptor `html` option.
19078
+ */
19079
+ html?: boolean | OutputHtmlOptions;
19080
+
18223
19081
  /**
18224
19082
  * Specifies the filename template of non-initial output html files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.
18225
19083
  */
@@ -18301,6 +19159,11 @@ declare interface OutputNormalized {
18301
19159
  */
18302
19160
  strictModuleExceptionHandling?: boolean;
18303
19161
 
19162
+ /**
19163
+ * Emit a runtime check that throws a 'MODULE_NOT_FOUND' error when a required module id is missing from the bundle.
19164
+ */
19165
+ strictModuleResolution?: boolean;
19166
+
18304
19167
  /**
18305
19168
  * Use a Trusted Types policy to create urls for chunks.
18306
19169
  */
@@ -18321,6 +19184,11 @@ declare interface OutputNormalized {
18321
19184
  */
18322
19185
  webassemblyModuleFilename?: string;
18323
19186
 
19187
+ /**
19188
+ * Specifies the filename template of non-initial output worker's files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.
19189
+ */
19190
+ workerChunkFilename?: string | TemplatePathFn<PathDataChunk>;
19191
+
18324
19192
  /**
18325
19193
  * The method of loading chunks (methods included by default are 'jsonp' (web), 'import' (ESM), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).
18326
19194
  */
@@ -18357,6 +19225,9 @@ type OutputNormalizedWithDefaults = OutputNormalized & {
18357
19225
  devtoolNamespace: string;
18358
19226
  publicPath: NonNullable<undefined | string | TemplatePathFn<PathData>>;
18359
19227
  workerPublicPath: string;
19228
+ workerChunkFilename: NonNullable<
19229
+ undefined | string | TemplatePathFn<PathDataChunk>
19230
+ >;
18360
19231
  workerWasmLoading: NonNullable<undefined | string | false>;
18361
19232
  workerChunkLoading: NonNullable<undefined | string | false>;
18362
19233
  chunkFormat: NonNullable<undefined | string | false>;
@@ -18377,6 +19248,7 @@ type OutputNormalizedWithDefaults = OutputNormalized & {
18377
19248
  compareBeforeEmit: NonNullable<undefined | boolean>;
18378
19249
  strictModuleErrorHandling: NonNullable<undefined | boolean>;
18379
19250
  strictModuleExceptionHandling: NonNullable<undefined | boolean>;
19251
+ strictModuleResolution: NonNullable<undefined | boolean>;
18380
19252
  importFunctionName: string;
18381
19253
  importMetaName: string;
18382
19254
  environment: RecursiveNonNullable<Environment>;
@@ -18505,6 +19377,11 @@ declare interface ParserOptionsByModuleTypeKnown {
18505
19377
  */
18506
19378
  "css/module"?: CssAutoOrModuleParserOptions;
18507
19379
 
19380
+ /**
19381
+ * Parser options for html modules.
19382
+ */
19383
+ html?: HtmlParserOptions;
19384
+
18508
19385
  /**
18509
19386
  * Parser options for javascript modules.
18510
19387
  */
@@ -18564,7 +19441,22 @@ declare interface PathCacheFunctions {
18564
19441
  declare interface PathData {
18565
19442
  chunkGraph?: ChunkGraph;
18566
19443
  hash?: string;
19444
+
19445
+ /**
19446
+ * untruncated compilation hash, for re-encoding `[fullhash:<digest>]`
19447
+ */
19448
+ fullHash?: string;
19449
+
19450
+ /**
19451
+ * digest `fullHash` is encoded in (defaults to `hashDigest`)
19452
+ */
19453
+ fullHashDigest?: string;
18567
19454
  hashWithLength?: (length: number) => string;
19455
+
19456
+ /**
19457
+ * builds `[fullhash:<digest>]`/`[hash:<digest>]` in the runtime chunk-filename context, where it throws because a runtime `getFullHash()` expression cannot be re-encoded
19458
+ */
19459
+ hashWithDigest?: (digest: string, length?: number) => string;
18568
19460
  chunk?: Chunk | ChunkPathData;
18569
19461
  module?: Module | ModulePathData;
18570
19462
  runtime?: RuntimeSpec;
@@ -18573,10 +19465,31 @@ declare interface PathData {
18573
19465
  query?: string;
18574
19466
  contentHashType?: string;
18575
19467
  contentHash?: string;
19468
+
19469
+ /**
19470
+ * untruncated module/asset content hash, for re-encoding `[contenthash:<digest>]` from full entropy
19471
+ */
19472
+ contentHashFull?: string;
18576
19473
  contentHashWithLength?: (length: number) => string;
19474
+
19475
+ /**
19476
+ * digest the stored hashes are encoded in (for `[hash:<digest>]`)
19477
+ */
19478
+ hashDigest?: string;
19479
+
19480
+ /**
19481
+ * whether `optimization.realContentHash` recomputes content hashes (records an inline `[contenthash:<digest>]` so it re-encodes in that digest)
19482
+ */
19483
+ realContentHash?: boolean;
19484
+
19485
+ /**
19486
+ * treat `[hash]` as `[fullhash]` rather than the module hash (CSS local idents)
19487
+ */
19488
+ hashAsFullHash?: boolean;
18577
19489
  noChunkHash?: boolean;
18578
19490
  url?: string;
18579
19491
  local?: string;
19492
+ uniqueName?: string;
18580
19493
  prepareId?: (id: string | number) => string | number;
18581
19494
  }
18582
19495
  type PathDataChunk = PathData & { chunk: Chunk | ChunkPathData };
@@ -18587,7 +19500,7 @@ type PathDataModule = PathData & {
18587
19500
  type PathLikeFs = string | Buffer | URL;
18588
19501
  type PathLikeTypes = string | URL_url | Buffer;
18589
19502
  type PathOrFileDescriptorFs = string | number | Buffer | URL;
18590
- type PathOrFileDescriptorTypes = string | number | Buffer | URL_url;
19503
+ type PathOrFileDescriptorTypes = string | number | URL_url | Buffer;
18591
19504
  type Pattern =
18592
19505
  | Identifier
18593
19506
  | MemberExpression
@@ -18635,6 +19548,11 @@ declare interface PitchLoaderDefinitionFunction<
18635
19548
  data: object
18636
19549
  ): string | void | Buffer | Promise<string | Buffer>;
18637
19550
  }
19551
+
19552
+ /**
19553
+ * Should be used only for "target === false" or
19554
+ * when you want to overwrite platform target properties
19555
+ */
18638
19556
  declare class PlatformPlugin {
18639
19557
  /**
18640
19558
  * Creates an instance of PlatformPlugin.
@@ -18672,6 +19590,16 @@ declare interface PlatformTargetProperties {
18672
19590
  */
18673
19591
  node?: null | boolean;
18674
19592
 
19593
+ /**
19594
+ * deno platform, node built-in modules (via the `node:` specifier) and web APIs are available
19595
+ */
19596
+ deno?: null | boolean;
19597
+
19598
+ /**
19599
+ * bun platform, bun and node built-in modules are available
19600
+ */
19601
+ bun?: null | boolean;
19602
+
18675
19603
  /**
18676
19604
  * nwjs platform, require of legacy nw.gui is available
18677
19605
  */
@@ -18681,6 +19609,11 @@ declare interface PlatformTargetProperties {
18681
19609
  * electron platform, require of some electron built-in modules is available
18682
19610
  */
18683
19611
  electron?: null | boolean;
19612
+
19613
+ /**
19614
+ * universal ESM target spanning both web and node (target `"universal"` or `["web", "node"]`)
19615
+ */
19616
+ universal?: null | boolean;
18684
19617
  }
18685
19618
  type Plugin =
18686
19619
  | undefined
@@ -18700,10 +19633,6 @@ declare interface PnpApi {
18700
19633
  options: { considerBuiltins: boolean }
18701
19634
  ) => null | string;
18702
19635
  }
18703
- declare interface Position {
18704
- line: number;
18705
- column: number;
18706
- }
18707
19636
  declare class PrefetchPlugin {
18708
19637
  /**
18709
19638
  * Creates an instance of PrefetchPlugin.
@@ -18763,6 +19692,7 @@ type ProblemType =
18763
19692
  | "unknown-argument"
18764
19693
  | "unexpected-non-array-in-path"
18765
19694
  | "unexpected-non-object-in-path"
19695
+ | "prototype-pollution-in-path"
18766
19696
  | "multiple-values-unexpected"
18767
19697
  | "invalid-value";
18768
19698
  declare interface ProcessAssetsAdditionalOptions {
@@ -19002,6 +19932,9 @@ declare interface ProvidesConfig {
19002
19932
  declare interface ProvidesObject {
19003
19933
  [index: string]: string | ProvidesConfig;
19004
19934
  }
19935
+ type PureCondition =
19936
+ | boolean
19937
+ | ((compilation: Compilation, module: Module) => boolean);
19005
19938
  declare interface RawChunkGroupOptions {
19006
19939
  preloadOrder?: number;
19007
19940
  prefetchOrder?: number;
@@ -19856,6 +20789,11 @@ declare interface ReferencedExport {
19856
20789
  * when false, referenced export can not be mangled, defaults to true
19857
20790
  */
19858
20791
  canMangle?: boolean;
20792
+
20793
+ /**
20794
+ * when false, the referenced export can not be substituted with an inlined literal at this site, defaults to true
20795
+ */
20796
+ canInline?: boolean;
19859
20797
  }
19860
20798
  type Remotes = (string | RemotesObject)[] | RemotesObject;
19861
20799
 
@@ -20061,6 +20999,11 @@ declare class Replacement {
20061
20999
  declare interface RequestRecord {
20062
21000
  [index: string]: string | string[];
20063
21001
  }
21002
+
21003
+ /**
21004
+ * Shortens absolute or verbose request strings so diagnostics and stats output
21005
+ * can be rendered relative to a chosen base directory.
21006
+ */
20064
21007
  declare abstract class RequestShortener {
20065
21008
  contextify: (value: string) => string;
20066
21009
 
@@ -20520,12 +21463,12 @@ declare interface ResolveOptionsResolverFactoryObject2 {
20520
21463
  /**
20521
21464
  * A list of module alias configurations or an object which maps key to value
20522
21465
  */
20523
- alias?: AliasOption[] | AliasOptions;
21466
+ alias?: UserAliasOptions | UserAliasOptionEntry[];
20524
21467
 
20525
21468
  /**
20526
21469
  * A list of module alias configurations or an object which maps key to value, applied only after modules option
20527
21470
  */
20528
- fallback?: AliasOption[] | AliasOptions;
21471
+ fallback?: UserAliasOptions | UserAliasOptionEntry[];
20529
21472
 
20530
21473
  /**
20531
21474
  * An object which maps extension to extension aliases
@@ -20603,9 +21546,9 @@ declare interface ResolveOptionsResolverFactoryObject2 {
20603
21546
  resolver?: Resolver;
20604
21547
 
20605
21548
  /**
20606
- * A list of directories to resolve modules from, can be absolute path or folder name
21549
+ * A list of directories to resolve modules from, can be absolute path, folder name, or a `file:` `URL` instance
20607
21550
  */
20608
- modules?: string | string[];
21551
+ modules?: string | URL_url | (string | URL_url)[];
20609
21552
 
20610
21553
  /**
20611
21554
  * A list of main fields in description files
@@ -20632,9 +21575,9 @@ declare interface ResolveOptionsResolverFactoryObject2 {
20632
21575
  pnpApi?: null | PnpApi;
20633
21576
 
20634
21577
  /**
20635
- * A list of root paths
21578
+ * A list of root paths, each an absolute path or a `file:` `URL` instance
20636
21579
  */
20637
- roots?: string[];
21580
+ roots?: (string | URL_url)[];
20638
21581
 
20639
21582
  /**
20640
21583
  * The request is already fully specified and no extensions or directories are resolved for it
@@ -20647,9 +21590,9 @@ declare interface ResolveOptionsResolverFactoryObject2 {
20647
21590
  resolveToContext?: boolean;
20648
21591
 
20649
21592
  /**
20650
- * A list of resolve restrictions
21593
+ * A list of resolve restrictions, each an absolute path, a `file:` `URL` instance, or a RegExp
20651
21594
  */
20652
- restrictions?: (string | RegExp)[];
21595
+ restrictions?: (string | RegExp | URL_url)[];
20653
21596
 
20654
21597
  /**
20655
21598
  * Use only the sync constraints of the file system calls
@@ -20667,9 +21610,9 @@ declare interface ResolveOptionsResolverFactoryObject2 {
20667
21610
  preferAbsolute?: boolean;
20668
21611
 
20669
21612
  /**
20670
- * TypeScript config file path or config object with configFile and references
21613
+ * TypeScript config file path (or `file:` `URL` instance) or config object with configFile and references
20671
21614
  */
20672
- tsconfig?: string | boolean | TsconfigOptions;
21615
+ tsconfig?: string | boolean | URL_url | UserTsconfigOptions;
20673
21616
  }
20674
21617
  type ResolveOptionsWithDependencyType = ResolveOptions & {
20675
21618
  dependencyType?: string;
@@ -20728,30 +21671,30 @@ declare abstract class Resolver {
20728
21671
  null | ResolveRequest
20729
21672
  >;
20730
21673
  resolveSync(
20731
- path: string,
20732
- request: string,
21674
+ parent: string | URL_url,
21675
+ specifier: string | URL_url,
20733
21676
  resolveContext?: ResolveContext
20734
21677
  ): string | false;
20735
21678
  resolveSync(
20736
21679
  context: ContextTypes,
20737
- path: string,
20738
- request: string,
21680
+ parent: string | URL_url,
21681
+ specifier: string | URL_url,
20739
21682
  resolveContext?: ResolveContext
20740
21683
  ): string | false;
20741
21684
  resolvePromise(
20742
- path: string,
20743
- request: string,
21685
+ parent: string | URL_url,
21686
+ specifier: string | URL_url,
20744
21687
  resolveContext?: ResolveContext
20745
21688
  ): Promise<string | false>;
20746
21689
  resolvePromise(
20747
21690
  context: ContextTypes,
20748
- path: string,
20749
- request: string,
21691
+ parent: string | URL_url,
21692
+ specifier: string | URL_url,
20750
21693
  resolveContext?: ResolveContext
20751
21694
  ): Promise<string | false>;
20752
21695
  resolve(
20753
- path: string,
20754
- request: string,
21696
+ parent: string | URL_url,
21697
+ specifier: string | URL_url,
20755
21698
  callback: (
20756
21699
  err: null | ErrorWithDetail,
20757
21700
  res?: string | false,
@@ -20759,8 +21702,8 @@ declare abstract class Resolver {
20759
21702
  ) => void
20760
21703
  ): void;
20761
21704
  resolve(
20762
- path: string,
20763
- request: string,
21705
+ parent: string | URL_url,
21706
+ specifier: string | URL_url,
20764
21707
  resolveContext: ResolveContext,
20765
21708
  callback: (
20766
21709
  err: null | ErrorWithDetail,
@@ -20770,8 +21713,8 @@ declare abstract class Resolver {
20770
21713
  ): void;
20771
21714
  resolve(
20772
21715
  context: ContextTypes,
20773
- path: string,
20774
- request: string,
21716
+ parent: string | URL_url,
21717
+ specifier: string | URL_url,
20775
21718
  callback: (
20776
21719
  err: null | ErrorWithDetail,
20777
21720
  res?: string | false,
@@ -20780,8 +21723,8 @@ declare abstract class Resolver {
20780
21723
  ): void;
20781
21724
  resolve(
20782
21725
  context: ContextTypes,
20783
- path: string,
20784
- request: string,
21726
+ parent: string | URL_url,
21727
+ specifier: string | URL_url,
20785
21728
  resolveContext: ResolveContext,
20786
21729
  callback: (
20787
21730
  err: null | ErrorWithDetail,
@@ -20880,13 +21823,15 @@ declare abstract class RestoreProvidedData {
20880
21823
  /**
20881
21824
  * Serializes this instance into the provided serializer context.
20882
21825
  */
20883
- serialize(__0: ObjectSerializerContext): void;
21826
+ serialize(context: ObjectSerializerContextObjectMiddlewareObject_1): void;
20884
21827
  }
20885
21828
  declare interface RestoreProvidedDataExports {
20886
21829
  name: string;
20887
21830
  provided?: null | boolean;
20888
21831
  canMangleProvide?: boolean;
21832
+ canInlineProvide?: InlinedValue;
20889
21833
  terminalBinding: boolean;
21834
+ pureProvide?: boolean;
20890
21835
  exportsInfo?: RestoreProvidedData;
20891
21836
  }
20892
21837
  type Rule = string | RegExp | ((str: string) => boolean);
@@ -21418,6 +22363,10 @@ declare interface RuntimeRequirementsContext {
21418
22363
  codeGenerationResults: CodeGenerationResults;
21419
22364
  }
21420
22365
  type RuntimeSpec = undefined | string | SortableSet<string>;
22366
+
22367
+ /**
22368
+ * Represents RuntimeSpecMap.
22369
+ */
21421
22370
  declare class RuntimeSpecMap<T, R = T> {
21422
22371
  /**
21423
22372
  * Creates an instance of RuntimeSpecMap.
@@ -21492,11 +22441,35 @@ declare abstract class RuntimeTemplate {
21492
22441
  isIIFE(): boolean;
21493
22442
  isModule(): boolean;
21494
22443
  isNeutralPlatform(): boolean;
22444
+
22445
+ /**
22446
+ * Whether the bundle targets node and web at once (universal `["node", "web"]` + `output.module`), like `isUniversalTarget` in `WebpackOptionsApply`.
22447
+ */
22448
+ isUniversalTarget(): boolean;
22449
+
22450
+ /**
22451
+ * Runtime expression that is truthy in browser-like environments (a DOM
22452
+ * `document` or a worker `self`) and falsy in Node.js. Single source of
22453
+ * truth for branching a universal ("node-or-web") target at runtime.
22454
+ */
22455
+ isWebLikePlatformExpression(): string;
22456
+
22457
+ /**
22458
+ * Expression for the global registry that collects CSS server-side when there
22459
+ * is no DOM (SSR). An SSR host reads it from `globalThis`; it is keyed by the
22460
+ * style/chunk identifier and namespaced by `output.uniqueName`.
22461
+ */
22462
+ cssServerStyleRegistry(): string;
21495
22463
  supportsConst(): boolean;
22464
+ supportsLet(): boolean;
21496
22465
  supportsMethodShorthand(): boolean;
22466
+ supportsLogicalAssignment(): boolean;
21497
22467
  supportsArrowFunction(): boolean;
21498
22468
  supportsAsyncFunction(): boolean;
21499
22469
  supportsOptionalChaining(): boolean;
22470
+ supportsSpread(): boolean;
22471
+ supportsObjectHasOwn(): boolean;
22472
+ supportsSymbol(): boolean;
21500
22473
  supportsForOf(): boolean;
21501
22474
  supportsDestructuring(): boolean;
21502
22475
  supportsBigIntLiteral(): boolean;
@@ -21511,9 +22484,14 @@ declare abstract class RuntimeTemplate {
21511
22484
  renderNodePrefixForCoreModule(mod: string): string;
21512
22485
 
21513
22486
  /**
21514
- * Renders return const when it is supported, otherwise var.
22487
+ * Renders return const when it is supported, otherwise let when supported, otherwise var.
21515
22488
  */
21516
- renderConst(): "var" | "const";
22489
+ renderConst(): "var" | "const" | "let";
22490
+
22491
+ /**
22492
+ * Renders return let when it is supported, otherwise var.
22493
+ */
22494
+ renderLet(): "var" | "let";
21517
22495
 
21518
22496
  /**
21519
22497
  * Returning function.
@@ -21540,6 +22518,40 @@ declare abstract class RuntimeTemplate {
21540
22518
  */
21541
22519
  emptyFunction(): string;
21542
22520
 
22521
+ /**
22522
+ * Guards an access/call on `object` with optional chaining when supported,
22523
+ * otherwise an equivalent `&&` short-circuit. `object` is evaluated twice in
22524
+ * the fallback, so it must be side-effect free.
22525
+ */
22526
+ optionalChaining(object: string, access: string): string;
22527
+
22528
+ /**
22529
+ * Reads a node builtin via `process.getBuiltinModule()`, guarded to stay falsy off node so universal `["node", "web"]` bundles don't crash (also falsy on node <22.3).
22530
+ */
22531
+ getBuiltinModule(request: string, access?: string): string;
22532
+
22533
+ /**
22534
+ * Renders an object-literal method, using method shorthand when supported
22535
+ * and falling back to a `prop: function/arrow` property otherwise.
22536
+ */
22537
+ method(prop: string, args: string, body: string | string[]): string;
22538
+
22539
+ /**
22540
+ * Returns an own-property check, using `Object.hasOwn` when supported and
22541
+ * falling back to `Object.prototype.hasOwnProperty.call` otherwise.
22542
+ */
22543
+ objectHasOwn(object: string, property: string): string;
22544
+
22545
+ /**
22546
+ * Returns a self-defaulting assignment, using the `||=` logical assignment
22547
+ * operator when supported and falling back to `target = target || value`
22548
+ * otherwise. `target` is evaluated twice in the fallback, so it must be
22549
+ * side-effect free. The expression evaluates to the resulting value.
22550
+ * Models `||` only, so `target` must never hold a legitimate falsy value
22551
+ * (`0`, `""`, `false`) — it would be overwritten; use it for object/array defaults.
22552
+ */
22553
+ assignOr(target: string, value: string): string;
22554
+
21543
22555
  /**
21544
22556
  * Returns destructure array code.
21545
22557
  */
@@ -21940,6 +22952,10 @@ declare abstract class RuntimeTemplate {
21940
22952
  * module dependency
21941
22953
  */
21942
22954
  dependency: ModuleDependency;
22955
+ /**
22956
+ * true, when a whole-namespace value may use a decoupled namespace object that keeps the original export names
22957
+ */
22958
+ mangleableNamespace?: boolean;
21943
22959
  }): string;
21944
22960
 
21945
22961
  /**
@@ -22094,6 +23110,10 @@ declare interface ScopeInfo {
22094
23110
  declare interface Selector<A, B> {
22095
23111
  (input: A): undefined | null | B;
22096
23112
  }
23113
+
23114
+ /**
23115
+ * Represents Serializer.
23116
+ */
22097
23117
  declare abstract class Serializer<DeserializedValue, SerializedValue, Context> {
22098
23118
  serializeMiddlewares: SerializerMiddleware<any, any, any>[];
22099
23119
  deserializeMiddlewares: SerializerMiddleware<any, any, any>[];
@@ -22115,6 +23135,10 @@ declare abstract class Serializer<DeserializedValue, SerializedValue, Context> {
22115
23135
  context: Context & ExtendedContext
22116
23136
  ): Promise<DeserializedValue>;
22117
23137
  }
23138
+
23139
+ /**
23140
+ * Represents SerializerMiddleware.
23141
+ */
22118
23142
  declare abstract class SerializerMiddleware<
22119
23143
  DeserializedType,
22120
23144
  SerializedType,
@@ -22362,12 +23386,12 @@ declare abstract class Snapshot {
22362
23386
  /**
22363
23387
  * Serializes this instance into the provided serializer context.
22364
23388
  */
22365
- serialize(__0: ObjectSerializerContext): void;
23389
+ serialize(__0: ObjectSerializerContextObjectMiddlewareObject_5): void;
22366
23390
 
22367
23391
  /**
22368
23392
  * Restores this instance from the provided deserializer context.
22369
23393
  */
22370
- deserialize(__0: ObjectDeserializerContext): void;
23394
+ deserialize(__0: ObjectDeserializerContextObjectMiddlewareObject_4): void;
22371
23395
 
22372
23396
  /**
22373
23397
  * Gets file iterable.
@@ -22533,6 +23557,10 @@ declare interface SnapshotOptionsWebpackOptions {
22533
23557
  declare interface SortFunction<T> {
22534
23558
  (a: T, b: T): number;
22535
23559
  }
23560
+
23561
+ /**
23562
+ * A subset of Set that offers sorting functionality
23563
+ */
22536
23564
  declare abstract class SortableSet<T> extends Set<T> {
22537
23565
  /**
22538
23566
  * Sort with a comparer function
@@ -22589,6 +23617,11 @@ declare interface SourceAndMap {
22589
23617
  */
22590
23618
  map: null | RawSourceMap;
22591
23619
  }
23620
+ declare interface SourceItem {
23621
+ type: SourceTypeOrResolver;
23622
+ filter?: (attributes: Map<string, string>, value: string) => boolean;
23623
+ namespace?: number;
23624
+ }
22592
23625
  declare interface SourceLike {
22593
23626
  /**
22594
23627
  * source
@@ -22772,6 +23805,31 @@ declare interface SourcePosition {
22772
23805
  line: number;
22773
23806
  column?: number;
22774
23807
  }
23808
+ type SourceType =
23809
+ | "script"
23810
+ | "css-url"
23811
+ | "stylesheet"
23812
+ | "script-module"
23813
+ | "modulepreload"
23814
+ | "src"
23815
+ | "srcset"
23816
+ | "stylesheet-style"
23817
+ | "stylesheet-style-attribute"
23818
+ | "srcdoc"
23819
+ | "msapplication-task";
23820
+ type SourceTypeOrResolver =
23821
+ | "script"
23822
+ | "css-url"
23823
+ | "stylesheet"
23824
+ | "script-module"
23825
+ | "modulepreload"
23826
+ | "src"
23827
+ | "srcset"
23828
+ | "stylesheet-style"
23829
+ | "stylesheet-style-attribute"
23830
+ | "srcdoc"
23831
+ | "msapplication-task"
23832
+ | ((attrs: Map<string, string>, css: boolean) => SourceType);
22775
23833
  type SourceValue = string | Buffer;
22776
23834
  declare interface SplitChunksOptions {
22777
23835
  chunksFilter: (chunk: Chunk) => undefined | boolean;
@@ -22819,6 +23877,15 @@ declare interface SplitData {
22819
23877
  modules: string[];
22820
23878
  size: number;
22821
23879
  }
23880
+
23881
+ /**
23882
+ * Singly-linked stack entry that also exposes a Set-like API
23883
+ * (`has`, `size`, iteration). Each `doResolve` call prepends a new
23884
+ * `StackEntry` that points at the previous tip via `.parent`, so pushing
23885
+ * is O(1) in time and memory. Recursion detection walks the linked list
23886
+ * (O(n)) but the stack is typically shallow, so this is cheaper overall
23887
+ * than cloning a `Set` per call.
23888
+ */
22822
23889
  declare abstract class StackEntry {
22823
23890
  name?: string;
22824
23891
  path: string | false;
@@ -22864,7 +23931,27 @@ declare abstract class StackEntry {
22864
23931
  * at the formatted form.
22865
23932
  */
22866
23933
  toString(): string;
23934
+
23935
+ /**
23936
+ * Iterate entries from oldest (root) to newest (tip), matching how a
23937
+ * `Set` that was populated in insertion order would iterate. Pre-seeded
23938
+ * legacy `Set<string>` entries come first so error-message output stays
23939
+ * ordered oldest-to-newest.
23940
+ * Yields each entry as its formatted `toString()` form. Plugins written
23941
+ * against the pre-5.21 `Set<string>` shape — e.g.
23942
+ * `[...resolveContext.stack].find(a => a.includes("module:"))` — keep
23943
+ * working unchanged because each yielded value is a plain string with
23944
+ * all of `String.prototype` available natively. Resolves that never
23945
+ * iterate the stack pay nothing; iteration costs one `toString()`
23946
+ * allocation per stack frame.
23947
+ */
23948
+ [Symbol.iterator](): IterableIterator<string>;
22867
23949
  }
23950
+
23951
+ /**
23952
+ * Layered map that supports child scopes while memoizing lookups from parent
23953
+ * scopes into the current layer.
23954
+ */
22868
23955
  declare abstract class StackedMap<K, V> {
22869
23956
  map: Map<K, InternalCell<V>>;
22870
23957
  stack: Map<K, InternalCell<V>>[];
@@ -22924,6 +24011,32 @@ declare abstract class StackedMap<K, V> {
22924
24011
  */
22925
24012
  createChild(): StackedMap<K, V>;
22926
24013
  }
24014
+
24015
+ /**
24016
+ * Updates set size using the provided set.
24017
+ */
24018
+ declare interface StarListDeserializerContext {
24019
+ read: () => HarmonyExportImportedSpecifierDependency[];
24020
+ rest: ObjectDeserializerContextObjectMiddlewareObject_3<[]>;
24021
+ setCircularReference: (value: ReferenceableItem) => void;
24022
+ }
24023
+
24024
+ /**
24025
+ * Updates set size using the provided set.
24026
+ */
24027
+ declare interface StarListSerializerContext {
24028
+ write: (
24029
+ value: HarmonyExportImportedSpecifierDependency[]
24030
+ ) => ObjectSerializerContextObjectMiddlewareObject_4<[]>;
24031
+ setCircularReference: (value: ReferenceableItem) => void;
24032
+ snapshot: () => ObjectSerializerSnapshot;
24033
+ rollback: (snapshot: ObjectSerializerSnapshot) => void;
24034
+ writeLazy?: (item?: any) => void;
24035
+ writeSeparate?: (
24036
+ item: any,
24037
+ obj?: LazyOptions
24038
+ ) => LazyFunction<any, any, any, LazyOptions>;
24039
+ }
22927
24040
  declare interface StartupRenderContext {
22928
24041
  /**
22929
24042
  * the chunk
@@ -23880,6 +24993,9 @@ declare interface SyncModuleIdsPluginOptions {
23880
24993
  */
23881
24994
  mode?: "read" | "create" | "merge" | "update";
23882
24995
  }
24996
+ type SyncWasmModuleBuildMeta = KnownBuildMeta &
24997
+ Record<string, any> &
24998
+ KnownSyncWasmModuleBuildMeta;
23883
24999
  declare interface SyntheticDependencyLocation {
23884
25000
  name: string;
23885
25001
  index?: number;
@@ -23894,10 +25010,12 @@ declare interface TagInfo {
23894
25010
  | HarmonySettings
23895
25011
  | ImportSettings
23896
25012
  | CommonJsImportSettings
23897
- | CompatibilitySettings
23898
- | HarmonySpecifierGuards;
25013
+ | CompatibilitySettings;
23899
25014
  next?: TagInfo;
23900
25015
  }
25016
+ type Tail<T extends ReadonlyArray<any>> = T extends readonly [any, ...infer R]
25017
+ ? R
25018
+ : T;
23901
25019
  declare interface TargetItemWithConnection {
23902
25020
  module: Module;
23903
25021
  connection: ModuleGraphConnection;
@@ -24009,8 +25127,19 @@ declare class TopLevelSymbol {
24009
25127
  /**
24010
25128
  * Creates an instance of TopLevelSymbol.
24011
25129
  */
24012
- constructor(name: string);
25130
+ constructor(
25131
+ name: string,
25132
+ pure?: boolean | ((compilation: Compilation, module: Module) => boolean)
25133
+ );
24013
25134
  name: string;
25135
+ conditional: boolean;
25136
+ pureFn?: (compilation: Compilation, module: Module) => boolean;
25137
+
25138
+ /**
25139
+ * Sets the pure condition
25140
+ */
25141
+ setPure(pure: PureCondition): void;
25142
+ isPure(compilation: Compilation, module: Module): boolean;
24014
25143
  }
24015
25144
 
24016
25145
  /**
@@ -24104,7 +25233,36 @@ declare interface UpdateHashContextGenerator {
24104
25233
  }
24105
25234
  type Usage = string | true | TopLevelSymbol;
24106
25235
  type UsageStateType = 0 | 1 | 2 | 3 | 4;
24107
- type UsedName = string | false | string[];
25236
+ type UsedName = string | false | string[] | InlinedUsedName;
25237
+ declare interface UserAliasOptionEntry {
25238
+ alias: UserAliasOptionNewRequest;
25239
+ name: string;
25240
+ onlyModule?: boolean;
25241
+ }
25242
+ type UserAliasOptionNewRequest =
25243
+ | string
25244
+ | false
25245
+ | URL_url
25246
+ | (string | URL_url)[];
25247
+ declare interface UserAliasOptions {
25248
+ [index: string]: UserAliasOptionNewRequest;
25249
+ }
25250
+ declare interface UserTsconfigOptions {
25251
+ /**
25252
+ * A path, or `file:` `URL` instance, pointing at the tsconfig file
25253
+ */
25254
+ configFile?: string | URL_url;
25255
+
25256
+ /**
25257
+ * References to other tsconfig files. 'auto' inherits from TypeScript config, or an array of relative/absolute paths or `file:` `URL` instances
25258
+ */
25259
+ references?: "auto" | (string | URL_url)[];
25260
+
25261
+ /**
25262
+ * Override baseUrl from tsconfig.json with a path or `file:` `URL` instance
25263
+ */
25264
+ baseUrl?: string | URL_url;
25265
+ }
24108
25266
  type Value = string | number | boolean | RegExp;
24109
25267
  type ValueCacheVersion = string | Set<string>;
24110
25268
  declare interface Values {
@@ -24444,6 +25602,11 @@ declare abstract class Watching {
24444
25602
  */
24445
25603
  close(callback: (err: null | Error, result?: void) => void): void;
24446
25604
  }
25605
+
25606
+ /**
25607
+ * Stores values by tuple keys while using `WeakMap` for object elements so the
25608
+ * cache can release entries when those objects are collected.
25609
+ */
24447
25610
  declare abstract class WeakTupleMap<K extends any[], V> {
24448
25611
  /**
24449
25612
  * Stores a value at the node identified by the provided tuple key.
@@ -24466,6 +25629,19 @@ declare abstract class WeakTupleMap<K extends any[], V> {
24466
25629
  */
24467
25630
  provide(...args: [K, ...((...args: K) => V)[]]): V;
24468
25631
 
25632
+ /**
25633
+ * Memoizes `compute(thisArg, ...args)` under the tuple key `[compute,
25634
+ * ...args]`, computing it on a miss. Equivalent to `provide(compute, ...args,
25635
+ * () => compute(thisArg, ...args))` but without allocating that closure (or an
25636
+ * extra rest array) on every call — `ModuleGraph#cached` runs this on hot
25637
+ * paths where most calls hit the cache and the closure would be pure waste.
25638
+ */
25639
+ cachedProvide(
25640
+ compute: (thisArg: any, ...args: K) => V,
25641
+ thisArg: any,
25642
+ args: K
25643
+ ): V;
25644
+
24469
25645
  /**
24470
25646
  * Removes the value stored for the tuple key without pruning the trie.
24471
25647
  */
@@ -24532,12 +25708,12 @@ declare class WebpackError extends Error {
24532
25708
  /**
24533
25709
  * Serializes this instance into the provided serializer context.
24534
25710
  */
24535
- serialize(__0: ObjectSerializerContext): void;
25711
+ serialize(__0: ObjectSerializerContextObjectMiddlewareObject_5): void;
24536
25712
 
24537
25713
  /**
24538
25714
  * Restores this instance from the provided deserializer context.
24539
25715
  */
24540
- deserialize(__0: ObjectDeserializerContext): void;
25716
+ deserialize(__0: ObjectDeserializerContextObjectMiddlewareObject_4): void;
24541
25717
 
24542
25718
  /**
24543
25719
  * Creates a `.stack` property on `targetObject`, which when accessed returns
@@ -25131,6 +26307,7 @@ declare function exports(
25131
26307
  declare function exports(options: MultiConfiguration): MultiCompiler;
25132
26308
  declare namespace exports {
25133
26309
  export const webpack: _functionWebpack;
26310
+ export const defineConfig: <T extends DefineConfigInput>(config: T) => T;
25134
26311
  export const validate: (
25135
26312
  configuration: Configuration | MultiConfiguration
25136
26313
  ) => void;
@@ -25324,6 +26501,7 @@ declare namespace exports {
25324
26501
  export let toBinary: "__webpack_require__.tb";
25325
26502
  export let uncaughtErrorHandler: "__webpack_require__.oe";
25326
26503
  export let wasmInstances: "__webpack_require__.w";
26504
+ export let worker: "__webpack_require__.wc";
25327
26505
  }
25328
26506
  export const UsageState: Readonly<{
25329
26507
  Unused: 0;
@@ -25374,21 +26552,8 @@ declare namespace exports {
25374
26552
  }
25375
26553
  export namespace optimize {
25376
26554
  export namespace InnerGraph {
25377
- export let addUsage: (
25378
- state: ParserState,
25379
- symbol: null | TopLevelSymbol,
25380
- usage: Usage
25381
- ) => void;
25382
- export let addVariableUsage: (
25383
- parser: JavascriptParser,
25384
- name: string,
25385
- usage: Usage
25386
- ) => void;
25387
- export let bailout: (parserState: ParserState) => void;
25388
- export let enable: (parserState: ParserState) => void;
25389
26555
  export let getDependencyUsedByExportsCondition: (
25390
26556
  dependency: Dependency,
25391
- usedByExports: undefined | boolean | Set<string>,
25392
26557
  moduleGraph: ModuleGraph
25393
26558
  ) =>
25394
26559
  | null
@@ -25397,29 +26562,9 @@ declare namespace exports {
25397
26562
  moduleGraphConnection: ModuleGraphConnection,
25398
26563
  runtime: RuntimeSpec
25399
26564
  ) => ConnectionState);
25400
- export let getTopLevelSymbol: (
25401
- state: ParserState
25402
- ) => void | TopLevelSymbol;
25403
- export let inferDependencyUsage: (state: ParserState) => void;
25404
- export let isDependencyUsedByExports: (
25405
- dependency: Dependency,
25406
- usedByExports: undefined | boolean | Set<string>,
25407
- moduleGraph: ModuleGraph,
25408
- runtime: RuntimeSpec
25409
- ) => boolean;
25410
- export let isEnabled: (parserState: ParserState) => boolean;
25411
- export let onUsage: (
25412
- state: ParserState,
25413
- onUsageCallback: (value?: boolean | Set<string>) => void
25414
- ) => void;
25415
- export let setTopLevelSymbol: (
25416
- state: ParserState,
25417
- symbol?: TopLevelSymbol
25418
- ) => void;
25419
- export let tagTopLevelSymbol: (
25420
- parser: JavascriptParser,
25421
- name: string
25422
- ) => undefined | TopLevelSymbol;
26565
+ export let getInnerGraphUtils: (
26566
+ compilation: Compilation
26567
+ ) => InnerGraphUtils;
25423
26568
  export { TopLevelSymbol, topLevelSymbolTag };
25424
26569
  }
25425
26570
  export {
@@ -25763,6 +26908,14 @@ declare namespace exports {
25763
26908
  export type ExternalItemFunctionPromise = (
25764
26909
  data: ExternalItemFunctionData
25765
26910
  ) => Promise<ExternalItemValue>;
26911
+ export type ConfigurationFactory = (
26912
+ env: Record<string, any>,
26913
+ argv: Record<string, any>
26914
+ ) => MaybePromise<Configuration | MultiConfiguration>;
26915
+ export type ObjectSerializerContext =
26916
+ typeof ObjectSerializerContextObjectMiddlewareObject_3;
26917
+ export type ObjectDeserializerContext =
26918
+ typeof ObjectDeserializerContextObjectMiddlewareObject_2;
25766
26919
  export {
25767
26920
  AutomaticPrefetchPlugin,
25768
26921
  AsyncDependenciesBlock,
@@ -25850,8 +27003,22 @@ declare namespace exports {
25850
27003
  Configuration,
25851
27004
  WebpackOptionsNormalized,
25852
27005
  WebpackPluginInstance,
27006
+ AssetModuleBuildInfo,
25853
27007
  ChunkGroup,
25854
27008
  AssetEmittedInfo,
27009
+ ContextModuleBuildInfo,
27010
+ CssModuleBuildInfo,
27011
+ CssModuleBuildMeta,
27012
+ ExternalModuleBuildInfo,
27013
+ HtmlModuleBuildInfo,
27014
+ JavascriptModuleBuildInfo,
27015
+ JavascriptModuleBuildMeta,
27016
+ JsonModuleBuildInfo,
27017
+ BuildInfo,
27018
+ BuildMeta,
27019
+ NormalModuleBuildInfo,
27020
+ ConcatenatedModuleBuildInfo,
27021
+ SyncWasmModuleBuildMeta,
25855
27022
  Asset,
25856
27023
  AssetInfo,
25857
27024
  EntryOptions,
@@ -25877,6 +27044,7 @@ declare namespace exports {
25877
27044
  Problem,
25878
27045
  Colors,
25879
27046
  ColorsOptions,
27047
+ DefineConfigInput,
25880
27048
  StatsAsset,
25881
27049
  StatsChunk,
25882
27050
  StatsChunkGroup,
@@ -25891,8 +27059,6 @@ declare namespace exports {
25891
27059
  StatsModuleTraceDependency,
25892
27060
  StatsModuleTraceItem,
25893
27061
  StatsProfile,
25894
- ObjectSerializerContext,
25895
- ObjectDeserializerContext,
25896
27062
  InputFileSystem,
25897
27063
  OutputFileSystem,
25898
27064
  LoaderModule,