webpack 5.111.1 → 5.112.1

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