@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
@@ -8,6 +8,7 @@
8
8
  const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("../ModuleTypeConstants");
9
9
  const RuntimeGlobals = require("../RuntimeGlobals");
10
10
  const Template = require("../Template");
11
+ const { getPresentKinds } = require("../TemplatedPathPlugin");
11
12
  const AsyncWasmCompileRuntimeModule = require("../wasm-async/AsyncWasmCompileRuntimeModule");
12
13
  const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRuntimeModule");
13
14
 
@@ -15,6 +16,15 @@ const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRun
15
16
  /** @typedef {import("../Compiler")} Compiler */
16
17
 
17
18
  /**
19
+ * The wasm runtime inlines `[fullhash]` as a runtime `getFullHash()` call, so
20
+ * that runtime module must be requested (`[hash]` is the per-module hash here).
21
+ * @param {string} filename `output.webassemblyModuleFilename`
22
+ * @returns {boolean} whether it references the compilation `[fullhash]`
23
+ */
24
+ const usesFullHash = (filename) => getPresentKinds(filename).has("fullhash");
25
+
26
+ /**
27
+ * Defines the read file compile async wasm plugin options type used by this module.
18
28
  * @typedef {object} ReadFileCompileAsyncWasmPluginOptions
19
29
  * @property {boolean=} import use import?
20
30
  */
@@ -23,6 +33,7 @@ const PLUGIN_NAME = "ReadFileCompileAsyncWasmPlugin";
23
33
 
