@depup/webpack 5.111.1-depup.2 → 5.112.0-depup.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 (775) hide show
  1. package/README.md +4 -8
  2. package/changes.json +3 -19
  3. package/lib/Chunk.js +3 -966
  4. package/lib/Compilation.js +224 -106
  5. package/lib/Compiler.js +19 -19
  6. package/lib/Dependency.js +3 -551
  7. package/lib/DependencyTemplate.js +3 -70
  8. package/lib/EntryPlugin.js +3 -68
  9. package/lib/Entrypoint.js +3 -121
  10. package/lib/ExternalsPlugin.js +3 -92
  11. package/lib/FileSystemInfo.js +3 -4629
  12. package/lib/InitFragment.js +3 -204
  13. package/lib/LibraryTemplatePlugin.js +3 -46
  14. package/lib/ModuleFilenameHelpers.js +3 -400
  15. package/lib/ModuleNotFoundError.js +2 -2
  16. package/lib/MultiCompiler.js +37 -8
  17. package/lib/NormalModule.js +3 -2242
  18. package/lib/NullFactory.js +3 -22
  19. package/lib/ProgressPlugin.js +3 -908
  20. package/lib/RawModule.js +3 -197
  21. package/lib/RequestShortener.js +3 -37
  22. package/lib/SingleEntryPlugin.js +1 -1
  23. package/lib/WebpackError.js +2 -2
  24. package/lib/asset/AssetBytesGenerator.js +8 -8
  25. package/lib/asset/AssetBytesParser.js +3 -3
  26. package/lib/asset/AssetGenerator.js +36 -22
  27. package/lib/asset/AssetModule.js +2 -2
  28. package/lib/asset/AssetModulesPlugin.js +6 -9
  29. package/lib/asset/AssetParser.js +3 -3
  30. package/lib/asset/AssetSourceGenerator.js +8 -8
  31. package/lib/asset/AssetSourceParser.js +3 -3
  32. package/lib/asset/RawDataUrlModule.js +17 -10
  33. package/lib/asset/WebManifestGenerator.js +7 -7
  34. package/lib/asset/WebManifestParser.js +5 -5
  35. package/lib/async-modules/AsyncModuleHelpers.js +6 -5
  36. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
  37. package/lib/async-modules/InferAsyncModulesPlugin.js +4 -3
  38. package/lib/async-modules/isGeneratorLowered.js +3 -3
  39. package/lib/bun/BunTargetPlugin.js +1 -1
  40. package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
  41. package/lib/{Cache.js → cache/Cache.js} +1 -1
  42. package/lib/{CacheFacade.js → cache/CacheFacade.js} +5 -5
  43. package/lib/cache/IdleFileCachePlugin.js +2 -2
  44. package/lib/cache/MemoryCachePlugin.js +2 -2
  45. package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
  46. package/lib/cache/PackFileCacheStrategy.js +8 -10
  47. package/lib/cache/ResolverCachePlugin.js +8 -4
  48. package/lib/cache/mergeEtags.js +1 -1
  49. package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
  50. package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
  51. package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +217 -200
  52. package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
  53. package/lib/config/browserslistTargetHandler.js +1 -1
  54. package/lib/{cli.js → config/cli.js} +5 -158
  55. package/lib/config/defaults.js +144 -48
  56. package/lib/config/getClaimedAssetTypes.js +21 -13
  57. package/lib/config/normalization.js +18 -7
  58. package/lib/config/target.js +10 -0
  59. package/lib/container/ContainerEntryDependency.js +1 -1
  60. package/lib/container/ContainerEntryModule.js +13 -11
  61. package/lib/container/ContainerEntryModuleFactory.js +2 -2
  62. package/lib/container/ContainerExposedDependency.js +1 -1
  63. package/lib/container/ContainerPlugin.js +178 -5
  64. package/lib/container/ContainerReferencePlugin.js +75 -14
  65. package/lib/container/FallbackDependency.js +1 -1
  66. package/lib/container/FallbackItemDependency.js +1 -1
  67. package/lib/container/FallbackModule.js +12 -10
  68. package/lib/container/FallbackModuleFactory.js +2 -2
  69. package/lib/container/HoistContainerReferencesPlugin.js +10 -11
  70. package/lib/container/ModuleFederationPlugin.js +306 -7
  71. package/lib/container/RemoteModule.js +14 -10
  72. package/lib/container/RemoteRuntimeModule.js +5 -5
  73. package/lib/container/RemoteToExternalDependency.js +1 -1
  74. package/lib/container/moduleFederationHooks.js +1 -1
  75. package/lib/context/ContextModule.js +36 -25
  76. package/lib/context/ContextModuleFactory.js +13 -10
  77. package/lib/context/ContextReplacementPlugin.js +3 -3
  78. package/lib/css/CssGenerator.js +38 -31
  79. package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
  80. package/lib/css/CssLoadingRuntimeModule.js +77 -44
  81. package/lib/css/CssModule.js +27 -29
  82. package/lib/css/CssModulesPlugin.js +128 -44
  83. package/lib/css/CssParser.js +682 -291
  84. package/lib/css/CssServerStylesRuntimeModule.js +3 -3
  85. package/lib/css/cssMinify.js +110 -37
  86. package/lib/css/data.js +6985 -5125
  87. package/lib/css/syntax-parser.js +19873 -0
  88. package/lib/css/syntax-printer.js +6037 -0
  89. package/lib/css/syntax.js +37 -18686
  90. package/lib/debug/ProfilingPlugin.js +52 -19
  91. package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
  92. package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +9 -9
  93. package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
  94. package/lib/deno/DenoTargetPlugin.js +1 -1
  95. package/lib/dependencies/ConstDependency.js +3 -120
  96. package/lib/dependencies/ContextElementDependency.js +5 -172
  97. package/lib/dependencies/NullDependency.js +3 -37
  98. package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
  99. package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -10
  100. package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
  101. package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
  102. package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
  103. package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
  104. package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +10 -10
  105. package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
  106. package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
  107. package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
  108. package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
  109. package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
  110. package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
  111. package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
  112. package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
  113. package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
  114. package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -33
  115. package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
  116. package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
  117. package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
  118. package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +35 -30
  119. package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
  120. package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
  121. package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
  122. package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
  123. package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
  124. package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
  125. package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
  126. package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +5 -5
  127. package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
  128. package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
  129. package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
  130. package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
  131. package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
  132. package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
  133. package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
  134. package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
  135. package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
  136. package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
  137. package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
  138. package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
  139. package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
  140. package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
  141. package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
  142. package/lib/dependencies/context/ContextElementDependency.js +198 -0
  143. package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
  144. package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +9 -9
  145. package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
  146. package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
  147. package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +4 -4
  148. package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
  149. package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
  150. package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
  151. package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
  152. package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +12 -11
  153. package/lib/dependencies/core/ConstDependency.js +131 -0
  154. package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
  155. package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
  156. package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
  157. package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
  158. package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
  159. package/lib/dependencies/core/NullDependency.js +44 -0
  160. package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
  161. package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
  162. package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +369 -92
  163. package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +23 -16
  164. package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
  165. package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
  166. package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +23 -16
  167. package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
  168. package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
  169. package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
  170. package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
  171. package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +19 -17
  172. package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
  173. package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
  174. package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
  175. package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
  176. package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
  177. package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +133 -118
  178. package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
  179. package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +60 -36
  180. package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
  181. package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
  182. package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
  183. package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +99 -84
  184. package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
  185. package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
  186. package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +94 -59
  187. package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
  188. package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
  189. package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
  190. package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
  191. package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
  192. package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
  193. package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
  194. package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
  195. package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
  196. package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
  197. package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
  198. package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +51 -141
  199. package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
  200. package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -19
  201. package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -15
  202. package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
  203. package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
  204. package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
  205. package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
  206. package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +20 -20
  207. package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
  208. package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
  209. package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
  210. package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
  211. package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
  212. package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +119 -98
  213. package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
  214. package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
  215. package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
  216. package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
  217. package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
  218. package/lib/{url → dependencies/url}/URLParserPlugin.js +16 -18
  219. package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
  220. package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
  221. package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
  222. package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
  223. package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +31 -33
  224. package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
  225. package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
  226. package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
  227. package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
  228. package/lib/devtool/ModuleFilenameHelpers.js +413 -0
  229. package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
  230. package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +154 -26
  231. package/lib/{util → devtool}/generateDebugId.js +1 -1
  232. package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
  233. package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
  234. package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
  235. package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
  236. package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
  237. package/lib/dll/DelegatedModule.js +20 -18
  238. package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
  239. package/lib/dll/DelegatedPlugin.js +1 -1
  240. package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
  241. package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
  242. package/lib/dll/DllEntryPlugin.js +3 -3
  243. package/lib/dll/DllModule.js +11 -9
  244. package/lib/dll/DllModuleFactory.js +3 -3
  245. package/lib/dll/DllPlugin.js +18 -6
  246. package/lib/dll/DllReferencePlugin.js +102 -26
  247. package/lib/dll/LibManifestPlugin.js +9 -7
  248. package/lib/electron/ElectronTargetPlugin.js +2 -2
  249. package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
  250. package/lib/{dependencies → entry}/EntryDependency.js +11 -2
  251. package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
  252. package/lib/entry/EntryPlugin.js +75 -0
  253. package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
  254. package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
  255. package/lib/errors/BuildCycleError.js +1 -1
  256. package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
  257. package/lib/errors/ChunkRenderError.js +1 -1
  258. package/lib/errors/CodeGenerationError.js +1 -1
  259. package/lib/errors/CommentCompilationWarning.js +1 -1
  260. package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
  261. package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
  262. package/lib/errors/DeprecatedOptionWarning.js +30 -0
  263. package/lib/errors/DllManifestError.js +26 -0
  264. package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
  265. package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
  266. package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
  267. package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
  268. package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +7 -5
  269. package/lib/errors/ExternalStarReexportError.js +2 -2
  270. package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
  271. package/lib/errors/HookWebpackError.js +4 -4
  272. package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
  273. package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
  274. package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
  275. package/lib/errors/ModuleBuildError.js +1 -1
  276. package/lib/errors/ModuleDependencyError.js +2 -2
  277. package/lib/errors/ModuleDependencyWarning.js +2 -2
  278. package/lib/errors/ModuleError.js +1 -1
  279. package/lib/errors/ModuleHashingError.js +1 -1
  280. package/lib/errors/ModuleNotFoundError.js +3 -3
  281. package/lib/errors/ModuleParseError.js +1 -1
  282. package/lib/errors/ModuleRestoreError.js +1 -1
  283. package/lib/errors/ModuleStoreError.js +1 -1
  284. package/lib/errors/ModuleWarning.js +1 -1
  285. package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
  286. package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
  287. package/lib/errors/NodeStuffInWebError.js +7 -2
  288. package/lib/errors/PathVariableError.js +31 -0
  289. package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
  290. package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
  291. package/lib/errors/RuntimeModuleGenerationError.js +51 -0
  292. package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
  293. package/lib/errors/SystemImportDeprecationWarning.js +43 -0
  294. package/lib/errors/UnmergeableEntryExportsError.js +34 -0
  295. package/lib/errors/UnsupportedFeatureWarning.js +1 -1
  296. package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
  297. package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
  298. package/lib/errors/WebpackError.js +12 -3
  299. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
  300. package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
  301. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
  302. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
  303. package/lib/{ExternalModule.js → externals/ExternalModule.js} +79 -55
  304. package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
  305. package/lib/externals/ExternalsPlugin.js +99 -0
  306. package/lib/fs/FileSystemInfo.js +4642 -0
  307. package/lib/{util → fs}/fs.js +22 -9
  308. package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
  309. package/lib/graph/Chunk.js +985 -0
  310. package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +187 -80
  311. package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
  312. package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
  313. package/lib/graph/Dependency.js +628 -0
  314. package/lib/graph/Entrypoint.js +136 -0
  315. package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +130 -82
  316. package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
  317. package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +30 -30
  318. package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
  319. package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +152 -57
  320. package/lib/{util → graph}/findGraphRoots.js +14 -8
  321. package/lib/graph/isDependencyKind.js +23 -0
  322. package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
  323. package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +47 -47
  324. package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
  325. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
  326. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
  327. package/lib/hmr/LazyCompilationPlugin.js +31 -21
  328. package/lib/html/HtmlGenerator.js +107 -43
  329. package/lib/html/HtmlModule.js +6 -2
  330. package/lib/html/HtmlModulesPlugin.js +172 -76
  331. package/lib/html/HtmlParser.js +503 -153
  332. package/lib/html/builtinEmbeddedRenderer.js +60 -13
  333. package/lib/html/data.js +2 -1
  334. package/lib/html/htmlMinify.js +111 -41
  335. package/lib/html/syntax-parser.js +15796 -0
  336. package/lib/html/syntax-printer.js +1034 -0
  337. package/lib/html/syntax.js +37 -13952
  338. package/lib/html/xmlMinify.js +67 -0
  339. package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
  340. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  341. package/lib/ids/HashedModuleIdsPlugin.js +31 -4
  342. package/lib/ids/IdHelpers.js +4 -4
  343. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  344. package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
  345. package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
  346. package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
  347. package/lib/ids/SyncModuleIdsPlugin.js +3 -3
  348. package/lib/{util → ids}/numberHash.js +1 -1
  349. package/lib/index.js +303 -97
  350. package/lib/{APIPlugin.js → javascript/APIPlugin.js} +25 -25
  351. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
  352. package/lib/javascript/BasicEvaluatedExpression.js +4 -4
  353. package/lib/javascript/ChunkHelpers.js +64 -4
  354. package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
  355. package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
  356. package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +74 -7
  357. package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
  358. package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
  359. package/lib/javascript/JavascriptGenerator.js +17 -17
  360. package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
  361. package/lib/javascript/JavascriptModule.js +4 -3
  362. package/lib/javascript/JavascriptModulesPlugin.js +440 -211
  363. package/lib/javascript/JavascriptParser.js +220 -134
  364. package/lib/javascript/JavascriptParserHelpers.js +1 -1
  365. package/lib/javascript/MergedEntryExports.js +196 -0
  366. package/lib/javascript/ScopeAnalyzer.js +3840 -5
  367. package/lib/javascript/StartupHelpers.js +6 -6
  368. package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
  369. package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
  370. package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
  371. package/lib/javascript/data.js +533 -122
  372. package/lib/javascript/jsMinify.js +272 -0
  373. package/lib/javascript/regexp.js +67 -32
  374. package/lib/javascript/syntax-parser.js +18561 -0
  375. package/lib/javascript/syntax-printer-data.js +933 -0
  376. package/lib/javascript/syntax-printer.js +47106 -0
  377. package/lib/javascript/syntax.js +20 -11274
  378. package/lib/json/JsonData.js +1 -1
  379. package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
  380. package/lib/json/JsonGenerator.js +10 -10
  381. package/lib/json/JsonModule.js +2 -2
  382. package/lib/json/JsonModulesPlugin.js +1 -1
  383. package/lib/json/JsonParser.js +5 -5
  384. package/lib/json/jsonMinify.js +69 -0
  385. package/lib/library/AbstractLibraryPlugin.js +28 -15
  386. package/lib/library/AmdLibraryPlugin.js +4 -4
  387. package/lib/library/AssignLibraryPlugin.js +27 -11
  388. package/lib/library/EnableLibraryPlugin.js +1 -1
  389. package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
  390. package/lib/library/JsonpLibraryPlugin.js +1 -1
  391. package/lib/library/LibraryTemplatePlugin.js +53 -0
  392. package/lib/library/ModuleLibraryPlugin.js +160 -166
  393. package/lib/library/SystemLibraryPlugin.js +6 -8
  394. package/lib/library/UmdLibraryPlugin.js +3 -4
  395. package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
  396. package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
  397. package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
  398. package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
  399. package/lib/loaders/LoaderRunner.js +31 -21
  400. package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
  401. package/lib/logging/Logger.js +7 -9
  402. package/lib/logging/ProgressPlugin.js +957 -0
  403. package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
  404. package/lib/{Generator.js → module/Generator.js} +16 -14
  405. package/lib/{Module.js → module/Module.js} +119 -51
  406. package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
  407. package/lib/module/NormalModule.js +2348 -0
  408. package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
  409. package/lib/module/NullFactory.js +29 -0
  410. package/lib/{Parser.js → module/Parser.js} +3 -3
  411. package/lib/module/RawModule.js +208 -0
  412. package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
  413. package/lib/{util → module}/extractSourceMap.js +2 -2
  414. package/lib/{util → module}/findCaseMismatch.js +2 -2
  415. package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
  416. package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
  417. package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
  418. package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
  419. package/lib/node/NodeEnvironmentPlugin.js +11 -1
  420. package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
  421. package/lib/node/NodeTargetPlugin.js +1 -1
  422. package/lib/node/NodeWatchFileSystem.js +58 -6
  423. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
  424. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
  425. package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
  426. package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
  427. package/lib/node/nodeConsole.js +2 -4
  428. package/lib/optimize/AggressiveMergingPlugin.js +2 -2
  429. package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
  430. package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
  431. package/lib/optimize/ConcatenatedModule.js +229 -214
  432. package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
  433. package/lib/optimize/ConstExportsPlugin.js +7 -7
  434. package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
  435. package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
  436. package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +17 -17
  437. package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +17 -17
  438. package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
  439. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
  440. package/lib/optimize/InlineExports.js +11 -3
  441. package/lib/optimize/InnerGraph.js +5 -13
  442. package/lib/optimize/InnerGraphPlugin.js +10 -10
  443. package/lib/optimize/LazyBarrels.js +584 -0
  444. package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
  445. package/lib/optimize/LimitChunkCountPlugin.js +16 -7
  446. package/lib/optimize/MangleExportsPlugin.js +5 -5
  447. package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
  448. package/lib/optimize/MinChunkSizePlugin.js +9 -6
  449. package/lib/optimize/ModuleConcatenationPlugin.js +20 -12
  450. package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
  451. package/lib/optimize/RealContentHashPlugin.js +16 -7
  452. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
  453. package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
  454. package/lib/optimize/SideEffectsFlagPlugin.js +18 -18
  455. package/lib/optimize/SplitChunksPlugin.js +713 -155
  456. package/lib/{util → optimize}/TupleQueue.js +9 -9
  457. package/lib/optimize/chunkSetIntersections.js +437 -0
  458. package/lib/{util → optimize}/deterministicGrouping.js +17 -17
  459. package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
  460. package/lib/{CleanPlugin.js → output/CleanPlugin.js} +66 -24
  461. package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
  462. package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
  463. package/lib/output/SSRManifestPlugin.js +349 -0
  464. package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
  465. package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
  466. package/lib/performance/BroadContextsPlugin.js +4 -4
  467. package/lib/performance/CacheEffectivenessPlugin.js +2 -3
  468. package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
  469. package/lib/performance/DuplicateModulesPlugin.js +3 -4
  470. package/lib/performance/DuplicatePackagesPlugin.js +3 -3
  471. package/lib/performance/DynamicExportsPlugin.js +2 -2
  472. package/lib/performance/EvalUsagePlugin.js +3 -3
  473. package/lib/performance/HotspotsPlugin.js +11 -10
  474. package/lib/performance/LargeModulesPlugin.js +2 -3
  475. package/lib/performance/LegacyJavascriptPlugin.js +1 -2
  476. package/lib/performance/MissingSideEffectsPlugin.js +2 -3
  477. package/lib/performance/MissingSourceMapsPlugin.js +5 -6
  478. package/lib/performance/PureAnnotationsPlugin.js +3 -3
  479. package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
  480. package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
  481. package/lib/performance/SizeLimitsPlugin.js +11 -12
  482. package/lib/performance/TopLevelThisPlugin.js +8 -7
  483. package/lib/performance/UnsplitVendorsPlugin.js +1 -2
  484. package/lib/performance/UnusedAliasesPlugin.js +6 -7
  485. package/lib/performance/UnusedAssetsPlugin.js +5 -5
  486. package/lib/performance/UnusedDefinesPlugin.js +2 -2
  487. package/lib/performance/UnusedExternalsPlugin.js +3 -4
  488. package/lib/performance/UnusedFederationPlugin.js +2 -4
  489. package/lib/performance/UnusedModulesPlugin.js +5 -4
  490. package/lib/performance/getModuleSize.js +1 -1
  491. package/lib/performance/hasOnlyUnusedExports.js +4 -4
  492. package/lib/performance/isOnlyReexported.js +7 -6
  493. package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
  494. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
  495. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
  496. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
  497. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
  498. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
  499. package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
  500. package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
  501. package/lib/prefetch/ResourceHintPlugin.js +65 -44
  502. package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
  503. package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
  504. package/lib/prefetch/parseResourceHintOptions.js +4 -3
  505. package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
  506. package/lib/{dependencies → provide}/ProvidedDependency.js +14 -13
  507. package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
  508. package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
  509. package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
  510. package/lib/resolve/getResolveOptionsKey.js +59 -0
  511. package/lib/rules/RuleSetCompiler.js +27 -46
  512. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
  513. package/lib/runtime/AsyncModuleRuntimeModule.js +7 -4
  514. package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
  515. package/lib/runtime/BaseUriRuntimeModule.js +3 -3
  516. package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
  517. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
  518. package/lib/runtime/CompatRuntimeModule.js +4 -4
  519. package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
  520. package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
  521. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  522. package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
  523. package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
  524. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
  525. package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
  526. package/lib/runtime/GetChunkFilenameRuntimeModule.js +6 -6
  527. package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
  528. package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
  529. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
  530. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
  531. package/lib/runtime/GlobalRuntimeModule.js +3 -3
  532. package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
  533. package/lib/runtime/HelperRuntimeModule.js +16 -1
  534. package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
  535. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
  536. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
  537. package/lib/runtime/NonceRuntimeModule.js +2 -2
  538. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  539. package/lib/runtime/PublicPathRuntimeModule.js +2 -2
  540. package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
  541. package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +18 -1
  542. package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
  543. package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
  544. package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -50
  545. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
  546. package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
  547. package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
  548. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
  549. package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
  550. package/lib/runtime/SystemContextRuntimeModule.js +2 -2
  551. package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
  552. package/lib/runtime/WorkerRuntimeModule.js +1 -1
  553. package/lib/runtime/baseUri.js +1 -1
  554. package/lib/schemes/DataUriPlugin.js +1 -1
  555. package/lib/schemes/HttpUriPlugin.js +67 -11
  556. package/lib/schemes/VirtualUrlPlugin.js +50 -16
  557. package/lib/serialization/AggregateErrorSerializer.js +2 -2
  558. package/lib/serialization/FileMiddleware.js +3 -3
  559. package/lib/serialization/ObjectMiddleware.js +47 -16
  560. package/lib/serialization/SerializerMiddleware.js +2 -2
  561. package/lib/serialization/SingleItemMiddleware.js +4 -2
  562. package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
  563. package/lib/sharing/ConsumeSharedModule.js +18 -14
  564. package/lib/sharing/ConsumeSharedPlugin.js +148 -42
  565. package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
  566. package/lib/sharing/ProvideForSharedDependency.js +9 -1
  567. package/lib/sharing/ProvideSharedDependency.js +1 -1
  568. package/lib/sharing/ProvideSharedModule.js +11 -9
  569. package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
  570. package/lib/sharing/ProvideSharedPlugin.js +111 -20
  571. package/lib/sharing/SharePlugin.js +102 -9
  572. package/lib/sharing/ShareRuntimeModule.js +6 -6
  573. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  574. package/lib/{util → sharing}/semver.js +14 -16
  575. package/lib/sharing/utils.js +59 -2
  576. package/lib/stats/DefaultStatsFactoryPlugin.js +22 -19
  577. package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
  578. package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
  579. package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
  580. package/lib/{Stats.js → stats/Stats.js} +4 -4
  581. package/lib/stats/StatsFactory.js +14 -13
  582. package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
  583. package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
  584. package/lib/template/DependencyTemplate.js +77 -0
  585. package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
  586. package/lib/template/InitFragment.js +223 -0
  587. package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
  588. package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
  589. package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
  590. package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +145 -63
  591. package/lib/{Template.js → template/Template.js} +13 -11
  592. package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
  593. package/lib/typescript/TypeScriptPlugin.js +3 -3
  594. package/lib/util/RequestShortener.js +44 -0
  595. package/lib/util/SortableSet.js +87 -22
  596. package/lib/util/SourceProcessor.js +349 -44
  597. package/lib/util/TupleSet.js +27 -27
  598. package/lib/util/WeakTupleMap.js +10 -12
  599. package/lib/util/buildDiagnostics.js +2 -2
  600. package/lib/util/comparators.js +10 -10
  601. package/lib/util/concatenate.js +28 -147
  602. package/lib/util/createMappings.js +111 -0
  603. package/lib/util/dataURL.js +94 -15
  604. package/lib/util/deprecation.js +1 -1
  605. package/lib/util/extractComments.js +118 -0
  606. package/lib/util/formatLocation.js +1 -1
  607. package/lib/util/globUtils.js +197 -16
  608. package/lib/util/haltVisitors.js +51 -0
  609. package/lib/util/handlerKeys.js +2 -2
  610. package/lib/util/identifier.js +117 -1
  611. package/lib/util/implicitTypeLoaderFallback.js +6 -4
  612. package/lib/util/internalSerializables.js +294 -102
  613. package/lib/util/magicComment.js +12 -7
  614. package/lib/util/makeSerializable.js +23 -4
  615. package/lib/util/parseJson.js +1 -1
  616. package/lib/util/preloadModuleType.js +5 -2
  617. package/lib/util/registerExternalSerializer.js +2 -2
  618. package/lib/util/removeBOM.js +1 -1
  619. package/lib/util/runtime.js +1 -1
  620. package/lib/util/serialization.js +4 -1
  621. package/lib/util/source.js +2 -2
  622. package/lib/util/terminalColors.js +161 -0
  623. package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
  624. package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
  625. package/lib/{wasm-async → wasm}/AsyncWasmModule.js +9 -5
  626. package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +5 -5
  627. package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +11 -10
  628. package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
  629. package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
  630. package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
  631. package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
  632. package/lib/wasm/wasmModuleFilename.js +2 -2
  633. package/lib/wasm-sync/SyncWasmModule.js +3 -3
  634. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
  635. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
  636. package/lib/wasm-sync/WebAssemblyGenerator.js +9 -8
  637. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +14 -15
  638. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
  639. package/lib/wasm-sync/WebAssemblyParser.js +6 -6
  640. package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
  641. package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
  642. package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
  643. package/lib/{Watching.js → watch/Watching.js} +8 -8
  644. package/lib/web/FetchCompileAsyncWasmPlugin.js +8 -6
  645. package/lib/web/FetchCompileWasmPlugin.js +6 -4
  646. package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
  647. package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
  648. package/lib/web/JsonpTemplatePlugin.js +1 -1
  649. package/lib/webpack.js +27 -17
  650. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
  651. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
  652. package/package.json +48 -41
  653. package/schemas/WebpackOptions.check.js +2 -1
  654. package/schemas/WebpackOptions.d.json.ts +2 -0
  655. package/schemas/WebpackOptions.json +294 -74
  656. package/schemas/plugins/BannerPlugin.check.js +2 -1
  657. package/schemas/plugins/BannerPlugin.json +29 -2
  658. package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
  659. package/schemas/plugins/HtmlParserOptions.check.js +2 -1
  660. package/schemas/plugins/IgnorePlugin.check.js +1 -0
  661. package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
  662. package/schemas/plugins/IgnorePlugin.json +1 -1
  663. package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
  664. package/schemas/plugins/ManifestPlugin.check.js +1 -0
  665. package/schemas/plugins/ManifestPlugin.json +3 -3
  666. package/schemas/plugins/ProgressPlugin.check.js +2 -1
  667. package/schemas/plugins/ProgressPlugin.json +2 -7
  668. package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
  669. package/schemas/plugins/SSRManifestPlugin.json +20 -0
  670. package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
  671. package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
  672. package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
  673. package/schemas/plugins/WatchIgnorePlugin.json +12 -3
  674. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
  675. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
  676. package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
  677. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
  678. package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
  679. package/schemas/plugins/container/ContainerPlugin.json +8 -0
  680. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
  681. package/schemas/plugins/container/ExternalsType.check.js +1 -0
  682. package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
  683. package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
  684. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
  685. package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
  686. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
  687. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
  688. package/schemas/plugins/css/CssParserOptions.check.js +1 -0
  689. package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
  690. package/schemas/plugins/dll/DllPlugin.check.js +1 -0
  691. package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
  692. package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
  693. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
  694. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
  695. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
  696. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
  697. package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
  698. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
  699. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
  700. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
  701. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
  702. package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
  703. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
  704. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
  705. package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
  706. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
  707. package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
  708. package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
  709. package/schemas/plugins/sharing/SharePlugin.json +32 -0
  710. package/types.d.ts +19355 -13873
  711. package/lib/LazyBarrel.js +0 -388
  712. package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
  713. package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
  714. package/lib/javascript/ChunkFormatHelpers.js +0 -72
  715. package/lib/javascript/grammar.js +0 -5546
  716. package/lib/javascript/parser.js +0 -1500
  717. package/lib/javascript/regexpData.js +0 -51
  718. package/lib/performance/getSourceModules.js +0 -22
  719. package/lib/util/Semaphore.js +0 -65
  720. package/lib/util/objectToMap.js +0 -15
  721. package/schemas/WebpackOptions.check.d.ts +0 -7
  722. package/schemas/_container.json +0 -155
  723. package/schemas/_sharing.json +0 -118
  724. package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
  725. package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
  726. package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
  727. package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
  728. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
  729. package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
  730. package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
  731. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
  732. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
  733. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
  734. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
  735. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
  736. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
  737. package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
  738. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
  739. package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
  740. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
  741. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
  742. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
  743. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
  744. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
  745. package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
  746. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
  747. package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
  748. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
  749. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
  750. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
  751. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
  752. package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
  753. package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
  754. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
  755. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
  756. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
  757. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
  758. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
  759. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
  760. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
  761. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
  762. package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
  763. /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
  764. /package/lib/{util → css}/conventions.js +0 -0
  765. /package/lib/{util → css}/topologicalSort.js +0 -0
  766. /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
  767. /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
  768. /package/lib/{util → fs}/StackedCacheMap.js +0 -0
  769. /package/lib/{util → javascript}/StackedMap.js +0 -0
  770. /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
  771. /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
  772. /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
  773. /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
  774. /package/lib/{util → optimize}/Queue.js +0 -0
  775. /package/lib/{util → stats}/smartGrouping.js +0 -0
