@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
@@ -5,14 +5,17 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ /** @typedef {import("./Hash")} Hash */
9
+
8
10
  const A_CODE = "a".charCodeAt(0);
9
11
 
10
12
  /**
13
+ * Returns hash that has at least one non numeric char.
11
14
  * @param {string} hash hash
12
15
  * @param {number} hashLength hash length
13
16
  * @returns {string} returns hash that has at least one non numeric char
14
17
  */
15
- module.exports = (hash, hashLength) => {
18
+ const nonNumericOnlyHash = (hash, hashLength) => {
16
19
  if (hashLength < 1) return "";
17
20
  const slice = hash.slice(0, hashLength);
18
21
  if (/[^\d]/.test(slice)) return slice;
@@ -20,3 +23,30 @@ module.exports = (hash, hashLength) => {
20
23
  A_CODE + (Number.parseInt(hash[0], 10) % 6)
21
24
  )}${slice.slice(1)}`;
22
25
  };
26
+
27
+ /**
28
+ * Digests a hash and truncates it to a content-hash string (non-numeric first char).
29
+ * @param {Hash} hash hash
30
+ * @param {string} hashDigest digest encoding
31
+ * @param {number} hashDigestLength hash length
32
+ * @returns {string} content hash string
33
+ */
34
+ const digestNonNumericOnly = (hash, hashDigest, hashDigestLength) =>
35
+ nonNumericOnlyHash(hash.digest(hashDigest), hashDigestLength);
36
+
37
+ /**
38
+ * Digests a hash, returning both the truncated content-hash string and the full
39
+ * (untruncated) digest, so `[contenthash:<digest>]` can re-encode from full entropy.
40
+ * @param {Hash} hash hash
41
+ * @param {string} hashDigest digest encoding
42
+ * @param {number} hashDigestLength hash length
43
+ * @returns {[string, string]} content hash string and full digest
44
+ */
45
+ const digestNonNumericOnlyWithFull = (hash, hashDigest, hashDigestLength) => {
46
+ const full = /** @type {string} */ (hash.digest(hashDigest));
47
+ return [nonNumericOnlyHash(full, hashDigestLength), full];
48
+ };
49
+
50
+ module.exports = nonNumericOnlyHash;
51
+ module.exports.digestNonNumericOnly = digestNonNumericOnly;
52
+ module.exports.digestNonNumericOnlyWithFull = digestNonNumericOnlyWithFull;
@@ -83,8 +83,8 @@ function fnv1a64(str) {
83
83
  * @example
84
84
  * ```js
85
85
  * const numberHash = require("webpack/lib/util/numberHash");
86
- * numberHash("hello", 1000); // 73
87
- * numberHash("hello world"); // 72
86
+ * numberHash("hello", 1000); // 723
87
+ * numberHash("hello world", 1000); // 159
88
88
  * ```
89
89
  */
90
90
  module.exports = (str, range) => {
@@ -0,0 +1,41 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ */
4
+
5
+ "use strict";
6
+
7
+ const JSONParseError = require("../errors/JSONParseError");
8
+
9
+ /** @typedef {import("../util/fs").JsonValue} JsonValue */
10
+
11
+ // Inspired by https://github.com/npm/json-parse-even-better-errors
12
+
13
+ // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
14
+ // because the buffer-to-string conversion in `fs.readFileSync()`
15
+ // translates it to FEFF, the UTF-16 BOM.
16
+ /**
17
+ * @param {string | Buffer} txt text
18
+ * @returns {string} text without BOM
19
+ */
20
+ const stripBOM = (txt) => String(txt).replace(/^\uFEFF/, "");
21
+
22
+ /**
23
+ * @template [R=JsonValue]
24
+ * @callback ParseJsonFn
25
+ * @param {string} raw text
26
+ * @param {(this: EXPECTED_ANY, key: string, value: EXPECTED_ANY) => EXPECTED_ANY=} reviver reviver
27
+ * @returns {R} parsed JSON
28
+ */
29
+
30
+ /** @type {ParseJsonFn} */
31
+ const parseJson = (raw, reviver) => {
32
+ const txt = stripBOM(raw);
33
+
34
+ try {
35
+ return JSON.parse(txt, reviver);
36
+ } catch (err) {
37
+ throw new JSONParseError(/** @type {Error} */ (err), raw, txt);
38
+ }
39
+ };
40
+
41
+ module.exports = parseJson;
@@ -6,6 +6,10 @@
6
6
  "use strict";
7
7
 
8
8
  /**
9
+ * Walks a dynamically expanding async work tree with bounded concurrency.
10
+ * Each processed item may enqueue more items through `push`, allowing callers
11
+ * to model breadth-first or depth-first discovery without managing the queue
12
+ * themselves.
9
13
  * @template T
10
14
  * @template {Error} E
11
15
  * @param {Iterable<T>} items initial items
@@ -22,6 +26,8 @@ const processAsyncTree = (items, concurrency, processor, callback) => {
22
26
  let processScheduled = true;
23
27
 
24
28
  /**
29
+ * Enqueues a newly discovered item and schedules queue processing when the
30
+ * current concurrency budget allows more work to start.
25
31
  * @param {T} item item
26
32
  */
27
33
  const push = (item) => {
@@ -33,6 +39,8 @@ const processAsyncTree = (items, concurrency, processor, callback) => {
33
39
  };
34
40
 
35
41
  /**
42
+ * Handles completion of a single processor call, propagating the first
43
+ * error and scheduling more queued work when possible.
36
44
  * @param {E | null | undefined} err error
37
45
  */
38
46
  const processorCallback = (err) => {
@@ -74,7 +74,8 @@ const propertyName = (prop) => {
74
74
  };
75
75
 
76
76
  /**
77
- * @param {ArrayLike<string>} properties properties
77
+ * Returns chain of property accesses.
78
+ * @param {readonly string[]} properties properties
78
79
  * @param {number} start start index
79
80
  * @returns {string} chain of property accesses
80
81
  */
@@ -82,7 +83,13 @@ const propertyAccess = (properties, start = 0) => {
82
83
  let str = "";
83
84
  for (let i = start; i < properties.length; i++) {
84
85
  const p = properties[i];
85
- if (`${Number(p)}` === p) {
86
+ // Only first chars 0-9, "-", "N", "I" can begin a canonical numeric form
87
+ // (number, NaN, Infinity); skip the Number() round-trip otherwise.
88
+ const c = p.charCodeAt(0);
89
+ if (
90
+ ((c >= 48 && c <= 57) || c === 45 || c === 78 || c === 73) &&
91
+ `${Number(p)}` === p
92
+ ) {
86
93
  str += `[${p}]`;
87
94
  } else if (SAFE_IDENTIFIER.test(p) && !RESERVED_IDENTIFIER.has(p)) {
88
95
  str += `.${p}`;
@@ -0,0 +1,64 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ */
4
+
5
+ "use strict";
6
+
7
+ // Placeholders embedded into asset `url()` / HTML chunk URLs at code-generation
8
+ // time, when the final public path can't be resolved yet, then substituted
9
+ // later once the information is available:
10
+ // - PUBLIC_PATH_AUTO — stands in for `output.publicPath: "auto"`; replaced
11
+ // with the per-output-file undo path (relative `../` segments back to the
12
+ // output root) during chunk/asset render.
13
+ // - PUBLIC_PATH_FULL_HASH — stands in for `[fullhash]`/`[hash]` in a public
14
+ // path before the compilation hash exists. Form: `<prefix><len>__`, where
15
+ // `<len>` is the requested hash length (`0` means the full hash). Replaced
16
+ // with the real hash (build-time, e.g. CSS `.css` files) or a runtime
17
+ // `__webpack_require__.h()` expression (inlined CSS in JS).
18
+ const PUBLIC_PATH_AUTO = "__WEBPACK_CSS_PUBLIC_PATH_AUTO__";
19
+ const PUBLIC_PATH_FULL_HASH = "__WEBPACK_CSS_PUBLIC_PATH_FULL_HASH_";
20
+
21
+ /**
22
+ * Scan `content` for `PUBLIC_PATH_FULL_HASH` placeholders and invoke `onMatch`
23
+ * once per well-formed occurrence. The placeholder spans the half-open range
24
+ * `[start, end)` and encodes the requested hash length (`0` means the full
25
+ * hash). Callers substitute the build-time hash or a runtime expression
26
+ * depending on context.
27
+ * @param {string} content text to scan
28
+ * @param {(start: number, end: number, length: number) => void} onMatch placeholder callback
29
+ * @returns {void}
30
+ */
31
+ const walkFullHashPlaceholders = (content, onMatch) => {
32
+ const prefix = PUBLIC_PATH_FULL_HASH;
33
+ const prefixLen = prefix.length;
34
+ const len = content.length;
35
+ let idx = content.indexOf(prefix);
36
+ while (idx !== -1) {
37
+ let digitEnd = idx + prefixLen;
38
+ while (digitEnd < len) {
39
+ const cc = content.charCodeAt(digitEnd);
40
+ if (cc < 48 || cc > 57) break;
41
+ digitEnd++;
42
+ }
43
+ // Well-formed placeholder: at least one digit followed by `__`.
44
+ if (
45
+ digitEnd > idx + prefixLen &&
46
+ digitEnd + 1 < len &&
47
+ content.charCodeAt(digitEnd) === 95 &&
48
+ content.charCodeAt(digitEnd + 1) === 95
49
+ ) {
50
+ const length = Number.parseInt(
51
+ content.slice(idx + prefixLen, digitEnd),
52
+ 10
53
+ );
54
+ onMatch(idx, digitEnd + 2, length);
55
+ idx = content.indexOf(prefix, digitEnd + 2);
56
+ } else {
57
+ idx = content.indexOf(prefix, idx + prefixLen);
58
+ }
59
+ }
60
+ };
61
+
62
+ module.exports.PUBLIC_PATH_AUTO = PUBLIC_PATH_AUTO;
63
+ module.exports.PUBLIC_PATH_FULL_HASH = PUBLIC_PATH_FULL_HASH;
64
+ module.exports.walkFullHashPlaceholders = walkFullHashPlaceholders;
@@ -33,6 +33,7 @@ register(
33
33
  "webpack-sources/CachedSource",
34
34
  new (class CachedSourceSerializer {
35
35
  /**
36
+ * Serializes this instance into the provided serializer context.
36
37
  * @param {CachedSource} source the cached source to be serialized
37
38
  * @param {ObjectSerializerContext} context context
38
39
  * @returns {void}
@@ -47,6 +48,7 @@ register(
47
48
  }
48
49
 
49
50
  /**
51
+ * Restores this instance from the provided deserializer context.
50
52
  * @param {ObjectDeserializerContext} context context
51
53
  * @returns {CachedSource} cached source
52
54
  */
@@ -64,6 +66,7 @@ register(
64
66
  "webpack-sources/RawSource",
65
67
  new (class RawSourceSerializer {
66
68
  /**
69
+ * Serializes this instance into the provided serializer context.
67
70
  * @param {RawSource} source the raw source to be serialized
68
71
  * @param {ObjectSerializerContext} context context
69
72
  * @returns {void}
@@ -74,6 +77,7 @@ register(
74
77
  }
75
78
 
76
79
  /**
80
+ * Restores this instance from the provided deserializer context.
77
81
  * @param {ObjectDeserializerContext} context context
78
82
  * @returns {RawSource} raw source
79
83
  */
@@ -91,6 +95,7 @@ register(
91
95
  "webpack-sources/ConcatSource",
92
96
  new (class ConcatSourceSerializer {
93
97
  /**
98
+ * Serializes this instance into the provided serializer context.
94
99
  * @param {ConcatSource} source the concat source to be serialized
95
100
  * @param {ObjectSerializerContext} context context
96
101
  * @returns {void}
@@ -100,6 +105,7 @@ register(
100
105
  }
101
106
 
102
107
  /**
108
+ * Restores this instance from the provided deserializer context.
103
109
  * @param {ObjectDeserializerContext} context context
104
110
  * @returns {ConcatSource} concat source
105
111
  */
@@ -117,6 +123,7 @@ register(
117
123
  "webpack-sources/PrefixSource",
118
124
  new (class PrefixSourceSerializer {
119
125
  /**
126
+ * Serializes this instance into the provided serializer context.
120
127
  * @param {PrefixSource} source the prefix source to be serialized
121
128
  * @param {ObjectSerializerContext} context context
122
129
  * @returns {void}
@@ -127,6 +134,7 @@ register(
127
134
  }
128
135
 
129
136
  /**
137
+ * Restores this instance from the provided deserializer context.
130
138
  * @param {ObjectDeserializerContext} context context
131
139
  * @returns {PrefixSource} prefix source
132
140
  */
@@ -142,6 +150,7 @@ register(
142
150
  "webpack-sources/ReplaceSource",
143
151
  new (class ReplaceSourceSerializer {
144
152
  /**
153
+ * Serializes this instance into the provided serializer context.
145
154
  * @param {ReplaceSource} source the replace source to be serialized
146
155
  * @param {ObjectSerializerContext} context context
147
156
  * @returns {void}
@@ -162,6 +171,7 @@ register(
162
171
  }
163
172
 
164
173
  /**
174
+ * Restores this instance from the provided deserializer context.
165
175
  * @param {ObjectDeserializerContext} context context
166
176
  * @returns {ReplaceSource} replace source
167
177
  */
@@ -193,6 +203,7 @@ register(
193
203
  "webpack-sources/OriginalSource",
194
204
  new (class OriginalSourceSerializer {
195
205
  /**
206
+ * Serializes this instance into the provided serializer context.
196
207
  * @param {OriginalSource} source the original source to be serialized
197
208
  * @param {ObjectSerializerContext} context context
198
209
  * @returns {void}
@@ -203,6 +214,7 @@ register(
203
214
  }
204
215
 
205
216
  /**
217
+ * Restores this instance from the provided deserializer context.
206
218
  * @param {ObjectDeserializerContext} context context
207
219
  * @returns {OriginalSource} original source
208
220
  */
@@ -220,8 +232,9 @@ register(
220
232
  "acorn/SourceLocation",
221
233
  new (class SourceLocationSerializer {
222
234
  /**
235
+ * Serializes this instance into the provided serializer context.
223
236
  * @param {SourceLocation} loc the location to be serialized
224
- * @param {ObjectSerializerContext} context context
237
+ * @param {import("../serialization/ObjectMiddleware").ObjectSerializerContext<number[]>} context context
225
238
  * @returns {void}
226
239
  */
227
240
  serialize(loc, { write }) {
@@ -232,7 +245,8 @@ register(
232
245
  }
233
246
 
234
247
  /**
235
- * @param {ObjectDeserializerContext} context context
248
+ * Restores this instance from the provided deserializer context.
249
+ * @param {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<number[]>} context context
236
250
  * @returns {RealDependencyLocation} location
237
251
  */
238
252
  deserialize({ read }) {
@@ -256,8 +270,9 @@ register(
256
270
  "acorn/Position",
257
271
  new (class PositionSerializer {
258
272
  /**
273
+ * Serializes this instance into the provided serializer context.
259
274
  * @param {Position} pos the position to be serialized
260
- * @param {ObjectSerializerContext} context context
275
+ * @param {import("../serialization/ObjectMiddleware").ObjectSerializerContext<number[]>} context context
261
276
  * @returns {void}
262
277
  */
263
278
  serialize(pos, { write }) {
@@ -266,7 +281,8 @@ register(
266
281
  }
267
282
 
268
283
  /**
269
- * @param {ObjectDeserializerContext} context context
284
+ * Restores this instance from the provided deserializer context.
285
+ * @param {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<number[]>} context context
270
286
  * @returns {SourcePosition} position
271
287
  */
272
288
  deserialize({ read }) {
@@ -284,6 +300,7 @@ register(
284
300
  "webpack-sources/SourceMapSource",
285
301
  new (class SourceMapSourceSerializer {
286
302
  /**
303
+ * Serializes this instance into the provided serializer context.
287
304
  * @param {SourceMapSource} source the source map source to be serialized
288
305
  * @param {ObjectSerializerContext} context context
289
306
  * @returns {void}
@@ -293,6 +310,7 @@ register(
293
310
  }
294
311
 
295
312
  /**
313
+ * Restores this instance from the provided deserializer context.
296
314
  * @param {ObjectDeserializerContext} context context
297
315
  * @returns {SourceMapSource} source source map source
298
316
  */
@@ -309,6 +327,7 @@ register(
309
327
  "schema-utils/ValidationError",
310
328
  new (class ValidationErrorSerializer {
311
329
  /**
330
+ * Serializes this instance into the provided serializer context.
312
331
  * @param {ValidationError} error the source map source to be serialized
313
332
  * @param {ObjectSerializerContext} context context
314
333
  * @returns {void}
@@ -324,6 +343,7 @@ register(
324
343
  }
325
344
 
326
345
  /**
346
+ * Restores this instance from the provided deserializer context.
327
347
  * @param {ObjectDeserializerContext} context context
328
348
  * @returns {ValidationError} error
329
349
  */
@@ -6,6 +6,7 @@
6
6
  "use strict";
7
7
 
8
8
  /**
9
+ * Returns result without BOM.
9
10
  * @param {string | Buffer} strOrBuffer string or buffer
10
11
  * @returns {string | Buffer} result without BOM
11
12
  */
@@ -15,6 +15,7 @@ const SortableSet = require("./SortableSet");
15
15
  /** @typedef {RuntimeSpec | boolean} RuntimeCondition */
16
16
 
17
17
  /**
18
+ * Gets entry runtime.
18
19
  * @param {Compilation} compilation the compilation
19
20
  * @param {string} name name of the entry
20
21
  * @param {EntryOptions=} options optionally already received entry options
@@ -54,6 +55,7 @@ const getEntryRuntime = (compilation, name, options) => {
54
55
  };
55
56
 
56
57
  /**
58
+ * Processes the provided runtime.
57
59
  * @param {RuntimeSpec} runtime runtime
58
60
  * @param {(runtime: string | undefined) => void} fn functor
59
61
  * @param {boolean} deterministicOrder enforce a deterministic order
@@ -73,6 +75,7 @@ const forEachRuntime = (runtime, fn, deterministicOrder = false) => {
73
75
  };
74
76
 
75
77
  /**
78
+ * Returns runtime key.
76
79
  * @template T
77
80
  * @param {Exclude<RuntimeSpec, undefined | string>} set set
78
81
  * @returns {string} runtime key
@@ -83,6 +86,7 @@ const getRuntimesKey = (set) => {
83
86
  };
84
87
 
85
88
  /**
89
+ * Returns key of runtimes.
86
90
  * @param {RuntimeSpec} runtime runtime(s)
87
91
  * @returns {string} key of runtimes
88
92
  */
@@ -93,6 +97,7 @@ const getRuntimeKey = (runtime) => {
93
97
  };
94
98
 
95
99
  /**
100
+ * Returns runtime(s).
96
101
  * @param {string} key key of runtimes
97
102
  * @returns {RuntimeSpec} runtime(s)
98
103
  */
@@ -104,6 +109,7 @@ const keyToRuntime = (key) => {
104
109
  };
105
110
 
106
111
  /**
112
+ * Gets runtimes string.
107
113
  * @template T
108
114
  * @param {Exclude<RuntimeSpec, undefined | string>} set set
109
115
  * @returns {string} runtime string
@@ -114,6 +120,7 @@ const getRuntimesString = (set) => {
114
120
  };
115
121
 
116
122
  /**
123
+ * Returns readable version.
117
124
  * @param {RuntimeSpec} runtime runtime(s)
118
125
  * @returns {string} readable version
119
126
  */
@@ -124,6 +131,7 @@ const runtimeToString = (runtime) => {
124
131
  };
125
132
 
126
133
  /**
134
+ * Runtime condition to string.
127
135
  * @param {RuntimeCondition} runtimeCondition runtime condition
128
136
  * @returns {string} readable version
129
137
  */
@@ -134,6 +142,7 @@ const runtimeConditionToString = (runtimeCondition) => {
134
142
  };
135
143
 
136
144
  /**
145
+ * Returns true, when they are equal.
137
146
  * @param {RuntimeSpec} a first
138
147
  * @param {RuntimeSpec} b second
139
148
  * @returns {boolean} true, when they are equal
@@ -164,6 +173,7 @@ const runtimeEqual = (a, b) => {
164
173
  };
165
174
 
166
175
  /**
176
+ * Compares the provided values and returns their ordering.
167
177
  * @param {RuntimeSpec} a first
168
178
  * @param {RuntimeSpec} b second
169
179
  * @returns {-1 | 0 | 1} compare
@@ -184,6 +194,7 @@ const compareRuntime = (a, b) => {
184
194
  };
185
195
 
186
196
  /**
197
+ * Merges the provided values into a single result.
187
198
  * @param {RuntimeSpec} a first
188
199
  * @param {RuntimeSpec} b second
189
200
  * @returns {RuntimeSpec} merged
@@ -225,6 +236,7 @@ const mergeRuntime = (a, b) => {
225
236
  };
226
237
 
227
238
  /**
239
+ * Merges runtime condition.
228
240
  * @param {RuntimeCondition} a first
229
241
  * @param {RuntimeCondition} b second
230
242
  * @param {RuntimeSpec} runtime full runtime
@@ -246,6 +258,7 @@ const mergeRuntimeCondition = (a, b, runtime) => {
246
258
  };
247
259
 
248
260
  /**
261
+ * Merges runtime condition non false.
249
262
  * @param {RuntimeSpec | true} a first
250
263
  * @param {RuntimeSpec | true} b second
251
264
  * @param {RuntimeSpec} runtime full runtime
@@ -265,6 +278,7 @@ const mergeRuntimeConditionNonFalse = (a, b, runtime) => {
265
278
  };
266
279
 
267
280
  /**
281
+ * Merges runtime owned.
268
282
  * @param {RuntimeSpec} a first (may be modified)
269
283
  * @param {RuntimeSpec} b second
270
284
  * @returns {RuntimeSpec} merged
@@ -302,6 +316,7 @@ const mergeRuntimeOwned = (a, b) => {
302
316
  };
303
317
 
304
318
  /**
319
+ * Returns merged.
305
320
  * @param {RuntimeSpec} a first
306
321
  * @param {RuntimeSpec} b second
307
322
  * @returns {RuntimeSpec} merged
@@ -339,6 +354,7 @@ const intersectRuntime = (a, b) => {
339
354
  };
340
355
 
341
356
  /**
357
+ * Returns result.
342
358
  * @param {RuntimeSpec} a first
343
359
  * @param {RuntimeSpec} b second
344
360
  * @returns {RuntimeSpec} result
@@ -384,6 +400,7 @@ const subtractRuntime = (a, b) => {
384
400
  };
385
401
 
386
402
  /**
403
+ * Subtract runtime condition.
387
404
  * @param {RuntimeCondition} a first
388
405
  * @param {RuntimeCondition} b second
389
406
  * @param {RuntimeSpec} runtime runtime
@@ -398,6 +415,7 @@ const subtractRuntimeCondition = (a, b, runtime) => {
398
415
  };
399
416
 
400
417
  /**
418
+ * Returns true/false if filter is constant for all runtimes, otherwise runtimes that are active.
401
419
  * @param {RuntimeSpec} runtime runtime
402
420
  * @param {(runtime?: RuntimeSpec) => boolean} filter filter function
403
421
  * @returns {boolean | RuntimeSpec} true/false if filter is constant for all runtimes, otherwise runtimes that are active
@@ -424,16 +442,19 @@ const filterRuntime = (runtime, filter) => {
424
442
  };
425
443
 
426
444
  /**
445
+ * Defines the runtime spec map inner map type used by this module.
427
446
  * @template T
428
447
  * @typedef {Map<string, T>} RuntimeSpecMapInnerMap
429
448
  */
430
449
 
431
450
  /**
451
+ * Represents RuntimeSpecMap.
432
452
  * @template T
433
453
  * @template [R=T]
434
454
  */
435
455
  class RuntimeSpecMap {
436
456
  /**
457
+ * Creates an instance of RuntimeSpecMap.
437
458
  * @param {RuntimeSpecMap<T, R>=} clone copy form this
438
459
  */
439
460
  constructor(clone) {
@@ -448,6 +469,7 @@ class RuntimeSpecMap {
448
469
  }
449
470
 
450
471
  /**
472
+ * Returns value.
451
473
  * @param {RuntimeSpec} runtime the runtimes
452
474
  * @returns {R | undefined} value
453
475
  */
@@ -467,6 +489,7 @@ class RuntimeSpecMap {
467
489
  }
468
490
 
469
491
  /**
492
+ * Returns true, when the runtime is stored.
470
493
  * @param {RuntimeSpec} runtime the runtimes
471
494
  * @returns {boolean} true, when the runtime is stored
472
495
  */
@@ -484,6 +507,7 @@ class RuntimeSpecMap {
484
507
  }
485
508
 
486
509
  /**
510
+ * Updates default using the provided runtime.
487
511
  * @param {RuntimeSpec} runtime the runtimes
488
512
  * @param {R} value the value
489
513
  */
@@ -515,6 +539,7 @@ class RuntimeSpecMap {
515
539
  }
516
540
 
517
541
  /**
542
+ * Returns the new value.
518
543
  * @param {RuntimeSpec} runtime the runtimes
519
544
  * @param {() => R} computer function to compute the value
520
545
  * @returns {R} the new value
@@ -557,6 +582,7 @@ class RuntimeSpecMap {
557
582
  }
558
583
 
559
584
  /**
585
+ * Processes the provided runtime.
560
586
  * @param {RuntimeSpec} runtime the runtimes
561
587
  */
562
588
  delete(runtime) {
@@ -577,6 +603,7 @@ class RuntimeSpecMap {
577
603
  }
578
604
 
579
605
  /**
606
+ * Processes the provided runtime.
580
607
  * @param {RuntimeSpec} runtime the runtimes
581
608
  * @param {(value: R | undefined) => R} fn function to update the value
582
609
  */
@@ -634,6 +661,7 @@ class RuntimeSpecMap {
634
661
  }
635
662
 
636
663
  /**
664
+ * Returns values.
637
665
  * @returns {IterableIterator<R>} values
638
666
  */
639
667
  values() {
@@ -658,6 +686,7 @@ class RuntimeSpecMap {
658
686
 
659
687
  class RuntimeSpecSet {
660
688
  /**
689
+ * Creates an instance of RuntimeSpecSet.
661
690
  * @param {Iterable<RuntimeSpec>=} iterable iterable
662
691
  */
663
692
  constructor(iterable) {
@@ -671,6 +700,7 @@ class RuntimeSpecSet {
671
700
  }
672
701
 
673
702
  /**
703
+ * Processes the provided runtime.
674
704
  * @param {RuntimeSpec} runtime runtime
675
705
  */
676
706
  add(runtime) {
@@ -678,6 +708,7 @@ class RuntimeSpecSet {
678
708
  }
679
709
 
680
710
  /**
711
+ * Returns true, when the runtime exists.
681
712
  * @param {RuntimeSpec} runtime runtime
682
713
  * @returns {boolean} true, when the runtime exists
683
714
  */
@@ -686,6 +717,7 @@ class RuntimeSpecSet {
686
717
  }
687
718
 
688
719
  /**
720
+ * Returns iterable iterator.
689
721
  * @returns {IterableIterator<RuntimeSpec>} iterable iterator
690
722
  */
691
723
  [Symbol.iterator]() {