webpack 5.106.1 → 5.107.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 (600) hide show
  1. package/README.md +2 -2
  2. package/lib/APIPlugin.js +4 -2
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AutomaticPrefetchPlugin.js +6 -1
  5. package/lib/BannerPlugin.js +10 -1
  6. package/lib/Cache.js +27 -5
  7. package/lib/CacheFacade.js +26 -0
  8. package/lib/Chunk.js +46 -0
  9. package/lib/ChunkGraph.js +111 -0
  10. package/lib/ChunkGroup.js +57 -13
  11. package/lib/ChunkTemplate.js +9 -0
  12. package/lib/CleanPlugin.js +14 -1
  13. package/lib/CodeGenerationResults.js +19 -0
  14. package/lib/CompatibilityPlugin.js +23 -8
  15. package/lib/Compilation.js +161 -27
  16. package/lib/Compiler.js +41 -17
  17. package/lib/ConcatenationScope.js +24 -1
  18. package/lib/ConditionalInitFragment.js +6 -0
  19. package/lib/ConstPlugin.js +4 -1
  20. package/lib/ContextExclusionPlugin.js +2 -1
  21. package/lib/ContextModule.js +14 -2
  22. package/lib/ContextModuleFactory.js +10 -0
  23. package/lib/ContextReplacementPlugin.js +4 -1
  24. package/lib/DefinePlugin.js +22 -9
  25. package/lib/DependenciesBlock.js +6 -1
  26. package/lib/Dependency.js +48 -4
  27. package/lib/DependencyTemplate.js +7 -1
  28. package/lib/DependencyTemplates.js +4 -0
  29. package/lib/DotenvPlugin.js +3 -0
  30. package/lib/DynamicEntryPlugin.js +3 -1
  31. package/lib/EntryOptionPlugin.js +3 -0
  32. package/lib/EntryPlugin.js +2 -1
  33. package/lib/Entrypoint.js +4 -0
  34. package/lib/EnvironmentPlugin.js +3 -2
  35. package/lib/ErrorHelpers.js +7 -0
  36. package/lib/EvalDevToolModulePlugin.js +3 -1
  37. package/lib/EvalSourceMapDevToolPlugin.js +11 -10
  38. package/lib/ExportsInfo.js +56 -2
  39. package/lib/ExportsInfoApiPlugin.js +2 -1
  40. package/lib/ExternalModule.js +114 -15
  41. package/lib/ExternalModuleFactoryPlugin.js +15 -0
  42. package/lib/ExternalsPlugin.js +2 -1
  43. package/lib/FileSystemInfo.js +291 -71
  44. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  45. package/lib/FlagDependencyExportsPlugin.js +4 -1
  46. package/lib/FlagDependencyUsagePlugin.js +5 -1
  47. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  48. package/lib/Generator.js +16 -3
  49. package/lib/HotModuleReplacementPlugin.js +35 -9
  50. package/lib/IgnorePlugin.js +4 -2
  51. package/lib/IgnoreWarningsPlugin.js +2 -1
  52. package/lib/InitFragment.js +10 -0
  53. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  54. package/lib/LibraryTemplatePlugin.js +2 -1
  55. package/lib/LoaderOptionsPlugin.js +3 -1
  56. package/lib/LoaderTargetPlugin.js +2 -1
  57. package/lib/MainTemplate.js +15 -0
  58. package/lib/ManifestPlugin.js +9 -2
  59. package/lib/Module.js +101 -19
  60. package/lib/ModuleFactory.js +6 -1
  61. package/lib/ModuleFilenameHelpers.js +3 -0
  62. package/lib/ModuleGraph.js +66 -0
  63. package/lib/ModuleGraphConnection.js +9 -0
  64. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  65. package/lib/ModuleSourceTypeConstants.js +32 -1
  66. package/lib/ModuleTemplate.js +8 -0
  67. package/lib/ModuleTypeConstants.js +12 -3
  68. package/lib/MultiCompiler.js +30 -2
  69. package/lib/MultiStats.js +8 -0
  70. package/lib/MultiWatching.js +3 -0
  71. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  72. package/lib/NodeStuffPlugin.js +11 -2
  73. package/lib/NormalModule.js +43 -33
  74. package/lib/NormalModuleFactory.js +35 -2
  75. package/lib/NormalModuleReplacementPlugin.js +1 -1
  76. package/lib/NullFactory.js +1 -0
  77. package/lib/OptionsApply.js +1 -0
  78. package/lib/Parser.js +3 -1
  79. package/lib/PlatformPlugin.js +2 -1
  80. package/lib/PrefetchPlugin.js +2 -1
  81. package/lib/ProgressPlugin.js +158 -68
  82. package/lib/ProvidePlugin.js +3 -1
  83. package/lib/RawModule.js +12 -0
  84. package/lib/RecordIdsPlugin.js +8 -0
  85. package/lib/RequestShortener.js +8 -0
  86. package/lib/ResolverFactory.js +5 -0
  87. package/lib/RuntimeGlobals.js +6 -5
  88. package/lib/RuntimeModule.js +22 -7
  89. package/lib/RuntimePlugin.js +13 -0
  90. package/lib/RuntimeTemplate.js +35 -1
  91. package/lib/SelfModuleFactory.js +2 -0
  92. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  93. package/lib/SourceMapDevToolPlugin.js +3 -1
  94. package/lib/Stats.js +5 -0
  95. package/lib/Template.js +20 -0
  96. package/lib/TemplatedPathPlugin.js +10 -3
  97. package/lib/UseStrictPlugin.js +2 -1
  98. package/lib/WarnCaseSensitiveModulesPlugin.js +71 -3
  99. package/lib/WarnDeprecatedOptionPlugin.js +2 -2
  100. package/lib/WarnNoModeSetPlugin.js +17 -2
  101. package/lib/WatchIgnorePlugin.js +4 -1
  102. package/lib/Watching.js +16 -3
  103. package/lib/WebpackError.js +3 -74
  104. package/lib/WebpackIsIncludedPlugin.js +3 -1
  105. package/lib/WebpackOptionsApply.js +14 -1
  106. package/lib/WebpackOptionsDefaulter.js +1 -0
  107. package/lib/asset/AssetBytesGenerator.js +12 -2
  108. package/lib/asset/AssetBytesParser.js +1 -0
  109. package/lib/asset/AssetGenerator.js +42 -10
  110. package/lib/asset/AssetModulesPlugin.js +7 -2
  111. package/lib/asset/AssetParser.js +2 -0
  112. package/lib/asset/AssetSourceGenerator.js +12 -2
  113. package/lib/asset/AssetSourceParser.js +1 -0
  114. package/lib/asset/RawDataUrlModule.js +11 -0
  115. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  116. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  117. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  118. package/lib/buildChunkGraph.js +19 -6
  119. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  120. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  121. package/lib/cache/IdleFileCachePlugin.js +2 -1
  122. package/lib/cache/MemoryCachePlugin.js +1 -1
  123. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  124. package/lib/cache/PackFileCacheStrategy.js +33 -4
  125. package/lib/cache/ResolverCachePlugin.js +10 -1
  126. package/lib/cache/getLazyHashedEtag.js +4 -0
  127. package/lib/cache/mergeEtags.js +2 -0
  128. package/lib/cli.js +33 -1
  129. package/lib/config/browserslistTargetHandler.js +2 -0
  130. package/lib/config/defaults.js +232 -12
  131. package/lib/config/normalization.js +15 -1
  132. package/lib/config/target.js +11 -0
  133. package/lib/container/ContainerEntryDependency.js +2 -0
  134. package/lib/container/ContainerEntryModule.js +12 -0
  135. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  136. package/lib/container/ContainerExposedDependency.js +4 -0
  137. package/lib/container/ContainerPlugin.js +2 -1
  138. package/lib/container/ContainerReferencePlugin.js +2 -1
  139. package/lib/container/FallbackDependency.js +4 -0
  140. package/lib/container/FallbackItemDependency.js +1 -0
  141. package/lib/container/FallbackModule.js +12 -0
  142. package/lib/container/FallbackModuleFactory.js +1 -0
  143. package/lib/container/ModuleFederationPlugin.js +3 -1
  144. package/lib/container/RemoteModule.js +13 -0
  145. package/lib/container/RemoteRuntimeModule.js +1 -0
  146. package/lib/container/RemoteToExternalDependency.js +1 -0
  147. package/lib/container/options.js +7 -0
  148. package/lib/css/CssGenerator.js +336 -100
  149. package/lib/css/CssInjectStyleRuntimeModule.js +45 -42
  150. package/lib/css/CssLoadingRuntimeModule.js +23 -4
  151. package/lib/{CssModule.js → css/CssModule.js} +21 -15
  152. package/lib/css/CssModulesPlugin.js +235 -89
  153. package/lib/css/CssParser.js +616 -261
  154. package/lib/css/walkCssTokens.js +179 -2
  155. package/lib/debug/ProfilingPlugin.js +19 -1
  156. package/lib/dependencies/AMDDefineDependency.js +7 -0
  157. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  158. package/lib/dependencies/AMDPlugin.js +4 -1
  159. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  160. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  161. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  162. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +14 -1
  163. package/lib/dependencies/AMDRequireDependency.js +4 -0
  164. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  165. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  166. package/lib/dependencies/CachedConstDependency.js +6 -1
  167. package/lib/dependencies/CommonJsDependencyHelpers.js +64 -0
  168. package/lib/dependencies/CommonJsExportRequireDependency.js +62 -10
  169. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  170. package/lib/dependencies/CommonJsExportsParserPlugin.js +9 -1
  171. package/lib/dependencies/CommonJsFullRequireDependency.js +36 -9
  172. package/lib/dependencies/CommonJsImportsParserPlugin.js +24 -3
  173. package/lib/dependencies/CommonJsPlugin.js +4 -1
  174. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  175. package/lib/dependencies/CommonJsRequireDependency.js +70 -4
  176. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  177. package/lib/dependencies/ConstDependency.js +6 -1
  178. package/lib/dependencies/ContextDependency.js +9 -2
  179. package/lib/dependencies/ContextDependencyHelpers.js +4 -1
  180. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  181. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  182. package/lib/dependencies/ContextElementDependency.js +4 -0
  183. package/lib/dependencies/CreateRequireParserPlugin.js +7 -1
  184. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  185. package/lib/dependencies/CriticalDependencyWarning.js +2 -1
  186. package/lib/dependencies/CssIcssExportDependency.js +339 -66
  187. package/lib/dependencies/CssIcssImportDependency.js +53 -8
  188. package/lib/dependencies/CssIcssSymbolDependency.js +16 -4
  189. package/lib/dependencies/CssImportDependency.js +12 -0
  190. package/lib/dependencies/CssUrlDependency.js +32 -0
  191. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  192. package/lib/dependencies/DllEntryDependency.js +3 -0
  193. package/lib/dependencies/DynamicExports.js +5 -0
  194. package/lib/dependencies/EntryDependency.js +1 -0
  195. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  196. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  197. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  198. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  199. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  200. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  201. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  202. package/lib/dependencies/HarmonyDetectionParserPlugin.js +4 -1
  203. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  204. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +10 -7
  205. package/lib/dependencies/HarmonyExportExpressionDependency.js +27 -14
  206. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  207. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -5
  208. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  209. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  210. package/lib/dependencies/HarmonyExports.js +2 -0
  211. package/lib/dependencies/HarmonyImportDependency.js +21 -2
  212. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -1
  213. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  214. package/lib/dependencies/HarmonyImportSpecifierDependency.js +18 -3
  215. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +5 -3
  216. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  217. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  218. package/lib/dependencies/HtmlInlineScriptDependency.js +133 -0
  219. package/lib/dependencies/HtmlInlineStyleDependency.js +101 -0
  220. package/lib/dependencies/HtmlScriptSrcDependency.js +318 -0
  221. package/lib/dependencies/HtmlSourceDependency.js +127 -0
  222. package/lib/dependencies/ImportContextDependency.js +4 -0
  223. package/lib/dependencies/ImportDependency.js +5 -0
  224. package/lib/dependencies/ImportEagerDependency.js +2 -0
  225. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  226. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -1
  227. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  228. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  229. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  230. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  231. package/lib/dependencies/ImportParserPlugin.js +9 -2
  232. package/lib/dependencies/ImportPhase.js +7 -3
  233. package/lib/dependencies/ImportPlugin.js +2 -1
  234. package/lib/dependencies/ImportWeakDependency.js +2 -0
  235. package/lib/dependencies/JsonExportsDependency.js +6 -1
  236. package/lib/dependencies/LoaderDependency.js +2 -0
  237. package/lib/dependencies/LoaderImportDependency.js +2 -0
  238. package/lib/dependencies/LoaderPlugin.js +4 -1
  239. package/lib/dependencies/LocalModule.js +4 -0
  240. package/lib/dependencies/LocalModuleDependency.js +4 -0
  241. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  242. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  243. package/lib/dependencies/ModuleDependency.js +7 -0
  244. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  245. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  246. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  247. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  248. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  249. package/lib/dependencies/NullDependency.js +2 -0
  250. package/lib/dependencies/PrefetchDependency.js +1 -0
  251. package/lib/dependencies/ProvidedDependency.js +6 -1
  252. package/lib/dependencies/PureExpressionDependency.js +7 -1
  253. package/lib/dependencies/RequireContextDependency.js +1 -0
  254. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  255. package/lib/dependencies/RequireContextPlugin.js +2 -1
  256. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  257. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  258. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  259. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  260. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  261. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  262. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  263. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +4 -1
  264. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  265. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  266. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  267. package/lib/dependencies/RequireResolveDependency.js +1 -0
  268. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  269. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  270. package/lib/dependencies/StaticExportsDependency.js +3 -0
  271. package/lib/dependencies/SystemPlugin.js +5 -2
  272. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  273. package/lib/dependencies/URLContextDependency.js +3 -0
  274. package/lib/dependencies/URLDependency.js +6 -0
  275. package/lib/dependencies/URLPlugin.js +2 -0
  276. package/lib/dependencies/UnsupportedDependency.js +4 -0
  277. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  278. package/lib/dependencies/WebAssemblyImportDependency.js +5 -2
  279. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  280. package/lib/dependencies/WorkerDependency.js +6 -1
  281. package/lib/dependencies/WorkerPlugin.js +11 -3
  282. package/lib/dependencies/getFunctionExpression.js +1 -0
  283. package/lib/dependencies/processExportInfo.js +1 -0
  284. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +44 -31
  285. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +7 -4
  286. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +4 -3
  287. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +6 -5
  288. package/lib/{DllModule.js → dll/DllModule.js} +35 -24
  289. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  290. package/lib/{DllPlugin.js → dll/DllPlugin.js} +8 -6
  291. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +23 -18
  292. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +13 -10
  293. package/lib/electron/ElectronTargetPlugin.js +2 -1
  294. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  295. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  296. package/lib/errors/BuildCycleError.js +1 -1
  297. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  298. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  299. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  300. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +4 -2
  301. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +4 -4
  302. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +11 -5
  303. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +6 -4
  304. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +4 -3
  305. package/lib/errors/JSONParseError.js +114 -0
  306. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +8 -5
  307. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +2 -2
  308. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +5 -4
  309. package/lib/{ModuleError.js → errors/ModuleError.js} +7 -5
  310. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +1 -1
  311. package/lib/{ModuleNotFoundError.js → errors/ModuleNotFoundError.js} +3 -2
  312. package/lib/{ModuleParseError.js → errors/ModuleParseError.js} +11 -6
  313. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +2 -1
  314. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +2 -1
  315. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +8 -5
  316. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +5 -4
  317. package/lib/errors/NonErrorEmittedError.js +28 -0
  318. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +8 -2
  319. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  320. package/lib/errors/WebpackError.js +84 -0
  321. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  322. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  323. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  324. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  325. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  326. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  327. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  328. package/lib/hmr/lazyCompilationBackend.js +2 -0
  329. package/lib/html/HtmlGenerator.js +379 -0
  330. package/lib/html/HtmlModulesPlugin.js +433 -0
  331. package/lib/html/HtmlParser.js +1489 -0
  332. package/lib/html/walkHtmlTokens.js +2733 -0
  333. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  334. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  335. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  336. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  337. package/lib/ids/IdHelpers.js +22 -1
  338. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  339. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  340. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  341. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  342. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  343. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  344. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  345. package/lib/index.js +39 -15
  346. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  347. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  348. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  349. package/lib/javascript/ChunkHelpers.js +1 -0
  350. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  351. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  352. package/lib/javascript/JavascriptGenerator.js +10 -0
  353. package/lib/javascript/JavascriptModulesPlugin.js +112 -9
  354. package/lib/javascript/JavascriptParser.js +360 -16
  355. package/lib/javascript/JavascriptParserHelpers.js +7 -1
  356. package/lib/javascript/StartupHelpers.js +5 -0
  357. package/lib/json/JsonData.js +5 -0
  358. package/lib/json/JsonGenerator.js +21 -0
  359. package/lib/json/JsonModulesPlugin.js +1 -1
  360. package/lib/json/JsonParser.js +14 -25
  361. package/lib/library/AbstractLibraryPlugin.js +17 -2
  362. package/lib/library/AmdLibraryPlugin.js +8 -0
  363. package/lib/library/AssignLibraryPlugin.js +16 -0
  364. package/lib/library/EnableLibraryPlugin.js +8 -2
  365. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  366. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +1 -1
  367. package/lib/library/JsonpLibraryPlugin.js +8 -0
  368. package/lib/library/ModuleLibraryPlugin.js +86 -1
  369. package/lib/library/SystemLibraryPlugin.js +8 -0
  370. package/lib/library/UmdLibraryPlugin.js +16 -0
  371. package/lib/logging/Logger.js +17 -0
  372. package/lib/logging/createConsoleLogger.js +7 -0
  373. package/lib/logging/runtime.js +2 -0
  374. package/lib/logging/truncateArgs.js +2 -0
  375. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  376. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  377. package/lib/node/NodeSourcePlugin.js +1 -1
  378. package/lib/node/NodeTargetPlugin.js +2 -1
  379. package/lib/node/NodeTemplatePlugin.js +3 -1
  380. package/lib/node/NodeWatchFileSystem.js +2 -0
  381. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  382. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  383. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  384. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  385. package/lib/node/nodeConsole.js +116 -64
  386. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  387. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  388. package/lib/optimize/ConcatenatedModule.js +62 -6
  389. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  390. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  391. package/lib/optimize/InnerGraph.js +16 -1
  392. package/lib/optimize/InnerGraphPlugin.js +14 -2
  393. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  394. package/lib/optimize/MangleExportsPlugin.js +5 -1
  395. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  396. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  397. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  398. package/lib/optimize/ModuleConcatenationPlugin.js +36 -8
  399. package/lib/optimize/RealContentHashPlugin.js +104 -26
  400. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  401. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  402. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  403. package/lib/optimize/SideEffectsFlagPlugin.js +118 -4
  404. package/lib/optimize/SplitChunksPlugin.js +50 -2
  405. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  406. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  407. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  408. package/lib/performance/SizeLimitsPlugin.js +8 -2
  409. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  410. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  411. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  412. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  413. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  414. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  415. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  416. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  417. package/lib/rules/RuleSetCompiler.js +18 -0
  418. package/lib/rules/UseEffectRulePlugin.js +10 -3
  419. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  420. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  421. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  422. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  423. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  424. package/lib/runtime/CompatRuntimeModule.js +2 -0
  425. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  426. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  427. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  428. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  429. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  430. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  431. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  432. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  433. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  434. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  435. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  436. package/lib/runtime/HelperRuntimeModule.js +5 -0
  437. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  438. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +121 -13
  439. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  440. package/lib/runtime/NonceRuntimeModule.js +1 -0
  441. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  442. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  443. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  444. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  445. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +35 -0
  446. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  447. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  448. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  449. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  450. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  451. package/lib/schemes/DataUriPlugin.js +14 -2
  452. package/lib/schemes/FileUriPlugin.js +1 -1
  453. package/lib/schemes/HttpUriPlugin.js +43 -1
  454. package/lib/schemes/VirtualUrlPlugin.js +7 -2
  455. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  456. package/lib/serialization/ArraySerializer.js +2 -0
  457. package/lib/serialization/BinaryMiddleware.js +20 -1
  458. package/lib/serialization/DateObjectSerializer.js +2 -0
  459. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  460. package/lib/serialization/FileMiddleware.js +21 -0
  461. package/lib/serialization/MapObjectSerializer.js +2 -0
  462. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  463. package/lib/serialization/ObjectMiddleware.js +23 -0
  464. package/lib/serialization/PlainObjectSerializer.js +7 -0
  465. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  466. package/lib/serialization/Serializer.js +5 -0
  467. package/lib/serialization/SerializerMiddleware.js +14 -2
  468. package/lib/serialization/SetObjectSerializer.js +2 -0
  469. package/lib/serialization/SingleItemMiddleware.js +3 -0
  470. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  471. package/lib/sharing/ConsumeSharedModule.js +15 -0
  472. package/lib/sharing/ConsumeSharedPlugin.js +8 -3
  473. package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -4
  474. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  475. package/lib/sharing/ProvideSharedDependency.js +4 -0
  476. package/lib/sharing/ProvideSharedModule.js +12 -1
  477. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  478. package/lib/sharing/ProvideSharedPlugin.js +5 -2
  479. package/lib/sharing/SharePlugin.js +2 -1
  480. package/lib/sharing/ShareRuntimeModule.js +1 -0
  481. package/lib/sharing/resolveMatchedConfigs.js +4 -1
  482. package/lib/sharing/utils.js +8 -0
  483. package/lib/stats/DefaultStatsFactoryPlugin.js +58 -3
  484. package/lib/stats/DefaultStatsPresetPlugin.js +12 -2
  485. package/lib/stats/DefaultStatsPrinterPlugin.js +38 -2
  486. package/lib/stats/StatsFactory.js +13 -1
  487. package/lib/stats/StatsPrinter.js +7 -0
  488. package/lib/typescript/TypeScriptPlugin.js +210 -0
  489. package/lib/url/URLParserPlugin.js +8 -2
  490. package/lib/util/AppendOnlyStackedSet.js +15 -0
  491. package/lib/util/ArrayHelpers.js +1 -0
  492. package/lib/util/ArrayQueue.js +10 -5
  493. package/lib/util/AsyncQueue.js +22 -2
  494. package/lib/util/Hash.js +2 -2
  495. package/lib/util/IterableHelpers.js +3 -0
  496. package/lib/util/LazyBucketSortedSet.js +21 -0
  497. package/lib/util/LazySet.js +39 -0
  498. package/lib/util/LocConverter.js +53 -0
  499. package/lib/util/ParallelismFactorCalculator.js +1 -0
  500. package/lib/util/Queue.js +6 -3
  501. package/lib/util/Semaphore.js +14 -1
  502. package/lib/util/SetHelpers.js +3 -0
  503. package/lib/util/SortableSet.js +7 -1
  504. package/lib/util/StackedCacheMap.js +20 -3
  505. package/lib/util/StackedMap.js +45 -0
  506. package/lib/util/StringXor.js +1 -1
  507. package/lib/util/TupleQueue.js +7 -3
  508. package/lib/util/TupleSet.js +13 -0
  509. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  510. package/lib/util/WeakTupleMap.js +33 -0
  511. package/lib/util/binarySearchBounds.js +1 -0
  512. package/lib/util/cleverMerge.js +19 -2
  513. package/lib/util/comparators.js +34 -3
  514. package/lib/util/compileBooleanMatcher.js +9 -0
  515. package/lib/util/concatenate.js +9 -3
  516. package/lib/util/conventions.js +46 -1
  517. package/lib/util/createMappings.js +118 -0
  518. package/lib/util/dataURL.js +1 -0
  519. package/lib/util/deprecation.js +19 -0
  520. package/lib/util/deterministicGrouping.js +20 -0
  521. package/lib/util/extractSourceMap.js +1 -0
  522. package/lib/util/extractUrlAndGlobal.js +1 -0
  523. package/lib/util/findGraphRoots.js +5 -0
  524. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  525. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +4 -1
  526. package/lib/util/fs.js +71 -8
  527. package/lib/util/generateDebugId.js +1 -0
  528. package/lib/util/hash/BatchedHash.js +1 -0
  529. package/lib/util/hash/BulkUpdateHash.js +1 -0
  530. package/lib/util/hash/hash-digest.js +8 -0
  531. package/lib/util/hash/md4.js +1 -1
  532. package/lib/util/hash/wasm-hash.js +5 -0
  533. package/lib/util/hash/xxhash64.js +1 -1
  534. package/lib/util/identifier.js +67 -0
  535. package/lib/util/internalSerializables.js +35 -19
  536. package/lib/util/magicComment.js +10 -6
  537. package/lib/util/makeSerializable.js +6 -0
  538. package/lib/util/memoize.js +2 -0
  539. package/lib/util/mimeTypes.js +176 -0
  540. package/lib/util/nonNumericOnlyHash.js +1 -0
  541. package/lib/util/parseJson.js +41 -0
  542. package/lib/util/processAsyncTree.js +8 -0
  543. package/lib/util/property.js +1 -0
  544. package/lib/util/registerExternalSerializer.js +20 -0
  545. package/lib/util/removeBOM.js +1 -0
  546. package/lib/util/runtime.js +32 -0
  547. package/lib/util/semver.js +15 -0
  548. package/lib/util/serialization.js +2 -0
  549. package/lib/util/smartGrouping.js +8 -0
  550. package/lib/util/source.js +23 -0
  551. package/lib/util/topologicalSort.js +69 -0
  552. package/lib/validateSchema.js +1 -0
  553. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  554. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  555. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  556. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  557. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  558. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +12 -3
  559. package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
  560. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  561. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +6 -3
  562. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  563. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
  564. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  565. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +7 -3
  566. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  567. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  568. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  569. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  570. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  571. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  572. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  573. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  574. package/lib/web/JsonpTemplatePlugin.js +2 -1
  575. package/lib/webpack.js +13 -1
  576. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  577. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  578. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  579. package/package.json +31 -31
  580. package/schemas/WebpackOptions.check.js +1 -1
  581. package/schemas/WebpackOptions.json +161 -57
  582. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  583. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  584. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  585. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  586. package/schemas/plugins/ProgressPlugin.json +22 -0
  587. package/schemas/plugins/{DllReferencePlugin.check.d.ts → css/CssAutoOrModuleParserOptions.check.d.ts} +1 -1
  588. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  589. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  590. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  591. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  592. package/types.d.ts +5325 -353
  593. package/lib/CaseSensitiveModulesWarning.js +0 -72
  594. package/lib/GraphHelpers.js +0 -46
  595. package/lib/NoModeWarning.js +0 -23
  596. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  597. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  598. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  599. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  600. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -40,6 +40,16 @@ const CSS_IMPORT_TYPE = "css-import";