package/lib/index.js CHANGED
@@ -8,6 +8,26 @@
8
8
  const util = require("util");
9
9
  const memoize = require("./util/memoize");
10
10
 
11
+ const getCliArguments = memoize(() => require("./config/cli"));
12
+ const getTerminalColors = memoize(() => require("./util/terminalColors"));
13
+
14
+ // `webpack.cli` is the surface webpack-cli reads, and a getter per export is
15
+ // what keeps reading a color from parsing the options schema.
16
+ const getCli = memoize(() => ({
17
+ get getArguments() {
18
+ return getCliArguments().getArguments;
19
+ },
20
+ get processArguments() {
21
+ return getCliArguments().processArguments;
22
+ },
23
+ get createColors() {
24
+ return getTerminalColors().createColors;
25
+ },
26
+ get isColorSupported() {
27
+ return getTerminalColors().isColorSupported;
28
+ }
29
+ }));
30
+
11
31
  /** @typedef {import("../declarations/WebpackOptions").Entry} Entry */
12
32
  /** @typedef {import("../declarations/WebpackOptions").EntryNormalized} EntryNormalized */
13
33
  /** @typedef {import("../declarations/WebpackOptions").EntryObject} EntryObject */
@@ -36,19 +56,19 @@ const memoize = require("./util/memoize");
36
56
  /** @typedef {import("../declarations/WebpackOptions").WebpackPluginFunction} WebpackPluginFunction */
