@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
@@ -18,18 +18,20 @@ const {
18
18
  } = require("./ModuleTypeConstants");
19
19
  const NormalModule = require("./NormalModule");
20
20
  const RuntimeGlobals = require("./RuntimeGlobals");
21
- const WebpackError = require("./WebpackError");
22
21
  const { chunkHasCss } = require("./css/CssModulesPlugin");
23
22
  const ConstDependency = require("./dependencies/ConstDependency");
24
23
  const ImportMetaHotAcceptDependency = require("./dependencies/ImportMetaHotAcceptDependency");
25
24
  const ImportMetaHotDeclineDependency = require("./dependencies/ImportMetaHotDeclineDependency");
25
+ const { isImportMetaFieldEnabled } = require("./dependencies/ImportMetaPlugin");
26
26
  const ModuleHotAcceptDependency = require("./dependencies/ModuleHotAcceptDependency");
27
27
  const ModuleHotDeclineDependency = require("./dependencies/ModuleHotDeclineDependency");
28
+ const WebpackError = require("./errors/WebpackError");
28
29
  const HotModuleReplacementRuntimeModule = require("./hmr/HotModuleReplacementRuntimeModule");
29
30
  const JavascriptParser = require("./javascript/JavascriptParser");
30
31
  const {
31
32
  evaluateToIdentifier
32
33
  } = require("./javascript/JavascriptParserHelpers");
34
+ const ConcatenatedModule = require("./optimize/ConcatenatedModule");
33
35
  const { find, isSubset } = require("./util/SetHelpers");
34
36
  const TupleSet = require("./util/TupleSet");
35
37
  const { compareModulesById } = require("./util/comparators");