40
40
  */
41
41
  const CSS_URL_TYPE = "css-url";
42
42
 
43
+ /**
44
+ * @type {Readonly<"css-text">}
45
+ */
46
+ const CSS_TEXT_TYPE = "css-text";
47
+
48
+ /**
49
+ * @type {Readonly<"html">}
50
+ */
51
+ const HTML_TYPE = "html";
52
+
43
53
  /**
44
54
  * @type {Readonly<"share-init">}
45
55
  */
@@ -61,7 +71,8 @@ const CONSUME_SHARED_GENERATOR_TYPE = "consume-shared";
61
71
  const UNKNOWN_TYPE = "unknown";
62
72
 
63
73
  /**
64
- * @typedef {JAVASCRIPT_TYPE | RUNTIME_TYPE | WEBASSEMBLY_TYPE | ASSET_TYPE | CSS_TYPE | CSS_IMPORT_TYPE | CSS_URL_TYPE | SHARED_INIT_TYPE | REMOTE_GENERATOR_TYPE | CONSUME_SHARED_GENERATOR_TYPE | UNKNOWN_TYPE} AllTypes
74
+ * Defines the all types type used by this module.
75
+ * @typedef {JAVASCRIPT_TYPE | RUNTIME_TYPE | WEBASSEMBLY_TYPE | ASSET_TYPE | CSS_TYPE | CSS_IMPORT_TYPE | CSS_URL_TYPE | CSS_TEXT_TYPE | HTML_TYPE | SHARED_INIT_TYPE | REMOTE_GENERATOR_TYPE | CONSUME_SHARED_GENERATOR_TYPE | UNKNOWN_TYPE} AllTypes
65
76
  */