37
57
  /** @typedef {import("../declarations/WebpackOptions").WebpackPluginInstance} WebpackPluginInstance */
38
58
  /** @typedef {import("./asset/AssetModule").AssetModuleBuildInfo} AssetModuleBuildInfo */
39
- /** @typedef {import("./ChunkGroup")} ChunkGroup */
59
+ /** @typedef {import("./graph/ChunkGroup")} ChunkGroup */
40
60
  /** @typedef {import("./Compiler").AssetEmittedInfo} AssetEmittedInfo */
41
61
  /** @typedef {import("./context/ContextModule").ContextModuleBuildInfo} ContextModuleBuildInfo */
42
62
  /** @typedef {import("./css/CssModule").CssModuleBuildInfo} CssModuleBuildInfo */
43
63
  /** @typedef {import("./css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
44
- /** @typedef {import("./ExternalModule").ExternalModuleBuildInfo} ExternalModuleBuildInfo */
64
+ /** @typedef {import("./externals/ExternalModule").ExternalModuleBuildInfo} ExternalModuleBuildInfo */
45
65
  /** @typedef {import("./html/HtmlModule").HtmlModuleBuildInfo} HtmlModuleBuildInfo */
46
66
  /** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
47
67
  /** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildMeta} JavascriptModuleBuildMeta */