@@ -55,6 +57,7 @@ const {
55
57
  /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
56
58
  /** @typedef {import("./Module")} Module */
57
59
  /** @typedef {import("./Module").BuildInfo} BuildInfo */
60
+ /** @typedef {import("./css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
58
61
  /** @typedef {import("./RuntimeModule")} RuntimeModule */
59
62
  /** @typedef {import("./javascript/BasicEvaluatedExpression")} BasicEvaluatedExpression */
60
63
  /** @typedef {import("./javascript/JavascriptParserHelpers").Range} Range */
@@ -63,6 +66,7 @@ const {
63
66
  /** @typedef {string[]} Requests */
64
67
 
65
68
  /**
69
+ * Defines the hmr javascript parser hooks type used by this module.
66
70
  * @typedef {object} HMRJavascriptParserHooks
67
71
  * @property {SyncBailHook<[Expression | SpreadElement, Requests], void>} hotAcceptCallback
68
72
  * @property {SyncBailHook<[CallExpression, Requests], void>} hotAcceptWithoutCallback
@@ -78,7 +82,7 @@ const {
78
82
  /** @typedef {Set<ChunkId>} ChunkIds */
79
83
  /** @typedef {Set<Module>} ModuleSet */
80
84
 
81
- /** @typedef {{ updatedChunkIds: ChunkIds, removedChunkIds: ChunkIds, removedModules: ModuleSet, filename: string, assetInfo: AssetInfo }} HotUpdateMainContentByRuntimeItem */
85
+ /** @typedef {{ updatedChunkIds: ChunkIds, removedChunkIds: ChunkIds, removedModules: ModuleSet, forceLoadChunkIds: ChunkIds, filename: string, assetInfo: AssetInfo }} HotUpdateMainContentByRuntimeItem */
82
86
  /** @typedef {Map<string, HotUpdateMainContentByRuntimeItem>} HotUpdateMainContentByRuntime */
83
87
 
84
88
  /** @type {WeakMap<JavascriptParser, HMRJavascriptParserHooks>} */
@@ -88,6 +92,7 @@ const PLUGIN_NAME = "HotModuleReplacementPlugin";
88
92
 
89
93
  class HotModuleReplacementPlugin {
90
94
  /**
95
+ * Returns the attached hooks.
91
96
  * @param {JavascriptParser} parser the parser
92
97
  * @returns {HMRJavascriptParserHooks} the attached hooks
93
98
  */
@@ -109,7 +114,7 @@ class HotModuleReplacementPlugin {
109
114
  }
110
115
 
111
116
  /**
112
- * Apply the plugin
117
+ * Applies the plugin by registering its hooks on the compiler.
113
118
  * @param {Compiler} compiler the compiler instance
114
119
  * @returns {void}
115
120
  */
@@ -121,6 +126,7 @@ class HotModuleReplacementPlugin {
121
126
  const runtimeRequirements = [RuntimeGlobals.module];
122
127
 
123
128
  /**
129
+ * Creates an accept handler.
124
130
  * @param {JavascriptParser} parser the parser
125
131
  * @param {typeof ModuleHotAcceptDependency} ParamDependency dependency
126
132
  * @returns {(expr: CallExpression) => boolean | undefined} callback
@@ -136,7 +142,7 @@ class HotModuleReplacementPlugin {
136
142
  /** @type {Range} */ (expr.callee.range),
137
143
  runtimeRequirements
138
144
  );
139
- dep.loc = /** @type {DependencyLocation} */ (expr.loc);
145
+ dep.loc = parser.getLocation(expr);
140
146
  module.addPresentationalDependency(dep);
141
147
  /** @type {BuildInfo} */
142
148
  (module.buildInfo).moduleConcatenationBailout =
@@ -163,10 +169,7 @@ class HotModuleReplacementPlugin {
163
169
  /** @type {Range} */ (param.range)
164
170
  );
165
171
  dep.optional = true;
166
- dep.loc = Object.create(
167
- /** @type {DependencyLocation} */ (expr.loc)
168
- );
169
- dep.loc.index = idx;
172
+ dep.setLocWithIndex(parser.getLocation(expr), idx);
170
173
  module.addDependency(dep);
171
174
  requests.push(request);
172
175
  }
@@ -187,6 +190,7 @@ class HotModuleReplacementPlugin {
187
190
  };
188
191
 
189
192
  /**
193
+ * Creates a decline handler.
190
194
  * @param {JavascriptParser} parser the parser
191
195
  * @param {typeof ModuleHotDeclineDependency} ParamDependency dependency
192
196
  * @returns {(expr: CallExpression) => boolean | undefined} callback
@@ -198,7 +202,7 @@ class HotModuleReplacementPlugin {
198
202
  /** @type {Range} */ (expr.callee.range),
199
203
  runtimeRequirements
200
204
  );
201
- dep.loc = /** @type {DependencyLocation} */ (expr.loc);
205
+ dep.loc = parser.getLocation(expr);
202
206
  module.addPresentationalDependency(dep);
203
207
  /** @type {BuildInfo} */
204
208
  (module.buildInfo).moduleConcatenationBailout = "Hot Module Replacement";
@@ -219,8 +223,7 @@ class HotModuleReplacementPlugin {
219
223
  /** @type {Range} */ (param.range)
220
224
  );
221
225
  dep.optional = true;
222
- dep.loc = Object.create(/** @type {DependencyLocation} */ (expr.loc));
223
- dep.loc.index = idx;
226
+ dep.setLocWithIndex(parser.getLocation(expr), idx);
224
227
  module.addDependency(dep);
225
228
  }
226
229
  }
@@ -228,6 +231,7 @@ class HotModuleReplacementPlugin {
228
231
  };
229
232
 
230
233
  /**
234
+ * Creates a hmr expression handler.
231
235
  * @param {JavascriptParser} parser the parser
232
236
  * @returns {(expr: Expression) => boolean | undefined} callback
233
237
  */
@@ -238,7 +242,7 @@ class HotModuleReplacementPlugin {
238
242
  /** @type {Range} */ (expr.range),
239
243
  runtimeRequirements
240
244
  );
