webpack 5.111.1 → 5.112.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (793) hide show
  1. package/README.md +1 -1
  2. package/bin/webpack.js +13 -7
  3. package/lib/Chunk.js +3 -966
  4. package/lib/Compilation.js +373 -163
  5. package/lib/Compiler.js +31 -44
  6. package/lib/Dependency.js +3 -551
  7. package/lib/DependencyTemplate.js +3 -70
  8. package/lib/EntryPlugin.js +3 -68
  9. package/lib/Entrypoint.js +3 -121
  10. package/lib/ExternalsPlugin.js +3 -92
  11. package/lib/FileSystemInfo.js +3 -4629
  12. package/lib/InitFragment.js +3 -204
  13. package/lib/LibraryTemplatePlugin.js +3 -46
  14. package/lib/ModuleFilenameHelpers.js +3 -400
  15. package/lib/ModuleNotFoundError.js +2 -2
  16. package/lib/MultiCompiler.js +37 -8
  17. package/lib/NormalModule.js +3 -2242
  18. package/lib/NullFactory.js +3 -22
  19. package/lib/ProgressPlugin.js +3 -908
  20. package/lib/RawModule.js +3 -197
  21. package/lib/RequestShortener.js +3 -37
  22. package/lib/SingleEntryPlugin.js +1 -1
  23. package/lib/WebpackError.js +2 -2
  24. package/lib/asset/AssetBytesGenerator.js +21 -13
  25. package/lib/asset/AssetBytesParser.js +12 -10
  26. package/lib/asset/AssetGenerator.js +71 -69
  27. package/lib/asset/AssetModule.js +13 -2
  28. package/lib/asset/AssetModulesPlugin.js +10 -12
  29. package/lib/asset/AssetParser.js +10 -10
  30. package/lib/asset/AssetSourceGenerator.js +23 -15
  31. package/lib/asset/AssetSourceParser.js +12 -10
  32. package/lib/asset/RawDataUrlModule.js +17 -10
  33. package/lib/asset/WebManifestGenerator.js +17 -12
  34. package/lib/asset/WebManifestParser.js +8 -8
  35. package/lib/async-modules/AsyncModuleHelpers.js +12 -5
  36. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
  37. package/lib/async-modules/InferAsyncModulesPlugin.js +9 -3
  38. package/lib/async-modules/isGeneratorLowered.js +3 -3
  39. package/lib/bun/BunTargetPlugin.js +1 -1
  40. package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
  41. package/lib/{Cache.js → cache/Cache.js} +1 -1
  42. package/lib/{CacheFacade.js → cache/CacheFacade.js} +6 -6
  43. package/lib/cache/IdleFileCachePlugin.js +2 -2
  44. package/lib/cache/MemoryCachePlugin.js +2 -2
  45. package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
  46. package/lib/cache/PackFileCacheStrategy.js +13 -19
  47. package/lib/cache/ResolverCachePlugin.js +65 -11
  48. package/lib/cache/mergeEtags.js +1 -1
  49. package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
  50. package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
  51. package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +209 -212
  52. package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
  53. package/lib/config/browserslistTargetHandler.js +1 -1
  54. package/lib/{cli.js → config/cli.js} +14 -164
  55. package/lib/config/defaults.js +166 -59
  56. package/lib/config/getClaimedAssetTypes.js +22 -14
  57. package/lib/config/normalization.js +18 -7
  58. package/lib/config/target.js +11 -1
  59. package/lib/container/ContainerEntryDependency.js +1 -1
  60. package/lib/container/ContainerEntryModule.js +13 -11
  61. package/lib/container/ContainerEntryModuleFactory.js +2 -2
  62. package/lib/container/ContainerExposedDependency.js +1 -1
  63. package/lib/container/ContainerPlugin.js +178 -5
  64. package/lib/container/ContainerReferencePlugin.js +75 -14
  65. package/lib/container/FallbackDependency.js +1 -1
  66. package/lib/container/FallbackItemDependency.js +1 -1
  67. package/lib/container/FallbackModule.js +12 -10
  68. package/lib/container/FallbackModuleFactory.js +2 -2
  69. package/lib/container/HoistContainerReferencesPlugin.js +10 -11
  70. package/lib/container/ModuleFederationPlugin.js +306 -7
  71. package/lib/container/RemoteModule.js +14 -10
  72. package/lib/container/RemoteRuntimeModule.js +5 -5
  73. package/lib/container/RemoteToExternalDependency.js +1 -1
  74. package/lib/container/moduleFederationHooks.js +1 -1
  75. package/lib/context/ContextModule.js +37 -26
  76. package/lib/context/ContextModuleFactory.js +14 -11
  77. package/lib/context/ContextReplacementPlugin.js +6 -12
  78. package/lib/css/CssGenerator.js +78 -68
  79. package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
  80. package/lib/css/CssLoadingRuntimeModule.js +77 -44
  81. package/lib/css/CssModule.js +37 -29
  82. package/lib/css/CssModulesPlugin.js +129 -45
  83. package/lib/css/CssParser.js +714 -322
  84. package/lib/css/CssServerStylesRuntimeModule.js +3 -3
  85. package/lib/{util → css}/conventions.js +1 -1
  86. package/lib/css/cssMinify.js +110 -37
  87. package/lib/css/data.js +6990 -5125
  88. package/lib/css/syntax-parser.js +20734 -0
  89. package/lib/css/syntax-printer.js +6092 -0
  90. package/lib/css/syntax.js +37 -18686
  91. package/lib/debug/ProfilingPlugin.js +106 -51
  92. package/lib/{DefinePlugin.js → define/DefinePlugin.js} +416 -55
  93. package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +19 -15
  94. package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +6 -4
  95. package/lib/deno/DenoTargetPlugin.js +1 -1
  96. package/lib/dependencies/ConstDependency.js +3 -120
  97. package/lib/dependencies/ContextElementDependency.js +5 -172
  98. package/lib/dependencies/NullDependency.js +3 -37
  99. package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
  100. package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -11
  101. package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
  102. package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
  103. package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
  104. package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
  105. package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +14 -11
  106. package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
  107. package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
  108. package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
  109. package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
  110. package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
  111. package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
  112. package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
  113. package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
  114. package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
  115. package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -36
  116. package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
  117. package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +154 -92
  118. package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
  119. package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +36 -33
  120. package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +17 -16
  121. package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +48 -39
  122. package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
  123. package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
  124. package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
  125. package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
  126. package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
  127. package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +9 -6
  128. package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
  129. package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
  130. package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
  131. package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
  132. package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
  133. package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
  134. package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
  135. package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
  136. package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
  137. package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
  138. package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
  139. package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
  140. package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
  141. package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
  142. package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
  143. package/lib/dependencies/context/ContextElementDependency.js +198 -0
  144. package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
  145. package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +10 -11
  146. package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
  147. package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
  148. package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +7 -10
  149. package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +17 -19
  150. package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
  151. package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
  152. package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
  153. package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +21 -17
  154. package/lib/dependencies/core/ConstDependency.js +131 -0
  155. package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
  156. package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
  157. package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
  158. package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
  159. package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
  160. package/lib/dependencies/core/NullDependency.js +44 -0
  161. package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
  162. package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
  163. package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -99
  164. package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +24 -19
  165. package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
  166. package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
  167. package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +25 -22
  168. package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
  169. package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
  170. package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
  171. package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
  172. package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +20 -20
  173. package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
  174. package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
  175. package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
  176. package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
  177. package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
  178. package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +146 -133
  179. package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
  180. package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +78 -37
  181. package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -12
  182. package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
  183. package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +86 -68
  184. package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +104 -100
  185. package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +36 -51
  186. package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
  187. package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +98 -60
  188. package/lib/dependencies/esm/ESMLiveExportDependency.js +311 -0
  189. package/lib/dependencies/esm/ESMLiveExportParserPlugin.js +862 -0
  190. package/lib/dependencies/esm/ESMModulesPlugin.js +205 -0
  191. package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
  192. package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -18
  193. package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +5 -7
  194. package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
  195. package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
  196. package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
  197. package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
  198. package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
  199. package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
  200. package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
  201. package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +52 -151
  202. package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -15
  203. package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -23
  204. package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -18
  205. package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
  206. package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
  207. package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
  208. package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
  209. package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +22 -25
  210. package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
  211. package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
  212. package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
  213. package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
  214. package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
  215. package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +122 -103
  216. package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
  217. package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
  218. package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
  219. package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
  220. package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
  221. package/lib/{url → dependencies/url}/URLParserPlugin.js +17 -19
  222. package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
  223. package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
  224. package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
  225. package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
  226. package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +82 -53
  227. package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
  228. package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
  229. package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
  230. package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
  231. package/lib/devtool/ModuleFilenameHelpers.js +413 -0
  232. package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
  233. package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +155 -27
  234. package/lib/{util → devtool}/generateDebugId.js +1 -1
  235. package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
  236. package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
  237. package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
  238. package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
  239. package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
  240. package/lib/dll/DelegatedModule.js +23 -21
  241. package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
  242. package/lib/dll/DelegatedPlugin.js +1 -1
  243. package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
  244. package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
  245. package/lib/dll/DllEntryPlugin.js +3 -3
  246. package/lib/dll/DllModule.js +14 -10
  247. package/lib/dll/DllModuleFactory.js +3 -3
  248. package/lib/dll/DllPlugin.js +18 -6
  249. package/lib/dll/DllReferencePlugin.js +103 -30
  250. package/lib/dll/LibManifestPlugin.js +9 -7
  251. package/lib/electron/ElectronTargetPlugin.js +2 -2
  252. package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
  253. package/lib/{dependencies → entry}/EntryDependency.js +11 -2
  254. package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
  255. package/lib/entry/EntryPlugin.js +75 -0
  256. package/lib/errors/AbstractMethodError.js +1 -1
  257. package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
  258. package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
  259. package/lib/errors/BuildCycleError.js +1 -1
  260. package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
  261. package/lib/errors/ChunkRenderError.js +1 -1
  262. package/lib/errors/CodeGenerationError.js +1 -1
  263. package/lib/errors/CommentCompilationWarning.js +1 -1
  264. package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
  265. package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
  266. package/lib/errors/DeprecatedOptionWarning.js +30 -0
  267. package/lib/errors/DllManifestError.js +26 -0
  268. package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
  269. package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
  270. package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
  271. package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
  272. package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +9 -6
  273. package/lib/errors/ExternalStarReexportError.js +2 -2
  274. package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
  275. package/lib/errors/HookWebpackError.js +6 -5
  276. package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
  277. package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
  278. package/lib/errors/JSONParseError.js +4 -4
  279. package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
  280. package/lib/errors/ModuleBuildError.js +1 -1
  281. package/lib/errors/ModuleDependencyError.js +2 -2
  282. package/lib/errors/ModuleDependencyWarning.js +2 -2
  283. package/lib/errors/ModuleError.js +1 -1
  284. package/lib/errors/ModuleHashingError.js +1 -1
  285. package/lib/errors/ModuleNotFoundError.js +3 -3
  286. package/lib/errors/ModuleParseError.js +1 -1
  287. package/lib/errors/ModuleRestoreError.js +1 -1
  288. package/lib/errors/ModuleStoreError.js +1 -1
  289. package/lib/errors/ModuleWarning.js +1 -1
  290. package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
  291. package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
  292. package/lib/errors/NodeStuffInWebError.js +7 -2
  293. package/lib/errors/PathVariableError.js +31 -0
  294. package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
  295. package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
  296. package/lib/errors/RuntimeModuleGenerationError.js +51 -0
  297. package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
  298. package/lib/errors/SystemImportDeprecationWarning.js +43 -0
  299. package/lib/errors/UnmergeableEntryExportsError.js +34 -0
  300. package/lib/errors/UnsupportedFeatureWarning.js +1 -1
  301. package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
  302. package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
  303. package/lib/errors/WebpackError.js +13 -3
  304. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
  305. package/lib/esm/ModuleChunkFormatPlugin.js +55 -20
  306. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
  307. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
  308. package/lib/{ExternalModule.js → externals/ExternalModule.js} +90 -63
  309. package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +42 -41
  310. package/lib/externals/ExternalsPlugin.js +99 -0
  311. package/lib/fs/FileSystemInfo.js +4642 -0
  312. package/lib/{util → fs}/fs.js +22 -9
  313. package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
  314. package/lib/graph/Chunk.js +985 -0
  315. package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +192 -80
  316. package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
  317. package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
  318. package/lib/graph/Dependency.js +634 -0
  319. package/lib/graph/Entrypoint.js +136 -0
  320. package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +131 -83
  321. package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
  322. package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +44 -33
  323. package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
  324. package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +169 -76
  325. package/lib/{util → graph}/findGraphRoots.js +15 -9
  326. package/lib/graph/isDependencyKind.js +23 -0
  327. package/lib/hmr/HotModuleReplacement.runtime.js +12 -11
  328. package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +51 -57
  329. package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
  330. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +25 -26
  331. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
  332. package/lib/hmr/LazyCompilationPlugin.js +32 -28
  333. package/lib/html/HtmlGenerator.js +132 -60
  334. package/lib/html/HtmlModule.js +16 -2
  335. package/lib/html/HtmlModulesPlugin.js +184 -87
  336. package/lib/html/HtmlParser.js +511 -160
  337. package/lib/html/builtinEmbeddedRenderer.js +70 -25
  338. package/lib/html/data.js +44 -22
  339. package/lib/html/htmlMinify.js +114 -41
  340. package/lib/html/syntax-parser.js +15795 -0
  341. package/lib/html/syntax-printer.js +1033 -0
  342. package/lib/html/syntax.js +37 -13952
  343. package/lib/html/xmlMinify.js +70 -0
  344. package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
  345. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  346. package/lib/ids/HashedModuleIdsPlugin.js +32 -5
  347. package/lib/ids/IdHelpers.js +4 -4
  348. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  349. package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
  350. package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
  351. package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
  352. package/lib/ids/SyncModuleIdsPlugin.js +3 -3
  353. package/lib/{util → ids}/numberHash.js +1 -1
  354. package/lib/index.js +312 -105
  355. package/lib/{APIPlugin.js → javascript/APIPlugin.js} +31 -37
  356. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
  357. package/lib/javascript/BasicEvaluatedExpression.js +9 -9
  358. package/lib/javascript/ChunkHelpers.js +64 -4
  359. package/lib/javascript/CommonJsChunkFormatPlugin.js +5 -13
  360. package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
  361. package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +75 -8
  362. package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
  363. package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
  364. package/lib/javascript/JavascriptGenerator.js +32 -27
  365. package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +8 -20
  366. package/lib/javascript/JavascriptModule.js +14 -3
  367. package/lib/javascript/JavascriptModulesPlugin.js +441 -214
  368. package/lib/javascript/JavascriptParser.js +318 -144
  369. package/lib/javascript/JavascriptParserHelpers.js +1 -1
  370. package/lib/javascript/MergedEntryExports.js +196 -0
  371. package/lib/javascript/ScopeAnalyzer.js +3924 -13
  372. package/lib/javascript/StartupHelpers.js +6 -6
  373. package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +13 -19
  374. package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
  375. package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
  376. package/lib/javascript/data.js +533 -122
  377. package/lib/javascript/jsMinify.js +272 -0
  378. package/lib/javascript/regexp.js +67 -32
  379. package/lib/javascript/syntax-parser.js +19169 -0
  380. package/lib/javascript/syntax-printer-data.js +1099 -0
  381. package/lib/javascript/syntax-printer.js +53878 -0
  382. package/lib/javascript/syntax.js +20 -11274
  383. package/lib/json/JsonData.js +1 -1
  384. package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
  385. package/lib/json/JsonGenerator.js +24 -16
  386. package/lib/json/JsonModule.js +13 -2
  387. package/lib/json/JsonModulesPlugin.js +1 -1
  388. package/lib/json/JsonParser.js +11 -10
  389. package/lib/json/jsonMinify.js +69 -0
  390. package/lib/library/AbstractLibraryPlugin.js +28 -15
  391. package/lib/library/AmdLibraryPlugin.js +4 -4
  392. package/lib/library/AssignLibraryPlugin.js +28 -12
  393. package/lib/library/EnableLibraryPlugin.js +1 -1
  394. package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
  395. package/lib/library/JsonpLibraryPlugin.js +2 -2
  396. package/lib/library/LibraryTemplatePlugin.js +53 -0
  397. package/lib/library/ModuleLibraryPlugin.js +557 -187
  398. package/lib/library/SystemLibraryPlugin.js +6 -8
  399. package/lib/library/UmdLibraryPlugin.js +3 -4
  400. package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
  401. package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
  402. package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
  403. package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
  404. package/lib/loaders/LoaderRunner.js +94 -46
  405. package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
  406. package/lib/loaders/loadLoader.js +16 -10
  407. package/lib/logging/Logger.js +7 -9
  408. package/lib/logging/ProgressPlugin.js +957 -0
  409. package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
  410. package/lib/{Generator.js → module/Generator.js} +33 -23
  411. package/lib/{Module.js → module/Module.js} +121 -53
  412. package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
  413. package/lib/module/NormalModule.js +2350 -0
  414. package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +64 -71
  415. package/lib/module/NullFactory.js +29 -0
  416. package/lib/{Parser.js → module/Parser.js} +12 -5
  417. package/lib/module/RawModule.js +208 -0
  418. package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
  419. package/lib/{util → module}/extractSourceMap.js +71 -20
  420. package/lib/{util → module}/findCaseMismatch.js +4 -4
  421. package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
  422. package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
  423. package/lib/{dependencies → node}/ExternalModuleInitFragment.js +7 -6
  424. package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
  425. package/lib/node/NodeEnvironmentPlugin.js +11 -1
  426. package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
  427. package/lib/node/NodeTargetPlugin.js +1 -1
  428. package/lib/node/NodeWatchFileSystem.js +58 -6
  429. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
  430. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +13 -19
  431. package/lib/node/ReadFileCompileWasmPlugin.js +9 -11
  432. package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
  433. package/lib/node/nodeConsole.js +6 -7
  434. package/lib/optimize/AggressiveMergingPlugin.js +2 -2
  435. package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
  436. package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +14 -14
  437. package/lib/optimize/ConcatenatedModule.js +231 -220
  438. package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
  439. package/lib/optimize/ConstExportsPlugin.js +7 -7
  440. package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
  441. package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
  442. package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +23 -28
  443. package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +44 -19
  444. package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
  445. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
  446. package/lib/optimize/InlineExports.js +12 -7
  447. package/lib/optimize/InnerGraph.js +5 -13
  448. package/lib/optimize/InnerGraphPlugin.js +10 -10
  449. package/lib/optimize/LazyBarrels.js +620 -0
  450. package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
  451. package/lib/optimize/LimitChunkCountPlugin.js +16 -7
  452. package/lib/optimize/MangleExportsPlugin.js +5 -5
  453. package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
  454. package/lib/optimize/MinChunkSizePlugin.js +9 -6
  455. package/lib/optimize/ModuleConcatenationPlugin.js +28 -22
  456. package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
  457. package/lib/optimize/RealContentHashPlugin.js +18 -13
  458. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
  459. package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
  460. package/lib/optimize/SideEffectsFlagPlugin.js +24 -38
  461. package/lib/optimize/SplitChunksPlugin.js +719 -174
  462. package/lib/{util → optimize}/TupleQueue.js +9 -9
  463. package/lib/optimize/chunkSetIntersections.js +437 -0
  464. package/lib/{util → optimize}/deterministicGrouping.js +17 -17
  465. package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
  466. package/lib/{CleanPlugin.js → output/CleanPlugin.js} +69 -25
  467. package/lib/{CopyPlugin.js → output/CopyPlugin.js} +144 -70
  468. package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
  469. package/lib/output/SSRManifestPlugin.js +349 -0
  470. package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
  471. package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
  472. package/lib/performance/BroadContextsPlugin.js +4 -4
  473. package/lib/performance/CacheEffectivenessPlugin.js +2 -3
  474. package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
  475. package/lib/performance/DuplicateModulesPlugin.js +3 -4
  476. package/lib/performance/DuplicatePackagesPlugin.js +3 -3
  477. package/lib/performance/DynamicExportsPlugin.js +2 -2
  478. package/lib/performance/EvalUsagePlugin.js +4 -6
  479. package/lib/performance/HotspotsPlugin.js +39 -14
  480. package/lib/performance/LargeModulesPlugin.js +2 -3
  481. package/lib/performance/LegacyJavascriptPlugin.js +1 -2
  482. package/lib/performance/MissingSideEffectsPlugin.js +2 -3
  483. package/lib/performance/MissingSourceMapsPlugin.js +5 -6
  484. package/lib/performance/PureAnnotationsPlugin.js +19 -13
  485. package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
  486. package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
  487. package/lib/performance/SizeLimitsPlugin.js +11 -12
  488. package/lib/performance/TopLevelThisPlugin.js +22 -13
  489. package/lib/performance/UnsplitVendorsPlugin.js +1 -2
  490. package/lib/performance/UnusedAliasesPlugin.js +6 -7
  491. package/lib/performance/UnusedAssetsPlugin.js +5 -5
  492. package/lib/performance/UnusedDefinesPlugin.js +2 -2
  493. package/lib/performance/UnusedExternalsPlugin.js +3 -4
  494. package/lib/performance/UnusedFederationPlugin.js +2 -4
  495. package/lib/performance/UnusedModulesPlugin.js +5 -4
  496. package/lib/performance/getModuleSize.js +1 -1
  497. package/lib/performance/hasOnlyUnusedExports.js +4 -4
  498. package/lib/performance/isOnlyReexported.js +7 -6
  499. package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
  500. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
  501. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
  502. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
  503. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
  504. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
  505. package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
  506. package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
  507. package/lib/prefetch/ResourceHintPlugin.js +66 -45
  508. package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
  509. package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
  510. package/lib/prefetch/parseResourceHintOptions.js +4 -3
  511. package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
  512. package/lib/{dependencies → provide}/ProvidedDependency.js +50 -17
  513. package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
  514. package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
  515. package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
  516. package/lib/resolve/getResolveOptionsKey.js +59 -0
  517. package/lib/rules/BasicEffectRulePlugin.js +1 -1
  518. package/lib/rules/RuleSetCompiler.js +42 -51
  519. package/lib/rules/UseEffectRulePlugin.js +1 -3
  520. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
  521. package/lib/runtime/AsyncModuleRuntimeModule.js +14 -5
  522. package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
  523. package/lib/runtime/BaseUriRuntimeModule.js +3 -3
  524. package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
  525. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
  526. package/lib/runtime/CompatRuntimeModule.js +4 -4
  527. package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
  528. package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
  529. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  530. package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
  531. package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
  532. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
  533. package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
  534. package/lib/runtime/GetChunkFilenameRuntimeModule.js +7 -11
  535. package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
  536. package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
  537. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
  538. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
  539. package/lib/runtime/GlobalRuntimeModule.js +3 -3
  540. package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
  541. package/lib/runtime/HelperRuntimeModule.js +16 -1
  542. package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
  543. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
  544. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
  545. package/lib/runtime/NonceRuntimeModule.js +2 -2
  546. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  547. package/lib/runtime/PublicPathRuntimeModule.js +2 -2
  548. package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
  549. package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +24 -1
  550. package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
  551. package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
  552. package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +50 -50
  553. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
  554. package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
  555. package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
  556. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
  557. package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
  558. package/lib/runtime/SystemContextRuntimeModule.js +2 -2
  559. package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
  560. package/lib/runtime/WorkerRuntimeModule.js +1 -1
  561. package/lib/runtime/baseUri.js +1 -1
  562. package/lib/schemes/DataUriPlugin.js +1 -1
  563. package/lib/schemes/HttpUriPlugin.js +68 -13
  564. package/lib/schemes/VirtualUrlPlugin.js +52 -16
  565. package/lib/serialization/AggregateErrorSerializer.js +4 -4
  566. package/lib/serialization/BinaryMiddleware.js +4 -1
  567. package/lib/serialization/ErrorObjectSerializer.js +2 -5
  568. package/lib/serialization/FileMiddleware.js +3 -3
  569. package/lib/serialization/ObjectMiddleware.js +62 -29
  570. package/lib/serialization/PlainObjectSerializer.js +3 -7
  571. package/lib/serialization/Serializer.js +21 -11
  572. package/lib/serialization/SerializerMiddleware.js +10 -8
  573. package/lib/serialization/SingleItemMiddleware.js +4 -2
  574. package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
  575. package/lib/sharing/ConsumeSharedModule.js +18 -14
  576. package/lib/sharing/ConsumeSharedPlugin.js +148 -42
  577. package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
  578. package/lib/sharing/ProvideForSharedDependency.js +9 -1
  579. package/lib/sharing/ProvideSharedDependency.js +1 -1
  580. package/lib/sharing/ProvideSharedModule.js +11 -9
  581. package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
  582. package/lib/sharing/ProvideSharedPlugin.js +111 -20
  583. package/lib/sharing/SharePlugin.js +102 -9
  584. package/lib/sharing/ShareRuntimeModule.js +6 -6
  585. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  586. package/lib/{util → sharing}/semver.js +14 -16
  587. package/lib/sharing/utils.js +59 -2
  588. package/lib/stats/DefaultStatsFactoryPlugin.js +57 -54
  589. package/lib/stats/DefaultStatsPresetPlugin.js +3 -7
  590. package/lib/stats/DefaultStatsPrinterPlugin.js +15 -14
  591. package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
  592. package/lib/{Stats.js → stats/Stats.js} +4 -4
  593. package/lib/stats/StatsFactory.js +208 -37
  594. package/lib/stats/StatsPrinter.js +126 -13
  595. package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
  596. package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
  597. package/lib/template/DependencyTemplate.js +77 -0
  598. package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
  599. package/lib/template/InitFragment.js +223 -0
  600. package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
  601. package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
  602. package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
  603. package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +158 -95
  604. package/lib/{Template.js → template/Template.js} +14 -12
  605. package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
  606. package/lib/typescript/TypeScriptPlugin.js +3 -3
  607. package/lib/util/RequestShortener.js +44 -0
  608. package/lib/util/SortableSet.js +87 -22
  609. package/lib/util/SourceProcessor.js +439 -51
  610. package/lib/util/TupleSet.js +27 -27
  611. package/lib/util/WeakTupleMap.js +20 -16
  612. package/lib/util/buildDiagnostics.js +2 -2
  613. package/lib/util/cleverMerge.js +61 -33
  614. package/lib/util/comparators.js +19 -15
  615. package/lib/util/concatenate.js +28 -147
  616. package/lib/util/createMappings.js +111 -0
  617. package/lib/util/dataURL.js +96 -15
  618. package/lib/util/deprecation.js +5 -4
  619. package/lib/util/extractComments.js +118 -0
  620. package/lib/util/formatLocation.js +1 -1
  621. package/lib/util/globUtils.js +198 -20
  622. package/lib/util/haltVisitors.js +51 -0
  623. package/lib/util/handlerKeys.js +2 -2
  624. package/lib/util/identifier.js +117 -1
  625. package/lib/util/implicitTypeLoaderFallback.js +6 -4
  626. package/lib/util/internalSerializables.js +296 -102
  627. package/lib/util/magicComment.js +12 -7
  628. package/lib/util/makeSerializable.js +28 -7
  629. package/lib/util/memoize.js +1 -1
  630. package/lib/util/parseJson.js +2 -2
  631. package/lib/util/preloadModuleType.js +5 -2
  632. package/lib/util/registerExternalSerializer.js +2 -2
  633. package/lib/util/removeBOM.js +1 -1
  634. package/lib/util/runtime.js +1 -1
  635. package/lib/util/serialization.js +35 -28
  636. package/lib/util/source.js +2 -2
  637. package/lib/util/terminalColors.js +161 -0
  638. package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
  639. package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
  640. package/lib/{wasm-async → wasm}/AsyncWasmModule.js +19 -5
  641. package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +17 -9
  642. package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +24 -15
  643. package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
  644. package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +14 -12
  645. package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
  646. package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +11 -13
  647. package/lib/wasm/wasmModuleFilename.js +2 -2
  648. package/lib/wasm-sync/SyncWasmModule.js +18 -3
  649. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
  650. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
  651. package/lib/wasm-sync/WebAssemblyGenerator.js +22 -16
  652. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +28 -21
  653. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
  654. package/lib/wasm-sync/WebAssemblyParser.js +15 -17
  655. package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
  656. package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
  657. package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
  658. package/lib/{Watching.js → watch/Watching.js} +8 -8
  659. package/lib/web/FetchCompileAsyncWasmPlugin.js +12 -18
  660. package/lib/web/FetchCompileWasmPlugin.js +8 -10
  661. package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
  662. package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
  663. package/lib/web/JsonpTemplatePlugin.js +1 -1
  664. package/lib/webpack.js +27 -17
  665. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
  666. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
  667. package/package.json +57 -36
  668. package/schemas/WebpackOptions.check.js +4 -3
  669. package/schemas/WebpackOptions.d.json.ts +2 -0
  670. package/schemas/WebpackOptions.json +295 -75
  671. package/schemas/plugins/BannerPlugin.check.js +4 -3
  672. package/schemas/plugins/BannerPlugin.json +29 -2
  673. package/schemas/plugins/HtmlGeneratorOptions.check.js +4 -3
  674. package/schemas/plugins/HtmlParserOptions.check.js +4 -3
  675. package/schemas/plugins/IgnorePlugin.check.js +4 -3
  676. package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
  677. package/schemas/plugins/IgnorePlugin.json +1 -1
  678. package/schemas/plugins/LoaderOptionsPlugin.check.js +4 -3
  679. package/schemas/plugins/ManifestPlugin.check.js +4 -3
  680. package/schemas/plugins/ManifestPlugin.json +3 -3
  681. package/schemas/plugins/ProgressPlugin.check.js +4 -3
  682. package/schemas/plugins/ProgressPlugin.json +2 -7
  683. package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
  684. package/schemas/plugins/SSRManifestPlugin.json +20 -0
  685. package/schemas/plugins/SourceMapDevToolPlugin.check.js +4 -3
  686. package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
  687. package/schemas/plugins/WatchIgnorePlugin.check.js +4 -3
  688. package/schemas/plugins/WatchIgnorePlugin.json +12 -3
  689. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +4 -3
  690. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +4 -3
  691. package/schemas/plugins/asset/AssetParserOptions.check.js +4 -3
  692. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +4 -3
  693. package/schemas/plugins/container/ContainerPlugin.check.js +4 -3
  694. package/schemas/plugins/container/ContainerPlugin.json +8 -0
  695. package/schemas/plugins/container/ContainerReferencePlugin.check.js +4 -3
  696. package/schemas/plugins/container/ExternalsType.check.js +4 -3
  697. package/schemas/plugins/container/ModuleFederationPlugin.check.js +4 -3
  698. package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
  699. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +4 -3
  700. package/schemas/plugins/css/CssGeneratorOptions.check.js +4 -3
  701. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +4 -3
  702. package/schemas/plugins/css/CssModuleParserOptions.check.js +4 -3
  703. package/schemas/plugins/css/CssParserOptions.check.js +4 -3
  704. package/schemas/plugins/debug/ProfilingPlugin.check.js +4 -3
  705. package/schemas/plugins/define/DotenvPluginOptions.check.js +7 -0
  706. package/schemas/plugins/define/DotenvPluginOptions.json +3 -0
  707. package/schemas/plugins/dll/DllPlugin.check.js +4 -3
  708. package/schemas/plugins/dll/DllReferencePlugin.check.js +4 -3
  709. package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
  710. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +4 -3
  711. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +4 -3
  712. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +4 -3
  713. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +4 -3
  714. package/schemas/plugins/json/JsonModulesPluginParser.check.js +4 -3
  715. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +4 -3
  716. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +4 -3
  717. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +4 -3
  718. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +4 -3
  719. package/schemas/plugins/output/CleanOptions.check.js +7 -0
  720. package/schemas/plugins/output/CleanOptions.json +3 -0
  721. package/schemas/plugins/schemes/HttpUriPlugin.check.js +4 -3
  722. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +4 -3
  723. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +4 -3
  724. package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
  725. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +4 -3
  726. package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
  727. package/schemas/plugins/sharing/SharePlugin.check.js +4 -3
  728. package/schemas/plugins/sharing/SharePlugin.json +32 -0
  729. package/types.d.ts +20780 -14174
  730. package/lib/LazyBarrel.js +0 -388
  731. package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
  732. package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
  733. package/lib/javascript/ChunkFormatHelpers.js +0 -72
  734. package/lib/javascript/grammar.js +0 -5546
  735. package/lib/javascript/parser.js +0 -1500
  736. package/lib/javascript/regexpData.js +0 -51
  737. package/lib/performance/getSourceModules.js +0 -22
  738. package/lib/util/Semaphore.js +0 -65
  739. package/lib/util/objectToMap.js +0 -15
  740. package/schemas/WebpackOptions.check.d.ts +0 -7
  741. package/schemas/_container.json +0 -155
  742. package/schemas/_sharing.json +0 -118
  743. package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
  744. package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
  745. package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
  746. package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
  747. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
  748. package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
  749. package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
  750. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
  751. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
  752. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
  753. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
  754. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
  755. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
  756. package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
  757. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
  758. package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
  759. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
  760. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
  761. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
  762. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
  763. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
  764. package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
  765. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
  766. package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
  767. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
  768. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
  769. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
  770. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
  771. package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
  772. package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
  773. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
  774. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
  775. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
  776. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
  777. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
  778. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
  779. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
  780. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
  781. package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
  782. /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
  783. /package/lib/{util → css}/topologicalSort.js +0 -0
  784. /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
  785. /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
  786. /package/lib/{util → fs}/StackedCacheMap.js +0 -0
  787. /package/lib/{util → javascript}/StackedMap.js +0 -0
  788. /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
  789. /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
  790. /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
  791. /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
  792. /package/lib/{util → optimize}/Queue.js +0 -0
  793. /package/lib/{util → stats}/smartGrouping.js +0 -0