48
68
  /** @typedef {import("./json/JsonModule").JsonModuleBuildInfo} JsonModuleBuildInfo */
49
- /** @typedef {import("./Module").BuildInfo} BuildInfo */
50
- /** @typedef {import("./Module").BuildMeta} BuildMeta */
51
- /** @typedef {import("./NormalModule").NormalModuleBuildInfo} NormalModuleBuildInfo */
69
+ /** @typedef {import("./module/Module").BuildInfo} BuildInfo */
70
+ /** @typedef {import("./module/Module").BuildMeta} BuildMeta */
71
+ /** @typedef {import("./module/NormalModule").NormalModuleBuildInfo} NormalModuleBuildInfo */
52
72
  /** @typedef {import("./optimize/ConcatenatedModule").ConcatenatedModuleBuildInfo} ConcatenatedModuleBuildInfo */
53
73
  /** @typedef {import("./wasm-sync/SyncWasmModule").SyncWasmModuleBuildMeta} SyncWasmModuleBuildMeta */
54
74
  /** @typedef {import("./Compilation").Asset} Asset */
@@ -57,30 +77,32 @@ const memoize = require("./util/memoize");
57
77
  /** @typedef {import("./Compilation").PathData} PathData */
58
78
  /** @typedef {import("./Compilation").PathDataChunk} PathDataChunk */
