@depup/webpack 5.111.1-depup.2 → 5.112.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (775) hide show
  1. package/README.md +4 -8
  2. package/changes.json +3 -19
  3. package/lib/Chunk.js +3 -966
  4. package/lib/Compilation.js +224 -106
  5. package/lib/Compiler.js +19 -19
  6. package/lib/Dependency.js +3 -551
  7. package/lib/DependencyTemplate.js +3 -70
  8. package/lib/EntryPlugin.js +3 -68
  9. package/lib/Entrypoint.js +3 -121
  10. package/lib/ExternalsPlugin.js +3 -92
  11. package/lib/FileSystemInfo.js +3 -4629
  12. package/lib/InitFragment.js +3 -204
  13. package/lib/LibraryTemplatePlugin.js +3 -46
  14. package/lib/ModuleFilenameHelpers.js +3 -400
  15. package/lib/ModuleNotFoundError.js +2 -2
  16. package/lib/MultiCompiler.js +37 -8
  17. package/lib/NormalModule.js +3 -2242
  18. package/lib/NullFactory.js +3 -22
  19. package/lib/ProgressPlugin.js +3 -908
  20. package/lib/RawModule.js +3 -197
  21. package/lib/RequestShortener.js +3 -37
  22. package/lib/SingleEntryPlugin.js +1 -1
  23. package/lib/WebpackError.js +2 -2
  24. package/lib/asset/AssetBytesGenerator.js +8 -8
  25. package/lib/asset/AssetBytesParser.js +3 -3
  26. package/lib/asset/AssetGenerator.js +36 -22
  27. package/lib/asset/AssetModule.js +2 -2
  28. package/lib/asset/AssetModulesPlugin.js +6 -9
  29. package/lib/asset/AssetParser.js +3 -3
  30. package/lib/asset/AssetSourceGenerator.js +8 -8
  31. package/lib/asset/AssetSourceParser.js +3 -3
  32. package/lib/asset/RawDataUrlModule.js +17 -10
  33. package/lib/asset/WebManifestGenerator.js +7 -7
  34. package/lib/asset/WebManifestParser.js +5 -5
  35. package/lib/async-modules/AsyncModuleHelpers.js +6 -5
  36. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
  37. package/lib/async-modules/InferAsyncModulesPlugin.js +4 -3
  38. package/lib/async-modules/isGeneratorLowered.js +3 -3
  39. package/lib/bun/BunTargetPlugin.js +1 -1
  40. package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
  41. package/lib/{Cache.js → cache/Cache.js} +1 -1
  42. package/lib/{CacheFacade.js → cache/CacheFacade.js} +5 -5
  43. package/lib/cache/IdleFileCachePlugin.js +2 -2
  44. package/lib/cache/MemoryCachePlugin.js +2 -2
  45. package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
  46. package/lib/cache/PackFileCacheStrategy.js +8 -10
  47. package/lib/cache/ResolverCachePlugin.js +8 -4
  48. package/lib/cache/mergeEtags.js +1 -1
  49. package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
  50. package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
  51. package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +217 -200
  52. package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
  53. package/lib/config/browserslistTargetHandler.js +1 -1
  54. package/lib/{cli.js → config/cli.js} +5 -158
  55. package/lib/config/defaults.js +144 -48
  56. package/lib/config/getClaimedAssetTypes.js +21 -13
  57. package/lib/config/normalization.js +18 -7
  58. package/lib/config/target.js +10 -0
  59. package/lib/container/ContainerEntryDependency.js +1 -1
  60. package/lib/container/ContainerEntryModule.js +13 -11
  61. package/lib/container/ContainerEntryModuleFactory.js +2 -2
  62. package/lib/container/ContainerExposedDependency.js +1 -1
  63. package/lib/container/ContainerPlugin.js +178 -5
  64. package/lib/container/ContainerReferencePlugin.js +75 -14
  65. package/lib/container/FallbackDependency.js +1 -1
  66. package/lib/container/FallbackItemDependency.js +1 -1
  67. package/lib/container/FallbackModule.js +12 -10
  68. package/lib/container/FallbackModuleFactory.js +2 -2
  69. package/lib/container/HoistContainerReferencesPlugin.js +10 -11
  70. package/lib/container/ModuleFederationPlugin.js +306 -7
  71. package/lib/container/RemoteModule.js +14 -10
  72. package/lib/container/RemoteRuntimeModule.js +5 -5
  73. package/lib/container/RemoteToExternalDependency.js +1 -1
  74. package/lib/container/moduleFederationHooks.js +1 -1
  75. package/lib/context/ContextModule.js +36 -25
  76. package/lib/context/ContextModuleFactory.js +13 -10
  77. package/lib/context/ContextReplacementPlugin.js +3 -3
  78. package/lib/css/CssGenerator.js +38 -31
  79. package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
  80. package/lib/css/CssLoadingRuntimeModule.js +77 -44
  81. package/lib/css/CssModule.js +27 -29
  82. package/lib/css/CssModulesPlugin.js +128 -44
  83. package/lib/css/CssParser.js +682 -291
  84. package/lib/css/CssServerStylesRuntimeModule.js +3 -3
  85. package/lib/css/cssMinify.js +110 -37
  86. package/lib/css/data.js +6985 -5125
  87. package/lib/css/syntax-parser.js +19873 -0
  88. package/lib/css/syntax-printer.js +6037 -0
  89. package/lib/css/syntax.js +37 -18686
  90. package/lib/debug/ProfilingPlugin.js +52 -19
  91. package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
  92. package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +9 -9
  93. package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
  94. package/lib/deno/DenoTargetPlugin.js +1 -1
  95. package/lib/dependencies/ConstDependency.js +3 -120
  96. package/lib/dependencies/ContextElementDependency.js +5 -172
  97. package/lib/dependencies/NullDependency.js +3 -37
  98. package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
  99. package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -10
  100. package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
  101. package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
  102. package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
  103. package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
  104. package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +10 -10
  105. package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
  106. package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
  107. package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
  108. package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
  109. package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
  110. package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
  111. package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
  112. package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
  113. package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
  114. package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -33
  115. package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
  116. package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
  117. package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
  118. package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +35 -30
  119. package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
  120. package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
  121. package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
  122. package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
  123. package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
  124. package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
  125. package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
  126. package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +5 -5
  127. package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
  128. package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
  129. package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
  130. package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
  131. package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
  132. package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
  133. package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
  134. package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
  135. package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
  136. package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
  137. package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
  138. package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
  139. package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
  140. package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
  141. package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
  142. package/lib/dependencies/context/ContextElementDependency.js +198 -0
  143. package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
  144. package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +9 -9
  145. package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
  146. package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
  147. package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +4 -4
  148. package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
  149. package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
  150. package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
  151. package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
  152. package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +12 -11
  153. package/lib/dependencies/core/ConstDependency.js +131 -0
  154. package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
  155. package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
  156. package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
  157. package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
  158. package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
  159. package/lib/dependencies/core/NullDependency.js +44 -0
  160. package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
  161. package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
  162. package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +369 -92
  163. package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +23 -16
  164. package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
  165. package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
  166. package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +23 -16
  167. package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
  168. package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
  169. package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
  170. package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
  171. package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +19 -17
  172. package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
  173. package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
  174. package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
  175. package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
  176. package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
  177. package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +133 -118
  178. package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
  179. package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +60 -36
  180. package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
  181. package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
  182. package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
  183. package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +99 -84
  184. package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
  185. package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
  186. package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +94 -59
  187. package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
  188. package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
  189. package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
  190. package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
  191. package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
  192. package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
  193. package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
  194. package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
  195. package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
  196. package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
  197. package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
  198. package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +51 -141
  199. package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
  200. package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -19
  201. package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -15
  202. package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
  203. package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
  204. package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
  205. package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
  206. package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +20 -20
  207. package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
  208. package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
  209. package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
  210. package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
  211. package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
  212. package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +119 -98
  213. package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
  214. package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
  215. package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
  216. package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
  217. package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
  218. package/lib/{url → dependencies/url}/URLParserPlugin.js +16 -18
  219. package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
  220. package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
  221. package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
  222. package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
  223. package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +31 -33
  224. package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
  225. package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
  226. package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
  227. package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
  228. package/lib/devtool/ModuleFilenameHelpers.js +413 -0
  229. package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
  230. package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +154 -26
  231. package/lib/{util → devtool}/generateDebugId.js +1 -1
  232. package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
  233. package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
  234. package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
  235. package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
  236. package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
  237. package/lib/dll/DelegatedModule.js +20 -18
  238. package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
  239. package/lib/dll/DelegatedPlugin.js +1 -1
  240. package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
  241. package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
  242. package/lib/dll/DllEntryPlugin.js +3 -3
  243. package/lib/dll/DllModule.js +11 -9
  244. package/lib/dll/DllModuleFactory.js +3 -3
  245. package/lib/dll/DllPlugin.js +18 -6
  246. package/lib/dll/DllReferencePlugin.js +102 -26
  247. package/lib/dll/LibManifestPlugin.js +9 -7
  248. package/lib/electron/ElectronTargetPlugin.js +2 -2
  249. package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
  250. package/lib/{dependencies → entry}/EntryDependency.js +11 -2
  251. package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
  252. package/lib/entry/EntryPlugin.js +75 -0
  253. package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
  254. package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
  255. package/lib/errors/BuildCycleError.js +1 -1
  256. package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
  257. package/lib/errors/ChunkRenderError.js +1 -1
  258. package/lib/errors/CodeGenerationError.js +1 -1
  259. package/lib/errors/CommentCompilationWarning.js +1 -1
  260. package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
  261. package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
  262. package/lib/errors/DeprecatedOptionWarning.js +30 -0
  263. package/lib/errors/DllManifestError.js +26 -0
  264. package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
  265. package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
  266. package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
  267. package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
  268. package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +7 -5
  269. package/lib/errors/ExternalStarReexportError.js +2 -2
  270. package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
  271. package/lib/errors/HookWebpackError.js +4 -4
  272. package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
  273. package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
  274. package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
  275. package/lib/errors/ModuleBuildError.js +1 -1
  276. package/lib/errors/ModuleDependencyError.js +2 -2
  277. package/lib/errors/ModuleDependencyWarning.js +2 -2
  278. package/lib/errors/ModuleError.js +1 -1
  279. package/lib/errors/ModuleHashingError.js +1 -1
  280. package/lib/errors/ModuleNotFoundError.js +3 -3
  281. package/lib/errors/ModuleParseError.js +1 -1
  282. package/lib/errors/ModuleRestoreError.js +1 -1
  283. package/lib/errors/ModuleStoreError.js +1 -1
  284. package/lib/errors/ModuleWarning.js +1 -1
  285. package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
  286. package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
  287. package/lib/errors/NodeStuffInWebError.js +7 -2
  288. package/lib/errors/PathVariableError.js +31 -0
  289. package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
  290. package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
  291. package/lib/errors/RuntimeModuleGenerationError.js +51 -0
  292. package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
  293. package/lib/errors/SystemImportDeprecationWarning.js +43 -0
  294. package/lib/errors/UnmergeableEntryExportsError.js +34 -0
  295. package/lib/errors/UnsupportedFeatureWarning.js +1 -1
  296. package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
  297. package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
  298. package/lib/errors/WebpackError.js +12 -3
  299. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
  300. package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
  301. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
  302. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
  303. package/lib/{ExternalModule.js → externals/ExternalModule.js} +79 -55
  304. package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
  305. package/lib/externals/ExternalsPlugin.js +99 -0
  306. package/lib/fs/FileSystemInfo.js +4642 -0
  307. package/lib/{util → fs}/fs.js +22 -9
  308. package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
  309. package/lib/graph/Chunk.js +985 -0
  310. package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +187 -80
  311. package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
  312. package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
  313. package/lib/graph/Dependency.js +628 -0
  314. package/lib/graph/Entrypoint.js +136 -0
  315. package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +130 -82
  316. package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
  317. package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +30 -30
  318. package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
  319. package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +152 -57
  320. package/lib/{util → graph}/findGraphRoots.js +14 -8
  321. package/lib/graph/isDependencyKind.js +23 -0
  322. package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
  323. package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +47 -47
  324. package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
  325. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
  326. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
  327. package/lib/hmr/LazyCompilationPlugin.js +31 -21
  328. package/lib/html/HtmlGenerator.js +107 -43
  329. package/lib/html/HtmlModule.js +6 -2
  330. package/lib/html/HtmlModulesPlugin.js +172 -76
  331. package/lib/html/HtmlParser.js +503 -153
  332. package/lib/html/builtinEmbeddedRenderer.js +60 -13
  333. package/lib/html/data.js +2 -1
  334. package/lib/html/htmlMinify.js +111 -41
  335. package/lib/html/syntax-parser.js +15796 -0
  336. package/lib/html/syntax-printer.js +1034 -0
  337. package/lib/html/syntax.js +37 -13952
  338. package/lib/html/xmlMinify.js +67 -0
  339. package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
  340. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  341. package/lib/ids/HashedModuleIdsPlugin.js +31 -4
  342. package/lib/ids/IdHelpers.js +4 -4
  343. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  344. package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
  345. package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
  346. package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
  347. package/lib/ids/SyncModuleIdsPlugin.js +3 -3
  348. package/lib/{util → ids}/numberHash.js +1 -1
  349. package/lib/index.js +303 -97
  350. package/lib/{APIPlugin.js → javascript/APIPlugin.js} +25 -25
  351. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
  352. package/lib/javascript/BasicEvaluatedExpression.js +4 -4
  353. package/lib/javascript/ChunkHelpers.js +64 -4
  354. package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
  355. package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
  356. package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +74 -7
  357. package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
  358. package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
  359. package/lib/javascript/JavascriptGenerator.js +17 -17
  360. package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
  361. package/lib/javascript/JavascriptModule.js +4 -3
  362. package/lib/javascript/JavascriptModulesPlugin.js +440 -211
  363. package/lib/javascript/JavascriptParser.js +220 -134
  364. package/lib/javascript/JavascriptParserHelpers.js +1 -1
  365. package/lib/javascript/MergedEntryExports.js +196 -0
  366. package/lib/javascript/ScopeAnalyzer.js +3840 -5
  367. package/lib/javascript/StartupHelpers.js +6 -6
  368. package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
  369. package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
  370. package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
  371. package/lib/javascript/data.js +533 -122
  372. package/lib/javascript/jsMinify.js +272 -0
  373. package/lib/javascript/regexp.js +67 -32
  374. package/lib/javascript/syntax-parser.js +18561 -0
  375. package/lib/javascript/syntax-printer-data.js +933 -0
  376. package/lib/javascript/syntax-printer.js +47106 -0
  377. package/lib/javascript/syntax.js +20 -11274
  378. package/lib/json/JsonData.js +1 -1
  379. package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
  380. package/lib/json/JsonGenerator.js +10 -10
  381. package/lib/json/JsonModule.js +2 -2
  382. package/lib/json/JsonModulesPlugin.js +1 -1
  383. package/lib/json/JsonParser.js +5 -5
  384. package/lib/json/jsonMinify.js +69 -0
  385. package/lib/library/AbstractLibraryPlugin.js +28 -15
  386. package/lib/library/AmdLibraryPlugin.js +4 -4
  387. package/lib/library/AssignLibraryPlugin.js +27 -11
  388. package/lib/library/EnableLibraryPlugin.js +1 -1
  389. package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
  390. package/lib/library/JsonpLibraryPlugin.js +1 -1
  391. package/lib/library/LibraryTemplatePlugin.js +53 -0
  392. package/lib/library/ModuleLibraryPlugin.js +160 -166
  393. package/lib/library/SystemLibraryPlugin.js +6 -8
  394. package/lib/library/UmdLibraryPlugin.js +3 -4
  395. package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
  396. package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
  397. package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
  398. package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
  399. package/lib/loaders/LoaderRunner.js +31 -21
  400. package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
  401. package/lib/logging/Logger.js +7 -9
  402. package/lib/logging/ProgressPlugin.js +957 -0
  403. package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
  404. package/lib/{Generator.js → module/Generator.js} +16 -14
  405. package/lib/{Module.js → module/Module.js} +119 -51
  406. package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
  407. package/lib/module/NormalModule.js +2348 -0
  408. package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
  409. package/lib/module/NullFactory.js +29 -0
  410. package/lib/{Parser.js → module/Parser.js} +3 -3
  411. package/lib/module/RawModule.js +208 -0
  412. package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
  413. package/lib/{util → module}/extractSourceMap.js +2 -2
  414. package/lib/{util → module}/findCaseMismatch.js +2 -2
  415. package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
  416. package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
  417. package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
  418. package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
  419. package/lib/node/NodeEnvironmentPlugin.js +11 -1
  420. package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
  421. package/lib/node/NodeTargetPlugin.js +1 -1
  422. package/lib/node/NodeWatchFileSystem.js +58 -6
  423. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
  424. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
  425. package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
  426. package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
  427. package/lib/node/nodeConsole.js +2 -4
  428. package/lib/optimize/AggressiveMergingPlugin.js +2 -2
  429. package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
  430. package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
  431. package/lib/optimize/ConcatenatedModule.js +229 -214
  432. package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
  433. package/lib/optimize/ConstExportsPlugin.js +7 -7
  434. package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
  435. package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
  436. package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +17 -17
  437. package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +17 -17
  438. package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
  439. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
  440. package/lib/optimize/InlineExports.js +11 -3
  441. package/lib/optimize/InnerGraph.js +5 -13
  442. package/lib/optimize/InnerGraphPlugin.js +10 -10
  443. package/lib/optimize/LazyBarrels.js +584 -0
  444. package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
  445. package/lib/optimize/LimitChunkCountPlugin.js +16 -7
  446. package/lib/optimize/MangleExportsPlugin.js +5 -5
  447. package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
  448. package/lib/optimize/MinChunkSizePlugin.js +9 -6
  449. package/lib/optimize/ModuleConcatenationPlugin.js +20 -12
  450. package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
  451. package/lib/optimize/RealContentHashPlugin.js +16 -7
  452. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
  453. package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
  454. package/lib/optimize/SideEffectsFlagPlugin.js +18 -18
  455. package/lib/optimize/SplitChunksPlugin.js +713 -155
  456. package/lib/{util → optimize}/TupleQueue.js +9 -9
  457. package/lib/optimize/chunkSetIntersections.js +437 -0
  458. package/lib/{util → optimize}/deterministicGrouping.js +17 -17
  459. package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
  460. package/lib/{CleanPlugin.js → output/CleanPlugin.js} +66 -24
  461. package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
  462. package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
  463. package/lib/output/SSRManifestPlugin.js +349 -0
  464. package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
  465. package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
  466. package/lib/performance/BroadContextsPlugin.js +4 -4
  467. package/lib/performance/CacheEffectivenessPlugin.js +2 -3
  468. package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
  469. package/lib/performance/DuplicateModulesPlugin.js +3 -4
  470. package/lib/performance/DuplicatePackagesPlugin.js +3 -3
  471. package/lib/performance/DynamicExportsPlugin.js +2 -2
  472. package/lib/performance/EvalUsagePlugin.js +3 -3
  473. package/lib/performance/HotspotsPlugin.js +11 -10
  474. package/lib/performance/LargeModulesPlugin.js +2 -3
  475. package/lib/performance/LegacyJavascriptPlugin.js +1 -2
  476. package/lib/performance/MissingSideEffectsPlugin.js +2 -3
  477. package/lib/performance/MissingSourceMapsPlugin.js +5 -6
  478. package/lib/performance/PureAnnotationsPlugin.js +3 -3
  479. package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
  480. package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
  481. package/lib/performance/SizeLimitsPlugin.js +11 -12
  482. package/lib/performance/TopLevelThisPlugin.js +8 -7
  483. package/lib/performance/UnsplitVendorsPlugin.js +1 -2
  484. package/lib/performance/UnusedAliasesPlugin.js +6 -7
  485. package/lib/performance/UnusedAssetsPlugin.js +5 -5
  486. package/lib/performance/UnusedDefinesPlugin.js +2 -2
  487. package/lib/performance/UnusedExternalsPlugin.js +3 -4
  488. package/lib/performance/UnusedFederationPlugin.js +2 -4
  489. package/lib/performance/UnusedModulesPlugin.js +5 -4
  490. package/lib/performance/getModuleSize.js +1 -1
  491. package/lib/performance/hasOnlyUnusedExports.js +4 -4
  492. package/lib/performance/isOnlyReexported.js +7 -6
  493. package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
  494. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
  495. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
  496. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
  497. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
  498. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
  499. package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
  500. package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
  501. package/lib/prefetch/ResourceHintPlugin.js +65 -44
  502. package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
  503. package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
  504. package/lib/prefetch/parseResourceHintOptions.js +4 -3
  505. package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
  506. package/lib/{dependencies → provide}/ProvidedDependency.js +14 -13
  507. package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
  508. package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
  509. package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
  510. package/lib/resolve/getResolveOptionsKey.js +59 -0
  511. package/lib/rules/RuleSetCompiler.js +27 -46
  512. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
  513. package/lib/runtime/AsyncModuleRuntimeModule.js +7 -4
  514. package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
  515. package/lib/runtime/BaseUriRuntimeModule.js +3 -3
  516. package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
  517. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
  518. package/lib/runtime/CompatRuntimeModule.js +4 -4
  519. package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
  520. package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
  521. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  522. package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
  523. package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
  524. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
  525. package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
  526. package/lib/runtime/GetChunkFilenameRuntimeModule.js +6 -6
  527. package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
  528. package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
  529. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
  530. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
  531. package/lib/runtime/GlobalRuntimeModule.js +3 -3
  532. package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
  533. package/lib/runtime/HelperRuntimeModule.js +16 -1
  534. package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
  535. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
  536. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
  537. package/lib/runtime/NonceRuntimeModule.js +2 -2
  538. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  539. package/lib/runtime/PublicPathRuntimeModule.js +2 -2
  540. package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
  541. package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +18 -1
  542. package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
  543. package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
  544. package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -50
  545. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
  546. package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
  547. package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
  548. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
  549. package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
  550. package/lib/runtime/SystemContextRuntimeModule.js +2 -2
  551. package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
  552. package/lib/runtime/WorkerRuntimeModule.js +1 -1
  553. package/lib/runtime/baseUri.js +1 -1
  554. package/lib/schemes/DataUriPlugin.js +1 -1
  555. package/lib/schemes/HttpUriPlugin.js +67 -11
  556. package/lib/schemes/VirtualUrlPlugin.js +50 -16
  557. package/lib/serialization/AggregateErrorSerializer.js +2 -2
  558. package/lib/serialization/FileMiddleware.js +3 -3
  559. package/lib/serialization/ObjectMiddleware.js +47 -16
  560. package/lib/serialization/SerializerMiddleware.js +2 -2
  561. package/lib/serialization/SingleItemMiddleware.js +4 -2
  562. package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
  563. package/lib/sharing/ConsumeSharedModule.js +18 -14
  564. package/lib/sharing/ConsumeSharedPlugin.js +148 -42
  565. package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
  566. package/lib/sharing/ProvideForSharedDependency.js +9 -1
  567. package/lib/sharing/ProvideSharedDependency.js +1 -1
  568. package/lib/sharing/ProvideSharedModule.js +11 -9
  569. package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
  570. package/lib/sharing/ProvideSharedPlugin.js +111 -20
  571. package/lib/sharing/SharePlugin.js +102 -9
  572. package/lib/sharing/ShareRuntimeModule.js +6 -6
  573. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  574. package/lib/{util → sharing}/semver.js +14 -16
  575. package/lib/sharing/utils.js +59 -2
  576. package/lib/stats/DefaultStatsFactoryPlugin.js +22 -19
  577. package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
  578. package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
  579. package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
  580. package/lib/{Stats.js → stats/Stats.js} +4 -4
  581. package/lib/stats/StatsFactory.js +14 -13
  582. package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
  583. package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
  584. package/lib/template/DependencyTemplate.js +77 -0
  585. package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
  586. package/lib/template/InitFragment.js +223 -0
  587. package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
  588. package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
  589. package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
  590. package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +145 -63
  591. package/lib/{Template.js → template/Template.js} +13 -11
  592. package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
  593. package/lib/typescript/TypeScriptPlugin.js +3 -3
  594. package/lib/util/RequestShortener.js +44 -0
  595. package/lib/util/SortableSet.js +87 -22
  596. package/lib/util/SourceProcessor.js +349 -44
  597. package/lib/util/TupleSet.js +27 -27
  598. package/lib/util/WeakTupleMap.js +10 -12
  599. package/lib/util/buildDiagnostics.js +2 -2
  600. package/lib/util/comparators.js +10 -10
  601. package/lib/util/concatenate.js +28 -147
  602. package/lib/util/createMappings.js +111 -0
  603. package/lib/util/dataURL.js +94 -15
  604. package/lib/util/deprecation.js +1 -1
  605. package/lib/util/extractComments.js +118 -0
  606. package/lib/util/formatLocation.js +1 -1
  607. package/lib/util/globUtils.js +197 -16
  608. package/lib/util/haltVisitors.js +51 -0
  609. package/lib/util/handlerKeys.js +2 -2
  610. package/lib/util/identifier.js +117 -1
  611. package/lib/util/implicitTypeLoaderFallback.js +6 -4
  612. package/lib/util/internalSerializables.js +294 -102
  613. package/lib/util/magicComment.js +12 -7
  614. package/lib/util/makeSerializable.js +23 -4
  615. package/lib/util/parseJson.js +1 -1
  616. package/lib/util/preloadModuleType.js +5 -2
  617. package/lib/util/registerExternalSerializer.js +2 -2
  618. package/lib/util/removeBOM.js +1 -1
  619. package/lib/util/runtime.js +1 -1
  620. package/lib/util/serialization.js +4 -1
  621. package/lib/util/source.js +2 -2
  622. package/lib/util/terminalColors.js +161 -0
  623. package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
  624. package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
  625. package/lib/{wasm-async → wasm}/AsyncWasmModule.js +9 -5
  626. package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +5 -5
  627. package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +11 -10
  628. package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
  629. package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
  630. package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
  631. package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
  632. package/lib/wasm/wasmModuleFilename.js +2 -2
  633. package/lib/wasm-sync/SyncWasmModule.js +3 -3
  634. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
  635. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
  636. package/lib/wasm-sync/WebAssemblyGenerator.js +9 -8
  637. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +14 -15
  638. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
  639. package/lib/wasm-sync/WebAssemblyParser.js +6 -6
  640. package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
  641. package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
  642. package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
  643. package/lib/{Watching.js → watch/Watching.js} +8 -8
  644. package/lib/web/FetchCompileAsyncWasmPlugin.js +8 -6
  645. package/lib/web/FetchCompileWasmPlugin.js +6 -4
  646. package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
  647. package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
  648. package/lib/web/JsonpTemplatePlugin.js +1 -1
  649. package/lib/webpack.js +27 -17
  650. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
  651. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
  652. package/package.json +48 -41
  653. package/schemas/WebpackOptions.check.js +2 -1
  654. package/schemas/WebpackOptions.d.json.ts +2 -0
  655. package/schemas/WebpackOptions.json +294 -74
  656. package/schemas/plugins/BannerPlugin.check.js +2 -1
  657. package/schemas/plugins/BannerPlugin.json +29 -2
  658. package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
  659. package/schemas/plugins/HtmlParserOptions.check.js +2 -1
  660. package/schemas/plugins/IgnorePlugin.check.js +1 -0
  661. package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
  662. package/schemas/plugins/IgnorePlugin.json +1 -1
  663. package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
  664. package/schemas/plugins/ManifestPlugin.check.js +1 -0
  665. package/schemas/plugins/ManifestPlugin.json +3 -3
  666. package/schemas/plugins/ProgressPlugin.check.js +2 -1
  667. package/schemas/plugins/ProgressPlugin.json +2 -7
  668. package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
  669. package/schemas/plugins/SSRManifestPlugin.json +20 -0
  670. package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
  671. package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
  672. package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
  673. package/schemas/plugins/WatchIgnorePlugin.json +12 -3
  674. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
  675. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
  676. package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
  677. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
  678. package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
  679. package/schemas/plugins/container/ContainerPlugin.json +8 -0
  680. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
  681. package/schemas/plugins/container/ExternalsType.check.js +1 -0
  682. package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
  683. package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
  684. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
  685. package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
  686. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
  687. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
  688. package/schemas/plugins/css/CssParserOptions.check.js +1 -0
  689. package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
  690. package/schemas/plugins/dll/DllPlugin.check.js +1 -0
  691. package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
  692. package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
  693. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
  694. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
  695. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
  696. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
  697. package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
  698. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
  699. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
  700. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
  701. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
  702. package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
  703. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
  704. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
  705. package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
  706. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
  707. package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
  708. package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
  709. package/schemas/plugins/sharing/SharePlugin.json +32 -0
  710. package/types.d.ts +19355 -13873
  711. package/lib/LazyBarrel.js +0 -388
  712. package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
  713. package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
  714. package/lib/javascript/ChunkFormatHelpers.js +0 -72
  715. package/lib/javascript/grammar.js +0 -5546
  716. package/lib/javascript/parser.js +0 -1500
  717. package/lib/javascript/regexpData.js +0 -51
  718. package/lib/performance/getSourceModules.js +0 -22
  719. package/lib/util/Semaphore.js +0 -65
  720. package/lib/util/objectToMap.js +0 -15
  721. package/schemas/WebpackOptions.check.d.ts +0 -7
  722. package/schemas/_container.json +0 -155
  723. package/schemas/_sharing.json +0 -118
  724. package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
  725. package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
  726. package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
  727. package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
  728. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
  729. package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
  730. package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
  731. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
  732. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
  733. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
  734. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
  735. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
  736. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
  737. package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
  738. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
  739. package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
  740. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
  741. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
  742. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
  743. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
  744. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
  745. package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
  746. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
  747. package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
  748. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
  749. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
  750. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
  751. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
  752. package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
  753. package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
  754. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
  755. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
  756. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
  757. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
  758. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
  759. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
  760. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
  761. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
  762. package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
  763. /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
  764. /package/lib/{util → css}/conventions.js +0 -0
  765. /package/lib/{util → css}/topologicalSort.js +0 -0
  766. /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
  767. /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
  768. /package/lib/{util → fs}/StackedCacheMap.js +0 -0
  769. /package/lib/{util → javascript}/StackedMap.js +0 -0
  770. /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
  771. /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
  772. /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
  773. /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
  774. /package/lib/{util → optimize}/Queue.js +0 -0
  775. /package/lib/{util → stats}/smartGrouping.js +0 -0
