webpack 5.106.0 → 5.106.2

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 (553) hide show
  1. package/lib/APIPlugin.js +3 -1
  2. package/lib/AbstractMethodError.js +10 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AsyncDependencyToInitialChunkError.js +6 -1
  5. package/lib/AutomaticPrefetchPlugin.js +6 -1
  6. package/lib/BannerPlugin.js +10 -1
  7. package/lib/Cache.js +26 -1
  8. package/lib/CacheFacade.js +26 -0
  9. package/lib/CaseSensitiveModulesWarning.js +9 -1
  10. package/lib/Chunk.js +46 -0
  11. package/lib/ChunkGraph.js +111 -0
  12. package/lib/ChunkGroup.js +57 -13
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CleanPlugin.js +14 -1
  15. package/lib/CodeGenerationResults.js +19 -0
  16. package/lib/CommentCompilationWarning.js +6 -0
  17. package/lib/CompatibilityPlugin.js +15 -1
  18. package/lib/Compilation.js +127 -1
  19. package/lib/Compiler.js +37 -4
  20. package/lib/ConcatenationScope.js +24 -1
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +4 -1
  23. package/lib/ContextExclusionPlugin.js +2 -1
  24. package/lib/ContextModule.js +12 -0
  25. package/lib/ContextModuleFactory.js +10 -0
  26. package/lib/ContextReplacementPlugin.js +4 -1
  27. package/lib/CssModule.js +6 -0
  28. package/lib/DefinePlugin.js +20 -7
  29. package/lib/DelegatedModule.js +13 -0
  30. package/lib/DelegatedModuleFactoryPlugin.js +3 -0
  31. package/lib/DelegatedPlugin.js +2 -1
  32. package/lib/DependenciesBlock.js +6 -1
  33. package/lib/Dependency.js +26 -3
  34. package/lib/DependencyTemplate.js +5 -0
  35. package/lib/DependencyTemplates.js +4 -0
  36. package/lib/DllEntryPlugin.js +2 -1
  37. package/lib/DllModule.js +11 -0
  38. package/lib/DllModuleFactory.js +1 -0
  39. package/lib/DllPlugin.js +2 -1
  40. package/lib/DllReferencePlugin.js +11 -6
  41. package/lib/DotenvPlugin.js +3 -0
  42. package/lib/DynamicEntryPlugin.js +3 -1
  43. package/lib/EntryOptionPlugin.js +3 -0
  44. package/lib/EntryPlugin.js +2 -1
  45. package/lib/Entrypoint.js +4 -0
  46. package/lib/EnvironmentPlugin.js +2 -1
  47. package/lib/ErrorHelpers.js +7 -0
  48. package/lib/EvalDevToolModulePlugin.js +3 -1
  49. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  50. package/lib/ExportsInfo.js +56 -2
  51. package/lib/ExportsInfoApiPlugin.js +2 -1
  52. package/lib/ExternalModule.js +38 -0
  53. package/lib/ExternalModuleFactoryPlugin.js +10 -0
  54. package/lib/ExternalsPlugin.js +2 -1
  55. package/lib/FileSystemInfo.js +105 -0
  56. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  57. package/lib/FlagDependencyExportsPlugin.js +4 -1
  58. package/lib/FlagDependencyUsagePlugin.js +5 -1
  59. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  60. package/lib/Generator.js +13 -0
  61. package/lib/GraphHelpers.js +3 -0
  62. package/lib/HookWebpackError.js +6 -0
  63. package/lib/HotModuleReplacementPlugin.js +9 -1
  64. package/lib/IgnoreErrorModuleFactory.js +2 -0
  65. package/lib/IgnorePlugin.js +2 -1
  66. package/lib/IgnoreWarningsPlugin.js +2 -1
  67. package/lib/InitFragment.js +10 -0
  68. package/lib/InvalidDependenciesModuleWarning.js +1 -0
  69. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  70. package/lib/LibManifestPlugin.js +4 -1
  71. package/lib/LibraryTemplatePlugin.js +2 -1
  72. package/lib/LoaderOptionsPlugin.js +3 -1
  73. package/lib/LoaderTargetPlugin.js +2 -1
  74. package/lib/MainTemplate.js +15 -0
  75. package/lib/ManifestPlugin.js +9 -2
  76. package/lib/Module.js +82 -4
  77. package/lib/ModuleBuildError.js +3 -0
  78. package/lib/ModuleDependencyWarning.js +1 -0
  79. package/lib/ModuleError.js +2 -0
  80. package/lib/ModuleFactory.js +5 -0
  81. package/lib/ModuleFilenameHelpers.js +3 -0
  82. package/lib/ModuleGraph.js +66 -0
  83. package/lib/ModuleGraphConnection.js +9 -0
  84. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  85. package/lib/ModuleNotFoundError.js +1 -0
  86. package/lib/ModuleParseError.js +3 -0
  87. package/lib/ModuleRestoreError.js +1 -0
  88. package/lib/ModuleSourceTypeConstants.js +1 -0
  89. package/lib/ModuleStoreError.js +1 -0
  90. package/lib/ModuleTemplate.js +8 -0
  91. package/lib/ModuleWarning.js +3 -0
  92. package/lib/MultiCompiler.js +28 -0
  93. package/lib/MultiStats.js +8 -0
  94. package/lib/MultiWatching.js +3 -0
  95. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  96. package/lib/NodeStuffInWebError.js +1 -0
  97. package/lib/NodeStuffPlugin.js +10 -1
  98. package/lib/NormalModule.js +30 -2
  99. package/lib/NormalModuleFactory.js +25 -0
  100. package/lib/NormalModuleReplacementPlugin.js +1 -1
  101. package/lib/NullFactory.js +1 -0
  102. package/lib/OptionsApply.js +1 -0
  103. package/lib/Parser.js +2 -0
  104. package/lib/PlatformPlugin.js +2 -1
  105. package/lib/PrefetchPlugin.js +2 -1
  106. package/lib/ProgressPlugin.js +29 -12
  107. package/lib/ProvidePlugin.js +3 -1
  108. package/lib/RawModule.js +12 -0
  109. package/lib/RecordIdsPlugin.js +8 -0
  110. package/lib/RequestShortener.js +8 -0
  111. package/lib/RequireJsStuffPlugin.js +2 -1
  112. package/lib/ResolverFactory.js +5 -0
  113. package/lib/RuntimeGlobals.js +1 -0
  114. package/lib/RuntimeModule.js +13 -0
  115. package/lib/RuntimePlugin.js +2 -0
  116. package/lib/RuntimeTemplate.js +35 -1
  117. package/lib/SelfModuleFactory.js +2 -0
  118. package/lib/SizeFormatHelpers.js +1 -0
  119. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  120. package/lib/SourceMapDevToolPlugin.js +3 -1
  121. package/lib/Stats.js +5 -0
  122. package/lib/Template.js +20 -0
  123. package/lib/TemplatedPathPlugin.js +10 -3
  124. package/lib/UnhandledSchemeError.js +6 -0
  125. package/lib/UnsupportedFeatureWarning.js +1 -0
  126. package/lib/UseStrictPlugin.js +2 -1
  127. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  128. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  129. package/lib/WarnNoModeSetPlugin.js +1 -1
  130. package/lib/WatchIgnorePlugin.js +4 -1
  131. package/lib/Watching.js +14 -0
  132. package/lib/WebpackError.js +3 -0
  133. package/lib/WebpackIsIncludedPlugin.js +2 -0
  134. package/lib/WebpackOptionsApply.js +1 -0
  135. package/lib/WebpackOptionsDefaulter.js +1 -0
  136. package/lib/asset/AssetBytesGenerator.js +6 -0
  137. package/lib/asset/AssetBytesParser.js +1 -0
  138. package/lib/asset/AssetGenerator.js +20 -2
  139. package/lib/asset/AssetModulesPlugin.js +4 -1
  140. package/lib/asset/AssetParser.js +2 -0
  141. package/lib/asset/AssetSourceGenerator.js +6 -0
  142. package/lib/asset/AssetSourceParser.js +1 -0
  143. package/lib/asset/RawDataUrlModule.js +11 -0
  144. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  145. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  146. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  147. package/lib/buildChunkGraph.js +15 -0
  148. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  149. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  150. package/lib/cache/IdleFileCachePlugin.js +2 -1
  151. package/lib/cache/MemoryCachePlugin.js +1 -1
  152. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  153. package/lib/cache/PackFileCacheStrategy.js +29 -0
  154. package/lib/cache/ResolverCachePlugin.js +10 -1
  155. package/lib/cache/getLazyHashedEtag.js +4 -0
  156. package/lib/cache/mergeEtags.js +2 -0
  157. package/lib/cli.js +30 -0
  158. package/lib/config/browserslistTargetHandler.js +2 -0
  159. package/lib/config/defaults.js +35 -2
  160. package/lib/config/normalization.js +12 -0
  161. package/lib/config/target.js +11 -0
  162. package/lib/container/ContainerEntryDependency.js +2 -0
  163. package/lib/container/ContainerEntryModule.js +12 -0
  164. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  165. package/lib/container/ContainerExposedDependency.js +4 -0
  166. package/lib/container/ContainerPlugin.js +2 -1
  167. package/lib/container/ContainerReferencePlugin.js +2 -1
  168. package/lib/container/FallbackDependency.js +4 -0
  169. package/lib/container/FallbackItemDependency.js +1 -0
  170. package/lib/container/FallbackModule.js +12 -0
  171. package/lib/container/FallbackModuleFactory.js +1 -0
  172. package/lib/container/ModuleFederationPlugin.js +3 -1
  173. package/lib/container/RemoteModule.js +13 -0
  174. package/lib/container/RemoteRuntimeModule.js +1 -0
  175. package/lib/container/RemoteToExternalDependency.js +1 -0
  176. package/lib/container/options.js +7 -0
  177. package/lib/css/CssGenerator.js +35 -14
  178. package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
  179. package/lib/css/CssLoadingRuntimeModule.js +1 -0
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
  181. package/lib/css/CssModulesPlugin.js +69 -3
  182. package/lib/css/CssParser.js +71 -1
  183. package/lib/css/walkCssTokens.js +31 -0
  184. package/lib/debug/ProfilingPlugin.js +19 -1
  185. package/lib/dependencies/AMDDefineDependency.js +7 -0
  186. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  187. package/lib/dependencies/AMDPlugin.js +4 -1
  188. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  189. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  190. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  191. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
  192. package/lib/dependencies/AMDRequireDependency.js +4 -0
  193. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  194. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  195. package/lib/dependencies/CachedConstDependency.js +6 -1
  196. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  197. package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
  198. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  199. package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
  200. package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
  201. package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
  202. package/lib/dependencies/CommonJsPlugin.js +4 -1
  203. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  204. package/lib/dependencies/CommonJsRequireDependency.js +3 -0
  205. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  206. package/lib/dependencies/ConstDependency.js +6 -1
  207. package/lib/dependencies/ContextDependency.js +8 -1
  208. package/lib/dependencies/ContextDependencyHelpers.js +3 -0
  209. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  210. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  211. package/lib/dependencies/ContextElementDependency.js +4 -0
  212. package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
  213. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  214. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  215. package/lib/dependencies/CssIcssExportDependency.js +11 -3
  216. package/lib/dependencies/CssIcssImportDependency.js +4 -1
  217. package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
  218. package/lib/dependencies/CssImportDependency.js +4 -0
  219. package/lib/dependencies/CssUrlDependency.js +7 -0
  220. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  221. package/lib/dependencies/DllEntryDependency.js +3 -0
  222. package/lib/dependencies/DynamicExports.js +5 -0
  223. package/lib/dependencies/EntryDependency.js +1 -0
  224. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  225. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  226. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  227. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  228. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  229. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  230. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  231. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
  232. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  233. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  234. package/lib/dependencies/HarmonyExportExpressionDependency.js +14 -5
  235. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  236. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
  237. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  238. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  239. package/lib/dependencies/HarmonyExports.js +2 -0
  240. package/lib/dependencies/HarmonyImportDependency.js +11 -0
  241. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
  242. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  243. package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
  244. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  245. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  246. package/lib/dependencies/ImportContextDependency.js +4 -0
  247. package/lib/dependencies/ImportDependency.js +5 -0
  248. package/lib/dependencies/ImportEagerDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  250. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
  251. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  252. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  253. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  254. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  255. package/lib/dependencies/ImportParserPlugin.js +7 -0
  256. package/lib/dependencies/ImportPhase.js +6 -2
  257. package/lib/dependencies/ImportPlugin.js +2 -1
  258. package/lib/dependencies/ImportWeakDependency.js +2 -0
  259. package/lib/dependencies/JsonExportsDependency.js +6 -1
  260. package/lib/dependencies/LoaderDependency.js +2 -0
  261. package/lib/dependencies/LoaderImportDependency.js +2 -0
  262. package/lib/dependencies/LoaderPlugin.js +4 -1
  263. package/lib/dependencies/LocalModule.js +4 -0
  264. package/lib/dependencies/LocalModuleDependency.js +4 -0
  265. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  266. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  267. package/lib/dependencies/ModuleDependency.js +7 -0
  268. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  269. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  270. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  271. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  272. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  273. package/lib/dependencies/NullDependency.js +2 -0
  274. package/lib/dependencies/PrefetchDependency.js +1 -0
  275. package/lib/dependencies/ProvidedDependency.js +6 -1
  276. package/lib/dependencies/PureExpressionDependency.js +7 -1
  277. package/lib/dependencies/RequireContextDependency.js +1 -0
  278. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  279. package/lib/dependencies/RequireContextPlugin.js +2 -1
  280. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  281. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  282. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  283. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  284. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  285. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  286. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  287. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  288. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  289. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  290. package/lib/dependencies/RequireResolveDependency.js +1 -0
  291. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  292. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  293. package/lib/dependencies/StaticExportsDependency.js +3 -0
  294. package/lib/dependencies/SystemPlugin.js +4 -1
  295. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  296. package/lib/dependencies/URLContextDependency.js +3 -0
  297. package/lib/dependencies/URLDependency.js +6 -0
  298. package/lib/dependencies/URLPlugin.js +2 -0
  299. package/lib/dependencies/UnsupportedDependency.js +4 -0
  300. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  301. package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
  302. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  303. package/lib/dependencies/WorkerDependency.js +6 -1
  304. package/lib/dependencies/WorkerPlugin.js +9 -1
  305. package/lib/dependencies/getFunctionExpression.js +1 -0
  306. package/lib/dependencies/processExportInfo.js +1 -0
  307. package/lib/electron/ElectronTargetPlugin.js +2 -1
  308. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  309. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  310. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  311. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  312. package/lib/formatLocation.js +2 -0
  313. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  314. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  315. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  316. package/lib/hmr/lazyCompilationBackend.js +2 -0
  317. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  318. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  319. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  320. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  321. package/lib/ids/IdHelpers.js +20 -0
  322. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  323. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  324. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  325. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  326. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  327. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  328. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  329. package/lib/index.js +5 -0
  330. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  331. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  332. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  333. package/lib/javascript/ChunkHelpers.js +1 -0
  334. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  335. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  336. package/lib/javascript/JavascriptGenerator.js +10 -0
  337. package/lib/javascript/JavascriptModulesPlugin.js +23 -1
  338. package/lib/javascript/JavascriptParser.js +163 -0
  339. package/lib/javascript/JavascriptParserHelpers.js +6 -0
  340. package/lib/javascript/StartupHelpers.js +5 -0
  341. package/lib/json/JsonData.js +5 -0
  342. package/lib/json/JsonGenerator.js +21 -0
  343. package/lib/json/JsonModulesPlugin.js +1 -1
  344. package/lib/json/JsonParser.js +8 -10
  345. package/lib/library/AbstractLibraryPlugin.js +16 -1
  346. package/lib/library/AmdLibraryPlugin.js +8 -0
  347. package/lib/library/AssignLibraryPlugin.js +16 -0
  348. package/lib/library/EnableLibraryPlugin.js +7 -1
  349. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  350. package/lib/library/JsonpLibraryPlugin.js +8 -0
  351. package/lib/library/ModuleLibraryPlugin.js +12 -1
  352. package/lib/library/SystemLibraryPlugin.js +8 -0
  353. package/lib/library/UmdLibraryPlugin.js +16 -0
  354. package/lib/logging/Logger.js +17 -0
  355. package/lib/logging/createConsoleLogger.js +7 -0
  356. package/lib/logging/runtime.js +2 -0
  357. package/lib/logging/truncateArgs.js +2 -0
  358. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  359. package/lib/node/NodeEnvironmentPlugin.js +3 -1
  360. package/lib/node/NodeSourcePlugin.js +1 -1
  361. package/lib/node/NodeTargetPlugin.js +2 -1
  362. package/lib/node/NodeTemplatePlugin.js +3 -1
  363. package/lib/node/NodeWatchFileSystem.js +2 -0
  364. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  365. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  366. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  367. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  368. package/lib/node/nodeConsole.js +3 -0
  369. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  370. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  371. package/lib/optimize/ConcatenatedModule.js +11 -0
  372. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  373. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  374. package/lib/optimize/InnerGraph.js +15 -0
  375. package/lib/optimize/InnerGraphPlugin.js +3 -1
  376. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  377. package/lib/optimize/MangleExportsPlugin.js +5 -1
  378. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  379. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  380. package/lib/optimize/MinMaxSizeWarning.js +1 -0
  381. package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
  382. package/lib/optimize/RealContentHashPlugin.js +16 -1
  383. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  384. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  385. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  386. package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
  387. package/lib/optimize/SplitChunksPlugin.js +49 -1
  388. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
  389. package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
  390. package/lib/performance/SizeLimitsPlugin.js +7 -1
  391. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  392. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  393. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  394. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
  395. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  396. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  397. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  398. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  399. package/lib/rules/RuleSetCompiler.js +18 -0
  400. package/lib/rules/UseEffectRulePlugin.js +6 -0
  401. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  402. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  403. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  404. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  405. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  406. package/lib/runtime/CompatRuntimeModule.js +2 -0
  407. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  408. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  409. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  410. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  411. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  412. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  413. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  414. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  415. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  416. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  417. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  418. package/lib/runtime/HelperRuntimeModule.js +5 -0
  419. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  420. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
  421. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  422. package/lib/runtime/NonceRuntimeModule.js +1 -0
  423. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  424. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  425. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  426. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  427. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  428. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  429. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  430. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  431. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  432. package/lib/schemes/DataUriPlugin.js +1 -1
  433. package/lib/schemes/FileUriPlugin.js +1 -1
  434. package/lib/schemes/HttpUriPlugin.js +43 -1
  435. package/lib/schemes/VirtualUrlPlugin.js +6 -1
  436. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  437. package/lib/serialization/ArraySerializer.js +2 -0
  438. package/lib/serialization/BinaryMiddleware.js +20 -1
  439. package/lib/serialization/DateObjectSerializer.js +2 -0
  440. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  441. package/lib/serialization/FileMiddleware.js +21 -0
  442. package/lib/serialization/MapObjectSerializer.js +2 -0
  443. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  444. package/lib/serialization/ObjectMiddleware.js +23 -0
  445. package/lib/serialization/PlainObjectSerializer.js +7 -0
  446. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  447. package/lib/serialization/Serializer.js +5 -0
  448. package/lib/serialization/SerializerMiddleware.js +12 -0
  449. package/lib/serialization/SetObjectSerializer.js +2 -0
  450. package/lib/serialization/SingleItemMiddleware.js +3 -0
  451. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  452. package/lib/sharing/ConsumeSharedModule.js +15 -0
  453. package/lib/sharing/ConsumeSharedPlugin.js +6 -1
  454. package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
  455. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  456. package/lib/sharing/ProvideSharedDependency.js +4 -0
  457. package/lib/sharing/ProvideSharedModule.js +11 -0
  458. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  459. package/lib/sharing/ProvideSharedPlugin.js +4 -1
  460. package/lib/sharing/SharePlugin.js +2 -1
  461. package/lib/sharing/ShareRuntimeModule.js +1 -0
  462. package/lib/sharing/resolveMatchedConfigs.js +3 -0
  463. package/lib/sharing/utils.js +8 -0
  464. package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
  465. package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
  466. package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
  467. package/lib/stats/StatsFactory.js +12 -0
  468. package/lib/stats/StatsPrinter.js +7 -0
  469. package/lib/url/URLParserPlugin.js +6 -0
  470. package/lib/util/AppendOnlyStackedSet.js +15 -0
  471. package/lib/util/ArrayHelpers.js +1 -0
  472. package/lib/util/ArrayQueue.js +10 -5
  473. package/lib/util/AsyncQueue.js +20 -0
  474. package/lib/util/IterableHelpers.js +3 -0
  475. package/lib/util/LazyBucketSortedSet.js +21 -0
  476. package/lib/util/LazySet.js +39 -0
  477. package/lib/util/ParallelismFactorCalculator.js +1 -0
  478. package/lib/util/Queue.js +6 -3
  479. package/lib/util/Semaphore.js +14 -1
  480. package/lib/util/SetHelpers.js +3 -0
  481. package/lib/util/SortableSet.js +6 -0
  482. package/lib/util/StackedCacheMap.js +20 -3
  483. package/lib/util/StackedMap.js +45 -0
  484. package/lib/util/StringXor.js +1 -1
  485. package/lib/util/TupleQueue.js +7 -3
  486. package/lib/util/TupleSet.js +13 -0
  487. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  488. package/lib/util/WeakTupleMap.js +33 -0
  489. package/lib/util/binarySearchBounds.js +1 -0
  490. package/lib/util/cleverMerge.js +17 -0
  491. package/lib/util/comparators.js +31 -0
  492. package/lib/util/compileBooleanMatcher.js +9 -0
  493. package/lib/util/concatenate.js +6 -0
  494. package/lib/util/conventions.js +4 -0
  495. package/lib/util/dataURL.js +1 -0
  496. package/lib/util/deprecation.js +19 -0
  497. package/lib/util/deterministicGrouping.js +20 -0
  498. package/lib/util/extractSourceMap.js +1 -0
  499. package/lib/util/extractUrlAndGlobal.js +1 -0
  500. package/lib/util/findGraphRoots.js +5 -0
  501. package/lib/util/fs.js +63 -0
  502. package/lib/util/generateDebugId.js +1 -0
  503. package/lib/util/hash/BatchedHash.js +1 -0
  504. package/lib/util/hash/BulkUpdateHash.js +1 -0
  505. package/lib/util/hash/hash-digest.js +8 -0
  506. package/lib/util/hash/wasm-hash.js +5 -0
  507. package/lib/util/identifier.js +19 -0
  508. package/lib/util/magicComment.js +1 -0
  509. package/lib/util/makeSerializable.js +6 -0
  510. package/lib/util/memoize.js +2 -0
  511. package/lib/util/mimeTypes.js +176 -0
  512. package/lib/util/nonNumericOnlyHash.js +1 -0
  513. package/lib/util/parseJson.js +112 -0
  514. package/lib/util/processAsyncTree.js +8 -0
  515. package/lib/util/property.js +1 -0
  516. package/lib/util/registerExternalSerializer.js +20 -0
  517. package/lib/util/removeBOM.js +1 -0
  518. package/lib/util/runtime.js +32 -0
  519. package/lib/util/semver.js +15 -0
  520. package/lib/util/serialization.js +2 -0
  521. package/lib/util/smartGrouping.js +8 -0
  522. package/lib/util/source.js +2 -0
  523. package/lib/validateSchema.js +1 -0
  524. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  525. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  526. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  527. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  528. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  529. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
  530. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
  531. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  532. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  533. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  534. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
  535. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  536. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  537. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  538. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  539. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  540. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  541. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  542. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  543. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  544. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  545. package/lib/web/JsonpTemplatePlugin.js +2 -1
  546. package/lib/webpack.js +10 -0
  547. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  548. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  549. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  550. package/package.json +12 -14
  551. package/schemas/WebpackOptions.check.js +1 -1
  552. package/schemas/WebpackOptions.json +44 -55
  553. package/types.d.ts +4594 -331
