@depup/webpack 5.106.0-depup.0 → 5.109.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 (667) hide show
  1. package/README.md +9 -11
  2. package/changes.json +16 -24
  3. package/hot/dev-server.js +2 -0
  4. package/lib/APIPlugin.js +60 -35
  5. package/lib/AsyncDependenciesBlock.js +3 -0
  6. package/lib/AutomaticPrefetchPlugin.js +6 -1
  7. package/lib/BannerPlugin.js +13 -5
  8. package/lib/Cache.js +27 -5
  9. package/lib/CacheFacade.js +41 -0
  10. package/lib/Chunk.js +71 -25
  11. package/lib/ChunkGraph.js +141 -9
  12. package/lib/ChunkGroup.js +115 -28
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CircularModulesPlugin.js +190 -0
  15. package/lib/CleanPlugin.js +23 -26
  16. package/lib/CodeGenerationResults.js +19 -0
  17. package/lib/CompatibilityPlugin.js +54 -37
  18. package/lib/Compilation.js +635 -107
  19. package/lib/Compiler.js +93 -31
  20. package/lib/ConcatenationScope.js +34 -4
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +15 -12
  23. package/lib/ContextExclusionPlugin.js +3 -1
  24. package/lib/ContextModule.js +345 -55
  25. package/lib/ContextModuleFactory.js +193 -51
  26. package/lib/ContextReplacementPlugin.js +8 -1
  27. package/lib/DefinePlugin.js +498 -127
  28. package/lib/DependenciesBlock.js +6 -1
  29. package/lib/Dependency.js +159 -11
  30. package/lib/DependencyTemplate.js +7 -1
  31. package/lib/DependencyTemplates.js +4 -0
  32. package/lib/DotenvPlugin.js +3 -0
  33. package/lib/DynamicEntryPlugin.js +3 -1
  34. package/lib/EntryOptionPlugin.js +42 -2
  35. package/lib/EntryPlugin.js +4 -1
  36. package/lib/Entrypoint.js +5 -1
  37. package/lib/EnvironmentPlugin.js +3 -2
  38. package/lib/ErrorHelpers.js +7 -0
  39. package/lib/EvalDevToolModulePlugin.js +3 -1
  40. package/lib/EvalSourceMapDevToolPlugin.js +11 -11
  41. package/lib/ExportsInfo.js +399 -108
  42. package/lib/ExportsInfoApiPlugin.js +4 -3
  43. package/lib/ExternalModule.js +376 -78
  44. package/lib/ExternalModuleFactoryPlugin.js +75 -3
  45. package/lib/ExternalsPlugin.js +3 -1
  46. package/lib/FileSystemInfo.js +575 -149
  47. package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
  48. package/lib/FlagDependencyExportsPlugin.js +82 -9
  49. package/lib/FlagDependencyUsagePlugin.js +92 -6
  50. package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
  51. package/lib/Generator.js +24 -3
  52. package/lib/HotModuleReplacementPlugin.js +110 -44
  53. package/lib/IgnorePlugin.js +5 -2
  54. package/lib/IgnoreWarningsPlugin.js +2 -1
  55. package/lib/InitFragment.js +15 -0
  56. package/lib/JavascriptMetaInfoPlugin.js +9 -6
  57. package/lib/LazyBarrel.js +389 -0
  58. package/lib/LibraryTemplatePlugin.js +2 -1
  59. package/lib/LoaderOptionsPlugin.js +3 -1
  60. package/lib/LoaderTargetPlugin.js +3 -1
  61. package/lib/MainTemplate.js +15 -0
  62. package/lib/ManifestPlugin.js +9 -2
  63. package/lib/Module.js +121 -60
  64. package/lib/ModuleFactory.js +6 -1
  65. package/lib/ModuleFilenameHelpers.js +5 -2
  66. package/lib/ModuleGraph.js +69 -2
  67. package/lib/ModuleGraphConnection.js +9 -0
  68. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  69. package/lib/ModuleNotFoundError.js +3 -83
  70. package/lib/ModuleProfile.js +27 -1
  71. package/lib/ModuleSourceTypeConstants.js +52 -19
  72. package/lib/ModuleTemplate.js +10 -0
  73. package/lib/ModuleTypeConstants.js +20 -4
  74. package/lib/MultiCompiler.js +59 -4
  75. package/lib/MultiStats.js +9 -0
  76. package/lib/MultiWatching.js +6 -0
  77. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  78. package/lib/NodeStuffPlugin.js +78 -46
  79. package/lib/NormalModule.js +485 -181
  80. package/lib/NormalModuleFactory.js +148 -29
  81. package/lib/NormalModuleReplacementPlugin.js +3 -1
  82. package/lib/NullFactory.js +1 -0
  83. package/lib/OptionsApply.js +1 -0
  84. package/lib/Parser.js +3 -1
  85. package/lib/PlatformPlugin.js +2 -1
  86. package/lib/PrefetchPlugin.js +4 -1
  87. package/lib/ProgressPlugin.js +351 -161
  88. package/lib/ProvidePlugin.js +6 -3
  89. package/lib/RawModule.js +32 -16
  90. package/lib/RecordIdsPlugin.js +9 -0
  91. package/lib/RequestShortener.js +8 -0
  92. package/lib/ResolverFactory.js +5 -0
  93. package/lib/RuntimeGlobals.js +58 -5
  94. package/lib/RuntimeModule.js +22 -7
  95. package/lib/RuntimePlugin.js +104 -26
  96. package/lib/RuntimeTemplate.js +616 -37
  97. package/lib/SelfModuleFactory.js +3 -0
  98. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  99. package/lib/SourceMapDevToolPlugin.js +341 -63
  100. package/lib/Stats.js +6 -0
  101. package/lib/Template.js +29 -3
  102. package/lib/TemplatedPathPlugin.js +505 -138
  103. package/lib/UseStrictPlugin.js +3 -2
  104. package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
  105. package/lib/WarnDeprecatedOptionPlugin.js +6 -2
  106. package/lib/WarnNoModeSetPlugin.js +18 -2
  107. package/lib/WatchIgnorePlugin.js +5 -1
  108. package/lib/Watching.js +25 -3
  109. package/lib/WebpackError.js +3 -74
  110. package/lib/WebpackIsIncludedPlugin.js +4 -2
  111. package/lib/WebpackOptionsApply.js +88 -25
  112. package/lib/WebpackOptionsDefaulter.js +1 -0
  113. package/lib/asset/AssetBytesGenerator.js +28 -10
  114. package/lib/asset/AssetBytesParser.js +1 -0
  115. package/lib/asset/AssetGenerator.js +199 -60
  116. package/lib/asset/AssetModule.js +47 -0
  117. package/lib/asset/AssetModulesPlugin.js +115 -24
  118. package/lib/asset/AssetParser.js +4 -2
  119. package/lib/asset/AssetSourceGenerator.js +26 -8
  120. package/lib/asset/AssetSourceParser.js +1 -0
  121. package/lib/asset/RawDataUrlModule.js +23 -13
  122. package/lib/asset/WebManifestGenerator.js +164 -0
  123. package/lib/asset/WebManifestParser.js +130 -0
  124. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  125. package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
  126. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  127. package/lib/async-modules/isGeneratorLowered.js +26 -0
  128. package/lib/buildChunkGraph.js +107 -15
  129. package/lib/bun/BunTargetPlugin.js +42 -0
  130. package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
  131. package/lib/cache/AddManagedPathsPlugin.js +5 -1
  132. package/lib/cache/IdleFileCachePlugin.js +6 -1
  133. package/lib/cache/MemoryCachePlugin.js +1 -1
  134. package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
  135. package/lib/cache/PackFileCacheStrategy.js +43 -7
  136. package/lib/cache/ResolverCachePlugin.js +12 -1
  137. package/lib/cache/getLazyHashedEtag.js +13 -2
  138. package/lib/cache/mergeEtags.js +4 -0
  139. package/lib/cli.js +142 -20
  140. package/lib/config/browserslistTargetHandler.js +141 -0
  141. package/lib/config/defaults.js +591 -41
  142. package/lib/config/defineConfig.js +31 -0
  143. package/lib/config/normalization.js +46 -1
  144. package/lib/config/target.js +200 -2
  145. package/lib/container/ContainerEntryDependency.js +2 -0
  146. package/lib/container/ContainerEntryModule.js +27 -14
  147. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  148. package/lib/container/ContainerExposedDependency.js +6 -2
  149. package/lib/container/ContainerPlugin.js +2 -1
  150. package/lib/container/ContainerReferencePlugin.js +3 -2
  151. package/lib/container/FallbackDependency.js +9 -7
  152. package/lib/container/FallbackItemDependency.js +1 -0
  153. package/lib/container/FallbackModule.js +22 -9
  154. package/lib/container/FallbackModuleFactory.js +1 -0
  155. package/lib/container/ModuleFederationPlugin.js +12 -26
  156. package/lib/container/RemoteModule.js +33 -10
  157. package/lib/container/RemoteRuntimeModule.js +15 -12
  158. package/lib/container/RemoteToExternalDependency.js +1 -0
  159. package/lib/container/options.js +7 -0
  160. package/lib/css/CssGenerator.js +534 -272
  161. package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
  162. package/lib/css/CssLoadingRuntimeModule.js +156 -77
  163. package/lib/{CssModule.js → css/CssModule.js} +72 -37
  164. package/lib/css/CssModulesPlugin.js +356 -204
  165. package/lib/css/CssParser.js +3452 -1950
  166. package/lib/css/syntax.js +4058 -0
  167. package/lib/debug/ProfilingPlugin.js +33 -2
  168. package/lib/deno/DenoTargetPlugin.js +41 -0
  169. package/lib/dependencies/AMDDefineDependency.js +29 -17
  170. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
  171. package/lib/dependencies/AMDPlugin.js +6 -3
  172. package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
  173. package/lib/dependencies/AMDRequireContextDependency.js +10 -11
  174. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  175. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
  176. package/lib/dependencies/AMDRequireDependency.js +28 -20
  177. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  178. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  179. package/lib/dependencies/CachedConstDependency.js +9 -1
  180. package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
  181. package/lib/dependencies/CommonJsExportRequireDependency.js +138 -38
  182. package/lib/dependencies/CommonJsExportsDependency.js +74 -20
  183. package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
  184. package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
  185. package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -24
  186. package/lib/dependencies/CommonJsPlugin.js +7 -4
  187. package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
  188. package/lib/dependencies/CommonJsRequireDependency.js +135 -13
  189. package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
  190. package/lib/dependencies/ConstDependency.js +22 -12
  191. package/lib/dependencies/ContextDependency.js +13 -2
  192. package/lib/dependencies/ContextDependencyHelpers.js +7 -4
  193. package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
  194. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  195. package/lib/dependencies/ContextElementDependency.js +27 -14
  196. package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
  197. package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
  198. package/lib/dependencies/CriticalDependencyWarning.js +3 -1
  199. package/lib/dependencies/CssIcssExportDependency.js +682 -368
  200. package/lib/dependencies/CssIcssImportDependency.js +62 -17
  201. package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
  202. package/lib/dependencies/CssImportDependency.js +37 -1
  203. package/lib/dependencies/CssUrlDependency.js +87 -14
  204. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  205. package/lib/dependencies/DllEntryDependency.js +12 -13
  206. package/lib/dependencies/DynamicExports.js +5 -0
  207. package/lib/dependencies/EntryDependency.js +1 -0
  208. package/lib/dependencies/ExportBindingInitFragment.js +164 -0
  209. package/lib/dependencies/ExportsInfoDependency.js +18 -12
  210. package/lib/dependencies/ExternalModuleDependency.js +13 -5
  211. package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
  212. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
  213. package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
  214. package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
  215. package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
  216. package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
  217. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -2
  218. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
  219. package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
  220. package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
  221. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
  222. package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
  223. package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
  224. package/lib/dependencies/HarmonyExports.js +6 -1
  225. package/lib/dependencies/HarmonyImportDependency.js +59 -3
  226. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
  227. package/lib/dependencies/HarmonyImportGuard.js +426 -0
  228. package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
  229. package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
  230. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
  231. package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
  232. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
  233. package/lib/dependencies/HtmlEntryDependency.js +1295 -0
  234. package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
  235. package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
  236. package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
  237. package/lib/dependencies/HtmlSourceDependency.js +172 -0
  238. package/lib/dependencies/ImportContextDependency.js +9 -9
  239. package/lib/dependencies/ImportDependency.js +92 -3
  240. package/lib/dependencies/ImportEagerDependency.js +2 -0
  241. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  242. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
  243. package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
  244. package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
  245. package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
  246. package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
  247. package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
  248. package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaPlugin.js +595 -209
  250. package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
  251. package/lib/dependencies/ImportParserPlugin.js +114 -27
  252. package/lib/dependencies/ImportPhase.js +17 -11
  253. package/lib/dependencies/ImportPlugin.js +2 -1
  254. package/lib/dependencies/ImportWeakDependency.js +3 -0
  255. package/lib/dependencies/JsonExportsDependency.js +15 -10
  256. package/lib/dependencies/LoaderDependency.js +2 -0
  257. package/lib/dependencies/LoaderImportDependency.js +3 -0
  258. package/lib/dependencies/LoaderPlugin.js +9 -2
  259. package/lib/dependencies/LocalModule.js +15 -12
  260. package/lib/dependencies/LocalModuleDependency.js +15 -13
  261. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  262. package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
  263. package/lib/dependencies/ModuleDependency.js +14 -0
  264. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  265. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  266. package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
  267. package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
  268. package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
  269. package/lib/dependencies/NullDependency.js +2 -0
  270. package/lib/dependencies/PrefetchDependency.js +1 -0
  271. package/lib/dependencies/ProvidedDependency.js +36 -27
  272. package/lib/dependencies/PureExpressionDependency.js +14 -10
  273. package/lib/dependencies/RequireContextDependency.js +1 -0
  274. package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
  275. package/lib/dependencies/RequireContextPlugin.js +2 -1
  276. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  277. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
  278. package/lib/dependencies/RequireEnsureDependency.js +16 -13
  279. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  280. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  281. package/lib/dependencies/RequireHeaderDependency.js +7 -4
  282. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  283. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
  284. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  285. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  286. package/lib/dependencies/RequireResolveContextDependency.js +10 -11
  287. package/lib/dependencies/RequireResolveDependency.js +2 -0
  288. package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
  289. package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
  290. package/lib/dependencies/StaticExportsDependency.js +13 -10
  291. package/lib/dependencies/SystemPlugin.js +9 -6
  292. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  293. package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
  294. package/lib/dependencies/URLContextDependency.js +8 -7
  295. package/lib/dependencies/URLDependency.js +157 -33
  296. package/lib/dependencies/URLPlugin.js +2 -0
  297. package/lib/dependencies/UnsupportedDependency.js +12 -13
  298. package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
  299. package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
  300. package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
  301. package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
  302. package/lib/dependencies/WorkerDependency.js +111 -27
  303. package/lib/dependencies/WorkletDependency.js +278 -0
  304. package/lib/dependencies/getFunctionExpression.js +1 -0
  305. package/lib/dependencies/processExportInfo.js +14 -11
  306. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
  307. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
  308. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
  309. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
  310. package/lib/{DllModule.js → dll/DllModule.js} +36 -24
  311. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  312. package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
  313. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
  314. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
  315. package/lib/electron/ElectronTargetPlugin.js +24 -5
  316. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  317. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  318. package/lib/errors/BuildCycleError.js +1 -1
  319. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  320. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  321. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  322. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
  323. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
  324. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
  325. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
  326. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
  327. package/lib/errors/JSONParseError.js +115 -0
  328. package/lib/errors/LoaderLoadingError.js +20 -0
  329. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
  330. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
  331. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
  332. package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
  333. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
  334. package/lib/errors/ModuleNotFoundError.js +94 -0
  335. package/lib/errors/ModuleParseError.js +141 -0
  336. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
  337. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
  338. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
  339. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
  340. package/lib/errors/NonErrorEmittedError.js +30 -0
  341. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
  342. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  343. package/lib/errors/WebpackError.js +84 -0
  344. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  345. package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
  346. package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
  347. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +71 -49
  348. package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
  349. package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
  350. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
  351. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  352. package/lib/hmr/LazyCompilationPlugin.js +154 -7
  353. package/lib/hmr/lazyCompilationBackend.js +34 -8
  354. package/lib/html/HtmlGenerator.js +1470 -0
  355. package/lib/html/HtmlModule.js +41 -0
  356. package/lib/html/HtmlModulesPlugin.js +1111 -0
  357. package/lib/html/HtmlParser.js +1970 -0
  358. package/lib/html/favicon.svg +1 -0
  359. package/lib/html/syntax.js +9020 -0
  360. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  361. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  362. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  363. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  364. package/lib/ids/IdHelpers.js +25 -2
  365. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  366. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  367. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  368. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  369. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  370. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  371. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  372. package/lib/index.js +66 -15
  373. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
  374. package/lib/javascript/BasicEvaluatedExpression.js +370 -49
  375. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  376. package/lib/javascript/ChunkHelpers.js +1 -0
  377. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  378. package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
  379. package/lib/javascript/JavascriptGenerator.js +213 -51
  380. package/lib/javascript/JavascriptModule.js +54 -0
  381. package/lib/javascript/JavascriptModulesPlugin.js +579 -183
  382. package/lib/javascript/JavascriptParser.js +1289 -462
  383. package/lib/javascript/JavascriptParserHelpers.js +10 -7
  384. package/lib/javascript/StartupHelpers.js +5 -0
  385. package/lib/javascript/syntax.js +4380 -0
  386. package/lib/json/JsonData.js +5 -0
  387. package/lib/json/JsonGenerator.js +21 -0
  388. package/lib/json/JsonModule.js +40 -0
  389. package/lib/json/JsonModulesPlugin.js +8 -1
  390. package/lib/json/JsonParser.js +18 -27
  391. package/lib/library/AbstractLibraryPlugin.js +17 -2
  392. package/lib/library/AmdLibraryPlugin.js +8 -0
  393. package/lib/library/AssignLibraryPlugin.js +21 -3
  394. package/lib/library/EnableLibraryPlugin.js +8 -2
  395. package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
  396. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
  397. package/lib/library/JsonpLibraryPlugin.js +8 -0
  398. package/lib/library/ModuleLibraryPlugin.js +154 -7
  399. package/lib/library/SystemLibraryPlugin.js +11 -3
  400. package/lib/library/UmdLibraryPlugin.js +16 -0
  401. package/lib/loaders/LoaderRunner.js +714 -0
  402. package/lib/loaders/loadLoader.js +100 -0
  403. package/lib/logging/Logger.js +17 -0
  404. package/lib/logging/createConsoleLogger.js +7 -0
  405. package/lib/logging/runtime.js +2 -0
  406. package/lib/logging/truncateArgs.js +2 -0
  407. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  408. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  409. package/lib/node/NodeSourcePlugin.js +1 -1
  410. package/lib/node/NodeTargetPlugin.js +4 -63
  411. package/lib/node/NodeTemplatePlugin.js +3 -1
  412. package/lib/node/NodeWatchFileSystem.js +40 -22
  413. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
  414. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +23 -1
  415. package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
  416. package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
  417. package/lib/node/nodeBuiltins.js +80 -0
  418. package/lib/node/nodeConsole.js +116 -64
  419. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  420. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  421. package/lib/optimize/ConcatenatedModule.js +585 -116
  422. package/lib/optimize/ConstExportsPlugin.js +211 -0
  423. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  424. package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
  425. package/lib/optimize/InlineExports.js +178 -0
  426. package/lib/optimize/InnerGraph.js +374 -262
  427. package/lib/optimize/InnerGraphPlugin.js +246 -117
  428. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  429. package/lib/optimize/MangleExportsPlugin.js +5 -1
  430. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  431. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  432. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  433. package/lib/optimize/ModuleConcatenationPlugin.js +159 -34
  434. package/lib/optimize/RealContentHashPlugin.js +125 -50
  435. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  436. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  437. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  438. package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
  439. package/lib/optimize/SplitChunksPlugin.js +54 -6
  440. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  441. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  442. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  443. package/lib/performance/SizeLimitsPlugin.js +8 -2
  444. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  445. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
  446. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  447. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  448. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
  449. package/lib/prefetch/ResourceHintPlugin.js +663 -0
  450. package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
  451. package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
  452. package/lib/prefetch/parseResourceHintOptions.js +103 -0
  453. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  454. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  455. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  456. package/lib/rules/RuleSetCompiler.js +132 -0
  457. package/lib/rules/UseEffectRulePlugin.js +10 -3
  458. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
  459. package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
  460. package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
  461. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  462. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  463. package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
  464. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
  465. package/lib/runtime/CompatRuntimeModule.js +2 -0
  466. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
  467. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  468. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  469. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
  470. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  471. package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
  472. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  473. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  474. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
  475. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
  476. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  477. package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
  478. package/lib/runtime/HelperRuntimeModule.js +5 -0
  479. package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
  480. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
  481. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
  482. package/lib/runtime/NonceRuntimeModule.js +1 -0
  483. package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
  484. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  485. package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
  486. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  487. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
  488. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  489. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
  490. package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
  491. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  492. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  493. package/lib/runtime/WorkerRuntimeModule.js +33 -0
  494. package/lib/schemes/DataUriPlugin.js +14 -2
  495. package/lib/schemes/FileUriPlugin.js +1 -1
  496. package/lib/schemes/HttpUriPlugin.js +86 -4
  497. package/lib/schemes/VirtualUrlPlugin.js +8 -4
  498. package/lib/serialization/AggregateErrorSerializer.js +9 -6
  499. package/lib/serialization/ArraySerializer.js +6 -8
  500. package/lib/serialization/BinaryMiddleware.js +552 -463
  501. package/lib/serialization/DateObjectSerializer.js +4 -2
  502. package/lib/serialization/ErrorObjectSerializer.js +10 -6
  503. package/lib/serialization/FileMiddleware.js +50 -3
  504. package/lib/serialization/MapObjectSerializer.js +7 -9
  505. package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
  506. package/lib/serialization/ObjectMiddleware.js +73 -13
  507. package/lib/serialization/PlainObjectSerializer.js +16 -8
  508. package/lib/serialization/RegExpObjectSerializer.js +4 -2
  509. package/lib/serialization/Serializer.js +6 -0
  510. package/lib/serialization/SerializerMiddleware.js +14 -2
  511. package/lib/serialization/SetObjectSerializer.js +6 -8
  512. package/lib/serialization/SingleItemMiddleware.js +3 -0
  513. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  514. package/lib/sharing/ConsumeSharedModule.js +21 -7
  515. package/lib/sharing/ConsumeSharedPlugin.js +11 -11
  516. package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
  517. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  518. package/lib/sharing/ProvideSharedDependency.js +34 -15
  519. package/lib/sharing/ProvideSharedModule.js +42 -12
  520. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  521. package/lib/sharing/ProvideSharedPlugin.js +13 -8
  522. package/lib/sharing/SharePlugin.js +5 -1
  523. package/lib/sharing/ShareRuntimeModule.js +19 -16
  524. package/lib/sharing/resolveMatchedConfigs.js +6 -2
  525. package/lib/sharing/utils.js +9 -1
  526. package/lib/stats/DefaultStatsFactoryPlugin.js +94 -12
  527. package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
  528. package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
  529. package/lib/stats/StatsFactory.js +39 -18
  530. package/lib/stats/StatsPrinter.js +16 -2
  531. package/lib/typescript/TypeScriptPlugin.js +210 -0
  532. package/lib/url/URLParserPlugin.js +111 -23
  533. package/lib/util/ArrayHelpers.js +1 -0
  534. package/lib/util/ArrayQueue.js +10 -5
  535. package/lib/util/AsyncQueue.js +154 -74
  536. package/lib/util/Hash.js +2 -2
  537. package/lib/util/IterableHelpers.js +3 -0
  538. package/lib/util/LazyBucketSortedSet.js +26 -0
  539. package/lib/util/LazySet.js +45 -4
  540. package/lib/util/LocConverter.js +64 -0
  541. package/lib/util/ParallelismFactorCalculator.js +1 -0
  542. package/lib/util/Queue.js +6 -3
  543. package/lib/util/Semaphore.js +15 -1
  544. package/lib/util/SetHelpers.js +4 -1
  545. package/lib/util/SortableSet.js +7 -1
  546. package/lib/util/SourceProcessor.js +119 -0
  547. package/lib/util/StackedCacheMap.js +20 -3
  548. package/lib/util/StackedMap.js +162 -43
  549. package/lib/util/StringXor.js +1 -1
  550. package/lib/util/TupleQueue.js +7 -3
  551. package/lib/util/TupleSet.js +14 -0
  552. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  553. package/lib/util/WeakTupleMap.js +60 -1
  554. package/lib/util/binarySearchBounds.js +3 -2
  555. package/lib/util/chainedImports.js +3 -3
  556. package/lib/util/cleverMerge.js +19 -2
  557. package/lib/util/comparators.js +35 -4
  558. package/lib/util/compileBooleanMatcher.js +9 -0
  559. package/lib/util/concatenate.js +80 -24
  560. package/lib/util/conventions.js +46 -1
  561. package/lib/util/createHash.js +0 -1
  562. package/lib/util/createHooksRegistry.js +43 -0
  563. package/lib/util/createMappings.js +118 -0
  564. package/lib/util/dataURL.js +3 -2
  565. package/lib/util/deprecation.js +19 -0
  566. package/lib/util/deterministicGrouping.js +46 -17
  567. package/lib/util/extractSourceMap.js +2 -1
  568. package/lib/util/extractUrlAndGlobal.js +1 -0
  569. package/lib/util/findGraphRoots.js +7 -0
  570. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  571. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
  572. package/lib/util/fs.js +87 -14
  573. package/lib/util/generateDebugId.js +1 -0
  574. package/lib/util/globUtils.js +710 -0
  575. package/lib/util/hash/BatchedHash.js +1 -0
  576. package/lib/util/hash/BulkUpdateHash.js +1 -0
  577. package/lib/util/hash/DebugHash.js +1 -0
  578. package/lib/util/hash/hash-digest.js +32 -15
  579. package/lib/util/hash/md4.js +1 -1
  580. package/lib/util/hash/wasm-hash.js +5 -0
  581. package/lib/util/hash/xxhash64.js +1 -1
  582. package/lib/util/identifier.js +97 -6
  583. package/lib/util/implicitTypeLoaderFallback.js +62 -0
  584. package/lib/util/internalSerializables.js +102 -60
  585. package/lib/util/magicComment.js +149 -7
  586. package/lib/util/makeSerializable.js +7 -0
  587. package/lib/util/memoize.js +2 -0
  588. package/lib/util/mimeTypes.js +176 -0
  589. package/lib/util/nonNumericOnlyHash.js +31 -1
  590. package/lib/util/numberHash.js +2 -2
  591. package/lib/util/parseJson.js +41 -0
  592. package/lib/util/processAsyncTree.js +8 -0
  593. package/lib/util/property.js +9 -2
  594. package/lib/util/publicPathPlaceholder.js +64 -0
  595. package/lib/util/registerExternalSerializer.js +24 -4
  596. package/lib/util/removeBOM.js +1 -0
  597. package/lib/util/runtime.js +32 -0
  598. package/lib/util/semver.js +15 -0
  599. package/lib/util/serialization.js +2 -0
  600. package/lib/util/smartGrouping.js +8 -0
  601. package/lib/util/source.js +23 -0
  602. package/lib/util/topologicalSort.js +69 -0
  603. package/lib/validateSchema.js +1 -0
  604. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  605. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
  606. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
  607. package/lib/wasm-async/AsyncWasmModule.js +77 -0
  608. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  609. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
  610. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
  611. package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
  612. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
  613. package/lib/wasm-sync/SyncWasmModule.js +39 -0
  614. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
  615. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
  616. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
  617. package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
  618. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
  619. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  620. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
  621. package/lib/wasm-sync/WebAssemblyParser.js +9 -3
  622. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  623. package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
  624. package/lib/web/FetchCompileWasmPlugin.js +27 -1
  625. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  626. package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
  627. package/lib/web/JsonpTemplatePlugin.js +2 -1
  628. package/lib/webpack.js +78 -1
  629. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  630. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
  631. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  632. package/module.d.ts +21 -0
  633. package/package.json +79 -77
  634. package/schemas/WebpackOptions.check.js +1 -1
  635. package/schemas/WebpackOptions.json +1117 -79
  636. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  637. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  638. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  639. package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
  640. package/schemas/plugins/HtmlParserOptions.check.js +6 -0
  641. package/schemas/plugins/HtmlParserOptions.json +3 -0
  642. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  643. package/schemas/plugins/ProgressPlugin.json +38 -0
  644. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  645. package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
  646. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  647. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  648. package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
  649. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
  650. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  651. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  652. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  653. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  654. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  655. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  656. package/types.d.ts +8608 -1159
  657. package/lib/CaseSensitiveModulesWarning.js +0 -72
  658. package/lib/GraphHelpers.js +0 -46
  659. package/lib/ModuleParseError.js +0 -125
  660. package/lib/NoModeWarning.js +0 -23
  661. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  662. package/lib/css/walkCssTokens.js +0 -1843
  663. package/lib/util/AppendOnlyStackedSet.js +0 -78
  664. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  665. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  666. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  667. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -16,6 +16,7 @@ const {
16
16
  /** @typedef {import("../ChunkGraph").ModuleComparator} ModuleComparator */
17
17
 
18
18
  /**
19
+ * Defines the chunk module id range plugin options type used by this module.
19
20
  * @typedef {object} ChunkModuleIdRangePluginOptions
20
21
  * @property {string} name the chunk name
21
22
  * @property {("index" | "index2" | "preOrderIndex" | "postOrderIndex")=} order order
@@ -27,6 +28,7 @@ const PLUGIN_NAME = "ChunkModuleIdRangePlugin";
27
28
 
28
29
  class ChunkModuleIdRangePlugin {
29
30
  /**
31
+ * Creates an instance of ChunkModuleIdRangePlugin.
30
32
  * @param {ChunkModuleIdRangePluginOptions} options options object
31
33
  */
32
34
  constructor(options) {
@@ -35,7 +37,7 @@ class ChunkModuleIdRangePlugin {
35
37
  }
36
38
 
37
39
  /**
38
- * Apply the plugin
40
+ * Applies the plugin by registering its hooks on the compiler.
39
41
  * @param {Compiler} compiler the compiler instance
40
42
  * @returns {void}
41
43
  */
@@ -15,6 +15,7 @@ const {
15
15
  /** @typedef {import("../Compiler")} Compiler */
16
16
 
17
17
  /**
18
+ * Defines the deterministic chunk ids plugin options type used by this module.
18
19
  * @typedef {object} DeterministicChunkIdsPluginOptions
19
20
  * @property {string=} context context for ids
20
21
  * @property {number=} maxLength maximum length of ids
@@ -24,6 +25,7 @@ const PLUGIN_NAME = "DeterministicChunkIdsPlugin";
24
25
 
25
26
  class DeterministicChunkIdsPlugin {
26
27
  /**
28
+ * Creates an instance of DeterministicChunkIdsPlugin.
27
29
  * @param {DeterministicChunkIdsPluginOptions=} options options
28
30
  */
29
31
  constructor(options = {}) {
@@ -32,7 +34,7 @@ class DeterministicChunkIdsPlugin {
32
34
  }
33
35
 
34
36
  /**
35
- * Apply the plugin
37
+ * Applies the plugin by registering its hooks on the compiler.
36
38
  * @param {Compiler} compiler the compiler instance
37
39
  * @returns {void}
38
40
  */
@@ -18,6 +18,7 @@ const {
18
18
  /** @typedef {import("../Module")} Module */
19
19
 
20
20
  /**
21
+ * Defines the deterministic module ids plugin options type used by this module.
21
22
  * @typedef {object} DeterministicModuleIdsPluginOptions
22
23
  * @property {string=} context context relative to which module identifiers are computed
23
24
  * @property {((module: Module) => boolean)=} test selector function for modules
@@ -31,6 +32,7 @@ const PLUGIN_NAME = "DeterministicModuleIdsPlugin";
31
32
 
32
33
  class DeterministicModuleIdsPlugin {
33
34
  /**
35
+ * Creates an instance of DeterministicModuleIdsPlugin.
34
36
  * @param {DeterministicModuleIdsPluginOptions=} options options
35
37
  */
36
38
  constructor(options = {}) {
@@ -39,7 +41,7 @@ class DeterministicModuleIdsPlugin {
39
41
  }
40
42
 
41
43
  /**
42
- * Apply the plugin
44
+ * Applies the plugin by registering its hooks on the compiler.
43
45
  * @param {Compiler} compiler the compiler instance
44
46
  * @returns {void}
45
47
  */
@@ -22,6 +22,7 @@ const PLUGIN_NAME = "HashedModuleIdsPlugin";
22
22
 
23
23
  class HashedModuleIdsPlugin {
24
24
  /**
25
+ * Creates an instance of HashedModuleIdsPlugin.
25
26
  * @param {HashedModuleIdsPluginOptions=} options options object
26
27
  */
27
28
  constructor(options = {}) {
@@ -30,7 +31,7 @@ class HashedModuleIdsPlugin {
30
31
  }
31
32
 
32
33
  /**
33
- * Apply the plugin
34
+ * Applies the plugin by registering its hooks on the compiler.
34
35
  * @param {Compiler} compiler the compiler instance
35
36
  * @returns {void}
36
37
  */
@@ -16,8 +16,10 @@ const numberHash = require("../util/numberHash");
16
16
  /** @typedef {import("../util/Hash").HashFunction} HashFunction */
17
17
  /** @typedef {import("../util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
18
18
  /** @typedef {import("../Module").BuildMeta} BuildMeta */
19
+ /** @typedef {import("../css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
19
20
 
20
21
  /**
22
+ * Returns hash.
21
23
  * @param {string} str string to hash
22
24
  * @param {number} len max length of the hash
23
25
  * @param {HashFunction} hashFunction hash function to use
@@ -31,6 +33,7 @@ const getHash = (str, len, hashFunction) => {
31
33
  };
32
34
 
33
35
  /**
36
+ * Returns string prefixed by an underscore if it is a number.
34
37
  * @param {string} str the string
35
38
  * @returns {string} string prefixed by an underscore if it is a number
36
39
  */
@@ -52,6 +55,7 @@ const avoidNumber = (str) => {
52
55
  };
53
56
 
54
57
  /**
58
+ * Returns id representation.
55
59
  * @param {string} request the request
56
60
  * @returns {string} id representation
57
61
  */
@@ -59,6 +63,7 @@ const requestToId = (request) =>
59
63
  request.replace(/^(\.\.?\/)+/, "").replace(/(^[.-]|[^a-z0-9_-])+/gi, "_");
60
64
 
61
65
  /**
66
+ * Shorten long string.
62
67
  * @param {string} string the string
63
68
  * @param {string} delimiter separator for string and hash
64
69
  * @param {HashFunction} hashFunction hash function to use
@@ -74,6 +79,7 @@ const shortenLongString = (string, delimiter, hashFunction) => {
74
79
  };
75
80
 
76
81
  /**
82
+ * Gets short module name.
77
83
  * @param {Module} module the module
78
84
  * @param {string} context context directory
79
85
  * @param {AssociatedObjectForCache=} associatedObjectForCache an object to which the cache will be attached
@@ -92,6 +98,7 @@ const getShortModuleName = (module, context, associatedObjectForCache) => {
92
98
  };
93
99
 
94
100
  /**
101
+ * Gets long module name.
95
102
  * @param {string} shortName the short name
96
103
  * @param {Module} module the module
97
104
  * @param {string} context context directory
@@ -111,6 +118,7 @@ const getLongModuleName = (
111
118
  };
112
119
 
113
120
  /**
121
+ * Gets full module name.
114
122
  * @param {Module} module the module
115
123
  * @param {string} context context directory
116
124
  * @param {AssociatedObjectForCache=} associatedObjectForCache an object to which the cache will be attached
@@ -120,6 +128,7 @@ const getFullModuleName = (module, context, associatedObjectForCache) =>
120
128
  makePathsRelative(context, module.identifier(), associatedObjectForCache);
121
129
 
122
130
  /**
131
+ * Gets short chunk name.
123
132
  * @param {Chunk} chunk the chunk
124
133
  * @param {ChunkGraph} chunkGraph the chunk graph
125
134
  * @param {string} context context directory
@@ -148,6 +157,7 @@ const getShortChunkName = (
148
157
  };
149
158
 
150
159
  /**
160
+ * Gets long chunk name.
151
161
  * @param {Chunk} chunk the chunk
152
162
  * @param {ChunkGraph} chunkGraph the chunk graph
153
163
  * @param {string} context context directory
@@ -185,6 +195,7 @@ const getLongChunkName = (
185
195
  };
186
196
 
187
197
  /**
198
+ * Gets full chunk name.
188
199
  * @param {Chunk} chunk the chunk
189
200
  * @param {ChunkGraph} chunkGraph the chunk graph
190
201
  * @param {string} context context directory
@@ -206,6 +217,7 @@ const getFullChunkName = (
206
217
  };
207
218
 
208
219
  /**
220
+ * Adds to map of items.
209
221
  * @template K
210
222
  * @template V
211
223
  * @param {Map<K, V[]>} map a map from key to values
@@ -225,6 +237,7 @@ const addToMapOfItems = (map, key, value) => {
225
237
  /** @typedef {Set<string>} UsedModuleIds */
226
238
 
227
239
  /**
240
+ * Gets used module ids and modules.
228
241
  * @param {Compilation} compilation the compilation
229
242
  * @param {((module: Module) => boolean)=} filter filter modules
230
243
  * @returns {[UsedModuleIds, Module[]]} used module ids as strings and modules without id matching the filter
@@ -251,7 +264,9 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
251
264
  (!filter || filter(module)) &&
252
265
  (chunkGraph.getNumberOfModuleChunks(module) !== 0 ||
253
266
  // CSS modules need IDs even when not in chunks, for generating CSS class names(i.e. [id]-[local])
254
- /** @type {BuildMeta} */ (module.buildMeta).isCSSModule)
267
+ /** @type {CssModuleBuildMeta} */ (module.buildMeta).isCssModule ||
268
+ /** @type {CssModuleBuildMeta} */ (module.buildMeta)
269
+ .needIdInConcatenation)
255
270
  ) {
256
271
  modules.push(module);
257
272
  }
@@ -263,6 +278,7 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
263
278
  /** @typedef {Set<string>} UsedChunkIds */
264
279
 
265
280
  /**
281
+ * Gets used chunk ids.
266
282
  * @param {Compilation} compilation the compilation
267
283
  * @returns {UsedChunkIds} used chunk ids as strings
268
284
  */
@@ -286,6 +302,7 @@ const getUsedChunkIds = (compilation) => {
286
302
  };
287
303
 
288
304
  /**
305
+ * Returns list of items without a name.
289
306
  * @template T
290
307
  * @param {Iterable<T>} items list of items to be named
291
308
  * @param {(item: T) => string} getShortName get a short name for an item
@@ -304,6 +321,7 @@ const assignNames = (
304
321
  assignName
305
322
  ) => {
306
323
  /**
324
+ * Defines the map to item type used by this module.
307
325
  * @template T
308
326
  * @typedef {Map<string, T[]>} MapToItem
309
327
  */
@@ -345,7 +363,7 @@ const assignNames = (
345
363
  items.sort(comparator);
346
364
  let i = 0;
347
365
  for (const item of items) {
348
- while (nameToItems2.has(name + i) && usedIds.has(name + i)) i++;
366
+ while (usedIds.has(name + i)) i++;
349
367
  assignName(item, name + i);
350
368
  usedIds.add(name + i);
351
369
  i++;
@@ -358,6 +376,7 @@ const assignNames = (
358
376
  };
359
377
 
360
378
  /**
379
+ * Assign deterministic ids.
361
380
  * @template T
362
381
  * @param {T[]} items list of items to be named
363
382
  * @param {(item: T) => string} getName get a name for an item
@@ -412,6 +431,7 @@ const assignDeterministicIds = (
412
431
  };
413
432
 
414
433
  /**
434
+ * Assign ascending module ids.
415
435
  * @param {UsedModuleIds} usedIds used ids
416
436
  * @param {Iterable<Module>} modules the modules
417
437
  * @param {Compilation} compilation the compilation
@@ -425,6 +445,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
425
445
  let assignId;
426
446
  if (usedIds.size > 0) {
427
447
  /**
448
+ * Processes the provided module.
428
449
  * @param {Module} module the module
429
450
  */
430
451
  assignId = (module) => {
@@ -435,6 +456,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
435
456
  };
436
457
  } else {
437
458
  /**
459
+ * Processes the provided module.
438
460
  * @param {Module} module the module
439
461
  */
440
462
  assignId = (module) => {
@@ -449,6 +471,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
449
471
  };
450
472
 
451
473
  /**
474
+ * Assign ascending chunk ids.
452
475
  * @param {Iterable<Chunk>} chunks the chunks
453
476
  * @param {Compilation} compilation the compilation
454
477
  * @returns {void}
@@ -17,6 +17,7 @@ const {
17
17
  /** @typedef {import("../Compiler")} Compiler */
18
18
 
19
19
  /**
20
+ * Defines the named chunk ids plugin options type used by this module.
20
21
  * @typedef {object} NamedChunkIdsPluginOptions
21
22
  * @property {string=} context context
22
23
  * @property {string=} delimiter delimiter
@@ -26,6 +27,7 @@ const PLUGIN_NAME = "NamedChunkIdsPlugin";
26
27
 
27
28
  class NamedChunkIdsPlugin {
28
29
  /**
30
+ * Creates an instance of NamedChunkIdsPlugin.
29
31
  * @param {NamedChunkIdsPluginOptions=} options options
30
32
  */
31
33
  constructor(options = {}) {
@@ -34,7 +36,7 @@ class NamedChunkIdsPlugin {
34
36
  }
35
37
 
36
38
  /**
37
- * Apply the plugin
39
+ * Applies the plugin by registering its hooks on the compiler.
38
40
  * @param {Compiler} compiler the compiler instance
39
41
  * @returns {void}
40
42
  */
@@ -17,6 +17,7 @@ const {
17
17
  /** @typedef {import("../Compiler")} Compiler */
18
18
 
19
19
  /**
20
+ * Defines the named module ids plugin options type used by this module.
20
21
  * @typedef {object} NamedModuleIdsPluginOptions
21
22
  * @property {string=} context context
22
23
  */
@@ -25,6 +26,7 @@ const PLUGIN_NAME = "NamedModuleIdsPlugin";
25
26
 
26
27
  class NamedModuleIdsPlugin {
27
28
  /**
29
+ * Creates an instance of NamedModuleIdsPlugin.
28
30
  * @param {NamedModuleIdsPluginOptions=} options options
29
31
  */
30
32
  constructor(options = {}) {
@@ -33,7 +35,7 @@ class NamedModuleIdsPlugin {
33
35
  }
34
36
 
35
37
  /**
36
- * Apply the plugin
38
+ * Applies the plugin by registering its hooks on the compiler.
37
39
  * @param {Compiler} compiler the compiler instance
38
40
  * @returns {void}
39
41
  */
@@ -15,7 +15,7 @@ const PLUGIN_NAME = "NaturalChunkIdsPlugin";
15
15
 
16
16
  class NaturalChunkIdsPlugin {
17
17
  /**
18
- * Apply the plugin
18
+ * Applies the plugin by registering its hooks on the compiler.
19
19
  * @param {Compiler} compiler the compiler instance
20
20
  * @returns {void}
21
21
  */
@@ -19,7 +19,7 @@ const PLUGIN_NAME = "NaturalModuleIdsPlugin";
19
19
 
20
20
  class NaturalModuleIdsPlugin {
21
21
  /**
22
- * Apply the plugin
22
+ * Applies the plugin by registering its hooks on the compiler.
23
23
  * @param {Compiler} compiler the compiler instance
24
24
  * @returns {void}
25
25
  */
@@ -16,6 +16,7 @@ const PLUGIN_NAME = "OccurrenceChunkIdsPlugin";
16
16
 
17
17
  class OccurrenceChunkIdsPlugin {
18
18
  /**
19
+ * Creates an instance of OccurrenceChunkIdsPlugin.
19
20
  * @param {OccurrenceChunkIdsPluginOptions=} options options object
20
21
  */
21
22
  constructor(options = {}) {
@@ -24,7 +25,7 @@ class OccurrenceChunkIdsPlugin {
24
25
  }
25
26
 
26
27
  /**
27
- * Apply the plugin
28
+ * Applies the plugin by registering its hooks on the compiler.
28
29
  * @param {Compiler} compiler the compiler instance
29
30
  * @returns {void}
30
31
  */
@@ -21,6 +21,7 @@ const PLUGIN_NAME = "OccurrenceModuleIdsPlugin";
21
21
 
22
22
  class OccurrenceModuleIdsPlugin {
23
23
  /**
24
+ * Creates an instance of OccurrenceModuleIdsPlugin.
24
25
  * @param {OccurrenceModuleIdsPluginOptions=} options options object
25
26
  */
26
27
  constructor(options = {}) {
@@ -29,7 +30,7 @@ class OccurrenceModuleIdsPlugin {
29
30
  }
30
31
 
31
32
  /**
32
- * Apply the plugin
33
+ * Applies the plugin by registering its hooks on the compiler.
33
34
  * @param {Compiler} compiler the compiler instance
34
35
  * @returns {void}
35
36
  */
@@ -79,6 +80,7 @@ class OccurrenceModuleIdsPlugin {
79
80
  }
80
81
 
81
82
  /**
83
+ * Count occurs in entry.
82
84
  * @param {Module} module module
83
85
  * @returns {number} count of occurs
84
86
  */
@@ -96,6 +98,7 @@ class OccurrenceModuleIdsPlugin {
96
98
  };
97
99
 
98
100
  /**
101
+ * Returns count of occurs.
99
102
  * @param {Module} module module
100
103
  * @returns {number} count of occurs
101
104
  */
@@ -18,6 +18,7 @@ const { getUsedModuleIdsAndModules } = require("./IdHelpers");
18
18
  const plugin = "SyncModuleIdsPlugin";
19
19
 
20
20
  /**
21
+ * Represents the sync module ids plugin runtime component.
21
22
  * @typedef {object} SyncModuleIdsPluginOptions
22
23
  * @property {string} path path to file
23
24
  * @property {string=} context context for module names
@@ -27,6 +28,7 @@ const plugin = "SyncModuleIdsPlugin";
27
28
 
28
29
  class SyncModuleIdsPlugin {
29
30
  /**
31
+ * Creates an instance of SyncModuleIdsPlugin.
30
32
  * @param {SyncModuleIdsPluginOptions} options options
31
33
  */
32
34
  constructor(options) {
@@ -35,7 +37,7 @@ class SyncModuleIdsPlugin {
35
37
  }
36
38
 
37
39
  /**
38
- * Apply the plugin
40
+ * Applies the plugin by registering its hooks on the compiler.
39
41
  * @param {Compiler} compiler the compiler instance
40
42
  * @returns {void}
41
43
  */
package/lib/index.js CHANGED
@@ -35,12 +35,28 @@ const memoize = require("./util/memoize");
35
35
  /** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptionsNormalized */
36
36
  /** @typedef {import("../declarations/WebpackOptions").WebpackPluginFunction} WebpackPluginFunction */
37
37
  /** @typedef {import("../declarations/WebpackOptions").WebpackPluginInstance} WebpackPluginInstance */
38
+ /** @typedef {import("./asset/AssetModule").AssetModuleBuildInfo} AssetModuleBuildInfo */
38
39
  /** @typedef {import("./ChunkGroup")} ChunkGroup */
39
40
  /** @typedef {import("./Compiler").AssetEmittedInfo} AssetEmittedInfo */
41
+ /** @typedef {import("./ContextModule").ContextModuleBuildInfo} ContextModuleBuildInfo */
42
+ /** @typedef {import("./css/CssModule").CssModuleBuildInfo} CssModuleBuildInfo */
43
+ /** @typedef {import("./css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
44
+ /** @typedef {import("./ExternalModule").ExternalModuleBuildInfo} ExternalModuleBuildInfo */
45
+ /** @typedef {import("./html/HtmlModule").HtmlModuleBuildInfo} HtmlModuleBuildInfo */
46
+ /** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
47
+ /** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildMeta} JavascriptModuleBuildMeta */
48
+ /** @typedef {import("./json/JsonModule").JsonModuleBuildInfo} JsonModuleBuildInfo */
49
+ /** @typedef {import("./Module").BuildInfo} BuildInfo */
50
+ /** @typedef {import("./Module").BuildMeta} BuildMeta */
51
+ /** @typedef {import("./NormalModule").NormalModuleBuildInfo} NormalModuleBuildInfo */
52
+ /** @typedef {import("./optimize/ConcatenatedModule").ConcatenatedModuleBuildInfo} ConcatenatedModuleBuildInfo */
53
+ /** @typedef {import("./wasm-sync/SyncWasmModule").SyncWasmModuleBuildMeta} SyncWasmModuleBuildMeta */
40
54
  /** @typedef {import("./Compilation").Asset} Asset */
41
55
  /** @typedef {import("./Compilation").AssetInfo} AssetInfo */
42
56
  /** @typedef {import("./Compilation").EntryOptions} EntryOptions */
43
57
  /** @typedef {import("./Compilation").PathData} PathData */
58
+ /** @typedef {import("./Compilation").PathDataChunk} PathDataChunk */
59
+ /** @typedef {import("./Compilation").PathDataModule} PathDataModule */
44
60
  /** @typedef {import("./CodeGenerationResults")} CodeGenerationResults */
45
61
  /** @typedef {import("./Entrypoint")} Entrypoint */
46
62
  /** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionCallback} ExternalItemFunctionCallback */
@@ -65,6 +81,8 @@ const memoize = require("./util/memoize");
65
81
  /** @typedef {import("./cli").Problem} Problem */
66
82
  /** @typedef {import("./cli").Colors} Colors */
67
83
  /** @typedef {import("./cli").ColorsOptions} ColorsOptions */
84
+ /** @typedef {import("./config/defineConfig").ConfigurationFactory} ConfigurationFactory */
85
+ /** @typedef {import("./config/defineConfig").DefineConfigInput} DefineConfigInput */
68
86
  /** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsAsset} StatsAsset */
69
87
  /** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsChunk} StatsChunk */
70
88
  /** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsChunkGroup} StatsChunkGroup */
@@ -85,6 +103,7 @@ const memoize = require("./util/memoize");
85
103
  /** @typedef {import("./util/fs").OutputFileSystem} OutputFileSystem */
86
104
 
87
105
  /**
106
+ * Returns function.
88
107
  * @template {EXPECTED_FUNCTION} T
89
108
  * @param {() => T} factory factory function
90
109
  * @returns {T} function
@@ -93,6 +112,7 @@ const lazyFunction = (factory) => {
93
112
  const fac = memoize(factory);
94
113
  const f = /** @type {unknown} */ (
95
114
  /**
115
+ * Handles the callback logic for this hook.
96
116
  * @param {...EXPECTED_ANY} args args
97
117
  * @returns {T} result
98
118
  */
@@ -102,6 +122,7 @@ const lazyFunction = (factory) => {
102
122
  };
103
123
 
104
124
  /**
125
+ * Merges the provided values into a single result.
105
126
  * @template A
106
127
  * @template B
107
128
  * @param {A} obj input a
@@ -141,7 +162,11 @@ module.exports = mergeExports(fn, {
141
162
  get webpack() {
142
163
  return require("./webpack");
143
164
  },
165
+ get defineConfig() {
166
+ return require("./config/defineConfig");
167
+ },
144
168
  /**
169
+ * Returns validate fn.
145
170
  * @returns {(configuration: Configuration | MultiConfiguration) => void} validate fn
146
171
  */
147
172
  get validate() {
@@ -151,11 +176,14 @@ module.exports = mergeExports(fn, {
151
176
 
152
177
  const getRealValidate = memoize(
153
178
  /**
179
+ * Handles the callback logic for this hook.
154
180
  * @returns {(configuration: Configuration | MultiConfiguration) => void} validate fn
155
181
  */
156
182
  () => {
157
183
  const validateSchema = require("./validateSchema");
158
- const webpackOptionsSchema = require("../schemas/WebpackOptions.json");
184
+ const webpackOptionsSchema =
185
+ /** @type {EXPECTED_ANY} */
186
+ (require("../schemas/WebpackOptions.json"));
159
187
 
160
188
  return (options) => validateSchema(webpackOptionsSchema, options);
161
189
  }
@@ -217,18 +245,9 @@ module.exports = mergeExports(fn, {
217
245
  get DefinePlugin() {
218
246
  return require("./DefinePlugin");
219
247
  },
220
- get DelegatedPlugin() {
221
- return require("./DelegatedPlugin");
222
- },
223
248
  get Dependency() {
224
249
  return require("./Dependency");
225
250
  },
226
- get DllPlugin() {
227
- return require("./DllPlugin");
228
- },
229
- get DllReferencePlugin() {
230
- return require("./DllReferencePlugin");
231
- },
232
251
  get DynamicEntryPlugin() {
233
252
  return require("./DynamicEntryPlugin");
234
253
  },
@@ -278,9 +297,6 @@ module.exports = mergeExports(fn, {
278
297
  "DEP_WEBPACK_JAVASCRIPT_MODULES_PLUGIN"
279
298
  )();
280
299
  },
281
- get LibManifestPlugin() {
282
- return require("./LibManifestPlugin");
283
- },
284
300
  get LibraryTemplatePlugin() {
285
301
  return util.deprecate(
286
302
  () => require("./LibraryTemplatePlugin"),
@@ -371,7 +387,7 @@ module.exports = mergeExports(fn, {
371
387
  return require("./WatchIgnorePlugin");
372
388
  },
373
389
  get WebpackError() {
374
- return require("./WebpackError");
390
+ return require("./errors/WebpackError");
375
391
  },
376
392
  get WebpackOptionsApply() {
377
393
  return require("./WebpackOptionsApply");
@@ -383,7 +399,7 @@ module.exports = mergeExports(fn, {
383
399
  "DEP_WEBPACK_OPTIONS_DEFAULTER"
384
400
  )();
385
401
  },
386
- // TODO webpack 6 deprecate
402
+ // TODO webpack 6 remove
387
403
  get WebpackOptionsValidationError() {
388
404
  return require("schema-utils").ValidationError;
389
405
  },
@@ -590,6 +606,12 @@ module.exports = mergeExports(fn, {
590
606
  }
591
607
  },
592
608
 
609
+ html: {
610
+ get HtmlModulesPlugin() {
611
+ return require("./html/HtmlModulesPlugin");
612
+ }
613
+ },
614
+
593
615
  library: {
594
616
  get AbstractLibraryPlugin() {
595
617
  return require("./library/AbstractLibraryPlugin");
@@ -599,6 +621,35 @@ module.exports = mergeExports(fn, {
599
621
  }
600
622
  },
601
623
 
624
+ // TODO remove in webpack 6 in favor of `dll` scope
625
+ get DelegatedPlugin() {
626
+ return require("./dll/DelegatedPlugin");
627
+ },
628
+ get DllPlugin() {
629
+ return require("./dll/DllPlugin");
630
+ },
631
+ get DllReferencePlugin() {
632
+ return require("./dll/DllReferencePlugin");
633
+ },
634
+ get LibManifestPlugin() {
635
+ return require("./dll/LibManifestPlugin");
636
+ },
637
+
638
+ dll: {
639
+ get DelegatedPlugin() {
640
+ return require("./dll/DelegatedPlugin");
641
+ },
642
+ get DllPlugin() {
643
+ return require("./dll/DllPlugin");
644
+ },
645
+ get DllReferencePlugin() {
646
+ return require("./dll/DllReferencePlugin");
647
+ },
648
+ get LibManifestPlugin() {
649
+ return require("./dll/LibManifestPlugin");
650
+ }
651
+ },
652
+
602
653
  container: {
603
654
  get ContainerPlugin() {
604
655
  return require("./container/ContainerPlugin");
@@ -23,7 +23,7 @@ const PLUGIN_NAME = "ArrayPushCallbackChunkFormatPlugin";
23
23
 
24
24
  class ArrayPushCallbackChunkFormatPlugin {
25
25
  /**
26
- * Apply the plugin
26
+ * Applies the plugin by registering its hooks on the compiler.
27
27
  * @param {Compiler} compiler the compiler instance
28
28
  * @returns {void}
29
29
  */
@@ -65,12 +65,11 @@ class ArrayPushCallbackChunkFormatPlugin {
65
65
  } else {
66
66
  const chunkLoadingGlobal =
67
67
  runtimeTemplate.outputOptions.chunkLoadingGlobal;
68
+ const chunkLoadingGlobalExpr = `${globalObject}[${JSON.stringify(
69
+ chunkLoadingGlobal
70
+ )}]`;
68
71
  source.add(
69
- `(${globalObject}[${JSON.stringify(
70
- chunkLoadingGlobal
71
- )}] = ${globalObject}[${JSON.stringify(
72
- chunkLoadingGlobal
73
- )}] || []).push([`
72
+ `(${runtimeTemplate.assignOr(chunkLoadingGlobalExpr, "[]")}).push([`
74
73
  );
75
74
  source.add(`${JSON.stringify(chunk.ids)},`);
76
75
  source.add(modules);