@@ -5,15 +5,18 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const NormalModule = require("../NormalModule");
9
8
  const HotspotsWarning = require("../errors/HotspotsWarning");
10
9
  const { LOADER_TIMING } = require("../loaders/LoaderRunner");
10
+ const NormalModule = require("../module/NormalModule");
11
11
  const { compareStrings } = require("../util/comparators");
12
12
  const { contextify } = require("../util/identifier");
13
13
 
14
14
  /** @typedef {import("tapable").FullTap} FullTap */
15
15
  /** @typedef {import("../../declarations/WebpackOptions").PerformanceOptions} PerformanceOptions */
16
16
  /** @typedef {import("../Compiler")} Compiler */
17
+ /** @typedef {import("../Compilation")} Compilation */
18
+ /** @typedef {import("../module/NormalModuleFactory")} NormalModuleFactory */
19
+ /** @typedef {import("../context/ContextModuleFactory")} ContextModuleFactory */
17
20
  /** @typedef {import("../errors/HotspotsWarning").HookDetails} HookDetails */
18
21
  /** @typedef {import("../errors/HotspotsWarning").HotspotDetails} HotspotDetails */
19
22
 
@@ -159,7 +162,7 @@ class HotspotsPlugin {
159
162
  // The completion callback is the plugin's own code as well, so it
160
163
  // is charged to the plugin rather than to whoever resumed it.
161
164
  return measure(pluginTime, name, hookName, () =>
162
- /** @type {EXPECTED_FUNCTION} */ (fn)(...args, finish)
165
+ fn(...args, finish)
163
166
  );
164
167
  }
