webpack 5.106.1 → 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 -1
  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 +59 -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 +10 -2
  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 +5 -0
  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
@@ -38,6 +38,7 @@ const ExportPresenceModes = {
38
38
  AUTO: /** @type {ExportPresenceMode} */ (2),
39
39
  ERROR: /** @type {ExportPresenceMode} */ (3),
40
40
  /**
41
+ * Returns result.
41
42
  * @param {string | false} str param
42
43
  * @returns {ExportPresenceMode} result
43
44
  */
@@ -90,6 +91,7 @@ const getNonOptionalPart = (members, membersOptionals) => {
90
91
 
91
92
  class HarmonyImportDependency extends ModuleDependency {
92
93
  /**
94
+ * Creates an instance of HarmonyImportDependency.
93
95
  * @param {string} request request string
94
96
  * @param {number} sourceOrder source order
95
97
  * @param {ImportPhaseType=} phase import phase
@@ -111,6 +113,7 @@ class HarmonyImportDependency extends ModuleDependency {
111
113
  }
112
114
 
113
115
  /**
116
+ * Returns an identifier to merge equal requests.
114
117
  * @returns {string | null} an identifier to merge equal requests
115
118
  */
116
119
  getResourceIdentifier() {
@@ -136,6 +139,7 @@ class HarmonyImportDependency extends ModuleDependency {
136
139
  }
137
140
 
138
141
  /**
142
+ * Returns name of the variable for the import.
139
143
  * @param {ModuleGraph} moduleGraph the module graph
140
144
  * @returns {string} name of the variable for the import
141
145
  */
@@ -166,6 +170,7 @@ class HarmonyImportDependency extends ModuleDependency {
166
170
  }
167
171
 
168
172
  /**
173
+ * Gets module exports.
169
174
  * @param {DependencyTemplateContext} context the template context
170
175
  * @returns {string} the expression
171
176
  */
@@ -184,6 +189,7 @@ class HarmonyImportDependency extends ModuleDependency {
184
189
  }
185
190
 
186
191
  /**
192
+ * Gets import statement.
187
193
  * @param {boolean} update create new variables or update existing one
188
194
  * @param {DependencyTemplateContext} templateContext the template context
189
195
  * @returns {[string, string]} the import statement and the compat statement
@@ -206,6 +212,7 @@ class HarmonyImportDependency extends ModuleDependency {
206
212
  }
207
213
 
208
214
  /**
215
+ * Gets linking errors.
209
216
  * @param {ModuleGraph} moduleGraph module graph
210
217
  * @param {Ids} ids imported ids
211
218
  * @param {string} additionalMessage extra info included in the error message
@@ -324,6 +331,7 @@ class HarmonyImportDependency extends ModuleDependency {
324
331
  }
325
332
 
326
333
  /**
334
+ * Serializes this instance into the provided serializer context.
327
335
  * @param {ObjectSerializerContext} context context
328
336
  */
329
337
  serialize(context) {
@@ -334,6 +342,7 @@ class HarmonyImportDependency extends ModuleDependency {
334
342
  }
335
343
 
336
344
  /**
345
+ * Restores this instance from the provided deserializer context.
337
346
  * @param {ObjectDeserializerContext} context context
338
347
  */
339
348
  deserialize(context) {
@@ -353,6 +362,7 @@ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends
353
362
  ModuleDependency.Template
354
363
  ) {
355
364
  /**
365
+ * Applies the plugin by registering its hooks on the compiler.
356
366
  * @param {Dependency} dependency the dependency for which the template should be applied
357
367
  * @param {ReplaceSource} source the current replace source which can be modified
358
368
  * @param {DependencyTemplateContext} templateContext the context object
@@ -457,6 +467,7 @@ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends
457
467
  }
458
468
 
459
469
  /**
470
+ * Gets import emitted runtime.
460
471
  * @param {Module} module the module
461
472
  * @param {Module} referencedModule the referenced module
462
473
  * @returns {RuntimeSpec | boolean} runtimeCondition in which this import has been emitted
@@ -45,6 +45,7 @@ const { ImportPhaseUtils, createGetImportPhase } = require("./ImportPhase");
45
45
  /** @typedef {import("./ImportPhase").ImportPhaseType} ImportPhaseType */
46
46
 
47
47
  /**
48
+ * Defines the harmony specifier guards type used by this module.
48
49
  * @typedef {object} HarmonySpecifierGuards
49
50
  * @property {AppendOnlyStackedSet<string> | undefined} guards
50
51
  */
@@ -55,6 +56,7 @@ const harmonySpecifierTag = Symbol("harmony import");
55
56
  const harmonySpecifierGuardTag = Symbol("harmony import guard");
56
57
 
57
58
  /**
59
+ * Defines the harmony settings type used by this module.
58
60
  * @typedef {object} HarmonySettings
59
61
  * @property {Ids} ids
60
62
  * @property {string} source
@@ -68,6 +70,7 @@ const harmonySpecifierGuardTag = Symbol("harmony import guard");
68
70
  const PLUGIN_NAME = "HarmonyImportDependencyParserPlugin";
69
71
 
70
72
  /**
73
+ * Gets in operator harmony import info.
71
74
  * @param {JavascriptParser} parser the parser
72
75
  * @param {PrivateIdentifier | Expression} left left expression
73
76
  * @param {Expression} right right expression
@@ -108,6 +111,7 @@ const getInOperatorHarmonyImportInfo = (parser, left, right) => {
108
111
 
109
112
  module.exports = class HarmonyImportDependencyParserPlugin {
110
113
  /**
114
+ * Creates an instance of HarmonyImportDependencyParserPlugin.
111
115
  * @param {JavascriptParserOptions} options options
112
116
  */
113
117
  constructor(options) {
@@ -121,6 +125,7 @@ module.exports = class HarmonyImportDependencyParserPlugin {
121
125
  }
122
126
 
123
127
  /**
128
+ * Gets export presence mode.
124
129
  * @param {JavascriptParser} parser the parser
125
130
  * @param {HarmonySettings} settings settings
126
131
  * @param {Ids} ids ids
@@ -147,6 +152,7 @@ module.exports = class HarmonyImportDependencyParserPlugin {
147
152
  }
148
153
 
149
154
  /**
155
+ * Applies the plugin by registering its hooks on the compiler.
150
156
  * @param {JavascriptParser} parser the parser
151
157
  * @returns {void}
152
158
  */
@@ -157,6 +163,7 @@ module.exports = class HarmonyImportDependencyParserPlugin {
157
163
  );
158
164
 
159
165
  /**
166
+ * Gets non optional member chain.
160
167
  * @param {MemberExpression} node member expression
161
168
  * @param {number} count count
162
169
  * @returns {Expression} member expression
@@ -454,6 +461,7 @@ module.exports = class HarmonyImportDependencyParserPlugin {
454
461
  });
455
462
 
456
463
  /**
464
+ * Processes the provided guard.
457
465
  * @param {Guards} guards guards
458
466
  * @param {() => void} walk walk callback
459
467
  * @returns {void}
@@ -505,6 +513,7 @@ module.exports = class HarmonyImportDependencyParserPlugin {
505
513
  const guards = new Map();
506
514
 
507
515
  /**
516
+ * Processes the provided expression.
508
517
  * @param {Expression} expression expression
509
518
  * @param {boolean} needTruthy need to be truthy
510
519
  */
@@ -21,6 +21,7 @@ const HarmonyImportDependency = require("./HarmonyImportDependency");
21
21
 
22
22
  class HarmonyImportSideEffectDependency extends HarmonyImportDependency {
23
23
  /**
24
+ * Creates an instance of HarmonyImportSideEffectDependency.
24
25
  * @param {string} request the request string
25
26
  * @param {number} sourceOrder source order
26
27
  * @param {ImportPhaseType} phase import phase
@@ -35,6 +36,7 @@ class HarmonyImportSideEffectDependency extends HarmonyImportDependency {
35
36
  }
36
37
 
37
38
  /**
39
+ * Returns function to determine if the connection is active.
38
40
  * @param {ModuleGraph} moduleGraph module graph
39
41
  * @returns {null | false | GetConditionFn} function to determine if the connection is active
40
42
  */
@@ -47,6 +49,7 @@ class HarmonyImportSideEffectDependency extends HarmonyImportDependency {
47
49
  }
48
50
 
49
51
  /**
52
+ * Gets module evaluation side effects state.
50
53
  * @param {ModuleGraph} moduleGraph the module graph
51
54
  * @returns {ConnectionState} how this dependency connects the module to referencing modules
52
55
  */
@@ -66,6 +69,7 @@ HarmonyImportSideEffectDependency.Template = class HarmonyImportSideEffectDepend
66
69
  HarmonyImportDependency.Template
67
70
  ) {
68
71
  /**
72
+ * Applies the plugin by registering its hooks on the compiler.
69
73
  * @param {Dependency} dependency the dependency for which the template should be applied
70
74
  * @param {ReplaceSource} source the current replace source which can be modified
71
75
  * @param {DependencyTemplateContext} templateContext the context object
@@ -48,6 +48,7 @@ const { ExportPresenceModes } = HarmonyImportDependency;
48
48
 
49
49
  class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
50
50
  /**
51
+ * Creates an instance of HarmonyImportSpecifierDependency.
51
52
  * @param {string} request request
52
53
  * @param {number} sourceOrder source order
53
54
  * @param {Ids} ids ids
@@ -93,6 +94,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
93
94
 
94
95
  // TODO webpack 6 remove
95
96
  /**
97
+ * Returns id.
96
98
  * @deprecated
97
99
  */
98
100
  get id() {
@@ -101,6 +103,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
101
103
 
102
104
  // TODO webpack 6 remove
103
105
  /**
106
+ * Returns id.
104
107
  * @deprecated
105
108
  */
106
109
  getId() {
@@ -109,6 +112,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
109
112
 
110
113
  // TODO webpack 6 remove
111
114
  /**
115
+ * Updates id.
112
116
  * @deprecated
113
117
  */
114
118
  setId() {
@@ -120,6 +124,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
120
124
  }
121
125
 
122
126
  /**
127
+ * Returns the imported ids.
123
128
  * @param {ModuleGraph} moduleGraph the module graph
124
129
  * @returns {Ids} the imported ids
125
130
  */
@@ -131,6 +136,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
131
136
  }
132
137
 
133
138
  /**
139
+ * Updates ids using the provided module graph.
134
140
  * @param {ModuleGraph} moduleGraph the module graph
135
141
  * @param {Ids} ids the imported ids
136
142
  * @returns {void}
@@ -140,6 +146,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
140
146
  }
141
147
 
142
148
  /**
149
+ * Returns function to determine if the connection is active.
143
150
  * @param {ModuleGraph} moduleGraph module graph
144
151
  * @returns {null | false | GetConditionFn} function to determine if the connection is active
145
152
  */
@@ -152,6 +159,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
152
159
  }
153
160
 
154
161
  /**
162
+ * Gets module evaluation side effects state.
155
163
  * @param {ModuleGraph} moduleGraph the module graph
156
164
  * @returns {ConnectionState} how this dependency connects the module to referencing modules
157
165
  */
@@ -209,6 +217,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
209
217
  }
210
218
 
211
219
  /**
220
+ * Get referenced exports in destructuring.
212
221
  * @param {Ids=} ids ids
213
222
  * @returns {RawReferencedExports} referenced exports
214
223
  */
@@ -231,6 +240,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
231
240
  }
232
241
 
233
242
  /**
243
+ * Get effective export presence level.
234
244
  * @param {ModuleGraph} moduleGraph module graph
235
245
  * @returns {ExportPresenceMode} effective mode
236
246
  */
@@ -250,7 +260,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
250
260
  }
251
261
 
252
262
  /**
253
- * Returns warnings
263
+ * Returns warnings.
254
264
  * @param {ModuleGraph} moduleGraph module graph
255
265
  * @returns {WebpackError[] | null | undefined} warnings
256
266
  */
@@ -263,7 +273,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
263
273
  }
264
274
 
265
275
  /**
266
- * Returns errors
276
+ * Returns errors.
267
277
  * @param {ModuleGraph} moduleGraph module graph
268
278
  * @returns {WebpackError[] | null | undefined} errors
269
279
  */
@@ -276,6 +286,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
276
286
  }
277
287
 
278
288
  /**
289
+ * Returns errors.
279
290
  * @param {ModuleGraph} moduleGraph module graph
280
291
  * @returns {WebpackError[] | undefined} errors
281
292
  */
@@ -297,6 +308,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
297
308
  }
298
309
 
299
310
  /**
311
+ * Serializes this instance into the provided serializer context.
300
312
  * @param {ObjectSerializerContext} context context
301
313
  */
302
314
  serialize(context) {
@@ -317,6 +329,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
317
329
  }
318
330
 
319
331
  /**
332
+ * Restores this instance from the provided deserializer context.
320
333
  * @param {ObjectDeserializerContext} context context
321
334
  */
322
335
  deserialize(context) {
@@ -346,6 +359,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
346
359
  HarmonyImportDependency.Template
347
360
  ) {
348
361
  /**
362
+ * Applies the plugin by registering its hooks on the compiler.
349
363
  * @param {Dependency} dependency the dependency for which the template should be applied
350
364
  * @param {ReplaceSource} source the current replace source which can be modified
351
365
  * @param {DependencyTemplateContext} templateContext the context object
@@ -450,6 +464,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
450
464
  }
451
465
 
452
466
  /**
467
+ * Returns generated code.
453
468
  * @param {HarmonyImportSpecifierDependency} dep dependency
454
469
  * @param {ReplaceSource} source source
455
470
  * @param {DependencyTemplateContext} templateContext context
@@ -31,6 +31,7 @@ const HarmonyTopLevelThisParserPlugin = require("./HarmonyTopLevelThisParserPlug
31
31
  /** @typedef {import("../javascript/JavascriptParser")} Parser */
32
32
 
33
33
  /**
34
+ * Defines the harmony modules plugin options type used by this module.
34
35
  * @typedef {object} HarmonyModulesPluginOptions
35
36
  * @property {boolean=} deferImport
36
37
  */
@@ -39,6 +40,7 @@ const PLUGIN_NAME = "HarmonyModulesPlugin";
39
40
 
40
41
  class HarmonyModulesPlugin {
41
42
  /**
43
+ * Creates an instance of HarmonyModulesPlugin.
42
44
  * @param {HarmonyModulesPluginOptions} options options
43
45
  */
44
46
  constructor(options) {
@@ -46,7 +48,7 @@ class HarmonyModulesPlugin {
46
48
  }
47
49
 
48
50
  /**
49
- * Apply the plugin
51
+ * Applies the plugin by registering its hooks on the compiler.
50
52
  * @param {Compiler} compiler the compiler instance
51
53
  * @returns {void}
52
54
  */
@@ -125,6 +127,7 @@ class HarmonyModulesPlugin {
125
127
  );
126
128
 
127
129
  /**
130
+ * Handles the hook callback for this code path.
128
131
  * @param {Parser} parser parser parser
129
132
  * @param {JavascriptParserOptions} parserOptions parserOptions
130
133
  * @returns {void}
@@ -16,6 +16,7 @@ const PLUGIN_NAME = "HarmonyTopLevelThisParserPlugin";
16
16
 
17
17
  class HarmonyTopLevelThisParserPlugin {
18
18
  /**
19
+ * Applies the plugin by registering its hooks on the compiler.
19
20
  * @param {JavascriptParser} parser the parser
20
21
  * @returns {void}
21
22
  */
@@ -16,6 +16,7 @@ const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTempl
16
16
 
17
17
  class ImportContextDependency extends ContextDependency {
18
18
  /**
19
+ * Creates an instance of ImportContextDependency.
19
20
  * @param {ContextDependencyOptions} options options
20
21
  * @param {Range} range range
21
22
  * @param {Range} valueRange value range
@@ -36,6 +37,7 @@ class ImportContextDependency extends ContextDependency {
36
37
  }
37
38
 
38
39
  /**
40
+ * Returns an identifier to merge equal requests.
39
41
  * @returns {string | null} an identifier to merge equal requests
40
42
  */
41
43
  getResourceIdentifier() {
@@ -49,6 +51,7 @@ class ImportContextDependency extends ContextDependency {
49
51
  }
50
52
 
51
53
  /**
54
+ * Serializes this instance into the provided serializer context.
52
55
  * @param {ObjectSerializerContext} context context
53
56
  */
54
57
  serialize(context) {
@@ -60,6 +63,7 @@ class ImportContextDependency extends ContextDependency {
60
63
  }
61
64
 
62
65
  /**
66
+ * Restores this instance from the provided deserializer context.
63
67
  * @param {ObjectDeserializerContext} context context
64
68
  */
65
69
  deserialize(context) {
@@ -27,6 +27,7 @@ const ModuleDependency = require("./ModuleDependency");
27
27
 
28
28
  class ImportDependency extends ModuleDependency {
29
29
  /**
30
+ * Creates an instance of ImportDependency.
30
31
  * @param {string} request the request
31
32
  * @param {Range} range expression range
32
33
  * @param {RawReferencedExports | null} referencedExports list of referenced exports
@@ -50,6 +51,7 @@ class ImportDependency extends ModuleDependency {
50
51
  }
51
52
 
52
53
  /**
54
+ * Returns an identifier to merge equal requests.
53
55
  * @returns {string | null} an identifier to merge equal requests
54
56
  */
55
57
  getResourceIdentifier() {
@@ -103,6 +105,7 @@ class ImportDependency extends ModuleDependency {
103
105
  }
104
106
 
105
107
  /**
108
+ * Serializes this instance into the provided serializer context.
106
109
  * @param {ObjectSerializerContext} context context
107
110
  */
108
111
  serialize(context) {
@@ -114,6 +117,7 @@ class ImportDependency extends ModuleDependency {
114
117
  }
115
118
 
116
119
  /**
120
+ * Restores this instance from the provided deserializer context.
117
121
  * @param {ObjectDeserializerContext} context context
118
122
  */
119
123
  deserialize(context) {
@@ -131,6 +135,7 @@ ImportDependency.Template = class ImportDependencyTemplate extends (
131
135
  ModuleDependency.Template
132
136
  ) {
133
137
  /**
138
+ * Applies the plugin by registering its hooks on the compiler.
134
139
  * @param {Dependency} dependency the dependency for which the template should be applied
135
140
  * @param {ReplaceSource} source the current replace source which can be modified
136
141
  * @param {DependencyTemplateContext} templateContext the context object
@@ -20,6 +20,7 @@ const ImportDependency = require("./ImportDependency");
20
20
 
21
21
  class ImportEagerDependency extends ImportDependency {
22
22
  /**
23
+ * Creates an instance of ImportEagerDependency.
23
24
  * @param {string} request the request
24
25
  * @param {Range} range expression range
25
26
  * @param {RawReferencedExports | null} referencedExports list of referenced exports
@@ -48,6 +49,7 @@ ImportEagerDependency.Template = class ImportEagerDependencyTemplate extends (
48
49
  ImportDependency.Template
49
50
  ) {
50
51
  /**
52
+ * Applies the plugin by registering its hooks on the compiler.
51
53
  * @param {Dependency} dependency the dependency for which the template should be applied
52
54
  * @param {ReplaceSource} source the current replace source which can be modified
53
55
  * @param {DependencyTemplateContext} templateContext the context object
@@ -14,6 +14,7 @@ const ModuleDependencyTemplateAsRequireId = require("./ModuleDependencyTemplateA
14
14
 
15
15
  class ImportMetaContextDependency extends ContextDependency {
16
16
  /**
17
+ * Creates an instance of ImportMetaContextDependency.
17
18
  * @param {ContextDependencyOptions} options options
18
19
  * @param {Range} range range
19
20
  */
@@ -28,6 +28,7 @@ const ImportMetaContextDependency = require("./ImportMetaContextDependency");
28
28
  /** @typedef {Pick<ContextModuleOptions, "mode" | "recursive" | "regExp" | "include" | "exclude" | "chunkName"> & { groupOptions: RawChunkGroupOptions, exports?: RawReferencedExports }} ImportMetaContextOptions */
29
29
 
30
30
  /**
31
+ * Creates a property parse error.
31
32
  * @param {Property} prop property
32
33
  * @param {string} expect except message
33
34
  * @returns {WebpackError} error
@@ -44,6 +45,7 @@ function createPropertyParseError(prop, expect) {
44
45
  }
45
46
 
46
47
  /**
48
+ * Creates an error from the provided msg.
47
49
  * @param {string} msg message
48
50
  * @param {DependencyLocation} loc location
49
51
  * @returns {WebpackError} error
@@ -59,6 +61,7 @@ const PLUGIN_NAME = "ImportMetaContextDependencyParserPlugin";
59
61
 
60
62
  module.exports = class ImportMetaContextDependencyParserPlugin {
61
63
  /**
64
+ * Applies the plugin by registering its hooks on the compiler.
62
65
  * @param {JavascriptParser} parser the parser
63
66
  * @returns {void}
64
67
  */
@@ -21,7 +21,7 @@ const PLUGIN_NAME = "ImportMetaContextPlugin";
21
21
 
22
22
  class ImportMetaContextPlugin {
23
23
  /**
24
- * Apply the plugin
24
+ * Applies the plugin by registering its hooks on the compiler.
25
25
  * @param {Compiler} compiler the compiler instance
26
26
  * @returns {void}
27
27
  */
@@ -43,6 +43,7 @@ class ImportMetaContextPlugin {
43
43
  );
44
44
 
45
45
  /**
46
+ * Handles the hook callback for this code path.
46
47
  * @param {Parser} parser parser parser
47
48
  * @param {JavascriptParserOptions} parserOptions parserOptions
48
49
  * @returns {void}
@@ -13,6 +13,7 @@ const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
13
13
 
14
14
  class ImportMetaHotAcceptDependency extends ModuleDependency {
15
15
  /**
16
+ * Creates an instance of ImportMetaHotAcceptDependency.
16
17
  * @param {string} request the request string
17
18
  * @param {Range} range location in source code
18
19
  */
@@ -13,6 +13,7 @@ const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
13
13
 
14
14
  class ImportMetaHotDeclineDependency extends ModuleDependency {
15
15
  /**
16
+ * Creates an instance of ImportMetaHotDeclineDependency.
16
17
  * @param {string} request the request string
17
18
  * @param {Range} range location in source code
18
19
  */
@@ -74,6 +74,7 @@ const collectImportMetaEnvDefinitions = (compilation) => {
74
74
  };
75
75
 
76
76
  /**
77
+ * Defines the import meta plugin hooks type used by this module.
77
78
  * @typedef {object} ImportMetaPluginHooks
78
79
  * @property {SyncBailHook<[DestructuringAssignmentProperty], string | void>} propertyInDestructuring
79
80
  */
@@ -83,6 +84,7 @@ const compilationHooksMap = new WeakMap();
83
84
 
84
85
  class ImportMetaPlugin {
85
86
  /**
87
+ * Returns the attached hooks.
86
88
  * @param {Compilation} compilation the compilation
87
89
  * @returns {ImportMetaPluginHooks} the attached hooks
88
90
  */
@@ -103,6 +105,7 @@ class ImportMetaPlugin {
103
105
  }
104
106
 
105
107
  /**
108
+ * Applies the plugin by registering its hooks on the compiler.
106
109
  * @param {Compiler} compiler compiler
107
110
  */
108
111
  apply(compiler) {
@@ -117,11 +120,13 @@ class ImportMetaPlugin {
117
120
  );
118
121
 
119
122
  /**
123
+ * Returns file url.
120
124
  * @param {NormalModule} module module
121
125
  * @returns {string} file url
122
126
  */
123
127
  const getUrl = (module) => pathToFileURL(module.resource).toString();
124
128
  /**
129
+ * Processes the provided parser.
125
130
  * @param {Parser} parser parser parser
126
131
  * @param {JavascriptParserOptions} parserOptions parserOptions
127
132
  * @returns {void}
@@ -154,6 +159,7 @@ class ImportMetaPlugin {
154
159
  JSON.stringify(getUrl(parser.state.module));
155
160
  const importMetaWebpackVersion = () => JSON.stringify(webpackVersion);
156
161
  /**
162
+ * Import meta unknown property.
157
163
  * @param {Members} members members
158
164
  * @returns {string} error message
159
165
  */
@@ -47,6 +47,7 @@ const parserStateMap = new WeakMap();
47
47
  const dynamicImportTag = Symbol("import()");
48
48
 
49
49
  /**
50
+ * Returns import parser plugin state.
50
51
  * @param {JavascriptParser} parser javascript parser
51
52
  * @returns {State} import parser plugin state
52
53
  */
@@ -58,6 +59,7 @@ function getState(parser) {
58
59
  }
59
60
 
60
61
  /**
62
+ * Tag dynamic import referenced.
61
63
  * @param {JavascriptParser} parser javascript parser
62
64
  * @param {ImportExpression} importCall import expression
63
65
  * @param {string} variableName variable name
@@ -78,6 +80,7 @@ function tagDynamicImportReferenced(parser, importCall, variableName) {
78
80
  }
79
81
 
80
82
  /**
83
+ * Gets fulfilled callback namespace obj.
81
84
  * @param {CallExpression} importThen import().then() call
82
85
  * @returns {Identifier | ObjectPattern | undefined} the dynamic imported namespace obj
83
86
  */
@@ -96,6 +99,7 @@ function getFulfilledCallbackNamespaceObj(importThen) {
96
99
  }
97
100
 
98
101
  /**
102
+ * Walk import then fulfilled callback.
99
103
  * @param {JavascriptParser} parser javascript parser
100
104
  * @param {ImportExpression} importCall import expression
101
105
  * @param {ArrowFunctionExpression | FunctionExpression} fulfilledCallback the fulfilled callback
@@ -157,6 +161,7 @@ function walkImportThenFulfilledCallback(
157
161
  }
158
162
 
159
163
  /**
164
+ * Exports from enumerable.
160
165
  * @template T
161
166
  * @param {Iterable<T>} enumerable enumerable
162
167
  * @returns {T[][]} array of array
@@ -168,6 +173,7 @@ const PLUGIN_NAME = "ImportParserPlugin";
168
173
 
169
174
  class ImportParserPlugin {
170
175
  /**
176
+ * Creates an instance of ImportParserPlugin.
171
177
  * @param {JavascriptParserOptions} options options
172
178
  */
173
179
  constructor(options) {
@@ -175,6 +181,7 @@ class ImportParserPlugin {
175
181
  }
176
182
 
177
183
  /**
184
+ * Applies the plugin by registering its hooks on the compiler.
178
185
  * @param {JavascriptParser} parser the parser
179
186
  * @returns {void}
180
187
  */
@@ -28,6 +28,7 @@ const ImportPhase = Object.freeze({
28
28
  /** @typedef {"defer" | "source" | "evaluation"} ImportPhaseName */
29
29
 
30
30
  /**
31
+ * Defines the import phase utils type used by this module.
31
32
  * @typedef {object} ImportPhaseUtils
32
33
  * @property {(phase: ImportPhaseType | undefined) => boolean} isEvaluation true if phase is evaluation
33
34
  * @property {(phase: ImportPhaseType | undefined) => boolean} isDefer true if phase is defer
@@ -59,10 +60,12 @@ const ImportPhaseUtils = {
59
60
  };
60
61
 
61
62
  /**
63
+ * Defines the get comment options type used by this module.
62
64
  * @typedef {() => Record<string, EXPECTED_ANY> | null} GetCommentOptions
63
65
  */
64
66
 
65
67
  /**
68
+ * Defines the get import phase callback.
66
69
  * @callback GetImportPhase
67
70
  * @param {JavascriptParser} parser parser
68
71
  * @param {ExportNamedDeclaration | ExportAllDeclaration | ImportDeclaration | ImportExpression} node node
@@ -71,8 +74,9 @@ const ImportPhaseUtils = {
71
74
  */
72
75
 
73
76
  /**
74
- * @param {boolean=} enableDeferPhase enable import phase detection
75
- * @param {boolean=} enableSourcePhase enable import phase detection
77
+ * Creates an import phase resolver.
78
+ * @param {boolean=} enableDeferPhase enable defer phase detection
79
+ * @param {boolean=} enableSourcePhase enable source phase detection
76
80
  * @returns {GetImportPhase} evaluates the import phase for ast node
77
81
  */
78
82
  function createGetImportPhase(enableDeferPhase, enableSourcePhase) {
@@ -24,7 +24,7 @@ const PLUGIN_NAME = "ImportPlugin";
24
24
 
25
25
  class ImportPlugin {
26
26
  /**
27
- * Apply the plugin
27
+ * Applies the plugin by registering its hooks on the compiler.
28
28
  * @param {Compiler} compiler the compiler instance
29
29
  * @returns {void}
30
30
  */
@@ -69,6 +69,7 @@ class ImportPlugin {
69
69
  );
70
70
 
71
71
  /**
72
+ * Handles the hook callback for this code path.
72
73
  * @param {Parser} parser parser parser
73
74
  * @param {JavascriptParserOptions} parserOptions parserOptions
74
75
  * @returns {void}
@@ -20,6 +20,7 @@ const ImportDependency = require("./ImportDependency");
20
20
 
21
21
  class ImportWeakDependency extends ImportDependency {
22
22
  /**
23
+ * Creates an instance of ImportWeakDependency.
23
24
  * @param {string} request the request
24
25
  * @param {Range} range expression range
25
26
  * @param {RawReferencedExports | null} referencedExports list of referenced exports
@@ -45,6 +46,7 @@ ImportWeakDependency.Template = class ImportDependencyTemplate extends (
45
46
  ImportDependency.Template
46
47
  ) {
47
48
  /**
49
+ * Applies the plugin by registering its hooks on the compiler.
48
50
  * @param {Dependency} dependency the dependency for which the template should be applied
49
51
  * @param {ReplaceSource} source the current replace source which can be modified
50
52
  * @param {DependencyTemplateContext} templateContext the context object