webpack 5.106.1 → 5.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/README.md +2 -2
  2. package/lib/APIPlugin.js +4 -2
  3. package/lib/AsyncDependenciesBlock.js +3 -0
  4. package/lib/AutomaticPrefetchPlugin.js +6 -1
  5. package/lib/BannerPlugin.js +10 -1
  6. package/lib/Cache.js +27 -5
  7. package/lib/CacheFacade.js +26 -0
  8. package/lib/Chunk.js +46 -0
  9. package/lib/ChunkGraph.js +111 -0
  10. package/lib/ChunkGroup.js +57 -13
  11. package/lib/ChunkTemplate.js +9 -0
  12. package/lib/CleanPlugin.js +14 -1
  13. package/lib/CodeGenerationResults.js +19 -0
  14. package/lib/CompatibilityPlugin.js +23 -8
  15. package/lib/Compilation.js +161 -27
  16. package/lib/Compiler.js +41 -17
  17. package/lib/ConcatenationScope.js +24 -1
  18. package/lib/ConditionalInitFragment.js +6 -0
  19. package/lib/ConstPlugin.js +4 -1
  20. package/lib/ContextExclusionPlugin.js +2 -1
  21. package/lib/ContextModule.js +14 -2
  22. package/lib/ContextModuleFactory.js +10 -0
  23. package/lib/ContextReplacementPlugin.js +4 -1
  24. package/lib/DefinePlugin.js +22 -9
  25. package/lib/DependenciesBlock.js +6 -1
  26. package/lib/Dependency.js +48 -4
  27. package/lib/DependencyTemplate.js +7 -1
  28. package/lib/DependencyTemplates.js +4 -0
  29. package/lib/DotenvPlugin.js +3 -0
  30. package/lib/DynamicEntryPlugin.js +3 -1
  31. package/lib/EntryOptionPlugin.js +3 -0
  32. package/lib/EntryPlugin.js +2 -1
  33. package/lib/Entrypoint.js +4 -0
  34. package/lib/EnvironmentPlugin.js +3 -2
  35. package/lib/ErrorHelpers.js +7 -0
  36. package/lib/EvalDevToolModulePlugin.js +3 -1
  37. package/lib/EvalSourceMapDevToolPlugin.js +11 -10
  38. package/lib/ExportsInfo.js +56 -2
  39. package/lib/ExportsInfoApiPlugin.js +2 -1
  40. package/lib/ExternalModule.js +114 -15
  41. package/lib/ExternalModuleFactoryPlugin.js +15 -0
  42. package/lib/ExternalsPlugin.js +2 -1
  43. package/lib/FileSystemInfo.js +291 -71
  44. package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
  45. package/lib/FlagDependencyExportsPlugin.js +4 -1
  46. package/lib/FlagDependencyUsagePlugin.js +5 -1
  47. package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
  48. package/lib/Generator.js +16 -3
  49. package/lib/HotModuleReplacementPlugin.js +35 -9
  50. package/lib/IgnorePlugin.js +4 -2
  51. package/lib/IgnoreWarningsPlugin.js +2 -1
  52. package/lib/InitFragment.js +10 -0
  53. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  54. package/lib/LibraryTemplatePlugin.js +2 -1
  55. package/lib/LoaderOptionsPlugin.js +3 -1
  56. package/lib/LoaderTargetPlugin.js +2 -1
  57. package/lib/MainTemplate.js +15 -0
  58. package/lib/ManifestPlugin.js +9 -2
  59. package/lib/Module.js +101 -19
  60. package/lib/ModuleFactory.js +6 -1
  61. package/lib/ModuleFilenameHelpers.js +3 -0
  62. package/lib/ModuleGraph.js +66 -0
  63. package/lib/ModuleGraphConnection.js +9 -0
  64. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  65. package/lib/ModuleSourceTypeConstants.js +32 -1
  66. package/lib/ModuleTemplate.js +8 -0
  67. package/lib/ModuleTypeConstants.js +12 -3
  68. package/lib/MultiCompiler.js +30 -2
  69. package/lib/MultiStats.js +8 -0
  70. package/lib/MultiWatching.js +3 -0
  71. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  72. package/lib/NodeStuffPlugin.js +11 -2
  73. package/lib/NormalModule.js +43 -33
  74. package/lib/NormalModuleFactory.js +35 -2
  75. package/lib/NormalModuleReplacementPlugin.js +1 -1
  76. package/lib/NullFactory.js +1 -0
  77. package/lib/OptionsApply.js +1 -0
  78. package/lib/Parser.js +3 -1
  79. package/lib/PlatformPlugin.js +2 -1
  80. package/lib/PrefetchPlugin.js +2 -1
  81. package/lib/ProgressPlugin.js +158 -68
  82. package/lib/ProvidePlugin.js +3 -1
  83. package/lib/RawModule.js +12 -0
  84. package/lib/RecordIdsPlugin.js +8 -0
  85. package/lib/RequestShortener.js +8 -0
  86. package/lib/ResolverFactory.js +5 -0
  87. package/lib/RuntimeGlobals.js +6 -5
  88. package/lib/RuntimeModule.js +22 -7
  89. package/lib/RuntimePlugin.js +13 -0
  90. package/lib/RuntimeTemplate.js +35 -1
  91. package/lib/SelfModuleFactory.js +2 -0
  92. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  93. package/lib/SourceMapDevToolPlugin.js +3 -1
  94. package/lib/Stats.js +5 -0
  95. package/lib/Template.js +20 -0
  96. package/lib/TemplatedPathPlugin.js +10 -3
  97. package/lib/UseStrictPlugin.js +2 -1
  98. package/lib/WarnCaseSensitiveModulesPlugin.js +71 -3
  99. package/lib/WarnDeprecatedOptionPlugin.js +2 -2
  100. package/lib/WarnNoModeSetPlugin.js +17 -2
  101. package/lib/WatchIgnorePlugin.js +4 -1
  102. package/lib/Watching.js +16 -3
  103. package/lib/WebpackError.js +3 -74
  104. package/lib/WebpackIsIncludedPlugin.js +3 -1
  105. package/lib/WebpackOptionsApply.js +14 -1
  106. package/lib/WebpackOptionsDefaulter.js +1 -0
  107. package/lib/asset/AssetBytesGenerator.js +12 -2
  108. package/lib/asset/AssetBytesParser.js +1 -0
  109. package/lib/asset/AssetGenerator.js +42 -10
  110. package/lib/asset/AssetModulesPlugin.js +7 -2
  111. package/lib/asset/AssetParser.js +2 -0
  112. package/lib/asset/AssetSourceGenerator.js +12 -2
  113. package/lib/asset/AssetSourceParser.js +1 -0
  114. package/lib/asset/RawDataUrlModule.js +11 -0
  115. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  116. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  117. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  118. package/lib/buildChunkGraph.js +19 -6
  119. package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
  120. package/lib/cache/AddManagedPathsPlugin.js +2 -1
  121. package/lib/cache/IdleFileCachePlugin.js +2 -1
  122. package/lib/cache/MemoryCachePlugin.js +1 -1
  123. package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
  124. package/lib/cache/PackFileCacheStrategy.js +33 -4
  125. package/lib/cache/ResolverCachePlugin.js +10 -1
  126. package/lib/cache/getLazyHashedEtag.js +4 -0
  127. package/lib/cache/mergeEtags.js +2 -0
  128. package/lib/cli.js +33 -1
  129. package/lib/config/browserslistTargetHandler.js +2 -0
  130. package/lib/config/defaults.js +232 -12
  131. package/lib/config/normalization.js +15 -1
  132. package/lib/config/target.js +11 -0
  133. package/lib/container/ContainerEntryDependency.js +2 -0
  134. package/lib/container/ContainerEntryModule.js +12 -0
  135. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  136. package/lib/container/ContainerExposedDependency.js +4 -0
  137. package/lib/container/ContainerPlugin.js +2 -1
  138. package/lib/container/ContainerReferencePlugin.js +2 -1
  139. package/lib/container/FallbackDependency.js +4 -0
  140. package/lib/container/FallbackItemDependency.js +1 -0
  141. package/lib/container/FallbackModule.js +12 -0
  142. package/lib/container/FallbackModuleFactory.js +1 -0
  143. package/lib/container/ModuleFederationPlugin.js +3 -1
  144. package/lib/container/RemoteModule.js +13 -0
  145. package/lib/container/RemoteRuntimeModule.js +1 -0
  146. package/lib/container/RemoteToExternalDependency.js +1 -0
  147. package/lib/container/options.js +7 -0
  148. package/lib/css/CssGenerator.js +336 -100
  149. package/lib/css/CssInjectStyleRuntimeModule.js +45 -42
  150. package/lib/css/CssLoadingRuntimeModule.js +23 -4
  151. package/lib/{CssModule.js → css/CssModule.js} +21 -15
  152. package/lib/css/CssModulesPlugin.js +235 -89
  153. package/lib/css/CssParser.js +616 -261
  154. package/lib/css/walkCssTokens.js +179 -2
  155. package/lib/debug/ProfilingPlugin.js +19 -1
  156. package/lib/dependencies/AMDDefineDependency.js +7 -0
  157. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
  158. package/lib/dependencies/AMDPlugin.js +4 -1
  159. package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
  160. package/lib/dependencies/AMDRequireContextDependency.js +3 -0
  161. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  162. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +14 -1
  163. package/lib/dependencies/AMDRequireDependency.js +4 -0
  164. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  165. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  166. package/lib/dependencies/CachedConstDependency.js +6 -1
  167. package/lib/dependencies/CommonJsDependencyHelpers.js +64 -0
  168. package/lib/dependencies/CommonJsExportRequireDependency.js +62 -10
  169. package/lib/dependencies/CommonJsExportsDependency.js +4 -0
  170. package/lib/dependencies/CommonJsExportsParserPlugin.js +9 -1
  171. package/lib/dependencies/CommonJsFullRequireDependency.js +36 -9
  172. package/lib/dependencies/CommonJsImportsParserPlugin.js +24 -3
  173. package/lib/dependencies/CommonJsPlugin.js +4 -1
  174. package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
  175. package/lib/dependencies/CommonJsRequireDependency.js +70 -4
  176. package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
  177. package/lib/dependencies/ConstDependency.js +6 -1
  178. package/lib/dependencies/ContextDependency.js +9 -2
  179. package/lib/dependencies/ContextDependencyHelpers.js +4 -1
  180. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
  181. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  182. package/lib/dependencies/ContextElementDependency.js +4 -0
  183. package/lib/dependencies/CreateRequireParserPlugin.js +7 -1
  184. package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
  185. package/lib/dependencies/CriticalDependencyWarning.js +2 -1
  186. package/lib/dependencies/CssIcssExportDependency.js +339 -66
  187. package/lib/dependencies/CssIcssImportDependency.js +53 -8
  188. package/lib/dependencies/CssIcssSymbolDependency.js +16 -4
  189. package/lib/dependencies/CssImportDependency.js +12 -0
  190. package/lib/dependencies/CssUrlDependency.js +32 -0
  191. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  192. package/lib/dependencies/DllEntryDependency.js +3 -0
  193. package/lib/dependencies/DynamicExports.js +5 -0
  194. package/lib/dependencies/EntryDependency.js +1 -0
  195. package/lib/dependencies/ExportsInfoDependency.js +6 -0
  196. package/lib/dependencies/ExternalModuleDependency.js +5 -0
  197. package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
  198. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
  199. package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
  200. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  201. package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
  202. package/lib/dependencies/HarmonyDetectionParserPlugin.js +4 -1
  203. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
  204. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +10 -7
  205. package/lib/dependencies/HarmonyExportExpressionDependency.js +27 -14
  206. package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
  207. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -5
  208. package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
  209. package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
  210. package/lib/dependencies/HarmonyExports.js +2 -0
  211. package/lib/dependencies/HarmonyImportDependency.js +21 -2
  212. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -1
  213. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
  214. package/lib/dependencies/HarmonyImportSpecifierDependency.js +18 -3
  215. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +5 -3
  216. package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
  217. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
  218. package/lib/dependencies/HtmlInlineScriptDependency.js +133 -0
  219. package/lib/dependencies/HtmlInlineStyleDependency.js +101 -0
  220. package/lib/dependencies/HtmlScriptSrcDependency.js +318 -0
  221. package/lib/dependencies/HtmlSourceDependency.js +127 -0
  222. package/lib/dependencies/ImportContextDependency.js +4 -0
  223. package/lib/dependencies/ImportDependency.js +5 -0
  224. package/lib/dependencies/ImportEagerDependency.js +2 -0
  225. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  226. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -1
  227. package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
  228. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  229. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  230. package/lib/dependencies/ImportMetaPlugin.js +6 -0
  231. package/lib/dependencies/ImportParserPlugin.js +9 -2
  232. package/lib/dependencies/ImportPhase.js +7 -3
  233. package/lib/dependencies/ImportPlugin.js +2 -1
  234. package/lib/dependencies/ImportWeakDependency.js +2 -0
  235. package/lib/dependencies/JsonExportsDependency.js +6 -1
  236. package/lib/dependencies/LoaderDependency.js +2 -0
  237. package/lib/dependencies/LoaderImportDependency.js +2 -0
  238. package/lib/dependencies/LoaderPlugin.js +4 -1
  239. package/lib/dependencies/LocalModule.js +4 -0
  240. package/lib/dependencies/LocalModuleDependency.js +4 -0
  241. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  242. package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
  243. package/lib/dependencies/ModuleDependency.js +7 -0
  244. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  245. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  246. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  247. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  248. package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
  249. package/lib/dependencies/NullDependency.js +2 -0
  250. package/lib/dependencies/PrefetchDependency.js +1 -0
  251. package/lib/dependencies/ProvidedDependency.js +6 -1
  252. package/lib/dependencies/PureExpressionDependency.js +7 -1
  253. package/lib/dependencies/RequireContextDependency.js +1 -0
  254. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
  255. package/lib/dependencies/RequireContextPlugin.js +2 -1
  256. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  257. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
  258. package/lib/dependencies/RequireEnsureDependency.js +4 -0
  259. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  260. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  261. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  262. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  263. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +4 -1
  264. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  265. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  266. package/lib/dependencies/RequireResolveContextDependency.js +3 -0
  267. package/lib/dependencies/RequireResolveDependency.js +1 -0
  268. package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
  269. package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
  270. package/lib/dependencies/StaticExportsDependency.js +3 -0
  271. package/lib/dependencies/SystemPlugin.js +5 -2
  272. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  273. package/lib/dependencies/URLContextDependency.js +3 -0
  274. package/lib/dependencies/URLDependency.js +6 -0
  275. package/lib/dependencies/URLPlugin.js +2 -0
  276. package/lib/dependencies/UnsupportedDependency.js +4 -0
  277. package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
  278. package/lib/dependencies/WebAssemblyImportDependency.js +5 -2
  279. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
  280. package/lib/dependencies/WorkerDependency.js +6 -1
  281. package/lib/dependencies/WorkerPlugin.js +11 -3
  282. package/lib/dependencies/getFunctionExpression.js +1 -0
  283. package/lib/dependencies/processExportInfo.js +1 -0
  284. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +44 -31
  285. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +7 -4
  286. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +4 -3
  287. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +6 -5
  288. package/lib/{DllModule.js → dll/DllModule.js} +35 -24
  289. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  290. package/lib/{DllPlugin.js → dll/DllPlugin.js} +8 -6
  291. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +23 -18
  292. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +13 -10
  293. package/lib/electron/ElectronTargetPlugin.js +2 -1
  294. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  295. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  296. package/lib/errors/BuildCycleError.js +1 -1
  297. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  298. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  299. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  300. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +4 -2
  301. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +4 -4
  302. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +11 -5
  303. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +6 -4
  304. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +4 -3
  305. package/lib/errors/JSONParseError.js +114 -0
  306. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +8 -5
  307. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +2 -2
  308. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +5 -4
  309. package/lib/{ModuleError.js → errors/ModuleError.js} +7 -5
  310. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +1 -1
  311. package/lib/{ModuleNotFoundError.js → errors/ModuleNotFoundError.js} +3 -2
  312. package/lib/{ModuleParseError.js → errors/ModuleParseError.js} +11 -6
  313. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +2 -1
  314. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +2 -1
  315. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +8 -5
  316. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +5 -4
  317. package/lib/errors/NonErrorEmittedError.js +28 -0
  318. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +8 -2
  319. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  320. package/lib/errors/WebpackError.js +84 -0
  321. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  322. package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
  323. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
  324. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
  325. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  326. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  327. package/lib/hmr/LazyCompilationPlugin.js +20 -1
  328. package/lib/hmr/lazyCompilationBackend.js +2 -0
  329. package/lib/html/HtmlGenerator.js +379 -0
  330. package/lib/html/HtmlModulesPlugin.js +433 -0
  331. package/lib/html/HtmlParser.js +1489 -0
  332. package/lib/html/walkHtmlTokens.js +2733 -0
  333. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  334. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  335. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  336. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  337. package/lib/ids/IdHelpers.js +22 -1
  338. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  339. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  340. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  341. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  342. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  343. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  344. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  345. package/lib/index.js +39 -15
  346. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  347. package/lib/javascript/BasicEvaluatedExpression.js +4 -2
  348. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  349. package/lib/javascript/ChunkHelpers.js +1 -0
  350. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  351. package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
  352. package/lib/javascript/JavascriptGenerator.js +10 -0
  353. package/lib/javascript/JavascriptModulesPlugin.js +112 -9
  354. package/lib/javascript/JavascriptParser.js +360 -16
  355. package/lib/javascript/JavascriptParserHelpers.js +7 -1
  356. package/lib/javascript/StartupHelpers.js +5 -0
  357. package/lib/json/JsonData.js +5 -0
  358. package/lib/json/JsonGenerator.js +21 -0
  359. package/lib/json/JsonModulesPlugin.js +1 -1
  360. package/lib/json/JsonParser.js +14 -25
  361. package/lib/library/AbstractLibraryPlugin.js +17 -2
  362. package/lib/library/AmdLibraryPlugin.js +8 -0
  363. package/lib/library/AssignLibraryPlugin.js +16 -0
  364. package/lib/library/EnableLibraryPlugin.js +8 -2
  365. package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
  366. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +1 -1
  367. package/lib/library/JsonpLibraryPlugin.js +8 -0
  368. package/lib/library/ModuleLibraryPlugin.js +86 -1
  369. package/lib/library/SystemLibraryPlugin.js +8 -0
  370. package/lib/library/UmdLibraryPlugin.js +16 -0
  371. package/lib/logging/Logger.js +17 -0
  372. package/lib/logging/createConsoleLogger.js +7 -0
  373. package/lib/logging/runtime.js +2 -0
  374. package/lib/logging/truncateArgs.js +2 -0
  375. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  376. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  377. package/lib/node/NodeSourcePlugin.js +1 -1
  378. package/lib/node/NodeTargetPlugin.js +2 -1
  379. package/lib/node/NodeTemplatePlugin.js +3 -1
  380. package/lib/node/NodeWatchFileSystem.js +2 -0
  381. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
  382. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
  383. package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
  384. package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
  385. package/lib/node/nodeConsole.js +116 -64
  386. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  387. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  388. package/lib/optimize/ConcatenatedModule.js +62 -6
  389. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  390. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
  391. package/lib/optimize/InnerGraph.js +16 -1
  392. package/lib/optimize/InnerGraphPlugin.js +14 -2
  393. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  394. package/lib/optimize/MangleExportsPlugin.js +5 -1
  395. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  396. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  397. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  398. package/lib/optimize/ModuleConcatenationPlugin.js +36 -8
  399. package/lib/optimize/RealContentHashPlugin.js +104 -26
  400. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  401. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  402. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  403. package/lib/optimize/SideEffectsFlagPlugin.js +118 -4
  404. package/lib/optimize/SplitChunksPlugin.js +50 -2
  405. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  406. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  407. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  408. package/lib/performance/SizeLimitsPlugin.js +8 -2
  409. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  410. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
  411. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  412. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  413. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
  414. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  415. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  416. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  417. package/lib/rules/RuleSetCompiler.js +18 -0
  418. package/lib/rules/UseEffectRulePlugin.js +10 -3
  419. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
  420. package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
  421. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  422. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  423. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
  424. package/lib/runtime/CompatRuntimeModule.js +2 -0
  425. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
  426. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  427. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  428. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
  429. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  430. package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
  431. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  432. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  433. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
  434. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  435. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
  436. package/lib/runtime/HelperRuntimeModule.js +5 -0
  437. package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
  438. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +121 -13
  439. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
  440. package/lib/runtime/NonceRuntimeModule.js +1 -0
  441. package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
  442. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  443. package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
  444. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  445. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +35 -0
  446. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  447. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
  448. package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
  449. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  450. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  451. package/lib/schemes/DataUriPlugin.js +14 -2
  452. package/lib/schemes/FileUriPlugin.js +1 -1
  453. package/lib/schemes/HttpUriPlugin.js +43 -1
  454. package/lib/schemes/VirtualUrlPlugin.js +7 -2
  455. package/lib/serialization/AggregateErrorSerializer.js +2 -0
  456. package/lib/serialization/ArraySerializer.js +2 -0
  457. package/lib/serialization/BinaryMiddleware.js +20 -1
  458. package/lib/serialization/DateObjectSerializer.js +2 -0
  459. package/lib/serialization/ErrorObjectSerializer.js +3 -0
  460. package/lib/serialization/FileMiddleware.js +21 -0
  461. package/lib/serialization/MapObjectSerializer.js +2 -0
  462. package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
  463. package/lib/serialization/ObjectMiddleware.js +23 -0
  464. package/lib/serialization/PlainObjectSerializer.js +7 -0
  465. package/lib/serialization/RegExpObjectSerializer.js +2 -0
  466. package/lib/serialization/Serializer.js +5 -0
  467. package/lib/serialization/SerializerMiddleware.js +14 -2
  468. package/lib/serialization/SetObjectSerializer.js +2 -0
  469. package/lib/serialization/SingleItemMiddleware.js +3 -0
  470. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  471. package/lib/sharing/ConsumeSharedModule.js +15 -0
  472. package/lib/sharing/ConsumeSharedPlugin.js +8 -3
  473. package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -4
  474. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  475. package/lib/sharing/ProvideSharedDependency.js +4 -0
  476. package/lib/sharing/ProvideSharedModule.js +12 -1
  477. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  478. package/lib/sharing/ProvideSharedPlugin.js +5 -2
  479. package/lib/sharing/SharePlugin.js +2 -1
  480. package/lib/sharing/ShareRuntimeModule.js +1 -0
  481. package/lib/sharing/resolveMatchedConfigs.js +4 -1
  482. package/lib/sharing/utils.js +8 -0
  483. package/lib/stats/DefaultStatsFactoryPlugin.js +58 -3
  484. package/lib/stats/DefaultStatsPresetPlugin.js +12 -2
  485. package/lib/stats/DefaultStatsPrinterPlugin.js +38 -2
  486. package/lib/stats/StatsFactory.js +13 -1
  487. package/lib/stats/StatsPrinter.js +7 -0
  488. package/lib/typescript/TypeScriptPlugin.js +210 -0
  489. package/lib/url/URLParserPlugin.js +8 -2
  490. package/lib/util/AppendOnlyStackedSet.js +15 -0
  491. package/lib/util/ArrayHelpers.js +1 -0
  492. package/lib/util/ArrayQueue.js +10 -5
  493. package/lib/util/AsyncQueue.js +22 -2
  494. package/lib/util/Hash.js +2 -2
  495. package/lib/util/IterableHelpers.js +3 -0
  496. package/lib/util/LazyBucketSortedSet.js +21 -0
  497. package/lib/util/LazySet.js +39 -0
  498. package/lib/util/LocConverter.js +53 -0
  499. package/lib/util/ParallelismFactorCalculator.js +1 -0
  500. package/lib/util/Queue.js +6 -3
  501. package/lib/util/Semaphore.js +14 -1
  502. package/lib/util/SetHelpers.js +3 -0
  503. package/lib/util/SortableSet.js +7 -1
  504. package/lib/util/StackedCacheMap.js +20 -3
  505. package/lib/util/StackedMap.js +45 -0
  506. package/lib/util/StringXor.js +1 -1
  507. package/lib/util/TupleQueue.js +7 -3
  508. package/lib/util/TupleSet.js +13 -0
  509. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  510. package/lib/util/WeakTupleMap.js +33 -0
  511. package/lib/util/binarySearchBounds.js +1 -0
  512. package/lib/util/cleverMerge.js +19 -2
  513. package/lib/util/comparators.js +34 -3
  514. package/lib/util/compileBooleanMatcher.js +9 -0
  515. package/lib/util/concatenate.js +9 -3
  516. package/lib/util/conventions.js +46 -1
  517. package/lib/util/createMappings.js +118 -0
  518. package/lib/util/dataURL.js +1 -0
  519. package/lib/util/deprecation.js +19 -0
  520. package/lib/util/deterministicGrouping.js +20 -0
  521. package/lib/util/extractSourceMap.js +1 -0
  522. package/lib/util/extractUrlAndGlobal.js +1 -0
  523. package/lib/util/findGraphRoots.js +5 -0
  524. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  525. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +4 -1
  526. package/lib/util/fs.js +71 -8
  527. package/lib/util/generateDebugId.js +1 -0
  528. package/lib/util/hash/BatchedHash.js +1 -0
  529. package/lib/util/hash/BulkUpdateHash.js +1 -0
  530. package/lib/util/hash/hash-digest.js +8 -0
  531. package/lib/util/hash/md4.js +1 -1
  532. package/lib/util/hash/wasm-hash.js +5 -0
  533. package/lib/util/hash/xxhash64.js +1 -1
  534. package/lib/util/identifier.js +67 -0
  535. package/lib/util/internalSerializables.js +35 -19
  536. package/lib/util/magicComment.js +10 -6
  537. package/lib/util/makeSerializable.js +6 -0
  538. package/lib/util/memoize.js +2 -0
  539. package/lib/util/mimeTypes.js +176 -0
  540. package/lib/util/nonNumericOnlyHash.js +1 -0
  541. package/lib/util/parseJson.js +41 -0
  542. package/lib/util/processAsyncTree.js +8 -0
  543. package/lib/util/property.js +1 -0
  544. package/lib/util/registerExternalSerializer.js +20 -0
  545. package/lib/util/removeBOM.js +1 -0
  546. package/lib/util/runtime.js +32 -0
  547. package/lib/util/semver.js +15 -0
  548. package/lib/util/serialization.js +2 -0
  549. package/lib/util/smartGrouping.js +8 -0
  550. package/lib/util/source.js +23 -0
  551. package/lib/util/topologicalSort.js +69 -0
  552. package/lib/validateSchema.js +1 -0
  553. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  554. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
  555. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
  556. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  557. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
  558. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +12 -3
  559. package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
  560. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
  561. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +6 -3
  562. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
  563. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
  564. package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
  565. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +7 -3
  566. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  567. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
  568. package/lib/wasm-sync/WebAssemblyParser.js +2 -0
  569. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  570. package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
  571. package/lib/web/FetchCompileWasmPlugin.js +13 -1
  572. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  573. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
  574. package/lib/web/JsonpTemplatePlugin.js +2 -1
  575. package/lib/webpack.js +13 -1
  576. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  577. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
  578. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  579. package/package.json +31 -31
  580. package/schemas/WebpackOptions.check.js +1 -1
  581. package/schemas/WebpackOptions.json +161 -57
  582. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  583. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  584. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  585. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  586. package/schemas/plugins/ProgressPlugin.json +22 -0
  587. package/schemas/plugins/{DllReferencePlugin.check.d.ts → css/CssAutoOrModuleParserOptions.check.d.ts} +1 -1
  588. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  589. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  590. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  591. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  592. package/types.d.ts +5325 -353
  593. package/lib/CaseSensitiveModulesWarning.js +0 -72
  594. package/lib/GraphHelpers.js +0 -46
  595. package/lib/NoModeWarning.js +0 -23
  596. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  597. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  598. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  599. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  600. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -7,8 +7,8 @@
