@depup/webpack 5.106.1-depup.0 → 5.109.2-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 (669) hide show
  1. package/README.md +9 -11
  2. package/bin/webpack.js +12 -0
  3. package/changes.json +16 -24
  4. package/hot/dev-server.js +2 -0
  5. package/lib/APIPlugin.js +60 -35
  6. package/lib/AsyncDependenciesBlock.js +3 -0
  7. package/lib/AutomaticPrefetchPlugin.js +6 -1
  8. package/lib/BannerPlugin.js +13 -5
  9. package/lib/Cache.js +27 -5
  10. package/lib/CacheFacade.js +41 -0
  11. package/lib/Chunk.js +71 -25
  12. package/lib/ChunkGraph.js +153 -19
  13. package/lib/ChunkGroup.js +115 -28
  14. package/lib/ChunkTemplate.js +9 -0
  15. package/lib/CircularModulesPlugin.js +190 -0
  16. package/lib/CleanPlugin.js +27 -28
  17. package/lib/CodeGenerationResults.js +19 -0
  18. package/lib/CompatibilityPlugin.js +85 -37
  19. package/lib/Compilation.js +656 -112
  20. package/lib/Compiler.js +109 -35
  21. package/lib/ConcatenationScope.js +34 -4
  22. package/lib/ConditionalInitFragment.js +6 -0
  23. package/lib/ConstPlugin.js +15 -12
  24. package/lib/ContextExclusionPlugin.js +3 -1
  25. package/lib/ContextModule.js +345 -55
  26. package/lib/ContextModuleFactory.js +193 -51
  27. package/lib/ContextReplacementPlugin.js +8 -1
  28. package/lib/DefinePlugin.js +537 -139
  29. package/lib/DependenciesBlock.js +6 -1
  30. package/lib/Dependency.js +159 -11
  31. package/lib/DependencyTemplate.js +7 -1
  32. package/lib/DependencyTemplates.js +4 -0
  33. package/lib/DotenvPlugin.js +3 -0
  34. package/lib/DynamicEntryPlugin.js +3 -1
  35. package/lib/EntryOptionPlugin.js +42 -2
  36. package/lib/EntryPlugin.js +4 -1
  37. package/lib/Entrypoint.js +5 -1
  38. package/lib/EnvironmentPlugin.js +3 -2
  39. package/lib/ErrorHelpers.js +7 -0
  40. package/lib/EvalDevToolModulePlugin.js +3 -1
  41. package/lib/EvalSourceMapDevToolPlugin.js +11 -11
  42. package/lib/ExportsInfo.js +421 -113
  43. package/lib/ExportsInfoApiPlugin.js +4 -3
  44. package/lib/ExternalModule.js +381 -80
  45. package/lib/ExternalModuleFactoryPlugin.js +75 -3
  46. package/lib/ExternalsPlugin.js +3 -1
  47. package/lib/FileSystemInfo.js +701 -175
  48. package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
  49. package/lib/FlagDependencyExportsPlugin.js +82 -9
  50. package/lib/FlagDependencyUsagePlugin.js +115 -8
  51. package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
  52. package/lib/Generator.js +24 -3
  53. package/lib/HotModuleReplacementPlugin.js +110 -44
  54. package/lib/IgnorePlugin.js +5 -2
  55. package/lib/IgnoreWarningsPlugin.js +2 -1
  56. package/lib/InitFragment.js +33 -30
  57. package/lib/JavascriptMetaInfoPlugin.js +9 -6
  58. package/lib/LazyBarrel.js +389 -0
  59. package/lib/LibraryTemplatePlugin.js +2 -1
  60. package/lib/LoaderOptionsPlugin.js +3 -1
  61. package/lib/LoaderTargetPlugin.js +3 -1
  62. package/lib/MainTemplate.js +15 -0
  63. package/lib/ManifestPlugin.js +9 -2
  64. package/lib/Module.js +121 -57
  65. package/lib/ModuleFactory.js +6 -1
  66. package/lib/ModuleFilenameHelpers.js +18 -4
  67. package/lib/ModuleGraph.js +69 -2
  68. package/lib/ModuleGraphConnection.js +9 -0
  69. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  70. package/lib/ModuleNotFoundError.js +3 -83
  71. package/lib/ModuleProfile.js +27 -1
  72. package/lib/ModuleSourceTypeConstants.js +52 -19
  73. package/lib/ModuleTemplate.js +10 -0
  74. package/lib/ModuleTypeConstants.js +20 -4
  75. package/lib/MultiCompiler.js +59 -4
  76. package/lib/MultiStats.js +9 -0
  77. package/lib/MultiWatching.js +6 -0
  78. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  79. package/lib/NodeStuffPlugin.js +78 -46
  80. package/lib/NormalModule.js +519 -206
  81. package/lib/NormalModuleFactory.js +156 -31
  82. package/lib/NormalModuleReplacementPlugin.js +3 -1
  83. package/lib/NullFactory.js +1 -0
  84. package/lib/OptionsApply.js +1 -0
  85. package/lib/Parser.js +3 -1
  86. package/lib/PlatformPlugin.js +2 -1
  87. package/lib/PrefetchPlugin.js +4 -1
  88. package/lib/ProgressPlugin.js +351 -161
  89. package/lib/ProvidePlugin.js +6 -3
  90. package/lib/RawModule.js +32 -16
  91. package/lib/RecordIdsPlugin.js +9 -0
  92. package/lib/RequestShortener.js +8 -0
  93. package/lib/ResolverFactory.js +5 -0
  94. package/lib/RuntimeGlobals.js +58 -5
  95. package/lib/RuntimeModule.js +22 -7
  96. package/lib/RuntimePlugin.js +123 -118
  97. package/lib/RuntimeTemplate.js +616 -37
  98. package/lib/SelfModuleFactory.js +3 -0
  99. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  100. package/lib/SourceMapDevToolPlugin.js +341 -63
  101. package/lib/Stats.js +6 -0
  102. package/lib/Template.js +52 -6
  103. package/lib/TemplatedPathPlugin.js +505 -138
  104. package/lib/UseStrictPlugin.js +3 -2
  105. package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
  106. package/lib/WarnDeprecatedOptionPlugin.js +6 -2
  107. package/lib/WarnNoModeSetPlugin.js +18 -2
  108. package/lib/WatchIgnorePlugin.js +5 -1
  109. package/lib/Watching.js +25 -3
  110. package/lib/WebpackError.js +3 -74
  111. package/lib/WebpackIsIncludedPlugin.js +4 -2
  112. package/lib/WebpackOptionsApply.js +88 -25
  113. package/lib/WebpackOptionsDefaulter.js +1 -0
  114. package/lib/asset/AssetBytesGenerator.js +28 -10
  115. package/lib/asset/AssetBytesParser.js +1 -0
  116. package/lib/asset/AssetGenerator.js +199 -60
  117. package/lib/asset/AssetModule.js +47 -0
  118. package/lib/asset/AssetModulesPlugin.js +115 -24
  119. package/lib/asset/AssetParser.js +4 -2
  120. package/lib/asset/AssetSourceGenerator.js +26 -8
  121. package/lib/asset/AssetSourceParser.js +1 -0
  122. package/lib/asset/RawDataUrlModule.js +23 -13
  123. package/lib/asset/WebManifestGenerator.js +164 -0
  124. package/lib/asset/WebManifestParser.js +130 -0
  125. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  126. package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
  127. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  128. package/lib/async-modules/isGeneratorLowered.js +26 -0
  129. package/lib/buildChunkGraph.js +107 -15
  130. package/lib/bun/BunTargetPlugin.js +42 -0
  131. package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
  132. package/lib/cache/AddManagedPathsPlugin.js +5 -1
  133. package/lib/cache/IdleFileCachePlugin.js +6 -1
  134. package/lib/cache/MemoryCachePlugin.js +1 -1
  135. package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
  136. package/lib/cache/PackFileCacheStrategy.js +302 -12
  137. package/lib/cache/ResolverCachePlugin.js +12 -1
  138. package/lib/cache/getLazyHashedEtag.js +13 -2
  139. package/lib/cache/mergeEtags.js +4 -0
  140. package/lib/cli.js +142 -20
  141. package/lib/config/browserslistTargetHandler.js +141 -0
  142. package/lib/config/defaults.js +612 -43
  143. package/lib/config/defineConfig.js +31 -0
  144. package/lib/config/normalization.js +46 -1
  145. package/lib/config/target.js +200 -2
  146. package/lib/container/ContainerEntryDependency.js +2 -0
  147. package/lib/container/ContainerEntryModule.js +27 -14
  148. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  149. package/lib/container/ContainerExposedDependency.js +6 -2
  150. package/lib/container/ContainerPlugin.js +2 -1
  151. package/lib/container/ContainerReferencePlugin.js +3 -2
  152. package/lib/container/FallbackDependency.js +9 -7
  153. package/lib/container/FallbackItemDependency.js +1 -0
  154. package/lib/container/FallbackModule.js +22 -9
  155. package/lib/container/FallbackModuleFactory.js +1 -0
  156. package/lib/container/HoistContainerReferencesPlugin.js +47 -55
  157. package/lib/container/ModuleFederationPlugin.js +21 -29
  158. package/lib/container/RemoteModule.js +33 -10
  159. package/lib/container/RemoteRuntimeModule.js +15 -12
  160. package/lib/container/RemoteToExternalDependency.js +1 -0
  161. package/lib/container/options.js +7 -0
  162. package/lib/css/CssGenerator.js +540 -272
  163. package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
  164. package/lib/css/CssLoadingRuntimeModule.js +173 -81
  165. package/lib/{CssModule.js → css/CssModule.js} +72 -37
  166. package/lib/css/CssModulesPlugin.js +371 -208
  167. package/lib/css/CssParser.js +3538 -1963
  168. package/lib/css/syntax.js +4155 -0
  169. package/lib/debug/ProfilingPlugin.js +33 -2
  170. package/lib/deno/DenoTargetPlugin.js +41 -0
  171. package/lib/dependencies/AMDDefineDependency.js +29 -17
  172. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
  173. package/lib/dependencies/AMDPlugin.js +6 -3
  174. package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
  175. package/lib/dependencies/AMDRequireContextDependency.js +10 -11
  176. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  177. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
  178. package/lib/dependencies/AMDRequireDependency.js +28 -20
  179. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  180. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  181. package/lib/dependencies/CachedConstDependency.js +9 -1
  182. package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
  183. package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
  184. package/lib/dependencies/CommonJsExportsDependency.js +74 -20
  185. package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
  186. package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
  187. package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
  188. package/lib/dependencies/CommonJsPlugin.js +7 -4
  189. package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
  190. package/lib/dependencies/CommonJsRequireDependency.js +135 -13
  191. package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
  192. package/lib/dependencies/ConstDependency.js +22 -12
  193. package/lib/dependencies/ContextDependency.js +13 -2
  194. package/lib/dependencies/ContextDependencyHelpers.js +7 -4
  195. package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
  196. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  197. package/lib/dependencies/ContextElementDependency.js +27 -14
  198. package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
  199. package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
  200. package/lib/dependencies/CriticalDependencyWarning.js +3 -1
  201. package/lib/dependencies/CssIcssExportDependency.js +681 -367
  202. package/lib/dependencies/CssIcssImportDependency.js +62 -17
  203. package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
  204. package/lib/dependencies/CssImportDependency.js +37 -1
  205. package/lib/dependencies/CssUrlDependency.js +87 -14
  206. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  207. package/lib/dependencies/DllEntryDependency.js +12 -13
  208. package/lib/dependencies/DynamicExports.js +5 -0
  209. package/lib/dependencies/EntryDependency.js +1 -0
  210. package/lib/dependencies/ExportBindingInitFragment.js +164 -0
  211. package/lib/dependencies/ExportsInfoDependency.js +18 -12
  212. package/lib/dependencies/ExternalModuleDependency.js +13 -5
  213. package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
  214. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
  215. package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
  216. package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
  217. package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
  218. package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
  219. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
  220. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
  221. package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
  222. package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
  223. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
  224. package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
  225. package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
  226. package/lib/dependencies/HarmonyExports.js +6 -1
  227. package/lib/dependencies/HarmonyImportDependency.js +60 -4
  228. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
  229. package/lib/dependencies/HarmonyImportGuard.js +427 -0
  230. package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
  231. package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
  232. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
  233. package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
  234. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
  235. package/lib/dependencies/HtmlEntryDependency.js +1295 -0
  236. package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
  237. package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
  238. package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
  239. package/lib/dependencies/HtmlSourceDependency.js +172 -0
  240. package/lib/dependencies/ImportContextDependency.js +9 -9
  241. package/lib/dependencies/ImportDependency.js +92 -3
  242. package/lib/dependencies/ImportEagerDependency.js +2 -0
  243. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  244. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
  245. package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
  246. package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
  247. package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
  248. package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
  249. package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
  250. package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
  251. package/lib/dependencies/ImportMetaPlugin.js +595 -209
  252. package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
  253. package/lib/dependencies/ImportParserPlugin.js +114 -27
  254. package/lib/dependencies/ImportPhase.js +17 -11
  255. package/lib/dependencies/ImportPlugin.js +2 -1
  256. package/lib/dependencies/ImportWeakDependency.js +3 -0
  257. package/lib/dependencies/JsonExportsDependency.js +15 -10
  258. package/lib/dependencies/LoaderDependency.js +2 -0
  259. package/lib/dependencies/LoaderImportDependency.js +3 -0
  260. package/lib/dependencies/LoaderPlugin.js +9 -2
  261. package/lib/dependencies/LocalModule.js +15 -12
  262. package/lib/dependencies/LocalModuleDependency.js +15 -13
  263. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  264. package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
  265. package/lib/dependencies/ModuleDependency.js +14 -0
  266. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  267. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  268. package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
  269. package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
  270. package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
  271. package/lib/dependencies/NullDependency.js +2 -0
  272. package/lib/dependencies/PrefetchDependency.js +1 -0
  273. package/lib/dependencies/ProvidedDependency.js +36 -27
  274. package/lib/dependencies/PureExpressionDependency.js +14 -10
  275. package/lib/dependencies/RequireContextDependency.js +1 -0
  276. package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
  277. package/lib/dependencies/RequireContextPlugin.js +2 -1
  278. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  279. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
  280. package/lib/dependencies/RequireEnsureDependency.js +16 -13
  281. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  282. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  283. package/lib/dependencies/RequireHeaderDependency.js +7 -4
  284. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  285. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
  286. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  287. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  288. package/lib/dependencies/RequireResolveContextDependency.js +10 -11
  289. package/lib/dependencies/RequireResolveDependency.js +2 -0
  290. package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
  291. package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
  292. package/lib/dependencies/StaticExportsDependency.js +13 -10
  293. package/lib/dependencies/SystemPlugin.js +9 -6
  294. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  295. package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
  296. package/lib/dependencies/URLContextDependency.js +8 -7
  297. package/lib/dependencies/URLDependency.js +157 -33
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +12 -13
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
  301. package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
  303. package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
  304. package/lib/dependencies/WorkerDependency.js +111 -27
  305. package/lib/dependencies/WorkletDependency.js +278 -0
  306. package/lib/dependencies/getFunctionExpression.js +1 -0
  307. package/lib/dependencies/processExportInfo.js +14 -11
  308. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
  309. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
  310. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
  311. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
  312. package/lib/{DllModule.js → dll/DllModule.js} +36 -24
  313. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  314. package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
  315. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
  316. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
  317. package/lib/electron/ElectronTargetPlugin.js +24 -5
  318. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  319. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  320. package/lib/errors/BuildCycleError.js +1 -1
  321. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  322. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  323. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  324. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
  325. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
  326. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
  327. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
  328. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
  329. package/lib/errors/JSONParseError.js +115 -0
  330. package/lib/errors/LoaderLoadingError.js +20 -0
  331. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
  332. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
  333. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
  334. package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
  335. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
  336. package/lib/errors/ModuleNotFoundError.js +94 -0
  337. package/lib/errors/ModuleParseError.js +141 -0
  338. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
  339. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
  340. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
  341. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
  342. package/lib/errors/NonErrorEmittedError.js +30 -0
  343. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
  344. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  345. package/lib/errors/WebpackError.js +84 -0
  346. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  347. package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
  348. package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
  349. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
  350. package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
  351. package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
  352. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
  353. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  354. package/lib/hmr/LazyCompilationPlugin.js +154 -7
  355. package/lib/hmr/lazyCompilationBackend.js +53 -12
  356. package/lib/html/HtmlGenerator.js +1490 -0
  357. package/lib/html/HtmlModule.js +41 -0
  358. package/lib/html/HtmlModulesPlugin.js +1129 -0
  359. package/lib/html/HtmlParser.js +1970 -0
  360. package/lib/html/favicon.svg +1 -0
  361. package/lib/html/syntax.js +9106 -0
  362. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  363. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  364. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  365. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  366. package/lib/ids/IdHelpers.js +49 -12
  367. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  368. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  369. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  370. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  371. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  372. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  373. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  374. package/lib/index.js +66 -15
  375. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
  376. package/lib/javascript/BasicEvaluatedExpression.js +370 -49
  377. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  378. package/lib/javascript/ChunkHelpers.js +1 -0
  379. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  380. package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
  381. package/lib/javascript/JavascriptGenerator.js +213 -51
  382. package/lib/javascript/JavascriptModule.js +54 -0
  383. package/lib/javascript/JavascriptModulesPlugin.js +628 -198
  384. package/lib/javascript/JavascriptParser.js +1334 -471
  385. package/lib/javascript/JavascriptParserHelpers.js +10 -7
  386. package/lib/javascript/StartupHelpers.js +5 -0
  387. package/lib/javascript/syntax.js +5037 -0
  388. package/lib/json/JsonData.js +5 -0
  389. package/lib/json/JsonGenerator.js +21 -0
  390. package/lib/json/JsonModule.js +40 -0
  391. package/lib/json/JsonModulesPlugin.js +8 -1
  392. package/lib/json/JsonParser.js +18 -27
  393. package/lib/library/AbstractLibraryPlugin.js +17 -2
  394. package/lib/library/AmdLibraryPlugin.js +8 -0
  395. package/lib/library/AssignLibraryPlugin.js +21 -3
  396. package/lib/library/EnableLibraryPlugin.js +8 -2
  397. package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
  398. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
  399. package/lib/library/JsonpLibraryPlugin.js +8 -0
  400. package/lib/library/ModuleLibraryPlugin.js +154 -7
  401. package/lib/library/SystemLibraryPlugin.js +11 -3
  402. package/lib/library/UmdLibraryPlugin.js +16 -0
  403. package/lib/loaders/LoaderRunner.js +714 -0
  404. package/lib/loaders/loadLoader.js +100 -0
  405. package/lib/logging/Logger.js +17 -0
  406. package/lib/logging/createConsoleLogger.js +7 -0
  407. package/lib/logging/runtime.js +2 -0
  408. package/lib/logging/truncateArgs.js +2 -0
  409. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  410. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  411. package/lib/node/NodeSourcePlugin.js +1 -1
  412. package/lib/node/NodeTargetPlugin.js +4 -63
  413. package/lib/node/NodeTemplatePlugin.js +3 -1
  414. package/lib/node/NodeWatchFileSystem.js +40 -22
  415. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
  416. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
  417. package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
  418. package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
  419. package/lib/node/nodeBuiltins.js +80 -0
  420. package/lib/node/nodeConsole.js +116 -64
  421. package/lib/optimize/AggressiveMergingPlugin.js +22 -16
  422. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  423. package/lib/optimize/ConcatenatedModule.js +603 -130
  424. package/lib/optimize/ConstExportsPlugin.js +211 -0
  425. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  426. package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
  427. package/lib/optimize/InlineExports.js +178 -0
  428. package/lib/optimize/InnerGraph.js +374 -262
  429. package/lib/optimize/InnerGraphPlugin.js +246 -117
  430. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  431. package/lib/optimize/MangleExportsPlugin.js +5 -1
  432. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  433. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  434. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  435. package/lib/optimize/ModuleConcatenationPlugin.js +229 -55
  436. package/lib/optimize/RealContentHashPlugin.js +130 -52
  437. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  438. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  439. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  440. package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
  441. package/lib/optimize/SplitChunksPlugin.js +200 -50
  442. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  443. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  444. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  445. package/lib/performance/SizeLimitsPlugin.js +8 -2
  446. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  447. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
  448. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  449. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  450. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
  451. package/lib/prefetch/ResourceHintPlugin.js +687 -0
  452. package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
  453. package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
  454. package/lib/prefetch/parseResourceHintOptions.js +103 -0
  455. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  456. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  457. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  458. package/lib/rules/RuleSetCompiler.js +132 -0
  459. package/lib/rules/UseEffectRulePlugin.js +10 -3
  460. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
  461. package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
  462. package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
  463. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  464. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  465. package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
  466. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
  467. package/lib/runtime/CompatRuntimeModule.js +2 -0
  468. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
  469. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  470. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  471. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
  472. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  473. package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
  474. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  475. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  476. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
  477. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
  478. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  479. package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
  480. package/lib/runtime/HelperRuntimeModule.js +5 -0
  481. package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
  482. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
  483. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
  484. package/lib/runtime/NonceRuntimeModule.js +1 -0
  485. package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
  486. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  487. package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
  488. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  489. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
  490. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  491. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
  492. package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
  493. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  494. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  495. package/lib/runtime/WorkerRuntimeModule.js +33 -0
  496. package/lib/schemes/DataUriPlugin.js +14 -2
  497. package/lib/schemes/FileUriPlugin.js +1 -1
  498. package/lib/schemes/HttpUriPlugin.js +86 -4
  499. package/lib/schemes/VirtualUrlPlugin.js +8 -4
  500. package/lib/serialization/AggregateErrorSerializer.js +9 -6
  501. package/lib/serialization/ArraySerializer.js +6 -8
  502. package/lib/serialization/BinaryMiddleware.js +427 -1006
  503. package/lib/serialization/DateObjectSerializer.js +4 -2
  504. package/lib/serialization/ErrorObjectSerializer.js +10 -6
  505. package/lib/serialization/FileMiddleware.js +345 -59
  506. package/lib/serialization/MapObjectSerializer.js +7 -9
  507. package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
  508. package/lib/serialization/ObjectMiddleware.js +73 -13
  509. package/lib/serialization/PlainObjectSerializer.js +16 -8
  510. package/lib/serialization/RegExpObjectSerializer.js +4 -2
  511. package/lib/serialization/Serializer.js +6 -0
  512. package/lib/serialization/SerializerMiddleware.js +14 -2
  513. package/lib/serialization/SetObjectSerializer.js +6 -8
  514. package/lib/serialization/SingleItemMiddleware.js +3 -0
  515. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  516. package/lib/sharing/ConsumeSharedModule.js +21 -7
  517. package/lib/sharing/ConsumeSharedPlugin.js +11 -11
  518. package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
  519. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  520. package/lib/sharing/ProvideSharedDependency.js +34 -15
  521. package/lib/sharing/ProvideSharedModule.js +42 -12
  522. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  523. package/lib/sharing/ProvideSharedPlugin.js +13 -8
  524. package/lib/sharing/SharePlugin.js +5 -1
  525. package/lib/sharing/ShareRuntimeModule.js +19 -16
  526. package/lib/sharing/resolveMatchedConfigs.js +6 -2
  527. package/lib/sharing/utils.js +9 -1
  528. package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
  529. package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
  530. package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
  531. package/lib/stats/StatsFactory.js +70 -27
  532. package/lib/stats/StatsPrinter.js +16 -2
  533. package/lib/typescript/TypeScriptPlugin.js +210 -0
  534. package/lib/url/URLParserPlugin.js +111 -23
  535. package/lib/util/ArrayHelpers.js +1 -0
  536. package/lib/util/ArrayQueue.js +10 -5
  537. package/lib/util/AsyncQueue.js +154 -74
  538. package/lib/util/Hash.js +2 -2
  539. package/lib/util/IterableHelpers.js +3 -0
  540. package/lib/util/LazyBucketSortedSet.js +26 -0
  541. package/lib/util/LazySet.js +45 -4
  542. package/lib/util/LocConverter.js +64 -0
  543. package/lib/util/ParallelismFactorCalculator.js +1 -0
  544. package/lib/util/Queue.js +6 -3
  545. package/lib/util/Semaphore.js +15 -1
  546. package/lib/util/SetHelpers.js +4 -1
  547. package/lib/util/SortableSet.js +7 -1
  548. package/lib/util/SourceProcessor.js +119 -0
  549. package/lib/util/StackedCacheMap.js +20 -3
  550. package/lib/util/StackedMap.js +162 -43
  551. package/lib/util/StringXor.js +1 -1
  552. package/lib/util/TupleQueue.js +7 -3
  553. package/lib/util/TupleSet.js +14 -0
  554. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  555. package/lib/util/WeakTupleMap.js +60 -1
  556. package/lib/util/binarySearchBounds.js +3 -2
  557. package/lib/util/chainedImports.js +3 -3
  558. package/lib/util/cleverMerge.js +19 -2
  559. package/lib/util/comparators.js +35 -4
  560. package/lib/util/compileBooleanMatcher.js +9 -0
  561. package/lib/util/concatenate.js +80 -24
  562. package/lib/util/conventions.js +46 -1
  563. package/lib/util/createHash.js +0 -1
  564. package/lib/util/createHooksRegistry.js +43 -0
  565. package/lib/util/createMappings.js +118 -0
  566. package/lib/util/dataURL.js +3 -2
  567. package/lib/util/deprecation.js +19 -0
  568. package/lib/util/deterministicGrouping.js +46 -17
  569. package/lib/util/extractSourceMap.js +2 -1
  570. package/lib/util/extractUrlAndGlobal.js +1 -0
  571. package/lib/util/findGraphRoots.js +7 -0
  572. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  573. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
  574. package/lib/util/fs.js +87 -14
  575. package/lib/util/generateDebugId.js +1 -0
  576. package/lib/util/globUtils.js +710 -0
  577. package/lib/util/hash/BatchedHash.js +1 -0
  578. package/lib/util/hash/BulkUpdateHash.js +1 -0
  579. package/lib/util/hash/DebugHash.js +1 -0
  580. package/lib/util/hash/hash-digest.js +32 -15
  581. package/lib/util/hash/md4.js +1 -1
  582. package/lib/util/hash/wasm-hash.js +5 -0
  583. package/lib/util/hash/xxhash64.js +1 -1
  584. package/lib/util/identifier.js +118 -7
  585. package/lib/util/implicitTypeLoaderFallback.js +62 -0
  586. package/lib/util/internalSerializables.js +102 -60
  587. package/lib/util/magicComment.js +149 -7
  588. package/lib/util/makeSerializable.js +7 -0
  589. package/lib/util/memoize.js +2 -0
  590. package/lib/util/mimeTypes.js +176 -0
  591. package/lib/util/nonNumericOnlyHash.js +31 -1
  592. package/lib/util/numberHash.js +2 -2
  593. package/lib/util/parseJson.js +41 -0
  594. package/lib/util/processAsyncTree.js +8 -0
  595. package/lib/util/property.js +9 -2
  596. package/lib/util/publicPathPlaceholder.js +64 -0
  597. package/lib/util/registerExternalSerializer.js +24 -4
  598. package/lib/util/removeBOM.js +1 -0
  599. package/lib/util/runtime.js +32 -0
  600. package/lib/util/semver.js +15 -0
  601. package/lib/util/serialization.js +2 -0
  602. package/lib/util/smartGrouping.js +8 -0
  603. package/lib/util/source.js +23 -0
  604. package/lib/util/topologicalSort.js +69 -0
  605. package/lib/validateSchema.js +1 -0
  606. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  607. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
  608. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
  609. package/lib/wasm-async/AsyncWasmModule.js +77 -0
  610. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  611. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
  612. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
  613. package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
  614. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
  615. package/lib/wasm-sync/SyncWasmModule.js +39 -0
  616. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
  617. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
  618. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
  619. package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
  620. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
  621. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  622. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
  623. package/lib/wasm-sync/WebAssemblyParser.js +9 -3
  624. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  625. package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
  626. package/lib/web/FetchCompileWasmPlugin.js +27 -1
  627. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  628. package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
  629. package/lib/web/JsonpTemplatePlugin.js +2 -1
  630. package/lib/webpack.js +78 -1
  631. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  632. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
  633. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  634. package/module.d.ts +21 -0
  635. package/package.json +79 -77
  636. package/schemas/WebpackOptions.check.js +1 -1
  637. package/schemas/WebpackOptions.json +1173 -80
  638. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  639. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  640. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  641. package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
  642. package/schemas/plugins/HtmlParserOptions.check.js +6 -0
  643. package/schemas/plugins/HtmlParserOptions.json +3 -0
  644. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  645. package/schemas/plugins/ProgressPlugin.json +38 -0
  646. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  647. package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
  648. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  649. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  650. package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
  651. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
  652. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  653. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  654. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  655. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  656. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  657. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  658. package/types.d.ts +11053 -3019
  659. package/lib/CaseSensitiveModulesWarning.js +0 -72
  660. package/lib/GraphHelpers.js +0 -46
  661. package/lib/ModuleParseError.js +0 -125
  662. package/lib/NoModeWarning.js +0 -23
  663. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  664. package/lib/css/walkCssTokens.js +0 -1843
  665. package/lib/util/AppendOnlyStackedSet.js +0 -78
  666. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  667. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  668. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  669. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -10,6 +10,7 @@
