@depup/webpack 5.106.0-depup.0 → 5.109.0-depup.0

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