webpack 5.111.1 → 5.112.1

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 (793) hide show
  1. package/README.md +1 -1
  2. package/bin/webpack.js +13 -7
  3. package/lib/Chunk.js +3 -966
  4. package/lib/Compilation.js +373 -163
  5. package/lib/Compiler.js +31 -44
  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 +21 -13
  25. package/lib/asset/AssetBytesParser.js +12 -10
  26. package/lib/asset/AssetGenerator.js +71 -69
  27. package/lib/asset/AssetModule.js +13 -2
  28. package/lib/asset/AssetModulesPlugin.js +10 -12
  29. package/lib/asset/AssetParser.js +10 -10
  30. package/lib/asset/AssetSourceGenerator.js +23 -15
  31. package/lib/asset/AssetSourceParser.js +12 -10
  32. package/lib/asset/RawDataUrlModule.js +17 -10
  33. package/lib/asset/WebManifestGenerator.js +17 -12
  34. package/lib/asset/WebManifestParser.js +8 -8
  35. package/lib/async-modules/AsyncModuleHelpers.js +12 -5
  36. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
  37. package/lib/async-modules/InferAsyncModulesPlugin.js +9 -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} +6 -6
  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 +13 -19
  47. package/lib/cache/ResolverCachePlugin.js +65 -11
  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} +209 -212
  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} +14 -164
  55. package/lib/config/defaults.js +166 -59
  56. package/lib/config/getClaimedAssetTypes.js +22 -14
  57. package/lib/config/normalization.js +18 -7
  58. package/lib/config/target.js +11 -1
  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 +37 -26
  76. package/lib/context/ContextModuleFactory.js +14 -11
  77. package/lib/context/ContextReplacementPlugin.js +6 -12
  78. package/lib/css/CssGenerator.js +78 -68
  79. package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
  80. package/lib/css/CssLoadingRuntimeModule.js +77 -44
  81. package/lib/css/CssModule.js +37 -29
  82. package/lib/css/CssModulesPlugin.js +129 -45
  83. package/lib/css/CssParser.js +714 -322
  84. package/lib/css/CssServerStylesRuntimeModule.js +3 -3
  85. package/lib/{util → css}/conventions.js +1 -1
  86. package/lib/css/cssMinify.js +110 -37
  87. package/lib/css/data.js +6990 -5125
  88. package/lib/css/syntax-parser.js +20734 -0
  89. package/lib/css/syntax-printer.js +6092 -0
  90. package/lib/css/syntax.js +37 -18686
  91. package/lib/debug/ProfilingPlugin.js +106 -51
  92. package/lib/{DefinePlugin.js → define/DefinePlugin.js} +416 -55
  93. package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +19 -15
  94. package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +6 -4
  95. package/lib/deno/DenoTargetPlugin.js +1 -1
  96. package/lib/dependencies/ConstDependency.js +3 -120
  97. package/lib/dependencies/ContextElementDependency.js +5 -172
  98. package/lib/dependencies/NullDependency.js +3 -37
  99. package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
  100. package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -11
  101. package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
  102. package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
  103. package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
  104. package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
  105. package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +14 -11
  106. package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
  107. package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
  108. package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
  109. package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
  110. package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
  111. package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
  112. package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
  113. package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
  114. package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
  115. package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -36
  116. package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
  117. package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +154 -92
  118. package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
  119. package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +36 -33
  120. package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +17 -16
  121. package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +48 -39
  122. package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
  123. package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
  124. package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
  125. package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
  126. package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
  127. package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +9 -6
  128. package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
  129. package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
  130. package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
  131. package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
  132. package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
  133. package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
  134. package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
  135. package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
  136. package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
  137. package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
  138. package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
  139. package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
  140. package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
  141. package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
  142. package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
  143. package/lib/dependencies/context/ContextElementDependency.js +198 -0
  144. package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
  145. package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +10 -11
  146. package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
  147. package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
  148. package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +7 -10
  149. package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +17 -19
  150. package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
  151. package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
  152. package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
  153. package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +21 -17
  154. package/lib/dependencies/core/ConstDependency.js +131 -0
  155. package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
  156. package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
  157. package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
  158. package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
  159. package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
  160. package/lib/dependencies/core/NullDependency.js +44 -0
  161. package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
  162. package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
  163. package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -99
  164. package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +24 -19
  165. package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
  166. package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
  167. package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +25 -22
  168. package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
  169. package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
  170. package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
  171. package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
  172. package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +20 -20
  173. package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
  174. package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
  175. package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
  176. package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
  177. package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
  178. package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +146 -133
  179. package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
  180. package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +78 -37
  181. package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -12
  182. package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
  183. package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +86 -68
  184. package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +104 -100
  185. package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +36 -51
  186. package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
  187. package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +98 -60
  188. package/lib/dependencies/esm/ESMLiveExportDependency.js +311 -0
  189. package/lib/dependencies/esm/ESMLiveExportParserPlugin.js +862 -0
  190. package/lib/dependencies/esm/ESMModulesPlugin.js +205 -0
  191. package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
  192. package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -18
  193. package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +5 -7
  194. package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
  195. package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
  196. package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
  197. package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
  198. package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
  199. package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
  200. package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
  201. package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +52 -151
  202. package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -15
  203. package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -23
  204. package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -18
  205. package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
  206. package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
  207. package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
  208. package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
  209. package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +22 -25
  210. package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
  211. package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
  212. package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
  213. package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
  214. package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
  215. package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +122 -103
  216. package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
  217. package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
  218. package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
  219. package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
  220. package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
  221. package/lib/{url → dependencies/url}/URLParserPlugin.js +17 -19
  222. package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
  223. package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
  224. package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
  225. package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
  226. package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +82 -53
  227. package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
  228. package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
  229. package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
  230. package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
  231. package/lib/devtool/ModuleFilenameHelpers.js +413 -0
  232. package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
  233. package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +155 -27
  234. package/lib/{util → devtool}/generateDebugId.js +1 -1
  235. package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
  236. package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
  237. package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
  238. package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
  239. package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
  240. package/lib/dll/DelegatedModule.js +23 -21
  241. package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
  242. package/lib/dll/DelegatedPlugin.js +1 -1
  243. package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
  244. package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
  245. package/lib/dll/DllEntryPlugin.js +3 -3
  246. package/lib/dll/DllModule.js +14 -10
  247. package/lib/dll/DllModuleFactory.js +3 -3
  248. package/lib/dll/DllPlugin.js +18 -6
  249. package/lib/dll/DllReferencePlugin.js +103 -30
  250. package/lib/dll/LibManifestPlugin.js +9 -7
  251. package/lib/electron/ElectronTargetPlugin.js +2 -2
  252. package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
  253. package/lib/{dependencies → entry}/EntryDependency.js +11 -2
  254. package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
  255. package/lib/entry/EntryPlugin.js +75 -0
  256. package/lib/errors/AbstractMethodError.js +1 -1
  257. package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
  258. package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
  259. package/lib/errors/BuildCycleError.js +1 -1
  260. package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
  261. package/lib/errors/ChunkRenderError.js +1 -1
  262. package/lib/errors/CodeGenerationError.js +1 -1
  263. package/lib/errors/CommentCompilationWarning.js +1 -1
  264. package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
  265. package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
  266. package/lib/errors/DeprecatedOptionWarning.js +30 -0
  267. package/lib/errors/DllManifestError.js +26 -0
  268. package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
  269. package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
  270. package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
  271. package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
  272. package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +9 -6
  273. package/lib/errors/ExternalStarReexportError.js +2 -2
  274. package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
  275. package/lib/errors/HookWebpackError.js +6 -5
  276. package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
  277. package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
  278. package/lib/errors/JSONParseError.js +4 -4
  279. package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
  280. package/lib/errors/ModuleBuildError.js +1 -1
  281. package/lib/errors/ModuleDependencyError.js +2 -2
  282. package/lib/errors/ModuleDependencyWarning.js +2 -2
  283. package/lib/errors/ModuleError.js +1 -1
  284. package/lib/errors/ModuleHashingError.js +1 -1
  285. package/lib/errors/ModuleNotFoundError.js +3 -3
  286. package/lib/errors/ModuleParseError.js +1 -1
  287. package/lib/errors/ModuleRestoreError.js +1 -1
  288. package/lib/errors/ModuleStoreError.js +1 -1
  289. package/lib/errors/ModuleWarning.js +1 -1
  290. package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
  291. package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
  292. package/lib/errors/NodeStuffInWebError.js +7 -2
  293. package/lib/errors/PathVariableError.js +31 -0
  294. package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
  295. package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
  296. package/lib/errors/RuntimeModuleGenerationError.js +51 -0
  297. package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
  298. package/lib/errors/SystemImportDeprecationWarning.js +43 -0
  299. package/lib/errors/UnmergeableEntryExportsError.js +34 -0
  300. package/lib/errors/UnsupportedFeatureWarning.js +1 -1
  301. package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
  302. package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
  303. package/lib/errors/WebpackError.js +13 -3
  304. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
  305. package/lib/esm/ModuleChunkFormatPlugin.js +55 -20
  306. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
  307. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
  308. package/lib/{ExternalModule.js → externals/ExternalModule.js} +90 -63
  309. package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +42 -41
  310. package/lib/externals/ExternalsPlugin.js +99 -0
  311. package/lib/fs/FileSystemInfo.js +4642 -0
  312. package/lib/{util → fs}/fs.js +22 -9
  313. package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
  314. package/lib/graph/Chunk.js +985 -0
  315. package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +192 -80
  316. package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
  317. package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
  318. package/lib/graph/Dependency.js +634 -0
  319. package/lib/graph/Entrypoint.js +136 -0
  320. package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +131 -83
  321. package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
  322. package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +44 -33
  323. package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
  324. package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +169 -76
  325. package/lib/{util → graph}/findGraphRoots.js +15 -9
  326. package/lib/graph/isDependencyKind.js +23 -0
  327. package/lib/hmr/HotModuleReplacement.runtime.js +12 -11
  328. package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +51 -57
  329. package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
  330. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +25 -26
  331. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
  332. package/lib/hmr/LazyCompilationPlugin.js +32 -28
  333. package/lib/html/HtmlGenerator.js +132 -60
  334. package/lib/html/HtmlModule.js +16 -2
  335. package/lib/html/HtmlModulesPlugin.js +184 -87
  336. package/lib/html/HtmlParser.js +511 -160
  337. package/lib/html/builtinEmbeddedRenderer.js +70 -25
  338. package/lib/html/data.js +44 -22
  339. package/lib/html/htmlMinify.js +114 -41
  340. package/lib/html/syntax-parser.js +15795 -0
  341. package/lib/html/syntax-printer.js +1033 -0
  342. package/lib/html/syntax.js +37 -13952
  343. package/lib/html/xmlMinify.js +70 -0
  344. package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
  345. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  346. package/lib/ids/HashedModuleIdsPlugin.js +32 -5
  347. package/lib/ids/IdHelpers.js +4 -4
  348. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  349. package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
  350. package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
  351. package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
  352. package/lib/ids/SyncModuleIdsPlugin.js +3 -3
  353. package/lib/{util → ids}/numberHash.js +1 -1
  354. package/lib/index.js +312 -105
  355. package/lib/{APIPlugin.js → javascript/APIPlugin.js} +31 -37
  356. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
  357. package/lib/javascript/BasicEvaluatedExpression.js +9 -9
  358. package/lib/javascript/ChunkHelpers.js +64 -4
  359. package/lib/javascript/CommonJsChunkFormatPlugin.js +5 -13
  360. package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
  361. package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +75 -8
  362. package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
  363. package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
  364. package/lib/javascript/JavascriptGenerator.js +32 -27
  365. package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +8 -20
  366. package/lib/javascript/JavascriptModule.js +14 -3
  367. package/lib/javascript/JavascriptModulesPlugin.js +441 -214
  368. package/lib/javascript/JavascriptParser.js +318 -144
  369. package/lib/javascript/JavascriptParserHelpers.js +1 -1
  370. package/lib/javascript/MergedEntryExports.js +196 -0
  371. package/lib/javascript/ScopeAnalyzer.js +3924 -13
  372. package/lib/javascript/StartupHelpers.js +6 -6
  373. package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +13 -19
  374. package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
  375. package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
  376. package/lib/javascript/data.js +533 -122
  377. package/lib/javascript/jsMinify.js +272 -0
  378. package/lib/javascript/regexp.js +67 -32
  379. package/lib/javascript/syntax-parser.js +19169 -0
  380. package/lib/javascript/syntax-printer-data.js +1099 -0
  381. package/lib/javascript/syntax-printer.js +53878 -0
  382. package/lib/javascript/syntax.js +20 -11274
  383. package/lib/json/JsonData.js +1 -1
  384. package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
  385. package/lib/json/JsonGenerator.js +24 -16
  386. package/lib/json/JsonModule.js +13 -2
  387. package/lib/json/JsonModulesPlugin.js +1 -1
  388. package/lib/json/JsonParser.js +11 -10
  389. package/lib/json/jsonMinify.js +69 -0
  390. package/lib/library/AbstractLibraryPlugin.js +28 -15
  391. package/lib/library/AmdLibraryPlugin.js +4 -4
  392. package/lib/library/AssignLibraryPlugin.js +28 -12
  393. package/lib/library/EnableLibraryPlugin.js +1 -1
  394. package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
  395. package/lib/library/JsonpLibraryPlugin.js +2 -2
  396. package/lib/library/LibraryTemplatePlugin.js +53 -0
  397. package/lib/library/ModuleLibraryPlugin.js +557 -187
  398. package/lib/library/SystemLibraryPlugin.js +6 -8
  399. package/lib/library/UmdLibraryPlugin.js +3 -4
  400. package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
  401. package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
  402. package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
  403. package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
  404. package/lib/loaders/LoaderRunner.js +94 -46
  405. package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
  406. package/lib/loaders/loadLoader.js +16 -10
  407. package/lib/logging/Logger.js +7 -9
  408. package/lib/logging/ProgressPlugin.js +957 -0
  409. package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
  410. package/lib/{Generator.js → module/Generator.js} +33 -23
  411. package/lib/{Module.js → module/Module.js} +121 -53
  412. package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
  413. package/lib/module/NormalModule.js +2350 -0
  414. package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +64 -71
  415. package/lib/module/NullFactory.js +29 -0
  416. package/lib/{Parser.js → module/Parser.js} +12 -5
  417. package/lib/module/RawModule.js +208 -0
  418. package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
  419. package/lib/{util → module}/extractSourceMap.js +71 -20
  420. package/lib/{util → module}/findCaseMismatch.js +4 -4
  421. package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
  422. package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
  423. package/lib/{dependencies → node}/ExternalModuleInitFragment.js +7 -6
  424. package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
  425. package/lib/node/NodeEnvironmentPlugin.js +11 -1
  426. package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
  427. package/lib/node/NodeTargetPlugin.js +1 -1
  428. package/lib/node/NodeWatchFileSystem.js +58 -6
  429. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
  430. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +13 -19
  431. package/lib/node/ReadFileCompileWasmPlugin.js +9 -11
  432. package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
  433. package/lib/node/nodeConsole.js +6 -7
  434. package/lib/optimize/AggressiveMergingPlugin.js +2 -2
  435. package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
  436. package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +14 -14
  437. package/lib/optimize/ConcatenatedModule.js +231 -220
  438. package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
  439. package/lib/optimize/ConstExportsPlugin.js +7 -7
  440. package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
  441. package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
  442. package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +23 -28
  443. package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +44 -19
  444. package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
  445. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
  446. package/lib/optimize/InlineExports.js +12 -7
  447. package/lib/optimize/InnerGraph.js +5 -13
  448. package/lib/optimize/InnerGraphPlugin.js +10 -10
  449. package/lib/optimize/LazyBarrels.js +620 -0
  450. package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
  451. package/lib/optimize/LimitChunkCountPlugin.js +16 -7
  452. package/lib/optimize/MangleExportsPlugin.js +5 -5
  453. package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
  454. package/lib/optimize/MinChunkSizePlugin.js +9 -6
  455. package/lib/optimize/ModuleConcatenationPlugin.js +28 -22
  456. package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
  457. package/lib/optimize/RealContentHashPlugin.js +18 -13
  458. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
  459. package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
  460. package/lib/optimize/SideEffectsFlagPlugin.js +24 -38
  461. package/lib/optimize/SplitChunksPlugin.js +719 -174
  462. package/lib/{util → optimize}/TupleQueue.js +9 -9
  463. package/lib/optimize/chunkSetIntersections.js +437 -0
  464. package/lib/{util → optimize}/deterministicGrouping.js +17 -17
  465. package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
  466. package/lib/{CleanPlugin.js → output/CleanPlugin.js} +69 -25
  467. package/lib/{CopyPlugin.js → output/CopyPlugin.js} +144 -70
  468. package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
  469. package/lib/output/SSRManifestPlugin.js +349 -0
  470. package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
  471. package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
  472. package/lib/performance/BroadContextsPlugin.js +4 -4
  473. package/lib/performance/CacheEffectivenessPlugin.js +2 -3
  474. package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
  475. package/lib/performance/DuplicateModulesPlugin.js +3 -4
  476. package/lib/performance/DuplicatePackagesPlugin.js +3 -3
  477. package/lib/performance/DynamicExportsPlugin.js +2 -2
  478. package/lib/performance/EvalUsagePlugin.js +4 -6
  479. package/lib/performance/HotspotsPlugin.js +39 -14
  480. package/lib/performance/LargeModulesPlugin.js +2 -3
  481. package/lib/performance/LegacyJavascriptPlugin.js +1 -2
  482. package/lib/performance/MissingSideEffectsPlugin.js +2 -3
  483. package/lib/performance/MissingSourceMapsPlugin.js +5 -6
  484. package/lib/performance/PureAnnotationsPlugin.js +19 -13
  485. package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
  486. package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
  487. package/lib/performance/SizeLimitsPlugin.js +11 -12
  488. package/lib/performance/TopLevelThisPlugin.js +22 -13
  489. package/lib/performance/UnsplitVendorsPlugin.js +1 -2
  490. package/lib/performance/UnusedAliasesPlugin.js +6 -7
  491. package/lib/performance/UnusedAssetsPlugin.js +5 -5
  492. package/lib/performance/UnusedDefinesPlugin.js +2 -2
  493. package/lib/performance/UnusedExternalsPlugin.js +3 -4
  494. package/lib/performance/UnusedFederationPlugin.js +2 -4
  495. package/lib/performance/UnusedModulesPlugin.js +5 -4
  496. package/lib/performance/getModuleSize.js +1 -1
  497. package/lib/performance/hasOnlyUnusedExports.js +4 -4
  498. package/lib/performance/isOnlyReexported.js +7 -6
  499. package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
  500. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
  501. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
  502. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
  503. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
  504. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
  505. package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
  506. package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
  507. package/lib/prefetch/ResourceHintPlugin.js +66 -45
  508. package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
  509. package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
  510. package/lib/prefetch/parseResourceHintOptions.js +4 -3
  511. package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
  512. package/lib/{dependencies → provide}/ProvidedDependency.js +50 -17
  513. package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
  514. package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
  515. package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
  516. package/lib/resolve/getResolveOptionsKey.js +59 -0
  517. package/lib/rules/BasicEffectRulePlugin.js +1 -1
  518. package/lib/rules/RuleSetCompiler.js +42 -51
  519. package/lib/rules/UseEffectRulePlugin.js +1 -3
  520. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
  521. package/lib/runtime/AsyncModuleRuntimeModule.js +14 -5
  522. package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
  523. package/lib/runtime/BaseUriRuntimeModule.js +3 -3
  524. package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
  525. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
  526. package/lib/runtime/CompatRuntimeModule.js +4 -4
  527. package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
  528. package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
  529. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  530. package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
  531. package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
  532. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
  533. package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
  534. package/lib/runtime/GetChunkFilenameRuntimeModule.js +7 -11
  535. package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
  536. package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
  537. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
  538. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
  539. package/lib/runtime/GlobalRuntimeModule.js +3 -3
  540. package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
  541. package/lib/runtime/HelperRuntimeModule.js +16 -1
  542. package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
  543. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
  544. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
  545. package/lib/runtime/NonceRuntimeModule.js +2 -2
  546. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  547. package/lib/runtime/PublicPathRuntimeModule.js +2 -2
  548. package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
  549. package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +24 -1
  550. package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
  551. package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
  552. package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +50 -50
  553. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
  554. package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
  555. package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
  556. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
  557. package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
  558. package/lib/runtime/SystemContextRuntimeModule.js +2 -2
  559. package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
  560. package/lib/runtime/WorkerRuntimeModule.js +1 -1
  561. package/lib/runtime/baseUri.js +1 -1
  562. package/lib/schemes/DataUriPlugin.js +1 -1
  563. package/lib/schemes/HttpUriPlugin.js +68 -13
  564. package/lib/schemes/VirtualUrlPlugin.js +52 -16
  565. package/lib/serialization/AggregateErrorSerializer.js +4 -4
  566. package/lib/serialization/BinaryMiddleware.js +4 -1
  567. package/lib/serialization/ErrorObjectSerializer.js +2 -5
  568. package/lib/serialization/FileMiddleware.js +3 -3
  569. package/lib/serialization/ObjectMiddleware.js +62 -29
  570. package/lib/serialization/PlainObjectSerializer.js +3 -7
  571. package/lib/serialization/Serializer.js +21 -11
  572. package/lib/serialization/SerializerMiddleware.js +10 -8
  573. package/lib/serialization/SingleItemMiddleware.js +4 -2
  574. package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
  575. package/lib/sharing/ConsumeSharedModule.js +18 -14
  576. package/lib/sharing/ConsumeSharedPlugin.js +148 -42
  577. package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
  578. package/lib/sharing/ProvideForSharedDependency.js +9 -1
  579. package/lib/sharing/ProvideSharedDependency.js +1 -1
  580. package/lib/sharing/ProvideSharedModule.js +11 -9
  581. package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
  582. package/lib/sharing/ProvideSharedPlugin.js +111 -20
  583. package/lib/sharing/SharePlugin.js +102 -9
  584. package/lib/sharing/ShareRuntimeModule.js +6 -6
  585. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  586. package/lib/{util → sharing}/semver.js +14 -16
  587. package/lib/sharing/utils.js +59 -2
  588. package/lib/stats/DefaultStatsFactoryPlugin.js +57 -54
  589. package/lib/stats/DefaultStatsPresetPlugin.js +3 -7
  590. package/lib/stats/DefaultStatsPrinterPlugin.js +15 -14
  591. package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
  592. package/lib/{Stats.js → stats/Stats.js} +4 -4
  593. package/lib/stats/StatsFactory.js +208 -37
  594. package/lib/stats/StatsPrinter.js +126 -13
  595. package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
  596. package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
  597. package/lib/template/DependencyTemplate.js +77 -0
  598. package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
  599. package/lib/template/InitFragment.js +223 -0
  600. package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
  601. package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
  602. package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
  603. package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +158 -95
  604. package/lib/{Template.js → template/Template.js} +14 -12
  605. package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
  606. package/lib/typescript/TypeScriptPlugin.js +3 -3
  607. package/lib/util/RequestShortener.js +44 -0
  608. package/lib/util/SortableSet.js +87 -22
  609. package/lib/util/SourceProcessor.js +439 -51
  610. package/lib/util/TupleSet.js +27 -27
  611. package/lib/util/WeakTupleMap.js +20 -16
  612. package/lib/util/buildDiagnostics.js +2 -2
  613. package/lib/util/cleverMerge.js +61 -33
  614. package/lib/util/comparators.js +19 -15
  615. package/lib/util/concatenate.js +28 -147
  616. package/lib/util/createMappings.js +111 -0
  617. package/lib/util/dataURL.js +96 -15
  618. package/lib/util/deprecation.js +5 -4
  619. package/lib/util/extractComments.js +118 -0
  620. package/lib/util/formatLocation.js +1 -1
  621. package/lib/util/globUtils.js +198 -20
  622. package/lib/util/haltVisitors.js +51 -0
  623. package/lib/util/handlerKeys.js +2 -2
  624. package/lib/util/identifier.js +117 -1
  625. package/lib/util/implicitTypeLoaderFallback.js +6 -4
  626. package/lib/util/internalSerializables.js +296 -102
  627. package/lib/util/magicComment.js +12 -7
  628. package/lib/util/makeSerializable.js +28 -7
  629. package/lib/util/memoize.js +1 -1
  630. package/lib/util/parseJson.js +2 -2
  631. package/lib/util/preloadModuleType.js +5 -2
  632. package/lib/util/registerExternalSerializer.js +2 -2
  633. package/lib/util/removeBOM.js +1 -1
  634. package/lib/util/runtime.js +1 -1
  635. package/lib/util/serialization.js +35 -28
  636. package/lib/util/source.js +2 -2
  637. package/lib/util/terminalColors.js +161 -0
  638. package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
  639. package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
  640. package/lib/{wasm-async → wasm}/AsyncWasmModule.js +19 -5
  641. package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +17 -9
  642. package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +24 -15
  643. package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
  644. package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +14 -12
  645. package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
  646. package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +11 -13
  647. package/lib/wasm/wasmModuleFilename.js +2 -2
  648. package/lib/wasm-sync/SyncWasmModule.js +18 -3
  649. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
  650. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
  651. package/lib/wasm-sync/WebAssemblyGenerator.js +22 -16
  652. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +28 -21
  653. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
  654. package/lib/wasm-sync/WebAssemblyParser.js +15 -17
  655. package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
  656. package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
  657. package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
  658. package/lib/{Watching.js → watch/Watching.js} +8 -8
  659. package/lib/web/FetchCompileAsyncWasmPlugin.js +12 -18
  660. package/lib/web/FetchCompileWasmPlugin.js +8 -10
  661. package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
  662. package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
  663. package/lib/web/JsonpTemplatePlugin.js +1 -1
  664. package/lib/webpack.js +27 -17
  665. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
  666. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
  667. package/package.json +57 -36
  668. package/schemas/WebpackOptions.check.js +4 -3
  669. package/schemas/WebpackOptions.d.json.ts +2 -0
  670. package/schemas/WebpackOptions.json +295 -75
  671. package/schemas/plugins/BannerPlugin.check.js +4 -3
  672. package/schemas/plugins/BannerPlugin.json +29 -2
  673. package/schemas/plugins/HtmlGeneratorOptions.check.js +4 -3
  674. package/schemas/plugins/HtmlParserOptions.check.js +4 -3
  675. package/schemas/plugins/IgnorePlugin.check.js +4 -3
  676. package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
  677. package/schemas/plugins/IgnorePlugin.json +1 -1
  678. package/schemas/plugins/LoaderOptionsPlugin.check.js +4 -3
  679. package/schemas/plugins/ManifestPlugin.check.js +4 -3
  680. package/schemas/plugins/ManifestPlugin.json +3 -3
  681. package/schemas/plugins/ProgressPlugin.check.js +4 -3
  682. package/schemas/plugins/ProgressPlugin.json +2 -7
  683. package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
  684. package/schemas/plugins/SSRManifestPlugin.json +20 -0
  685. package/schemas/plugins/SourceMapDevToolPlugin.check.js +4 -3
  686. package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
  687. package/schemas/plugins/WatchIgnorePlugin.check.js +4 -3
  688. package/schemas/plugins/WatchIgnorePlugin.json +12 -3
  689. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +4 -3
  690. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +4 -3
  691. package/schemas/plugins/asset/AssetParserOptions.check.js +4 -3
  692. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +4 -3
  693. package/schemas/plugins/container/ContainerPlugin.check.js +4 -3
  694. package/schemas/plugins/container/ContainerPlugin.json +8 -0
  695. package/schemas/plugins/container/ContainerReferencePlugin.check.js +4 -3
  696. package/schemas/plugins/container/ExternalsType.check.js +4 -3
  697. package/schemas/plugins/container/ModuleFederationPlugin.check.js +4 -3
  698. package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
  699. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +4 -3
  700. package/schemas/plugins/css/CssGeneratorOptions.check.js +4 -3
  701. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +4 -3
  702. package/schemas/plugins/css/CssModuleParserOptions.check.js +4 -3
  703. package/schemas/plugins/css/CssParserOptions.check.js +4 -3
  704. package/schemas/plugins/debug/ProfilingPlugin.check.js +4 -3
  705. package/schemas/plugins/define/DotenvPluginOptions.check.js +7 -0
  706. package/schemas/plugins/define/DotenvPluginOptions.json +3 -0
  707. package/schemas/plugins/dll/DllPlugin.check.js +4 -3
  708. package/schemas/plugins/dll/DllReferencePlugin.check.js +4 -3
  709. package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
  710. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +4 -3
  711. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +4 -3
  712. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +4 -3
  713. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +4 -3
  714. package/schemas/plugins/json/JsonModulesPluginParser.check.js +4 -3
  715. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +4 -3
  716. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +4 -3
  717. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +4 -3
  718. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +4 -3
  719. package/schemas/plugins/output/CleanOptions.check.js +7 -0
  720. package/schemas/plugins/output/CleanOptions.json +3 -0
  721. package/schemas/plugins/schemes/HttpUriPlugin.check.js +4 -3
  722. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +4 -3
  723. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +4 -3
  724. package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
  725. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +4 -3
  726. package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
  727. package/schemas/plugins/sharing/SharePlugin.check.js +4 -3
  728. package/schemas/plugins/sharing/SharePlugin.json +32 -0
  729. package/types.d.ts +20780 -14174
  730. package/lib/LazyBarrel.js +0 -388
  731. package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
  732. package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
  733. package/lib/javascript/ChunkFormatHelpers.js +0 -72
  734. package/lib/javascript/grammar.js +0 -5546
  735. package/lib/javascript/parser.js +0 -1500
  736. package/lib/javascript/regexpData.js +0 -51
  737. package/lib/performance/getSourceModules.js +0 -22
  738. package/lib/util/Semaphore.js +0 -65
  739. package/lib/util/objectToMap.js +0 -15
  740. package/schemas/WebpackOptions.check.d.ts +0 -7
  741. package/schemas/_container.json +0 -155
  742. package/schemas/_sharing.json +0 -118
  743. package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
  744. package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
  745. package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
  746. package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
  747. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
  748. package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
  749. package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
  750. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
  751. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
  752. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
  753. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
  754. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
  755. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
  756. package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
  757. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
  758. package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
  759. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
  760. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
  761. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
  762. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
  763. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
  764. package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
  765. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
  766. package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
  767. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
  768. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
  769. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
  770. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
  771. package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
  772. package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
  773. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
  774. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
  775. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
  776. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
  777. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
  778. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
  779. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
  780. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
  781. package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
  782. /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
  783. /package/lib/{util → css}/topologicalSort.js +0 -0
  784. /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
  785. /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
  786. /package/lib/{util → fs}/StackedCacheMap.js +0 -0
  787. /package/lib/{util → javascript}/StackedMap.js +0 -0
  788. /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
  789. /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
  790. /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
  791. /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
  792. /package/lib/{util → optimize}/Queue.js +0 -0
  793. /package/lib/{util → stats}/smartGrouping.js +0 -0