10
10
  /** @typedef {import("./Module")} Module */
11
11
 
12
12
  /**
13
+ * Defines the module factory result type used by this module.
13
14
  * @typedef {object} ModuleFactoryResult
14
15
  * @property {Module=} module the created module or unset if no module was created
15
16
  * @property {Set<string>=} fileDependencies
@@ -21,6 +22,7 @@
21
22
  /** @typedef {string | null} IssuerLayer */
22
23
 
23
24
  /**
25
+ * Defines the module factory create data context info type used by this module.
24
26
  * @typedef {object} ModuleFactoryCreateDataContextInfo
25
27
  * @property {string} issuer
26
28
  * @property {IssuerLayer} issuerLayer
@@ -28,6 +30,7 @@
28
30
  */
29
31
 
30
32
  /**
33
+ * Defines the module factory create data type used by this module.
31
34
  * @typedef {object} ModuleFactoryCreateData
32
35
  * @property {ModuleFactoryCreateDataContextInfo} contextInfo
33
36
  * @property {ResolveOptions=} resolveOptions
@@ -36,19 +39,21 @@
36
39
  */
37
40
 
38
41
  /**
42
+ * Represents the module factory runtime component.
39
43
  * @typedef {(err?: Error | null, result?: ModuleFactoryResult) => void} ModuleFactoryCallback
40
44
  */