@@ -6,25 +6,28 @@
6
6
  "use strict";
7
7
 
8
8
  const { SyncWaterfallHook } = require("tapable");
9
- const Generator = require("../Generator");
10
- const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("../ModuleTypeConstants");
11
- const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
9
+ const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
12
10
  const { tryRunOrWebpackError } = require("../errors/HookWebpackError");
11
+ const Generator = require("../module/Generator");
12
+ const {
13
+ WEBASSEMBLY_MODULE_TYPE_ASYNC
14
+ } = require("../module/ModuleTypeConstants");
13
15
  const { compareModulesByFullName } = require("../util/comparators");
14
16
  const createHooksRegistry = require("../util/createHooksRegistry");
17
+ const implicitTypeLoaderFallback = require("../util/implicitTypeLoaderFallback");
15
18
  const lazyModule = require("../util/lazyModule");
16
19
  const preloadModuleType = require("../util/preloadModuleType");
17
20
  const AsyncWasmModule = require("./AsyncWasmModule");
18
21
 
19
22
  /** @import { Source } from "webpack-sources" */
20
- /** @import Chunk from "../Chunk" */
21
- /** @import ChunkGraph from "../ChunkGraph" */
22
- /** @import CodeGenerationResults from "../CodeGenerationResults" */
23
+ /** @import Chunk from "../graph/Chunk" */
24
+ /** @import ChunkGraph from "../graph/ChunkGraph" */
25
+ /** @import CodeGenerationResults from "../module/CodeGenerationResults" */
23
26
  /** @import Compiler from "../Compiler" */
