@depup/webpack 5.111.1-depup.2 → 5.112.0-depup.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 (775) hide show
  1. package/README.md +6 -8
  2. package/changes.json +8 -16
  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 +55 -40
  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,25 +5,25 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { InlinedUsedName } = require("../optimize/InlineExports");
8
+ const { isInlinedUsedName } = require("../../optimize/InlineExports");
9
9
  const {
10
10
  getDependencyUsedByExportsCondition
11
- } = require("../optimize/InnerGraph");
12
- const makeSerializable = require("../util/makeSerializable");
13
- const { ExportPresenceModes } = require("./HarmonyImportDependency");
14
- const HarmonyImportSpecifierDependency = require("./HarmonyImportSpecifierDependency");
15
- const { ImportPhase } = require("./ImportPhase");
11
+ } = require("../../optimize/InnerGraph");
12
+ const makeSerializable = require("../../util/makeSerializable");
13
+ const { ImportPhase } = require("../core/ImportPhase");
14
+ const { ExportPresenceModes } = require("./ESMImportDependency");
15
+ const ESMImportSpecifierDependency = require("./ESMImportSpecifierDependency");
16
16
 
17
17
  /** @import { ReplaceSource } from "webpack-sources" */
18
- /** @import Dependency, { GetConditionFn } from "../Dependency" */
19
- /** @import { DependencyTemplateContext } from "../DependencyTemplate" */
20
- /** @import { BuildMeta } from "../Module" */
21
- /** @import ModuleGraph from "../ModuleGraph" */
22
- /** @import ModuleGraphConnection from "../ModuleGraphConnection" */
23
- /** @import { ImportAttributes, Range } from "../javascript/JavascriptParser" */
24
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<string[]>} ObjectDeserializerContext */
25
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<string[]>} ObjectSerializerContext */
26
- /** @import { Ids } from "./HarmonyImportDependency" */
18
+ /** @import Dependency, { GetConditionFn, DependencyKinds } from "../../graph/Dependency" */
19
+ /** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
20
+ /** @import { BuildMeta } from "../../module/Module" */
21
+ /** @import ModuleGraph from "../../graph/ModuleGraph" */
22
+ /** @import ModuleGraphConnection from "../../graph/ModuleGraphConnection" */
23
+ /** @import { ImportAttributes, Range } from "../../javascript/JavascriptParser" */
24
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<string[]>} ObjectDeserializerContext */
25
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<string[]>} ObjectSerializerContext */
26
+ /** @import { Ids } from "./ESMImportDependency" */
27
27
 
28
28
  /**
29
29
  * Dependency for static evaluating import specifier. e.g.
@@ -32,14 +32,9 @@ const { ImportPhase } = require("./ImportPhase");
32
32
  * "x" in a;
33
33
  * a.x !== undefined; // if x value statically analyzable
34
34
  */