@@ -5,96 +5,97 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const ConditionalInitFragment = require("../ConditionalInitFragment");
9
- const Dependency = require("../Dependency");
10
- const { UsageState } = require("../ExportsInfo");
11
- const InitFragment = require("../InitFragment");
12
- const RuntimeGlobals = require("../RuntimeGlobals");
13
- const Template = require("../Template");
8
+ const ESMLinkingError = require("../../errors/ESMLinkingError");
9
+ const Dependency = require("../../graph/Dependency");
10
+ const { UsageState } = require("../../graph/ExportsInfo");
14
11
  const {
15
- InlinedUsedName,
16
12
  isExportInlined,
17
13
  isInlineEnabled,
18
- isInlineExportsEnabled
19
- } = require("../optimize/InlineExports");
14
+ isInlineExportsEnabled,
15
+ isInlinedUsedName
16
+ } = require("../../optimize/InlineExports");
17
+ const LazyBarrels = require("../../optimize/LazyBarrels");
20
18
  const {
21
19
  getKnownExportNames,
22
20
  getMakeDeferredNamespaceModeFromExportsType
23
- } = require("../runtime/MakeDeferredNamespaceObjectRuntime");
24
- const { countIterable } = require("../util/IterableHelpers");
25
- const { combine, first } = require("../util/SetHelpers");
26
- const makeSerializable = require("../util/makeSerializable");
27
- const { propertyAccess, propertyName } = require("../util/property");
21
+ } = require("../../runtime/MakeDeferredNamespaceObjectRuntime");
22
+ const RuntimeGlobals = require("../../runtime/RuntimeGlobals");
23
+ const ConditionalInitFragment = require("../../template/ConditionalInitFragment");
24
+ const InitFragment = require("../../template/InitFragment");
25
+ const Template = require("../../template/Template");
26
+ const { countIterable } = require("../../util/IterableHelpers");
27
+ const { combine, first } = require("../../util/SetHelpers");
28
+ const makeSerializable = require("../../util/makeSerializable");
29
+ const { propertyAccess, propertyName } = require("../../util/property");
28
30
  const {
29
31
  filterRuntime,
30
32
  getRuntimeKey,
31
33
  keyToRuntime
32
- } = require("../util/runtime");
33
- const HarmonyExportInitFragment = require("./HarmonyExportInitFragment");
34
+ } = require("../../util/runtime");
35
+ const { ImportPhaseUtils } = require("../core/ImportPhase");
36
+ const processExportInfo = require("../helpers/processExportInfo");
37
+ const ESMExportInitFragment = require("./ESMExportInitFragment");
38
+ const ESMImportDependency = require("./ESMImportDependency");
34
39
 