59
79
  /** @typedef {import("./Compilation").PathDataModule} PathDataModule */
60
- /** @typedef {import("./CodeGenerationResults")} CodeGenerationResults */
61
- /** @typedef {import("./Entrypoint")} Entrypoint */
62
- /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionCallback} ExternalItemFunctionCallback */
63
- /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionData} ExternalItemFunctionData */
64
- /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionDataGetResolve} ExternalItemFunctionDataGetResolve */
65
- /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionDataGetResolveCallbackResult} ExternalItemFunctionDataGetResolveCallbackResult */
66
- /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionDataGetResolveResult} ExternalItemFunctionDataGetResolveResult */
67
- /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionPromise} ExternalItemFunctionPromise */
80
+ /** @typedef {import("./module/CodeGenerationResults")} CodeGenerationResults */
81
+ /** @typedef {import("./graph/Entrypoint")} Entrypoint */
82
+ /** @typedef {import("./externals/ExternalModuleFactoryPlugin").ExternalItemFunctionCallback} ExternalItemFunctionCallback */
83
+ /** @typedef {import("./externals/ExternalModuleFactoryPlugin").ExternalItemFunctionData} ExternalItemFunctionData */
84
+ /** @typedef {import("./externals/ExternalModuleFactoryPlugin").ExternalItemFunctionDataGetResolve} ExternalItemFunctionDataGetResolve */
85
+ /** @typedef {import("./externals/ExternalModuleFactoryPlugin").ExternalItemFunctionDataGetResolveCallbackResult} ExternalItemFunctionDataGetResolveCallbackResult */
86
+ /** @typedef {import("./externals/ExternalModuleFactoryPlugin").ExternalItemFunctionDataGetResolveResult} ExternalItemFunctionDataGetResolveResult */
87
+ /** @typedef {import("./externals/ExternalModuleFactoryPlugin").ExternalItemFunctionPromise} ExternalItemFunctionPromise */
68
88
  /** @typedef {import("./MultiCompiler").MultiCompilerOptions} MultiCompilerOptions */
89
+ /** @typedef {import("./MultiCompiler").MultiCompilerPluginFunction} MultiCompilerPluginFunction */
90
+ /** @typedef {import("./MultiCompiler").MultiCompilerPluginInstance} MultiCompilerPluginInstance */
69
91
  /** @typedef {import("./MultiCompiler").MultiWebpackOptions} MultiConfiguration */
70
- /** @typedef {import("./MultiStats")} MultiStats */
71
- /** @typedef {import("./MultiStats").MultiStatsOptions} MultiStatsOptions */
72
- /** @typedef {import("./NormalModuleFactory").ResolveData} ResolveData */
73
- /** @typedef {import("./Parser").ParserState} ParserState */
74
- /** @typedef {import("./ResolverFactory").ResolvePluginInstance} ResolvePluginInstance */
75
- /** @typedef {import("./ResolverFactory").Resolver} Resolver */
76
- /** @typedef {import("./Template").RenderManifestEntry} RenderManifestEntry */
77
- /** @typedef {import("./Template").RenderManifestOptions} RenderManifestOptions */
78
- /** @typedef {import("./TemplatedPathPlugin").TemplatePath} TemplatePath */
79
- /** @typedef {import("./Watching")} Watching */
80
- /** @typedef {import("./cli").Argument} Argument */
81
- /** @typedef {import("./cli").Problem} Problem */
82
- /** @typedef {import("./cli").Colors} Colors */
83
- /** @typedef {import("./cli").ColorsOptions} ColorsOptions */
92
+ /** @typedef {import("./stats/MultiStats")} MultiStats */
93
+ /** @typedef {import("./stats/MultiStats").MultiStatsOptions} MultiStatsOptions */
94
+ /** @typedef {import("./module/NormalModuleFactory").ResolveData} ResolveData */
95
+ /** @typedef {import("./module/Parser").ParserState} ParserState */
96
+ /** @typedef {import("./resolve/ResolverFactory").ResolvePluginInstance} ResolvePluginInstance */
97
+ /** @typedef {import("./resolve/ResolverFactory").Resolver} Resolver */
98
+ /** @typedef {import("./template/Template").RenderManifestEntry} RenderManifestEntry */
99
+ /** @typedef {import("./template/Template").RenderManifestOptions} RenderManifestOptions */
100
+ /** @typedef {import("./template/TemplatedPathPlugin").TemplatePath} TemplatePath */
101
+ /** @typedef {import("./watch/Watching")} Watching */
102
+ /** @typedef {import("./config/cli").Argument} Argument */
103
+ /** @typedef {import("./config/cli").Problem} Problem */
104
+ /** @typedef {import("./util/terminalColors").Colors} Colors */
105
+ /** @typedef {import("./util/terminalColors").ColorsOptions} ColorsOptions */
84
106
  /** @typedef {import("./config/defineConfig").ConfigurationFactory} ConfigurationFactory */
85
107
  /** @typedef {import("./config/defineConfig").DefineConfigInput} DefineConfigInput */
86
108
  /** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsAsset} StatsAsset */
@@ -99,12 +121,12 @@ const memoize = require("./util/memoize");
99
121
  /** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsProfile} StatsProfile */
100
122
  /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
101
123
  /** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
102
- /** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
103
- /** @typedef {import("./util/fs").OutputFileSystem} OutputFileSystem */
124
+ /** @typedef {import("./fs/fs").InputFileSystem} InputFileSystem */
125
+ /** @typedef {import("./fs/fs").OutputFileSystem} OutputFileSystem */
104
126
 
105
127
  /**
106
128
  * Returns function.
107
- * @template {EXPECTED_FUNCTION} T
129
+ * @template {(...args: EXPECTED_ANY[]) => EXPECTED_ANY} T
108
130
  * @param {() => T} factory factory function
109
131
  * @returns {T} function
110
132
  */