66
77
 
67
78
  /**
@@ -117,11 +128,26 @@ const CSS_TYPES = new Set([CSS_TYPE]);
117
128
  * @type {ReadonlySet<"css-url">}
118
129
  */
119
130
  const CSS_URL_TYPES = new Set([CSS_URL_TYPE]);
131
+
132
+ /**
133
+ * @type {ReadonlySet<"css-text">}
134
+ */
135
+ const CSS_TEXT_TYPES = new Set([CSS_TEXT_TYPE]);
136
+
137
+ /**
138
+ * @type {ReadonlySet<"javascript" | "css-text">}
139
+ */
140
+ const JAVASCRIPT_AND_CSS_TEXT_TYPES = new Set([JAVASCRIPT_TYPE, CSS_TEXT_TYPE]);
120
141
  /**
121
142
  * @type {ReadonlySet<"css-import">}
122
143
  */
123
144
  const CSS_IMPORT_TYPES = new Set([CSS_IMPORT_TYPE]);
124
145
 
146
+ /**
147
+ * @type {ReadonlySet<"html">}
148
+ */
149
+ const HTML_TYPES = new Set([HTML_TYPE]);
150
+
125
151
  /**
126
152
  * @type {ReadonlySet<"webassembly">}
127
153
  */
@@ -159,11 +185,16 @@ module.exports.ASSET_TYPES = ASSET_TYPES;
159
185
  module.exports.CONSUME_SHARED_TYPES = CONSUME_SHARED_TYPES;
