@depup/webpack 5.111.1-depup.1 → 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 -7
  2. package/changes.json +3 -15
  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 +49 -38
  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,19 +5,19 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const makeSerializable = require("../util/makeSerializable");
9
- const NullDependency = require("./NullDependency");
8
+ const makeSerializable = require("../../util/makeSerializable");
9
+ const NullDependency = require("../core/NullDependency");
10
10
 
11
11
  /** @import { ReplaceSource } from "webpack-sources" */
12
- /** @import Dependency from "../Dependency" */
13
- /** @import { DependencyTemplateContext } from "../DependencyTemplate" */
14
- /** @import { Range } from "../javascript/JavascriptParser" */
15
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range | undefined | null, Range]>} ObjectDeserializerContext */
16
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range | undefined | null, Range]>} ObjectSerializerContext */
12
+ /** @import Dependency from "../../graph/Dependency" */
13
+ /** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
14
+ /** @import { Range } from "../../javascript/JavascriptParser" */
15
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range | undefined | null, Range]>} ObjectDeserializerContext */
16
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<[Range | undefined | null, Range]>} ObjectSerializerContext */
17
17
 
18
- class HarmonyExportHeaderDependency extends NullDependency {
18
+ class ESMExportHeaderDependency extends NullDependency {
19
19
  /**
20
- * Creates an instance of HarmonyExportHeaderDependency.
20
+ * Creates an instance of ESMExportHeaderDependency.
21
21
  * @param {Range | undefined | null} range range
22
22
  * @param {Range} rangeStatement range statement
23
23
  */
@@ -52,12 +52,14 @@ class HarmonyExportHeaderDependency extends NullDependency {
52
52
  }
53
53
  }
54
54
 
55
- makeSerializable(
56
- HarmonyExportHeaderDependency,
55
+ makeSerializable(ESMExportHeaderDependency, [
56
+ "webpack/lib/dependencies/esm/ESMExportHeaderDependency",
57
+ // TODO in the next major release: remove, it restores the packs written
58
+ // under the name the file had before the ESM rename
57
59
  "webpack/lib/dependencies/HarmonyExportHeaderDependency"
58
- );
60
+ ]);
59
61
 
60
- HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate extends (
62
+ ESMExportHeaderDependency.Template = class ESMExportDependencyTemplate extends (
61
63
  NullDependency.Template
62
64
  ) {
63
65
  /**
@@ -68,7 +70,7 @@ HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate e
68
70
  * @returns {void}
69
71
  */
70
72
  apply(dependency, source, templateContext) {
71
- const dep = /** @type {HarmonyExportHeaderDependency} */ (dependency);
73
+ const dep = /** @type {ESMExportHeaderDependency} */ (dependency);
72
74
  const content = "";
73
75
  const replaceUntil = dep.range
74
76
  ? dep.range[0] - 1
@@ -77,4 +79,4 @@ HarmonyExportHeaderDependency.Template = class HarmonyExportDependencyTemplate e
77
79
  }
78
80
  };
79
81
 
80
- module.exports = HarmonyExportHeaderDependency;
82
+ module.exports = ESMExportHeaderDependency;
@@ -0,0 +1,37 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Haijie Xie @hai-x
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const Dependency = require("../../graph/Dependency");
9
+ const makeSerializable = require("../../util/makeSerializable");
10
+ const ESMImportSideEffectDependency = require("./ESMImportSideEffectDependency");
11
+
12
+ /** @import { LazyRole } from "../../graph/Dependency" */
13
+
14
+ /**
15
+ * The evaluation of an `export … from "..."` statement's module. It is a separate
16
+ * class rather than a flag so a lazy barrel defers it with the re-export, while an
17
+ * import declaration's evaluation stays tied to the barrel's own code.
18
+ */
19
+ class ESMExportImportedSideEffectDependency extends ESMImportSideEffectDependency {
20
+ /**
21
+ * Returns how this dependency may be deferred when its parent module is side-effect-free (lazy barrel optimization).
22
+ * @returns {LazyRole | null} lazy classification, null when it must be processed eagerly
23
+ */
24
+ get lazyRole() {
25
+ return Dependency.LAZY_REEXPORT_SIDE_EFFECT;
26
+ }
27
+ }
28
+
29
+ makeSerializable(
30
+ ESMExportImportedSideEffectDependency,
31
+ "webpack/lib/dependencies/esm/ESMExportImportedSideEffectDependency"
32
+ );
33
+
34
+ ESMExportImportedSideEffectDependency.Template =
35
+ ESMImportSideEffectDependency.Template;
36
+
37
+ module.exports = ESMExportImportedSideEffectDependency;
@@ -5,96 +5,96 @@
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");
20
17
  const {
21
18
  getKnownExportNames,
22
19
  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");
20
+ } = require("../../runtime/MakeDeferredNamespaceObjectRuntime");
21
+ const RuntimeGlobals = require("../../runtime/RuntimeGlobals");
22
+ const ConditionalInitFragment = require("../../template/ConditionalInitFragment");
23
+ const InitFragment = require("../../template/InitFragment");
24
+ const Template = require("../../template/Template");
25
+ const { countIterable } = require("../../util/IterableHelpers");
26
+ const { combine, first } = require("../../util/SetHelpers");
27
+ const makeSerializable = require("../../util/makeSerializable");
28
+ const { propertyAccess, propertyName } = require("../../util/property");
28
29
  const {
29
30
  filterRuntime,
30
31
  getRuntimeKey,
31
32
  keyToRuntime
32
- } = require("../util/runtime");
33
- const HarmonyExportInitFragment = require("./HarmonyExportInitFragment");
33
+ } = require("../../util/runtime");
34
+ const { ImportPhaseUtils } = require("../core/ImportPhase");
35
+ const processExportInfo = require("../helpers/processExportInfo");
36
+ const ESMExportInitFragment = require("./ESMExportInitFragment");
37
+ const ESMImportDependency = require("./ESMImportDependency");
34
38
 
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");
39
+ const { ExportBindingType } = ESMExportInitFragment;
41
40
 
42
41
  /** @import { ReplaceSource } from "webpack-sources" */
43
- /** @import ChunkGraph from "../ChunkGraph" */
42
+ /** @import ChunkGraph from "../../graph/ChunkGraph" */
44
43
  /**
45
44
  * @import {
46
45
  * ExportsSpec,
47
46
  * GetConditionFn,
48
- * LazyUntil,
47
+ * LazyRole,
49
48
  * RawReferencedExports,
50
49
  * ReferencedExports,
51
50
  * TRANSITIVE,
52
51
  * ExportInfoName,
53
- * UpdateHashContext
54
- * } from "../Dependency"
52
+ * UpdateHashContext,
53
+ * DependencyKinds
54
+ * } from "../../graph/Dependency"
55
55
  */
56
- /** @import { DependencyTemplateContext } from "../DependencyTemplate" */
57
- /** @import ExportsInfo, { ExportInfo, UsedName } from "../ExportsInfo" */
58
- /** @import { GenerateContext } from "../Generator" */
56
+ /** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
57
+ /** @import ExportsInfo, { ExportInfo, UsedName } from "../../graph/ExportsInfo" */
58
+ /** @import { GenerateContext } from "../../module/Generator" */
59
59
  /**
60
60
  * @import Module, {
61
61
  * BuildMeta,
62
62
  * RuntimeRequirements,
63
63
  * ExportsType
64
- * } from "../Module"
64
+ * } from "../../module/Module"
65
65
  */
66
- /** @import ModuleGraph from "../ModuleGraph" */
67
- /** @import Hash from "../util/Hash" */
66
+ /** @import ModuleGraph from "../../graph/ModuleGraph" */
67
+ /** @import Hash from "../../util/Hash" */
68
68
  /**
69
69
  * @import ModuleGraphConnection, {
70
70
  * ConnectionState
71
- * } from "../ModuleGraphConnection"
71
+ * } from "../../graph/ModuleGraphConnection"
72
72
  */
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" */
73
+ /** @import RuntimeTemplate from "../../template/RuntimeTemplate" */
74
+ /** @import WebpackError from "../../errors/WebpackError" */
75
+ /** @import { ImportAttributes } from "../../javascript/JavascriptParser" */
76
+ /** @typedef {[Ids, string | null, Set<string>, ReadonlyArray<ESMExportImportedSpecifierDependency> | null, ExportPresenceMode, ESMStarExportsList | null]} SerializedData */
77
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<SerializedData>} ObjectDeserializerContext */
78
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<SerializedData>} ObjectSerializerContext */
79
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<[ESMExportImportedSpecifierDependency[]]>} StarListDeserializerContext */
80
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<[ESMExportImportedSpecifierDependency[]]>} StarListSerializerContext */
81
+ /** @import { RuntimeSpec } from "../../util/runtime" */
82
+ /** @import { Ids, ExportPresenceMode } from "./ESMImportDependency" */
83
+ /** @import { ExportMap } from "./ESMExportInitFragment" */
84
+ /** @import { ImportPhaseType } from "../core/ImportPhase" */
85
85
  /**
86
86
  * @import {
87
87
  * JavascriptModuleBuildMeta
88
- * } from "../javascript/JavascriptModule"
88
+ * } from "../../javascript/JavascriptModule"
89
89
  */