24
34
  class ReadFileCompileAsyncWasmPlugin {
25
35
  /**
36
+ * Creates an instance of ReadFileCompileAsyncWasmPlugin.
26
37
  * @param {ReadFileCompileAsyncWasmPluginOptions=} options options object
27
38
  */
28
39
  constructor({ import: useImport = false } = {}) {
@@ -31,7 +42,7 @@ class ReadFileCompileAsyncWasmPlugin {
31
42
  }
32
43
 
33
44
  /**
34
- * Apply the plugin
45
+ * Applies the plugin by registering its hooks on the compiler.
35
46
  * @param {Compiler} compiler the compiler instance
36
47
  * @returns {void}
37
48
  */
@@ -39,6 +50,7 @@ class ReadFileCompileAsyncWasmPlugin {
39
50
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
40
51
  const globalWasmLoading = compilation.outputOptions.wasmLoading;
41
52
  /**
53
+ * Checks whether this read file compile async wasm plugin is enabled for chunk.
42
54
  * @param {Chunk} chunk chunk
43
55
  * @returns {boolean} true, if wasm loading is enabled for the chunk
44
56
  */
@@ -65,7 +77,11 @@ class ReadFileCompileAsyncWasmPlugin {
65
77
  "",
66
78
  "// Fake fetch response",
67
79
  "resolve({",
68
- Template.indent(["arrayBuffer() { return buffer; }"]),
80
+ Template.indent([
81
+ // Return a real ArrayBuffer: some runtimes (e.g. Deno)
82
+ // reject a Node Buffer view here as "not a buffer source".
83
+ "arrayBuffer() { return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); }"
84
+ ]),
69
85
  "});"
70
86
  ]),
71
87
  "});"
@@ -87,7 +103,11 @@ class ReadFileCompileAsyncWasmPlugin {
87
103
  "",
88
104
  "// Fake fetch response",
89
105
  "resolve({",
90
- Template.indent(["arrayBuffer() { return buffer; }"]),
106
+ Template.indent([
107
+ // Return a real ArrayBuffer: some runtimes (e.g. Deno)
108
+ // reject a Node Buffer view here as "not a buffer source".
109
+ "arrayBuffer() { return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); }"
110
+ ]),
91
111
  "});"
92
112
  ]),
93
113
  "});"
@@ -109,6 +129,11 @@ class ReadFileCompileAsyncWasmPlugin {
109
129
  ) {
110
130
  return;
111
131
  }
132
+ if (
133
+ usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
134
+ ) {
135
+ set.add(RuntimeGlobals.getFullHash);
136
+ }
112
137
  compilation.addRuntimeModule(
113
138
  chunk,
114
139
  new AsyncWasmLoadingRuntimeModule({
@@ -130,6 +155,11 @@ class ReadFileCompileAsyncWasmPlugin {
130
155
  ) {
131
156
  return;
132
157
  }
158
+ if (
159
+ usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
160
+ ) {
161
+ set.add(RuntimeGlobals.getFullHash);
162
+ }
133
163
  compilation.addRuntimeModule(
134
164
  chunk,
135
165
  new AsyncWasmCompileRuntimeModule({
@@ -8,12 +8,22 @@
8
8
  const { WEBASSEMBLY_MODULE_TYPE_SYNC } = require("../ModuleTypeConstants");
9
9
  const RuntimeGlobals = require("../RuntimeGlobals");
10
10
  const Template = require("../Template");
11
+ const { getPresentKinds } = require("../TemplatedPathPlugin");
11
12
  const WasmChunkLoadingRuntimeModule = require("../wasm-sync/WasmChunkLoadingRuntimeModule");
12
13
 
13
14
  /** @typedef {import("../Chunk")} Chunk */
14
15
  /** @typedef {import("../Compiler")} Compiler */
15
16
 
16
17
  /**
18
+ * The wasm runtime inlines `[fullhash]` as a runtime `getFullHash()` call, so
19
+ * that runtime module must be requested (`[hash]` is the per-module hash here).
20
+ * @param {string} filename `output.webassemblyModuleFilename`
21
+ * @returns {boolean} whether it references the compilation `[fullhash]`
22
+ */
23
+ const usesFullHash = (filename) => getPresentKinds(filename).has("fullhash");
24
+
25
+ /**
26
+ * Defines the read file compile wasm plugin options type used by this module.
17
27
  * @typedef {object} ReadFileCompileWasmPluginOptions
18
28
  * @property {boolean=} mangleImports mangle imports
19
29
  * @property {boolean=} import use import?
@@ -23,6 +33,7 @@ const PLUGIN_NAME = "ReadFileCompileWasmPlugin";
23
33
 
24
34
  class ReadFileCompileWasmPlugin {
25
35
  /**
36
+ * Creates an instance of ReadFileCompileWasmPlugin.
26
37
  * @param {ReadFileCompileWasmPluginOptions=} options options object
27
38
  */
28
39
  constructor(options = {}) {
@@ -31,7 +42,7 @@ class ReadFileCompileWasmPlugin {
31
42
  }
32
43
 
33
44
  /**
34
- * Apply the plugin
45
+ * Applies the plugin by registering its hooks on the compiler.
35
46
  * @param {Compiler} compiler the compiler instance
36
47
  * @returns {void}
37
48
  */
@@ -39,6 +50,7 @@ class ReadFileCompileWasmPlugin {
39
50
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
40
51
  const globalWasmLoading = compilation.outputOptions.wasmLoading;
41
52
  /**
53
+ * Checks whether this read file compile wasm plugin is enabled for chunk.
42
54
  * @param {Chunk} chunk chunk
43
55
  * @returns {boolean} true, when wasm loading is enabled for the chunk
44
56
  */
@@ -65,7 +77,11 @@ class ReadFileCompileWasmPlugin {
65
77
  "",
66
78
  "// Fake fetch response",
67
79
  "resolve({",
68
- Template.indent(["arrayBuffer() { return buffer; }"]),
80
+ Template.indent([
81
+ // Return a real ArrayBuffer: some runtimes (e.g. Deno)
82
+ // reject a Node Buffer view here as "not a buffer source".
83
+ "arrayBuffer() { return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); }"
84
+ ]),
69
85
  "});"
70
86
  ]),
71
87
  "});"
@@ -87,7 +103,11 @@ class ReadFileCompileWasmPlugin {
87
103
  "",
88
104
  "// Fake fetch response",
89
105
  "resolve({",
90
- Template.indent(["arrayBuffer() { return buffer; }"]),
106
+ Template.indent([
107
+ // Return a real ArrayBuffer: some runtimes (e.g. Deno)
108
+ // reject a Node Buffer view here as "not a buffer source".
109
+ "arrayBuffer() { return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); }"
110
+ ]),
91
111
  "});"
92
112
  ]),
93
113
  "});"
@@ -110,6 +130,11 @@ class ReadFileCompileWasmPlugin {
110
130
  return;
111
131
  }
112
132
  set.add(RuntimeGlobals.moduleCache);
133
+ if (
134
+ usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
135
+ ) {
136
+ set.add(RuntimeGlobals.getFullHash);
137
+ }
113
138
  compilation.addRuntimeModule(
114
139
  chunk,
115
140
  new WasmChunkLoadingRuntimeModule({
@@ -26,6 +26,7 @@ const { getUndoPath } = require("../util/identifier");
26
26
 
27
27
  class RequireChunkLoadingRuntimeModule extends RuntimeModule {
28
28
  /**
29
+ * Creates an instance of RequireChunkLoadingRuntimeModule.
29
30
  * @param {ReadOnlyRuntimeRequirements} runtimeRequirements runtime requirements
30
31
  */
31
32
  constructor(runtimeRequirements) {
@@ -35,6 +36,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
35
36
  }
36
37
 
37
38
  /**
39
+ * Returns generated code.
38
40
  * @private
39
41
  * @param {Chunk} chunk chunk
40
42
  * @param {string} rootOutputDir root output directory
@@ -55,6 +57,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
55
57
  }
56
58
 
57
59
  /**
60
+ * Generates runtime code for this runtime module.
58
61
  * @returns {string | null} runtime code
59
62
  */
60
63
  generate() {
@@ -100,6 +103,12 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
100
103
  ? `${RuntimeGlobals.hmrRuntimeStatePrefix}_require`
101
104
  : undefined;
102
105
 
106
+ const cst = runtimeTemplate.renderConst();
107
+ const installedChunksObject = `{\n${Template.indent(
108
+ Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 1`).join(
109
+ ",\n"
110
+ )
111
+ )}\n}`;
103
112
  return Template.asString([
104
113
  withBaseURI
105
114
  ? this._generateBaseUri(chunk, rootOutputDir, runtimeTemplate)
@@ -107,15 +116,11 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
107
116
  "",
108
117
  "// object to store loaded chunks",
109
118
  '// "1" means "loaded", otherwise not loaded yet',
110
- `var installedChunks = ${
111
- stateExpression ? `${stateExpression} = ${stateExpression} || ` : ""
112
- }{`,
113
- Template.indent(
114
- Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 1`).join(
115
- ",\n"
116
- )
117
- ),
118
- "};",
119
+ `${cst} installedChunks = ${
120
+ stateExpression
121
+ ? runtimeTemplate.assignOr(stateExpression, installedChunksObject)
122
+ : installedChunksObject
123
+ };`,
119
124
  "",
120
125
  withOnChunkLoad
121
126
  ? `${
@@ -127,8 +132,8 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
127
132
  : "// no on chunks loaded",
128
133
  "",
129
134
  withLoading || withExternalInstallChunk
130
- ? `var installChunk = ${runtimeTemplate.basicFunction("chunk", [
131
- "var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;",
135
+ ? `${cst} installChunk = ${runtimeTemplate.basicFunction("chunk", [
136
+ `${cst} moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;`,
132
137
  "for(var moduleId in moreModules) {",
133
138
  Template.indent([
134
139
  `if(${RuntimeGlobals.hasOwnProperty}(moreModules, moduleId)) {`,
@@ -161,7 +166,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
161
166
  Template.indent([
162
167
  // The require function loads and runs a chunk. When the chunk is being run,
163
168
  // it can call __webpack_require__.C to directly complete installed.
164
- `var installedChunk = require(${JSON.stringify(
169
+ `${cst} installedChunk = require(${JSON.stringify(
165
170
  rootOutputDir
166
171
  )} + ${
167
172
  RuntimeGlobals.getChunkScriptFilename
@@ -191,17 +196,17 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
191
196
  ? Template.asString([
192
197
  "function loadUpdateChunk(chunkId, updatedModulesList) {",
193
198
  Template.indent([
194
- `var update = require(${JSON.stringify(rootOutputDir)} + ${
199
+ `${cst} update = require(${JSON.stringify(rootOutputDir)} + ${
195
200
  RuntimeGlobals.getChunkUpdateScriptFilename
196
201
  }(chunkId));`,
197
- "var updatedModules = update.modules;",
198
- "var runtime = update.runtime;",
202
+ `${cst} updatedModules = update.modules;`,
203
+ `${cst} runtime = update.runtime;`,
199
204
  "for(var moduleId in updatedModules) {",
200
205
  Template.indent([
201
206
  `if(${RuntimeGlobals.hasOwnProperty}(updatedModules, moduleId)) {`,
202
207
  Template.indent([
203
208
  "currentUpdate[moduleId] = updatedModules[moduleId];",
204
- "if(updatedModulesList) updatedModulesList.push(moduleId);"
209
+ `${runtimeTemplate.optionalChaining("updatedModulesList", "push(moduleId)")};`
205
210
  ]),
206
211
  "}"
207
212
  ]),
@@ -0,0 +1,80 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author sheo13666q @sheo13666q
4
+ */
5
+
6
+ "use strict";
7
+
8
+ // node.js built-in modules externalized by the node/deno/bun target presets.
9
+ const builtins = [
10
+ "assert",
11
+ "assert/strict",
12
+ "async_hooks",
13
+ "buffer",
14
+ "child_process",
15
+ "cluster",
16
+ "console",
17
+ "constants",
18
+ "crypto",
19
+ "dgram",
20
+ "diagnostics_channel",
21
+ "dns",
22
+ "dns/promises",
23
+ "domain",
24
+ "events",
25
+ "fs",
26
+ "fs/promises",
27
+ "http",
28
+ "http2",
29
+ "https",
30
+ "inspector",
31
+ "inspector/promises",
32
+ "module",
33
+ "net",
34
+ "os",
35
+ "path",
36
+ "path/posix",
37
+ "path/win32",
38
+ "perf_hooks",
39
+ "process",
40
+ "punycode",
41
+ "querystring",
42
+ "readline",
43
+ "readline/promises",
44
+ "repl",
45
+ "stream",
46
+ "stream/consumers",
47
+ "stream/promises",
48
+ "stream/web",
49
+ "string_decoder",
50
+ "sys",
51
+ "timers",
52
+ "timers/promises",
53
+ "tls",
54
+ "trace_events",
55
+ "tty",
56
+ "url",
57
+ "util",
58
+ "util/types",
59
+ "v8",
60
+ "vm",
61
+ "wasi",
62
+ "worker_threads",
63
+ "zlib",
64
+ /^node:/,
65
+
66
+ // cspell:word pnpapi
67
+ // Yarn PnP adds pnpapi as "builtin"
68
+ "pnpapi"
69
+ ];
70
+
71
+ // Bare core module names (no `node:` prefix, no regex, no pnpapi), used to
72
+ // recognize a request that has a `node:`-prefixed equivalent.
73
+ const coreModules = new Set(
74
+ builtins.filter(
75
+ (builtin) => typeof builtin === "string" && builtin !== "pnpapi"
76
+ )
77
+ );
78
+
79
+ module.exports.builtins = builtins;
80
+ module.exports.coreModules = coreModules;
@@ -7,120 +7,175 @@
7
7
 
8
8
  const util = require("util");
9
9
  const truncateArgs = require("../logging/truncateArgs");
10
+ const memoize = require("../util/memoize");
10
11
 
12
+ const getCli = memoize(() => require("../cli"));
13
+
14
+ const ESC = "\u001B[";
15
+ const CURSOR_UP = `${ESC}1A`;
16
+ const CLEAR_LINE = `${ESC}2K\r`;
17
+
18
+ /** @typedef {import("../Compiler")} Compiler */
11
19
  /** @typedef {import("../config/defaults").InfrastructureLoggingNormalizedWithDefaults} InfrastructureLoggingNormalizedWithDefaults */
12
20
  /** @typedef {import("../logging/createConsoleLogger").LoggerConsole} LoggerConsole */
21
+ /**
22
+ * @typedef {object} StatusMessageState
23
+ * @property {string[] | undefined} currentMessage current status message
24
+ * @property {number} currentLines current status message rows
25
+ */
26
+
27
+ /** @type {WeakMap<Compiler, StatusMessageState>} */
28
+ const logStatusStateByCompiler = new WeakMap();
29
+ /** @type {Set<StatusMessageState>} */
30
+ const logStatusStates = new Set();
31
+
32
+ /**
33
+ * Returns status state
34
+ * @param {Compiler} compiler compiler
35
+ * @returns {StatusMessageState} status state
36
+ */
37
+ const getLogStatusState = (compiler) => {
38
+ let state = logStatusStateByCompiler.get(compiler);
39
+ if (state === undefined) {
40
+ state = {
41
+ currentMessage: undefined,
42
+ currentLines: 0
43
+ };
44
+ logStatusStateByCompiler.set(compiler, state);
45
+ logStatusStates.add(state);
46
+ }
47
+ return state;
48
+ };
13
49
 
14
50
  /* eslint-disable no-console */
15
51
 
16
52
  /**
53
+ * Returns logger function.
17
54
  * @param {object} options options
18
55
  * @param {boolean=} options.colors colors
19
56
  * @param {boolean=} options.appendOnly append only
20
57
  * @param {InfrastructureLoggingNormalizedWithDefaults["stream"]} options.stream stream
58
+ * @param {Compiler} options.compiler compiler
21
59
  * @returns {LoggerConsole} logger function
22
60
  */
23
- module.exports = ({ colors, appendOnly, stream }) => {
24
- /** @type {string[] | undefined} */
25
- let currentStatusMessage;
26
- let hasStatusMessage = false;
61
+ module.exports = ({ colors, appendOnly, stream, compiler }) => {
62
+ const c = getCli().createColors({ useColor: Boolean(colors) });
63
+ const logStatusState = getLogStatusState(compiler);
64
+
27
65
  let currentIndent = "";
28
66
  let currentCollapsed = 0;
29
67
 
30
68
  /**
69
+ * Returns indented string.
31
70
  * @param {string} str string
32
71
  * @param {string} prefix prefix
33
- * @param {string} colorPrefix color prefix
34
- * @param {string} colorSuffix color suffix
72
+ * @param {(line: string) => string} colorFn color function
35
73
  * @returns {string} indented string
36
74
  */
37
- const indent = (str, prefix, colorPrefix, colorSuffix) => {
75
+ const indent = (str, prefix, colorFn) => {
38
76
  if (str === "") return str;
39
77
  prefix = currentIndent + prefix;
40
- if (colors) {
41
- return (
42
- prefix +
43
- colorPrefix +
44
- str.replace(/\n/g, `${colorSuffix}\n${prefix}${colorPrefix}`) +
45
- colorSuffix
46
- );
47
- }
48
-
49
- return prefix + str.replace(/\n/g, `\n${prefix}`);
78
+ return (
79
+ prefix +
80
+ str
81
+ .split("\n")
82
+ .map((line) => colorFn(line))
83
+ .join(`\n${prefix}`)
84
+ );
50
85
  };
51
86
 
52
87
  const clearStatusMessage = () => {
53
- if (hasStatusMessage) {
54
- stream.write("\u001B[2K\r");
55
- hasStatusMessage = false;
88
+ let lines = 0;
89
+ for (const state of logStatusStates) {
90
+ if (state.currentLines) {
91
+ lines += state.currentLines;
92
+ state.currentLines = 0;
93
+ }
94
+ }
95
+ for (let i = 0; i < lines; i++) {
96
+ if (i > 0) stream.write(CURSOR_UP);
97
+ stream.write(CLEAR_LINE);
56
98
  }
57
99
  };
58
100
 
59
101
  const writeStatusMessage = () => {
60
- if (!currentStatusMessage) return;
61
- const l = stream.columns || 40;
62
- const args = truncateArgs(currentStatusMessage, l - 1);
63
- const str = args.join(" ");
64
- const coloredStr = `\u001B[1m${str}\u001B[39m\u001B[22m`;
65
- stream.write(`\u001B[2K\r${coloredStr}`);
66
- hasStatusMessage = true;
102
+ const column = stream.columns || 40;
103
+ /** @type {string[]} */
104
+ const all = [];
105
+
106
+ for (const state of logStatusStates) {
107
+ if (!state.currentMessage) continue;
108
+ /** @type {string[][]} */
109
+ const lines = [[]];
110
+ for (const item of state.currentMessage) {
111
+ const parts = item.split("\n");
112
+ lines[lines.length - 1].push(parts[0]);
113
+ for (let i = 1; i < parts.length; i++) {
114
+ lines.push([parts[i]]);
115
+ }
116
+ }
117
+ const truncateLines = lines.map((args) =>
118
+ truncateArgs(args, column - 1).join(" ")
119
+ );
120
+ state.currentLines = truncateLines.length;
121
+ for (const line of truncateLines) all.push(line);
122
+ }
123
+ if (all.length === 0) return;
124
+
125
+ const coloredLines = all.map((str) => c.bold(str));
126
+ stream.write(`${CLEAR_LINE}${coloredLines.join(`\n${CLEAR_LINE}`)}`);
67
127
  };
68
128
 
69
129
  /**
130
+ * @param {EXPECTED_ANY[]} statusMessage status message
131
+ * @returns {void}
132
+ */
133
+ const setStatusMessage = (statusMessage) => {
134
+ clearStatusMessage();
135
+ logStatusState.currentMessage = statusMessage.map((item) => `${item}`);
136
+ writeStatusMessage();
137
+ };
138
+
139
+ /**
140
+ * Returns function to write with colors.
70
141
  * @template T
71
142
  * @param {string} prefix prefix
72
- * @param {string} colorPrefix color prefix
73
- * @param {string} colorSuffix color suffix
143
+ * @param {(line: string) => string} colorFn color function
74
144
  * @returns {(...args: T[]) => void} function to write with colors
75
145
  */
76
146
  const writeColored =
77
- (prefix, colorPrefix, colorSuffix) =>
147
+ (prefix, colorFn) =>
78
148
  (...args) => {
79
149
  if (currentCollapsed > 0) return;
80
150
  clearStatusMessage();
81
- const str = indent(
82
- util.format(...args),
83
- prefix,
84
- colorPrefix,
85
- colorSuffix
86
- );
151
+ const str = indent(util.format(...args), prefix, colorFn);
87
152
  stream.write(`${str}\n`);
88
153
  writeStatusMessage();
89
154
  };
90
155
 
91
156
  /** @type {<T extends unknown[]>(...args: T) => void} */
92
- const writeGroupMessage = writeColored(
93
- "<-> ",
94
- "\u001B[1m\u001B[36m",
95
- "\u001B[39m\u001B[22m"
96
- );
157
+ const writeGroupMessage = writeColored("<-> ", (str) => c.bold(c.cyan(str)));
97
158
 
98
159
  /** @type {<T extends unknown[]>(...args: T) => void} */
99
- const writeGroupCollapsedMessage = writeColored(
100
- "<+> ",
101
- "\u001B[1m\u001B[36m",
102
- "\u001B[39m\u001B[22m"
160
+ const writeGroupCollapsedMessage = writeColored("<+> ", (str) =>
161
+ c.bold(c.cyan(str))
103
162
  );
104
163
 
105
164
  return {
106
165
  /** @type {LoggerConsole["log"]} */
107
- log: writeColored(" ", "\u001B[1m", "\u001B[22m"),
166
+ log: writeColored(" ", c.bold),
108
167
  /** @type {LoggerConsole["debug"]} */
109
- debug: writeColored(" ", "", ""),
168
+ debug: writeColored(" ", String),
110
169
  /** @type {LoggerConsole["trace"]} */
111
- trace: writeColored(" ", "", ""),
170
+ trace: writeColored(" ", String),
112
171
  /** @type {LoggerConsole["info"]} */
113
- info: writeColored("<i> ", "\u001B[1m\u001B[32m", "\u001B[39m\u001B[22m"),
172
+ info: writeColored("<i> ", (str) => c.bold(c.green(str))),
114
173
  /** @type {LoggerConsole["warn"]} */
115
- warn: writeColored("<w> ", "\u001B[1m\u001B[33m", "\u001B[39m\u001B[22m"),
174
+ warn: writeColored("<w> ", (str) => c.bold(c.yellow(str))),
116
175
  /** @type {LoggerConsole["error"]} */
117
- error: writeColored("<e> ", "\u001B[1m\u001B[31m", "\u001B[39m\u001B[22m"),
176
+ error: writeColored("<e> ", (str) => c.bold(c.red(str))),
118
177
  /** @type {LoggerConsole["logTime"]} */
119
- logTime: writeColored(
120
- "<t> ",
121
- "\u001B[1m\u001B[35m",
122
- "\u001B[39m\u001B[22m"
123
- ),
178
+ logTime: writeColored("<t> ", (str) => c.bold(c.magenta(str))),
124
179
  /** @type {LoggerConsole["group"]} */
125
180
  group: (...args) => {
126
181
  writeGroupMessage(...args);
@@ -161,24 +216,21 @@ module.exports = ({ colors, appendOnly, stream }) => {
161
216
  ),
162
217
  /** @type {LoggerConsole["status"]} */
163
218
  status: appendOnly
164
- ? writeColored("<s> ", "", "")
219
+ ? writeColored("<s> ", String)
165
220
  : (name, ...args) => {
166
221
  args = args.filter(Boolean);
167
222
  if (name === undefined && args.length === 0) {
168
223
  clearStatusMessage();
169
- currentStatusMessage = undefined;
224
+ logStatusState.currentMessage = undefined;
170
225
  } else if (
171
226
  typeof name === "string" &&
172
227
  name.startsWith("[webpack.Progress] ")
173
228
  ) {
174
- currentStatusMessage = [name.slice(19), ...args];
175
- writeStatusMessage();
229
+ setStatusMessage([name.slice(19), ...args]);
176
230
  } else if (name === "[webpack.Progress]") {
177
- currentStatusMessage = [...args];
178
- writeStatusMessage();
231
+ setStatusMessage([...args]);
179
232
  } else {
180
- currentStatusMessage = [name, ...args];
181
- writeStatusMessage();
233
+ setStatusMessage([name, ...args]);
182
234
  }
183
235
  }
184
236
  };