160
186
  module.exports.CSS_IMPORT_TYPE = CSS_IMPORT_TYPE;
161
187
  module.exports.CSS_IMPORT_TYPES = CSS_IMPORT_TYPES;
188
+ module.exports.CSS_TEXT_TYPE = CSS_TEXT_TYPE;
189
+ module.exports.CSS_TEXT_TYPES = CSS_TEXT_TYPES;
162
190
  module.exports.CSS_TYPE = CSS_TYPE;
163
191
  module.exports.CSS_TYPE = CSS_TYPE;
164
192
  module.exports.CSS_TYPES = CSS_TYPES;
165
193
  module.exports.CSS_URL_TYPE = CSS_URL_TYPE;
166
194
  module.exports.CSS_URL_TYPES = CSS_URL_TYPES;
195
+ module.exports.HTML_TYPE = HTML_TYPE;
196
+ module.exports.HTML_TYPES = HTML_TYPES;
197
+ module.exports.JAVASCRIPT_AND_CSS_TEXT_TYPES = JAVASCRIPT_AND_CSS_TEXT_TYPES;
167
198
  module.exports.JAVASCRIPT_AND_CSS_TYPES = JAVASCRIPT_AND_CSS_TYPES;
168
199
  module.exports.JAVASCRIPT_AND_CSS_URL_TYPES = JAVASCRIPT_AND_CSS_URL_TYPES;