35
- const { ExportBindingType } = HarmonyExportInitFragment;
36
-
37
- const HarmonyImportDependency = require("./HarmonyImportDependency");
38
- const HarmonyLinkingError = require("./HarmonyLinkingError");
39
- const { ImportPhaseUtils } = require("./ImportPhase");
40
- const processExportInfo = require("./processExportInfo");
40
+ const { ExportBindingType } = ESMExportInitFragment;
41
41
 
42
42
  /** @import { ReplaceSource } from "webpack-sources" */
43
- /** @import ChunkGraph from "../ChunkGraph" */
43
+ /** @import ChunkGraph from "../../graph/ChunkGraph" */
44
44
  /**
45
45
  * @import {
46
46
  * ExportsSpec,
47
47
  * GetConditionFn,
48
- * LazyUntil,
48
+ * LazyRole,
49
49
  * RawReferencedExports,
50
50
  * ReferencedExports,
51
51
  * TRANSITIVE,
52
52
  * ExportInfoName,
53
- * UpdateHashContext
54
- * } from "../Dependency"
53
+ * UpdateHashContext,
54
+ * DependencyKinds
55
+ * } from "../../graph/Dependency"
55
56
  */
56
- /** @import { DependencyTemplateContext } from "../DependencyTemplate" */
57
- /** @import ExportsInfo, { ExportInfo, UsedName } from "../ExportsInfo" */
58
- /** @import { GenerateContext } from "../Generator" */
57
+ /** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
58
+ /** @import ExportsInfo, { ExportInfo, UsedName } from "../../graph/ExportsInfo" */
59
+ /** @import { GenerateContext } from "../../module/Generator" */
59
60
  /**
60
61
  * @import Module, {
61
62
  * BuildMeta,
62
63
  * RuntimeRequirements,
63
64
  * ExportsType
64
- * } from "../Module"
65
+ * } from "../../module/Module"
65
66
  */