241
- dep.loc = /** @type {DependencyLocation} */ (expr.loc);
245
+ dep.loc = parser.getLocation(expr);
242
246
  module.addPresentationalDependency(dep);
243
247
  /** @type {BuildInfo} */
244
248
  (module.buildInfo).moduleConcatenationBailout = "Hot Module Replacement";
@@ -246,6 +250,7 @@ class HotModuleReplacementPlugin {
246
250
  };
247
251
 
248
252
  /**
253
+ * Processes the provided parser.
249
254
  * @param {JavascriptParser} parser the parser
250
255
  * @returns {void}
251
256
  */
@@ -281,6 +286,7 @@ class HotModuleReplacementPlugin {
281
286
  };
282
287
 
283
288
  /**
289
+ * Apply import meta hot.
284
290
  * @param {JavascriptParser} parser the parser
285
291
  * @returns {void}
286
292
  */
@@ -382,13 +388,31 @@ class HotModuleReplacementPlugin {
382
388
  for (const chunk of compilation.chunks) {
383
389
  const chunkId = /** @type {ChunkId} */ (chunk.id);
384
390
 
385
- records.chunkModuleIds[chunkId] = Array.from(
386
- chunkGraph.getOrderedChunkModulesIterable(
387
- chunk,
388
- compareModulesById(chunkGraph)
389
- ),
390
- (m) => /** @type {ModuleId} */ (chunkGraph.getModuleId(m))
391
- );
391
+ /** @type {ModuleId[]} */
392
+ const moduleIds = [];
393
+ for (const m of chunkGraph.getOrderedChunkModulesIterable(
394
+ chunk,
395
+ compareModulesById(chunkGraph)
396
+ )) {
397
+ moduleIds.push(
398
+ /** @type {ModuleId} */ (chunkGraph.getModuleId(m))
399
+ );
400
+ if (m instanceof ConcatenatedModule && m.modules) {
401
+ for (const innerModule of m.modules) {
402
+ if (
403
+ innerModule.buildMeta &&
404
+ /** @type {CssModuleBuildMeta} */ (innerModule.buildMeta)
405
+ .needIdInConcatenation
406
+ ) {
407
+ const innerId = chunkGraph.getModuleId(innerModule);
408
+ if (innerId !== null) {
409
+ moduleIds.push(innerId);
410
+ }
411
+ }
412
+ }
413
+ }
414
+ }
415
+ records.chunkModuleIds[chunkId] = moduleIds;
392
416
  }
393
417
  });
394
418
  /** @type {TupleSet<Module, Chunk>} */