7
7
 
8
8
  const WebpackError = require("./WebpackError");
9
9
 
10
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
11
- /** @typedef {import("./Module")} Module */
10
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
11
+ /** @typedef {import("../Module")} Module */
12
12
  /** @typedef {import("./ModuleBuildError").ErrorWithHideStack} ErrorWithHideStack */
13
13
 
14
14
  class ModuleDependencyError extends WebpackError {
@@ -5,15 +5,16 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const makeSerializable = require("../util/makeSerializable");
8
9
  const WebpackError = require("./WebpackError");
9
- const makeSerializable = require("./util/makeSerializable");
10
10
 
11
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
12
- /** @typedef {import("./Module")} Module */
11
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
12
+ /** @typedef {import("../Module")} Module */
13
13
  /** @typedef {import("./ModuleDependencyError").ErrorWithHideStack} ErrorWithHideStack */
14
14
 
15
15
  class ModuleDependencyWarning extends WebpackError {
16
16
  /**
17
+ * Creates an instance of ModuleDependencyWarning.
17
18
  * @param {Module} module module tied to dependency
18
19
  * @param {ErrorWithHideStack} err error thrown
19
20
  * @param {DependencyLocation} loc location of dependency
@@ -43,7 +44,7 @@ class ModuleDependencyWarning extends WebpackError {
43
44
 
44
45
  makeSerializable(
45
46
  ModuleDependencyWarning,
46
- "webpack/lib/ModuleDependencyWarning"
47
+ "webpack/lib/errors/ModuleDependencyWarning"
47
48
  );
48
49
 
49
50
  module.exports = ModuleDependencyWarning;
@@ -5,12 +5,12 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { cleanUp } = require("./ErrorHelpers");
8
+ const { cleanUp } = require("../ErrorHelpers");
9
+ const makeSerializable = require("../util/makeSerializable");
9
10
  const WebpackError = require("./WebpackError");
10
- const makeSerializable = require("./util/makeSerializable");
11
11
 
12
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
13
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
12
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
13
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
14
 
15
15
  class ModuleError extends WebpackError {
16
16
  /**
@@ -42,6 +42,7 @@ class ModuleError extends WebpackError {
42
42
  }
43
43
 
44
44
  /**
45
+ * Serializes this instance into the provided serializer context.
45
46
  * @param {ObjectSerializerContext} context context
46
47
  */
47
48
  serialize(context) {
@@ -53,6 +54,7 @@ class ModuleError extends WebpackError {
53
54
  }
54
55
 
55
56
  /**
57
+ * Restores this instance from the provided deserializer context.
56
58
  * @param {ObjectDeserializerContext} context context
57
59
  */
58
60
  deserialize(context) {
@@ -64,6 +66,6 @@ class ModuleError extends WebpackError {
64
66
  }
65
67
  }
66
68
 
67
- makeSerializable(ModuleError, "webpack/lib/ModuleError");
69
+ makeSerializable(ModuleError, "webpack/lib/errors/ModuleError");
68
70
 
69
71
  module.exports = ModuleError;
@@ -7,7 +7,7 @@
7
7
 
8
8
  const WebpackError = require("./WebpackError");
9
9
 
10
- /** @typedef {import("./Module")} Module */
10
+ /** @typedef {import("../Module")} Module */
11
11
 
12
12
  class ModuleHashingError extends WebpackError {
13
13
  /**
@@ -7,8 +7,8 @@
7
7
 
8
8
  const WebpackError = require("./WebpackError");
9
9
 
10
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
11
- /** @typedef {import("./Module")} Module */
10
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
11
+ /** @typedef {import("../Module")} Module */
12
12
 
13
13
  const previouslyPolyfilledBuiltinModules = {
14
14
  assert: "assert/",
@@ -43,6 +43,7 @@ const previouslyPolyfilledBuiltinModules = {
43
43
 
44
44
  class ModuleNotFoundError extends WebpackError {
45
45
  /**
46
+ * Creates an instance of ModuleNotFoundError.
46
47
  * @param {Module | null} module module tied to dependency
47
48
  * @param {Error & { details?: string }} err error thrown
48
49
  * @param {DependencyLocation} loc location of dependency
@@ -5,18 +5,19 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const makeSerializable = require("../util/makeSerializable");
8
9
  const WebpackError = require("./WebpackError");
9
- const makeSerializable = require("./util/makeSerializable");
10
10
 
11
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
12
- /** @typedef {import("./Dependency").SourcePosition} SourcePosition */
13
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
14
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
11
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
12
+ /** @typedef {import("../Dependency").SourcePosition} SourcePosition */
13
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
15
15
 
16
16
  const WASM_HEADER = Buffer.from([0x00, 0x61, 0x73, 0x6d]);
17
17
 
18
18
  class ModuleParseError extends WebpackError {
19
19
  /**
20
+ * Creates an instance of ModuleParseError.
20
21
  * @param {string | Buffer} source source code
21
22
  * @param {Error & { loc?: SourcePosition }} err the parse error
22
23
  * @param {string[]} loaders the loaders used
@@ -93,11 +94,14 @@ class ModuleParseError extends WebpackError {
93
94
 
94
95
  /** @type {string} */
95
96
  this.name = "ModuleParseError";
97
+ /** @type {undefined | DependencyLocation} */
96
98
  this.loc = loc;
99
+ /** @type {Error} */
97
100
  this.error = err;
98
101
  }
99
102
 
100
103
  /**
104
+ * Serializes this instance into the provided serializer context.
101
105
  * @param {ObjectSerializerContext} context context
102
106
  */
103
107
  serialize(context) {
@@ -109,6 +113,7 @@ class ModuleParseError extends WebpackError {
109
113
  }
110
114
 
111
115
  /**
116
+ * Restores this instance from the provided deserializer context.
112
117
  * @param {ObjectDeserializerContext} context context
113
118
  */
114
119
  deserialize(context) {
@@ -120,6 +125,6 @@ class ModuleParseError extends WebpackError {
120
125
  }
121
126
  }
122
127
 
123
- makeSerializable(ModuleParseError, "webpack/lib/ModuleParseError");
128
+ makeSerializable(ModuleParseError, "webpack/lib/errors/ModuleParseError");
124
129
 
125
130
  module.exports = ModuleParseError;
@@ -7,10 +7,11 @@
7
7
 
8
8
  const WebpackError = require("./WebpackError");
9
9
 
10
- /** @typedef {import("./Module")} Module */
10
+ /** @typedef {import("../Module")} Module */
11
11
 
12
12
  class ModuleRestoreError extends WebpackError {
13
13
  /**
14
+ * Creates an instance of ModuleRestoreError.
14
15
  * @param {Module} module module tied to dependency
15
16
  * @param {string | Error} err error thrown
16
17
  */
@@ -7,10 +7,11 @@
7
7
 
8
8
  const WebpackError = require("./WebpackError");
9
9
 
10
- /** @typedef {import("./Module")} Module */
10
+ /** @typedef {import("../Module")} Module */
11
11
 
12
12
  class ModuleStoreError extends WebpackError {
13
13
  /**
14
+ * Creates an instance of ModuleStoreError.
14
15
  * @param {Module} module module tied to dependency
15
16
  * @param {string | Error} err error thrown
16
17
  */
@@ -5,15 +5,16 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { cleanUp } = require("./ErrorHelpers");
8
+ const { cleanUp } = require("../ErrorHelpers");
9
+ const makeSerializable = require("../util/makeSerializable");
9
10
  const WebpackError = require("./WebpackError");
10
- const makeSerializable = require("./util/makeSerializable");
11
11
 
12
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
13
- /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
12
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
13
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
14
14
 
15
15
  class ModuleWarning extends WebpackError {
16
16
  /**
17
+ * Creates an instance of ModuleWarning.
17
18
  * @param {Error} warning error thrown
18
19
  * @param {{ from?: string | null }} info additional info
19
20
  */
@@ -40,6 +41,7 @@ class ModuleWarning extends WebpackError {
40
41
  }
41
42
 
42
43
  /**
44
+ * Serializes this instance into the provided serializer context.
43
45
  * @param {ObjectSerializerContext} context context
44
46
  */
45
47
  serialize(context) {
@@ -51,6 +53,7 @@ class ModuleWarning extends WebpackError {
51
53
  }
52
54
 
53
55
  /**
56
+ * Restores this instance from the provided deserializer context.
54
57
  * @param {ObjectDeserializerContext} context context
55
58
  */
56
59
  deserialize(context) {
@@ -62,7 +65,7 @@ class ModuleWarning extends WebpackError {
62
65
  }
63
66
  }
64
67
 
65
- makeSerializable(ModuleWarning, "webpack/lib/ModuleWarning");
68
+ makeSerializable(ModuleWarning, "webpack/lib/errors/ModuleWarning");
66
69
 
67
70
  /** @type {typeof ModuleWarning} */
68
71
  module.exports = ModuleWarning;
@@ -1,17 +1,18 @@
1
1
  /*
2
2
  MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Ivan Kopeykin @vankop
3
+ Author Tobias Koppers @sokra
4
4
  */
5
5
 
6
6
  "use strict";
7
7
 
8
- const WebpackError = require("./WebpackError");
9
- const makeSerializable = require("./util/makeSerializable");
8
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
10
9
 
11
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
10
+ const makeSerializable = require("../util/makeSerializable");
11
+ const WebpackError = require("./WebpackError");
12
12
 
13
13
  class NodeStuffInWebError extends WebpackError {
14
14
  /**
15
+ * Creates an instance of NodeStuffInWebError.
15
16
  * @param {DependencyLocation} loc loc
16
17
  * @param {string} expression expression
17
18
  * @param {string} description description
@@ -0,0 +1,28 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const makeSerializable = require("../util/makeSerializable");
9
+ const WebpackError = require("./WebpackError");
10
+
11
+ class NonErrorEmittedError extends WebpackError {
12
+ /**
13
+ * @param {EXPECTED_ANY} error value which is not an instance of Error
14
+ */
15
+ constructor(error) {
16
+ super();
17
+
18
+ this.name = "NonErrorEmittedError";
19
+ this.message = `(Emitted value instead of an instance of Error) ${error}`;
20
+ }
21
+ }
22
+
23
+ makeSerializable(
24
+ NonErrorEmittedError,
25
+ "webpack/lib/errors/NonErrorEmittedError"
26
+ );
27
+
28
+ module.exports = NonErrorEmittedError;
@@ -5,11 +5,17 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const makeSerializable = require("../util/makeSerializable");
8
9
  const WebpackError = require("./WebpackError");
9
- const makeSerializable = require("./util/makeSerializable");
10
10
 
11
+ /**
12
+ * Error raised when webpack encounters a resource URI scheme that no installed
13
+ * plugin knows how to read.
14
+ */
11
15
  class UnhandledSchemeError extends WebpackError {
12
16
  /**
17
+ * Creates an error explaining that the current resource scheme is not
18
+ * supported by the active plugin set.
13
19
  * @param {string} scheme scheme
14
20
  * @param {string} resource resource
15
21
  */
@@ -27,7 +33,7 @@ class UnhandledSchemeError extends WebpackError {
27
33
 
28
34
  makeSerializable(
29
35
  UnhandledSchemeError,
30
- "webpack/lib/UnhandledSchemeError",
36
+ "webpack/lib/errors/UnhandledSchemeError",
31
37
  "UnhandledSchemeError"
32
38
  );
33
39
 
@@ -5,13 +5,14 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const makeSerializable = require("../util/makeSerializable");
8
9
  const WebpackError = require("./WebpackError");
9
- const makeSerializable = require("./util/makeSerializable");
10
10
 
11
- /** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
11
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
12
12
 
13
13
  class UnsupportedFeatureWarning extends WebpackError {
14
14
  /**
15
+ * Creates an instance of UnsupportedFeatureWarning.
15
16
  * @param {string} message description of warning
16
17
  * @param {DependencyLocation} loc location start and end positions of the module
17
18
  */
@@ -29,7 +30,7 @@ class UnsupportedFeatureWarning extends WebpackError {
29
30
 
30
31
  makeSerializable(
31
32
  UnsupportedFeatureWarning,
32
- "webpack/lib/UnsupportedFeatureWarning"
33
+ "webpack/lib/errors/UnsupportedFeatureWarning"
33
34
  );
34
35
 
35
36
  module.exports = UnsupportedFeatureWarning;
@@ -0,0 +1,84 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Jarid Margolin @jaridmargolin
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const inspect = require("util").inspect.custom;
9
+ const makeSerializable = require("../util/makeSerializable");
10
+
11
+ /** @typedef {import("../Chunk")} Chunk */
12
+ /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
13
+ /** @typedef {import("../Module")} Module */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
16
+
17
+ class WebpackError extends Error {
18
+ /**
19
+ * Creates an instance of WebpackError.
20
+ * @param {string=} message error message
21
+ * @param {{ cause?: unknown }} options error options
22
+ */
23
+ constructor(message, options = {}) {
24
+ super(message, options);
25
+
26
+ /** @type {string=} */
27
+ this.details = undefined;
28
+ /** @type {(Module | null)=} */
29
+ this.module = undefined;
30
+ /** @type {DependencyLocation=} */
31
+ this.loc = undefined;
32
+ /** @type {boolean=} */
33
+ this.hideStack = undefined;
34
+ /** @type {Chunk=} */
35
+ this.chunk = undefined;
36
+ /** @type {string=} */
37
+ this.file = undefined;
38
+ }
39
+
40
+ /**
41
+ * Returns inspect message.
42
+ * @returns {string} inspect message
43
+ */
44
+ [inspect]() {
45
+ return (
46
+ this.stack +
47
+ (this.details ? `\n${this.details}` : "") +
48
+ (this.cause ? `\n${this.cause}` : "")
49
+ );
50
+ }
51
+
52
+ /**
53
+ * Serializes this instance into the provided serializer context.
54
+ * @param {ObjectSerializerContext} context context
55
+ */
56
+ serialize({ write }) {
57
+ write(this.name);
58
+ write(this.message);
59
+ write(this.stack);
60
+ write(this.cause);
61
+ write(this.details);
62
+ write(this.loc);
63
+ write(this.hideStack);
64
+ }
65
+
66
+ /**
67
+ * Restores this instance from the provided deserializer context.
68
+ * @param {ObjectDeserializerContext} context context
69
+ */
70
+ deserialize({ read }) {
71
+ this.name = read();
72
+ this.message = read();
73
+ this.stack = read();
74
+ this.cause = read();
75
+ this.details = read();
76
+ this.loc = read();
77
+ this.hideStack = read();
78
+ }
79
+ }
80
+
81
+ makeSerializable(WebpackError, "webpack/lib/errors/WebpackError");
82
+
83
+ /** @type {typeof WebpackError} */
84
+ module.exports = WebpackError;
@@ -13,6 +13,7 @@ class ExportWebpackRequireRuntimeModule extends RuntimeModule {
13
13
  }
14
14
 
15
15
  /**
16
+ * Returns true, if the runtime module should get it's own scope.
16
17
  * @returns {boolean} true, if the runtime module should get it's own scope
17
18
  */
18
19
  shouldIsolate() {
@@ -20,6 +21,7 @@ class ExportWebpackRequireRuntimeModule extends RuntimeModule {
20
21
  }
21
22
 
22
23
  /**
24
+ * Generates runtime code for this runtime module.
23
25
  * @returns {string | null} runtime code
24
26
  */
25
27
  generate() {
@@ -29,6 +29,7 @@ const { getUndoPath } = require("../util/identifier");
29
29
  /** @typedef {import("../Entrypoint")} Entrypoint */
30
30
 
31
31
  /**
32
+ * Gets relative path.
32
33
  * @param {Compilation} compilation the compilation instance
33
34
  * @param {Chunk} chunk the chunk
34
35
  * @param {Chunk} runtimeChunk the runtime chunk
@@ -69,6 +70,7 @@ const getRelativePath = (compilation, chunk, runtimeChunk) => {
69
70
  };
70
71
 
71
72
  /**
73
+ * Renders chunk import.
72
74
  * @param {Compilation} compilation the compilation instance
73
75
  * @param {Chunk} chunk the chunk to render the import for
74
76
  * @param {string=} namedImport the named import to use for the import
@@ -82,6 +84,7 @@ function renderChunkImport(compilation, chunk, namedImport, runtimeChunk) {
82
84
  }
83
85
 
84
86
  /**
87
+ * Gets chunk named import.
85
88
  * @param {number} index the index of the chunk
86
89
  * @returns {string} the named import to use for the import
87
90
  */
@@ -93,7 +96,7 @@ const PLUGIN_NAME = "ModuleChunkFormatPlugin";
93
96
 
94
97
  class ModuleChunkFormatPlugin {
95
98
  /**
96
- * Apply the plugin
99
+ * Applies the plugin by registering its hooks on the compiler.
97
100
  * @param {Compiler} compiler the compiler instance
98
101
  * @returns {void}
99
102
  */
@@ -111,6 +114,7 @@ class ModuleChunkFormatPlugin {
111
114
  );
112
115
  const hooks = getCompilationHooks(compilation);
113
116
  /**
117
+ * With dependent chunks.
114
118
  * @param {Iterable<Chunk>} chunks the chunks to render
115
119
  * @param {ChunkGraph} chunkGraph the chunk graph
116
120
  * @param {Chunk=} runtimeChunk the runtime chunk
@@ -17,7 +17,7 @@ const PLUGIN_NAME = "ModuleChunkLoadingPlugin";
17
17
 
18
18
  class ModuleChunkLoadingPlugin {
19
19
  /**
20
- * Apply the plugin
20
+ * Applies the plugin by registering its hooks on the compiler.
21
21
  * @param {Compiler} compiler the compiler instance
22
22
  * @returns {void}
23
23
  */
@@ -25,6 +25,7 @@ class ModuleChunkLoadingPlugin {
25
25
  compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
26
26
  const globalChunkLoading = compilation.outputOptions.chunkLoading;
27
27
  /**
28
+ * Checks whether this module chunk loading plugin is enabled for chunk.
28
29
  * @param {Chunk} chunk chunk to check
29
30
  * @returns {boolean} true, when the plugin is enabled for the chunk
30
31
  */
@@ -39,6 +40,7 @@ class ModuleChunkLoadingPlugin {
39
40
  /** @type {WeakSet<Chunk>} */
40
41
  const onceForChunkSet = new WeakSet();
41
42
  /**
43
+ * Handles the hook callback for this code path.
42
44
  * @param {Chunk} chunk chunk to check
43
45
  * @param {RuntimeRequirements} set runtime requirements
44
46
  */
@@ -25,6 +25,7 @@ const { getUndoPath } = require("../util/identifier");
25
25
  /** @typedef {import("../Module").ReadOnlyRuntimeRequirements} ReadOnlyRuntimeRequirements */
26
26
 
27
27
  /**
28
+ * Defines the jsonp compilation plugin hooks type used by this module.
28
29
  * @typedef {object} JsonpCompilationPluginHooks
29
30
  * @property {SyncWaterfallHook<[string, Chunk]>} linkPreload
30
31
  * @property {SyncWaterfallHook<[string, Chunk]>} linkPrefetch
@@ -35,6 +36,7 @@ const compilationHooksMap = new WeakMap();
35
36
 
36
37
  class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
37
38
  /**
39
+ * Returns hooks.
38
40
  * @param {Compilation} compilation the compilation
39
41
  * @returns {JsonpCompilationPluginHooks} hooks
40
42
  */
@@ -56,6 +58,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
56
58
  }
57
59
 
58
60
  /**
61
+ * Creates an instance of ModuleChunkLoadingRuntimeModule.
59
62
  * @param {ReadOnlyRuntimeRequirements} runtimeRequirements runtime requirements
60
63
  */
61
64
  constructor(runtimeRequirements) {
@@ -65,6 +68,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
65
68
  }
66
69
 
67
70
  /**
71
+ * Returns generated code.
68
72
  * @private
69
73
  * @param {Chunk} chunk chunk
70
74
  * @param {string} rootOutputDir root output directory
@@ -85,6 +89,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
85
89
  }
86
90
 
87
91
  /**
92
+ * Generates runtime code for this runtime module.
88
93
  * @returns {string | null} runtime code
89
94
  */
90
95
  generate() {
@@ -15,6 +15,7 @@ class HotModuleReplacementRuntimeModule extends RuntimeModule {
15
15
  }
16
16
 
17
17
  /**
18
+ * Generates runtime code for this runtime module.
18
19
  * @returns {string | null} runtime code
19
20
  */
20
21
  generate() {
@@ -10,6 +10,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
10
10
  const Template = require("../Template");
11
11
 
12
12
  /**
13
+ * Generates javascript hmr.
13
14
  * @param {string} type unique identifier used for HMR runtime properties
14
15
  * @returns {string} HMR runtime code
15
16
  */