66
- /** @import ModuleGraph from "../ModuleGraph" */
67
- /** @import Hash from "../util/Hash" */
67
+ /** @import ModuleGraph from "../../graph/ModuleGraph" */
68
+ /** @import Hash from "../../util/Hash" */
68
69
  /**
69
70
  * @import ModuleGraphConnection, {
70
71
  * ConnectionState
71
- * } from "../ModuleGraphConnection"
72
+ * } from "../../graph/ModuleGraphConnection"
72
73
  */
73
- /** @import RuntimeTemplate from "../RuntimeTemplate" */
74
- /** @import WebpackError from "../errors/WebpackError" */
75
- /** @import { ImportAttributes } from "../javascript/JavascriptParser" */
76
- /** @typedef {[Ids, string | null, Set<string>, ReadonlyArray<HarmonyExportImportedSpecifierDependency> | null, ExportPresenceMode, HarmonyStarExportsList | null]} SerializedData */
77
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<SerializedData>} ObjectDeserializerContext */
78
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<SerializedData>} ObjectSerializerContext */
79
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[HarmonyExportImportedSpecifierDependency[]]>} StarListDeserializerContext */
80
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[HarmonyExportImportedSpecifierDependency[]]>} StarListSerializerContext */
81
- /** @import { RuntimeSpec } from "../util/runtime" */
82
- /** @import { Ids, ExportPresenceMode } from "./HarmonyImportDependency" */
83
- /** @import { ExportMap } from "./HarmonyExportInitFragment" */
84
- /** @import { ImportPhaseType } from "../dependencies/ImportPhase" */
74
+ /** @import RuntimeTemplate from "../../template/RuntimeTemplate" */
75
+ /** @import WebpackError from "../../errors/WebpackError" */
76
+ /** @import { ImportAttributes } from "../../javascript/JavascriptParser" */
77
+ /** @typedef {[Ids, string | null, Set<string>, ReadonlyArray<ESMExportImportedSpecifierDependency> | null, ExportPresenceMode, ESMStarExportsList | null]} SerializedData */
78
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<SerializedData>} ObjectDeserializerContext */
79
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<SerializedData>} ObjectSerializerContext */
80
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<[ESMExportImportedSpecifierDependency[]]>} StarListDeserializerContext */
81
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<[ESMExportImportedSpecifierDependency[]]>} StarListSerializerContext */
82
+ /** @import { RuntimeSpec } from "../../util/runtime" */
83
+ /** @import { Ids, ExportPresenceMode } from "./ESMImportDependency" */
84
+ /** @import { ExportMap } from "./ESMExportInitFragment" */
85
+ /** @import { ImportPhaseType } from "../core/ImportPhase" */
85
86
  /**
86
87
  * @import {
87
88
  * JavascriptModuleBuildMeta
88
- * } from "../javascript/JavascriptModule"
89
+ * } from "../../javascript/JavascriptModule"
89
90
  */
