@depup/webpack 5.106.1-depup.0 → 5.109.2-depup.0

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