90
- /** @import ConcatenationScope from "../ConcatenationScope" */
90
+ /** @import ConcatenationScope from "../../optimize/ConcatenationScope" */
91
91
 
92
92
  /** @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
93
 
94
- const { ExportPresenceModes } = HarmonyImportDependency;
94
+ const { ExportPresenceModes } = ESMImportDependency;
95
95
 
96
96
  const idsSymbol = /** @type {symbol} */ (
97
- Symbol("HarmonyExportImportedSpecifierDependency.ids")
97
+ Symbol("ESMExportImportedSpecifierDependency.ids")
98
98
  );
99
99
 
100
100
  class NormalReexportItem {
@@ -263,8 +263,8 @@ const isAmbiguousWith = (moduleGraph, previous, exportInfo) => {
263
263
  /**
264
264
  * Determine export assignments.
265
265
  * @param {ModuleGraph} moduleGraph module graph
266
- * @param {HarmonyExportImportedSpecifierDependency[]} dependencies dependencies
267
- * @param {HarmonyExportImportedSpecifierDependency=} additionalDependency additional dependency
266
+ * @param {ESMExportImportedSpecifierDependency[]} dependencies dependencies
267
+ * @param {ESMExportImportedSpecifierDependency=} additionalDependency additional dependency
268
268
  * @returns {{ names: ExportInfoName[], dependencyIndices: DependencyIndices, conflicting: Set<ExportInfoName> | undefined }} result
269
269
  */
270
270
  const determineExportAssignments = (
@@ -341,8 +341,8 @@ const determineExportAssignments = (
341
341
  * @param {ExportInfoName[]} options.names names
342
342
  * @param {DependencyIndices} options.dependencyIndices dependency indices
343
343
  * @param {string} name name
344
- * @param {ReadonlyArray<HarmonyExportImportedSpecifierDependency>} dependencies dependencies
345
- * @returns {HarmonyExportImportedSpecifierDependency | undefined} found dependency or nothing
344
+ * @param {ReadonlyArray<ESMExportImportedSpecifierDependency>} dependencies dependencies
345
+ * @returns {ESMExportImportedSpecifierDependency | undefined} found dependency or nothing
346
346
  */
347
347
  const findDependencyForName = (
348
348
  { names, dependencyIndices },
@@ -368,7 +368,7 @@ const findDependencyForName = (
368
368
  /**
369
369
  * Returns the export mode.
370
370
  * @param {ModuleGraph} moduleGraph the module graph
371
- * @param {HarmonyExportImportedSpecifierDependency} dep the dependency
371
+ * @param {ESMExportImportedSpecifierDependency} dep the dependency
372
372
  * @param {string} runtimeKey the runtime key
373
373
  * @returns {ExportMode} the export mode
374
374
  */
@@ -547,17 +547,17 @@ const getMode = (moduleGraph, dep, runtimeKey) => {
547
547
  /** @typedef {Set<string>} Hidden */
548
548
  /** @typedef {Set<string>} IgnoredExports */
549
549
 
550
- class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
550
+ class ESMExportImportedSpecifierDependency extends ESMImportDependency {
551
551
  /**
552
- * Creates an instance of HarmonyExportImportedSpecifierDependency.
552
+ * Creates an instance of ESMExportImportedSpecifierDependency.
553
553
  * @param {string} request the request string
554
554
  * @param {number} sourceOrder the order in the original source file
555
555
  * @param {Ids} ids the requested export name of the imported module
556
556
  * @param {string | null} name the export name of for this module
557
557
  * @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
558
+ * @param {ReadonlyArray<ESMExportImportedSpecifierDependency> | null} otherStarExports other star exports in the module before this import
559
559
  * @param {ExportPresenceMode} exportPresenceMode mode of checking export names
560
- * @param {HarmonyStarExportsList | null} allStarExports all star exports in the module
560
+ * @param {ESMStarExportsList | null} allStarExports all star exports in the module
561
561
  * @param {ImportPhaseType} phase import phase
562
562
  * @param {ImportAttributes=} attributes import attributes
563
563
  */
@@ -584,7 +584,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
584
584
  this.otherStarExports = otherStarExports;
585
585
  /** @type {ExportPresenceMode} */
586
586
  this.exportPresenceMode = exportPresenceMode;
587
- /** @type {HarmonyStarExportsList | null} */
587
+ /** @type {ESMStarExportsList | null} */
588
588
  this.allStarExports = allStarExports;
589
589
  }
590
590
 
@@ -596,7 +596,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
596
596
  return Dependency.TRANSITIVE;
597
597
  }
598
598
 
599
- // TODO webpack 6 remove
599
+ // TODO in the next major release: remove
600
600
  /**
601
601
  * Returns id.
602
602
  * @deprecated
@@ -605,7 +605,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
605
605
  throw new Error("id was renamed to ids and type changed to string[]");
606
606
  }
607
607
 
608
- // TODO webpack 6 remove
608
+ // TODO in the next major release: remove
609
609
  /**
610
610
  * Returns id.
611
611
  * @deprecated
@@ -614,7 +614,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
614
614
  throw new Error("id was renamed to ids and type changed to string[]");
615
615
  }
616
616
 
617
- // TODO webpack 6 remove
617
+ // TODO in the next major release: remove
618
618
  /**
619
619
  * Updates id.
620
620
  * @deprecated
@@ -631,25 +631,25 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
631
631
  * Returns the export name this dependency requests from its target module (lazy barrel optimization).
632
632
  * @returns {string | true | null} export name, true for all exports, null for none
633
633
  */
634
- getForwardId() {
634
+ get forwardId() {
635
635
  return this.ids.length > 0 ? this.ids[0] : true;
636
636
  }
637
637
 
638
638
  /**
639
639
  * 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
640
+ * @returns {LazyRole | null} lazy classification, null when it must be processed eagerly
641
641
  */
642
- getLazyUntil() {
642
+ get lazyRole() {
643
643
  return this.name !== null
644
- ? Dependency.LAZY_UNTIL_ID
645
- : Dependency.LAZY_UNTIL_FALLBACK;
644
+ ? Dependency.LAZY_NAMED_REEXPORT
645
+ : Dependency.LAZY_STAR_REEXPORT;
646
646
  }
647
647
 
648
648
  /**
649
- * Returns the export name for a `LAZY_UNTIL_LOCAL`/`LAZY_UNTIL_ID` classification (lazy barrel optimization).
649
+ * Returns the export name for a `LAZY_LOCAL_EXPORT`/`LAZY_NAMED_REEXPORT` classification (lazy barrel optimization).
650
650
  * @returns {string | null} export name, null when not applicable
651
651
  */
652
- getLazyName() {
652
+ get lazyName() {
653
653
  return this.name;
654
654
  }
655
655
 
@@ -854,7 +854,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
854
854
  for (const item of /** @type {NormalReexportItem[]} */ (mode.items)) {
855
855
  if (item.hidden || item.checked) continue;
856
856
  const usedName = exportsInfo.getUsedName(item.ids, runtime);
857
- if (usedName instanceof InlinedUsedName) {
857
+ if (isInlinedUsedName(usedName)) {
858
858
  hash.update(`${item.name}:${item.ids.join(".")}:`);
859
859
  usedName.updateHash(hash);
860
860
  }
@@ -992,7 +992,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
992
992
 
993
993
  const { names, dependencyIndices } = moduleGraph.cached(
994
994
  determineExportAssignments,
995
- /** @type {HarmonyExportImportedSpecifierDependency[]} */
995
+ /** @type {ESMExportImportedSpecifierDependency[]} */
996
996
  (this.otherStarExports),
997
997
  this
998
998
  );
@@ -1015,7 +1015,8 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1015
1015
 
1016
1016
  switch (mode.type) {
1017
1017
  case "missing":
1018
- return;
1018
+ // The target may appear on a later build, so this export set cannot be cached.
1019
+ return { exports: [], dependencies: [] };
1019
1020
  case "dynamic-reexport": {
1020
1021
  const from =
1021
1022
  /** @type {ModuleGraphConnection} */
@@ -1203,7 +1204,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1203
1204
  .getReadOnlyExportInfo(this.name);
1204
1205
  if (!exportInfo.hasCircularTarget(moduleGraph)) return;
1205
1206
  return [
1206
- new HarmonyLinkingError(
1207
+ new ESMLinkingError(
1207
1208
  `export '${ids.join(".")}' (reexported as '${
1208
1209
  this.name
1209
1210
  }') is part of a circular reexport chain in '${
@@ -1274,7 +1275,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1274
1275
  this.allStarExports
1275
1276
  ? this.allStarExports.dependencies
1276
1277
  : [
1277
- .../** @type {ReadonlyArray<HarmonyExportImportedSpecifierDependency>} */
1278
+ .../** @type {ReadonlyArray<ESMExportImportedSpecifierDependency>} */
1278
1279
  (this.otherStarExports),
1279
1280
  this
1280
1281
  ]
@@ -1304,7 +1305,7 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1304
1305
  for (const [request, exports] of conflicts) {
1305
1306
  if (!errors) errors = [];
1306
1307
  errors.push(
1307
- new HarmonyLinkingError(
1308
+ new ESMLinkingError(
1308
1309
  `The requested module '${
1309
1310
  this.request
1310
1311
  }' contains conflicting star exports for the ${
@@ -1360,13 +1361,15 @@ class HarmonyExportImportedSpecifierDependency extends HarmonyImportDependency {
1360
1361
  }
1361
1362
  }
1362
1363
 
1363
- makeSerializable(
1364
- HarmonyExportImportedSpecifierDependency,
1364
+ makeSerializable(ESMExportImportedSpecifierDependency, [
1365
+ "webpack/lib/dependencies/esm/ESMExportImportedSpecifierDependency",
1366
+ // TODO in the next major release: remove, it restores the packs written
1367
+ // under the name the file had before the ESM rename
1365
1368
  "webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency"
1366
- );
1369
+ ]);
1367
1370
 
1368
- HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedSpecifierDependencyTemplate extends (
1369
- HarmonyImportDependency.Template
1371
+ ESMExportImportedSpecifierDependency.Template = class ESMExportImportedSpecifierDependencyTemplate extends (
1372
+ ESMImportDependency.Template
1370
1373
  ) {
1371
1374
  /**
1372
1375
  * Applies the plugin by registering its hooks on the compiler.
@@ -1378,7 +1381,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1378
1381
  apply(dependency, source, templateContext) {
1379
1382
  const { moduleGraph, runtime, concatenationScope } = templateContext;
1380
1383
 
1381
- const dep = /** @type {HarmonyExportImportedSpecifierDependency} */ (
1384
+ const dep = /** @type {ESMExportImportedSpecifierDependency} */ (
1382
1385
  dependency
1383
1386
  );
1384
1387
 
@@ -1425,7 +1428,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1425
1428
  /**
1426
1429
  * Add export fragments.
1427
1430
  * @param {InitFragment<GenerateContext>[]} initFragments target array for init fragments
1428
- * @param {HarmonyExportImportedSpecifierDependency} dep dependency
1431
+ * @param {ESMExportImportedSpecifierDependency} dep dependency
1429
1432
  * @param {ExportMode} mode the export mode
1430
1433
  * @param {Module} module the current module
1431
1434
  * @param {ModuleGraph} moduleGraph the module graph
@@ -1458,6 +1461,16 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1458
1461
  concatenationScope
1459
1462
  ).createModuleReference(importedModule, { asiSafe: true })
1460
1463
  : dep.getImportVar(moduleGraph);
1464
+
1465
+ const defaultImportVar = inScope
1466
+ ? /** @type {ConcatenationScope} */ (
1467
+ concatenationScope
1468
+ ).createModuleReference(importedModule, {
1469
+ ids: ["default"],
1470
+ asiSafe: true
1471
+ })
1472
+ : dep.getImportVar(moduleGraph);
1473
+
1461
1474
  // whole-namespace modes need the original export names, not mangled ones
1462
1475
  const namespaceImportVar = inScope
1463
1476
  ? /** @type {ConcatenationScope} */ (
@@ -1501,7 +1514,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1501
1514
  initFragments.push(
1502
1515
  new InitFragment(
1503
1516
  "/* empty/unused harmony star reexport */\n",
1504
- InitFragment.STAGE_HARMONY_EXPORTS,
1517
+ InitFragment.STAGE_ESM_EXPORTS,
1505
1518
  1
1506
1519
  )
1507
1520
  );
@@ -1513,24 +1526,13 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1513
1526
  `${Template.toNormalComment(
1514
1527
  `unused harmony reexport ${mode.name}`
1515
1528
  )}\n`,
1516
- InitFragment.STAGE_HARMONY_EXPORTS,
1529
+ InitFragment.STAGE_ESM_EXPORTS,
1517
1530
  1
1518
1531
  )
1519
1532
  );
1520
1533
  break;
1521
1534
 
1522
1535
  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
1536
  initFragments.push(
1535
1537
  this.getReexportFragment(
1536
1538
  module,
@@ -1538,7 +1540,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1538
1540
  moduleGraph
1539
1541
  .getExportsInfo(module)
1540
1542
  .getUsedName(/** @type {string} */ (mode.name), runtime),
1541
- defaultAccess,
1543
+ defaultImportVar,
1542
1544
  inScope ? "" : null,
1543
1545
  runtimeRequirements
1544
1546
  )
@@ -1605,7 +1607,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1605
1607
  moduleGraph
1606
1608
  .getExportsInfo(module)
1607
1609
  .getUsedName(/** @type {string} */ (mode.name), runtime),
1608
- importVar,
1610
+ defaultImportVar,
1609
1611
  "",
1610
1612
  runtimeRequirements
1611
1613
  )
@@ -1670,8 +1672,8 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1670
1672
  runtimeRequirements
1671
1673
  )}`,
1672
1674
  moduleGraph.isAsync(importedModule)
1673
- ? InitFragment.STAGE_ASYNC_HARMONY_IMPORTS
1674
- : InitFragment.STAGE_HARMONY_IMPORTS,
1675
+ ? InitFragment.STAGE_ASYNC_ESM_IMPORTS
1676
+ : InitFragment.STAGE_ESM_IMPORTS,
1675
1677
  /** @type {number} */ (dep.sourceOrder),
1676
1678
  key,
1677
1679
  runtimeCondition
@@ -1733,8 +1735,8 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1733
1735
  new InitFragment(
1734
1736
  `${content}\n/* harmony reexport (unknown) */ ${RuntimeGlobals.definePropertyGetters}(${exportsName}, __WEBPACK_REEXPORT_OBJECT__);\n`,
1735
1737
  moduleGraph.isAsync(importedModule)
1736
- ? InitFragment.STAGE_ASYNC_HARMONY_IMPORTS
1737
- : InitFragment.STAGE_HARMONY_IMPORTS,
1738
+ ? InitFragment.STAGE_ASYNC_ESM_IMPORTS
1739
+ : InitFragment.STAGE_ESM_IMPORTS,
1738
1740
  /** @type {number} */ (dep.sourceOrder)
1739
1741
  )
1740
1742
  );
@@ -1755,7 +1757,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1755
1757
  * @param {UsedName | null} valueKey value key
1756
1758
  * @param {RuntimeRequirements} runtimeRequirements runtime requirements
1757
1759
  * @param {string[]=} ids original ids on the imported side (for inline-rendering comment)
1758
- * @returns {HarmonyExportInitFragment} harmony export init fragment
1760
+ * @returns {ESMExportInitFragment} harmony export init fragment
1759
1761
  */
1760
1762
  getReexportFragment(
1761
1763
  module,
@@ -1778,7 +1780,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1778
1780
  type: ExportBindingType.Getter
1779
1781
  });
1780
1782
 
1781
- return new HarmonyExportInitFragment(module.exportsArgument, map);
1783
+ return new ESMExportInitFragment(module.exportsArgument, map);
1782
1784
  }
1783
1785
 
1784
1786
  /**
@@ -1788,7 +1790,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1788
1790
  * @param {string} name name
1789
1791
  * @param {number} fakeType fake type
1790
1792
  * @param {RuntimeRequirements} runtimeRequirements runtime requirements
1791
- * @returns {[InitFragment<GenerateContext>, HarmonyExportInitFragment]} init fragments
1793
+ * @returns {[InitFragment<GenerateContext>, ESMExportInitFragment]} init fragments
1792
1794
  */
1793
1795
  getReexportFakeNamespaceObjectFragments(
1794
1796
  module,
@@ -1817,7 +1819,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1817
1819
  -1,
1818
1820
  `${name}_namespace_cache`
1819
1821
  ),
1820
- new HarmonyExportInitFragment(module.exportsArgument, map)
1822
+ new ESMExportInitFragment(module.exportsArgument, map)
1821
1823
  ];
1822
1824
  }
1823
1825
 
@@ -1869,7 +1871,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1869
1871
  -1,
1870
1872
  `${name}_deferred_namespace_cache`
1871
1873
  ),
1872
- new HarmonyExportInitFragment(module.exportsArgument, map)
1874
+ new ESMExportInitFragment(module.exportsArgument, map)
1873
1875
  ];
1874
1876
  }
1875
1877
 
@@ -1912,7 +1914,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1912
1914
  /**
1913
1915
  * Returns value.
1914
1916
  * @param {string} name name
1915
- * @param {null | false | string | string[] | import("../optimize/InlineExports").InlinedUsedName} valueKey value key
1917
+ * @param {null | false | string | string[] | import("../../optimize/InlineExports").InlinedUsedName} valueKey value key
1916
1918
  * @param {string[]=} ids original imported ids (for inline-rendering comment)
1917
1919
  * @returns {string | undefined} value
1918
1920
  */
@@ -1929,7 +1931,7 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1929
1931
  return "/* unused export */ undefined";
1930
1932
  }
1931
1933
 
1932
- if (valueKey instanceof InlinedUsedName) {
1934
+ if (isInlinedUsedName(valueKey)) {
1933
1935
  // Re-export forwards the source export's inlined literal as its own runtime value
1934
1936
  return valueKey.render(
1935
1937
  Template.toNormalComment(`inlined export ${propertyAccess(ids || [])}`)
@@ -1940,15 +1942,15 @@ HarmonyExportImportedSpecifierDependency.Template = class HarmonyExportImportedS
1940
1942
  }
1941
1943
  };
1942
1944
 
1943
- class HarmonyStarExportsList {
1945
+ class ESMStarExportsList {
1944
1946
  constructor() {
1945
- /** @type {HarmonyExportImportedSpecifierDependency[]} */
1947
+ /** @type {ESMExportImportedSpecifierDependency[]} */
1946
1948
  this.dependencies = [];
1947
1949
  }
1948
1950
 
1949
1951
  /**
1950
1952
  * Processes the provided dep.
1951
- * @param {HarmonyExportImportedSpecifierDependency} dep dependency
1953
+ * @param {ESMExportImportedSpecifierDependency} dep dependency
1952
1954
  * @returns {void}
1953
1955
  */
1954
1956
  push(dep) {
@@ -1979,13 +1981,26 @@ class HarmonyStarExportsList {
1979
1981
  }
1980
1982
 
1981
1983
  makeSerializable(
1982
- HarmonyStarExportsList,
1983
- "webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency",
1984
- "HarmonyStarExportsList"
1984
+ ESMStarExportsList,
1985
+ [
1986
+ "webpack/lib/dependencies/esm/ESMExportImportedSpecifierDependency",
1987
+ // TODO in the next major release: remove, it restores the packs written
1988
+ // under the file's and the list's names before the ESM rename
1989
+ [
1990
+ "webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency",
1991
+ "HarmonyStarExportsList"
1992
+ ]
1993
+ ],
1994
+ "ESMStarExportsList"
1985
1995
  );
1986
1996
 
1987
- HarmonyExportImportedSpecifierDependency.HarmonyStarExportsList =
1988
- HarmonyStarExportsList;
1989
- HarmonyExportImportedSpecifierDependency.idsSymbol = idsSymbol;
1997
+ ESMExportImportedSpecifierDependency.ESMStarExportsList = ESMStarExportsList;
1998
+ ESMExportImportedSpecifierDependency.idsSymbol = idsSymbol;
1999
+
2000
+ /** @type {Set<keyof DependencyKinds>} */
2001
+ ESMExportImportedSpecifierDependency.KINDS = new Set([
2002
+ ...ESMImportDependency.KINDS,
2003
+ "esm-reexport"
2004
+ ]);
1990
2005
 
1991
- module.exports = HarmonyExportImportedSpecifierDependency;
2006
+ module.exports = ESMExportImportedSpecifierDependency;