90
- /** @import ConcatenationScope from "../ConcatenationScope" */
91
+ /** @import ConcatenationScope from "../../optimize/ConcatenationScope" */
91
92
 
92
93
  /** @typedef {"missing" | "unused" | "empty-star" | "reexport-dynamic-default" | "reexport-named-default" | "reexport-namespace-object" | "reexport-fake-namespace-object" | "reexport-undefined" | "normal-reexport" | "dynamic-reexport"} ExportModeType */
93
94
 
94
- const { ExportPresenceModes } = HarmonyImportDependency;
95
+ const { ExportPresenceModes } = ESMImportDependency;
95
96
 
96
97
  const idsSymbol = /** @type {symbol} */ (
97
- Symbol("HarmonyExportImportedSpecifierDependency.ids")
98
+ Symbol("ESMExportImportedSpecifierDependency.ids")
98
99
  );
99
100
 
100
101
  class NormalReexportItem {
@@ -263,8 +264,8 @@ const isAmbiguousWith = (moduleGraph, previous, exportInfo) => {
263
264
  /**
264
265
  * Determine export assignments.
265
266
  * @param {ModuleGraph} moduleGraph module graph
266
- * @param {HarmonyExportImportedSpecifierDependency[]} dependencies dependencies
267
- * @param {HarmonyExportImportedSpecifierDependency=} additionalDependency additional dependency
267
+ * @param {ESMExportImportedSpecifierDependency[]} dependencies dependencies
268
+ * @param {ESMExportImportedSpecifierDependency=} additionalDependency additional dependency
268
269
  * @returns {{ names: ExportInfoName[], dependencyIndices: DependencyIndices, conflicting: Set<ExportInfoName> | undefined }} result
269
270
  */
270
271
  const determineExportAssignments = (
@@ -341,8 +342,8 @@ const determineExportAssignments = (
341
342
  * @param {ExportInfoName[]} options.names names
342
343
  * @param {DependencyIndices} options.dependencyIndices dependency indices
343
344
  * @param {string} name name
344
- * @param {ReadonlyArray<HarmonyExportImportedSpecifierDependency>} dependencies dependencies
345
- * @returns {HarmonyExportImportedSpecifierDependency | undefined} found dependency or nothing
345
+ * @param {ReadonlyArray<ESMExportImportedSpecifierDependency>} dependencies dependencies
346
+ * @returns {ESMExportImportedSpecifierDependency | undefined} found dependency or nothing
346
347
  */
347
348
  const findDependencyForName = (
348
349
  { names, dependencyIndices },
@@ -368,7 +369,7 @@ const findDependencyForName = (
368
369
  /**
369
370
  * Returns the export mode.
370
371
  * @param {ModuleGraph} moduleGraph the module graph
371
- * @param {HarmonyExportImportedSpecifierDependency} dep the dependency
372
+ * @param {ESMExportImportedSpecifierDependency} dep the dependency
372
373
  * @param {string} runtimeKey the runtime key
373
374
  * @returns {ExportMode} the export mode
374
375
  */
@@ -547,17 +548,17 @@ const getMode = (moduleGraph, dep, runtimeKey) => {
547
548
  /** @typedef {Set<string>} Hidden */
548
549
  /** @typedef {Set<string>} IgnoredExports */
549
550
 
550
- class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
551
+ class ESMExportImportedSpecifierDependency extends ESMImportDependency {
551
552
  /**
552
- * Creates an instance of HarmonyExportImportedSpecifierDependency.
553
+ * Creates an instance of ESMExportImportedSpecifierDependency.
553
554
  * @param {string} request the request string
554
555
  * @param {number} sourceOrder the order in the original source file
555
556
  * @param {Ids} ids the requested export name of the imported module
556
557
  * @param {string | null} name the export name of for this module
557
558
  * @param {Set<string>} activeExports other named exports in the module
558
- * @param {ReadonlyArray<HarmonyExportImportedSpecifierDependency> | null} otherStarExports other star exports in the module before this import
559
+ * @param {ReadonlyArray<ESMExportImportedSpecifierDependency> | null} otherStarExports other star exports in the module before this import
559
560
  * @param {ExportPresenceMode} exportPresenceMode mode of checking export names
560
- * @param {HarmonyStarExportsList | null} allStarExports all star exports in the module
561
+ * @param {ESMStarExportsList | null} allStarExports all star exports in the module
561
562
  * @param {ImportPhaseType} phase import phase
562
563
  * @param {ImportAttributes=} attributes import attributes
563
564
  */
@@ -584,7 +585,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
584
585
  this.otherStarExports = otherStarExports;
585
586
  /** @type {ExportPresenceMode} */
586
587
  this.exportPresenceMode = exportPresenceMode;
587
- /** @type {HarmonyStarExportsList | null} */
588
+ /** @type {ESMStarExportsList | null} */
588
589
  this.allStarExports = allStarExports;
589
590
  }
590
591
 
@@ -596,7 +597,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
596
597
  return Dependency.TRANSITIVE;
597
598
  }
598
599
 
599
- // TODO webpack 6 remove
600
+ // TODO in the next major release: remove
600
601
  /**
601
602
  * Returns id.
602
603
  * @deprecated
@@ -605,7 +606,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
605
606
  throw new Error("id was renamed to ids and type changed to string[]");
606
607
  }
607
608
 
608
- // TODO webpack 6 remove
609
+ // TODO in the next major release: remove
609
610
  /**
610
611
  * Returns id.
611
612
  * @deprecated
@@ -614,7 +615,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
614
615
  throw new Error("id was renamed to ids and type changed to string[]");
615
616
  }
616
617
 
617
- // TODO webpack 6 remove
618
+ // TODO in the next major release: remove
618
619
  /**
619
620
  * Updates id.
620
621
  * @deprecated
@@ -631,25 +632,25 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
631
632
  * Returns the export name this dependency requests from its target module (lazy barrel optimization).
632
633
  * @returns {string | true | null} export name, true for all exports, null for none
633
634
  */
634
- getForwardId() {
635
+ get forwardId() {
635
636
  return this.ids.length > 0 ? this.ids[0] : true;
636
637
  }
637
638
 
638
639
  /**
639
640
  * Returns how this dependency may be deferred when its parent module is side-effect-free (lazy barrel optimization).
640
- * @returns {LazyUntil | null} lazy classification, null when it must be processed eagerly
641
+ * @returns {LazyRole | null} lazy classification, null when it must be processed eagerly
641
642
  */
642
- getLazyUntil() {
643
+ get lazyRole() {
643
644
  return this.name !== null
644
- ? Dependency.LAZY_UNTIL_ID
645
- : Dependency.LAZY_UNTIL_FALLBACK;
645
+ ? Dependency.LAZY_NAMED_REEXPORT
646
+ : Dependency.LAZY_STAR_REEXPORT;
646
647
  }
647
648
 
648
649
  /**
649
- * Returns the export name for a `LAZY_UNTIL_LOCAL`/`LAZY_UNTIL_ID` classification (lazy barrel optimization).
650
+ * Returns the export name for a `LAZY_LOCAL_EXPORT`/`LAZY_NAMED_REEXPORT` classification (lazy barrel optimization).
650
651
  * @returns {string | null} export name, null when not applicable
651
652
  */
652
- getLazyName() {
653
+ get lazyName() {
653
654
  return this.name;
654
655
  }
655
656
 
@@ -854,7 +855,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
854
855
  for (const item of /** @type {NormalReexportItem[]} */ (mode.items)) {
855
856
  if (item.hidden || item.checked) continue;
856
857
  const usedName = exportsInfo.getUsedName(item.ids, runtime);
857
- if (usedName instanceof InlinedUsedName) {
858
+ if (isInlinedUsedName(usedName)) {
858
859
  hash.update(`${item.name}:${item.ids.join(".")}:`);
859
860
  usedName.updateHash(hash);
860
861
  }
@@ -899,9 +900,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
899
900
  runtime,
900
901
  referencedExports,
901
902
  [],
902
- /** @type {InstanceType<ExportInfo>} */ (
903
- mode.partialNamespaceExportInfo
904
- )
903
+ mode.partialNamespaceExportInfo
905
904
  );
906
905
  return referencedExports;
907
906
  }
@@ -917,9 +916,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
917
916
  runtime,
918
917
  referencedExports,
919
918
  [],
920
- /** @type {InstanceType<ExportInfo>} */ (
921
- mode.partialNamespaceExportInfo
922
- ),
919
+ mode.partialNamespaceExportInfo,
923
920
  mode.type === "reexport-fake-namespace-object"
924
921
  );
925
922
  return referencedExports;
@@ -992,7 +989,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
992
989
 
993
990
  const { names, dependencyIndices } = moduleGraph.cached(
994
991
  determineExportAssignments,
995
- /** @type {HarmonyExportImportedSpecifierDependency[]} */
992
+ /** @type {ESMExportImportedSpecifierDependency[]} */
996
993
  (this.otherStarExports),
997
994
  this
998
995
  );
@@ -1015,7 +1012,8 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1015
1012
 
1016
1013
  switch (mode.type) {
1017
1014
  case "missing":
1018
- return;
1015
+ // The target may appear on a later build, so this export set cannot be cached.
1016
+ return { exports: [], dependencies: [] };
1019
1017
  case "dynamic-reexport": {
1020
1018
  const from =
1021
1019
  /** @type {ModuleGraphConnection} */
@@ -1203,7 +1201,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1203
1201
  .getReadOnlyExportInfo(this.name);
1204
1202
  if (!exportInfo.hasCircularTarget(moduleGraph)) return;
1205
1203
  return [
1206
- new HarmonyLinkingError(
1204
+ new ESMLinkingError(
1207
1205
  `export '${ids.join(".")}' (reexported as '${
1208
1206
  this.name
1209
1207
  }') is part of a circular reexport chain in '${
@@ -1274,7 +1272,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1274
1272
  this.allStarExports
1275
1273
  ? this.allStarExports.dependencies
1276
1274
  : [
1277
- .../** @type {ReadonlyArray<HarmonyExportImportedSpecifierDependency>} */
1275
+ .../** @type {ReadonlyArray<ESMExportImportedSpecifierDependency>} */
1278
1276
  (this.otherStarExports),
1279
1277
  this
1280
1278
  ]
@@ -1304,7 +1302,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1304
1302
  for (const [request, exports] of conflicts) {
1305
1303
  if (!errors) errors = [];
1306
1304
  errors.push(
1307
- new HarmonyLinkingError(
1305
+ new ESMLinkingError(
1308
1306
  `The requested module '${
1309
1307
  this.request
1310
1308
  }' contains conflicting star exports for the ${
@@ -1360,13 +1358,15 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1360
1358
  }
1361
1359
  }
1362
1360
 
1363
- makeSerializable(
1364
- HarmonyExportImportedSpecifierDependency,
1361
+ makeSerializable(ESMExportImportedSpecifierDependency, [
1362
+ "webpack/lib/dependencies/esm/ESMExportImportedSpecifierDependency",
1363
+ // TODO in the next major release: remove, it restores the packs written
1364
+ // under the name the file had before the ESM rename
1365
1365
  "webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency"
1366
- );
1366
+ ]);
1367
1367
 
1368
- HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedSpecifierDependencyTemplate extends (
1369
- HarmonyImportDependency.Template
1368
+ ESMExportImportedSpecifierDependency.Template = class ESMExportImportedSpecifierDependencyTemplate extends (
1369
+ ESMImportDependency.Template
1370
1370
  ) {
1371
1371
  /**
1372
1372
  * Applies the plugin by registering its hooks on the compiler.
@@ -1378,12 +1378,17 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1378
1378
  apply(dependency, source, templateContext) {
1379
1379
  const { moduleGraph, runtime, concatenationScope } = templateContext;
1380
1380
 
1381
- const dep = /** @type {HarmonyExportImportedSpecifierDependency} */ (
1381
+ const dep = /** @type {ESMExportImportedSpecifierDependency} */ (
1382
1382
  dependency
1383
1383
  );
1384
1384
 
1385
1385
  const mode = dep.getMode(moduleGraph, runtime);
1386
1386
 
1387
+ // deferred by lazy barrel: never resolved, renders nothing
1388
+ if (mode.type === "missing" && LazyBarrels.isLazy(moduleGraph, dep)) {
1389
+ return;
1390
+ }
1391
+
1387
1392
  // a wrapped module has no shared-scope symbols to redirect reexports to
1388
1393
  if (concatenationScope && !concatenationScope.isWrapped()) {
1389
1394
  switch (mode.type) {
@@ -1425,7 +1430,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1425
1430
  /**
1426
1431
  * Add export fragments.
1427
1432
  * @param {InitFragment<GenerateContext>[]} initFragments target array for init fragments
1428
- * @param {HarmonyExportImportedSpecifierDependency} dep dependency
1433
+ * @param {ESMExportImportedSpecifierDependency} dep dependency
1429
1434
  * @param {ExportMode} mode the export mode
1430
1435
  * @param {Module} module the current module
1431
1436
  * @param {ModuleGraph} moduleGraph the module graph
@@ -1454,15 +1459,21 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1454
1459
  concatenationScope !== undefined &&
1455
1460
  concatenationScope.isModuleInScope(importedModule);
1456
1461
  const importVar = inScope
1457
- ? /** @type {ConcatenationScope} */ (
1458
- concatenationScope
1459
- ).createModuleReference(importedModule, { asiSafe: true })
1462
+ ? concatenationScope.createModuleReference(importedModule, {
1463
+ asiSafe: true
1464
+ })
1465
+ : dep.getImportVar(moduleGraph);
1466
+
1467
+ const defaultImportVar = inScope
1468
+ ? concatenationScope.createModuleReference(importedModule, {
1469
+ ids: ["default"],
1470
+ asiSafe: true
1471
+ })
1460
1472
  : dep.getImportVar(moduleGraph);
1473
+
1461
1474
  // whole-namespace modes need the original export names, not mangled ones
1462
1475
  const namespaceImportVar = inScope
1463
- ? /** @type {ConcatenationScope} */ (
1464
- concatenationScope
1465
- ).createModuleReference(importedModule, {
1476
+ ? concatenationScope.createModuleReference(importedModule, {
1466
1477
  asiSafe: true,
1467
1478
  mangleableNamespace: true
1468
1479
  })
@@ -1501,7 +1512,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1501
1512
  initFragments.push(
1502
1513
  new InitFragment(
1503
1514
  "/* empty/unused harmony star reexport */\n",
1504
- InitFragment.STAGE_HARMONY_EXPORTS,
1515
+ InitFragment.STAGE_ESM_EXPORTS,
1505
1516
  1
1506
1517
  )
1507
1518
  );
@@ -1513,24 +1524,13 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1513
1524
  `${Template.toNormalComment(
1514
1525
  `unused harmony reexport ${mode.name}`
1515
1526
  )}\n`,
1516
- InitFragment.STAGE_HARMONY_EXPORTS,
1527
+ InitFragment.STAGE_ESM_EXPORTS,
1517
1528
  1
1518
1529
  )
1519
1530
  );
1520
1531
  break;
1521
1532
 
1522
1533
  case "reexport-dynamic-default": {
1523
- // `${importVar}_default` names the interop variable that the import
1524
- // statement declares. An in-scope target has no import statement, so
1525
- // reference its default export and let the concatenation resolve it.
1526
- const defaultAccess = inScope
1527
- ? /** @type {ConcatenationScope} */ (
1528
- concatenationScope
1529
- ).createModuleReference(importedModule, {
1530
- ids: ["default"],
1531
- asiSafe: true
1532
- })
1533
- : importVar;
1534
1534
  initFragments.push(
1535
1535
  this.getReexportFragment(
1536
1536
  module,
@@ -1538,7 +1538,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1538
1538
  moduleGraph
1539
1539
  .getExportsInfo(module)
1540
1540
  .getUsedName(/** @type {string} */ (mode.name), runtime),
1541
- defaultAccess,
1541
+ defaultImportVar,
1542
1542
  inScope ? "" : null,
1543
1543
  runtimeRequirements
1544
1544
  )
@@ -1558,9 +1558,9 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1558
1558
  moduleGraph
1559
1559
  .getExportsInfo(module)
1560
1560
  .getUsedName(/** @type {string} */ (mode.name), runtime),
1561
- /** @type {ConcatenationScope} */ (
1562
- concatenationScope
1563
- ).createModuleReference(importedModule, { asiSafe: true }),
1561
+ concatenationScope.createModuleReference(importedModule, {
1562
+ asiSafe: true
1563
+ }),
1564
1564
  "",
1565
1565
  runtimeRequirements
1566
1566
  )
@@ -1605,7 +1605,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1605
1605
  moduleGraph
1606
1606
  .getExportsInfo(module)
1607
1607
  .getUsedName(/** @type {string} */ (mode.name), runtime),
1608
- importVar,
1608
+ defaultImportVar,
1609
1609
  "",
1610
1610
  runtimeRequirements
1611
1611
  )
@@ -1670,8 +1670,8 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1670
1670
  runtimeRequirements
1671
1671
  )}`,
1672
1672
  moduleGraph.isAsync(importedModule)
1673
- ? InitFragment.STAGE_ASYNC_HARMONY_IMPORTS
1674
- : InitFragment.STAGE_HARMONY_IMPORTS,
1673
+ ? InitFragment.STAGE_ASYNC_ESM_IMPORTS
1674
+ : InitFragment.STAGE_ESM_IMPORTS,
1675
1675
  /** @type {number} */ (dep.sourceOrder),
1676
1676
  key,
1677
1677
  runtimeCondition
@@ -1733,8 +1733,8 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1733
1733
  new InitFragment(
1734
1734
  `${content}\n/* harmony reexport (unknown) */ ${RuntimeGlobals.definePropertyGetters}(${exportsName}, __WEBPACK_REEXPORT_OBJECT__);\n`,
1735
1735
  moduleGraph.isAsync(importedModule)
1736
- ? InitFragment.STAGE_ASYNC_HARMONY_IMPORTS
1737
- : InitFragment.STAGE_HARMONY_IMPORTS,
1736
+ ? InitFragment.STAGE_ASYNC_ESM_IMPORTS
1737
+ : InitFragment.STAGE_ESM_IMPORTS,
1738
1738
  /** @type {number} */ (dep.sourceOrder)
1739
1739
  )
1740
1740
  );
@@ -1755,7 +1755,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1755
1755
  * @param {UsedName | null} valueKey value key
1756
1756
  * @param {RuntimeRequirements} runtimeRequirements runtime requirements
1757
1757
  * @param {string[]=} ids original ids on the imported side (for inline-rendering comment)
1758
- * @returns {HarmonyExportInitFragment} harmony export init fragment
1758
+ * @returns {ESMExportInitFragment} harmony export init fragment
1759
1759
  */
1760
1760
  getReexportFragment(
1761
1761
  module,
@@ -1778,7 +1778,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1778
1778
  type: ExportBindingType.Getter
1779
1779
  });
1780
1780
 
1781
- return new HarmonyExportInitFragment(module.exportsArgument, map);
1781
+ return new ESMExportInitFragment(module.exportsArgument, map);
1782
1782
  }
1783
1783
 
1784
1784
  /**
@@ -1788,7 +1788,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1788
1788
  * @param {string} name name
1789
1789
  * @param {number} fakeType fake type
1790
1790
  * @param {RuntimeRequirements} runtimeRequirements runtime requirements
1791
- * @returns {[InitFragment<GenerateContext>, HarmonyExportInitFragment]} init fragments
1791
+ * @returns {[InitFragment<GenerateContext>, ESMExportInitFragment]} init fragments
1792
1792
  */
1793
1793
  getReexportFakeNamespaceObjectFragments(
1794
1794
  module,
@@ -1817,7 +1817,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1817
1817
  -1,
1818
1818
  `${name}_namespace_cache`
1819
1819
  ),
1820
- new HarmonyExportInitFragment(module.exportsArgument, map)
1820
+ new ESMExportInitFragment(module.exportsArgument, map)
1821
1821
  ];
1822
1822
  }
1823
1823
 
@@ -1869,7 +1869,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1869
1869
  -1,
1870
1870
  `${name}_deferred_namespace_cache`
1871
1871
  ),
1872
- new HarmonyExportInitFragment(module.exportsArgument, map)
1872
+ new ESMExportInitFragment(module.exportsArgument, map)
1873
1873
  ];
1874
1874
  }
1875
1875
 
@@ -1912,7 +1912,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1912
1912
  /**
1913
1913
  * Returns value.
1914
1914
  * @param {string} name name
1915
- * @param {null | false | string | string[] | import("../optimize/InlineExports").InlinedUsedName} valueKey value key
1915
+ * @param {null | false | string | string[] | import("../../optimize/InlineExports").InlinedUsedName} valueKey value key
1916
1916
  * @param {string[]=} ids original imported ids (for inline-rendering comment)
1917
1917
  * @returns {string | undefined} value
1918
1918
  */
@@ -1929,7 +1929,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1929
1929
  return "/* unused export */ undefined";
1930
1930
  }
1931
1931
 
1932
- if (valueKey instanceof InlinedUsedName) {
1932
+ if (isInlinedUsedName(valueKey)) {
1933
1933
  // Re-export forwards the source export's inlined literal as its own runtime value
1934
1934
  return valueKey.render(
1935
1935
  Template.toNormalComment(`inlined export ${propertyAccess(ids || [])}`)
@@ -1940,15 +1940,15 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1940
1940
  }
1941
1941
  };
1942
1942
 
1943
- class HarmonyStarExportsList {
1943
+ class ESMStarExportsList {
1944
1944
  constructor() {
1945
- /** @type {HarmonyExportImportedSpecifierDependency[]} */
1945
+ /** @type {ESMExportImportedSpecifierDependency[]} */
1946
1946
  this.dependencies = [];
1947
1947
  }
1948
1948
 
1949
1949
  /**
1950
1950
  * Processes the provided dep.
1951
- * @param {HarmonyExportImportedSpecifierDependency} dep dependency
1951
+ * @param {ESMExportImportedSpecifierDependency} dep dependency
1952
1952
  * @returns {void}
1953
1953
  */
1954
1954
  push(dep) {
@@ -1979,13 +1979,26 @@ class HarmonyStarExportsList {
1979
1979
  }
1980
1980
 
1981
1981
  makeSerializable(
1982
- HarmonyStarExportsList,
1983
- "webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency",
1984
- "HarmonyStarExportsList"
1982
+ ESMStarExportsList,
1983
+ [
1984
+ "webpack/lib/dependencies/esm/ESMExportImportedSpecifierDependency",
1985
+ // TODO in the next major release: remove, it restores the packs written
1986
+ // under the file's and the list's names before the ESM rename
1987
+ [
1988
+ "webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency",
1989
+ "HarmonyStarExportsList"
1990
+ ]
1991
+ ],
1992
+ "ESMStarExportsList"
1985
1993
  );
1986
1994
 
1987
- HarmonyExportImportedSpecifierDependency.HarmonyStarExportsList =
1988
- HarmonyStarExportsList;
1989
- HarmonyExportImportedSpecifierDependency.idsSymbol = idsSymbol;
1995
+ ESMExportImportedSpecifierDependency.ESMStarExportsList = ESMStarExportsList;
1996
+ ESMExportImportedSpecifierDependency.idsSymbol = idsSymbol;
1997
+
1998
+ /** @type {Set<keyof DependencyKinds>} */
1999
+ ESMExportImportedSpecifierDependency.KINDS = new Set([
2000
+ ...ESMImportDependency.KINDS,
2001
+ "esm-reexport"
2002
+ ]);
1990
2003
 
1991
- module.exports = HarmonyExportImportedSpecifierDependency;
2004
+ module.exports = ESMExportImportedSpecifierDependency;