41
45
 
42
46
  class ModuleFactory {
43
47
  /* istanbul ignore next */
44
48
  /**
49
+ * Processes the provided data.
45
50
  * @abstract
46
51
  * @param {ModuleFactoryCreateData} data data object
47
52
  * @param {ModuleFactoryCallback} callback callback
48
53
  * @returns {void}
49
54
  */
50
55
  create(data, callback) {
51
- const AbstractMethodError = require("./AbstractMethodError");
56
+ const AbstractMethodError = require("./errors/AbstractMethodError");
52
57
 
53
58
  throw new AbstractMethodError();
54
59
  }
@@ -90,6 +90,7 @@ const getHash =
90
90
  };
91
91
 
92
92
  /**
93
+ * Returns the lazy access object.
93
94
  * @template T
94
95
  * Returns a lazy object. The object is lazy in the sense that the properties are
95
96
  * only evaluated when they are accessed. This is only obtained by setting a function as the value for each key.
@@ -118,6 +119,7 @@ const lazyObject = (obj) => {
118
119
 
119
120
  const SQUARE_BRACKET_TAG_REGEXP = /\[\\*([\w-]+)\\*\]/g;
120
121
  /**
122
+ * Defines the module filename template context type used by this module.
121
123
  * @typedef {object} ModuleFilenameTemplateContext
122
124
  * @property {string} identifier the identifier of the module
123
125
  * @property {string} shortIdentifier the shortened identifier of the module
@@ -135,6 +137,7 @@ const SQUARE_BRACKET_TAG_REGEXP = /\[\\*([\w-]+)\\*\]/g;
135
137
  /** @typedef {string | ModuleFilenameTemplateFunction} ModuleFilenameTemplate */