@@ -42,6 +42,7 @@ const { forEachRuntime } = require("./util/runtime");
42
42
  /** @typedef {Set<ExportInfo>} AlreadyVisitedExportInfo */
43
43
 
44
44
  /**
45
+ * Defines the restore provided data exports type used by this module.
45
46
  * @typedef {object} RestoreProvidedDataExports
46
47
  * @property {ExportInfoName} name
47
48
  * @property {ExportInfo["provided"]} provided
@@ -64,6 +65,7 @@ const CIRCULAR = Symbol("circular target");
64
65
 
65
66
  class RestoreProvidedData {
66
67
  /**
68
+ * Creates an instance of RestoreProvidedData.
67
69
  * @param {RestoreProvidedDataExports[]} exports exports
68
70
  * @param {ExportInfo["provided"]} otherProvided other provided
69
71
  * @param {ExportInfo["canMangleProvide"]} otherCanMangleProvide other can mangle provide
@@ -82,6 +84,7 @@ class RestoreProvidedData {
82
84
  }
83
85
 
84
86
  /**
87
+ * Serializes this instance into the provided serializer context.
85
88
  * @param {ObjectSerializerContext} context context
86
89
  */
87
90
  serialize({ write }) {
@@ -92,6 +95,7 @@ class RestoreProvidedData {
92
95
  }
93
96
 
94
97
  /**
98
+ * Restores this instance from the provided deserializer context.
95
99
  * @param {ObjectDeserializerContext} context context
96
100
  * @returns {RestoreProvidedData} RestoreProvidedData
97
101
  */
@@ -121,6 +125,7 @@ class ExportsInfo {
121
125
  }
122
126
 
123
127
  /**
128
+ * Gets owned exports.
124
129
  * @returns {Iterable<ExportInfo>} all owned exports in any order
125
130
  */
126
131
  get ownedExports() {
@@ -128,6 +133,7 @@ class ExportsInfo {
128
133
  }
129
134
 
130
135
  /**
136
+ * Gets ordered owned exports.
131
137
  * @returns {Iterable<ExportInfo>} all owned exports in order
132
138
  */
133
139
  get orderedOwnedExports() {
@@ -138,6 +144,7 @@ class ExportsInfo {
138
144
  }
139
145
 
140
146
  /**
147
+ * Returns all exports in any order.
141
148
  * @returns {Iterable<ExportInfo>} all exports in any order
142
149
  */
143
150
  get exports() {
@@ -152,6 +159,7 @@ class ExportsInfo {
152
159
  }
153
160
 
154
161
  /**
162
+ * Gets ordered exports.
155
163
  * @returns {Iterable<ExportInfo>} all exports in order
156
164
  */
157
165
  get orderedExports() {
@@ -175,6 +183,7 @@ class ExportsInfo {
175
183
  }
176
184
 
177
185
  /**
186
+ * Gets other exports info.
178
187
  * @returns {ExportInfo} the export info of unlisted exports
179
188
  */
180
189
  get otherExportsInfo() {
@@ -185,6 +194,7 @@ class ExportsInfo {
185
194
  }
186
195
 
187
196
  /**
197
+ * Processes the provided export.
188
198
  * @param {Exports} exports exports
189
199
  * @private
190
200
  */
@@ -217,6 +227,7 @@ class ExportsInfo {
217
227
  }
218
228
 
219
229
  /**
230
+ * Sets redirect named to.
220
231
  * @param {ExportsInfo | undefined} exportsInfo exports info
221
232
  * @returns {boolean} result
222
233
  */
@@ -260,6 +271,7 @@ class ExportsInfo {
260
271
  }
261
272
 
262
273
  /**
274
+ * Gets own export info.
263
275
  * @param {ExportInfoName} name export name
264
276
  * @returns {ExportInfo} export info for this name
265
277
  */
@@ -273,6 +285,7 @@ class ExportsInfo {
273
285
  }
274
286
 
275
287
  /**
288
+ * Returns export info for this name.
276
289
  * @param {ExportInfoName} name export name
277
290
  * @returns {ExportInfo} export info for this name
278
291
  */
@@ -289,6 +302,7 @@ class ExportsInfo {
289
302
  }
290
303
 
291
304
  /**
305
+ * Gets read only export info.
292
306
  * @param {ExportInfoName} name export name
293
307
  * @returns {ExportInfo} export info for this name
294
308
  */
@@ -302,6 +316,7 @@ class ExportsInfo {
302
316
  }
303
317
 
304
318
  /**
319
+ * Gets read only export info recursive.
305
320
  * @param {ExportInfoName[]} name export name
306
321
  * @returns {ExportInfo | undefined} export info for this name
307
322
  */
@@ -313,6 +328,7 @@ class ExportsInfo {
313
328
  }
314
329
 
315
330
  /**
331
+ * Gets nested exports info.
316
332
  * @param {ExportInfoName[]=} name the export name
317
333
  * @returns {ExportsInfo | undefined} the nested exports info
318
334
  */
@@ -326,6 +342,7 @@ class ExportsInfo {
326
342
  }
327
343
 
328
344
  /**
345
+ * Sets unknown exports provided.
329
346
  * @param {boolean=} canMangle true, if exports can still be mangled (defaults to false)
330
347
  * @param {ExportsSpecExcludeExports=} excludeExports list of unaffected exports
331
348
  * @param {Dependency=} targetKey use this as key for the target
@@ -404,6 +421,7 @@ class ExportsInfo {
404
421
  }
405
422
 
406
423
  /**
424
+ * Sets used in unknown way.
407
425
  * @param {RuntimeSpec} runtime the runtime
408
426
  * @returns {boolean} true, when something changed
409
427
  */
@@ -437,6 +455,7 @@ class ExportsInfo {
437
455
  }
438
456
 
439
457
  /**
458
+ * Sets used without info.
440
459
  * @param {RuntimeSpec} runtime the runtime
441
460
  * @returns {boolean} true, when something changed
442
461
  */
@@ -464,6 +483,7 @@ class ExportsInfo {
464
483
  }
465
484
 
466
485
  /**
486
+ * Sets all known exports used.
467
487
  * @param {RuntimeSpec} runtime the runtime
468
488
  * @returns {boolean} true, when something changed
469
489
  */
@@ -479,6 +499,7 @@ class ExportsInfo {
479
499
  }
480
500
 
481
501
  /**
502
+ * Sets used for side effects only.
482
503
  * @param {RuntimeSpec} runtime the runtime
483
504
  * @returns {boolean} true, when something changed
484
505
  */
@@ -491,6 +512,7 @@ class ExportsInfo {
491
512
  }
492
513
 
493
514
  /**
515
+ * Checks whether this exports info is used.
494
516
  * @param {RuntimeSpec} runtime the runtime
495
517
  * @returns {boolean} true, when the module exports are used in any way
496
518
  */
@@ -511,6 +533,7 @@ class ExportsInfo {
511
533
  }
512
534
 
513
535
  /**
536
+ * Checks whether this exports info is module used.
514
537
  * @param {RuntimeSpec} runtime the runtime
515
538
  * @returns {boolean} true, when the module is used in any way
516
539
  */
@@ -523,6 +546,7 @@ class ExportsInfo {
523
546
  }
524
547
 
525
548
  /**
549
+ * Returns set of used exports, or true (when namespace object is used), or false (when unused), or null (when unknown).
526
550
  * @param {RuntimeSpec} runtime the runtime
527
551
  * @returns {SortableSet<ExportInfoName> | boolean | null} set of used exports, or true (when namespace object is used), or false (when unused), or null (when unknown)
528
552
  */
@@ -572,6 +596,7 @@ class ExportsInfo {
572
596
  }
573
597
 
574
598
  /**
599
+ * Gets provided exports.
575
600
  * @returns {null | true | ExportInfoName[]} list of exports when known
576
601
  */
577
602
  getProvidedExports() {
@@ -611,6 +636,7 @@ class ExportsInfo {
611
636
  }
612
637
 
613
638
  /**
639
+ * Gets relevant exports.
614
640
  * @param {RuntimeSpec} runtime the runtime
615
641
  * @returns {ExportInfo[]} exports that are relevant (not unused and potential provided)
616
642
  */
@@ -638,6 +664,7 @@ class ExportsInfo {
638
664
  }
639
665
 
640
666
  /**
667
+ * Checks whether this exports info is export provided.
641
668
  * @param {ExportInfoName | ExportInfoName[]} name the name of the export
642
669
  * @returns {boolean | undefined | null} if the export is provided
643
670
  */
@@ -654,6 +681,7 @@ class ExportsInfo {
654
681
  }
655
682
 
656
683
  /**
684
+ * Returns key representing the usage.
657
685
  * @param {RuntimeSpec} runtime runtime
658
686
  * @returns {string} key representing the usage
659
687
  */
@@ -673,6 +701,7 @@ class ExportsInfo {
673
701
  }
674
702
 
675
703
  /**
704
+ * Checks whether this exports info is equally used.
676
705
  * @param {RuntimeSpec} runtimeA first runtime
677
706
  * @param {RuntimeSpec} runtimeB second runtime
678
707
  * @returns {boolean} true, when equally used
@@ -701,6 +730,7 @@ class ExportsInfo {
701
730
  }
702
731
 
703
732
  /**
733
+ * Returns usage status.
704
734
  * @param {ExportInfoName | ExportInfoName[]} name export name
705
735
  * @param {RuntimeSpec} runtime check usage for this runtime only
706
736
  * @returns {UsageStateType} usage status
@@ -719,6 +749,7 @@ class ExportsInfo {
719
749
  }
720
750
 
721
751
  /**
752
+ * Returns the used name.
722
753
  * @param {ExportInfoName | ExportInfoName[]} name the export name
723
754
  * @param {RuntimeSpec} runtime check usage for this runtime only
724
755
  * @returns {UsedName} the used name
@@ -755,6 +786,7 @@ class ExportsInfo {
755
786
  }
756
787
 
757
788
  /**
789
+ * Updates the hash with the data contributed by this instance.
758
790
  * @param {Hash} hash the hash
759
791
  * @param {RuntimeSpec} runtime the runtime
760
792
  * @returns {void}
@@ -764,6 +796,7 @@ class ExportsInfo {
764
796
  }
765
797
 
766
798
  /**
799
+ * Updates hash using the provided hash.
767
800
  * @param {Hash} hash the hash
768
801
  * @param {RuntimeSpec} runtime the runtime
769
802
  * @param {Set<ExportsInfo>} alreadyVisitedExportsInfo for circular references
@@ -785,6 +818,7 @@ class ExportsInfo {
785
818
  }
786
819
 
787
820
  /**
821
+ * Gets restore provided data.
788
822
  * @returns {RestoreProvidedData} restore provided data
789
823
  */
790
824
  getRestoreProvidedData() {
@@ -821,6 +855,7 @@ class ExportsInfo {
821
855
  }
822
856
 
823
857
  /**
858
+ * Processes the provided data.
824
859
  * @param {RestoreProvidedData} data data
825
860
  */
826
861
  restoreProvided({
@@ -855,6 +890,7 @@ class ExportsInfo {
855
890
 
856
891
  class ExportInfo {
857
892
  /**
893
+ * Creates an instance of ExportInfo.
858
894
  * @param {ExportInfoName | null} name the original name of the export
859
895
  * @param {ExportInfo=} initFrom init values from this ExportInfo
860
896
  */
@@ -955,6 +991,7 @@ class ExportInfo {
955
991
  }
956
992
 
957
993
  /**
994
+ * Sets used in unknown way.
958
995
  * @param {RuntimeSpec} runtime only apply to this runtime
959
996
  * @returns {boolean} true, when something changed
960
997
  */
@@ -977,6 +1014,7 @@ class ExportInfo {
977
1014
  }
978
1015
 
979
1016
  /**
1017
+ * Sets used without info.
980
1018
  * @param {RuntimeSpec} runtime only apply to this runtime
981
1019
  * @returns {boolean} true, when something changed
982
1020
  */
@@ -1006,6 +1044,7 @@ class ExportInfo {
1006
1044
  }
1007
1045
 
1008
1046
  /**
1047
+ * Sets used conditionally.
1009
1048
  * @param {(condition: UsageStateType) => boolean} condition compare with old value
1010
1049
  * @param {UsageStateType} newValue set when condition is true
1011
1050
  * @param {RuntimeSpec} runtime only apply to this runtime
@@ -1059,6 +1098,7 @@ class ExportInfo {
1059
1098
  }
1060
1099
 
1061
1100
  /**
1101
+ * Updates used using the provided new value.
1062
1102
  * @param {UsageStateType} newValue new value of the used state
1063
1103
  * @param {RuntimeSpec} runtime only apply to this runtime
1064
1104
  * @returns {boolean} true when something has changed
@@ -1107,6 +1147,7 @@ class ExportInfo {
1107
1147
  }
1108
1148
 
1109
1149
  /**
1150
+ * Returns true, if something has changed.
1110
1151
  * @param {Dependency} key the key
1111
1152
  * @returns {boolean} true, if something has changed
1112
1153
  */
@@ -1120,6 +1161,7 @@ class ExportInfo {
1120
1161
  }
1121
1162
 
1122
1163
  /**
1164
+ * Updates target using the provided key.
1123
1165
  * @param {Dependency} key the key
1124
1166
  * @param {ModuleGraphConnection} connection the target module if a single one
1125
1167
  * @param {ExportInfoName[] | null=} exportName the exported name
@@ -1165,6 +1207,7 @@ class ExportInfo {
1165
1207
  }
1166
1208
 
1167
1209
  /**
1210
+ * Returns usage state.
1168
1211
  * @param {RuntimeSpec} runtime for this runtime
1169
1212
  * @returns {UsageStateType} usage state
1170
1213
  */
@@ -1203,7 +1246,7 @@ class ExportInfo {
1203
1246
  }
1204
1247
 
1205
1248
  /**
1206
- * get used name
1249
+ * Returns used name.
1207
1250
  * @param {string | undefined} fallbackName fallback name for used exports with no name
1208
1251
  * @param {RuntimeSpec} runtime check usage for this runtime only
1209
1252
  * @returns {string | false} used name
@@ -1234,6 +1277,7 @@ class ExportInfo {
1234
1277
  }
1235
1278
 
1236
1279
  /**
1280
+ * Checks whether this export info has used name.
1237
1281
  * @returns {boolean} true, when a mangled name of this export is set
1238
1282
  */
1239
1283
  hasUsedName() {
@@ -1241,7 +1285,7 @@ class ExportInfo {
1241
1285
  }
1242
1286
 
1243
1287
  /**
1244
- * Sets the mangled name of this export
1288
+ * Updates used name using the provided name.
1245
1289
  * @param {string} name the new name
1246
1290
  * @returns {void}
1247
1291
  */
@@ -1250,6 +1294,7 @@ class ExportInfo {
1250
1294
  }
1251
1295
 
1252
1296
  /**
1297
+ * Gets terminal binding.
1253
1298
  * @param {ModuleGraph} moduleGraph the module graph
1254
1299
  * @param {ResolveTargetFilter} resolveTargetFilter filter function to further resolve target
1255
1300
  * @returns {ExportInfo | ExportsInfo | undefined} the terminal binding export(s) info if known
@@ -1294,6 +1339,7 @@ class ExportInfo {
1294
1339
  }
1295
1340
 
1296
1341
  /**
1342
+ * Returns the target, undefined when there is no target, false when no target is valid.
1297
1343
  * @param {ModuleGraph} moduleGraph the module graph
1298
1344
  * @param {ValidTargetModuleFilter} validTargetModuleFilter a valid target module
1299
1345
  * @returns {TargetItemWithoutConnection | null | undefined | false} the target, undefined when there is no target, false when no target is valid
@@ -1303,6 +1349,7 @@ class ExportInfo {
1303
1349
  }
1304
1350
 
1305
1351
  /**
1352
+ * Returns the target, undefined when there is no target, false when no target is valid.
1306
1353
  * @param {ModuleGraph} moduleGraph the module graph
1307
1354
  * @param {ValidTargetModuleFilter} validTargetModuleFilter a valid target module
1308
1355
  * @param {AlreadyVisitedExportInfo} alreadyVisited set of already visited export info to avoid circular references
@@ -1353,6 +1400,7 @@ class ExportInfo {
1353
1400
  }
1354
1401
 
1355
1402
  /**
1403
+ * Returns the target.
1356
1404
  * @param {ModuleGraph} moduleGraph the module graph
1357
1405
  * @param {ResolveTargetFilter} resolveTargetFilter filter function to further resolve target
1358
1406
  * @returns {TargetItemWithConnection | undefined} the target
@@ -1364,6 +1412,7 @@ class ExportInfo {
1364
1412
  }
1365
1413
 
1366
1414
  /**
1415
+ * Returns the target.
1367
1416
  * @param {ModuleGraph} moduleGraph the module graph
1368
1417
  * @param {ResolveTargetFilter} resolveTargetFilter filter function to further resolve target
1369
1418
  * @param {AlreadyVisitedExportInfo | undefined} alreadyVisited set of already visited export info to avoid circular references
@@ -1371,6 +1420,7 @@ class ExportInfo {
1371
1420
  */
1372
1421
  _getTarget(moduleGraph, resolveTargetFilter, alreadyVisited) {
1373
1422
  /**
1423
+ * Returns resolved target.
1374
1424
  * @param {TargetItem | undefined | null} inputTarget unresolved target
1375
1425
  * @param {AlreadyVisitedExportInfo} alreadyVisited set of already visited export info to avoid circular references
1376
1426
  * @returns {TargetItemWithConnection | CIRCULAR | null} resolved target
@@ -1501,6 +1551,7 @@ class ExportInfo {
1501
1551
  }
1502
1552
 
1503
1553
  /**
1554
+ * Creates a nested exports info.
1504
1555
  * @returns {ExportsInfo} an exports info
1505
1556
  */
1506
1557
  createNestedExportsInfo() {
@@ -1522,6 +1573,7 @@ class ExportInfo {
1522
1573
  }
1523
1574
 
1524
1575
  /**
1576
+ * Checks whether this export info contains the base info.
1525
1577
  * @param {ExportInfo} baseInfo base info
1526
1578
  * @param {RuntimeSpec} runtime runtime
1527
1579
  * @returns {boolean} true when has info, otherwise false
@@ -1536,6 +1588,7 @@ class ExportInfo {
1536
1588
  }
1537
1589
 
1538
1590
  /**
1591
+ * Updates the hash with the data contributed by this instance.
1539
1592
  * @param {Hash} hash the hash
1540
1593
  * @param {RuntimeSpec} runtime the runtime
1541
1594
  * @returns {void}
@@ -1545,6 +1598,7 @@ class ExportInfo {
1545
1598
  }
1546
1599
 
1547
1600
  /**
1601
+ * Updates hash using the provided hash.
1548
1602
  * @param {Hash} hash the hash
1549
1603
  * @param {RuntimeSpec} runtime the runtime
1550
1604
  * @param {Set<ExportsInfo>} alreadyVisitedExportsInfo for circular references
@@ -22,7 +22,7 @@ const PLUGIN_NAME = "ExportsInfoApiPlugin";
22
22
 
23
23
  class ExportsInfoApiPlugin {
24
24
  /**
25
- * Apply the plugin
25
+ * Applies the plugin by registering its hooks on the compiler.
26
26
  * @param {Compiler} compiler the compiler instance
27
27
  * @returns {void}
28
28
  */
@@ -35,6 +35,7 @@ class ExportsInfoApiPlugin {
35
35
  new ExportsInfoDependency.Template()
36
36
  );
37
37
  /**
38
+ * Handles the hook callback for this code path.
38
39
  * @param {JavascriptParser} parser the parser
39
40
  * @returns {void}
40
41
  */