@@ -113,8 +135,8 @@ const lazyFunction = (factory) => {
113
135
  const f = /** @type {unknown} */ (
114
136
  /**
115
137
  * Handles the callback logic for this hook.
116
- * @param {...EXPECTED_ANY} args args
117
- * @returns {T} result
138
+ * @param {Parameters<T>} args args
139
+ * @returns {ReturnType<T>} result
118
140
  */
119
141
  (...args) => fac()(...args)
120
142
  );
@@ -162,6 +184,8 @@ module.exports = mergeExports(fn, {
162
184
  get webpack() {
163
185
  return require("./webpack");
164
186
  },
187
+ // Stays at the top level rather than only under `config`: every config file
188
+ // calls it, and a scope would put three names in front of each one.
165
189
  get defineConfig() {
166
190
  return require("./config/defineConfig");
167
191
  },
@@ -180,9 +204,9 @@ module.exports = mergeExports(fn, {
180
204
  * @returns {(configuration: Configuration | MultiConfiguration) => void} validate fn
181
205
  */
182
206
  () => {
183
- const validateSchema = require("./validateSchema");
207
+ const validateSchema = require("./config/validateSchema");
184
208
  const webpackOptionsSchema =
185
- /** @type {EXPECTED_ANY} */
209
+ /** @type {Parameters<typeof validateSchema>[0]} */
186
210
  (require("../schemas/WebpackOptions.json"));
187
211
 
188
212
  return (options) => validateSchema(webpackOptionsSchema, options);
@@ -194,8 +218,13 @@ module.exports = mergeExports(fn, {
194
218
  }
195
219
  };
196
220
  },
221
+ /**
222
+ * Validates a value against a JSON schema.
223
+ * @deprecated use `config.validateSchema` — TODO in the next major release: remove
224
+ * @returns {typeof import("./config/validateSchema")} the schema validator
225
+ */
197
226
  get validateSchema() {
198
- const validateSchema = require("./validateSchema");
227
+ const validateSchema = require("./config/validateSchema");
199
228
 
200
229
  return validateSchema;
201
230
  },
@@ -204,28 +233,38 @@ module.exports = mergeExports(fn, {
204
233
  },
205
234
 
206
235
  get cli() {
207
- return require("./cli");
236
+ return getCli();
208
237
  },
238
+ /**
239
+ * Resolves every module of the last build eagerly.
240
+ * @deprecated use `prefetch.AutomaticPrefetchPlugin` — TODO in the next major release: remove
241
+ * @returns {typeof import("./prefetch/AutomaticPrefetchPlugin")} the moved export
242
+ */
209
243
  get AutomaticPrefetchPlugin() {
210
- return require("./AutomaticPrefetchPlugin");
244
+ return require("./prefetch/AutomaticPrefetchPlugin");
211
245
  },
212
246
  get AsyncDependenciesBlock() {
213
- return require("./AsyncDependenciesBlock");
247
+ return require("./graph/AsyncDependenciesBlock");
214
248
  },
215
249
  get BannerPlugin() {
216
- return require("./BannerPlugin");
250
+ return require("./output/BannerPlugin");
217
251
  },
252
+ /**
253
+ * The cache a compilation stores and restores through.
254
+ * @deprecated use `cache.Cache` — TODO in the next major release: remove
255
+ * @returns {typeof import("./cache/Cache")} the moved export
256
+ */
218
257
  get Cache() {
219
- return require("./Cache");
258
+ return require("./cache/Cache");
220
259
  },
221
260
  get Chunk() {
222
- return require("./Chunk");
261
+ return require("./graph/Chunk");
223
262
  },
224
263
  get ChunkGraph() {
225
- return require("./ChunkGraph");
264
+ return require("./graph/ChunkGraph");
226
265
  },
227
266
  get CleanPlugin() {
228
- return require("./CleanPlugin");
267
+ return require("./output/CleanPlugin");
229
268
  },
230
269
  get Compilation() {
231
270
  return require("./Compilation");
@@ -233,8 +272,13 @@ module.exports = mergeExports(fn, {
233
272
  get Compiler() {
234
273
  return require("./Compiler");
235
274
  },
275
+ /**
276
+ * The protocol scope hoisting renders through.
277
+ * @deprecated use `optimize.ConcatenationScope` — TODO in the next major release: remove
278
+ * @returns {typeof import("./optimize/ConcatenationScope")} the moved export
279
+ */
236
280
  get ConcatenationScope() {
237
- return require("./ConcatenationScope");
281
+ return require("./optimize/ConcatenationScope");
238
282
  },
239
283
  get ContextExclusionPlugin() {
240
284
  return require("./context/ContextExclusionPlugin");
@@ -243,55 +287,55 @@ module.exports = mergeExports(fn, {
243
287
  return require("./context/ContextReplacementPlugin");
244
288
  },
245
289
  get CopyPlugin() {
246
- return require("./CopyPlugin");
290
+ return require("./output/CopyPlugin");
247
291
  },
248
292
  get DefinePlugin() {
249
- return require("./DefinePlugin");
293
+ return require("./define/DefinePlugin");
250
294
  },
251
295
  get Dependency() {
252
- return require("./Dependency");
296
+ return require("./graph/Dependency");
253
297
  },
254
298
  get DynamicEntryPlugin() {
255
- return require("./DynamicEntryPlugin");
299
+ return require("./entry/DynamicEntryPlugin");
256
300
  },
257
301
  get DotenvPlugin() {
258
- return require("./DotenvPlugin");
302
+ return require("./define/DotenvPlugin");
259
303
  },
260
304
  get EntryOptionPlugin() {
261
- return require("./EntryOptionPlugin");
305
+ return require("./entry/EntryOptionPlugin");
262
306
  },
263
307
  get EntryPlugin() {
264
- return require("./EntryPlugin");
308
+ return require("./entry/EntryPlugin");
265
309
  },
266
310
  get EnvironmentPlugin() {
267
- return require("./EnvironmentPlugin");
311
+ return require("./define/EnvironmentPlugin");
268
312
  },
269
313
  get EvalDevToolModulePlugin() {
270
- return require("./EvalDevToolModulePlugin");
314
+ return require("./devtool/EvalDevToolModulePlugin");
271
315
  },
272
316
  get EvalSourceMapDevToolPlugin() {
273
- return require("./EvalSourceMapDevToolPlugin");
317
+ return require("./devtool/EvalSourceMapDevToolPlugin");
274
318
  },
275
319
  get ExternalModule() {
276
- return require("./ExternalModule");
320
+ return require("./externals/ExternalModule");
277
321
  },
278
322
  get ExternalsPlugin() {
279
- return require("./ExternalsPlugin");
323
+ return require("./externals/ExternalsPlugin");
280
324
  },
281
325
  get Generator() {
282
- return require("./Generator");
326
+ return require("./module/Generator");
283
327
  },
284
328
  get HotUpdateChunk() {
285
- return require("./HotUpdateChunk");
329
+ return require("./graph/HotUpdateChunk");
286
330
  },
287
331
  get HotModuleReplacementPlugin() {
288
- return require("./HotModuleReplacementPlugin");
332
+ return require("./hmr/HotModuleReplacementPlugin");
289
333
  },
290
334
  get InitFragment() {
291
- return require("./InitFragment");
335
+ return require("./template/InitFragment");
292
336
  },
293
337
  get IgnorePlugin() {
294
- return require("./IgnorePlugin");
338
+ return require("./resolve/IgnorePlugin");
295
339
  },
296
340
  get JavascriptModulesPlugin() {
297
341
  return util.deprecate(
@@ -302,107 +346,140 @@ module.exports = mergeExports(fn, {
302
346
  },
303
347
  get LibraryTemplatePlugin() {
304
348
  return util.deprecate(
305
- () => require("./LibraryTemplatePlugin"),
349
+ () => require("./library/LibraryTemplatePlugin"),
306
350
  "webpack.LibraryTemplatePlugin is deprecated and has been replaced by compilation.outputOptions.library or compilation.addEntry + passing a library option",
307
351
  "DEP_WEBPACK_LIBRARY_TEMPLATE_PLUGIN"
308
352
  )();
309
353
  },
310
354
  get LoaderOptionsPlugin() {
311
- return require("./LoaderOptionsPlugin");
355
+ return require("./loaders/LoaderOptionsPlugin");
312
356
  },
313
357
  get LoaderTargetPlugin() {
314
- return require("./LoaderTargetPlugin");
358
+ return require("./loaders/LoaderTargetPlugin");
315
359
  },
316
360
  get Module() {
317
- return require("./Module");
361
+ return require("./module/Module");
318
362
  },
319
363
  get ModuleFactory() {
320
- return require("./ModuleFactory");
364
+ return require("./module/ModuleFactory");
321
365
  },
322
366
  get ModuleFilenameHelpers() {
323
- return require("./ModuleFilenameHelpers");
367
+ return require("./devtool/ModuleFilenameHelpers");
324
368
  },
325
369
  get ModuleGraph() {
326
- return require("./ModuleGraph");
370
+ return require("./graph/ModuleGraph");
327
371
  },
328
372
  get ModuleGraphConnection() {
329
- return require("./ModuleGraphConnection");
373
+ return require("./graph/ModuleGraphConnection");
330
374
  },
331
375
  get NoEmitOnErrorsPlugin() {
332
- return require("./NoEmitOnErrorsPlugin");
376
+ return require("./diagnostics/NoEmitOnErrorsPlugin");
333
377
  },
334
378
  get NormalModule() {
335
- return require("./NormalModule");
379
+ return require("./module/NormalModule");
336
380
  },
337
381
  get NormalModuleReplacementPlugin() {
338
- return require("./NormalModuleReplacementPlugin");
382
+ return require("./resolve/NormalModuleReplacementPlugin");
339
383
  },
340
384
  get MultiCompiler() {
341
385
  return require("./MultiCompiler");
342
386
  },
387
+ /**
388
+ * The stage constants the optimization hooks are tapped at.
389
+ * @deprecated use `optimize.OptimizationStages` — TODO in the next major release: remove
390
+ * @returns {typeof import("./optimize/OptimizationStages")} the moved export
391
+ */
343
392
  get OptimizationStages() {
344
- return require("./OptimizationStages");
393
+ return require("./optimize/OptimizationStages");
345
394
  },
346
395
  get Parser() {
347
- return require("./Parser");
396
+ return require("./module/Parser");
348
397
  },
398
+ /**
399
+ * Pins the target platform a `target: false` build cannot infer.
400
+ * @deprecated use `config.PlatformPlugin` — TODO in the next major release: remove
401
+ * @returns {typeof import("./config/PlatformPlugin")} the moved export
402
+ */
349
403
  get PlatformPlugin() {
350
- return require("./PlatformPlugin");
404
+ return require("./config/PlatformPlugin");
351
405
  },
406
+ /**
407
+ * Resolves one request eagerly at build time.
408
+ * @deprecated use `prefetch.PrefetchPlugin` — TODO in the next major release: remove
409
+ * @returns {typeof import("./prefetch/PrefetchPlugin")} the moved export
410
+ */
352
411
  get PrefetchPlugin() {
353
- return require("./PrefetchPlugin");
412
+ return require("./prefetch/PrefetchPlugin");
354
413
  },
355
414
  get ProgressPlugin() {
356
- return require("./ProgressPlugin");
415
+ return require("./logging/ProgressPlugin");
357
416
  },
358
417
  get ProvidePlugin() {
359
- return require("./ProvidePlugin");
418
+ return require("./provide/ProvidePlugin");
360
419
  },
420
+ /**
421
+ * The symbols a runtime module may declare a requirement on.
422
+ * @deprecated use `runtime.RuntimeGlobals` — TODO in the next major release: remove
423
+ * @returns {typeof import("./runtime/RuntimeGlobals")} the moved export
424
+ */
361
425
  get RuntimeGlobals() {
362
- return require("./RuntimeGlobals");
426
+ return require("./runtime/RuntimeGlobals");
363
427
  },
428
+ /**
429
+ * The base class every emitted runtime module extends.
430
+ * @deprecated use `runtime.RuntimeModule` — TODO in the next major release: remove
431
+ * @returns {typeof import("./runtime/RuntimeModule")} the moved export
432
+ */
364
433
  get RuntimeModule() {
365
- return require("./RuntimeModule");
434
+ return require("./runtime/RuntimeModule");
366
435
  },
367
436
  get SingleEntryPlugin() {
368
437
  return util.deprecate(
369
- () => require("./EntryPlugin"),
438
+ () => require("./entry/EntryPlugin"),
370
439
  "SingleEntryPlugin was renamed to EntryPlugin",
371
440
  "DEP_WEBPACK_SINGLE_ENTRY_PLUGIN"
372
441
  )();
373
442
  },
443
+ get SSRManifestPlugin() {
444
+ return require("./output/SSRManifestPlugin");
445
+ },
374
446
  get SourceMapDevToolPlugin() {
375
- return require("./SourceMapDevToolPlugin");
447
+ return require("./devtool/SourceMapDevToolPlugin");
376
448
  },
377
449
  get Stats() {
378
- return require("./Stats");
450
+ return require("./stats/Stats");
379
451
  },
380
452
  get ManifestPlugin() {
381
- return require("./ManifestPlugin");
453
+ return require("./output/ManifestPlugin");
382
454
  },
383
455
  get Template() {
384
- return require("./Template");
456
+ return require("./template/Template");
385
457
  },
386
458
  get UsageState() {
387
- return require("./ExportsInfo").UsageState;
459
+ return require("./graph/ExportsInfo").UsageState;
388
460
  },
389
461
  get WatchIgnorePlugin() {
390
- return require("./WatchIgnorePlugin");
462
+ return require("./watch/WatchIgnorePlugin");
391
463
  },
392
464
  get WebpackError() {
393
465
  return require("./errors/WebpackError");
394
466
  },
467
+ /**
468
+ * Reads a resolved configuration into the plugins it implies.
469
+ * @deprecated use `config.WebpackOptionsApply` — TODO in the next major release: remove
470
+ * @returns {typeof import("./config/WebpackOptionsApply")} the moved export
471
+ */
395
472
  get WebpackOptionsApply() {
396
- return require("./WebpackOptionsApply");
473
+ return require("./config/WebpackOptionsApply");
397
474
  },
398
475
  get WebpackOptionsDefaulter() {
399
476
  return util.deprecate(
400
- () => require("./WebpackOptionsDefaulter"),
477
+ () => require("./config/WebpackOptionsDefaulter"),
401
478
  "webpack.WebpackOptionsDefaulter is deprecated and has been replaced by webpack.config.getNormalizedWebpackOptions and webpack.config.applyWebpackOptionsDefaults",
402
479
  "DEP_WEBPACK_OPTIONS_DEFAULTER"
403
480
  )();
404
481
  },
405
- // TODO webpack 6 remove
482
+ // TODO in the next major release: remove
406
483
  get WebpackOptionsValidationError() {
407
484
  return require("schema-utils").ValidationError;
408
485
  },
@@ -411,12 +488,27 @@ module.exports = mergeExports(fn, {
411
488
  },
412
489
 
413
490
  cache: {
491
+ get Cache() {
492
+ return require("./cache/Cache");
493
+ },
414
494
  get MemoryCachePlugin() {
415
495
  return require("./cache/MemoryCachePlugin");
416
496
  }
417
497
  },
418
498
 
419
499
  config: {
500
+ get PlatformPlugin() {
501
+ return require("./config/PlatformPlugin");
502
+ },
503
+ get WebpackOptionsApply() {
504
+ return require("./config/WebpackOptionsApply");
505
+ },
506
+ get defineConfig() {
507
+ return require("./config/defineConfig");
508
+ },
509
+ get validateSchema() {
510
+ return require("./config/validateSchema");
511
+ },
420
512
  get getNormalizedWebpackOptions() {
421
513
  return require("./config/normalization").getNormalizedWebpackOptions;
422
514
  },
@@ -427,16 +519,24 @@ module.exports = mergeExports(fn, {
427
519
 
428
520
  dependencies: {
429
521
  get ModuleDependency() {
430
- return require("./dependencies/ModuleDependency");
522
+ return require("./dependencies/core/ModuleDependency");
431
523
  },
524
+ get ESMImportDependency() {
525
+ return require("./dependencies/esm/ESMImportDependency");
526
+ },
527
+ /**
528
+ * The dependency an ESM `import` declaration makes.
529
+ * @deprecated use `dependencies.ESMImportDependency` — TODO in the next major release: remove
530
+ * @returns {typeof import("./dependencies/esm/ESMImportDependency")} the dependency
531
+ */
432
532
  get HarmonyImportDependency() {
433
- return require("./dependencies/HarmonyImportDependency");
533
+ return require("./dependencies/esm/ESMImportDependency");
434
534
  },
435
535
  get ConstDependency() {
436
- return require("./dependencies/ConstDependency");
536
+ return require("./dependencies/core/ConstDependency");
437
537
  },
438
538
  get NullDependency() {
439
- return require("./dependencies/NullDependency");
539
+ return require("./dependencies/core/NullDependency");
440
540
  }
441
541
  },
442
542
 
@@ -479,10 +579,21 @@ module.exports = mergeExports(fn, {
479
579
  },
480
580
  get JavascriptParser() {
481
581
  return require("./javascript/JavascriptParser");
582
+ },
583
+ // The parser a build reads source with and the printer it writes minified
584
+ // source back out with, each loaded only where it is asked for.
585
+ get syntax() {
586
+ return require("./javascript/syntax");
482
587
  }
483
588
  },
484
589
 
485
590
  optimize: {
591
+ get ConcatenationScope() {
592
+ return require("./optimize/ConcatenationScope");
593
+ },
594
+ get OptimizationStages() {
595
+ return require("./optimize/OptimizationStages");
596
+ },
486
597
  get AggressiveMergingPlugin() {
487
598
  return require("./optimize/AggressiveMergingPlugin");
488
599
  },
@@ -523,6 +634,12 @@ module.exports = mergeExports(fn, {
523
634
  },
524
635
 
525
636
  runtime: {
637
+ get RuntimeGlobals() {
638
+ return require("./runtime/RuntimeGlobals");
639
+ },
640
+ get RuntimeModule() {
641
+ return require("./runtime/RuntimeModule");
642
+ },
526
643
  get GetChunkFilenameRuntimeModule() {
527
644
  return require("./runtime/GetChunkFilenameRuntimeModule");
528
645
  },
@@ -531,7 +648,25 @@ module.exports = mergeExports(fn, {
531
648
  }
532
649
  },
533
650
 
651
+ module: {
652
+ get NullFactory() {
653
+ return require("./module/NullFactory");
654
+ }
655
+ },
656
+
657
+ template: {
658
+ get DependencyTemplate() {
659
+ return require("./template/DependencyTemplate");
660
+ }
661
+ },
662
+
534
663
  prefetch: {
664
+ get AutomaticPrefetchPlugin() {
665
+ return require("./prefetch/AutomaticPrefetchPlugin");
666
+ },
667
+ get PrefetchPlugin() {
668
+ return require("./prefetch/PrefetchPlugin");
669
+ },
535
670
  get ChunkPrefetchPreloadPlugin() {
536
671
  return require("./prefetch/ChunkPrefetchPreloadPlugin");
537
672
  }
@@ -550,6 +685,11 @@ module.exports = mergeExports(fn, {
550
685
  get JsonpTemplatePlugin() {
551
686
  return require("./web/JsonpTemplatePlugin");
552
687
  },
688
+ /**
689
+ * The runtime module that loads a chunk's CSS.
690
+ * @deprecated use `css.CssLoadingRuntimeModule`, the scope this module lives in — TODO in the next major release: remove
691
+ * @returns {typeof import("./css/CssLoadingRuntimeModule")} the runtime module
692
+ */
553
693
  get CssLoadingRuntimeModule() {
554
694
  return require("./css/CssLoadingRuntimeModule");
555
695
  }
@@ -594,19 +734,50 @@ module.exports = mergeExports(fn, {
594
734
  }
595
735
  },
596
736
 
737
+ bun: {
738
+ get BunTargetPlugin() {
739
+ return require("./bun/BunTargetPlugin");
740
+ }
741
+ },
742
+
743
+ deno: {
744
+ get DenoTargetPlugin() {
745
+ return require("./deno/DenoTargetPlugin");
746
+ }
747
+ },
748
+
597
749
  wasm: {
598
750
  get AsyncWebAssemblyModulesPlugin() {
599
- return require("./wasm-async/AsyncWebAssemblyModulesPlugin");
751
+ return require("./wasm/AsyncWebAssemblyModulesPlugin");
600
752
  },
601
753
  get EnableWasmLoadingPlugin() {
602
754
  return require("./wasm/EnableWasmLoadingPlugin");
603
755
  }
604
756
  },
605
757
 
758
+ asset: {
759
+ get AssetModulesPlugin() {
760
+ return require("./asset/AssetModulesPlugin");
761
+ }
762
+ },
763
+
764
+ json: {
765
+ get JsonModulesPlugin() {
766
+ return require("./json/JsonModulesPlugin");
767
+ }
768
+ },
769
+
606
770
  css: {
771
+ get CssLoadingRuntimeModule() {
772
+ return require("./css/CssLoadingRuntimeModule");
773
+ },
607
774
  get CssModulesPlugin() {
608
775
  return require("./css/CssModulesPlugin");
609
776
  },
777
+ // The minifier `optimization.minimizer` dispatches CSS to by default.
778
+ get cssMinify() {
779
+ return require("./css/cssMinify");
780
+ },
610
781
  // Experimental native CSS parser + safe minifying serializer (its
611
782
  // `SourceProcessor` / `printer` exports carry the `@experimental` tag).
612
783
  get syntax() {
@@ -615,13 +786,26 @@ module.exports = mergeExports(fn, {
615
786
  },
616
787
 
617
788
  html: {
789
+ // Minifies what a document embeds, by handing each body back to webpack's
790
+ // own minifier for that language.
791
+ get builtinEmbeddedRenderer() {
792
+ return require("./html/builtinEmbeddedRenderer").builtinEmbeddedRenderer;
793
+ },
618
794
  get HtmlModulesPlugin() {
619
795
  return require("./html/HtmlModulesPlugin");
620
796
  },
797
+ // The minifier `optimization.minimizer` dispatches HTML to by default.
798
+ get htmlMinify() {
799
+ return require("./html/htmlMinify");
800
+ },
621
801
  // Experimental native HTML parser + safe minifying serializer (its
622
802
  // `SourceProcessor` / `printer` exports carry the `@experimental` tag).
623
803
  get syntax() {
624
804
  return require("./html/syntax");
805
+ },
806
+ // The minifier `optimization.minimizer` dispatches `.svg` and `.xml` to.
807
+ get xmlMinify() {
808
+ return require("./html/xmlMinify");
625
809
  }
626
810
  },
627
811
 
@@ -634,7 +818,7 @@ module.exports = mergeExports(fn, {
634
818
  }
635
819
  },
636
820
 
637
- // TODO remove in webpack 6 in favor of `dll` scope
821
+ // TODO in the next major release: remove in favor of `dll` scope
638
822
  get DelegatedPlugin() {
639
823
  return require("./dll/DelegatedPlugin");
640
824
  },
@@ -712,14 +896,31 @@ module.exports = mergeExports(fn, {
712
896
  get serialization() {
713
897
  return require("./util/serialization");
714
898
  },
899
+ // The wrapper `serialization.register` is normally reached through: a
900
+ // dependency or module a plugin adds must call it to survive the cache.
901
+ get makeSerializable() {
902
+ return require("./util/makeSerializable");
903
+ },
715
904
  get cleverMerge() {
716
905
  return require("./util/cleverMerge").cachedCleverMerge;
717
906
  },
718
907
  get LazySet() {
719
908
  return require("./util/LazySet");
720
909
  },
910
+ get RequestShortener() {
911
+ return require("./util/RequestShortener");
912
+ },
721
913
  get compileBooleanMatcher() {
722
914
  return require("./util/compileBooleanMatcher");
915
+ },
916
+ // Reading and writing `data:` URLs, and the helpers a minifier drives a
917
+ // caller's `renderEmbeddedSource` through.
918
+ get dataURL() {
919
+ return require("./util/dataURL");
920
+ },
921
+ // The `extractComments` reading the CSS and HTML minifiers share.
922
+ get extractComments() {
923
+ return require("./util/extractComments");
723
924
  }
724
925
  },
725
926
 
@@ -740,6 +941,11 @@ module.exports = mergeExports(fn, {
740
941
  get SyncModuleIdsPlugin() {
741
942
  return require("./ids/SyncModuleIdsPlugin");
742
943
  }
944
+ },
945
+ typescript: {
946
+ get TypeScriptPlugin() {
947
+ return require("./typescript/TypeScriptPlugin");
948
+ }
743
949
  }
744
950
  }
745
951
  });
@@ -784,5 +990,5 @@ module.exports = mergeExports(fn, {
784
990
 
785
991
  /**
786
992
  * @template OptionsType
787
- * @typedef {import("./NormalModule").LoaderContext<OptionsType>} LoaderContext
993
+ * @typedef {import("./module/NormalModule").LoaderContext<OptionsType>} LoaderContext
788
994
  */