136
138
 
137
139
  /**
140
+ * Returns the filename.
138
141
  * @param {Module | string} module the module
139
142
  * @param {{ namespace?: string, moduleFilenameTemplate?: ModuleFilenameTemplate }} options options
140
143
  * @param {{ requestShortener: RequestShortener, chunkGraph: ChunkGraph, hashFunction?: HashFunction }} contextInfo context info
@@ -166,11 +169,14 @@ ModuleFilenameHelpers.createFilename = (
166
169
  let moduleId;
167
170
  /** @type {ReturnStringCallback} */
168
171
  let shortIdentifier;
172
+ /** @type {ReturnStringCallback} */
173
+ let resourceIdentifier;
169
174
  if (typeof module === "string") {
170
175
  shortIdentifier =
171
176
  /** @type {ReturnStringCallback} */
172
177
  (memoize(() => requestShortener.shorten(module)));
173
178
  identifier = shortIdentifier;
179
+ resourceIdentifier = shortIdentifier;
174
180
  moduleId = () => "";
175
181
  absoluteResourcePath = () =>
176
182
  /** @type {string} */ (module.split("!").pop());
@@ -179,6 +185,14 @@ ModuleFilenameHelpers.createFilename = (
179
185
  shortIdentifier = memoize(() =>
180
186
  module.readableIdentifier(requestShortener)
181
187
  );
188
+ // `[resource]` and `[loaders]` must stay request paths: a subclass's
189
+ // readable identifier may carry display-only decorations (e.g. CssModule's
190
+ // `css ` prefix)
191
+ resourceIdentifier = memoize(() =>
192
+ module instanceof NormalModule
193
+ ? /** @type {string} */ (requestShortener.shorten(module.userRequest))
194
+ : module.readableIdentifier(requestShortener)
195
+ );
182
196
  identifier =
183
197
  /** @type {ReturnStringCallback} */
184
198
  (memoize(() => requestShortener.shorten(module.identifier())));
@@ -193,9 +207,9 @@ ModuleFilenameHelpers.createFilename = (
193
207
  }
194
208
  const resource =
195
209
  /** @type {ReturnStringCallback} */
196
- (memoize(() => shortIdentifier().split("!").pop()));
210
+ (memoize(() => resourceIdentifier().split("!").pop()));
197
211
 
198
- const loaders = getBefore(shortIdentifier, "!");
212
+ const loaders = getBefore(resourceIdentifier, "!");
199
213
  const allLoaders = getBefore(identifier, "!");
200
214
  const query = getAfter(resource, "?");
201
215
  const resourcePath = () => {
@@ -324,9 +338,9 @@ ModuleFilenameHelpers.replaceDuplicates = (array, fn, comparator) => {
324
338
  * ```js
325
339
  * ModuleFilenameHelpers.matchPart("foo.js", "foo"); // true
326
340
  * ModuleFilenameHelpers.matchPart("foo.js", "foo.js"); // true
327
- * ModuleFilenameHelpers.matchPart("foo.js", "foo."); // false
341
+ * ModuleFilenameHelpers.matchPart("foo.js", "foo."); // true
328
342
  * ModuleFilenameHelpers.matchPart("foo.js", "foo*"); // false
329
- * ModuleFilenameHelpers.matchPart("foo.js", "foo.*"); // true
343
+ * ModuleFilenameHelpers.matchPart("foo.js", "foo.*"); // false
330
344
  * ModuleFilenameHelpers.matchPart("foo.js", /^foo/); // true
331
345
  * ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, "bar"]); // true
332
346
  * ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, "bar"]); // true
@@ -28,6 +28,7 @@ const { sortWithSourceOrder } = require("./util/comparators");
28
28
  /** @typedef {import("./util/comparators").DependencySourceOrder} DependencySourceOrder */
29
29
 
30
30
  /**
31
+ * Defines the optimization bailout function callback.
31
32
  * @callback OptimizationBailoutFunction
32
33
  * @param {RequestShortener} requestShortener
33
34
  * @returns {string}
@@ -37,6 +38,7 @@ const { sortWithSourceOrder } = require("./util/comparators");
37
38
  const EMPTY_SET = new Set();
38
39
 
39
40
  /**
41
+ * Gets connections by key.
40
42
  * @template {Module | null | undefined} T
41
43
  * @param {SortableSet<ModuleGraphConnection>} set input
42
44
  * @param {(connection: ModuleGraphConnection) => T} getKey function to extract key from connection
@@ -71,6 +73,7 @@ const getConnectionsByKey = (set, getKey) => {
71
73
  };
72
74
 
73
75
  /**
76
+ * Gets connections by origin module.
74
77
  * @param {SortableSet<ModuleGraphConnection>} set input
75
78
  * @returns {ReadonlyMap<Module | undefined | null, ReadonlyArray<ModuleGraphConnection>>} mapped by origin module
76
79
  */
@@ -78,6 +81,7 @@ const getConnectionsByOriginModule = (set) =>
78
81
  getConnectionsByKey(set, (connection) => connection.originModule);
79
82
 
80
83
  /**
84
+ * Gets connections by module.
81
85
  * @param {SortableSet<ModuleGraphConnection>} set input
82
86
  * @returns {ReadonlyMap<Module | undefined, ReadonlyArray<ModuleGraphConnection>>} mapped by module
83
87
  */
@@ -125,6 +129,7 @@ class ModuleGraphModule {
125
129
  /** @typedef {import("./dependencies/HarmonyExportImportedSpecifierDependency").idsSymbol} HarmonyExportImportedSpecifierDependencyIDsSymbol */
126
130
 
127
131
  /**
132
+ * Defines the known meta type used by this module.
128
133
  * @typedef {object} KnownMeta
129
134
  * @property {Map<Module, string>=} importVarMap
130
135
  * @property {Map<Module, string>=} deferredImportVarMap
@@ -180,6 +185,7 @@ class ModuleGraph {
180
185
  }
181
186
 
182
187
  /**
188
+ * Get module graph module.
183
189
  * @param {Module} module the module
184
190
  * @returns {ModuleGraphModule} the internal module
185
191
  */
@@ -193,6 +199,7 @@ class ModuleGraph {
193
199
  }
194
200
 
195
201
  /**
202
+ * Updates parents using the provided dependency.
196
203
  * @param {Dependency} dependency the dependency
197
204
  * @param {DependenciesBlock} block parent block
198
205
  * @param {Module} module parent module
@@ -206,6 +213,7 @@ class ModuleGraph {
206
213
  }
207
214
 
208
215
  /**
216
+ * Sets parent dependencies block index.
209
217
  * @param {Dependency} dependency the dependency
210
218
  * @param {number} index the index
211
219
  * @returns {void}
@@ -215,6 +223,7 @@ class ModuleGraph {
215
223
  }
216
224
 
217
225
  /**
226
+ * Gets parent module.
218
227
  * @param {Dependency} dependency the dependency
219
228
  * @returns {Module | undefined} parent module
220
229
  */
@@ -223,6 +232,7 @@ class ModuleGraph {
223
232
  }
224
233
 
225
234
  /**
235
+ * Returns parent block.
226
236
  * @param {Dependency} dependency the dependency
227
237
  * @returns {DependenciesBlock | undefined} parent block
228
238
  */
@@ -231,6 +241,7 @@ class ModuleGraph {
231
241
  }
232
242
 
233
243
  /**
244
+ * Gets parent block index.
234
245
  * @param {Dependency} dependency the dependency
235
246
  * @returns {number} index
236
247
  */
@@ -239,6 +250,7 @@ class ModuleGraph {
239
250
  }
240
251
 
241
252
  /**
253
+ * Sets resolved module.
242
254
  * @param {Module | null} originModule the referencing module
243
255
  * @param {Dependency} dependency the referencing dependency
244
256
  * @param {Module} module the referenced module
@@ -250,7 +262,8 @@ class ModuleGraph {
250
262
  dependency,
251
263
  module,
252
264
  undefined,
253
- dependency.weak,
265
+ // weak is defined on ModuleDependency; undefined for other dependency kinds
266
+ /** @type {{ weak?: boolean }} */ (dependency).weak,
254
267
  dependency.getCondition(this)
255
268
  );
256
269
  const connections = this._getModuleGraphModule(module).incomingConnections;
@@ -271,6 +284,7 @@ class ModuleGraph {
271
284
  }
272
285
 
273
286
  /**
287
+ * Updates module using the provided dependency.
274
288
  * @param {Dependency} dependency the referencing dependency
275
289
  * @param {Module} module the referenced module
276
290
  * @returns {void}
@@ -294,6 +308,7 @@ class ModuleGraph {
294
308
  }
295
309
 
296
310
  /**
311
+ * Updates parent using the provided dependency.
297
312
  * @param {Dependency} dependency the need update dependency
298
313
  * @param {ModuleGraphConnection=} connection the target connection
299
314
  * @param {Module=} parentModule the parent module
@@ -342,6 +357,7 @@ class ModuleGraph {
342
357
  }
343
358
 
344
359
  /**
360
+ * Finish update parent.
345
361
  * @returns {void}
346
362
  */
347
363
  finishUpdateParent() {
@@ -361,6 +377,7 @@ class ModuleGraph {
361
377
  }
362
378
 
363
379
  /**
380
+ * Removes connection.
364
381
  * @param {Dependency} dependency the referencing dependency
365
382
  * @returns {void}
366
383
  */
@@ -379,6 +396,7 @@ class ModuleGraph {
379
396
  }
380
397
 
381
398
  /**
399
+ * Adds the provided dependency to the module graph.
382
400
  * @param {Dependency} dependency the referencing dependency
383
401
  * @param {string} explanation an explanation
384
402
  * @returns {void}
@@ -391,6 +409,7 @@ class ModuleGraph {
391
409
  }
392
410
 
393
411
  /**
412
+ * Clones module attributes.
394
413
  * @param {Module} sourceModule the source module
395
414
  * @param {Module} targetModule the target module
396
415
  * @returns {void}
@@ -406,6 +425,7 @@ class ModuleGraph {
406
425
  }
407
426
 
408
427
  /**
428
+ * Removes module attributes.
409
429
  * @param {Module} module the module
410
430
  * @returns {void}
411
431
  */
@@ -418,6 +438,7 @@ class ModuleGraph {
418
438
  }
419
439
 
420
440
  /**
441
+ * Removes all module attributes.
421
442
  * @returns {void}
422
443
  */
423
444
  removeAllModuleAttributes() {
@@ -430,6 +451,7 @@ class ModuleGraph {
430
451
  }
431
452
 
432
453
  /**
454
+ * Move module connections.
433
455
  * @param {Module} oldModule the old referencing module
434
456
  * @param {Module} newModule the new referencing module
435
457
  * @param {FilterConnection} filterConnection filter predicate for replacement
@@ -467,6 +489,7 @@ class ModuleGraph {
467
489
  }
468
490
 
469
491
  /**
492
+ * Copies outgoing module connections.
470
493
  * @param {Module} oldModule the old referencing module
471
494
  * @param {Module} newModule the new referencing module
472
495
  * @param {FilterConnection} filterConnection filter predicate for replacement
@@ -498,6 +521,7 @@ class ModuleGraph {
498
521
  }
499
522
 
500
523
  /**
524
+ * Adds the provided module to the module graph.
501
525
  * @param {Module} module the referenced module
502
526
  * @param {string} explanation an explanation why it's referenced
503
527
  * @returns {void}
@@ -508,6 +532,7 @@ class ModuleGraph {
508
532
  }
509
533
 
510
534
  /**
535
+ * Gets resolved module.
511
536
  * @param {Dependency} dependency the dependency to look for a referenced module
512
537
  * @returns {Module | null} the referenced module
513
538
  */
@@ -517,6 +542,7 @@ class ModuleGraph {
517
542
  }
518
543
 
519
544
  /**
545
+ * Returns the connection.
520
546
  * @param {Dependency} dependency the dependency to look for a referenced module
521
547
  * @returns {ModuleGraphConnection | undefined} the connection
522
548
  */
@@ -554,6 +580,7 @@ class ModuleGraph {
554
580
  }
555
581
 
556
582
  /**
583
+ * Returns the referenced module.
557
584
  * @param {Dependency} dependency the dependency to look for a referenced module
558
585
  * @returns {Module | null} the referenced module
559
586
  */
@@ -563,6 +590,7 @@ class ModuleGraph {
563
590
  }
564
591
 
565
592
  /**
593
+ * Returns the referencing module.
566
594
  * @param {Dependency} dependency the dependency to look for a referencing module
567
595
  * @returns {Module | null} the referencing module
568
596
  */
@@ -572,6 +600,7 @@ class ModuleGraph {
572
600
  }
573
601
 
574
602
  /**
603
+ * Gets resolved origin.
575
604
  * @param {Dependency} dependency the dependency to look for a referencing module
576
605
  * @returns {Module | null} the original referencing module
577
606
  */
@@ -581,6 +610,7 @@ class ModuleGraph {
581
610
  }
582
611
 
583
612
  /**
613
+ * Gets incoming connections.
584
614
  * @param {Module} module the module
585
615
  * @returns {Iterable<ModuleGraphConnection>} reasons why a module is included
586
616
  */
@@ -590,6 +620,7 @@ class ModuleGraph {
590
620
  }
591
621
 
592
622
  /**
623
+ * Gets outgoing connections.
593
624
  * @param {Module} module the module
594
625
  * @returns {Iterable<ModuleGraphConnection>} list of outgoing connections
595
626
  */
@@ -599,6 +630,7 @@ class ModuleGraph {
599
630
  }
600
631
 
601
632
  /**
633
+ * Gets incoming connections by origin module.
602
634
  * @param {Module} module the module
603
635
  * @returns {ReadonlyMap<Module | undefined | null, ReadonlyArray<ModuleGraphConnection>>} reasons why a module is included, in a map by source module
604
636
  */
@@ -608,6 +640,7 @@ class ModuleGraph {
608
640
  }
609
641
 
610
642
  /**
643
+ * Gets outgoing connections by module.
611
644
  * @param {Module} module the module
612
645
  * @returns {ReadonlyMap<Module | undefined, ReadonlyArray<ModuleGraphConnection>> | undefined} connections to modules, in a map by module
613
646
  */
@@ -619,6 +652,7 @@ class ModuleGraph {
619
652
  }
620
653
 
621
654
  /**
655
+ * Returns the module profile.
622
656
  * @param {Module} module the module
623
657
  * @returns {ModuleProfile | undefined} the module profile
624
658
  */
@@ -628,6 +662,7 @@ class ModuleGraph {
628
662
  }
629
663
 
630
664
  /**
665
+ * Updates profile using the provided module.
631
666
  * @param {Module} module the module
632
667
  * @param {ModuleProfile | undefined} profile the module profile
633
668
  * @returns {void}
@@ -638,6 +673,7 @@ class ModuleGraph {
638
673
  }
639
674
 
640
675
  /**
676
+ * Returns the issuer module.
641
677
  * @param {Module} module the module
642
678
  * @returns {Issuer} the issuer module
643
679
  */
@@ -647,6 +683,7 @@ class ModuleGraph {
647
683
  }
648
684
 
649
685
  /**
686
+ * Updates issuer using the provided module.
650
687
  * @param {Module} module the module
651
688
  * @param {Module | null} issuer the issuer module
652
689
  * @returns {void}
@@ -657,6 +694,7 @@ class ModuleGraph {
657
694
  }
658
695
 
659
696
  /**
697
+ * Sets issuer if unset.
660
698
  * @param {Module} module the module
661
699
  * @param {Module | null} issuer the issuer module
662
700
  * @returns {void}
@@ -667,6 +705,7 @@ class ModuleGraph {
667
705
  }
668
706
 
669
707
  /**
708
+ * Gets optimization bailout.
670
709
  * @param {Module} module the module
671
710
  * @returns {OptimizationBailouts} optimization bailouts
672
711
  */
@@ -676,6 +715,7 @@ class ModuleGraph {
676
715
  }
677
716
 
678
717
  /**
718
+ * Gets provided exports.
679
719
  * @param {Module} module the module
680
720
  * @returns {null | true | ExportInfoName[]} the provided exports
681
721
  */
@@ -685,6 +725,7 @@ class ModuleGraph {
685
725
  }
686
726
 
687
727
  /**
728
+ * Checks whether this module graph is export provided.
688
729
  * @param {Module} module the module
689
730
  * @param {ExportInfoName | ExportInfoName[]} exportName a name of an export
690
731
  * @returns {boolean | null} true, if the export is provided by the module.
@@ -698,6 +739,7 @@ class ModuleGraph {
698
739
  }
699
740
 
700
741
  /**
742
+ * Returns info about the exports.
701
743
  * @param {Module} module the module
702
744
  * @returns {ExportsInfo} info about the exports
703
745
  */
@@ -707,6 +749,7 @@ class ModuleGraph {
707
749
  }
708
750
 
709
751
  /**
752
+ * Returns info about the export.
710
753
  * @param {Module} module the module
711
754
  * @param {string} exportName the export
712
755
  * @returns {ExportInfo} info about the export
@@ -717,6 +760,7 @@ class ModuleGraph {
717
760
  }
718
761
 
719
762
  /**
763
+ * Gets read only export info.
720
764
  * @param {Module} module the module
721
765
  * @param {string} exportName the export
722
766
  * @returns {ExportInfo} info about the export (do not modify)
@@ -727,6 +771,7 @@ class ModuleGraph {
727
771
  }
728
772
 
729
773
  /**
774
+ * Returns the used exports.
730
775
  * @param {Module} module the module
731
776
  * @param {RuntimeSpec} runtime the runtime
732
777
  * @returns {false | true | SortableSet<string> | null} the used exports
@@ -742,6 +787,7 @@ class ModuleGraph {
742
787
  }
743
788
 
744
789
  /**
790
+ * Gets pre order index.
745
791
  * @param {Module} module the module
746
792
  * @returns {number | null} the index of the module
747
793
  */
@@ -751,6 +797,7 @@ class ModuleGraph {
751
797
  }
752
798
 
753
799
  /**
800
+ * Gets post order index.
754
801
  * @param {Module} module the module
755
802
  * @returns {number | null} the index of the module
756
803
  */
@@ -760,6 +807,7 @@ class ModuleGraph {
760
807
  }
761
808
 
762
809
  /**
810
+ * Sets pre order index.
763
811
  * @param {Module} module the module
764
812
  * @param {number} index the index of the module
765
813
  * @returns {void}
@@ -770,6 +818,7 @@ class ModuleGraph {
770
818
  }
771
819
 
772
820
  /**
821
+ * Sets pre order index if unset.
773
822
  * @param {Module} module the module
774
823
  * @param {number} index the index of the module
775
824
  * @returns {boolean} true, if the index was set
@@ -784,6 +833,7 @@ class ModuleGraph {
784
833
  }
785
834
 
786
835
  /**
836
+ * Sets post order index.
787
837
  * @param {Module} module the module
788
838
  * @param {number} index the index of the module
789
839
  * @returns {void}
@@ -794,6 +844,7 @@ class ModuleGraph {
794
844
  }
795
845
 
796
846
  /**
847
+ * Sets post order index if unset.
797
848
  * @param {Module} module the module
798
849
  * @param {number} index the index of the module
799
850
  * @returns {boolean} true, if the index was set
@@ -808,6 +859,7 @@ class ModuleGraph {
808
859
  }
809
860
 
810
861
  /**
862
+ * Returns the depth of the module.
811
863
  * @param {Module} module the module
812
864
  * @returns {number | null} the depth of the module
813
865
  */
@@ -817,6 +869,7 @@ class ModuleGraph {
817
869
  }
818
870
 
819
871
  /**
872
+ * Updates depth using the provided module.
820
873
  * @param {Module} module the module
821
874
  * @param {number} depth the depth of the module
822
875
  * @returns {void}
@@ -827,6 +880,7 @@ class ModuleGraph {
827
880
  }
828
881
 
829
882
  /**
883
+ * Sets depth if lower.
830
884
  * @param {Module} module the module
831
885
  * @param {number} depth the depth of the module
832
886
  * @returns {boolean} true, if the depth was set
@@ -841,6 +895,7 @@ class ModuleGraph {
841
895
  }
842
896
 
843
897
  /**
898
+ * Checks whether this module graph is async.
844
899
  * @param {Module} module the module
845
900
  * @returns {boolean} true, if the module is async
846
901
  */
@@ -850,6 +905,7 @@ class ModuleGraph {
850
905
  }
851
906
 
852
907
  /**
908
+ * Checks whether this module graph is deferred.
853
909
  * @param {Module} module the module
854
910
  * @returns {boolean} true, if the module is used as a deferred module at least once
855
911
  */
@@ -869,6 +925,7 @@ class ModuleGraph {
869
925
  }
870
926
 
871
927
  /**
928
+ * Updates async using the provided module.
872
929
  * @param {Module} module the module
873
930
  * @returns {void}
874
931
  */
@@ -878,6 +935,7 @@ class ModuleGraph {
878
935
  }
879
936
 
880
937
  /**
938
+ * Returns metadata.
881
939
  * @param {MetaKey} thing any thing
882
940
  * @returns {Meta} metadata
883
941
  */
@@ -891,6 +949,7 @@ class ModuleGraph {
891
949
  }
892
950
 
893
951
  /**
952
+ * Gets meta if existing.
894
953
  * @param {MetaKey} thing any thing
895
954
  * @returns {Meta | undefined} metadata
896
955
  */
@@ -899,6 +958,7 @@ class ModuleGraph {
899
958
  }
900
959
 
901
960
  /**
961
+ * Processes the provided cache stage.
902
962
  * @param {string=} cacheStage a persistent stage name for caching
903
963
  */
904
964
  freeze(cacheStage) {
@@ -912,6 +972,7 @@ class ModuleGraph {
912
972
  }
913
973
 
914
974
  /**
975
+ * Returns computed value or cached.
915
976
  * @template {EXPECTED_ANY[]} T
916
977
  * @template R
917
978
  * @param {(moduleGraph: ModuleGraph, ...args: T) => R} fn computer
@@ -920,10 +981,11 @@ class ModuleGraph {
920
981
  */
921
982
  cached(fn, ...args) {
922
983
  if (this._cache === undefined) return fn(this, ...args);
923
- return this._cache.provide(fn, ...args, () => fn(this, ...args));
984
+ return this._cache.cachedProvide(fn, this, args);
924
985
  }
925
986
 
926
987
  /**
988
+ * Sets module mem caches.
927
989
  * @param {ModuleMemCaches} moduleMemCaches mem caches for modules for better caching
928
990
  */
929
991
  setModuleMemCaches(moduleMemCaches) {
@@ -931,6 +993,7 @@ class ModuleGraph {
931
993
  }
932
994
 
933
995
  /**
996
+ * Dependency cache provide.
934
997
  * @template {Dependency} D
935
998
  * @template {EXPECTED_ANY[]} ARGS
936
999
  * @template R
@@ -961,6 +1024,7 @@ class ModuleGraph {
961
1024
 
962
1025
  // TODO remove in webpack 6
963
1026
  /**
1027
+ * Gets module graph for module.
964
1028
  * @deprecated
965
1029
  * @param {Module} module the module
966
1030
  * @param {string} deprecateMessage message for the deprecation message
@@ -972,6 +1036,7 @@ class ModuleGraph {
972
1036
  if (fn) return fn(module);
973
1037
  const newFn = util.deprecate(
974
1038
  /**
1039
+ * Handles the callback logic for this hook.
975
1040
  * @param {Module} module the module
976
1041
  * @returns {ModuleGraph} the module graph
977
1042
  */
@@ -995,6 +1060,7 @@ class ModuleGraph {
995
1060
 
996
1061
  // TODO remove in webpack 6
997
1062
  /**
1063
+ * Sets module graph for module.
998
1064
  * @deprecated
999
1065
  * @param {Module} module the module
1000
1066
  * @param {ModuleGraph} moduleGraph the module graph
@@ -1006,6 +1072,7 @@ class ModuleGraph {
1006
1072
 
1007
1073
  // TODO remove in webpack 6
1008
1074
  /**
1075
+ * Clear module graph for module.
1009
1076
  * @deprecated
1010
1077
  * @param {Module} module the module
1011
1078
  * @returns {void}
@@ -23,6 +23,7 @@ const CIRCULAR_CONNECTION = Symbol("circular connection");
23
23
  /** @typedef {boolean | typeof TRANSITIVE_ONLY | typeof CIRCULAR_CONNECTION} ConnectionState */
24
24
 
25
25
  /**
26
+ * Adds connection states.
26
27
  * @param {ConnectionState} a first
27
28
  * @param {ConnectionState} b second
28
29
  * @returns {ConnectionState} merged
@@ -37,6 +38,7 @@ const addConnectionStates = (a, b) => {
37
38
  };
38
39
 
39
40
  /**
41
+ * Intersect connection states.
40
42
  * @param {ConnectionState} a first
41
43
  * @param {ConnectionState} b second
42
44
  * @returns {ConnectionState} intersected
@@ -52,6 +54,7 @@ const intersectConnectionStates = (a, b) => {
52
54
 
53
55
  class ModuleGraphConnection {
54
56
  /**
57
+ * Creates an instance of ModuleGraphConnection.
55
58
  * @param {Module | null} originModule the referencing module
56
59
  * @param {Dependency | null} dependency the referencing dependency
57
60
  * @param {Module} module the referenced module
@@ -111,6 +114,7 @@ class ModuleGraphConnection {
111
114
  }
112
115
 
113
116
  /**
117
+ * Adds the provided condition to the module graph connection.
114
118
  * @param {GetConditionFn} condition condition for the connection
115
119
  * @returns {void}
116
120
  */
@@ -129,6 +133,7 @@ class ModuleGraphConnection {
129
133
  }
130
134
 
131
135
  /**
136
+ * Adds the provided explanation to the module graph connection.
132
137
  * @param {string} explanation the explanation to add
133
138
  * @returns {void}
134
139
  */
@@ -145,6 +150,7 @@ class ModuleGraphConnection {
145
150
  }
146
151
 
147
152
  /**
153
+ * Checks whether this module graph connection is active.
148
154
  * @param {RuntimeSpec} runtime the runtime
149
155
  * @returns {boolean} true, if the connection is active
150
156
  */
@@ -157,6 +163,7 @@ class ModuleGraphConnection {
157
163
  }
158
164
 
159
165
  /**
166
+ * Checks whether this module graph connection is target active.
160
167
  * @param {RuntimeSpec} runtime the runtime
161
168
  * @returns {boolean} true, if the connection is active
162
169
  */
@@ -168,6 +175,7 @@ class ModuleGraphConnection {
168
175
  }
169
176
 
170
177
  /**
178
+ * Returns true: fully active, false: inactive, TRANSITIVE: direct module inactive, but transitive connection maybe active.
171
179
  * @param {RuntimeSpec} runtime the runtime
172
180
  * @returns {ConnectionState} true: fully active, false: inactive, TRANSITIVE: direct module inactive, but transitive connection maybe active
173
181
  */
@@ -177,6 +185,7 @@ class ModuleGraphConnection {
177
185
  }
178
186
 
179
187
  /**
188
+ * Updates active using the provided value.
180
189
  * @param {boolean} value active or not
181
190
  * @returns {void}
182
191
  */