24
- /** @import DependencyTemplates from "../DependencyTemplates" */
25
- /** @import Module from "../Module" */
26
- /** @import ModuleGraph from "../ModuleGraph" */
27
- /** @import RuntimeTemplate from "../RuntimeTemplate" */
27
+ /** @import DependencyTemplates from "../template/DependencyTemplates" */
28
+ /** @import Module from "../module/Module" */
29
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
30
+ /** @import RuntimeTemplate from "../template/RuntimeTemplate" */
28
31
  /** @import WebpackError from "../errors/WebpackError" */
29
32
 
30
33
  const getAsyncWebAssemblyGenerator = lazyModule(() =>
@@ -78,12 +81,25 @@ class AsyncWebAssemblyModulesPlugin {
78
81
  * @returns {void}
79
82
  */
80
83
  apply(compiler) {
84
+ // `"auto"` marks implicit enablement, the one case where loaders win over
85
+ // the built-in type — see `applyExperimentsDefaults`.
86
+ // TODO in the next major release: asyncWebAssembly defaults to `true`, drop this implicit-only fallback.
87
+ const implicitlyEnabled =
88
+ compiler.options.experiments.asyncWebAssembly === "auto";
81
89
  // A binary's name may carry the compilation hash, which the analyzable call site
82
90
  // leaves as a stand-in — so whatever the chunk loading is, the pass that fills it
83
91
  // in has to be there. Applying it twice is a no-op.
84
92
  compiler.hooks.compilation.tap(
85
93
  PLUGIN_NAME,
86
94
  (compilation, { normalModuleFactory }) => {
95
+ if (implicitlyEnabled) {
96
+ implicitTypeLoaderFallback(
97
+ normalModuleFactory,
98
+ PLUGIN_NAME,
99
+ /\.wasm$/i,
100
+ WEBASSEMBLY_MODULE_TYPE_ASYNC
101
+ );
102
+ }
87
103
  const hooks =
88
104
  AsyncWebAssemblyModulesPlugin.getCompilationHooks(compilation);
89
105
  compilation.dependencyFactories.set(
@@ -7,18 +7,17 @@
7
7
 
8
8
  const t = require("@webassemblyjs/ast");
9
9
  const { decode } = require("@webassemblyjs/wasm-parser");
10
- const Parser = require("../Parser");
11
- const StaticExportsDependency = require("../dependencies/StaticExportsDependency");
12
- const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
10
+ const StaticExportsDependency = require("../dependencies/core/StaticExportsDependency");
11
+ const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
12
+ const Parser = require("../module/Parser");
13
13
  const memoize = require("../util/memoize");
14
14
 
15
15
  const getEnvironmentNotSupportAsyncWarning = memoize(() =>
16
16
  require("../errors/EnvironmentNotSupportAsyncWarning")
17
17
  );
18
18
 
19
- /** @import AsyncWasmModule from "./AsyncWasmModule" */
20
- /** @import { BuildInfo, BuildMeta } from "../Module" */
21
- /** @import { ParserState, PreparsedAst } from "../Parser" */
19
+ /** @import AsyncWasmModule, { BuiltAsyncWasmModule } from "./AsyncWasmModule" */
20
+ /** @import { ParserState, PreparsedAst } from "../module/Parser" */
22
21
 
23
22
  const WASM_HEADER = Buffer.from([0x00, 0x61, 0x73, 0x6d]);
24
23
 
@@ -30,7 +29,10 @@ const decoderOpts = {
30
29
  ignoreCustomNameSection: true
31
30
  };
32
31
 
33
- class WebAssemblyParser extends Parser {
32
+ /**
33
+ * @extends {Parser<BuiltAsyncWasmModule>}
34
+ */
35
+ class AsyncWebAssemblyParser extends Parser {
34
36
  /**
35
37
  * Parses the provided source and updates the parser state.
36
38
  * @param {string | Buffer | PreparsedAst} source the source to parse
@@ -39,10 +41,12 @@ class WebAssemblyParser extends Parser {
39
41
  */
40
42
  parse(source, state) {
41
43
  if (!Buffer.isBuffer(source)) {
42
- throw new Error("WebAssemblyParser input must be a Buffer");
44
+ throw new Error("AsyncWebAssemblyParser input must be a Buffer");
43
45
  }
44
46
 
45
- const buildMeta = /** @type {BuildMeta} */ (state.module.buildMeta);
47
+ const { buildInfo, buildMeta } = /** @type {BuiltAsyncWasmModule} */ (
48
+ state.module
49
+ );
46
50
  buildMeta.exportsType = "namespace";
47
51
  buildMeta.async = true;
48
52
 
@@ -53,8 +57,6 @@ class WebAssemblyParser extends Parser {
53
57
  );
54
58
 
55
59
  // flag it as async module
56
- const buildInfo = /** @type {BuildInfo} */ (state.module.buildInfo);
57
-
58
60
  buildInfo.strict = true;
59
61
 
60
62
  if (/** @type {AsyncWasmModule} */ (state.module).phase === "source") {
@@ -103,4 +105,4 @@ class WebAssemblyParser extends Parser {
103
105
  }
104
106
  }
105
107
 
106
- module.exports = WebAssemblyParser;
108
+ module.exports = AsyncWebAssemblyParser;
@@ -142,7 +142,7 @@ class EnableWasmLoadingPlugin {
142
142
  }
143
143
 
144
144
  if (compiler.options.experiments.asyncWebAssembly) {
145
- const UniversalCompileAsyncWasmPlugin = require("../wasm-async/UniversalCompileAsyncWasmPlugin");
145
+ const UniversalCompileAsyncWasmPlugin = require("./UniversalCompileAsyncWasmPlugin");
146
146
 
147
147
  new UniversalCompileAsyncWasmPlugin().apply(compiler);
148
148
  }
@@ -5,14 +5,16 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("../ModuleTypeConstants");
9
- const RuntimeGlobals = require("../RuntimeGlobals");
10
- const Template = require("../Template");
11
- const { usesFullHashDigest } = require("../TemplatedPathPlugin");
12
- const AsyncWasmCompileRuntimeModule = require("../wasm-async/AsyncWasmCompileRuntimeModule");
13
- const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRuntimeModule");
8
+ const {
9
+ WEBASSEMBLY_MODULE_TYPE_ASYNC
10
+ } = require("../module/ModuleTypeConstants");
11
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
12
+ const Template = require("../template/Template");
13
+ const { usesFullHashDigest } = require("../template/TemplatedPathPlugin");
14
+ const AsyncWasmCompileRuntimeModule = require("./AsyncWasmCompileRuntimeModule");
15
+ const AsyncWasmLoadingRuntimeModule = require("./AsyncWasmLoadingRuntimeModule");
14
16
 
15
- /** @import Chunk from "../Chunk" */
17
+ /** @import Chunk from "../graph/Chunk" */
16
18
  /** @import Compiler from "../Compiler" */
17
19
  /** @import { RuntimeSpec } from "../util/runtime" */
18
20
 
@@ -117,9 +119,7 @@ class UniversalCompileAsyncWasmPlugin {
117
119
  chunk,
118
120
  new AsyncWasmLoadingRuntimeModule({
119
121
  fullHashDigest: usesFullHashDigest(
120
- /** @type {string} */ (
121
- compilation.outputOptions.webassemblyModuleFilename
122
- )
122
+ compilation.outputOptions.webassemblyModuleFilename
123
123
  ),
124
124
  generateBeforeLoadBinaryCode,
125
125
  generateLoadBinaryCode,
@@ -145,9 +145,7 @@ class UniversalCompileAsyncWasmPlugin {
145
145
  chunk,
146
146
  new AsyncWasmCompileRuntimeModule({
147
147
  fullHashDigest: usesFullHashDigest(
148
- /** @type {string} */ (
149
- compilation.outputOptions.webassemblyModuleFilename
150
- )
148
+ compilation.outputOptions.webassemblyModuleFilename
151
149
  ),
152
150
  generateBeforeLoadBinaryCode,
153
151
  generateLoadBinaryCode,
@@ -5,12 +5,12 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const RuntimeGlobals = require("../RuntimeGlobals");
8
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
9
9
  const {
10
10
  getPresentKinds,
11
11
  reEncodeDigest,
12
12
  usesFullHashDigest
13
- } = require("../TemplatedPathPlugin");
13
+ } = require("../template/TemplatedPathPlugin");
14
14
 
15
15
  /** @import Compilation from "../Compilation" */
16
16
 
@@ -4,11 +4,16 @@
4
4
 
5
5
  "use strict";
6
6
 
7
- const NormalModule = require("../NormalModule");
7
+ const NormalModule = require("../module/NormalModule");
8
8
  const makeSerializable = require("../util/makeSerializable");
9
9
 
10
- /** @import { BuildMeta } from "../Module" */
11
- /** @import { NormalModuleCreateData } from "../NormalModule" */
10
+ /** @import { BuildMeta } from "../module/Module" */
11
+ /**
12
+ * @import {
13
+ * NormalModuleBuildInfo,
14
+ * NormalModuleCreateData
15
+ * } from "../module/NormalModule"
16
+ */
12
17
 
13
18
  /**
14
19
  * Defines the build meta properties specific to sync wasm modules.
@@ -18,6 +23,16 @@ const makeSerializable = require("../util/makeSerializable");
18
23
 
19
24
  /** @typedef {BuildMeta & KnownSyncWasmModuleBuildMeta} SyncWasmModuleBuildMeta */
20
25
 
26
+ /**
27
+ * A sync wasm module before or after its build, typed with its build meta.
28
+ * @typedef {NormalModule & { buildMeta?: SyncWasmModuleBuildMeta }} SyncWasmNormalModule
29
+ */
30
+
31
+ /**
32
+ * A built sync wasm module, typed with its build info and build meta.
33
+ * @typedef {NormalModule & { buildInfo: NormalModuleBuildInfo, buildMeta: SyncWasmModuleBuildMeta }} BuiltSyncWasmModule
34
+ */
35
+
21
36
  /**
22
37
  * Module class for `webassembly/sync` modules. Wasm-specific properties should live here instead of `NormalModule`.
23
38
  */
@@ -4,22 +4,22 @@
4
4
 
5
5
  "use strict";
6
6
 
7
- const RuntimeGlobals = require("../RuntimeGlobals");
8
- const RuntimeModule = require("../RuntimeModule");
9
- const Template = require("../Template");
7
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
8
+ const RuntimeModule = require("../runtime/RuntimeModule");
9
+ const Template = require("../template/Template");
10
10
  const { compareModulesByIdentifier } = require("../util/comparators");
11
11
  const { fullHashPathData } = require("../wasm/wasmModuleFilename");
12
12
  const WebAssemblyUtils = require("./WebAssemblyUtils");
13
13
 
14
14
  /** @import { Signature } from "@webassemblyjs/ast" */
15
- /** @import Chunk from "../Chunk" */
16
- /** @import ChunkGraph, { ModuleId } from "../ChunkGraph" */
15
+ /** @import Chunk from "../graph/Chunk" */
16
+ /** @import ChunkGraph, { ModuleId } from "../graph/ChunkGraph" */
17
17
  /** @import Compilation from "../Compilation" */
18
- /** @import Module, { ReadOnlyRuntimeRequirements } from "../Module" */
19
- /** @import ModuleGraph from "../ModuleGraph" */
18
+ /** @import Module, { ReadOnlyRuntimeRequirements } from "../module/Module" */
19
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
20
20
  /** @import { RuntimeSpec } from "../util/runtime" */
21
21
 
22
- // TODO webpack 6 remove the whole folder
22
+ // TODO in the next major release: remove the whole folder
23
23
 
24
24
  // Get all wasm modules
25
25
  /**
@@ -5,12 +5,12 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ const UnsupportedWebAssemblyFeatureError = require("../errors/UnsupportedWebAssemblyFeatureError");
8
9
  const formatLocation = require("../util/formatLocation");
9
- const UnsupportedWebAssemblyFeatureError = require("./UnsupportedWebAssemblyFeatureError");
10
10
 
11
11
  /** @import Compiler from "../Compiler" */
12
- /** @import Dependency from "../Dependency" */
13
- /** @import Module from "../Module" */
12
+ /** @import Dependency from "../graph/Dependency" */
13
+ /** @import Module from "../module/Module" */
14
14
  /** @import { SyncWasmModuleBuildMeta } from "./SyncWasmModule" */
15
15
 
16
16
  const PLUGIN_NAME = "WasmFinalizeExportsPlugin";
@@ -10,16 +10,16 @@ const { moduleContextFromModuleAST } = require("@webassemblyjs/ast");
10
10
  const { addWithAST, editWithAST } = require("@webassemblyjs/wasm-edit");
11
11
  const { decode } = require("@webassemblyjs/wasm-parser");
12
12
  const { RawSource } = require("webpack-sources");
13
- const Generator = require("../Generator");
14
- const { WEBASSEMBLY_TYPES } = require("../ModuleSourceTypeConstants");
15
- const WebAssemblyExportImportedDependency = require("../dependencies/WebAssemblyExportImportedDependency");
13
+ const isDependencyKind = require("../graph/isDependencyKind");
14
+ const Generator = require("../module/Generator");
15
+ const { WEBASSEMBLY_TYPES } = require("../module/ModuleSourceTypeConstants");
16
16
  const WebAssemblyUtils = require("./WebAssemblyUtils");
17
17
 
18
+ /** @import { SyncWasmNormalModule } from "./SyncWasmModule" */
18
19
  /** @import { Source } from "webpack-sources" */
19
- /** @import { GenerateContext, UpdateHashContext } from "../Generator" */
20
- /** @import Module, { SourceType, SourceTypes } from "../Module" */
21
- /** @import ModuleGraph from "../ModuleGraph" */
22
- /** @import NormalModule from "../NormalModule" */
20
+ /** @import { GenerateContext, UpdateHashContext } from "../module/Generator" */
21
+ /** @import Module, { SourceType, SourceTypes } from "../module/Module" */
22
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
23
23
  /** @import Hash from "../util/Hash" */
24
24
  /** @import { RuntimeSpec } from "../util/runtime" */
25
25
  /** @import { UsedWasmDependency } from "./WebAssemblyUtils" */
@@ -420,6 +420,14 @@ const getUsedDependencyMap = (moduleGraph, module, mangle) => {
420
420
  * @property {boolean=} mangleImports mangle imports
421
421
  */
422
422
 
423
+ /**
424
+ * The module type the JSDoc inherited from `Generator` names.
425
+ * @typedef {SyncWasmNormalModule} TModule
426
+ */
427
+
428
+ /**
429
+ * @extends {Generator<TModule>}
430
+ */
423
431
  class WebAssemblyGenerator extends Generator {
424
432
  /**
425
433
  * Creates an instance of WebAssemblyGenerator.
@@ -433,7 +441,7 @@ class WebAssemblyGenerator extends Generator {
433
441
 
434
442
  /**
435
443
  * Returns the source types available for this module.
436
- * @param {NormalModule} module fresh module
444
+ * @param {TModule} module fresh module
437
445
  * @returns {SourceTypes} available types (do not mutate)
438
446
  */
439
447
  getTypes(module) {
@@ -442,7 +450,7 @@ class WebAssemblyGenerator extends Generator {
442
450
 
443
451
  /**
444
452
  * Returns the estimated size for the requested source type.
445
- * @param {NormalModule} module the module
453
+ * @param {TModule} module the module
446
454
  * @param {SourceType=} type source type
447
455
  * @returns {number} estimate size of the module
448
456
  */
@@ -456,7 +464,7 @@ class WebAssemblyGenerator extends Generator {
456
464
 
457
465
  /**
458
466
  * Generates generated code for this runtime module.
459
- * @param {NormalModule} module module for which the code should be generated
467
+ * @param {TModule} module module for which the code should be generated
460
468
  * @param {GenerateContext} generateContext context for generate
461
469
  * @returns {Source | null} generated code
462
470
  */
@@ -489,11 +497,9 @@ class WebAssemblyGenerator extends Generator {
489
497
  );
490
498
  const externalExports = new Set(
491
499
  module.dependencies
492
- .filter((d) => d instanceof WebAssemblyExportImportedDependency)
500
+ .filter((d) => isDependencyKind(d, "webassembly-export-imported"))
493
501
  .map((d) => {
494
- const wasmDep = /** @type {WebAssemblyExportImportedDependency} */ (
495
- d
496
- );
502
+ const wasmDep = d;
497
503
  return wasmDep.exportName;
498
504
  })
499
505
  );
@@ -539,7 +545,7 @@ class WebAssemblyGenerator extends Generator {
539
545
  /**
540
546
  * Generates fallback output for the provided error condition.
541
547
  * @param {Error} error the error
542
- * @param {NormalModule} module module for which the code should be generated
548
+ * @param {TModule} module module for which the code should be generated
543
549
  * @param {GenerateContext} generateContext context for generate
544
550
  * @returns {Source | null} generated code
545
551
  */
@@ -555,7 +561,7 @@ class WebAssemblyGenerator extends Generator {
555
561
  /**
556
562
  * Updates the hash with the data contributed by this instance.
557
563
  * @param {Hash} hash hash that will be modified
558
- * @param {UpdateHashContext} updateHashContext context for updating hash
564
+ * @param {UpdateHashContext<TModule>} updateHashContext context for updating hash
559
565
  */
560
566
  updateHash(hash, updateHashContext) {
561
567
  if (this.options.mangleImports) {
@@ -6,25 +6,32 @@
6
6
  "use strict";
7
7
 
8
8
  const { RawSource } = require("webpack-sources");
9
- const { UsageState } = require("../ExportsInfo");
10
- const Generator = require("../Generator");
11
- const InitFragment = require("../InitFragment");
12
- const { WEBASSEMBLY_TYPES } = require("../ModuleSourceTypeConstants");
13
- const RuntimeGlobals = require("../RuntimeGlobals");
14
- const Template = require("../Template");
15
- const ModuleDependency = require("../dependencies/ModuleDependency");
16
- const WebAssemblyExportImportedDependency = require("../dependencies/WebAssemblyExportImportedDependency");
17
- const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
18
-
9
+ const { UsageState } = require("../graph/ExportsInfo");
10
+ const isDependencyKind = require("../graph/isDependencyKind");
11
+ const Generator = require("../module/Generator");
12
+ const { WEBASSEMBLY_TYPES } = require("../module/ModuleSourceTypeConstants");
13
+ const RuntimeGlobals = require("../runtime/RuntimeGlobals");
14
+ const InitFragment = require("../template/InitFragment");
15
+ const Template = require("../template/Template");
16
+
17
+ /** @import { SyncWasmNormalModule } from "./SyncWasmModule" */
19
18
  /** @import { Source } from "webpack-sources" */
20
- /** @import { GenerateContext } from "../Generator" */
21
- /** @import Module, { SourceType, SourceTypes } from "../Module" */
22
- /** @import NormalModule from "../NormalModule" */
23
-
19
+ /** @import { GenerateContext } from "../module/Generator" */
20
+ /** @import ModuleDependency from "../dependencies/core/ModuleDependency" */
21
+ /** @import Module, { SourceType, SourceTypes } from "../module/Module" */
22
+
23
+ /**
24
+ * The module type the JSDoc inherited from `Generator` names.
25
+ * @typedef {SyncWasmNormalModule} TModule
26
+ */
27
+
28
+ /**
29
+ * @extends {Generator<TModule>}
30
+ */
24
31
  class WebAssemblyJavascriptGenerator extends Generator {
25
32
  /**
26
33
  * Returns the source types available for this module.
27
- * @param {NormalModule} module fresh module
34
+ * @param {TModule} module fresh module
28
35
  * @returns {SourceTypes} available types (do not mutate)
29
36
  */
30
37
  getTypes(module) {
@@ -33,7 +40,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
33
40
 
34
41
  /**
35
42
  * Returns the estimated size for the requested source type.
36
- * @param {NormalModule} module the module
43
+ * @param {TModule} module the module
37
44
  * @param {SourceType=} type source type
38
45
  * @returns {number} estimate size of the module
39
46
  */
@@ -43,7 +50,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
43
50
 
44
51
  /**
45
52
  * Generates generated code for this runtime module.
46
- * @param {NormalModule} module module for which the code should be generated
53
+ * @param {TModule} module module for which the code should be generated
47
54
  * @param {GenerateContext} generateContext context for generate
48
55
  * @returns {Source | null} generated code
49
56
  */
@@ -69,7 +76,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
69
76
  let index = 0;
70
77
  for (const dep of module.dependencies) {
71
78
  const moduleDep =
72
- dep && dep instanceof ModuleDependency ? dep : undefined;
79
+ dep && isDependencyKind(dep, "module-dependency") ? dep : undefined;
73
80
  const mod = moduleGraph.getModule(dep);
74
81
  if (mod) {
75
82
  let importData = importedModules.get(mod);
@@ -87,7 +94,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
87
94
  );
88
95
  index++;
89
96
  }
90
- if (dep instanceof WebAssemblyImportDependency) {
97
+ if (isDependencyKind(dep, "webassembly-import")) {
91
98
  importData.names.add(dep.name);
92
99
  if (dep.description.type === "GlobalType") {
93
100
  const exportName = dep.name;
@@ -121,7 +128,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
121
128
  }
122
129
  }
123
130
  }
124
- if (dep instanceof WebAssemblyExportImportedDependency) {
131
+ if (isDependencyKind(dep, "webassembly-export-imported")) {
125
132
  importData.names.add(dep.name);
126
133
  const usedName = moduleGraph
127
134
  .getExportsInfo(module)
@@ -226,7 +233,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
226
233
  /**
227
234
  * Generates fallback output for the provided error condition.
228
235
  * @param {Error} error the error
229
- * @param {NormalModule} module module for which the code should be generated
236
+ * @param {TModule} module module for which the code should be generated
230
237
  * @param {GenerateContext} generateContext context for generate
231
238
  * @returns {Source | null} generated code
232
239
  */
@@ -5,21 +5,23 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const Generator = require("../Generator");
8
+ const WebAssemblyExportImportedDependency = require("../dependencies/wasm/WebAssemblyExportImportedDependency");
9
+ const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
10
+ const WebAssemblyInInitialChunkError = require("../errors/WebAssemblyInInitialChunkError");
11
+ const Generator = require("../module/Generator");
9
12
  const {
10
13
  JAVASCRIPT_TYPE,
11
14
  WEBASSEMBLY_TYPE
12
- } = require("../ModuleSourceTypeConstants");
13
- const { WEBASSEMBLY_MODULE_TYPE_SYNC } = require("../ModuleTypeConstants");
14
- const WebAssemblyExportImportedDependency = require("../dependencies/WebAssemblyExportImportedDependency");
15
- const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
15
+ } = require("../module/ModuleSourceTypeConstants");
16
+ const {
17
+ WEBASSEMBLY_MODULE_TYPE_SYNC
18
+ } = require("../module/ModuleTypeConstants");
16
19
  const { compareModulesByFullName } = require("../util/comparators");
17
20
  const lazyModule = require("../util/lazyModule");
18
21
  const preloadModuleType = require("../util/preloadModuleType");
19
- const WebAssemblyInInitialChunkError = require("./WebAssemblyInInitialChunkError");
20
22
 
21
23
  /** @import Compiler from "../Compiler" */
22
- /** @import Module from "../Module" */
24
+ /** @import Module from "../module/Module" */
23
25
 
24
26
  const getWebAssemblyGenerator = lazyModule(() =>
25
27
  require("./WebAssemblyGenerator")
@@ -8,15 +8,14 @@
8
8
  const t = require("@webassemblyjs/ast");
9
9
  const { moduleContextFromModuleAST } = require("@webassemblyjs/ast");
10
10
  const { decode } = require("@webassemblyjs/wasm-parser");
11
- const Parser = require("../Parser");
12
- const StaticExportsDependency = require("../dependencies/StaticExportsDependency");
13
- const WebAssemblyExportImportedDependency = require("../dependencies/WebAssemblyExportImportedDependency");
14
- const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
11
+ const StaticExportsDependency = require("../dependencies/core/StaticExportsDependency");
12
+ const WebAssemblyExportImportedDependency = require("../dependencies/wasm/WebAssemblyExportImportedDependency");
13
+ const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
14
+ const Parser = require("../module/Parser");
15
15
 
16
+ /** @import { BuiltSyncWasmModule } from "./SyncWasmModule" */
16
17
  /** @import { ModuleImport } from "@webassemblyjs/ast" */
17
- /** @import { BuildInfo, BuildMeta } from "../Module" */
18
- /** @import { SyncWasmModuleBuildMeta } from "./SyncWasmModule" */
19
- /** @import { ParserState, PreparsedAst } from "../Parser" */
18
+ /** @import { ParserState, PreparsedAst } from "../module/Parser" */
20
19
 
21
20
  const JS_COMPAT_TYPES = new Set(["i32", "i64", "f32", "f64", "externref"]);
22
21
 
@@ -63,6 +62,9 @@ const decoderOpts = {
63
62
  ignoreCustomNameSection: true
64
63
  };
65
64
 
65
+ /**
66
+ * @extends {Parser<BuiltSyncWasmModule>}
67
+ */
66
68
  class WebAssemblyParser extends Parser {
67
69
  /**
68
70
  * Parses the provided source and updates the parser state.
@@ -76,10 +78,11 @@ class WebAssemblyParser extends Parser {
76
78
  }
77
79
 
78
80
  // flag it as ESM
79
- /** @type {BuildInfo} */
80
- (state.module.buildInfo).strict = true;
81
- /** @type {BuildMeta} */
82
- (state.module.buildMeta).exportsType = "namespace";
81
+ const { buildInfo, buildMeta } = /** @type {BuiltSyncWasmModule} */ (
82
+ state.module
83
+ );
84
+ buildInfo.strict = true;
85
+ buildMeta.exportsType = "namespace";
83
86
 
84
87
  // parse it
85
88
  const program = decode(source, decoderOpts);
@@ -90,9 +93,6 @@ class WebAssemblyParser extends Parser {
90
93
  // extract imports and exports
91
94
  /** @type {string[]} */
92
95
  const exports = [];
93
- const buildMeta = /** @type {SyncWasmModuleBuildMeta} */ (
94
- state.module.buildMeta
95
- );
96
96
  /** @type {Record<string, string> | undefined} */
97
97
  let jsIncompatibleExports = (buildMeta.jsIncompatibleExports = undefined);
98
98
 
@@ -115,9 +115,7 @@ class WebAssemblyParser extends Parser {
115
115
 
116
116
  if (incompatibleType) {
117
117
  if (jsIncompatibleExports === undefined) {
118
- jsIncompatibleExports =
119
- /** @type {SyncWasmModuleBuildMeta} */
120
- (state.module.buildMeta).jsIncompatibleExports = {};
118
+ jsIncompatibleExports = buildMeta.jsIncompatibleExports = {};
121
119
  }
122
120
  jsIncompatibleExports[node.name] = incompatibleType;
123
121
  }
@@ -5,11 +5,12 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const Template = require("../Template");
9
- const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
8
+ const isDependencyKind = require("../graph/isDependencyKind");
9
+ const Template = require("../template/Template");
10
10
 
11
- /** @import Module from "../Module" */
12
- /** @import ModuleGraph from "../ModuleGraph" */
11
+ /** @import WebAssemblyImportDependency from "../dependencies/wasm/WebAssemblyImportDependency" */
12
+ /** @import Module from "../module/Module" */
13
+ /** @import ModuleGraph from "../graph/ModuleGraph" */
13
14
 
14
15
  /**
15
16
  * Defines the used wasm dependency type used by this module.
@@ -33,7 +34,7 @@ const getUsedDependencies = (moduleGraph, module, mangle) => {
33
34
  const array = [];
34
35
  let importIndex = 0;
35
36
  for (const dep of module.dependencies) {
36
- if (dep instanceof WebAssemblyImportDependency) {
37
+ if (isDependencyKind(dep, "webassembly-import")) {
37
38
  if (
38
39
  dep.description.type === "GlobalType" ||
39
40
  moduleGraph.getModule(dep) === null
@@ -5,11 +5,11 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const asyncLib = require("./util/async");
8
+ const asyncLib = require("../util/async");
9
9
 
10
- /** @import MultiCompiler from "./MultiCompiler" */
10
+ /** @import MultiCompiler from "../MultiCompiler" */
11
11
  /** @import Watching from "./Watching" */
12
- /** @import { ErrorCallback } from "./webpack" */
12
+ /** @import { ErrorCallback } from "../webpack" */
13
13
 
14
14
  class MultiWatching {
15
15
  /**