165
168
  };
@@ -171,15 +174,12 @@ class HotspotsPlugin {
171
174
  * @param {EXPECTED_ANY[]} args the tap's arguments
172
175
  * @returns {EXPECTED_ANY} whatever the tap returned
173
176
  */
174
- fn: (...args) =>
175
- measure(pluginTime, name, hookName, () =>
176
- /** @type {EXPECTED_FUNCTION} */ (fn)(...args)
177
- )
177
+ fn: (...args) => measure(pluginTime, name, hookName, () => fn(...args))
178
178
  };
179
179
  };
180
180
 
181
181
  /**
182
- * @param {EXPECTED_ANY} instance anything carrying tapable hooks
182
+ * @param {Compiler | Compilation | NormalModuleFactory | ContextModuleFactory} instance anything carrying tapable hooks
183
183
  * @returns {void}
184
184
  */
185
185
  const interceptAll = (instance) => {
@@ -224,12 +224,13 @@ class HotspotsPlugin {
224
224
  NormalModule.getCompilationHooks(compilation).loader.tap(
225
225
  PLUGIN_NAME,
226
226
  (loaderContext) => {
227
- /** @type {EXPECTED_ANY} */
227
+ /** @type {{ [LOADER_TIMING]?: <T>(loader: { path: string }, run: () => T) => T }} */
228
228
  (loaderContext)[LOADER_TIMING] =
229
229
  /**
230
+ * @template T
230
231
  * @param {{ path: string }} loader the loader about to run
231
- * @param {() => EXPECTED_ANY} run its own execution
232
- * @returns {EXPECTED_ANY} whatever it returned
232
+ * @param {() => T} run its own execution
233
+ * @returns {T} whatever it returned
233
234
  */
234
235
  (loader, run) =>
235
236
  measure(
@@ -8,11 +8,10 @@
8
8
  const LargeModulesWarning = require("../errors/LargeModulesWarning");
9
9
  const { compareStrings } = require("../util/comparators");
10
10
  const getModuleSize = require("./getModuleSize");
11
- const getSourceModules = require("./getSourceModules");
12
11
 
13
12
  /** @typedef {import("../../declarations/WebpackOptions").PerformanceOptions} PerformanceOptions */
14
13
  /** @typedef {import("../Compiler")} Compiler */
15
- /** @typedef {import("../Module")} Module */
14
+ /** @typedef {import("../module/Module")} Module */
16
15
  /** @typedef {import("../errors/LargeModulesWarning").LargeModuleDetails} LargeModuleDetails */
17
16
 
18
17
  const PLUGIN_NAME = "LargeModulesPlugin";
@@ -70,7 +69,7 @@ class LargeModulesPlugin {
70
69
  for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
71
70
  // Through scope hoisting one module stands for the several it
72
71
  // absorbed, and it is those the report has to name.
73
- for (const inner of getSourceModules(module)) {
72
+ for (const inner of module.getSourceModules()) {
74
73
  const size = getModuleSize(inner);
75
74
 
76
75
  sizes.set(inner, (sizes.get(inner) || 0) + size);
@@ -9,7 +9,6 @@ const LegacyJavascriptWarning = require("../errors/LegacyJavascriptWarning");
9
9
  const { compareStrings } = require("../util/comparators");
10
10
  const { WINDOWS_PATH_SEPARATOR_REGEXP } = require("../util/identifier");
11
11
  const getModuleSize = require("./getModuleSize");
12
- const getSourceModules = require("./getSourceModules");
13
12
 
14
13
  /** @import { Environment, PerformanceOptions } from "../../declarations/WebpackOptions" */
15
14
  /** @import Compiler from "../Compiler" */
@@ -88,7 +87,7 @@ class LegacyJavascriptPlugin {
88
87
  let totalSize = 0;
89
88
 
90
89
  for (const module of compilation.modules) {
91
- for (const inner of getSourceModules(module)) {
90
+ for (const inner of module.getSourceModules()) {
92
91
  const resource = inner.nameForCondition();
93
92
 
94
93
  if (!resource) continue;
@@ -5,7 +5,6 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const NormalModule = require("../NormalModule");
9
8
  const MissingSideEffectsWarning = require("../errors/MissingSideEffectsWarning");
10
9
  const { compareStrings } = require("../util/comparators");
11
10
  const getModuleSize = require("./getModuleSize");
@@ -13,7 +12,7 @@ const hasOnlyUnusedExports = require("./hasOnlyUnusedExports");
13
12
 
14
13
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
15
14
  /** @import Compiler from "../Compiler" */
16
- /** @import Module from "../Module" */
15
+ /** @import Module from "../module/Module" */
17
16
  /**
18
17
  * @import {
19
18
  * MissingSideEffectsDetails
@@ -32,7 +31,7 @@ const MAX_REPORTED_PACKAGES = 5;
32
31
  * @returns {string | undefined} the package name, or undefined
33
32
  */
34
33
  const getUndeclaredPackage = (module) => {
35
- if (!(module instanceof NormalModule)) return undefined;
34
+ if (!module.is("normal")) return undefined;
36
35
 
37
36
  const resolveData = module.resourceResolveData;
38
37
  const description = resolveData && resolveData.descriptionFileData;
@@ -6,15 +6,14 @@
6
6
  "use strict";
7
7
 
8
8
  const { SourceMapSource } = require("webpack-sources");
9
- const NormalModule = require("../NormalModule");
10
9
  const MissingSourceMapsWarning = require("../errors/MissingSourceMapsWarning");
11
10
  const { compareStrings } = require("../util/comparators");
12
- const getSourceModules = require("./getSourceModules");
13
11
 
14
12
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
15
13
  /** @import Compiler from "../Compiler" */
16
- /** @import Module from "../Module" */
17
- /** @import RequestShortener from "../RequestShortener" */
14
+ /** @import Module from "../module/Module" */
15
+ /** @import NormalModule from "../module/NormalModule" */
16
+ /** @import RequestShortener from "../util/RequestShortener" */
18
17
  /** @import { MissingSourceMapDetails } from "../errors/MissingSourceMapsWarning" */
19
18
 
20
19
  const PLUGIN_NAME = "MissingSourceMapsPlugin";
@@ -67,12 +66,12 @@ class MissingSourceMapsPlugin {
67
66
  for (const parent of compilation.modules) {
68
67
  // Scope hoisting makes several modules into one, and each of them
69
68
  // kept the source its own loaders produced.
70
- for (const module of getSourceModules(parent)) {
69
+ for (const module of parent.getSourceModules()) {
71
70
  if (seen.has(module)) continue;
72
71
 
73
72
  seen.add(module);
74
73
 
75
- if (!(module instanceof NormalModule)) continue;
74
+ if (!module.is("normal")) continue;
76
75
 
77
76
  // Only where a real map was asked for: the cheap devtools map to
78
77
  // the loader output by design, so nothing is lost there.
@@ -5,12 +5,12 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const PureAnnotationsWarning = require("../errors/PureAnnotationsWarning");
8
9
  const {
9
10
  JAVASCRIPT_MODULE_TYPE_AUTO,
10
11
  JAVASCRIPT_MODULE_TYPE_DYNAMIC,
11
12
  JAVASCRIPT_MODULE_TYPE_ESM
12
- } = require("../ModuleTypeConstants");
13
- const PureAnnotationsWarning = require("../errors/PureAnnotationsWarning");
13
+ } = require("../module/ModuleTypeConstants");
14
14
  const { getBuildDiagnostics } = require("../util/buildDiagnostics");
15
15
  const { compareStrings } = require("../util/comparators");
16
16
  const { CompilerHintNotationRegExp } = require("../util/magicComment");
@@ -18,7 +18,7 @@ const { CompilerHintNotationRegExp } = require("../util/magicComment");
18
18
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
19
19
  /** @import Compiler from "../Compiler" */
20
20
  /** @import { Program } from "estree" */
21
- /** @import { BuildInfo } from "../Module" */
21
+ /** @import { BuildInfo } from "../module/Module" */
22
22
  /** @import JavascriptParser from "../javascript/JavascriptParser" */
23
23
  /** @import { PureAnnotationDetails } from "../errors/PureAnnotationsWarning" */
24
24
 
@@ -5,18 +5,16 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
9
- const Entrypoint = require("../Entrypoint");
10
8
  const RedundantDynamicImportWarning = require("../errors/RedundantDynamicImportWarning");
11
9
  const { compareStrings } = require("../util/comparators");
12
10
  const formatLocation = require("../util/formatLocation");
13
11
 
14
12
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
15
- /** @import Chunk from "../Chunk" */
16
- /** @import ChunkGroup from "../ChunkGroup" */
13
+ /** @import Chunk from "../graph/Chunk" */
14
+ /** @import ChunkGroup from "../graph/ChunkGroup" */
17
15
  /** @import Compiler from "../Compiler" */
18
- /** @import DependenciesBlock from "../DependenciesBlock" */
19
- /** @import Module from "../Module" */
16
+ /** @import DependenciesBlock from "../graph/DependenciesBlock" */
17
+ /** @import Module from "../module/Module" */
20
18
 
21
19
  const PLUGIN_NAME = "RedundantDynamicImportsPlugin";
22
20
 
@@ -70,7 +68,7 @@ class RedundantDynamicImportsPlugin {
70
68
  // An entrypoint is a load path in itself and carries nothing of
71
69
  // what reaches it: an async one — a worker — starts from its own
72
70
  // chunks, however much the module spawning it had loaded.
73
- if (group.isInitial() || group instanceof Entrypoint) {
71
+ if (group.isInitial() || group.isEntrypoint()) {
74
72
  entrypoints.add(group);
75
73
  continue;
76
74
  }
@@ -143,7 +141,7 @@ class RedundantDynamicImportsPlugin {
143
141
  */
144
142
  const walk = (block, importer, contexts) => {
145
143
  for (const nested of block.blocks) {
146
- if (nested instanceof AsyncDependenciesBlock) {
144
+ if (nested.isAsyncBlock()) {
147
145
  for (const dependency of nested.dependencies) {
148
146
  const target = moduleGraph.getModule(dependency);
149
147
 
@@ -15,8 +15,8 @@ const getModuleSize = require("./getModuleSize");
15
15
 
16
16
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
17
17
  /** @import Compiler from "../Compiler" */
18
- /** @import Module from "../Module" */
19
- /** @import RequestShortener from "../RequestShortener" */
18
+ /** @import Module from "../module/Module" */
19
+ /** @import RequestShortener from "../util/RequestShortener" */
20
20
  /**
21
21
  * @import {
22
22
  * ScopeHoistingBailoutGroup
@@ -5,25 +5,24 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const RuntimeGlobals = require("../RuntimeGlobals");
9
- const RuntimeModule = require("../RuntimeModule");
8
+ const AssetsOverSizeLimitWarning = require("../errors/AssetsOverSizeLimitWarning");
9
+ const EntrypointsOverSizeLimitWarning = require("../errors/EntrypointsOverSizeLimitWarning");
10
+ const NoAsyncChunksWarning = require("../errors/NoAsyncChunksWarning");
11
+ const RuntimeInLargeChunkWarning = require("../errors/RuntimeInLargeChunkWarning");
12
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
10
13
  const { find } = require("../util/SetHelpers");
11
14
  const { compareStrings } = require("../util/comparators");
12
- const AssetsOverSizeLimitWarning = require("./AssetsOverSizeLimitWarning");
13
- const EntrypointsOverSizeLimitWarning = require("./EntrypointsOverSizeLimitWarning");
14
- const NoAsyncChunksWarning = require("./NoAsyncChunksWarning");
15
- const RuntimeInLargeChunkWarning = require("./RuntimeInLargeChunkWarning");
16
15
  const getModuleSize = require("./getModuleSize");
17
16
 
18
17
  /** @import { Source } from "webpack-sources" */
19
18
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
20
- /** @import Chunk from "../Chunk" */
21
- /** @import ChunkGraph from "../ChunkGraph" */
22
- /** @import ChunkGroup from "../ChunkGroup" */
19
+ /** @import Chunk from "../graph/Chunk" */
20
+ /** @import ChunkGraph from "../graph/ChunkGraph" */
21
+ /** @import ChunkGroup from "../graph/ChunkGroup" */
23
22
  /** @import Compilation, { Asset } from "../Compilation" */
24
23
  /** @import Compiler from "../Compiler" */
25
- /** @import Module from "../Module" */
26
- /** @import Entrypoint from "../Entrypoint" */
24
+ /** @import Module from "../module/Module" */
25
+ /** @import Entrypoint from "../graph/Entrypoint" */
27
26
  /** @import WebpackError from "../errors/WebpackError" */
28
27
 
29
28
  /**
@@ -82,7 +81,7 @@ const hasEmbeddedRuntime = (chunkGraph, entrypoint) => {
82
81
  // module beats counting, which depends on runtime modules being counted twice.
83
82
  let carriesCode = false;
84
83
  for (const module of chunkGraph.getChunkModulesIterable(runtimeChunk)) {
85
- if (!(module instanceof RuntimeModule)) {
84
+ if (!module.is("runtime")) {
86
85
  carriesCode = true;
87
86
  break;
88
87
  }
@@ -5,20 +5,19 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const TopLevelThisWarning = require("../errors/TopLevelThisWarning");
8
9
  const {
9
10
  JAVASCRIPT_MODULE_TYPE_AUTO,
10
11
  JAVASCRIPT_MODULE_TYPE_DYNAMIC,
11
12
  JAVASCRIPT_MODULE_TYPE_ESM
12
- } = require("../ModuleTypeConstants");
13
- const TopLevelThisWarning = require("../errors/TopLevelThisWarning");
13
+ } = require("../module/ModuleTypeConstants");
14
14
  const { getBuildDiagnostics } = require("../util/buildDiagnostics");
15
15
  const { compareStrings } = require("../util/comparators");
16
- const getSourceModules = require("./getSourceModules");
17
16
 
18
- /** @import { Program } from "estree" */
17
+ /** @import { Expression, PrivateIdentifier, Program } from "estree" */
19
18
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
20
19
  /** @import Compiler from "../Compiler" */
21
- /** @import Module, { BuildInfo } from "../Module" */
20
+ /** @import Module, { BuildInfo } from "../module/Module" */
22
21
  /** @import JavascriptParser from "../javascript/JavascriptParser" */
23
22
  /** @import { TopLevelThisDetails } from "../errors/TopLevelThisWarning" */
24
23
 
@@ -71,7 +70,9 @@ const countTopLevelThis = (ast) => {
71
70
  if (CLASS_TYPES.has(type)) {
72
71
  queue.push(fields.superClass);
73
72
 
74
- const body = /** @type {EXPECTED_ANY} */ (fields.body);
73
+ const body =
74
+ /** @type {{ body: { computed?: boolean, key?: Expression | PrivateIdentifier }[] } | null | undefined} */
75
+ (fields.body);
75
76
 
76
77
  for (const element of (body && body.body) || []) {
77
78
  if (element.computed) queue.push(element.key);
@@ -162,7 +163,7 @@ class TopLevelThisPlugin {
162
163
  for (const parent of compilation.modules) {
163
164
  // Scope hoisting makes several modules into one, and the evidence
164
165
  // sits on the ones that were parsed.
165
- for (const module of getSourceModules(parent)) {
166
+ for (const module of parent.getSourceModules()) {
166
167
  if (seen.has(module)) continue;
167
168
 
168
169
  seen.add(module);
@@ -9,7 +9,6 @@ const UnsplitVendorsWarning = require("../errors/UnsplitVendorsWarning");
9
9
  const { compareStrings } = require("../util/comparators");
10
10
  const { NODE_MODULES_REGEXP } = require("../util/identifier");
11
11
  const getModuleSize = require("./getModuleSize");
12
- const getSourceModules = require("./getSourceModules");
13
12
 
14
13
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
15
14
  /** @import Compiler from "../Compiler" */
@@ -60,7 +59,7 @@ class UnsplitVendorsPlugin {
60
59
  let applicationModules = 0;
61
60
 
62
61
  for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
63
- for (const inner of getSourceModules(module)) {
62
+ for (const inner of module.getSourceModules()) {
64
63
  const resource = inner.nameForCondition();
65
64
 
66
65
  // A module with no resource is webpack's own (a runtime module),
@@ -6,20 +6,19 @@
6
6
  "use strict";
7
7
 
8
8
  const UnusedAliasesWarning = require("../errors/UnusedAliasesWarning");
9
- const { join } = require("../util/fs");
9
+ const { join } = require("../fs/fs");
10
10
  const {
11
11
  ABSOLUTE_PATH_REGEXP,
12
12
  WINDOWS_PATH_SEPARATOR_REGEXP
13
13
  } = require("../util/identifier");
14
14
  const matchAlias = require("../util/matchAlias");
15
- const getSourceModules = require("./getSourceModules");
16
15
 
17
16
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
18
17
  /** @import Compiler from "../Compiler" */
19
- /** @import Dependency from "../Dependency" */
20
- /** @import DependenciesBlock from "../DependenciesBlock" */
21
- /** @import { ContextDependencyOptions } from "../dependencies/ContextDependency" */
22
- /** @import Module from "../Module" */
18
+ /** @import Dependency from "../graph/Dependency" */
19
+ /** @import DependenciesBlock from "../graph/DependenciesBlock" */
20
+ /** @import { ContextDependencyOptions } from "../dependencies/context/ContextDependency" */
21
+ /** @import Module from "../module/Module" */
23
22
 
24
23
  /**
25
24
  * One `resolve.alias` entry, prepared for repeated matching.
@@ -159,7 +158,7 @@ class UnusedAliasesPlugin {
159
158
  for (const module of compilation.modules) {
160
159
  if (unused === 0) break;
161
160
 
162
- for (const sourceModule of getSourceModules(module)) {
161
+ for (const sourceModule of module.getSourceModules()) {
163
162
  const rawRequest =
164
163
  /** @type {Module & { rawRequest?: string }} */
165
164
  (sourceModule).rawRequest;
@@ -5,10 +5,9 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { ASSET_TYPE } = require("../ModuleSourceTypeConstants");
9
- const HarmonyImportBareSideEffectDependency = require("../dependencies/HarmonyImportBareSideEffectDependency");
10
- const HarmonyImportSideEffectDependency = require("../dependencies/HarmonyImportSideEffectDependency");
11
8
  const UnusedAssetsWarning = require("../errors/UnusedAssetsWarning");
9
+ const isDependencyKind = require("../graph/isDependencyKind");
10
+ const { ASSET_TYPE } = require("../module/ModuleSourceTypeConstants");
12
11
  const { compareStrings } = require("../util/comparators");
13
12
  const getModuleSize = require("./getModuleSize");
14
13
 
@@ -63,8 +62,9 @@ class UnusedAssetsPlugin {
63
62
  // Anything else — a `url()`, a `new URL()`, an html `src` — reads
64
63
  // the file, and a bare import asks for it on purpose.
65
64
  if (
66
- !(dependency instanceof HarmonyImportSideEffectDependency) ||
67
- dependency instanceof HarmonyImportBareSideEffectDependency
65
+ dependency === null ||
66
+ !isDependencyKind(dependency, "esm-side-effect-import") ||
67
+ isDependencyKind(dependency, "esm-bare-side-effect-import")
68
68
  ) {
69
69
  onlyUnread = false;
70
70
  break;
@@ -5,12 +5,12 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { VALUE_DEP_PREFIX, getDeclaredKeys } = require("../DefinePlugin");
8
+ const { VALUE_DEP_PREFIX, getDeclaredKeys } = require("../define/DefinePlugin");
9
9
  const UnusedDefinesWarning = require("../errors/UnusedDefinesWarning");
10
10
 
11
11
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
12
12
  /** @import Compiler from "../Compiler" */
13
- /** @import { NormalModuleBuildInfo } from "../NormalModule" */
13
+ /** @import { NormalModuleBuildInfo } from "../module/NormalModule" */
14
14
 
15
15
  const PLUGIN_NAME = "UnusedDefinesPlugin";
16
16
 
@@ -5,11 +5,10 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const ExternalModule = require("../ExternalModule");
8
+ const UnusedExternalsWarning = require("../errors/UnusedExternalsWarning");
9
9
  const {
10
10
  getAlternateCoreModuleRequest
11
- } = require("../ExternalModuleFactoryPlugin");
12
- const UnusedExternalsWarning = require("../errors/UnusedExternalsWarning");
11
+ } = require("../externals/ExternalModuleFactoryPlugin");
13
12
 
14
13
  /**
15
14
  * @import {
@@ -74,7 +73,7 @@ class UnusedExternalsPlugin {
74
73
  if (compilation.modules.size === 0) return;
75
74
 
76
75
  for (const module of compilation.modules) {
77
- if (module instanceof ExternalModule) {
76
+ if (module.is("external")) {
78
77
  // The request as written, not what it was rewritten to.
79
78
  declared.delete(module.userRequest);
80
79
 
@@ -5,10 +5,8 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const RemoteModule = require("../container/RemoteModule");
9
8
  const { getDeclaredRemotes } = require("../container/declaredRemotes");
10
9
  const UnusedFederationWarning = require("../errors/UnusedFederationWarning");
11
- const ConsumeSharedModule = require("../sharing/ConsumeSharedModule");
12
10
  const { getDeclaredShared } = require("../sharing/declaredShared");
13
11
  const { compareStrings } = require("../util/comparators");
14
12
 
@@ -80,9 +78,9 @@ class UnusedFederationPlugin {
80
78
  const remoteRequests = new Set();
81
79
 
82
80
  for (const module of compilation.modules) {
83
- if (module instanceof ConsumeSharedModule) {
81
+ if (module.is("consume-shared")) {
84
82
  usedShared.add(module.options.shareKey);
85
- } else if (module instanceof RemoteModule) {
83
+ } else if (module.is("remote")) {
86
84
  remoteRequests.add(module.request);
87
85
  }
88
86
  }
@@ -5,8 +5,8 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const HarmonyImportBareSideEffectDependency = require("../dependencies/HarmonyImportBareSideEffectDependency");
9
8
  const UnusedModulesWarning = require("../errors/UnusedModulesWarning");
9
+ const isDependencyKind = require("../graph/isDependencyKind");
10
10
  const { compareStrings } = require("../util/comparators");
11
11
  const getModuleSize = require("./getModuleSize");
12
12
  const hasOnlyUnusedExports = require("./hasOnlyUnusedExports");
@@ -14,8 +14,8 @@ const isOnlyReexported = require("./isOnlyReexported");
14
14
 
15
15
  /** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
16
16
  /** @import Compiler from "../Compiler" */
17
- /** @import Module, { BuildInfo } from "../Module" */
18
- /** @import ModuleGraph from "../ModuleGraph" */
17
+ /** @import Module, { BuildInfo } from "../module/Module" */
18
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
19
19
  /** @import { UnusedModuleDetails } from "../errors/UnusedModulesWarning" */
20
20
 
21
21
  const PLUGIN_NAME = "UnusedModulesPlugin";
@@ -34,7 +34,8 @@ const MAX_REPORTED_MODULES = 5;
34
34
  const everyImportBinds = (module, moduleGraph) => {
35
35
  for (const connection of moduleGraph.getIncomingConnections(module)) {
36
36
  if (
37
- connection.dependency instanceof HarmonyImportBareSideEffectDependency
37
+ connection.dependency !== null &&
38
+ isDependencyKind(connection.dependency, "esm-bare-side-effect-import")
38
39
  ) {
39
40
  return false;
40
41
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- /** @import Module from "../Module" */
8
+ /** @import Module from "../module/Module" */
9
9
 
10
10
  /**
11
11
  * Asks the module for its own source types rather than assuming javascript, so
@@ -5,11 +5,11 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { UsageState } = require("../ExportsInfo");
8
+ const { UsageState } = require("../graph/ExportsInfo");
9
9
 
10
- /** @import ChunkGraph from "../ChunkGraph" */
11
- /** @import Module from "../Module" */
12
- /** @import ModuleGraph from "../ModuleGraph" */
10
+ /** @import ChunkGraph from "../graph/ChunkGraph" */
11
+ /** @import Module from "../module/Module" */
12
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
13
13
 
14
14
  /**
15
15
  * Tells whether a module provides exports and no runtime uses any of them.
@@ -5,11 +5,10 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const HarmonyExportImportedSpecifierDependency = require("../dependencies/HarmonyExportImportedSpecifierDependency");
9
- const HarmonyImportDependency = require("../dependencies/HarmonyImportDependency");
8
+ const isDependencyKind = require("../graph/isDependencyKind");
10
9
 
11
- /** @import Module from "../Module" */
12
- /** @import ModuleGraph from "../ModuleGraph" */
10
+ /** @import Module from "../module/Module" */
11
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
13
12
 
14
13
  /**
15
14
  * Tells whether every module pulling this one in does so by re-exporting it.
@@ -36,9 +35,11 @@ const isOnlyReexported = (module, moduleGraph) => {
36
35
  const dependency = connection.dependency;
37
36
 
38
37
  // Only an ESM import statement can carry a re-export.
39
- if (!(dependency instanceof HarmonyImportDependency)) return false;
38
+ if (dependency === null || !isDependencyKind(dependency, "esm-import")) {
39
+ return false;
40
+ }
40
41
 
41
- if (dependency instanceof HarmonyExportImportedSpecifierDependency) {
42
+ if (isDependencyKind(dependency, "esm-reexport")) {
42
43
  const statements = reexportedStatements.get(origin);
43
44
 
44
45
  if (statements === undefined) {
@@ -5,11 +5,10 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const NormalModule = require("./NormalModule");
9
- const PrefetchDependency = require("./dependencies/PrefetchDependency");
10
- const asyncLib = require("./util/async");
8
+ const asyncLib = require("../util/async");
9
+ const PrefetchDependency = require("./PrefetchDependency");
11
10
 
12
- /** @import Compiler from "./Compiler" */
11
+ /** @import Compiler from "../Compiler" */
13
12
 
14
13
  const PLUGIN_NAME = "AutomaticPrefetchPlugin";
15
14
 
@@ -40,7 +39,7 @@ class AutomaticPrefetchPlugin {
40
39
  lastModules = [];
41
40
 
42
41
  for (const m of compilation.modules) {
43
- if (m instanceof NormalModule) {
42
+ if (m.is("normal")) {
44
43
  lastModules.push({
45
44
  context: m.context,
46
45
  request: m.request
@@ -4,8 +4,8 @@
4
4
 
5
5
  "use strict";
6
6
 
7
- const RuntimeModule = require("../RuntimeModule");
8
- const Template = require("../Template");
7
+ const RuntimeModule = require("../runtime/RuntimeModule");
8
+ const Template = require("../template/Template");
9
9
  const { getOnlyHandlerKey } = require("../util/handlerKeys");
10
10
  const { propertyAccess } = require("../util/property");
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const RuntimeGlobals = require("../RuntimeGlobals");
8
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
9
9
  const lazyModule = require("../util/lazyModule");
10
10
 
11
11
  /** @import Compiler from "../Compiler" */
@@ -4,11 +4,11 @@
4
4
 
5
5
  "use strict";
6
6
 
7
- const RuntimeGlobals = require("../RuntimeGlobals");
8
- const RuntimeModule = require("../RuntimeModule");
9
- const Template = require("../Template");
7
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
8
+ const RuntimeModule = require("../runtime/RuntimeModule");
9
+ const Template = require("../template/Template");
10
10
 
11
- /** @import Chunk, { ChunkChildOfTypeInOrder } from "../Chunk" */
11
+ /** @import Chunk, { ChunkChildOfTypeInOrder } from "../graph/Chunk" */
12
12
  /** @import Compilation from "../Compilation" */
13
13
 
14
14
  class ChunkPrefetchStartupRuntimeModule extends RuntimeModule {