@@ -402,6 +426,7 @@ class HotModuleReplacementPlugin {
402
426
  const records = /** @type {Records} */ (compilation.records);
403
427
  for (const chunk of compilation.chunks) {
404
428
  /**
429
+ * Returns module hash.
405
430
  * @param {Module} module module
406
431
  * @returns {string} module hash
407
432
  */
@@ -547,6 +572,8 @@ class HotModuleReplacementPlugin {
547
572
  removedChunkIds: new Set(),
548
573
  /** @type {ModuleSet} */
549
574
  removedModules: new Set(),
575
+ /** @type {ChunkIds} */
576
+ forceLoadChunkIds: new Set(),
550
577
  filename,
551
578
  assetInfo
552
579
  }
@@ -673,30 +700,43 @@ class HotModuleReplacementPlugin {
673
700
  }
674
701
  } else {
675
702
  // module is no longer in this runtime combination
676
- // We (incorrectly) assume that it's not in an overlapping runtime combination
677
- // and dispose it from the main runtimes the chunk was removed from
678
703
  forEachRuntime(removedFromRuntime, (runtime) => {
679
- // If the module is still used in this runtime, do not dispose it
680
- // This could create a bad runtime state where the module is still loaded,
681
- // but no chunk which contains it. This means we don't receive further HMR updates
682
- // to this module and that's bad.
683
- // TODO force load one of the chunks which contains the module
684
- for (const moduleRuntime of runtimes) {
685
- if (typeof moduleRuntime === "string") {
686
- if (moduleRuntime === runtime) return;
687
- } else if (
688
- moduleRuntime !== undefined &&
689
- moduleRuntime.has(/** @type {string} */ (runtime))
690
- ) {
691
- return;
692
- }
693
- }
694
704
  const item =
695
705
  /** @type {HotUpdateMainContentByRuntimeItem} */ (
696
706
  hotUpdateMainContentByRuntime.get(
697
707
  /** @type {string} */ (runtime)
698
708
  )
699
709
  );
710
+ // Module still in this runtime via another chunk: force-load one so
711
+ // it keeps an installed owner instead of being disposed (lost updates).
712
+ const stillInRuntime = [...runtimes].some(
713
+ (moduleRuntime) =>
714
+ typeof moduleRuntime === "string"
715
+ ? moduleRuntime === runtime
716
+ : moduleRuntime !== undefined &&
717
+ moduleRuntime.has(/** @type {string} */ (runtime))
718
+ );
719
+ if (stillInRuntime) {
720
+ for (const moduleChunk of chunkGraph.getModuleChunksIterable(
721
+ module
722
+ )) {
723
+ const chunkRuntime = moduleChunk.runtime;
724
+ const inRuntime =
725
+ typeof chunkRuntime === "string"
726
+ ? chunkRuntime === runtime
727
+ : chunkRuntime !== undefined &&
728
+ chunkRuntime.has(
729
+ /** @type {string} */ (runtime)
730
+ );
731
+ if (inRuntime) {
732
+ item.forceLoadChunkIds.add(
733
+ /** @type {ChunkId} */ (moduleChunk.id)
734
+ );
735
+ break;
736
+ }
737
+ }
738
+ return;
739
+ }
700
740
  item.removedModules.add(module);
701
741
  });
702
742
  }
@@ -794,6 +834,7 @@ class HotModuleReplacementPlugin {
794
834
  removedChunkIds,
795
835
  removedModules,
796
836
  updatedChunkIds,
837
+ forceLoadChunkIds,
797
838
  filename,
798
839
  assetInfo
799
840
  } of hotUpdateMainContentByRuntime.values()) {
@@ -802,7 +843,8 @@ class HotModuleReplacementPlugin {
802
843
  old &&
803
844
  (!isSubset(old.removedChunkIds, removedChunkIds) ||
804
845
  !isSubset(old.removedModules, removedModules) ||
805
- !isSubset(old.updatedChunkIds, updatedChunkIds))
846
+ !isSubset(old.updatedChunkIds, updatedChunkIds) ||
847
+ !isSubset(old.forceLoadChunkIds, forceLoadChunkIds))
806
848
  ) {
807
849
  compilation.warnings.push(
808
850
  new WebpackError(`HotModuleReplacementPlugin
@@ -819,20 +861,30 @@ To fix this, make sure to include [runtime] in the output.hotUpdateMainFilename
819
861
  for (const chunkId of updatedChunkIds) {
820
862
  old.updatedChunkIds.add(chunkId);
821
863
  }
864
+ for (const chunkId of forceLoadChunkIds) {
865
+ old.forceLoadChunkIds.add(chunkId);
866
+ }
822
867
  continue;
823
868
  }
824
869
  hotUpdateMainContentByFilename.set(filename, {
825
870
  removedChunkIds,
826
871
  removedModules,
827
872
  updatedChunkIds,
873
+ forceLoadChunkIds,
828
874
  assetInfo
829
875
  });
830
876
  }
831
877
  for (const [
832
878
  filename,
833
- { removedChunkIds, removedModules, updatedChunkIds, assetInfo }
879
+ {
880
+ removedChunkIds,
881
+ removedModules,
882
+ updatedChunkIds,
883
+ forceLoadChunkIds,
884
+ assetInfo
885
+ }
834
886
  ] of hotUpdateMainContentByFilename) {
835
- /** @type {{ c: ChunkId[], r: ChunkId[], m: ModuleId[], css?: { r: ChunkId[] } }} */
887
+ /** @type {{ c: ChunkId[], r: ChunkId[], m: ModuleId[], f?: ChunkId[], css?: { r: ChunkId[] } }} */
836
888
  const hotUpdateMainJson = {
837
889
  c: [...updatedChunkIds],
838
890
  r: [...removedChunkIds],
@@ -849,6 +901,12 @@ To fix this, make sure to include [runtime] in the output.hotUpdateMainFilename
849
901
  ]
850
902
  };
851
903
 
904
+ // Chunks the client must load so a module whose only loaded chunk
905
+ // left a runtime keeps an installed owner (see force-load branch).
906
+ if (forceLoadChunkIds.size > 0) {
907
+ hotUpdateMainJson.f = [...forceLoadChunkIds];
908
+ }
909
+
852
910
  // Build CSS removed chunks list (chunks in updatedChunkIds that no longer have CSS)
853
911
  /** @type {ChunkId[]} */
854
912
  const cssRemovedChunkIds = [];
@@ -897,9 +955,13 @@ To fix this, make sure to include [runtime] in the output.hotUpdateMainFilename
897
955
 
898
956
  normalModuleFactory.hooks.parser
899
957
  .for(JAVASCRIPT_MODULE_TYPE_AUTO)
900
- .tap(PLUGIN_NAME, (parser) => {
958
+ .tap(PLUGIN_NAME, (parser, parserOptions) => {
901
959
  applyModuleHot(parser);
902
- applyImportMetaHot(parser);
960
+ if (
961
+ isImportMetaFieldEnabled(parserOptions.importMeta, "webpackHot")
962
+ ) {
963
+ applyImportMetaHot(parser);
964
+ }
903
965
  });
904
966
  normalModuleFactory.hooks.parser
905
967
  .for(JAVASCRIPT_MODULE_TYPE_DYNAMIC)
@@ -908,11 +970,15 @@ To fix this, make sure to include [runtime] in the output.hotUpdateMainFilename
908
970
  });
909
971
  normalModuleFactory.hooks.parser
910
972
  .for(JAVASCRIPT_MODULE_TYPE_ESM)
911
- .tap(PLUGIN_NAME, (parser) => {
912
- applyImportMetaHot(parser);
973
+ .tap(PLUGIN_NAME, (parser, parserOptions) => {
974
+ if (
975
+ isImportMetaFieldEnabled(parserOptions.importMeta, "webpackHot")
976
+ ) {
977
+ applyImportMetaHot(parser);
978
+ }
913
979
  });
914
980
  normalModuleFactory.hooks.module.tap(PLUGIN_NAME, (module) => {
915
- module.hot = true;
981
+ if (module instanceof NormalModule) module.hot = true;
916
982
  return module;
917
983
  });
918
984
 
@@ -19,9 +19,11 @@ const PLUGIN_NAME = "IgnorePlugin";
19
19
 
20
20
  class IgnorePlugin {
21
21
  /**
22
+ * Creates an instance of IgnorePlugin.
22
23
  * @param {IgnorePluginOptions} options IgnorePlugin options
23
24
  */
24
25
  constructor(options) {
26
+ /** @type {IgnorePluginOptions} */
25
27
  this.options = options;
26
28
  this.checkIgnore = this.checkIgnore.bind(this);
27
29
  }
@@ -58,14 +60,15 @@ class IgnorePlugin {
58
60
  }
59
61
 
60
62
  /**
61
- * Apply the plugin
63
+ * Applies the plugin by registering its hooks on the compiler.
62
64
  * @param {Compiler} compiler the compiler instance
63
65
  * @returns {void}
64
66
  */
65
67
  apply(compiler) {
66
68
  compiler.hooks.validate.tap(PLUGIN_NAME, () => {
67
69
  compiler.validate(
68
- require("../schemas/plugins/IgnorePlugin.json"),
70
+ /** @type {EXPECTED_ANY} */
71
+ (require("../schemas/plugins/IgnorePlugin.json")),
69
72
  this.options,
70
73
  {
71
74
  name: "Ignore Plugin",
@@ -14,6 +14,7 @@ const PLUGIN_NAME = "IgnoreWarningsPlugin";
14
14
 
15
15
  class IgnoreWarningsPlugin {
16
16
  /**
17
+ * Creates an instance of IgnoreWarningsPlugin.
17
18
  * @param {IgnoreFn[]} ignoreWarnings conditions to ignore warnings
18
19
  */
19
20
  constructor(ignoreWarnings) {
@@ -22,7 +23,7 @@ class IgnoreWarningsPlugin {
22
23
  }
23
24
 
24
25
  /**
25
- * Apply the plugin
26
+ * Applies the plugin by registering its hooks on the compiler.
26
27
  * @param {Compiler} compiler the compiler instance
27
28
  * @returns {void}
28
29
  */
@@ -16,6 +16,7 @@ const makeSerializable = require("./util/makeSerializable");
16
16
  /** @typedef {string} InitFragmentKey */
17
17
 
18
18
  /**
19
+ * Defines the maybe mergeable init fragment type used by this module.
19
20
  * @template GenerateContext
20
21
  * @typedef {object} MaybeMergeableInitFragment
21
22
  * @property {InitFragmentKey=} key
@@ -28,6 +29,7 @@ const makeSerializable = require("./util/makeSerializable");
28
29
  */
29
30
 
30
31
  /**
32
+ * Extract fragment index.
31
33
  * @template T
32
34
  * @param {T} fragment the init fragment
33
35
  * @param {number} index index
@@ -36,6 +38,7 @@ const makeSerializable = require("./util/makeSerializable");
36
38
  const extractFragmentIndex = (fragment, index) => [fragment, index];
37
39
 
38
40
  /**
41
+ * Sorts fragment with index.
39
42
  * @template T
40
43
  * @param {[MaybeMergeableInitFragment<T>, number]} a first pair
41
44
  * @param {[MaybeMergeableInitFragment<T>, number]} b second pair
@@ -50,11 +53,13 @@ const sortFragmentWithIndex = ([a, i], [b, j]) => {
50
53
  };
51
54
 
52
55
  /**
56
+ * Represents InitFragment.
53
57
  * @template GenerateContext
54
58
  * @implements {MaybeMergeableInitFragment<GenerateContext>}
55
59
  */
56
60
  class InitFragment {
57
61
  /**
62
+ * Creates an instance of InitFragment.
58
63
  * @param {string | Source | undefined} content the source code that will be included as initialization code
59
64
  * @param {number} stage category of initialization code (contribute to order)
60
65
  * @param {number} position position in the category (contribute to order)
@@ -62,14 +67,20 @@ class InitFragment {
62
67
  * @param {string | Source=} endContent the source code that will be included at the end of the module
63
68
  */
64
69
  constructor(content, stage, position, key, endContent) {
70
+ /** @type {string | Source | undefined} */
65
71
  this.content = content;
72
+ /** @type {number} */
66
73
  this.stage = stage;
74
+ /** @type {number} */
67
75
  this.position = position;
76
+ /** @type {string | undefined} */
68
77
  this.key = key;
78
+ /** @type {string | Source | undefined} */
69
79
  this.endContent = endContent;
70
80
  }
71
81
 
72
82
  /**
83
+ * Returns the source code that will be included as initialization code.
73
84
  * @param {GenerateContext} context context
74
85
  * @returns {string | Source | undefined} the source code that will be included as initialization code
75
86
  */
@@ -78,6 +89,7 @@ class InitFragment {
78
89
  }
79
90
 
80
91
  /**
92
+ * Returns the source code that will be included at the end of the module.
81
93
  * @param {GenerateContext} context context
82
94
  * @returns {string | Source | undefined} the source code that will be included at the end of the module
83
95
  */
@@ -86,6 +98,7 @@ class InitFragment {
86
98
  }
87
99
 
88
100
  /**
101
+ * Adds the provided source to the init fragment.
89
102
  * @template Context
90
103
  * @param {Source} source sources
91
104
  * @param {MaybeMergeableInitFragment<Context>[]} initFragments init fragments
@@ -165,6 +178,7 @@ class InitFragment {
165
178
  }
166
179
 
167
180
  /**
181
+ * Serializes this instance into the provided serializer context.
168
182
  * @param {ObjectSerializerContext} context context
169
183
  */
170
184
  serialize(context) {
@@ -178,6 +192,7 @@ class InitFragment {
178
192
  }
179
193
 
180
194
  /**
195
+ * Restores this instance from the provided deserializer context.
181
196
  * @param {ObjectDeserializerContext} context context
182
197
  */
183
198
  deserialize(context) {
@@ -10,17 +10,18 @@ const {
10
10
  JAVASCRIPT_MODULE_TYPE_DYNAMIC,
11
11
  JAVASCRIPT_MODULE_TYPE_ESM
12
12
  } = require("./ModuleTypeConstants");
13
- const InnerGraph = require("./optimize/InnerGraph");
13
+ const { getInnerGraphUtils } = require("./optimize/InnerGraph");
14
14
 
15
15
  /** @typedef {import("./Compiler")} Compiler */
16
16
  /** @typedef {import("./Module").BuildInfo} BuildInfo */
17
+ /** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
17
18
  /** @typedef {import("./javascript/JavascriptParser")} JavascriptParser */
18
19
 
19
20
  const PLUGIN_NAME = "JavascriptMetaInfoPlugin";
20
21
 
21
22
  class JavascriptMetaInfoPlugin {
22
23
  /**
23
- * Apply the plugin
24
+ * Applies the plugin by registering its hooks on the compiler.
24
25
  * @param {Compiler} compiler the compiler instance
25
26
  * @returns {void}
26
27
  */
@@ -28,21 +29,23 @@ class JavascriptMetaInfoPlugin {
28
29
  compiler.hooks.compilation.tap(
29
30
  PLUGIN_NAME,
30
31
  (compilation, { normalModuleFactory }) => {
32
+ const innerGraph = getInnerGraphUtils(compilation);
31
33
  /**
34
+ * Handles the hook callback for this code path.
32
35
  * @param {JavascriptParser} parser the parser
33
36
  * @returns {void}
34
37
  */
35
38
  const handler = (parser) => {
36
39
  parser.hooks.call.for("eval").tap(PLUGIN_NAME, () => {
37
40
  const buildInfo =
38
- /** @type {BuildInfo} */
41
+ /** @type {JavascriptModuleBuildInfo} */
39
42
  (parser.state.module.buildInfo);
40
43
  buildInfo.moduleConcatenationBailout = "eval()";
41
- const currentSymbol = InnerGraph.getTopLevelSymbol(parser.state);
44
+ const currentSymbol = innerGraph.getTopLevelSymbol(parser.state);
42
45
  if (currentSymbol) {
43
- InnerGraph.addUsage(parser.state, null, currentSymbol);
46
+ innerGraph.addUsage(parser.state, null, currentSymbol);
44
47
  } else {
45
- InnerGraph.bailout(parser.state);
48
+ innerGraph.bailout(parser.state);
46
49
  }
47
50
  });
48
51
  parser.hooks.finish.tap(PLUGIN_NAME, () => {