35
- class HarmonyEvaluatedImportSpecifierDependency extends HarmonyImportSpecifierDependency {
36
- // read by `HarmonyImportGuard` in place of `instanceof`, which would cycle
37
- get isHarmonyEvaluatedImportSpecifier() {
38
- return true;
39
- }
40
-
35
+ class ESMEvaluatedImportSpecifierDependency extends ESMImportSpecifierDependency {
41
36
  /**
42
- * Creates an instance of HarmonyEvaluatedImportSpecifierDependency.
37
+ * Creates an instance of ESMEvaluatedImportSpecifierDependency.
43
38
  * @param {string} request the request string
44
39
  * @param {number} sourceOrder source order
45
40
  * @param {Ids} ids ids
@@ -100,13 +95,15 @@ class HarmonyEvaluatedImportSpecifierDependency extends HarmonyImportSpecifierDe
100
95
  }
101
96
  }
102
97
 
103
- makeSerializable(
104
- HarmonyEvaluatedImportSpecifierDependency,
98
+ makeSerializable(ESMEvaluatedImportSpecifierDependency, [
99
+ "webpack/lib/dependencies/esm/ESMEvaluatedImportSpecifierDependency",
100
+ // TODO in the next major release: remove, it restores the packs written
101
+ // under the name the file had before the ESM rename
105
102
  "webpack/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency"
106
- );
103
+ ]);
107
104
 
108
- HarmonyEvaluatedImportSpecifierDependency.Template = class HarmonyEvaluatedImportSpecifierDependencyTemplate extends (
109
- HarmonyImportSpecifierDependency.Template
105
+ ESMEvaluatedImportSpecifierDependency.Template = class ESMEvaluatedImportSpecifierDependencyTemplate extends (
106
+ ESMImportSpecifierDependency.Template
110
107
  ) {
111
108
  /**
112
109
  * Applies the plugin by registering its hooks on the compiler.
@@ -117,7 +114,7 @@ HarmonyEvaluatedImportSpecifierDependency.Template = class HarmonyEvaluatedImpor
117
114
  */
118
115
  apply(dependency, source, templateContext) {
119
116
  const dep =
120
- /** @type {HarmonyEvaluatedImportSpecifierDependency} */
117
+ /** @type {ESMEvaluatedImportSpecifierDependency} */
121
118
  (dependency);
122
119
  const { module, moduleGraph, runtime } = templateContext;
123
120
  const connection = moduleGraph.getConnection(dep);
@@ -176,7 +173,7 @@ HarmonyEvaluatedImportSpecifierDependency.Template = class HarmonyEvaluatedImpor
176
173
  } else {
177
174
  const usedName = exportsInfo.getUsedName(ids, runtime);
178
175
 
179
- if (usedName instanceof InlinedUsedName) {
176
+ if (isInlinedUsedName(usedName)) {
180
177
  // Inlined exports only work with ESM export dependency
181
178
  // which only existed in modules with `namespace` exportsType.
182
179
  throw new Error(
@@ -202,4 +199,10 @@ HarmonyEvaluatedImportSpecifierDependency.Template = class HarmonyEvaluatedImpor
202
199
  }
203
200
  };
204
201
 
205
- module.exports = HarmonyEvaluatedImportSpecifierDependency;
202
+ /** @type {Set<keyof DependencyKinds>} */
203
+ ESMEvaluatedImportSpecifierDependency.KINDS = new Set([
204
+ ...ESMImportSpecifierDependency.KINDS,
205
+ "esm-evaluated-import-specifier"
206
+ ]);
207
+
208
+ module.exports = ESMEvaluatedImportSpecifierDependency;
@@ -5,23 +5,24 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const CompatibilityPlugin = require("../CompatibilityPlugin");
9
- const WebpackError = require("../errors/WebpackError");
10
- const { getImportAttributes } = require("../javascript/JavascriptParser");
11
- const { CONST_BINDING_TAG } = require("../optimize/ConstExportsPlugin");
12
- const { toInlinedValue } = require("../optimize/InlineExports");
13
- const { getInnerGraphUtils } = require("../optimize/InnerGraph");
14
- const ConstDependency = require("./ConstDependency");
15
- const HarmonyExportExpressionDependency = require("./HarmonyExportExpressionDependency");
16
- const HarmonyExportHeaderDependency = require("./HarmonyExportHeaderDependency");
17
- const HarmonyExportImportedSpecifierDependency = require("./HarmonyExportImportedSpecifierDependency");
18
- const HarmonyExportSpecifierDependency = require("./HarmonyExportSpecifierDependency");
19
- const { ExportPresenceModes } = require("./HarmonyImportDependency");
8
+ const WebpackError = require("../../errors/WebpackError");
9
+ const CompatibilityPlugin = require("../../javascript/CompatibilityPlugin");
10
+ const { getImportAttributes } = require("../../javascript/JavascriptParser");
11
+ const { CONST_BINDING_TAG } = require("../../optimize/ConstExportsPlugin");
12
+ const { toInlinedValue } = require("../../optimize/InlineExports");
13
+ const { getInnerGraphUtils } = require("../../optimize/InnerGraph");
14
+ const ConstDependency = require("../core/ConstDependency");
20
15
  const {
21
- harmonySpecifierTag
22
- } = require("./HarmonyImportDependencyParserPlugin");
23
- const HarmonyImportSideEffectDependency = require("./HarmonyImportSideEffectDependency");
24
- const { ImportPhaseUtils, createGetImportPhase } = require("./ImportPhase");
16
+ ImportPhaseUtils,
17
+ createGetImportPhase
18
+ } = require("../core/ImportPhase");
19
+ const ESMExportExpressionDependency = require("./ESMExportExpressionDependency");
20
+ const ESMExportHeaderDependency = require("./ESMExportHeaderDependency");
21
+ const ESMExportImportedSideEffectDependency = require("./ESMExportImportedSideEffectDependency");
22
+ const ESMExportImportedSpecifierDependency = require("./ESMExportImportedSpecifierDependency");
23
+ const ESMExportSpecifierDependency = require("./ESMExportSpecifierDependency");
24
+ const { ExportPresenceModes } = require("./ESMImportDependency");
25
+ const { harmonySpecifierTag } = require("./ESMImportDependencyParserPlugin");
25
26
 
26
27
  /**
27
28
  * @import {
@@ -33,19 +34,19 @@ const { ImportPhaseUtils, createGetImportPhase } = require("./ImportPhase");
33
34
  /**
34
35
  * @import {
35
36
  * JavascriptParserOptions
36
- * } from "../../declarations/WebpackOptions"
37
+ * } from "../../../declarations/WebpackOptions"
37
38
  */
38
- /** @import JavascriptParser, { Range } from "../javascript/JavascriptParser" */
39
- /** @import { HarmonySettings } from "./HarmonyImportDependencyParserPlugin" */
40
- /** @import { CompatibilitySettings } from "../CompatibilityPlugin" */
39
+ /** @import JavascriptParser, { Range } from "../../javascript/JavascriptParser" */
40
+ /** @import { ESMSettings } from "./ESMImportDependencyParserPlugin" */
41
+ /** @import { CompatibilitySettings } from "../../javascript/CompatibilityPlugin" */
41
42
 
42
- const { HarmonyStarExportsList } = HarmonyExportImportedSpecifierDependency;
43
+ const { ESMStarExportsList } = ESMExportImportedSpecifierDependency;
43
44
 
44
- const PLUGIN_NAME = "HarmonyExportDependencyParserPlugin";
45
+ const PLUGIN_NAME = "ESMExportDependencyParserPlugin";
45
46
 
46
- module.exports = class HarmonyExportDependencyParserPlugin {
47
+ module.exports = class ESMExportDependencyParserPlugin {
47
48
  /**
48
- * Creates an instance of HarmonyExportDependencyParserPlugin.
49
+ * Creates an instance of ESMExportDependencyParserPlugin.
49
50
  * @param {JavascriptParserOptions} options options
50
51
  */
51
52
  constructor(options) {
@@ -70,7 +71,7 @@ module.exports = class HarmonyExportDependencyParserPlugin {
70
71
  );
71
72
 
72
73
  parser.hooks.export.tap(PLUGIN_NAME, (statement) => {
73
- const dep = new HarmonyExportHeaderDependency(
74
+ const dep = new ESMExportHeaderDependency(
74
75
  statement.declaration && statement.declaration.range,
75
76
  /** @type {Range} */ (statement.range)
76
77
  );
@@ -79,8 +80,8 @@ module.exports = class HarmonyExportDependencyParserPlugin {
79
80
  return true;
80
81
  });
81
82
  parser.hooks.exportImport.tap(PLUGIN_NAME, (statement, source) => {
82
- parser.state.lastHarmonyImportOrder =
83
- (parser.state.lastHarmonyImportOrder || 0) + 1;
83
+ parser.state.lastESMImportOrder =
84
+ (parser.state.lastESMImportOrder || 0) + 1;
84
85
  const clearDep = new ConstDependency(
85
86
  "",
86
87
  /** @type {Range} */ (statement.range)
@@ -96,18 +97,13 @@ module.exports = class HarmonyExportDependencyParserPlugin {
96
97
  error.loc = parser.getLocation(statement) || undefined;
97
98
  parser.state.current.addError(error);
98
99
  }
99
- const sideEffectDep = new HarmonyImportSideEffectDependency(
100
+ const sideEffectDep = new ESMExportImportedSideEffectDependency(
100
101
  /** @type {string} */ (source),
101
- parser.state.lastHarmonyImportOrder,
102
+ parser.state.lastESMImportOrder,
102
103
  phase,
103
104
  getImportAttributes(statement)
104
105
  );
105
106
  sideEffectDep.setLocWithIndex(parser.getLocation(statement), -1);
106
- // lazy barrel: defer at parse time when the importing module is side-effect-free
107
- const moduleFactoryMeta = parser.state.module.factoryMeta;
108
- if (moduleFactoryMeta !== undefined && moduleFactoryMeta.sideEffectFree) {
109
- sideEffectDep.setLazy(true);
110
- }
111
107
  parser.state.current.addDependency(sideEffectDep);
112
108
  return true;
113
109
  });
@@ -125,25 +121,25 @@ module.exports = class HarmonyExportDependencyParserPlugin {
125
121
  }
126
122
  const name = statement.declaration.name;
127
123
  const settings =
128
- /** @type {HarmonySettings | undefined} */
124
+ /** @type {ESMSettings | undefined} */
129
125
  (parser.getTagData(name, harmonySpecifierTag));
130
126
  if (!settings || settings.ids.length !== 0) return;
131
127
  settings.used = true;
132
128
  if (ImportPhaseUtils.isDefer(settings.phase)) return;
133
- const harmonyNamedExports = (parser.state.harmonyNamedExports =
134
- parser.state.harmonyNamedExports || new Set());
135
- harmonyNamedExports.add("default");
129
+ const esmNamedExports = (parser.state.esmNamedExports =
130
+ parser.state.esmNamedExports || new Set());
131
+ esmNamedExports.add("default");
136
132
  getInnerGraphUtils(parser.state.compilation).addVariableUsage(
137
133
  parser,
138
134
  name,
139
135
  "default"
140
136
  );
141
- const dep = new HarmonyExportImportedSpecifierDependency(
137
+ const dep = new ESMExportImportedSpecifierDependency(
142
138
  settings.source,
143
139
  settings.sourceOrder,
144
140
  settings.ids,
145
141
  "default",
146
- harmonyNamedExports,
142
+ esmNamedExports,
147
143
  null,
148
144
  exportPresenceMode,
149
145
  null,
@@ -151,19 +147,11 @@ module.exports = class HarmonyExportDependencyParserPlugin {
151
147
  settings.attributes
152
148
  );
153
149
 
154
- // lazy barrel: defer the re-export at parse time when the importing module is side-effect-free
155
- const moduleFactoryMeta = parser.state.module.factoryMeta;
156
- if (
157
- moduleFactoryMeta !== undefined &&
158
- moduleFactoryMeta.sideEffectFree
159
- ) {
160
- dep.setLazy(true);
161
- }
162
150
  dep.setLocWithIndex(parser.getLocation(statement), -1);
163
151
  parser.state.current.addDependency(dep);
164
152
 
165
153
  // no range erases the whole statement, as for `export { ns as default }`
166
- const headerDep = new HarmonyExportHeaderDependency(
154
+ const headerDep = new ESMExportHeaderDependency(
167
155
  undefined,
168
156
  /** @type {Range} */ (statement.range)
169
157
  );
@@ -182,7 +170,7 @@ module.exports = class HarmonyExportDependencyParserPlugin {
182
170
  : toInlinedValue(
183
171
  parser.evaluateExpression(/** @type {Expression} */ (node))
184
172
  );
185
- const dep = new HarmonyExportExpressionDependency(
173
+ const dep = new ESMExportExpressionDependency(
186
174
  exprRange,
187
175
  statementRange,
188
176
  comments
@@ -257,12 +245,12 @@ module.exports = class HarmonyExportDependencyParserPlugin {
257
245
  }
258
246
 
259
247
  const settings =
260
- /** @type {HarmonySettings} */
248
+ /** @type {ESMSettings} */
261
249
  (parser.getTagData(id, harmonySpecifierTag));
262
250
  if (settings) settings.used = true;
263
- const harmonyNamedExports = (parser.state.harmonyNamedExports =
264
- parser.state.harmonyNamedExports || new Set());
265
- harmonyNamedExports.add(name);
251
+ const esmNamedExports = (parser.state.esmNamedExports =
252
+ parser.state.esmNamedExports || new Set());
253
+ esmNamedExports.add(name);
266
254
  getInnerGraphUtils(parser.state.compilation).addVariableUsage(
267
255
  parser,
268
256
  id,
@@ -270,35 +258,26 @@ module.exports = class HarmonyExportDependencyParserPlugin {
270
258
  );
271
259
  const tagData = settings
272
260
  ? undefined
273
- : /** @type {{ value?: import("../optimize/InlineExports").InlinedValue } | undefined} */
261
+ : /** @type {{ value?: import("../../optimize/InlineExports").InlinedValue } | undefined} */
274
262
  (parser.getTagData(id, CONST_BINDING_TAG));
275
263
  const dep = settings
276
- ? new HarmonyExportImportedSpecifierDependency(
264
+ ? new ESMExportImportedSpecifierDependency(
277
265
  settings.source,
278
266
  settings.sourceOrder,
279
267
  settings.ids,
280
268
  name,
281
- harmonyNamedExports,
269
+ esmNamedExports,
282
270
  null,
283
271
  exportPresenceMode,
284
272
  null,
285
273
  settings.phase,
286
274
  settings.attributes
287
275
  )
288
- : new HarmonyExportSpecifierDependency(
276
+ : new ESMExportSpecifierDependency(
289
277
  id,
290
278
  name,
291
279
  tagData ? tagData.value || null : undefined
292
280
  );
293
- // lazy barrel: defer the re-export at parse time when the importing module is side-effect-free
294
- const moduleFactoryMeta = parser.state.module.factoryMeta;
295
- if (
296
- settings &&
297
- moduleFactoryMeta !== undefined &&
298
- moduleFactoryMeta.sideEffectFree
299
- ) {
300
- dep.setLazy(true);
301
- }
302
281
  dep.setLocWithIndex(
303
282
  parser.getLocation(statement),
304
283
  /** @type {number} */ (idx)
@@ -317,42 +296,34 @@ module.exports = class HarmonyExportDependencyParserPlugin {
317
296
  parser.hooks.exportImportSpecifier.tap(
318
297
  PLUGIN_NAME,
319
298
  (statement, source, id, name, idx) => {
320
- const harmonyNamedExports = (parser.state.harmonyNamedExports =
321
- parser.state.harmonyNamedExports || new Set());
322
- /** @type {InstanceType<HarmonyStarExportsList> | null} */
323
- let harmonyStarExports = null;
299
+ const esmNamedExports = (parser.state.esmNamedExports =
300
+ parser.state.esmNamedExports || new Set());
301
+ /** @type {InstanceType<ESMStarExportsList> | null} */
302
+ let esmStarExports = null;
324
303
  if (name) {
325
- harmonyNamedExports.add(name);
304
+ esmNamedExports.add(name);
326
305
  } else {
327
- harmonyStarExports = parser.state.harmonyStarExports =
328
- parser.state.harmonyStarExports || new HarmonyStarExportsList();
306
+ esmStarExports = parser.state.esmStarExports =
307
+ parser.state.esmStarExports || new ESMStarExportsList();
329
308
  }
330
309
  const attributes = getImportAttributes(statement);
331
- const dep = new HarmonyExportImportedSpecifierDependency(
310
+ const dep = new ESMExportImportedSpecifierDependency(
332
311
  /** @type {string} */
333
312
  (source),
334
313
  /** @type {number} */
335
- (parser.state.lastHarmonyImportOrder),
314
+ (parser.state.lastESMImportOrder),
336
315
  id ? [id] : [],
337
316
  name,
338
- harmonyNamedExports,
317
+ esmNamedExports,
339
318
  // eslint-disable-next-line unicorn/prefer-spread
340
- harmonyStarExports && harmonyStarExports.slice(),
319
+ esmStarExports && esmStarExports.slice(),
341
320
  exportPresenceMode,
342
- harmonyStarExports,
321
+ esmStarExports,
343
322
  getImportPhase(parser, statement),
344
323
  attributes
345
324
  );
346
- if (harmonyStarExports) {
347
- harmonyStarExports.push(dep);
348
- }
349
- // lazy barrel: defer the re-export at parse time when the importing module is side-effect-free
350
- const moduleFactoryMeta = parser.state.module.factoryMeta;
351
- if (
352
- moduleFactoryMeta !== undefined &&
353
- moduleFactoryMeta.sideEffectFree
354
- ) {
355
- dep.setLazy(true);
325
+ if (esmStarExports) {
326
+ esmStarExports.push(dep);
356
327
  }
357
328
  dep.setLocWithIndex(
358
329
  parser.getLocation(statement),
@@ -5,42 +5,43 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const ConcatenationScope = require("../ConcatenationScope");
9
- const Dependency = require("../Dependency");
10
- const InitFragment = require("../InitFragment");
11
- const RuntimeGlobals = require("../RuntimeGlobals");
12
- const { InlinedUsedName } = require("../optimize/InlineExports");
13
- const makeSerializable = require("../util/makeSerializable");
14
- const { propertyAccess } = require("../util/property");
8
+ const Dependency = require("../../graph/Dependency");
9
+ const ConcatenationScope = require("../../optimize/ConcatenationScope");
10
+ const { isInlinedUsedName } = require("../../optimize/InlineExports");
11
+ const RuntimeGlobals = require("../../runtime/RuntimeGlobals");
12
+ const InitFragment = require("../../template/InitFragment");
13
+ const makeSerializable = require("../../util/makeSerializable");
14
+ const { propertyAccess } = require("../../util/property");
15
15
 
16
- const HarmonyExportInitFragment = require("./HarmonyExportInitFragment");
16
+ const NullDependency = require("../core/NullDependency");
17
+ const ESMExportInitFragment = require("./ESMExportInitFragment");
17
18
 
18
- const { ExportBindingType } = HarmonyExportInitFragment;
19
-
20
- const NullDependency = require("./NullDependency");
19
+ const { ExportBindingType } = ESMExportInitFragment;
21
20
 
22
21
  const DEFAULT_EXPORT_NAME = "default";
23
22
 
24
23
  /** @import { ReplaceSource } from "webpack-sources" */
25
- /** @import { ExportsSpec, LazyUntil } from "../Dependency" */
26
- /** @import { DependencyTemplateContext } from "../DependencyTemplate" */
27
- /** @import ModuleGraph from "../ModuleGraph" */
28
- /** @import { ConnectionState } from "../ModuleGraphConnection" */
29
- /** @import { InlinedValue } from "../optimize/InlineExports" */
30
- /** @import { Range } from "../javascript/JavascriptParser" */
24
+ /** @import { ExportsSpec, LazyRole, UpdateHashContext } from "../../graph/Dependency" */
25
+ /** @import Module, { BuildInfo } from "../../module/Module" */
26
+ /** @import Hash from "../../util/Hash" */
27
+ /** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
28
+ /** @import ModuleGraph from "../../graph/ModuleGraph" */
29
+ /** @import { ConnectionState } from "../../graph/ModuleGraphConnection" */
30
+ /** @import { InlinedValue } from "../../optimize/InlineExports" */
31
+ /** @import { Range } from "../../javascript/JavascriptParser" */
31
32
  /** @typedef {string | { id?: string | undefined, range: Range, prefix: string, suffix: string }} DeclarationId */
32
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range, string, DeclarationId | undefined, boolean, boolean]>} ObjectDeserializerContext */
33
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range, string, DeclarationId | undefined, boolean, boolean]>} ObjectSerializerContext */
34
- /** @import { ExportMap } from "./HarmonyExportInitFragment" */
33
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range, string, DeclarationId | undefined, boolean, boolean]>} ObjectDeserializerContext */
34
+ /** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range, string, DeclarationId | undefined, boolean, boolean]>} ObjectSerializerContext */
35
+ /** @import { ExportMap } from "./ESMExportInitFragment" */
35
36
  /**
36
37
  * @import {
37
38
  * JavascriptModuleBuildInfo
38
- * } from "../javascript/JavascriptModule"
39
+ * } from "../../javascript/JavascriptModule"
39
40
  */
40
41
 
41
- class HarmonyExportExpressionDependency extends NullDependency {
42
+ class ESMExportExpressionDependency extends NullDependency {
42
43
  /**
43
- * Creates an instance of HarmonyExportExpressionDependency.
44
+ * Creates an instance of ESMExportExpressionDependency.
44
45
  * @param {Range} range range
45
46
  * @param {Range} rangeStatement range statement
46
47
  * @param {string} prefix prefix
@@ -67,17 +68,17 @@ class HarmonyExportExpressionDependency extends NullDependency {
67
68
 
68
69
  /**
69
70
  * Returns how this dependency may be deferred when its parent module is side-effect-free (lazy barrel optimization).
70
- * @returns {LazyUntil | null} lazy classification, null when it must be processed eagerly
71
+ * @returns {LazyRole | null} lazy classification, null when it must be processed eagerly
71
72
  */
72
- getLazyUntil() {
73
- return Dependency.LAZY_UNTIL_LOCAL;
73
+ get lazyRole() {
74
+ return Dependency.LAZY_LOCAL_EXPORT;
74
75
  }
75
76
 
76
77
  /**
77
- * Returns the export name for a `LAZY_UNTIL_LOCAL`/`LAZY_UNTIL_ID` classification (lazy barrel optimization).
78
+ * Returns the export name for a `LAZY_LOCAL_EXPORT`/`LAZY_NAMED_REEXPORT` classification (lazy barrel optimization).
78
79
  * @returns {string | null} export name, null when not applicable
79
80
  */
80
- getLazyName() {
81
+ get lazyName() {
81
82
  return DEFAULT_EXPORT_NAME;
82
83
  }
83
84
 
@@ -120,6 +121,24 @@ class HarmonyExportExpressionDependency extends NullDependency {
120
121
  return false;
121
122
  }
122
123
 
124
+ /**
125
+ * Updates the hash with the data contributed by this instance.
126
+ * @param {Hash} hash hash to be updated
127
+ * @param {UpdateHashContext} context context
128
+ * @returns {void}
129
+ */
130
+ updateHash(hash, context) {
131
+ // the module's cycles, known only after it is built, pick value or getter
132
+ const module = /** @type {Module} */ (
133
+ context.chunkGraph.moduleGraph.getParentModule(this)
134
+ );
135
+ hash.update(
136
+ /** @type {BuildInfo} */ (module.buildInfo).isCircular === false
137
+ ? "value"
138
+ : "getter"
139
+ );
140
+ }
141
+
123
142
  /**
124
143
  * Serializes this instance into the provided serializer context.
125
144
  * @param {ObjectSerializerContext} context context
@@ -158,12 +177,14 @@ class HarmonyExportExpressionDependency extends NullDependency {
158
177
  }
159
178
  }
160
179
 
161
- makeSerializable(
162
- HarmonyExportExpressionDependency,
180
+ makeSerializable(ESMExportExpressionDependency, [
181
+ "webpack/lib/dependencies/esm/ESMExportExpressionDependency",
182
+ // TODO in the next major release: remove, it restores the packs written
183
+ // under the name the file had before the ESM rename
163
184
  "webpack/lib/dependencies/HarmonyExportExpressionDependency"
164
- );
185
+ ]);
165
186
 
166
- HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTemplate extends (
187
+ ESMExportExpressionDependency.Template = class ESMExportDependencyTemplate extends (
167
188
  NullDependency.Template
168
189
  ) {
169
190
  /**
@@ -188,9 +209,16 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
188
209
  !templateContext.concatenationScope.isWrapped()
189
210
  ? templateContext.concatenationScope
190
211
  : undefined;
191
- const dep = /** @type {HarmonyExportExpressionDependency} */ (dependency);
212
+ const dep = /** @type {ESMExportExpressionDependency} */ (dependency);
192
213
  const { declarationId } = dep;
193
214
  const exportsName = module.exportsArgument;
215
+ const meta = moduleGraph.getMetaIfExisting(module);
216
+
217
+ const onDemand =
218
+ !concatenationScope &&
219
+ meta !== undefined &&
220
+ meta.onDemandExports === true;
221
+
194
222
  if (declarationId) {
195
223
  /** @type {string} */
196
224
  let name;
@@ -218,9 +246,12 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
218
246
  const map = new Map();
219
247
  map.set(used, {
220
248
  value: `/* export default binding */ ${name}`,
221
- type: ExportBindingType.Getter
249
+ type: ExportBindingType.Getter,
250
+ finalName: name
222
251
  });
223
- initFragments.push(new HarmonyExportInitFragment(exportsName, map));
252
+ initFragments.push(
253
+ new ESMExportInitFragment(exportsName, map, undefined, onDemand)
254
+ );
224
255
  }
225
256
 
226
257
  source.replace(
@@ -235,12 +266,12 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
235
266
  (concatenationScope || used)
236
267
  ) {
237
268
  // Fix .name for anonymous default export function declarations
238
- // see test/test262-cases/test/language/module-code/instn-named-bndng-dflt-fun-anon.js cspell:disable-line
269
+ // see test/external/test262-cases/test/language/module-code/instn-named-bndng-dflt-fun-anon.js cspell:disable-line
239
270
  runtimeRequirements.add(RuntimeGlobals.setAnonymousDefaultName);
240
271
  initFragments.push(
241
272
  new InitFragment(
242
273
  `${RuntimeGlobals.setAnonymousDefaultName}(${name});\n`,
243
- InitFragment.STAGE_HARMONY_EXPORTS,
274
+ InitFragment.STAGE_ESM_EXPORTS,
244
275
  2
245
276
  )
246
277
  );
@@ -258,15 +289,16 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
258
289
  const used = moduleGraph
259
290
  .getExportsInfo(module)
260
291
  .getUsedName(DEFAULT_EXPORT_NAME, runtime);
261
- if (used instanceof InlinedUsedName) {
292
+ if (isInlinedUsedName(used)) {
262
293
  content = `/* inlined harmony default export */ const ${name} = `;
263
294
  } else if (used) {
264
295
  defaultIsUsed = true;
265
296
  runtimeRequirements.add(RuntimeGlobals.exports);
266
297
  // `export default <expr>` binds an immutable const declaration
267
298
  const valueFormat =
268
- /** @type {import("../Module").BuildInfo} */ (module.buildInfo)
269
- .isCircular === false;
299
+ /** @type {import("../../module/Module").BuildInfo} */ (
300
+ module.buildInfo
301
+ ).isCircular === false;
270
302
 
271
303
  /** @type {ExportMap} */
272
304
  const map = new Map();
@@ -274,9 +306,12 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
274
306
  value: name,
275
307
  type: valueFormat
276
308
  ? ExportBindingType.Value
277
- : ExportBindingType.Getter
309
+ : ExportBindingType.Getter,
310
+ finalName: name
278
311
  });
279
- initFragments.push(new HarmonyExportInitFragment(exportsName, map));
312
+ initFragments.push(
313
+ new ESMExportInitFragment(exportsName, map, undefined, onDemand)
314
+ );
280
315
  } else {
281
316
  content = `/* unused harmony default export */ var ${name} = `;
282
317
  }
@@ -288,7 +323,7 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
288
323
  const used = moduleGraph
289
324
  .getExportsInfo(module)
290
325
  .getUsedName(DEFAULT_EXPORT_NAME, runtime);
291
- if (used instanceof InlinedUsedName) {
326
+ if (isInlinedUsedName(used)) {
292
327
  content = `/* inlined harmony default export */ var ${name} = `;
293
328
  } else if (used) {
294
329
  defaultIsUsed = true;
@@ -329,7 +364,7 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
329
364
  );
330
365
  if (dep.isAnonymousDefault && defaultIsUsed) {
331
366
  // Fix .name for anonymous default export expressions
332
- // see test/test262-cases/test/language/module-code/eval-export-dflt-cls-anon.js cspell:disable-line
367
+ // see test/external/test262-cases/test/language/module-code/eval-export-dflt-cls-anon.js cspell:disable-line
333
368
  runtimeRequirements.add(RuntimeGlobals.setAnonymousDefaultName);
334
369
  source.replace(
335
370
  dep.range[1],
@@ -347,4 +382,4 @@ HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTempla
347
382
  }
348
383
  };
349
384
 
350
- module.exports = HarmonyExportExpressionDependency;
385
+ module.exports = ESMExportExpressionDependency;