webpack 5.106.1 → 5.106.2

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 (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -1
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +59 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +10 -2
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +5 -0
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
@@ -7,10 +7,12 @@
7
7
 
8
8
  const { basename, extname } = require("path");
9
9
  const util = require("util");
10
- const mime = require("mime-types");
11
10
  const Chunk = require("./Chunk");
12
11
  const Module = require("./Module");
13
12
  const { parseResource } = require("./util/identifier");
13
+ const memoize = require("./util/memoize");
14
+
15
+ const getMimeTypes = memoize(() => require("./util/mimeTypes"));
14
16
 
15
17
  /** @typedef {import("./ChunkGraph")} ChunkGraph */
16
18
  /** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
@@ -36,6 +38,7 @@ const prepareId = (id) => {
36
38
  };
37
39
 
38
40
  /**
41
+ * Defines the replacer function callback.
39
42
  * @callback ReplacerFunction
40
43
  * @param {string} match
41
44
  * @param {string | undefined} arg
@@ -43,6 +46,7 @@ const prepareId = (id) => {
43
46
  */
44
47
 
45
48
  /**
49
+ * Returns hash replacer function.
46
50
  * @param {ReplacerFunction} replacer replacer
47
51
  * @param {((arg0: number) => string) | undefined} handler handler
48
52
  * @param {AssetInfo | undefined} assetInfo asset info
@@ -82,6 +86,7 @@ const hashLength = (replacer, handler, assetInfo, hashName) => {
82
86
  /** @typedef {(match: string, arg: string | undefined, input: string) => string} Replacer */
83
87
 
84
88
  /**
89
+ * Returns replacer.
85
90
  * @param {string | number | null | undefined | (() => string | number | null | undefined)} value value
86
91
  * @param {boolean=} allowEmpty allow empty
87
92
  * @returns {Replacer} replacer
@@ -112,6 +117,7 @@ const replacer = (value, allowEmpty) => {
112
117
  const deprecationCache = new Map();
113
118
  const deprecatedFunction = (() => () => {})();
114
119
  /**
120
+ * Returns function with deprecation output.
115
121
  * @template {(...args: EXPECTED_ANY[]) => EXPECTED_ANY} T
116
122
  * @param {T} fn function
117
123
  * @param {string} message message
@@ -136,6 +142,7 @@ const deprecated = (fn, message, code) => {
136
142
  /** @typedef {string | TemplatePathFn} TemplatePath */
137
143
 
138
144
  /**
145
+ * Returns the interpolated path.
139
146
  * @param {TemplatePath} path the raw path
140
147
  * @param {PathData} data context data
141
148
  * @param {AssetInfo=} assetInfo extra info about the asset (will be written to)
@@ -163,7 +170,7 @@ const interpolate = (path, data, assetInfo) => {
163
170
  // check that filename is data uri
164
171
  const match = data.filename.match(/^data:([^;,]+)/);
165
172
  if (match) {
166
- const ext = mime.extension(match[1]);
173
+ const ext = getMimeTypes().extension(match[1]);
167
174
  const emptyReplacer = replacer("", true);
168
175
  // "XXXX" used for `updateHash`, so we don't need it here
169
176
  const contentHash =
@@ -386,7 +393,7 @@ const plugin = "TemplatedPathPlugin";
386
393
 
387
394
  class TemplatedPathPlugin {
388
395
  /**
389
- * Apply the plugin
396
+ * Applies the plugin by registering its hooks on the compiler.
390
397
  * @param {Compiler} compiler the compiler instance
391
398
  * @returns {void}
392
399
  */
@@ -8,8 +8,14 @@
8
8
  const WebpackError = require("./WebpackError");
9
9
  const makeSerializable = require("./util/makeSerializable");
10
10
 
11
+ /**
12
+ * Error raised when webpack encounters a resource URI scheme that no installed
13
+ * plugin knows how to read.
14
+ */
11
15
  class UnhandledSchemeError extends WebpackError {
12
16
  /**
17
+ * Creates an error explaining that the current resource scheme is not
18
+ * supported by the active plugin set.
13
19
  * @param {string} scheme scheme
14
20
  * @param {string} resource resource
15
21
  */
@@ -12,6 +12,7 @@ const makeSerializable = require("./util/makeSerializable");
12
12
 
13
13
  class UnsupportedFeatureWarning extends WebpackError {
14
14
  /**
15
+ * Creates an instance of UnsupportedFeatureWarning.
15
16
  * @param {string} message description of warning
16
17
  * @param {DependencyLocation} loc location start and end positions of the module
17
18
  */
@@ -23,7 +23,7 @@ const PLUGIN_NAME = "UseStrictPlugin";
23
23
 
24
24
  class UseStrictPlugin {
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
  */
@@ -32,6 +32,7 @@ class UseStrictPlugin {
32
32
  PLUGIN_NAME,
33
33
  (compilation, { normalModuleFactory }) => {
34
34
  /**
35
+ * Handles the hook callback for this code path.
35
36
  * @param {JavascriptParser} parser the parser
36
37
  * @param {JavascriptParserOptions} parserOptions the javascript parser options
37
38
  */
@@ -15,7 +15,7 @@ const PLUGIN_NAME = "WarnCaseSensitiveModulesPlugin";
15
15
 
16
16
  class WarnCaseSensitiveModulesPlugin {
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
  */
@@ -25,7 +25,7 @@ class WarnDeprecatedOptionPlugin {
25
25
  }
26
26
 
27
27
  /**
28
- * Apply the plugin
28
+ * Applies the plugin by registering its hooks on the compiler.
29
29
  * @param {Compiler} compiler the compiler instance
30
30
  * @returns {void}
31
31
  */
@@ -13,7 +13,7 @@ const PLUGIN_NAME = "WarnNoModeSetPlugin";
13
13
 
14
14
  class WarnNoModeSetPlugin {
15
15
  /**
16
- * Apply the plugin
16
+ * Applies the plugin by registering its hooks on the compiler.
17
17
  * @param {Compiler} compiler the compiler instance
18
18
  * @returns {void}
19
19
  */
@@ -18,6 +18,7 @@ const IGNORE_TIME_ENTRY = "ignore";
18
18
 
19
19
  class IgnoringWatchFileSystem {
20
20
  /**
21
+ * Creates an instance of IgnoringWatchFileSystem.
21
22
  * @param {WatchFileSystem} wfs original file system
22
23
  * @param {WatchIgnorePluginOptions["paths"]} paths ignored paths
23
24
  */
@@ -31,6 +32,7 @@ class IgnoringWatchFileSystem {
31
32
  files = [...files];
32
33
  dirs = [...dirs];
33
34
  /**
35
+ * Returns true, if path is ignored.
34
36
  * @param {string} path path to check
35
37
  * @returns {boolean} true, if path is ignored
36
38
  */
@@ -119,6 +121,7 @@ const PLUGIN_NAME = "WatchIgnorePlugin";
119
121
 
120
122
  class WatchIgnorePlugin {
121
123
  /**
124
+ * Creates an instance of WatchIgnorePlugin.
122
125
  * @param {WatchIgnorePluginOptions} options options
123
126
  */
124
127
  constructor(options) {
@@ -127,7 +130,7 @@ class WatchIgnorePlugin {
127
130
  }
128
131
 
129
132
  /**
130
- * Apply the plugin
133
+ * Applies the plugin by registering its hooks on the compiler.
131
134
  * @param {Compiler} compiler the compiler instance
132
135
  * @returns {void}
133
136
  */
package/lib/Watching.js CHANGED
@@ -18,6 +18,7 @@ const Stats = require("./Stats");
18
18
  /** @typedef {import("./util/fs").Watcher} Watcher */
19
19
 
20
20
  /**
21
+ * Defines the callback type used by this module.
21
22
  * @template T
22
23
  * @template [R=void]
23
24
  * @typedef {import("./webpack").Callback<T, R>} Callback
@@ -27,6 +28,7 @@ const Stats = require("./Stats");
27
28
 
28
29
  class Watching {
29
30
  /**
31
+ * Creates an instance of Watching.
30
32
  * @param {Compiler} compiler the compiler
31
33
  * @param {WatchOptions} watchOptions options
32
34
  * @param {Callback<Stats>} handler completion handler
@@ -82,6 +84,7 @@ class Watching {
82
84
  }
83
85
 
84
86
  /**
87
+ * Merge with collected.
85
88
  * @param {ReadonlySet<string> | undefined | null} changedFiles changed files
86
89
  * @param {ReadonlySet<string> | undefined | null} removedFiles removed files
87
90
  */
@@ -105,6 +108,7 @@ class Watching {
105
108
  }
106
109
 
107
110
  /**
111
+ * Processes the provided file time info entries.
108
112
  * @param {TimeInfoEntries=} fileTimeInfoEntries info for files
109
113
  * @param {TimeInfoEntries=} contextTimeInfoEntries info for directories
110
114
  * @param {ReadonlySet<string>=} changedFiles changed files
@@ -183,6 +187,7 @@ class Watching {
183
187
  this.compiler.hooks.watchRun.callAsync(this.compiler, (err) => {
184
188
  if (err) return this._done(err);
185
189
  /**
190
+ * Processes the provided err.
186
191
  * @param {Error | null} err error
187
192
  * @param {Compilation=} _compilation compilation
188
193
  * @returns {void}
@@ -242,6 +247,7 @@ class Watching {
242
247
  }
243
248
 
244
249
  /**
250
+ * Returns the compilation stats.
245
251
  * @param {Compilation} compilation the compilation
246
252
  * @returns {Stats} the compilation stats
247
253
  */
@@ -251,6 +257,7 @@ class Watching {
251
257
  }
252
258
 
253
259
  /**
260
+ * Processes the provided err.
254
261
  * @param {(Error | null)=} err an optional error
255
262
  * @param {Compilation=} compilation the compilation
256
263
  * @returns {void}
@@ -266,6 +273,7 @@ class Watching {
266
273
  let stats;
267
274
 
268
275
  /**
276
+ * Processes the provided err.
269
277
  * @param {Error} err error
270
278
  * @param {ErrorCallback[]=} cbs callbacks
271
279
  */
@@ -349,6 +357,7 @@ class Watching {
349
357
  }
350
358
 
351
359
  /**
360
+ * Processes the provided file.
352
361
  * @param {Iterable<string>} files watched files
353
362
  * @param {Iterable<string>} dirs watched directories
354
363
  * @param {Iterable<string>} missing watched existence entries
@@ -398,6 +407,7 @@ class Watching {
398
407
  }
399
408
 
400
409
  /**
410
+ * Processes the provided error callback.
401
411
  * @param {ErrorCallback=} callback signals when the build has completed again
402
412
  * @returns {void}
403
413
  */
@@ -414,6 +424,7 @@ class Watching {
414
424
  }
415
425
 
416
426
  /**
427
+ * Processes the provided file time info entries.
417
428
  * @param {TimeInfoEntries=} fileTimeInfoEntries info for files
418
429
  * @param {TimeInfoEntries=} contextTimeInfoEntries info for directories
419
430
  * @param {ReadonlySet<string>=} changedFiles changed files
@@ -456,6 +467,7 @@ class Watching {
456
467
  }
457
468
 
458
469
  /**
470
+ * Processes the provided error callback.
459
471
  * @param {ErrorCallback} callback signals when the watcher is closed
460
472
  * @returns {void}
461
473
  */
@@ -467,6 +479,7 @@ class Watching {
467
479
  return;
468
480
  }
469
481
  /**
482
+ * Processes the provided err.
470
483
  * @param {WebpackError | null} err error if any
471
484
  * @param {Compilation=} compilation compilation if any
472
485
  */
@@ -481,6 +494,7 @@ class Watching {
481
494
  this.compiler.contextTimestamps = undefined;
482
495
  this.compiler.fsStartTime = undefined;
483
496
  /**
497
+ * Processes the provided err.
484
498
  * @param {WebpackError | null} err error if any
485
499
  */
486
500
  const shutdown = (err) => {
@@ -38,6 +38,7 @@ class WebpackError extends Error {
38
38
  }
39
39
 
40
40
  /**
41
+ * Returns inspect message.
41
42
  * @returns {string} inspect message
42
43
  */
43
44
  [inspect]() {
@@ -49,6 +50,7 @@ class WebpackError extends Error {
49
50
  }
50
51
 
51
52
  /**
53
+ * Serializes this instance into the provided serializer context.
52
54
  * @param {ObjectSerializerContext} context context
53
55
  */
54
56
  serialize({ write }) {
@@ -62,6 +64,7 @@ class WebpackError extends Error {
62
64
  }
63
65
 
64
66
  /**
67
+ * Restores this instance from the provided deserializer context.
65
68
  * @param {ObjectDeserializerContext} context context
66
69
  */
67
70
  deserialize({ read }) {
@@ -25,6 +25,7 @@ const PLUGIN_NAME = "WebpackIsIncludedPlugin";
25
25
 
26
26
  class WebpackIsIncludedPlugin {
27
27
  /**
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
  */
@@ -42,6 +43,7 @@ class WebpackIsIncludedPlugin {
42
43
  );
43
44
 
44
45
  /**
46
+ * Handles the hook callback for this code path.
45
47
  * @param {JavascriptParser} parser the parser
46
48
  * @returns {void}
47
49
  */
@@ -90,6 +90,7 @@ class WebpackOptionsApply extends OptionsApply {
90
90
  }
91
91
 
92
92
  /**
93
+ * Returns options object.
93
94
  * @param {WebpackOptions} options options object
94
95
  * @param {Compiler} compiler compiler object
95
96
  * @param {WebpackOptionsInterception=} interception intercepted options
@@ -13,6 +13,7 @@ const { getNormalizedWebpackOptions } = require("./config/normalization");
13
13
 
14
14
  class WebpackOptionsDefaulter {
15
15
  /**
16
+ * Returns normalized webpack options.
16
17
  * @param {WebpackOptions} options webpack options
17
18
  * @returns {WebpackOptionsNormalized} normalized webpack options
18
19
  */
@@ -29,6 +29,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
29
29
 
30
30
  class AssetSourceGenerator extends Generator {
31
31
  /**
32
+ * Creates an instance of AssetSourceGenerator.
32
33
  * @param {ModuleGraph} moduleGraph the module graph
33
34
  */
34
35
  constructor(moduleGraph) {
@@ -38,6 +39,7 @@ class AssetSourceGenerator extends Generator {
38
39
  }
39
40
 
40
41
  /**
42
+ * Generates generated code for this runtime module.
41
43
  * @param {NormalModule} module module for which the code should be generated
42
44
  * @param {GenerateContext} generateContext context for generate
43
45
  * @returns {Source | null} generated code
@@ -97,6 +99,7 @@ class AssetSourceGenerator extends Generator {
97
99
  }
98
100
 
99
101
  /**
102
+ * Generates fallback output for the provided error condition.
100
103
  * @param {Error} error the error
101
104
  * @param {NormalModule} module module for which the code should be generated
102
105
  * @param {GenerateContext} generateContext context for generate
@@ -115,6 +118,7 @@ class AssetSourceGenerator extends Generator {
115
118
  }
116
119
 
117
120
  /**
121
+ * Returns the reason this module cannot be concatenated, when one exists.
118
122
  * @param {NormalModule} module module for which the bailout reason should be determined
119
123
  * @param {ConcatenationBailoutReasonContext} context context
120
124
  * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
@@ -124,6 +128,7 @@ class AssetSourceGenerator extends Generator {
124
128
  }
125
129
 
126
130
  /**
131
+ * Returns the source types available for this module.
127
132
  * @param {NormalModule} module fresh module
128
133
  * @returns {SourceTypes} available types (do not mutate)
129
134
  */
@@ -153,6 +158,7 @@ class AssetSourceGenerator extends Generator {
153
158
  }
154
159
 
155
160
  /**
161
+ * Returns the estimated size for the requested source type.
156
162
  * @param {NormalModule} module the module
157
163
  * @param {SourceType=} type source type
158
164
  * @returns {number} estimate size of the module
@@ -14,6 +14,7 @@ const Parser = require("../Parser");
14
14
 
15
15
  class AssetBytesParser extends Parser {
16
16
  /**
17
+ * Parses the provided source and updates the parser state.
17
18
  * @param {string | Buffer | PreparsedAst} source the source to parse
18
19
  * @param {ParserState} state the parser state
19
20
  * @returns {ParserState} the parser state
@@ -30,7 +30,7 @@ const { makePathsRelative } = require("../util/identifier");
30
30
  const memoize = require("../util/memoize");
31
31
  const nonNumericOnlyHash = require("../util/nonNumericOnlyHash");
32
32
 
33
- const getMimeTypes = memoize(() => require("mime-types"));
33
+ const getMimeTypes = memoize(() => require("../util/mimeTypes"));
34
34
 
35
35
  /** @typedef {import("webpack-sources").Source} Source */
36
36
  /** @typedef {import("../../declarations/WebpackOptions").AssetGeneratorDataUrlOptions} AssetGeneratorDataUrlOptions */
@@ -58,6 +58,7 @@ const getMimeTypes = memoize(() => require("mime-types"));
58
58
  /** @typedef {(source: string | Buffer, context: { filename: string, module: Module }) => string} DataUrlFunction */
59
59
 
60
60
  /**
61
+ * Merges maybe arrays.
61
62
  * @template T
62
63
  * @template U
63
64
  * @param {null | string | T[] | Set<T> | undefined} a a
@@ -75,6 +76,7 @@ const mergeMaybeArrays = (a, b) => {
75
76
  };
76
77
 
77
78
  /**
79
+ * Merges the provided values into a single result.
78
80
  * @param {AssetInfo} a a
79
81
  * @param {AssetInfo} b b
80
82
  * @returns {AssetInfo} object
@@ -115,6 +117,7 @@ const mergeAssetInfo = (a, b) => {
115
117
  };
116
118
 
117
119
  /**
120
+ * Merges related info.
118
121
  * @param {NonNullable<AssetInfo["related"]>} a a
119
122
  * @param {NonNullable<AssetInfo["related"]>} b b
120
123
  * @returns {NonNullable<AssetInfo["related"]>} object
@@ -131,6 +134,7 @@ const mergeRelatedInfo = (a, b) => {
131
134
  };
132
135
 
133
136
  /**
137
+ * Encodes the provided encoding.
134
138
  * @param {"base64" | false} encoding encoding
135
139
  * @param {Source} source source
136
140
  * @returns {string} encoded data
@@ -169,6 +173,7 @@ const encodeDataUri = (encoding, source) => {
169
173
  };
170
174
 
171
175
  /**
176
+ * Decodes data uri content.
172
177
  * @param {"base64" | false} encoding encoding
173
178
  * @param {string} content content
174
179
  * @returns {Buffer} decoded content
@@ -192,6 +197,7 @@ const DEFAULT_ENCODING = "base64";
192
197
 
193
198
  class AssetGenerator extends Generator {
194
199
  /**
200
+ * Creates an instance of AssetGenerator.
195
201
  * @param {ModuleGraph} moduleGraph the module graph
196
202
  * @param {AssetGeneratorOptions["dataUrl"]=} dataUrlOptions the options for the data url
197
203
  * @param {AssetModuleFilename=} filename override for output.assetModuleFilename
@@ -223,6 +229,7 @@ class AssetGenerator extends Generator {
223
229
  }
224
230
 
225
231
  /**
232
+ * Gets source file name.
226
233
  * @param {NormalModule} module module
227
234
  * @param {RuntimeTemplate} runtimeTemplate runtime template
228
235
  * @returns {string} source file name
@@ -237,6 +244,7 @@ class AssetGenerator extends Generator {
237
244
  }
238
245
 
239
246
  /**
247
+ * Gets full content hash.
240
248
  * @param {NormalModule} module module
241
249
  * @param {RuntimeTemplate} runtimeTemplate runtime template
242
250
  * @returns {[string, string]} return full hash and non-numeric full hash
@@ -271,6 +279,7 @@ class AssetGenerator extends Generator {
271
279
  }
272
280
 
273
281
  /**
282
+ * Gets filename with info.
274
283
  * @param {NormalModule} module module for which the code should be generated
275
284
  * @param {Pick<AssetResourceGeneratorOptions, "filename" | "outputPath">} generatorOptions generator options
276
285
  * @param {{ runtime: RuntimeSpec, runtimeTemplate: RuntimeTemplate, chunkGraph: ChunkGraph }} generateContext context for generate
@@ -322,6 +331,7 @@ class AssetGenerator extends Generator {
322
331
  }
323
332
 
324
333
  /**
334
+ * Gets asset path with info.
325
335
  * @param {NormalModule} module module for which the code should be generated
326
336
  * @param {Pick<AssetResourceGeneratorOptions, "publicPath">} generatorOptions generator options
327
337
  * @param {GenerateContext} generateContext context for generate
@@ -401,6 +411,7 @@ class AssetGenerator extends Generator {
401
411
  }
402
412
 
403
413
  /**
414
+ * Returns the reason this module cannot be concatenated, when one exists.
404
415
  * @param {NormalModule} module module for which the bailout reason should be determined
405
416
  * @param {ConcatenationBailoutReasonContext} context context
406
417
  * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
@@ -410,6 +421,7 @@ class AssetGenerator extends Generator {
410
421
  }
411
422
 
412
423
  /**
424
+ * Returns mime type.
413
425
  * @param {NormalModule} module module
414
426
  * @returns {string} mime type
415
427
  */
@@ -420,7 +432,7 @@ class AssetGenerator extends Generator {
420
432
  );
421
433
  }
422
434
 
423
- /** @type {string | boolean | undefined} */
435
+ /** @type {string | undefined} */
424
436
  let mimeType =
425
437
  /** @type {AssetGeneratorDataUrlOptions} */
426
438
  (this.dataUrlOptions).mimetype;
@@ -462,6 +474,7 @@ class AssetGenerator extends Generator {
462
474
  }
463
475
 
464
476
  /**
477
+ * Generates data uri.
465
478
  * @param {NormalModule} module module for which the code should be generated
466
479
  * @returns {string} DataURI
467
480
  */
@@ -522,6 +535,7 @@ class AssetGenerator extends Generator {
522
535
  }
523
536
 
524
537
  /**
538
+ * Generates generated code for this runtime module.
525
539
  * @param {NormalModule} module module for which the code should be generated
526
540
  * @param {GenerateContext} generateContext context for generate
527
541
  * @returns {Source | null} generated code
@@ -643,6 +657,7 @@ class AssetGenerator extends Generator {
643
657
  }
644
658
 
645
659
  /**
660
+ * Generates fallback output for the provided error condition.
646
661
  * @param {Error} error the error
647
662
  * @param {NormalModule} module module for which the code should be generated
648
663
  * @param {GenerateContext} generateContext context for generate
@@ -664,6 +679,7 @@ class AssetGenerator extends Generator {
664
679
  }
665
680
 
666
681
  /**
682
+ * Returns the source types available for this module.
667
683
  * @param {NormalModule} module fresh module
668
684
  * @returns {SourceTypes} available types (do not mutate)
669
685
  */
@@ -706,6 +722,7 @@ class AssetGenerator extends Generator {
706
722
  }
707
723
 
708
724
  /**
725
+ * Returns the estimated size for the requested source type.
709
726
  * @param {NormalModule} module the module
710
727
  * @param {SourceType=} type source type
711
728
  * @returns {number} estimate size of the module
@@ -742,6 +759,7 @@ class AssetGenerator extends Generator {
742
759
  }
743
760
 
744
761
  /**
762
+ * Updates the hash with the data contributed by this instance.
745
763
  * @param {Hash} hash hash that will be modified
746
764
  * @param {UpdateHashContext} updateHashContext context for updating hash
747
765
  */
@@ -29,6 +29,7 @@ const memoize = require("../util/memoize");
29
29
  /** @typedef {import("../NormalModule").NormalModuleCreateData} NormalModuleCreateData */
30
30
 
31
31
  /**
32
+ * Returns definition.
32
33
  * @param {string} name name of definitions
33
34
  * @returns {Schema} definition
34
35
  */
@@ -60,12 +61,14 @@ const type = ASSET_MODULE_TYPE;
60
61
  const PLUGIN_NAME = "AssetModulesPlugin";
61
62
 
62
63
  /**
64
+ * Represents the asset modules plugin runtime component.
63
65
  * @typedef {object} AssetModulesPluginOptions
64
66
  * @property {boolean=} sideEffectFree
65
67
  */
66
68
 
67
69
  class AssetModulesPlugin {
68
70
  /**
71
+ * Creates an instance of AssetModulesPlugin.
69
72
  * @param {AssetModulesPluginOptions} options options
70
73
  */
71
74
  constructor(options) {
@@ -73,7 +76,7 @@ class AssetModulesPlugin {
73
76
  }
74
77
 
75
78
  /**
76
- * Apply the plugin
79
+ * Applies the plugin by registering its hooks on the compiler.
77
80
  * @param {Compiler} compiler the compiler instance
78
81
  * @returns {void}
79
82
  */
@@ -19,6 +19,7 @@ const Parser = require("../Parser");
19
19
 
20
20
  class AssetParser extends Parser {
21
21
  /**
22
+ * Creates an instance of AssetParser.
22
23
  * @param {AssetParserOptions["dataUrlCondition"] | boolean} dataUrlCondition condition for inlining as DataUrl
23
24
  */
24
25
  constructor(dataUrlCondition) {
@@ -28,6 +29,7 @@ class AssetParser extends Parser {
28
29
  }
29
30
 
30
31
  /**
32
+ * Parses the provided source and updates the parser state.
31
33
  * @param {string | Buffer | PreparsedAst} source the source to parse
32
34
  * @param {ParserState} state the parser state
33
35
  * @returns {ParserState} the parser state
@@ -29,6 +29,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
29
29
 
30
30
  class AssetSourceGenerator extends Generator {
31
31
  /**
32
+ * Creates an instance of AssetSourceGenerator.
32
33
  * @param {ModuleGraph} moduleGraph the module graph
33
34
  */
34
35
  constructor(moduleGraph) {
@@ -38,6 +39,7 @@ class AssetSourceGenerator extends Generator {
38
39
  }
39
40
 
40
41
  /**
42
+ * Generates generated code for this runtime module.
41
43
  * @param {NormalModule} module module for which the code should be generated
42
44
  * @param {GenerateContext} generateContext context for generate
43
45
  * @returns {Source | null} generated code
@@ -96,6 +98,7 @@ class AssetSourceGenerator extends Generator {
96
98
  }
97
99
 
98
100
  /**
101
+ * Generates fallback output for the provided error condition.
99
102
  * @param {Error} error the error
100
103
  * @param {NormalModule} module module for which the code should be generated
101
104
  * @param {GenerateContext} generateContext context for generate
@@ -114,6 +117,7 @@ class AssetSourceGenerator extends Generator {
114
117
  }
115
118
 
116
119
  /**
120
+ * Returns the reason this module cannot be concatenated, when one exists.
117
121
  * @param {NormalModule} module module for which the bailout reason should be determined
118
122
  * @param {ConcatenationBailoutReasonContext} context context
119
123
  * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
@@ -123,6 +127,7 @@ class AssetSourceGenerator extends Generator {
123
127
  }
124
128
 
125
129
  /**
130
+ * Returns the source types available for this module.
126
131
  * @param {NormalModule} module fresh module
127
132
  * @returns {SourceTypes} available types (do not mutate)
128
133
  */
@@ -152,6 +157,7 @@ class AssetSourceGenerator extends Generator {
152
157
  }
153
158
 
154
159
  /**
160
+ * Returns the estimated size for the requested source type.
155
161
  * @param {NormalModule} module the module
156
162
  * @param {SourceType=} type source type
157
163
  * @returns {number} estimate size of the module
@@ -14,6 +14,7 @@ const Parser = require("../Parser");
14
14
 
15
15
  class AssetSourceParser extends Parser {
16
16
  /**
17
+ * Parses the provided source and updates the parser state.
17
18
  * @param {string | Buffer | PreparsedAst} source the source to parse
18
19
  * @param {ParserState} state the parser state
19
20
  * @returns {ParserState} the parser state