169
200
  module.exports.JAVASCRIPT_TYPE = JAVASCRIPT_TYPE;
@@ -20,6 +20,7 @@ const memoize = require("./util/memoize");
20
20
  /** @typedef {import("./util/Hash")} Hash */
21
21
 
22
22
  /**
23
+ * Defines the if set type used by this module.
23
24
  * @template T
24
25
  * @typedef {import("tapable").IfSet<T>} IfSet
25
26
  */
@@ -31,6 +32,7 @@ const getJavascriptModulesPlugin = memoize(() =>
31
32
  // TODO webpack 6: remove this class
32
33
  class ModuleTemplate {
33
34
  /**
35
+ * Creates an instance of ModuleTemplate.
34
36
  * @param {RuntimeTemplate} runtimeTemplate the runtime template
35
37
  * @param {Compilation} compilation the compilation
36
38
  */
@@ -41,6 +43,7 @@ class ModuleTemplate {
41
43
  content: {
42
44
  tap: util.deprecate(
43
45
  /**
46
+ * Handles the callback logic for this hook.
44
47
  * @template AdditionalOptions
45
48
  * @param {string | Tap & IfSet<AdditionalOptions>} options options
46
49
  * @param {(source: Source, module: Module, moduleRenderContext: ModuleRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
@@ -66,6 +69,7 @@ class ModuleTemplate {
66
69
  module: {
67
70
  tap: util.deprecate(
68
71
  /**
72
+ * Handles the callback logic for this hook.
69
73
  * @template AdditionalOptions
70
74
  * @param {string | Tap & IfSet<AdditionalOptions>} options options
71
75
  * @param {(source: Source, module: Module, moduleRenderContext: ModuleRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
@@ -91,6 +95,7 @@ class ModuleTemplate {
91
95
  render: {
92
96
  tap: util.deprecate(
93
97
  /**
98
+ * Handles the callback logic for this hook.
94
99
  * @template AdditionalOptions
95
100
  * @param {string | Tap & IfSet<AdditionalOptions>} options options
96
101
  * @param {(source: Source, module: Module, chunkRenderContext: ChunkRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
@@ -116,6 +121,7 @@ class ModuleTemplate {
116
121
  package: {
117
122
  tap: util.deprecate(
118
123
  /**
124
+ * Handles the callback logic for this hook.
119
125
  * @template AdditionalOptions
120
126
  * @param {string | Tap & IfSet<AdditionalOptions>} options options
121
127
  * @param {(source: Source, module: Module, chunkRenderContext: ChunkRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
@@ -141,6 +147,7 @@ class ModuleTemplate {
141
147
  hash: {
142
148
  tap: util.deprecate(
143
149
  /**
150
+ * Handles the callback logic for this hook.
144
151
  * @template AdditionalOptions
145
152
  * @param {string | Tap & IfSet<AdditionalOptions>} options options
146
153
  * @param {(hash: Hash) => void} fn fn
@@ -159,6 +166,7 @@ class ModuleTemplate {
159
166
  Object.defineProperty(ModuleTemplate.prototype, "runtimeTemplate", {
160
167
  get: util.deprecate(
161
168
  /**
169
+ * Returns output options.
162
170
  * @this {ModuleTemplate}
163
171
  * @returns {RuntimeTemplate} output options
164
172
  */
@@ -65,6 +65,13 @@ const CSS_MODULE_TYPE_MODULE = "css/module";
65
65
  */
66
66
  const CSS_MODULE_TYPE_AUTO = "css/auto";
67
67
 
68
+ /**
69
+ * @type {Readonly<"html">}
70
+ * This is the module type used for HTML files when `experiments.html` is enabled.
71
+ * HTML modules are emitted as HTML assets and can be used as entry points.
72
+ */
73
+ const HTML_MODULE_TYPE = "html";
74
+
68
75
  /**
69
76
  * @type {Readonly<"asset">}
70
77
  * This is the module type used for automatically choosing between `asset/inline`, `asset/resource` based on asset size limit (8096).
@@ -140,11 +147,12 @@ const WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY = "lazy-compilation-proxy";
140
147
  /** @typedef {"javascript/auto" | "javascript/dynamic" | "javascript/esm"} JavaScriptModuleTypes */
141
148
  /** @typedef {"json"} JSONModuleType */
142
149
  /** @typedef {"webassembly/async" | "webassembly/sync"} WebAssemblyModuleTypes */
143
- /** @typedef {"css" | "css/global" | "css/module" | "css/auto"} CSSModuleTypes */
150
+ /** @typedef {"css" | "css/global" | "css/module" | "css/auto"} CssModuleTypes */
151
+ /** @typedef {"html"} HTMLModuleType */
144
152
  /** @typedef {"asset" | "asset/inline" | "asset/resource" | "asset/source" | "asset/raw-data-url"} AssetModuleTypes */
145
153
  /** @typedef {"runtime" | "fallback-module" | "remote-module" | "provide-module" | "consume-shared-module" | "lazy-compilation-proxy"} WebpackModuleTypes */
146
154
  /** @typedef {string} UnknownModuleTypes */
147
- /** @typedef {JavaScriptModuleTypes | JSONModuleType | WebAssemblyModuleTypes | CSSModuleTypes | AssetModuleTypes | WebpackModuleTypes | UnknownModuleTypes} ModuleTypes */
155
+ /** @typedef {JavaScriptModuleTypes | JSONModuleType | WebAssemblyModuleTypes | CssModuleTypes | HTMLModuleType | AssetModuleTypes | WebpackModuleTypes | UnknownModuleTypes} ModuleTypes */
148
156
 
149
157
  module.exports.ASSET_MODULE_TYPE = ASSET_MODULE_TYPE;
150
158
  module.exports.ASSET_MODULE_TYPE_BYTES = ASSET_MODULE_TYPE_BYTES;
@@ -152,7 +160,7 @@ module.exports.ASSET_MODULE_TYPE_INLINE = ASSET_MODULE_TYPE_INLINE;
152
160
  module.exports.ASSET_MODULE_TYPE_RAW_DATA_URL = ASSET_MODULE_TYPE_RAW_DATA_URL;
153
161
  module.exports.ASSET_MODULE_TYPE_RESOURCE = ASSET_MODULE_TYPE_RESOURCE;
154
162
  module.exports.ASSET_MODULE_TYPE_SOURCE = ASSET_MODULE_TYPE_SOURCE;
155
- /** @type {CSSModuleTypes[]} */
163
+ /** @type {CssModuleTypes[]} */
156
164
  module.exports.CSS_MODULES = [
157
165
  CSS_MODULE_TYPE,
158
166
  CSS_MODULE_TYPE_GLOBAL,
@@ -163,6 +171,7 @@ module.exports.CSS_MODULE_TYPE = CSS_MODULE_TYPE;
163
171
  module.exports.CSS_MODULE_TYPE_AUTO = CSS_MODULE_TYPE_AUTO;
164
172
  module.exports.CSS_MODULE_TYPE_GLOBAL = CSS_MODULE_TYPE_GLOBAL;
165
173
  module.exports.CSS_MODULE_TYPE_MODULE = CSS_MODULE_TYPE_MODULE;
174
+ module.exports.HTML_MODULE_TYPE = HTML_MODULE_TYPE;
166
175
  /** @type {JavaScriptModuleTypes[]} */
167
176
  module.exports.JAVASCRIPT_MODULES = [
168
177
  JAVASCRIPT_MODULE_TYPE_AUTO,
@@ -8,17 +8,19 @@
8
8
  const asyncLib = require("neo-async");
9
9
  const { MultiHook, SyncHook } = require("tapable");
10
10
 
11
- const ConcurrentCompilationError = require("./ConcurrentCompilationError");
12
11
  const MultiStats = require("./MultiStats");
13
12
  const MultiWatching = require("./MultiWatching");
14
- const WebpackError = require("./WebpackError");
13
+ const ConcurrentCompilationError = require("./errors/ConcurrentCompilationError");
14
+ const WebpackError = require("./errors/WebpackError");
15
15
  const ArrayQueue = require("./util/ArrayQueue");
16
16
 
17
17
  /**
18
+ * Defines the shared type used by this module.
18
19
  * @template T
19
20
  * @typedef {import("tapable").AsyncSeriesHook<T>} AsyncSeriesHook<T>
20
21
  */
21
22
  /**
23
+ * Defines the shared type used by this module.
22
24
  * @template T
23
25
  * @template R
24
26
  * @typedef {import("tapable").SyncBailHook<T, R>} SyncBailHook<T, R>
@@ -27,6 +29,7 @@ const ArrayQueue = require("./util/ArrayQueue");
27
29
  /** @typedef {import("../declarations/WebpackOptions").WatchOptions} WatchOptions */
28
30
  /** @typedef {import("./Compiler")} Compiler */
29
31
  /**
32
+ * Defines the callback type used by this module.
30
33
  * @template T
31
34
  * @template [R=void]
32
35
  * @typedef {import("./webpack").Callback<T, R>} Callback
@@ -40,6 +43,7 @@ const ArrayQueue = require("./util/ArrayQueue");
40
43
  /** @typedef {import("./util/fs").WatchFileSystem} WatchFileSystem */
41
44
 
42
45
  /**
46
+ * Defines the run with dependencies handler callback.
43
47
  * @callback RunWithDependenciesHandler
44
48
  * @param {Compiler} compiler
45
49
  * @param {Callback<MultiStats>} callback
@@ -47,6 +51,7 @@ const ArrayQueue = require("./util/ArrayQueue");
47
51
  */
48
52
 
49
53
  /**
54
+ * Defines the multi compiler options type used by this module.
50
55
  * @typedef {object} MultiCompilerOptions
51
56
  * @property {number=} parallelism how many Compilers are allows to run at the same time in parallel
52
57
  */
@@ -57,6 +62,7 @@ const CLASS_NAME = "MultiCompiler";
57
62
 
58
63
  module.exports = class MultiCompiler {
59
64
  /**
65
+ * Creates an instance of MultiCompiler.
60
66
  * @param {Compiler[] | Record<string, Compiler>} compilers child compilers
61
67
  * @param {MultiCompilerOptions} options options
62
68
  */
@@ -129,6 +135,7 @@ module.exports = class MultiCompiler {
129
135
  _validateCompilersOptions() {
130
136
  if (this.compilers.length < 2) return;
131
137
  /**
138
+ * Adds the provided compiler to the multi compiler.
132
139
  * @param {Compiler} compiler compiler
133
140
  * @param {WebpackError} warning warning
134
141
  */
@@ -187,6 +194,7 @@ module.exports = class MultiCompiler {
187
194
  }
188
195
 
189
196
  /**
197
+ * Sets input file system.
190
198
  * @param {InputFileSystem} value the new input file system
191
199
  */
192
200
  set inputFileSystem(value) {
@@ -200,6 +208,7 @@ module.exports = class MultiCompiler {
200
208
  }
201
209
 
202
210
  /**
211
+ * Sets output file system.
203
212
  * @param {OutputFileSystem} value the new output file system
204
213
  */
205
214
  set outputFileSystem(value) {
@@ -213,6 +222,7 @@ module.exports = class MultiCompiler {
213
222
  }
214
223
 
215
224
  /**
225
+ * Sets watch file system.
216
226
  * @param {WatchFileSystem} value the new watch file system
217
227
  */
218
228
  set watchFileSystem(value) {
@@ -222,6 +232,7 @@ module.exports = class MultiCompiler {
222
232
  }
223
233
 
224
234
  /**
235
+ * Sets intermediate file system.
225
236
  * @param {IntermediateFileSystem} value the new intermediate file system
226
237
  */
227
238
  set intermediateFileSystem(value) {
@@ -235,6 +246,7 @@ module.exports = class MultiCompiler {
235
246
  }
236
247
 
237
248
  /**
249
+ * Gets infrastructure logger.
238
250
  * @param {string | (() => string)} name name of the logger, or function called once to get the logger name
239
251
  * @returns {Logger} a logger with that name
240
252
  */
@@ -243,6 +255,7 @@ module.exports = class MultiCompiler {
243
255
  }
244
256
 
245
257
  /**
258
+ * Updates dependencies using the provided compiler.
246
259
  * @param {Compiler} compiler the child compiler
247
260
  * @param {string[]} dependencies its dependencies
248
261
  * @returns {void}
@@ -252,6 +265,7 @@ module.exports = class MultiCompiler {
252
265
  }
253
266
 
254
267
  /**
268
+ * Validate dependencies.
255
269
  * @param {Callback<MultiStats>} callback signals when the validation is complete
256
270
  * @returns {boolean} true if the dependencies are valid
257
271
  */
@@ -261,6 +275,7 @@ module.exports = class MultiCompiler {
261
275
  /** @type {string[]} */
262
276
  const missing = [];
263
277
  /**
278
+ * Returns target was found.
264
279
  * @param {Compiler} compiler compiler
265
280
  * @returns {boolean} target was found
266
281
  */
@@ -273,6 +288,7 @@ module.exports = class MultiCompiler {
273
288
  return false;
274
289
  };
275
290
  /**
291
+ * Returns result.
276
292
  * @param {{ source: Compiler, target: Compiler }} e1 edge 1
277
293
  * @param {{ source: Compiler, target: Compiler }} e2 edge 2
278
294
  * @returns {number} result
@@ -333,6 +349,7 @@ module.exports = class MultiCompiler {
333
349
 
334
350
  // TODO webpack 6 remove
335
351
  /**
352
+ * Run with dependencies.
336
353
  * @deprecated This method should have been private
337
354
  * @param {Compiler[]} compilers the child compilers
338
355
  * @param {RunWithDependenciesHandler} fn a handler to run for each compiler
@@ -344,11 +361,13 @@ module.exports = class MultiCompiler {
344
361
  const fulfilledNames = new Set();
345
362
  let remainingCompilers = compilers;
346
363
  /**
364
+ * Checks whether this multi compiler is dependency fulfilled.
347
365
  * @param {string} d dependency
348
366
  * @returns {boolean} when dependency was fulfilled
349
367
  */
350
368
  const isDependencyFulfilled = (d) => fulfilledNames.has(d);
351
369
  /**
370
+ * Gets ready compilers.
352
371
  * @returns {Compiler[]} compilers
353
372
  */
354
373
  const getReadyCompilers = () => {
@@ -369,6 +388,7 @@ module.exports = class MultiCompiler {
369
388
  return readyCompilers;
370
389
  };
371
390
  /**
391
+ * Processes the provided stat.
372
392
  * @param {Callback<Stats[]>} callback callback
373
393
  * @returns {void}
374
394
  */
@@ -392,6 +412,7 @@ module.exports = class MultiCompiler {
392
412
  }
393
413
 
394
414
  /**
415
+ * Returns result of setup.
395
416
  * @template SetupResult
396
417
  * @param {(compiler: Compiler, index: number, doneCallback: Callback<Stats>, isBlocked: () => boolean, setChanged: () => void, setInvalid: () => void) => SetupResult} setup setup a single compiler
397
418
  * @param {(compiler: Compiler, setupResult: SetupResult, callback: Callback<Stats>) => void} run run/continue a single compiler
@@ -448,6 +469,7 @@ module.exports = class MultiCompiler {
448
469
  let running = 0;
449
470
  const parallelism = /** @type {number} */ (this._options.parallelism);
450
471
  /**
472
+ * Processes the provided node.
451
473
  * @param {Node} node node
452
474
  * @param {(Error | null)=} err error
453
475
  * @param {Stats=} stats result
@@ -483,6 +505,7 @@ module.exports = class MultiCompiler {
483
505
  processQueue();
484
506
  };
485
507
  /**
508
+ * Node invalid from parent.
486
509
  * @param {Node} node node
487
510
  * @returns {void}
488
511
  */
@@ -497,6 +520,7 @@ module.exports = class MultiCompiler {
497
520
  }
498
521
  };
499
522
  /**
523
+ * Processes the provided node.
500
524
  * @param {Node} node node
501
525
  * @returns {void}
502
526
  */
@@ -511,6 +535,7 @@ module.exports = class MultiCompiler {
511
535
  }
512
536
  };
513
537
  /**
538
+ * Processes the provided node.
514
539
  * @param {Node} node node
515
540
  * @returns {void}
516
541
  */
@@ -589,6 +614,7 @@ module.exports = class MultiCompiler {
589
614
  }
590
615
 
591
616
  /**
617
+ * Returns a compiler watcher.
592
618
  * @param {WatchOptions | WatchOptions[]} watchOptions the watcher's options
593
619
  * @param {Callback<MultiStats>} handler signals when the call finishes
594
620
  * @returns {MultiWatching | undefined} a compiler watcher
@@ -627,6 +653,7 @@ module.exports = class MultiCompiler {
627
653
  }
628
654
 
629
655
  /**
656
+ * Processes the provided multi stat.
630
657
  * @param {Callback<MultiStats>} callback signals when the call finishes
631
658
  * @returns {void}
632
659
  */
@@ -661,6 +688,7 @@ module.exports = class MultiCompiler {
661
688
  }
662
689
 
663
690
  /**
691
+ * Processes the provided error callback.
664
692
  * @param {ErrorCallback} callback signals when the compiler closes
665
693
  * @returns {void}
666
694
  */
package/lib/MultiStats.js CHANGED
@@ -17,6 +17,7 @@ const identifierUtils = require("./util/identifier");
17
17
  /** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsError} StatsError */
18
18
 
19
19
  /**
20
+ * Returns indent.
20
21
  * @param {string} str string
21
22
  * @param {string} prefix pref
22
23
  * @returns {string} indent
@@ -31,6 +32,7 @@ const indent = (str, prefix) => {
31
32
 
32
33
  class MultiStats {
33
34
  /**
35
+ * Creates an instance of MultiStats.
34
36
  * @param {Stats[]} stats the child stats
35
37
  */
36
38
  constructor(stats) {
@@ -42,6 +44,7 @@ class MultiStats {
42
44
  }
43
45
 
44
46
  /**
47
+ * Checks whether this multi stats has errors.
45
48
  * @returns {boolean} true if a child compilation encountered an error
46
49
  */
47
50
  hasErrors() {
@@ -49,6 +52,7 @@ class MultiStats {
49
52
  }
50
53
 
51
54
  /**
55
+ * Checks whether this multi stats has warnings.
52
56
  * @returns {boolean} true if a child compilation had a warning
53
57
  */
54
58
  hasWarnings() {
@@ -56,6 +60,7 @@ class MultiStats {
56
60
  }
57
61
 
58
62
  /**
63
+ * Create child options.
59
64
  * @param {undefined | StatsValue} options stats options
60
65
  * @param {CreateStatsOptionsContext} context context
61
66
  * @returns {ChildOptions} context context
@@ -109,6 +114,7 @@ class MultiStats {
109
114
  }
110
115
 
111
116
  /**
117
+ * Returns json output.
112
118
  * @param {StatsValue=} options stats options
113
119
  * @returns {StatsCompilation} json output
114
120
  */
@@ -138,6 +144,7 @@ class MultiStats {
138
144
  obj.hash = obj.children.map((j) => j.hash).join("");
139
145
  }
140
146
  /**
147
+ * Returns result.
141
148
  * @param {StatsCompilation} j stats error
142
149
  * @param {StatsError} obj Stats error
143
150
  * @returns {StatsError} result
@@ -184,6 +191,7 @@ class MultiStats {
184
191
  }
185
192
 
186
193
  /**
194
+ * Returns a string representation.
187
195
  * @param {StatsValue=} options stats options
188
196
  * @returns {string} string output
189
197
  */
@@ -13,6 +13,7 @@ const asyncLib = require("neo-async");
13
13
 
14
14
  class MultiWatching {
15
15
  /**
16
+ * Creates an instance of MultiWatching.
16
17
  * @param {Watching[]} watchings child compilers' watchers
17
18
  * @param {MultiCompiler} compiler the compiler
18
19
  */
@@ -22,6 +23,7 @@ class MultiWatching {
22
23
  }
23
24
 
24
25
  /**
26
+ * Processes the provided error callback.
25
27
  * @param {ErrorCallback=} callback signals when the build has completed again
26
28
  * @returns {void}
27
29
  */
@@ -54,6 +56,7 @@ class MultiWatching {
54
56
  }
55
57
 
56
58
  /**
59
+ * Processes the provided error callback.
57
60
  * @param {ErrorCallback} callback signals when the watcher is closed
58
61
  * @returns {void}
59
62
  */
@@ -11,7 +11,7 @@ const PLUGIN_NAME = "NoEmitOnErrorsPlugin";
11
11
 
12
12
  class NoEmitOnErrorsPlugin {
13
13
  /**
14
- * Apply the plugin
14
+ * Applies the plugin by registering its hooks on the compiler.
15
15
  * @param {Compiler} compiler the compiler instance
16
16
  * @returns {void}
17
17
  */
@@ -10,13 +10,13 @@ const {
10
10
  JAVASCRIPT_MODULE_TYPE_DYNAMIC,
11
11
  JAVASCRIPT_MODULE_TYPE_ESM
12
12
  } = require("./ModuleTypeConstants");
13
- const NodeStuffInWebError = require("./NodeStuffInWebError");
14
13
  const RuntimeGlobals = require("./RuntimeGlobals");
15
14
  const CachedConstDependency = require("./dependencies/CachedConstDependency");
16
15
  const ConstDependency = require("./dependencies/ConstDependency");
17
16
  const ExternalModuleDependency = require("./dependencies/ExternalModuleDependency");
18
17
  const ExternalModuleInitFragmentDependency = require("./dependencies/ExternalModuleInitFragmentDependency");
19
18
  const ImportMetaPlugin = require("./dependencies/ImportMetaPlugin");
19
+ const NodeStuffInWebError = require("./errors/NodeStuffInWebError");
20
20
  const { evaluateToString } = require("./javascript/JavascriptParserHelpers");
21
21
  const { relative } = require("./util/fs");
22
22
  const { parseResource } = require("./util/identifier");
@@ -36,6 +36,7 @@ const URL_MODULE_CONSTANT_FUNCTION_NAME = "__webpack_fileURLToPath__";
36
36
 
37
37
  class NodeStuffPlugin {
38
38
  /**
39
+ * Creates an instance of NodeStuffPlugin.
39
40
  * @param {NodeOptions} options options
40
41
  */
41
42
  constructor(options) {
@@ -43,7 +44,7 @@ class NodeStuffPlugin {
43
44
  }
44
45
 
45
46
  /**
46
- * Apply the plugin
47
+ * Applies the plugin by registering its hooks on the compiler.
47
48
  * @param {Compiler} compiler the compiler instance
48
49
  * @returns {void}
49
50
  */
@@ -63,12 +64,14 @@ class NodeStuffPlugin {
63
64
  );
64
65
 
65
66
  /**
67
+ * Processes the provided parser.
66
68
  * @param {JavascriptParser} parser the parser
67
69
  * @param {NodeOptions} nodeOptions options
68
70
  * @returns {void}
69
71
  */
70
72
  const globalHandler = (parser, nodeOptions) => {
71
73
  /**
74
+ * Returns const dependency.
72
75
  * @param {Expression} expr expression
73
76
  * @returns {ConstDependency} const dependency
74
77
  */
@@ -116,6 +119,7 @@ class NodeStuffPlugin {
116
119
  const hooks = ImportMetaPlugin.getCompilationHooks(compilation);
117
120
 
118
121
  /**
122
+ * Sets module constant.
119
123
  * @param {JavascriptParser} parser the parser
120
124
  * @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
121
125
  * @param {(module: NormalModule) => string} fn function
@@ -149,6 +153,7 @@ class NodeStuffPlugin {
149
153
  };
150
154
 
151
155
  /**
156
+ * Sets cached module constant.
152
157
  * @param {JavascriptParser} parser the parser
153
158
  * @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
154
159
  * @param {(module: NormalModule) => string} fn function
@@ -207,6 +212,7 @@ class NodeStuffPlugin {
207
212
  };
208
213
 
209
214
  /**
215
+ * Updates constant using the provided parser.
210
216
  * @param {JavascriptParser} parser the parser
211
217
  * @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
212
218
  * @param {string} value value
@@ -230,6 +236,7 @@ class NodeStuffPlugin {
230
236
  );
231
237
 
232
238
  /**
239
+ * Sets url module constant.
233
240
  * @param {JavascriptParser} parser the parser
234
241
  * @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
235
242
  * @param {"dirname" | "filename"} property property
@@ -344,6 +351,7 @@ class NodeStuffPlugin {
344
351
  };
345
352
 
346
353
  /**
354
+ * Dirname and filename handler.
347
355
  * @param {JavascriptParser} parser the parser
348
356
  * @param {NodeOptions} nodeOptions options
349
357
  * @param {{ dirname: "__dirname" | "import.meta.dirname", filename: "__filename" | "import.meta.filename" }} identifiers options
@@ -516,6 +524,7 @@ class NodeStuffPlugin {
516
524
  };
517
525
 
518
526
  /**
527
+ * Handles the hook callback for this code path.
519
528
  * @param {JavascriptParser} parser the parser
520
529
  * @param {JavascriptParserOptions} parserOptions the javascript parser options
521
530
  * @param {boolean} a true when we need to handle `__filename` and `__dirname`, otherwise false