webpack 5.111.1 → 5.112.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (793) hide show
  1. package/README.md +1 -1
  2. package/bin/webpack.js +13 -7
  3. package/lib/Chunk.js +3 -966
  4. package/lib/Compilation.js +373 -163
  5. package/lib/Compiler.js +31 -44
  6. package/lib/Dependency.js +3 -551
  7. package/lib/DependencyTemplate.js +3 -70
  8. package/lib/EntryPlugin.js +3 -68
  9. package/lib/Entrypoint.js +3 -121
  10. package/lib/ExternalsPlugin.js +3 -92
  11. package/lib/FileSystemInfo.js +3 -4629
  12. package/lib/InitFragment.js +3 -204
  13. package/lib/LibraryTemplatePlugin.js +3 -46
  14. package/lib/ModuleFilenameHelpers.js +3 -400
  15. package/lib/ModuleNotFoundError.js +2 -2
  16. package/lib/MultiCompiler.js +37 -8
  17. package/lib/NormalModule.js +3 -2242
  18. package/lib/NullFactory.js +3 -22
  19. package/lib/ProgressPlugin.js +3 -908
  20. package/lib/RawModule.js +3 -197
  21. package/lib/RequestShortener.js +3 -37
  22. package/lib/SingleEntryPlugin.js +1 -1
  23. package/lib/WebpackError.js +2 -2
  24. package/lib/asset/AssetBytesGenerator.js +21 -13
  25. package/lib/asset/AssetBytesParser.js +12 -10
  26. package/lib/asset/AssetGenerator.js +71 -69
  27. package/lib/asset/AssetModule.js +13 -2
  28. package/lib/asset/AssetModulesPlugin.js +10 -12
  29. package/lib/asset/AssetParser.js +10 -10
  30. package/lib/asset/AssetSourceGenerator.js +23 -15
  31. package/lib/asset/AssetSourceParser.js +12 -10
  32. package/lib/asset/RawDataUrlModule.js +17 -10
  33. package/lib/asset/WebManifestGenerator.js +17 -12
  34. package/lib/asset/WebManifestParser.js +8 -8
  35. package/lib/async-modules/AsyncModuleHelpers.js +12 -5
  36. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
  37. package/lib/async-modules/InferAsyncModulesPlugin.js +9 -3
  38. package/lib/async-modules/isGeneratorLowered.js +3 -3
  39. package/lib/bun/BunTargetPlugin.js +1 -1
  40. package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
  41. package/lib/{Cache.js → cache/Cache.js} +1 -1
  42. package/lib/{CacheFacade.js → cache/CacheFacade.js} +6 -6
  43. package/lib/cache/IdleFileCachePlugin.js +2 -2
  44. package/lib/cache/MemoryCachePlugin.js +2 -2
  45. package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
  46. package/lib/cache/PackFileCacheStrategy.js +13 -19
  47. package/lib/cache/ResolverCachePlugin.js +65 -11
  48. package/lib/cache/mergeEtags.js +1 -1
  49. package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
  50. package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
  51. package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +209 -212
  52. package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
  53. package/lib/config/browserslistTargetHandler.js +1 -1
  54. package/lib/{cli.js → config/cli.js} +14 -164
  55. package/lib/config/defaults.js +166 -59
  56. package/lib/config/getClaimedAssetTypes.js +22 -14
  57. package/lib/config/normalization.js +18 -7
  58. package/lib/config/target.js +11 -1
  59. package/lib/container/ContainerEntryDependency.js +1 -1
  60. package/lib/container/ContainerEntryModule.js +13 -11
  61. package/lib/container/ContainerEntryModuleFactory.js +2 -2
  62. package/lib/container/ContainerExposedDependency.js +1 -1
  63. package/lib/container/ContainerPlugin.js +178 -5
  64. package/lib/container/ContainerReferencePlugin.js +75 -14
  65. package/lib/container/FallbackDependency.js +1 -1
  66. package/lib/container/FallbackItemDependency.js +1 -1
  67. package/lib/container/FallbackModule.js +12 -10
  68. package/lib/container/FallbackModuleFactory.js +2 -2
  69. package/lib/container/HoistContainerReferencesPlugin.js +10 -11
  70. package/lib/container/ModuleFederationPlugin.js +306 -7
  71. package/lib/container/RemoteModule.js +14 -10
  72. package/lib/container/RemoteRuntimeModule.js +5 -5
  73. package/lib/container/RemoteToExternalDependency.js +1 -1
  74. package/lib/container/moduleFederationHooks.js +1 -1
  75. package/lib/context/ContextModule.js +37 -26
  76. package/lib/context/ContextModuleFactory.js +14 -11
  77. package/lib/context/ContextReplacementPlugin.js +6 -12
  78. package/lib/css/CssGenerator.js +78 -68
  79. package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
  80. package/lib/css/CssLoadingRuntimeModule.js +77 -44
  81. package/lib/css/CssModule.js +37 -29
  82. package/lib/css/CssModulesPlugin.js +129 -45
  83. package/lib/css/CssParser.js +714 -322
  84. package/lib/css/CssServerStylesRuntimeModule.js +3 -3
  85. package/lib/{util → css}/conventions.js +1 -1
  86. package/lib/css/cssMinify.js +110 -37
  87. package/lib/css/data.js +6990 -5125
  88. package/lib/css/syntax-parser.js +20734 -0
  89. package/lib/css/syntax-printer.js +6092 -0
  90. package/lib/css/syntax.js +37 -18686
  91. package/lib/debug/ProfilingPlugin.js +106 -51
  92. package/lib/{DefinePlugin.js → define/DefinePlugin.js} +416 -55
  93. package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +19 -15
  94. package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +6 -4
  95. package/lib/deno/DenoTargetPlugin.js +1 -1
  96. package/lib/dependencies/ConstDependency.js +3 -120
  97. package/lib/dependencies/ContextElementDependency.js +5 -172
  98. package/lib/dependencies/NullDependency.js +3 -37
  99. package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
  100. package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -11
  101. package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
  102. package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
  103. package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
  104. package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
  105. package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +14 -11
  106. package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
  107. package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
  108. package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
  109. package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
  110. package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
  111. package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
  112. package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
  113. package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
  114. package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
  115. package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -36
  116. package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
  117. package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +154 -92
  118. package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
  119. package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +36 -33
  120. package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +17 -16
  121. package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +48 -39
  122. package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
  123. package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
  124. package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
  125. package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
  126. package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
  127. package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +9 -6
  128. package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
  129. package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
  130. package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
  131. package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
  132. package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
  133. package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
  134. package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
  135. package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
  136. package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
  137. package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
  138. package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
  139. package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
  140. package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
  141. package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
  142. package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
  143. package/lib/dependencies/context/ContextElementDependency.js +198 -0
  144. package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
  145. package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +10 -11
  146. package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
  147. package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
  148. package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +7 -10
  149. package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +17 -19
  150. package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
  151. package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
  152. package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
  153. package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +21 -17
  154. package/lib/dependencies/core/ConstDependency.js +131 -0
  155. package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
  156. package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
  157. package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
  158. package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
  159. package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
  160. package/lib/dependencies/core/NullDependency.js +44 -0
  161. package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
  162. package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
  163. package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -99
  164. package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +24 -19
  165. package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
  166. package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
  167. package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +25 -22
  168. package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
  169. package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
  170. package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
  171. package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
  172. package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +20 -20
  173. package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
  174. package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
  175. package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
  176. package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
  177. package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
  178. package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +146 -133
  179. package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
  180. package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +78 -37
  181. package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -12
  182. package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
  183. package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +86 -68
  184. package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +104 -100
  185. package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +36 -51
  186. package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
  187. package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +98 -60
  188. package/lib/dependencies/esm/ESMLiveExportDependency.js +311 -0
  189. package/lib/dependencies/esm/ESMLiveExportParserPlugin.js +862 -0
  190. package/lib/dependencies/esm/ESMModulesPlugin.js +205 -0
  191. package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
  192. package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -18
  193. package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +5 -7
  194. package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
  195. package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
  196. package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
  197. package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
  198. package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
  199. package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
  200. package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
  201. package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +52 -151
  202. package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -15
  203. package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -23
  204. package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -18
  205. package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
  206. package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
  207. package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
  208. package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
  209. package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +22 -25
  210. package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
  211. package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
  212. package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
  213. package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
  214. package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
  215. package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +122 -103
  216. package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
  217. package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
  218. package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
  219. package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
  220. package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
  221. package/lib/{url → dependencies/url}/URLParserPlugin.js +17 -19
  222. package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
  223. package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
  224. package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
  225. package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
  226. package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +82 -53
  227. package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
  228. package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
  229. package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
  230. package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
  231. package/lib/devtool/ModuleFilenameHelpers.js +413 -0
  232. package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
  233. package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +155 -27
  234. package/lib/{util → devtool}/generateDebugId.js +1 -1
  235. package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
  236. package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
  237. package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
  238. package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
  239. package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
  240. package/lib/dll/DelegatedModule.js +23 -21
  241. package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
  242. package/lib/dll/DelegatedPlugin.js +1 -1
  243. package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
  244. package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
  245. package/lib/dll/DllEntryPlugin.js +3 -3
  246. package/lib/dll/DllModule.js +14 -10
  247. package/lib/dll/DllModuleFactory.js +3 -3
  248. package/lib/dll/DllPlugin.js +18 -6
  249. package/lib/dll/DllReferencePlugin.js +103 -30
  250. package/lib/dll/LibManifestPlugin.js +9 -7
  251. package/lib/electron/ElectronTargetPlugin.js +2 -2
  252. package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
  253. package/lib/{dependencies → entry}/EntryDependency.js +11 -2
  254. package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
  255. package/lib/entry/EntryPlugin.js +75 -0
  256. package/lib/errors/AbstractMethodError.js +1 -1
  257. package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
  258. package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
  259. package/lib/errors/BuildCycleError.js +1 -1
  260. package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
  261. package/lib/errors/ChunkRenderError.js +1 -1
  262. package/lib/errors/CodeGenerationError.js +1 -1
  263. package/lib/errors/CommentCompilationWarning.js +1 -1
  264. package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
  265. package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
  266. package/lib/errors/DeprecatedOptionWarning.js +30 -0
  267. package/lib/errors/DllManifestError.js +26 -0
  268. package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
  269. package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
  270. package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
  271. package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
  272. package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +9 -6
  273. package/lib/errors/ExternalStarReexportError.js +2 -2
  274. package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
  275. package/lib/errors/HookWebpackError.js +6 -5
  276. package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
  277. package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
  278. package/lib/errors/JSONParseError.js +4 -4
  279. package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
  280. package/lib/errors/ModuleBuildError.js +1 -1
  281. package/lib/errors/ModuleDependencyError.js +2 -2
  282. package/lib/errors/ModuleDependencyWarning.js +2 -2
  283. package/lib/errors/ModuleError.js +1 -1
  284. package/lib/errors/ModuleHashingError.js +1 -1
  285. package/lib/errors/ModuleNotFoundError.js +3 -3
  286. package/lib/errors/ModuleParseError.js +1 -1
  287. package/lib/errors/ModuleRestoreError.js +1 -1
  288. package/lib/errors/ModuleStoreError.js +1 -1
  289. package/lib/errors/ModuleWarning.js +1 -1
  290. package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
  291. package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
  292. package/lib/errors/NodeStuffInWebError.js +7 -2
  293. package/lib/errors/PathVariableError.js +31 -0
  294. package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
  295. package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
  296. package/lib/errors/RuntimeModuleGenerationError.js +51 -0
  297. package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
  298. package/lib/errors/SystemImportDeprecationWarning.js +43 -0
  299. package/lib/errors/UnmergeableEntryExportsError.js +34 -0
  300. package/lib/errors/UnsupportedFeatureWarning.js +1 -1
  301. package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
  302. package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
  303. package/lib/errors/WebpackError.js +13 -3
  304. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
  305. package/lib/esm/ModuleChunkFormatPlugin.js +55 -20
  306. package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
  307. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
  308. package/lib/{ExternalModule.js → externals/ExternalModule.js} +90 -63
  309. package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +42 -41
  310. package/lib/externals/ExternalsPlugin.js +99 -0
  311. package/lib/fs/FileSystemInfo.js +4642 -0
  312. package/lib/{util → fs}/fs.js +22 -9
  313. package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
  314. package/lib/graph/Chunk.js +985 -0
  315. package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +192 -80
  316. package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
  317. package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
  318. package/lib/graph/Dependency.js +634 -0
  319. package/lib/graph/Entrypoint.js +136 -0
  320. package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +131 -83
  321. package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
  322. package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +44 -33
  323. package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
  324. package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +169 -76
  325. package/lib/{util → graph}/findGraphRoots.js +15 -9
  326. package/lib/graph/isDependencyKind.js +23 -0
  327. package/lib/hmr/HotModuleReplacement.runtime.js +12 -11
  328. package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +51 -57
  329. package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
  330. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +25 -26
  331. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
  332. package/lib/hmr/LazyCompilationPlugin.js +32 -28
  333. package/lib/html/HtmlGenerator.js +132 -60
  334. package/lib/html/HtmlModule.js +16 -2
  335. package/lib/html/HtmlModulesPlugin.js +184 -87
  336. package/lib/html/HtmlParser.js +511 -160
  337. package/lib/html/builtinEmbeddedRenderer.js +70 -25
  338. package/lib/html/data.js +44 -22
  339. package/lib/html/htmlMinify.js +114 -41
  340. package/lib/html/syntax-parser.js +15795 -0
  341. package/lib/html/syntax-printer.js +1033 -0
  342. package/lib/html/syntax.js +37 -13952
  343. package/lib/html/xmlMinify.js +70 -0
  344. package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
  345. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  346. package/lib/ids/HashedModuleIdsPlugin.js +32 -5
  347. package/lib/ids/IdHelpers.js +4 -4
  348. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  349. package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
  350. package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
  351. package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
  352. package/lib/ids/SyncModuleIdsPlugin.js +3 -3
  353. package/lib/{util → ids}/numberHash.js +1 -1
  354. package/lib/index.js +312 -105
  355. package/lib/{APIPlugin.js → javascript/APIPlugin.js} +31 -37
  356. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
  357. package/lib/javascript/BasicEvaluatedExpression.js +9 -9
  358. package/lib/javascript/ChunkHelpers.js +64 -4
  359. package/lib/javascript/CommonJsChunkFormatPlugin.js +5 -13
  360. package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
  361. package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +75 -8
  362. package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
  363. package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
  364. package/lib/javascript/JavascriptGenerator.js +32 -27
  365. package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +8 -20
  366. package/lib/javascript/JavascriptModule.js +14 -3
  367. package/lib/javascript/JavascriptModulesPlugin.js +441 -214
  368. package/lib/javascript/JavascriptParser.js +318 -144
  369. package/lib/javascript/JavascriptParserHelpers.js +1 -1
  370. package/lib/javascript/MergedEntryExports.js +196 -0
  371. package/lib/javascript/ScopeAnalyzer.js +3924 -13
  372. package/lib/javascript/StartupHelpers.js +6 -6
  373. package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +13 -19
  374. package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
  375. package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
  376. package/lib/javascript/data.js +533 -122
  377. package/lib/javascript/jsMinify.js +272 -0
  378. package/lib/javascript/regexp.js +67 -32
  379. package/lib/javascript/syntax-parser.js +19169 -0
  380. package/lib/javascript/syntax-printer-data.js +1099 -0
  381. package/lib/javascript/syntax-printer.js +53878 -0
  382. package/lib/javascript/syntax.js +20 -11274
  383. package/lib/json/JsonData.js +1 -1
  384. package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
  385. package/lib/json/JsonGenerator.js +24 -16
  386. package/lib/json/JsonModule.js +13 -2
  387. package/lib/json/JsonModulesPlugin.js +1 -1
  388. package/lib/json/JsonParser.js +11 -10
  389. package/lib/json/jsonMinify.js +69 -0
  390. package/lib/library/AbstractLibraryPlugin.js +28 -15
  391. package/lib/library/AmdLibraryPlugin.js +4 -4
  392. package/lib/library/AssignLibraryPlugin.js +28 -12
  393. package/lib/library/EnableLibraryPlugin.js +1 -1
  394. package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
  395. package/lib/library/JsonpLibraryPlugin.js +2 -2
  396. package/lib/library/LibraryTemplatePlugin.js +53 -0
  397. package/lib/library/ModuleLibraryPlugin.js +557 -187
  398. package/lib/library/SystemLibraryPlugin.js +6 -8
  399. package/lib/library/UmdLibraryPlugin.js +3 -4
  400. package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
  401. package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
  402. package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
  403. package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
  404. package/lib/loaders/LoaderRunner.js +94 -46
  405. package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
  406. package/lib/loaders/loadLoader.js +16 -10
  407. package/lib/logging/Logger.js +7 -9
  408. package/lib/logging/ProgressPlugin.js +957 -0
  409. package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
  410. package/lib/{Generator.js → module/Generator.js} +33 -23
  411. package/lib/{Module.js → module/Module.js} +121 -53
  412. package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
  413. package/lib/module/NormalModule.js +2350 -0
  414. package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +64 -71
  415. package/lib/module/NullFactory.js +29 -0
  416. package/lib/{Parser.js → module/Parser.js} +12 -5
  417. package/lib/module/RawModule.js +208 -0
  418. package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
  419. package/lib/{util → module}/extractSourceMap.js +71 -20
  420. package/lib/{util → module}/findCaseMismatch.js +4 -4
  421. package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
  422. package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
  423. package/lib/{dependencies → node}/ExternalModuleInitFragment.js +7 -6
  424. package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
  425. package/lib/node/NodeEnvironmentPlugin.js +11 -1
  426. package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
  427. package/lib/node/NodeTargetPlugin.js +1 -1
  428. package/lib/node/NodeWatchFileSystem.js +58 -6
  429. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
  430. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +13 -19
  431. package/lib/node/ReadFileCompileWasmPlugin.js +9 -11
  432. package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
  433. package/lib/node/nodeConsole.js +6 -7
  434. package/lib/optimize/AggressiveMergingPlugin.js +2 -2
  435. package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
  436. package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +14 -14
  437. package/lib/optimize/ConcatenatedModule.js +231 -220
  438. package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
  439. package/lib/optimize/ConstExportsPlugin.js +7 -7
  440. package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
  441. package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
  442. package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +23 -28
  443. package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +44 -19
  444. package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
  445. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
  446. package/lib/optimize/InlineExports.js +12 -7
  447. package/lib/optimize/InnerGraph.js +5 -13
  448. package/lib/optimize/InnerGraphPlugin.js +10 -10
  449. package/lib/optimize/LazyBarrels.js +620 -0
  450. package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
  451. package/lib/optimize/LimitChunkCountPlugin.js +16 -7
  452. package/lib/optimize/MangleExportsPlugin.js +5 -5
  453. package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
  454. package/lib/optimize/MinChunkSizePlugin.js +9 -6
  455. package/lib/optimize/ModuleConcatenationPlugin.js +28 -22
  456. package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
  457. package/lib/optimize/RealContentHashPlugin.js +18 -13
  458. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
  459. package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
  460. package/lib/optimize/SideEffectsFlagPlugin.js +24 -38
  461. package/lib/optimize/SplitChunksPlugin.js +719 -174
  462. package/lib/{util → optimize}/TupleQueue.js +9 -9
  463. package/lib/optimize/chunkSetIntersections.js +437 -0
  464. package/lib/{util → optimize}/deterministicGrouping.js +17 -17
  465. package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
  466. package/lib/{CleanPlugin.js → output/CleanPlugin.js} +69 -25
  467. package/lib/{CopyPlugin.js → output/CopyPlugin.js} +144 -70
  468. package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
  469. package/lib/output/SSRManifestPlugin.js +349 -0
  470. package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
  471. package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
  472. package/lib/performance/BroadContextsPlugin.js +4 -4
  473. package/lib/performance/CacheEffectivenessPlugin.js +2 -3
  474. package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
  475. package/lib/performance/DuplicateModulesPlugin.js +3 -4
  476. package/lib/performance/DuplicatePackagesPlugin.js +3 -3
  477. package/lib/performance/DynamicExportsPlugin.js +2 -2
  478. package/lib/performance/EvalUsagePlugin.js +4 -6
  479. package/lib/performance/HotspotsPlugin.js +39 -14
  480. package/lib/performance/LargeModulesPlugin.js +2 -3
  481. package/lib/performance/LegacyJavascriptPlugin.js +1 -2
  482. package/lib/performance/MissingSideEffectsPlugin.js +2 -3
  483. package/lib/performance/MissingSourceMapsPlugin.js +5 -6
  484. package/lib/performance/PureAnnotationsPlugin.js +19 -13
  485. package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
  486. package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
  487. package/lib/performance/SizeLimitsPlugin.js +11 -12
  488. package/lib/performance/TopLevelThisPlugin.js +22 -13
  489. package/lib/performance/UnsplitVendorsPlugin.js +1 -2
  490. package/lib/performance/UnusedAliasesPlugin.js +6 -7
  491. package/lib/performance/UnusedAssetsPlugin.js +5 -5
  492. package/lib/performance/UnusedDefinesPlugin.js +2 -2
  493. package/lib/performance/UnusedExternalsPlugin.js +3 -4
  494. package/lib/performance/UnusedFederationPlugin.js +2 -4
  495. package/lib/performance/UnusedModulesPlugin.js +5 -4
  496. package/lib/performance/getModuleSize.js +1 -1
  497. package/lib/performance/hasOnlyUnusedExports.js +4 -4
  498. package/lib/performance/isOnlyReexported.js +7 -6
  499. package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
  500. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
  501. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
  502. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
  503. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
  504. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
  505. package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
  506. package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
  507. package/lib/prefetch/ResourceHintPlugin.js +66 -45
  508. package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
  509. package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
  510. package/lib/prefetch/parseResourceHintOptions.js +4 -3
  511. package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
  512. package/lib/{dependencies → provide}/ProvidedDependency.js +50 -17
  513. package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
  514. package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
  515. package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
  516. package/lib/resolve/getResolveOptionsKey.js +59 -0
  517. package/lib/rules/BasicEffectRulePlugin.js +1 -1
  518. package/lib/rules/RuleSetCompiler.js +42 -51
  519. package/lib/rules/UseEffectRulePlugin.js +1 -3
  520. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
  521. package/lib/runtime/AsyncModuleRuntimeModule.js +14 -5
  522. package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
  523. package/lib/runtime/BaseUriRuntimeModule.js +3 -3
  524. package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
  525. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
  526. package/lib/runtime/CompatRuntimeModule.js +4 -4
  527. package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
  528. package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
  529. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  530. package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
  531. package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
  532. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
  533. package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
  534. package/lib/runtime/GetChunkFilenameRuntimeModule.js +7 -11
  535. package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
  536. package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
  537. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
  538. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
  539. package/lib/runtime/GlobalRuntimeModule.js +3 -3
  540. package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
  541. package/lib/runtime/HelperRuntimeModule.js +16 -1
  542. package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
  543. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
  544. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
  545. package/lib/runtime/NonceRuntimeModule.js +2 -2
  546. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  547. package/lib/runtime/PublicPathRuntimeModule.js +2 -2
  548. package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
  549. package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +24 -1
  550. package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
  551. package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
  552. package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +50 -50
  553. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
  554. package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
  555. package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
  556. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
  557. package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
  558. package/lib/runtime/SystemContextRuntimeModule.js +2 -2
  559. package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
  560. package/lib/runtime/WorkerRuntimeModule.js +1 -1
  561. package/lib/runtime/baseUri.js +1 -1
  562. package/lib/schemes/DataUriPlugin.js +1 -1
  563. package/lib/schemes/HttpUriPlugin.js +68 -13
  564. package/lib/schemes/VirtualUrlPlugin.js +52 -16
  565. package/lib/serialization/AggregateErrorSerializer.js +4 -4
  566. package/lib/serialization/BinaryMiddleware.js +4 -1
  567. package/lib/serialization/ErrorObjectSerializer.js +2 -5
  568. package/lib/serialization/FileMiddleware.js +3 -3
  569. package/lib/serialization/ObjectMiddleware.js +62 -29
  570. package/lib/serialization/PlainObjectSerializer.js +3 -7
  571. package/lib/serialization/Serializer.js +21 -11
  572. package/lib/serialization/SerializerMiddleware.js +10 -8
  573. package/lib/serialization/SingleItemMiddleware.js +4 -2
  574. package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
  575. package/lib/sharing/ConsumeSharedModule.js +18 -14
  576. package/lib/sharing/ConsumeSharedPlugin.js +148 -42
  577. package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
  578. package/lib/sharing/ProvideForSharedDependency.js +9 -1
  579. package/lib/sharing/ProvideSharedDependency.js +1 -1
  580. package/lib/sharing/ProvideSharedModule.js +11 -9
  581. package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
  582. package/lib/sharing/ProvideSharedPlugin.js +111 -20
  583. package/lib/sharing/SharePlugin.js +102 -9
  584. package/lib/sharing/ShareRuntimeModule.js +6 -6
  585. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  586. package/lib/{util → sharing}/semver.js +14 -16
  587. package/lib/sharing/utils.js +59 -2
  588. package/lib/stats/DefaultStatsFactoryPlugin.js +57 -54
  589. package/lib/stats/DefaultStatsPresetPlugin.js +3 -7
  590. package/lib/stats/DefaultStatsPrinterPlugin.js +15 -14
  591. package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
  592. package/lib/{Stats.js → stats/Stats.js} +4 -4
  593. package/lib/stats/StatsFactory.js +208 -37
  594. package/lib/stats/StatsPrinter.js +126 -13
  595. package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
  596. package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
  597. package/lib/template/DependencyTemplate.js +77 -0
  598. package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
  599. package/lib/template/InitFragment.js +223 -0
  600. package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
  601. package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
  602. package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
  603. package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +158 -95
  604. package/lib/{Template.js → template/Template.js} +14 -12
  605. package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
  606. package/lib/typescript/TypeScriptPlugin.js +3 -3
  607. package/lib/util/RequestShortener.js +44 -0
  608. package/lib/util/SortableSet.js +87 -22
  609. package/lib/util/SourceProcessor.js +439 -51
  610. package/lib/util/TupleSet.js +27 -27
  611. package/lib/util/WeakTupleMap.js +20 -16
  612. package/lib/util/buildDiagnostics.js +2 -2
  613. package/lib/util/cleverMerge.js +61 -33
  614. package/lib/util/comparators.js +19 -15
  615. package/lib/util/concatenate.js +28 -147
  616. package/lib/util/createMappings.js +111 -0
  617. package/lib/util/dataURL.js +96 -15
  618. package/lib/util/deprecation.js +5 -4
  619. package/lib/util/extractComments.js +118 -0
  620. package/lib/util/formatLocation.js +1 -1
  621. package/lib/util/globUtils.js +198 -20
  622. package/lib/util/haltVisitors.js +51 -0
  623. package/lib/util/handlerKeys.js +2 -2
  624. package/lib/util/identifier.js +117 -1
  625. package/lib/util/implicitTypeLoaderFallback.js +6 -4
  626. package/lib/util/internalSerializables.js +296 -102
  627. package/lib/util/magicComment.js +12 -7
  628. package/lib/util/makeSerializable.js +28 -7
  629. package/lib/util/memoize.js +1 -1
  630. package/lib/util/parseJson.js +2 -2
  631. package/lib/util/preloadModuleType.js +5 -2
  632. package/lib/util/registerExternalSerializer.js +2 -2
  633. package/lib/util/removeBOM.js +1 -1
  634. package/lib/util/runtime.js +1 -1
  635. package/lib/util/serialization.js +35 -28
  636. package/lib/util/source.js +2 -2
  637. package/lib/util/terminalColors.js +161 -0
  638. package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
  639. package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
  640. package/lib/{wasm-async → wasm}/AsyncWasmModule.js +19 -5
  641. package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +17 -9
  642. package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +24 -15
  643. package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
  644. package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +14 -12
  645. package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
  646. package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +11 -13
  647. package/lib/wasm/wasmModuleFilename.js +2 -2
  648. package/lib/wasm-sync/SyncWasmModule.js +18 -3
  649. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
  650. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
  651. package/lib/wasm-sync/WebAssemblyGenerator.js +22 -16
  652. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +28 -21
  653. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
  654. package/lib/wasm-sync/WebAssemblyParser.js +15 -17
  655. package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
  656. package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
  657. package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
  658. package/lib/{Watching.js → watch/Watching.js} +8 -8
  659. package/lib/web/FetchCompileAsyncWasmPlugin.js +12 -18
  660. package/lib/web/FetchCompileWasmPlugin.js +8 -10
  661. package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
  662. package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
  663. package/lib/web/JsonpTemplatePlugin.js +1 -1
  664. package/lib/webpack.js +27 -17
  665. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
  666. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
  667. package/package.json +57 -36
  668. package/schemas/WebpackOptions.check.js +4 -3
  669. package/schemas/WebpackOptions.d.json.ts +2 -0
  670. package/schemas/WebpackOptions.json +295 -75
  671. package/schemas/plugins/BannerPlugin.check.js +4 -3
  672. package/schemas/plugins/BannerPlugin.json +29 -2
  673. package/schemas/plugins/HtmlGeneratorOptions.check.js +4 -3
  674. package/schemas/plugins/HtmlParserOptions.check.js +4 -3
  675. package/schemas/plugins/IgnorePlugin.check.js +4 -3
  676. package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
  677. package/schemas/plugins/IgnorePlugin.json +1 -1
  678. package/schemas/plugins/LoaderOptionsPlugin.check.js +4 -3
  679. package/schemas/plugins/ManifestPlugin.check.js +4 -3
  680. package/schemas/plugins/ManifestPlugin.json +3 -3
  681. package/schemas/plugins/ProgressPlugin.check.js +4 -3
  682. package/schemas/plugins/ProgressPlugin.json +2 -7
  683. package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
  684. package/schemas/plugins/SSRManifestPlugin.json +20 -0
  685. package/schemas/plugins/SourceMapDevToolPlugin.check.js +4 -3
  686. package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
  687. package/schemas/plugins/WatchIgnorePlugin.check.js +4 -3
  688. package/schemas/plugins/WatchIgnorePlugin.json +12 -3
  689. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +4 -3
  690. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +4 -3
  691. package/schemas/plugins/asset/AssetParserOptions.check.js +4 -3
  692. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +4 -3
  693. package/schemas/plugins/container/ContainerPlugin.check.js +4 -3
  694. package/schemas/plugins/container/ContainerPlugin.json +8 -0
  695. package/schemas/plugins/container/ContainerReferencePlugin.check.js +4 -3
  696. package/schemas/plugins/container/ExternalsType.check.js +4 -3
  697. package/schemas/plugins/container/ModuleFederationPlugin.check.js +4 -3
  698. package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
  699. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +4 -3
  700. package/schemas/plugins/css/CssGeneratorOptions.check.js +4 -3
  701. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +4 -3
  702. package/schemas/plugins/css/CssModuleParserOptions.check.js +4 -3
  703. package/schemas/plugins/css/CssParserOptions.check.js +4 -3
  704. package/schemas/plugins/debug/ProfilingPlugin.check.js +4 -3
  705. package/schemas/plugins/define/DotenvPluginOptions.check.js +7 -0
  706. package/schemas/plugins/define/DotenvPluginOptions.json +3 -0
  707. package/schemas/plugins/dll/DllPlugin.check.js +4 -3
  708. package/schemas/plugins/dll/DllReferencePlugin.check.js +4 -3
  709. package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
  710. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +4 -3
  711. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +4 -3
  712. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +4 -3
  713. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +4 -3
  714. package/schemas/plugins/json/JsonModulesPluginParser.check.js +4 -3
  715. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +4 -3
  716. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +4 -3
  717. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +4 -3
  718. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +4 -3
  719. package/schemas/plugins/output/CleanOptions.check.js +7 -0
  720. package/schemas/plugins/output/CleanOptions.json +3 -0
  721. package/schemas/plugins/schemes/HttpUriPlugin.check.js +4 -3
  722. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +4 -3
  723. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +4 -3
  724. package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
  725. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +4 -3
  726. package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
  727. package/schemas/plugins/sharing/SharePlugin.check.js +4 -3
  728. package/schemas/plugins/sharing/SharePlugin.json +32 -0
  729. package/types.d.ts +20780 -14174
  730. package/lib/LazyBarrel.js +0 -388
  731. package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
  732. package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
  733. package/lib/javascript/ChunkFormatHelpers.js +0 -72
  734. package/lib/javascript/grammar.js +0 -5546
  735. package/lib/javascript/parser.js +0 -1500
  736. package/lib/javascript/regexpData.js +0 -51
  737. package/lib/performance/getSourceModules.js +0 -22
  738. package/lib/util/Semaphore.js +0 -65
  739. package/lib/util/objectToMap.js +0 -15
  740. package/schemas/WebpackOptions.check.d.ts +0 -7
  741. package/schemas/_container.json +0 -155
  742. package/schemas/_sharing.json +0 -118
  743. package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
  744. package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
  745. package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
  746. package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
  747. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
  748. package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
  749. package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
  750. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
  751. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
  752. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
  753. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
  754. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
  755. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
  756. package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
  757. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
  758. package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
  759. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
  760. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
  761. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
  762. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
  763. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
  764. package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
  765. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
  766. package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
  767. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
  768. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
  769. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
  770. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
  771. package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
  772. package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
  773. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
  774. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
  775. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
  776. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
  777. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
  778. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
  779. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
  780. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
  781. package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
  782. /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
  783. /package/lib/{util → css}/topologicalSort.js +0 -0
  784. /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
  785. /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
  786. /package/lib/{util → fs}/StackedCacheMap.js +0 -0
  787. /package/lib/{util → javascript}/StackedMap.js +0 -0
  788. /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
  789. /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
  790. /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
  791. /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
  792. /package/lib/{util → optimize}/Queue.js +0 -0
  793. /package/lib/{util → stats}/smartGrouping.js +0 -0
@@ -5,87 +5,70 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const APIPlugin = require("./APIPlugin");
9
-
10
- const CompatibilityPlugin = require("./CompatibilityPlugin");
11
-
12
- const ConstPlugin = require("./ConstPlugin");
13
-
14
- const EntryOptionPlugin = require("./EntryOptionPlugin");
15
-
16
- const ExportsInfoApiPlugin = require("./ExportsInfoApiPlugin");
17
- const FlagDependencyExportsPlugin = require("./FlagDependencyExportsPlugin");
18
-
19
- const JavascriptMetaInfoPlugin = require("./JavascriptMetaInfoPlugin");
20
-
21
- const NodeStuffPlugin = require("./NodeStuffPlugin");
8
+ const AssetModulesPlugin = require("../asset/AssetModulesPlugin");
9
+
10
+ const InferAsyncModulesPlugin = require("../async-modules/InferAsyncModulesPlugin");
11
+
12
+ const ResolverCachePlugin = require("../cache/ResolverCachePlugin");
13
+
14
+ const CommonJsPlugin = require("../dependencies/commonjs/CommonJsPlugin");
15
+ const RequireEnsurePlugin = require("../dependencies/commonjs/RequireEnsurePlugin");
16
+ const RequireIncludePlugin = require("../dependencies/commonjs/RequireIncludePlugin");
17
+ const ImportMetaContextPlugin = require("../dependencies/context/ImportMetaContextPlugin");
18
+ const RequireContextPlugin = require("../dependencies/context/RequireContextPlugin");
19
+ const ESMModulesPlugin = require("../dependencies/esm/ESMModulesPlugin");
20
+ const ImportPlugin = require("../dependencies/import/ImportPlugin");
21
+ const ImportMetaPlugin = require("../dependencies/import-meta/ImportMetaPlugin");
22
+
23
+ const SystemPlugin = require("../dependencies/system/SystemPlugin");
24
+ const URLPlugin = require("../dependencies/url/URLPlugin");
25
+
26
+ const WorkerAndWorkletPlugin = require("../dependencies/worker/WorkerAndWorkletPlugin");
27
+ const WarnCaseSensitiveModulesPlugin = require("../diagnostics/WarnCaseSensitiveModulesPlugin");
28
+ const EntryOptionPlugin = require("../entry/EntryOptionPlugin");
29
+ const RecordIdsPlugin = require("../ids/RecordIdsPlugin");
30
+ const APIPlugin = require("../javascript/APIPlugin");
31
+ const CompatibilityPlugin = require("../javascript/CompatibilityPlugin");
32
+ const ConstPlugin = require("../javascript/ConstPlugin");
33
+ const ExportsInfoApiPlugin = require("../javascript/ExportsInfoApiPlugin");
34
+ const JavascriptMetaInfoPlugin = require("../javascript/JavascriptMetaInfoPlugin");
35
+
36
+ const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
37
+ const UseStrictPlugin = require("../javascript/UseStrictPlugin");
38
+ const WebpackIsIncludedPlugin = require("../javascript/WebpackIsIncludedPlugin");
39
+
40
+ const JsonModulesPlugin = require("../json/JsonModulesPlugin");
41
+ const LoaderPlugin = require("../loaders/LoaderPlugin");
42
+ const NodeStuffPlugin = require("../node/NodeStuffPlugin");
43
+ const FlagDependencyExportsPlugin = require("../optimize/FlagDependencyExportsPlugin");
44
+
45
+ const ChunkPrefetchPreloadPlugin = require("../prefetch/ChunkPrefetchPreloadPlugin");
46
+ const ResourceHintPlugin = require("../prefetch/ResourceHintPlugin");
47
+ const RuntimePlugin = require("../runtime/RuntimePlugin");
48
+
49
+ const DataUriPlugin = require("../schemes/DataUriPlugin");
50
+ const FileUriPlugin = require("../schemes/FileUriPlugin");
51
+
52
+ const DefaultStatsFactoryPlugin = require("../stats/DefaultStatsFactoryPlugin");
53
+ const DefaultStatsPresetPlugin = require("../stats/DefaultStatsPresetPlugin");
54
+ const DefaultStatsPrinterPlugin = require("../stats/DefaultStatsPrinterPlugin");
55
+ const TemplatedPathPlugin = require("../template/TemplatedPathPlugin");
56
+
57
+ const { cleverMerge } = require("../util/cleverMerge");
58
+ const { NODE_MODULES_REGEXP } = require("../util/identifier");
22
59
  const OptionsApply = require("./OptionsApply");
23
60
 
24
- const RecordIdsPlugin = require("./RecordIdsPlugin");
25
-
26
- const RuntimePlugin = require("./RuntimePlugin");
27
-
28
- const TemplatedPathPlugin = require("./TemplatedPathPlugin");
29
-
30
- const UseStrictPlugin = require("./UseStrictPlugin");
31
-
32
- const WarnCaseSensitiveModulesPlugin = require("./WarnCaseSensitiveModulesPlugin");
33
-
34
- const WebpackIsIncludedPlugin = require("./WebpackIsIncludedPlugin");
35
-
36
- const AssetModulesPlugin = require("./asset/AssetModulesPlugin");
37
-
38
- const InferAsyncModulesPlugin = require("./async-modules/InferAsyncModulesPlugin");
39
-
40
- const ResolverCachePlugin = require("./cache/ResolverCachePlugin");
41
-
42
- const CommonJsPlugin = require("./dependencies/CommonJsPlugin");
43
-
44
- const HarmonyModulesPlugin = require("./dependencies/HarmonyModulesPlugin");
45
-
46
- const ImportMetaContextPlugin = require("./dependencies/ImportMetaContextPlugin");
47
- const ImportMetaPlugin = require("./dependencies/ImportMetaPlugin");
48
-
49
- const ImportPlugin = require("./dependencies/ImportPlugin");
50
- const LoaderPlugin = require("./dependencies/LoaderPlugin");
51
-
52
- const RequireContextPlugin = require("./dependencies/RequireContextPlugin");
53
- const RequireEnsurePlugin = require("./dependencies/RequireEnsurePlugin");
54
- const RequireIncludePlugin = require("./dependencies/RequireIncludePlugin");
55
-
56
- const SystemPlugin = require("./dependencies/SystemPlugin");
57
-
58
- const URLPlugin = require("./dependencies/URLPlugin");
59
-
60
- const WorkerAndWorkletPlugin = require("./dependencies/WorkerAndWorkletPlugin");
61
-
62
- const JavascriptModulesPlugin = require("./javascript/JavascriptModulesPlugin");
63
-
64
- const JsonModulesPlugin = require("./json/JsonModulesPlugin");
65
-
66
- const ChunkPrefetchPreloadPlugin = require("./prefetch/ChunkPrefetchPreloadPlugin");
67
- const ResourceHintPlugin = require("./prefetch/ResourceHintPlugin");
68
-
69
- const DataUriPlugin = require("./schemes/DataUriPlugin");
70
- const FileUriPlugin = require("./schemes/FileUriPlugin");
71
-
72
- const DefaultStatsFactoryPlugin = require("./stats/DefaultStatsFactoryPlugin");
73
- const DefaultStatsPresetPlugin = require("./stats/DefaultStatsPresetPlugin");
74
- const DefaultStatsPrinterPlugin = require("./stats/DefaultStatsPrinterPlugin");
75
-
76
- const { cleverMerge } = require("./util/cleverMerge");
77
- const { NODE_MODULES_REGEXP } = require("./util/identifier");
78
-
79
- /** @import { WebpackPluginFunction } from "./webpack" */
61
+ /** @import { WebpackPluginFunction } from "../webpack" */
62
+ /** @import { NormalizedBuildDependencyItem } from "../cache/AddBuildDependenciesPlugin" */
80
63
  /**
81
64
  * @import {
82
65
  * WebpackOptionsNormalizedWithDefaults as WebpackOptions
83
- * } from "./config/defaults"
66
+ * } from "./defaults"
84
67
  */
85
- /** @import { WebpackOptionsInterception } from "./config/normalization" */
86
- /** @import Compiler from "./Compiler" */
87
- /** @import { InputFileSystem, IntermediateFileSystem } from "./util/fs" */
88
- /** @import { ResolveOptionsWithDependencyType } from "./ResolverFactory" */
68
+ /** @import { WebpackOptionsInterception } from "./normalization" */
69
+ /** @import Compiler from "../Compiler" */
70
+ /** @import { InputFileSystem, IntermediateFileSystem } from "../fs/fs" */
71
+ /** @import { ResolveOptionsWithDependencyType } from "../resolve/ResolverFactory" */
89
72
 
90
73
  const CLASS_NAME = "WebpackOptionsApply";
91
74
 
@@ -109,7 +92,7 @@ class WebpackOptionsApply extends OptionsApply {
109
92
 
110
93
  if (options.externals) {
111
94
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
112
- const ExternalsPlugin = require("./ExternalsPlugin");
95
+ const ExternalsPlugin = require("../externals/ExternalsPlugin");
113
96
 
114
97
  new ExternalsPlugin(options.externalsType, options.externals).apply(
115
98
  compiler
@@ -117,7 +100,7 @@ class WebpackOptionsApply extends OptionsApply {
117
100
  }
118
101
 
119
102
  if (options.externalsPresets.node) {
120
- const NodeTargetPlugin = require("./node/NodeTargetPlugin");
103
+ const NodeTargetPlugin = require("../node/NodeTargetPlugin");
121
104
 
122
105
  // Some older versions of Node.js don't support all built-in modules via import, only via `require`,
123
106
  // but it seems like there shouldn't be a warning here since these versions are rarely used in real applications
@@ -128,7 +111,7 @@ class WebpackOptionsApply extends OptionsApply {
128
111
  // Handle external CSS `@import` and `url()`
129
112
  if (options.experiments.css) {
130
113
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
131
- const ExternalsPlugin = require("./ExternalsPlugin");
114
+ const ExternalsPlugin = require("../externals/ExternalsPlugin");
132
115
 
133
116
  new ExternalsPlugin(
134
117
  "module",
@@ -156,7 +139,7 @@ class WebpackOptionsApply extends OptionsApply {
156
139
  }
157
140
  if (options.externalsPresets.nodeModules) {
158
141
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
159
- const ExternalsPlugin = require("./ExternalsPlugin");
142
+ const ExternalsPlugin = require("../externals/ExternalsPlugin");
160
143
 
161
144
  const type = options.output.module ? "module-import" : "node-commonjs";
162
145
  const preset = options.externalsPresets.nodeModules;
@@ -239,12 +222,12 @@ class WebpackOptionsApply extends OptionsApply {
239
222
  ).apply(compiler);
240
223
  }
241
224
  if (options.externalsPresets.deno) {
242
- const DenoTargetPlugin = require("./deno/DenoTargetPlugin");
225
+ const DenoTargetPlugin = require("../deno/DenoTargetPlugin");
243
226
 
244
227
  new DenoTargetPlugin().apply(compiler);
245
228
  }
246
229
  if (options.externalsPresets.bun) {
247
- const BunTargetPlugin = require("./bun/BunTargetPlugin");
230
+ const BunTargetPlugin = require("../bun/BunTargetPlugin");
248
231
 
249
232
  new BunTargetPlugin().apply(compiler);
250
233
  }
@@ -252,7 +235,7 @@ class WebpackOptionsApply extends OptionsApply {
252
235
  const type = options.externalsPresets.webAsync ? "import" : "module";
253
236
 
254
237
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
255
- const ExternalsPlugin = require("./ExternalsPlugin");
238
+ const ExternalsPlugin = require("../externals/ExternalsPlugin");
256
239
 
257
240
  new ExternalsPlugin(type, ({ request, dependencyType }, callback) => {
258
241
  if (/^(?:\/\/|https?:\/\/|#|std:|jsr:|npm:)/.test(request)) {
@@ -282,7 +265,7 @@ class WebpackOptionsApply extends OptionsApply {
282
265
 
283
266
  // Warn when ESM output is requested but the electron version lacks it (added in electron 28)
284
267
  if (options.output.module && !options.output.environment.module) {
285
- const WebpackError = require("./WebpackError");
268
+ const WebpackError = require("../WebpackError");
286
269
 
287
270
  compiler.hooks.thisCompilation.tap(CLASS_NAME, (compilation) => {
288
271
  compilation.warnings.push(
@@ -295,19 +278,19 @@ class WebpackOptionsApply extends OptionsApply {
295
278
 
296
279
  if (options.externalsPresets.electronMain) {
297
280
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
298
- const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
281
+ const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
299
282
 
300
283
  new ElectronTargetPlugin("main", type).apply(compiler);
301
284
  }
302
285
  if (options.externalsPresets.electronPreload) {
303
286
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
304
- const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
287
+ const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
305
288
 
306
289
  new ElectronTargetPlugin("preload", type).apply(compiler);
307
290
  }
308
291
  if (options.externalsPresets.electronRenderer) {
309
292
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
310
- const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
293
+ const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
311
294
 
312
295
  new ElectronTargetPlugin("renderer", type).apply(compiler);
313
296
  }
@@ -317,14 +300,14 @@ class WebpackOptionsApply extends OptionsApply {
317
300
  !options.externalsPresets.electronRenderer
318
301
  ) {
319
302
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
320
- const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
303
+ const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
321
304
 
322
305
  new ElectronTargetPlugin(undefined, type).apply(compiler);
323
306
  }
324
307
  }
325
308
  if (options.externalsPresets.nwjs) {
326
309
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
327
- const ExternalsPlugin = require("./ExternalsPlugin");
310
+ const ExternalsPlugin = require("../externals/ExternalsPlugin");
328
311
 
329
312
  new ExternalsPlugin("node-commonjs", "nw.gui").apply(compiler);
330
313
  }
@@ -335,19 +318,19 @@ class WebpackOptionsApply extends OptionsApply {
335
318
  if (typeof options.output.chunkFormat === "string") {
336
319
  switch (options.output.chunkFormat) {
337
320
  case "array-push": {
338
- const ArrayPushCallbackChunkFormatPlugin = require("./javascript/ArrayPushCallbackChunkFormatPlugin");
321
+ const ArrayPushCallbackChunkFormatPlugin = require("../javascript/ArrayPushCallbackChunkFormatPlugin");
339
322
 
340
323
  new ArrayPushCallbackChunkFormatPlugin().apply(compiler);
341
324
  break;
342
325
  }
343
326
  case "commonjs": {
344
- const CommonJsChunkFormatPlugin = require("./javascript/CommonJsChunkFormatPlugin");
327
+ const CommonJsChunkFormatPlugin = require("../javascript/CommonJsChunkFormatPlugin");
345
328
 
346
329
  new CommonJsChunkFormatPlugin().apply(compiler);
347
330
  break;
348
331
  }
349
332
  case "module": {
350
- const ModuleChunkFormatPlugin = require("./esm/ModuleChunkFormatPlugin");
333
+ const ModuleChunkFormatPlugin = require("../esm/ModuleChunkFormatPlugin");
351
334
 
352
335
  new ModuleChunkFormatPlugin().apply(compiler);
353
336
  break;
@@ -359,38 +342,32 @@ class WebpackOptionsApply extends OptionsApply {
359
342
  }
360
343
  }
361
344
 
362
- const enabledChunkLoadingTypes =
363
- /** @type {NonNullable<WebpackOptions["output"]["enabledChunkLoadingTypes"]>} */
364
- (options.output.enabledChunkLoadingTypes);
345
+ const enabledChunkLoadingTypes = options.output.enabledChunkLoadingTypes;
365
346
 
366
347
  if (enabledChunkLoadingTypes.length > 0) {
367
348
  for (const type of enabledChunkLoadingTypes) {
368
- const EnableChunkLoadingPlugin = require("./javascript/EnableChunkLoadingPlugin");
349
+ const EnableChunkLoadingPlugin = require("../javascript/EnableChunkLoadingPlugin");
369
350
 
370
351
  new EnableChunkLoadingPlugin(type).apply(compiler);
371
352
  }
372
353
  }
373
354
 
374
- const enabledWasmLoadingTypes =
375
- /** @type {NonNullable<WebpackOptions["output"]["enabledWasmLoadingTypes"]>} */
376
- (options.output.enabledWasmLoadingTypes);
355
+ const enabledWasmLoadingTypes = options.output.enabledWasmLoadingTypes;
377
356
 
378
357
  if (enabledWasmLoadingTypes.length > 0) {
379
358
  for (const type of enabledWasmLoadingTypes) {
380
- const EnableWasmLoadingPlugin = require("./wasm/EnableWasmLoadingPlugin");
359
+ const EnableWasmLoadingPlugin = require("../wasm/EnableWasmLoadingPlugin");
381
360
 
382
361
  new EnableWasmLoadingPlugin(type).apply(compiler);
383
362
  }
384
363
  }
385
364
 
386
- const enabledLibraryTypes =
387
- /** @type {NonNullable<WebpackOptions["output"]["enabledLibraryTypes"]>} */
388
- (options.output.enabledLibraryTypes);
365
+ const enabledLibraryTypes = options.output.enabledLibraryTypes;
389
366
 
390
367
  if (enabledLibraryTypes.length > 0) {
391
368
  let once = true;
392
369
  for (const type of enabledLibraryTypes) {
393
- const EnableLibraryPlugin = require("./library/EnableLibraryPlugin");
370
+ const EnableLibraryPlugin = require("../library/EnableLibraryPlugin");
394
371
 
395
372
  new EnableLibraryPlugin(type, {
396
373
  // eslint-disable-next-line no-loop-func
@@ -411,7 +388,7 @@ class WebpackOptionsApply extends OptionsApply {
411
388
  }
412
389
 
413
390
  if (options.output.pathinfo) {
414
- const ModuleInfoHeaderPlugin = require("./ModuleInfoHeaderPlugin");
391
+ const ModuleInfoHeaderPlugin = require("../template/ModuleInfoHeaderPlugin");
415
392
 
416
393
  new ModuleInfoHeaderPlugin(options.output.pathinfo !== true).apply(
417
394
  compiler
@@ -419,7 +396,7 @@ class WebpackOptionsApply extends OptionsApply {
419
396
  }
420
397
 
421
398
  if (options.output.clean) {
422
- const CleanPlugin = require("./CleanPlugin");
399
+ const CleanPlugin = require("../output/CleanPlugin");
423
400
 
424
401
  new CleanPlugin(
425
402
  options.output.clean === true ? {} : options.output.clean
@@ -427,13 +404,13 @@ class WebpackOptionsApply extends OptionsApply {
427
404
  }
428
405
 
429
406
  if (options.output.copy) {
430
- const CopyPlugin = require("./CopyPlugin");
407
+ const CopyPlugin = require("../output/CopyPlugin");
431
408
 
432
409
  new CopyPlugin(options.output.copy).apply(compiler);
433
410
  }
434
411
 
435
412
  if (options.dotenv) {
436
- const DotenvPlugin = require("./DotenvPlugin");
413
+ const DotenvPlugin = require("../define/DotenvPlugin");
437
414
 
438
415
  new DotenvPlugin(
439
416
  typeof options.dotenv === "boolean" ? {} : options.dotenv
@@ -460,9 +437,10 @@ class WebpackOptionsApply extends OptionsApply {
460
437
  const moduleMaps = use.includes("module");
461
438
  const noSources = use.includes("nosources");
462
439
  const debugIds = use.includes("debugids");
440
+ const scopes = use.includes("scopes");
463
441
  const Plugin = evalWrapped
464
- ? require("./EvalSourceMapDevToolPlugin")
465
- : require("./SourceMapDevToolPlugin");
442
+ ? require("../devtool/EvalSourceMapDevToolPlugin")
443
+ : require("../devtool/SourceMapDevToolPlugin");
466
444
  const assetExt =
467
445
  type === "javascript"
468
446
  ? /\.((c|m)?js)($|\?)/i
@@ -482,10 +460,11 @@ class WebpackOptionsApply extends OptionsApply {
482
460
  columns: !cheap,
483
461
  noSources,
484
462
  namespace: options.output.devtoolNamespace,
485
- debugIds
463
+ debugIds,
464
+ scopes
486
465
  }).apply(compiler);
487
466
  } else if (use.includes("eval")) {
488
- const EvalDevToolModulePlugin = require("./EvalDevToolModulePlugin");
467
+ const EvalDevToolModulePlugin = require("../devtool/EvalDevToolModulePlugin");
489
468
 
490
469
  new EvalDevToolModulePlugin({
491
470
  moduleFilenameTemplate:
@@ -505,13 +484,13 @@ class WebpackOptionsApply extends OptionsApply {
505
484
 
506
485
  if (options.output.module) {
507
486
  // Analyzable output is ESM output, so this is every build that can reserve a name.
508
- const RuntimeTemplate = require("./RuntimeTemplate");
487
+ const RuntimeTemplate = require("../template/RuntimeTemplate");
509
488
 
510
489
  RuntimeTemplate.fillReservedNames(compiler);
511
490
  }
512
491
 
513
492
  if (options.experiments.syncWebAssembly) {
514
- const WebAssemblyModulesPlugin = require("./wasm-sync/WebAssemblyModulesPlugin");
493
+ const WebAssemblyModulesPlugin = require("../wasm-sync/WebAssemblyModulesPlugin");
515
494
 
516
495
  new WebAssemblyModulesPlugin({
517
496
  mangleImports: options.optimization.mangleWasmImports
@@ -519,7 +498,7 @@ class WebpackOptionsApply extends OptionsApply {
519
498
  }
520
499
 
521
500
  if (options.experiments.asyncWebAssembly) {
522
- const AsyncWebAssemblyModulesPlugin = require("./wasm-async/AsyncWebAssemblyModulesPlugin");
501
+ const AsyncWebAssemblyModulesPlugin = require("../wasm/AsyncWebAssemblyModulesPlugin");
523
502
 
524
503
  new AsyncWebAssemblyModulesPlugin({
525
504
  mangleImports: options.optimization.mangleWasmImports
@@ -527,25 +506,25 @@ class WebpackOptionsApply extends OptionsApply {
527
506
  }
528
507
 
529
508
  if (options.experiments.css) {
530
- const CssModulesPlugin = require("./css/CssModulesPlugin");
509
+ const CssModulesPlugin = require("../css/CssModulesPlugin");
531
510
 
532
511
  new CssModulesPlugin().apply(compiler);
533
512
  }
534
513
 
535
514
  if (options.experiments.html) {
536
- const HtmlModulesPlugin = require("./html/HtmlModulesPlugin");
515
+ const HtmlModulesPlugin = require("../html/HtmlModulesPlugin");
537
516
 
538
517
  new HtmlModulesPlugin().apply(compiler);
539
518
  }
540
519
 
541
520
  if (options.experiments.typescript) {
542
- const TypeScriptPlugin = require("./typescript/TypeScriptPlugin");
521
+ const TypeScriptPlugin = require("../typescript/TypeScriptPlugin");
543
522
 
544
523
  new TypeScriptPlugin().apply(compiler);
545
524
  }
546
525
 
547
526
  if (options.experiments.lazyCompilation) {
548
- const LazyCompilationPlugin = require("./hmr/LazyCompilationPlugin");
527
+ const LazyCompilationPlugin = require("../hmr/LazyCompilationPlugin");
549
528
 
550
529
  const lazyOptions =
551
530
  typeof options.experiments.lazyCompilation === "object"
@@ -557,12 +536,12 @@ class WebpackOptionsApply extends OptionsApply {
557
536
  compiler.platform.web === null;
558
537
 
559
538
  if (isUniversalTarget) {
560
- const emitter = require.resolve("../hot/emitter-event-target.js");
539
+ const emitter = require.resolve("../../hot/emitter-event-target.js");
561
540
 
562
- const NormalModuleReplacementPlugin = require("./NormalModuleReplacementPlugin");
541
+ const NormalModuleReplacementPlugin = require("../resolve/NormalModuleReplacementPlugin");
563
542
 
564
543
  // Override emitter that using `EventEmitter` to `EventTarget`
565
- // TODO webpack 6 - migrate to `EventTarget` by default
544
+ // TODO in the next major release: migrate to `EventTarget` by default
566
545
  new NormalModuleReplacementPlugin(/emitter(\.js)?$/, (result) => {
567
546
  if (
568
547
  /webpack[/\\]hot|webpack-dev-server[/\\]client|webpack-hot-middleware[/\\]client/.test(
@@ -578,8 +557,8 @@ class WebpackOptionsApply extends OptionsApply {
578
557
 
579
558
  const backend = require.resolve(
580
559
  isUniversalTarget
581
- ? "../hot/lazy-compilation-universal.js"
582
- : `../hot/lazy-compilation-${
560
+ ? "../../hot/lazy-compilation-universal.js"
561
+ : `../../hot/lazy-compilation-${
583
562
  options.externalsPresets.node ? "node" : "web"
584
563
  }.js`
585
564
  );
@@ -588,7 +567,7 @@ class WebpackOptionsApply extends OptionsApply {
588
567
  backend:
589
568
  typeof lazyOptions.backend === "function"
590
569
  ? lazyOptions.backend
591
- : require("./hmr/lazyCompilationBackend")({
570
+ : require("../hmr/lazyCompilationBackend")({
592
571
  ...lazyOptions.backend,
593
572
  client:
594
573
  (lazyOptions.backend && lazyOptions.backend.client) || backend
@@ -600,7 +579,7 @@ class WebpackOptionsApply extends OptionsApply {
600
579
  }
601
580
 
602
581
  if (options.experiments.buildHttp) {
603
- const HttpUriPlugin = require("./schemes/HttpUriPlugin");
582
+ const HttpUriPlugin = require("../schemes/HttpUriPlugin");
604
583
 
605
584
  const httpOptions = options.experiments.buildHttp;
606
585
  new HttpUriPlugin(httpOptions).apply(compiler);
@@ -617,12 +596,12 @@ class WebpackOptionsApply extends OptionsApply {
617
596
  new FileUriPlugin().apply(compiler);
618
597
 
619
598
  new CompatibilityPlugin().apply(compiler);
620
- new HarmonyModulesPlugin({
599
+ new ESMModulesPlugin({
621
600
  deferImport: options.experiments.deferImport
622
601
  }).apply(compiler);
623
602
  if (options.amd !== false) {
624
- const AMDPlugin = require("./dependencies/AMDPlugin");
625
- const RequireJsStuffPlugin = require("./dependencies/RequireJsStuffPlugin");
603
+ const AMDPlugin = require("../dependencies/amd/AMDPlugin");
604
+ const RequireJsStuffPlugin = require("../dependencies/amd/RequireJsStuffPlugin");
626
605
 
627
606
  new AMDPlugin(options.amd || {}).apply(compiler);
628
607
  new RequireJsStuffPlugin().apply(compiler);
@@ -662,36 +641,36 @@ class WebpackOptionsApply extends OptionsApply {
662
641
  new JavascriptMetaInfoPlugin().apply(compiler);
663
642
 
664
643
  if (typeof options.mode !== "string") {
665
- const WarnNoModeSetPlugin = require("./WarnNoModeSetPlugin");
644
+ const WarnNoModeSetPlugin = require("../diagnostics/WarnNoModeSetPlugin");
666
645
 
667
646
  new WarnNoModeSetPlugin().apply(compiler);
668
647
  }
669
648
 
670
- const EnsureChunkConditionsPlugin = require("./optimize/EnsureChunkConditionsPlugin");
649
+ const EnsureChunkConditionsPlugin = require("../optimize/EnsureChunkConditionsPlugin");
671
650
 
672
651
  new EnsureChunkConditionsPlugin().apply(compiler);
673
652
  if (options.optimization.removeAvailableModules) {
674
- const RemoveParentModulesPlugin = require("./optimize/RemoveParentModulesPlugin");
653
+ const RemoveParentModulesPlugin = require("../optimize/RemoveParentModulesPlugin");
675
654
 
676
655
  new RemoveParentModulesPlugin().apply(compiler);
677
656
  }
678
657
  if (options.optimization.removeEmptyChunks) {
679
- const RemoveEmptyChunksPlugin = require("./optimize/RemoveEmptyChunksPlugin");
658
+ const RemoveEmptyChunksPlugin = require("../optimize/RemoveEmptyChunksPlugin");
680
659
 
681
660
  new RemoveEmptyChunksPlugin().apply(compiler);
682
661
  }
683
662
  if (options.optimization.mergeDuplicateChunks) {
684
- const MergeDuplicateChunksPlugin = require("./optimize/MergeDuplicateChunksPlugin");
663
+ const MergeDuplicateChunksPlugin = require("../optimize/MergeDuplicateChunksPlugin");
685
664
 
686
665
  new MergeDuplicateChunksPlugin().apply(compiler);
687
666
  }
688
667
  if (options.optimization.flagIncludedChunks) {
689
- const FlagIncludedChunksPlugin = require("./optimize/FlagIncludedChunksPlugin");
668
+ const FlagIncludedChunksPlugin = require("../optimize/FlagIncludedChunksPlugin");
690
669
 
691
670
  new FlagIncludedChunksPlugin().apply(compiler);
692
671
  }
693
672
  if (options.optimization.sideEffects) {
694
- const SideEffectsFlagPlugin = require("./optimize/SideEffectsFlagPlugin");
673
+ const SideEffectsFlagPlugin = require("../optimize/SideEffectsFlagPlugin");
695
674
 
696
675
  new SideEffectsFlagPlugin(
697
676
  options.optimization.sideEffects === true
@@ -701,7 +680,7 @@ class WebpackOptionsApply extends OptionsApply {
701
680
  new FlagDependencyExportsPlugin().apply(compiler);
702
681
  }
703
682
  if (options.optimization.usedExports) {
704
- const FlagDependencyUsagePlugin = require("./FlagDependencyUsagePlugin");
683
+ const FlagDependencyUsagePlugin = require("../optimize/FlagDependencyUsagePlugin");
705
684
 
706
685
  new FlagDependencyUsagePlugin(
707
686
  options.optimization.usedExports === "global",
@@ -710,7 +689,7 @@ class WebpackOptionsApply extends OptionsApply {
710
689
  ).apply(compiler);
711
690
  }
712
691
  if (options.optimization.innerGraph) {
713
- const InnerGraphPlugin = require("./optimize/InnerGraphPlugin");
692
+ const InnerGraphPlugin = require("../optimize/InnerGraphPlugin");
714
693
 
715
694
  new InnerGraphPlugin().apply(compiler);
716
695
  }
@@ -723,61 +702,59 @@ class WebpackOptionsApply extends OptionsApply {
723
702
  const inlineExports = options.optimization.inlineExports;
724
703
 
725
704
  if (options.mode === "production" || circularHints || inlineExports) {
726
- const CircularModulesPlugin = require("./CircularModulesPlugin");
705
+ const CircularModulesPlugin = require("../optimize/CircularModulesPlugin");
727
706
 
728
707
  new CircularModulesPlugin({ hints: circularHints }).apply(compiler);
729
708
  }
730
709
 
731
- const ConstExportsPlugin = require("./optimize/ConstExportsPlugin");
710
+ const ConstExportsPlugin = require("../optimize/ConstExportsPlugin");
732
711
 
733
712
  new ConstExportsPlugin({
734
713
  inlineExports
735
714
  }).apply(compiler);
736
715
 
737
716
  if (options.optimization.mangleExports) {
738
- const MangleExportsPlugin = require("./optimize/MangleExportsPlugin");
717
+ const MangleExportsPlugin = require("../optimize/MangleExportsPlugin");
739
718
 
740
719
  new MangleExportsPlugin(
741
720
  options.optimization.mangleExports !== "size"
742
721
  ).apply(compiler);
743
722
  }
744
723
  if (options.optimization.concatenateModules) {
745
- const ModuleConcatenationPlugin = require("./optimize/ModuleConcatenationPlugin");
724
+ const ModuleConcatenationPlugin = require("../optimize/ModuleConcatenationPlugin");
746
725
 
747
726
  new ModuleConcatenationPlugin().apply(compiler);
748
727
  }
749
728
  if (options.optimization.splitChunks) {
750
- const SplitChunksPlugin = require("./optimize/SplitChunksPlugin");
729
+ const SplitChunksPlugin = require("../optimize/SplitChunksPlugin");
751
730
 
752
731
  new SplitChunksPlugin(options.optimization.splitChunks).apply(compiler);
753
732
  }
754
733
  if (options.optimization.runtimeChunk) {
755
- const RuntimeChunkPlugin = require("./optimize/RuntimeChunkPlugin");
734
+ const RuntimeChunkPlugin = require("../optimize/RuntimeChunkPlugin");
756
735
 
757
736
  new RuntimeChunkPlugin(options.optimization.runtimeChunk).apply(compiler);
758
737
  }
759
738
  if (!options.optimization.emitOnErrors) {
760
- const NoEmitOnErrorsPlugin = require("./NoEmitOnErrorsPlugin");
739
+ const NoEmitOnErrorsPlugin = require("../diagnostics/NoEmitOnErrorsPlugin");
761
740
 
762
741
  new NoEmitOnErrorsPlugin().apply(compiler);
763
742
  }
764
743
  // ESM output may bake a name into a chunk whose hashed name would then go stale;
765
744
  // the repair runs for those alone where it was not asked for outright.
766
745
  if (options.optimization.realContentHash || options.output.module) {
767
- const RealContentHashPlugin = require("./optimize/RealContentHashPlugin");
746
+ const RealContentHashPlugin = require("../optimize/RealContentHashPlugin");
768
747
 
769
748
  new RealContentHashPlugin({
770
749
  hashFunction:
771
750
  /** @type {NonNullable<WebpackOptions["output"]["hashFunction"]>} */
772
751
  (options.output.hashFunction),
773
- hashDigest:
774
- /** @type {NonNullable<WebpackOptions["output"]["hashDigest"]>} */
775
- (options.output.hashDigest),
752
+ hashDigest: options.output.hashDigest,
776
753
  onDemand: !options.optimization.realContentHash
777
754
  }).apply(compiler);
778
755
  }
779
756
  if (options.optimization.checkWasmTypes) {
780
- const WasmFinalizeExportsPlugin = require("./wasm-sync/WasmFinalizeExportsPlugin");
757
+ const WasmFinalizeExportsPlugin = require("../wasm-sync/WasmFinalizeExportsPlugin");
781
758
 
782
759
  new WasmFinalizeExportsPlugin().apply(compiler);
783
760
  }
@@ -785,20 +762,20 @@ class WebpackOptionsApply extends OptionsApply {
785
762
  if (moduleIds) {
786
763
  switch (moduleIds) {
787
764
  case "natural": {
788
- const NaturalModuleIdsPlugin = require("./ids/NaturalModuleIdsPlugin");
765
+ const NaturalModuleIdsPlugin = require("../ids/NaturalModuleIdsPlugin");
789
766
 
790
767
  new NaturalModuleIdsPlugin().apply(compiler);
791
768
  break;
792
769
  }
793
770
  case "named": {
794
- const NamedModuleIdsPlugin = require("./ids/NamedModuleIdsPlugin");
771
+ const NamedModuleIdsPlugin = require("../ids/NamedModuleIdsPlugin");
795
772
 
796
773
  new NamedModuleIdsPlugin().apply(compiler);
797
774
  break;
798
775
  }
799
776
  case "hashed": {
800
- const WarnDeprecatedOptionPlugin = require("./WarnDeprecatedOptionPlugin");
801
- const HashedModuleIdsPlugin = require("./ids/HashedModuleIdsPlugin");
777
+ const WarnDeprecatedOptionPlugin = require("../diagnostics/WarnDeprecatedOptionPlugin");
778
+ const HashedModuleIdsPlugin = require("../ids/HashedModuleIdsPlugin");
802
779
 
803
780
  new WarnDeprecatedOptionPlugin(
804
781
  "optimization.moduleIds",
@@ -811,13 +788,13 @@ class WebpackOptionsApply extends OptionsApply {
811
788
  break;
812
789
  }
813
790
  case "deterministic": {
814
- const DeterministicModuleIdsPlugin = require("./ids/DeterministicModuleIdsPlugin");
791
+ const DeterministicModuleIdsPlugin = require("../ids/DeterministicModuleIdsPlugin");
815
792
 
816
793
  new DeterministicModuleIdsPlugin().apply(compiler);
817
794
  break;
818
795
  }
819
796
  case "size": {
820
- const OccurrenceModuleIdsPlugin = require("./ids/OccurrenceModuleIdsPlugin");
797
+ const OccurrenceModuleIdsPlugin = require("../ids/OccurrenceModuleIdsPlugin");
821
798
 
822
799
  new OccurrenceModuleIdsPlugin({
823
800
  prioritiseInitial: true
@@ -834,26 +811,26 @@ class WebpackOptionsApply extends OptionsApply {
834
811
  if (chunkIds) {
835
812
  switch (chunkIds) {
836
813
  case "natural": {
837
- const NaturalChunkIdsPlugin = require("./ids/NaturalChunkIdsPlugin");
814
+ const NaturalChunkIdsPlugin = require("../ids/NaturalChunkIdsPlugin");
838
815
 
839
816
  new NaturalChunkIdsPlugin().apply(compiler);
840
817
  break;
841
818
  }
842
819
  case "named": {
843
- const NamedChunkIdsPlugin = require("./ids/NamedChunkIdsPlugin");
820
+ const NamedChunkIdsPlugin = require("../ids/NamedChunkIdsPlugin");
844
821
 
845
822
  new NamedChunkIdsPlugin().apply(compiler);
846
823
  break;
847
824
  }
848
825
  case "deterministic": {
849
- const DeterministicChunkIdsPlugin = require("./ids/DeterministicChunkIdsPlugin");
826
+ const DeterministicChunkIdsPlugin = require("../ids/DeterministicChunkIdsPlugin");
850
827
 
851
828
  new DeterministicChunkIdsPlugin().apply(compiler);
852
829
  break;
853
830
  }
854
831
  case "size": {
855
832
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
856
- const OccurrenceChunkIdsPlugin = require("./ids/OccurrenceChunkIdsPlugin");
833
+ const OccurrenceChunkIdsPlugin = require("../ids/OccurrenceChunkIdsPlugin");
857
834
 
858
835
  new OccurrenceChunkIdsPlugin({
859
836
  prioritiseInitial: true
@@ -862,7 +839,7 @@ class WebpackOptionsApply extends OptionsApply {
862
839
  }
863
840
  case "total-size": {
864
841
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
865
- const OccurrenceChunkIdsPlugin = require("./ids/OccurrenceChunkIdsPlugin");
842
+ const OccurrenceChunkIdsPlugin = require("../ids/OccurrenceChunkIdsPlugin");
866
843
 
867
844
  new OccurrenceChunkIdsPlugin({
868
845
  prioritiseInitial: false
@@ -876,7 +853,7 @@ class WebpackOptionsApply extends OptionsApply {
876
853
  }
877
854
  }
878
855
  if (options.optimization.nodeEnv) {
879
- const DefinePlugin = require("./DefinePlugin");
856
+ const DefinePlugin = require("../define/DefinePlugin");
880
857
 
881
858
  const defValue = JSON.stringify(options.optimization.nodeEnv);
882
859
  const development = options.mode === "development";
@@ -919,131 +896,131 @@ class WebpackOptionsApply extends OptionsApply {
919
896
 
920
897
  if (options.performance) {
921
898
  if (options.performance.hotspots) {
922
- const HotspotsPlugin = require("./performance/HotspotsPlugin");
899
+ const HotspotsPlugin = require("../performance/HotspotsPlugin");
923
900
 
924
901
  new HotspotsPlugin(options.performance).apply(compiler);
925
902
  }
926
903
 
927
- const SizeLimitsPlugin = require("./performance/SizeLimitsPlugin");
904
+ const SizeLimitsPlugin = require("../performance/SizeLimitsPlugin");
928
905
 
929
906
  new SizeLimitsPlugin(options.performance).apply(compiler);
930
907
 
931
908
  if (options.performance.duplicatePackages) {
932
- const DuplicatePackagesPlugin = require("./performance/DuplicatePackagesPlugin");
909
+ const DuplicatePackagesPlugin = require("../performance/DuplicatePackagesPlugin");
933
910
 
934
911
  new DuplicatePackagesPlugin(options.performance).apply(compiler);
935
912
  }
936
913
 
937
914
  if (options.performance.cacheEffectiveness) {
938
- const CacheEffectivenessPlugin = require("./performance/CacheEffectivenessPlugin");
915
+ const CacheEffectivenessPlugin = require("../performance/CacheEffectivenessPlugin");
939
916
 
940
917
  new CacheEffectivenessPlugin(options.performance).apply(compiler);
941
918
  }
942
919
 
943
920
  if (options.performance.duplicateModules) {
944
- const DuplicateModulesPlugin = require("./performance/DuplicateModulesPlugin");
921
+ const DuplicateModulesPlugin = require("../performance/DuplicateModulesPlugin");
945
922
 
946
923
  new DuplicateModulesPlugin(options.performance).apply(compiler);
947
924
  }
948
925
 
949
926
  if (options.performance.redundantDynamicImports) {
950
- const RedundantDynamicImportsPlugin = require("./performance/RedundantDynamicImportsPlugin");
927
+ const RedundantDynamicImportsPlugin = require("../performance/RedundantDynamicImportsPlugin");
951
928
 
952
929
  new RedundantDynamicImportsPlugin(options.performance).apply(compiler);
953
930
  }
954
931
 
955
932
  if (options.performance.largeModules) {
956
- const LargeModulesPlugin = require("./performance/LargeModulesPlugin");
933
+ const LargeModulesPlugin = require("../performance/LargeModulesPlugin");
957
934
 
958
935
  new LargeModulesPlugin(options.performance).apply(compiler);
959
936
  }
960
937
 
961
938
  if (options.performance.analyzableBailouts) {
962
- const AnalyzableBailoutsPlugin = require("./performance/AnalyzableBailoutsPlugin");
939
+ const AnalyzableBailoutsPlugin = require("../performance/AnalyzableBailoutsPlugin");
963
940
 
964
941
  new AnalyzableBailoutsPlugin(options.performance).apply(compiler);
965
942
  }
966
943
 
967
944
  if (options.performance.asyncChunkWaterfalls) {
968
- const AsyncChunkWaterfallsPlugin = require("./performance/AsyncChunkWaterfallsPlugin");
945
+ const AsyncChunkWaterfallsPlugin = require("../performance/AsyncChunkWaterfallsPlugin");
969
946
 
970
947
  new AsyncChunkWaterfallsPlugin(options.performance).apply(compiler);
971
948
  }
972
949
 
973
950
  if (options.performance.broadContexts) {
974
- const BroadContextsPlugin = require("./performance/BroadContextsPlugin");
951
+ const BroadContextsPlugin = require("../performance/BroadContextsPlugin");
975
952
 
976
953
  new BroadContextsPlugin(options.performance).apply(compiler);
977
954
  }
978
955
 
979
956
  if (options.performance.legacyJavascript) {
980
- const LegacyJavascriptPlugin = require("./performance/LegacyJavascriptPlugin");
957
+ const LegacyJavascriptPlugin = require("../performance/LegacyJavascriptPlugin");
981
958
 
982
959
  new LegacyJavascriptPlugin(options.performance).apply(compiler);
983
960
  }
984
961
 
985
962
  if (options.performance.mixedExports) {
986
- const MixedExportsPlugin = require("./performance/MixedExportsPlugin");
963
+ const MixedExportsPlugin = require("../performance/MixedExportsPlugin");
987
964
 
988
965
  new MixedExportsPlugin(options.performance).apply(compiler);
989
966
  }
990
967
 
991
968
  if (options.performance.pureAnnotations) {
992
- const PureAnnotationsPlugin = require("./performance/PureAnnotationsPlugin");
969
+ const PureAnnotationsPlugin = require("../performance/PureAnnotationsPlugin");
993
970
 
994
971
  new PureAnnotationsPlugin(options.performance).apply(compiler);
995
972
  }
996
973
 
997
974
  if (options.performance.evalUsage) {
998
- const EvalUsagePlugin = require("./performance/EvalUsagePlugin");
975
+ const EvalUsagePlugin = require("../performance/EvalUsagePlugin");
999
976
 
1000
977
  new EvalUsagePlugin(options.performance).apply(compiler);
1001
978
  }
1002
979
 
1003
980
  if (options.performance.tinyChunks) {
1004
- const TinyChunksPlugin = require("./performance/TinyChunksPlugin");
981
+ const TinyChunksPlugin = require("../performance/TinyChunksPlugin");
1005
982
 
1006
983
  new TinyChunksPlugin(options.performance).apply(compiler);
1007
984
  }
1008
985
 
1009
986
  if (options.performance.topLevelThis) {
1010
- const TopLevelThisPlugin = require("./performance/TopLevelThisPlugin");
987
+ const TopLevelThisPlugin = require("../performance/TopLevelThisPlugin");
1011
988
 
1012
989
  new TopLevelThisPlugin(options.performance).apply(compiler);
1013
990
  }
1014
991
 
1015
992
  if (options.performance.unsplitVendors) {
1016
- const UnsplitVendorsPlugin = require("./performance/UnsplitVendorsPlugin");
993
+ const UnsplitVendorsPlugin = require("../performance/UnsplitVendorsPlugin");
1017
994
 
1018
995
  new UnsplitVendorsPlugin(options.performance).apply(compiler);
1019
996
  }
1020
997
 
1021
998
  if (options.performance.splitChunksCapped) {
1022
- const SplitChunksCappedPlugin = require("./performance/SplitChunksCappedPlugin");
999
+ const SplitChunksCappedPlugin = require("../performance/SplitChunksCappedPlugin");
1023
1000
 
1024
1001
  new SplitChunksCappedPlugin(options.performance).apply(compiler);
1025
1002
  }
1026
1003
 
1027
1004
  if (options.performance.dynamicExports) {
1028
- const DynamicExportsPlugin = require("./performance/DynamicExportsPlugin");
1005
+ const DynamicExportsPlugin = require("../performance/DynamicExportsPlugin");
1029
1006
 
1030
1007
  new DynamicExportsPlugin(options.performance).apply(compiler);
1031
1008
  }
1032
1009
 
1033
1010
  if (options.performance.inlinedAssets) {
1034
- const InlinedAssetsPlugin = require("./performance/InlinedAssetsPlugin");
1011
+ const InlinedAssetsPlugin = require("../performance/InlinedAssetsPlugin");
1035
1012
 
1036
1013
  new InlinedAssetsPlugin(options.performance).apply(compiler);
1037
1014
  }
1038
1015
 
1039
1016
  if (options.performance.missingSideEffects) {
1040
- const MissingSideEffectsPlugin = require("./performance/MissingSideEffectsPlugin");
1017
+ const MissingSideEffectsPlugin = require("../performance/MissingSideEffectsPlugin");
1041
1018
 
1042
1019
  new MissingSideEffectsPlugin(options.performance).apply(compiler);
1043
1020
  }
1044
1021
 
1045
1022
  if (options.performance.scopeHoistingBailouts) {
1046
- const ScopeHoistingBailoutsPlugin = require("./performance/ScopeHoistingBailoutsPlugin");
1023
+ const ScopeHoistingBailoutsPlugin = require("../performance/ScopeHoistingBailoutsPlugin");
1047
1024
 
1048
1025
  new ScopeHoistingBailoutsPlugin(options.performance).apply(compiler);
1049
1026
  }
@@ -1051,8 +1028,8 @@ class WebpackOptionsApply extends OptionsApply {
1051
1028
  // One switch for source maps: a devtool that ships the map to everyone,
1052
1029
  // and a loader that loses it, are both about the map being worth its cost.
1053
1030
  if (options.performance.sourceMaps) {
1054
- const EmbeddedSourceMapsPlugin = require("./performance/EmbeddedSourceMapsPlugin");
1055
- const MissingSourceMapsPlugin = require("./performance/MissingSourceMapsPlugin");
1031
+ const EmbeddedSourceMapsPlugin = require("../performance/EmbeddedSourceMapsPlugin");
1032
+ const MissingSourceMapsPlugin = require("../performance/MissingSourceMapsPlugin");
1056
1033
 
1057
1034
  new EmbeddedSourceMapsPlugin(options.performance).apply(compiler);
1058
1035
  new MissingSourceMapsPlugin(options.performance).apply(compiler);
@@ -1061,13 +1038,13 @@ class WebpackOptionsApply extends OptionsApply {
1061
1038
  // One switch for configuration that did nothing: the four read different
1062
1039
  // parts of the config, but the finding and the fix are the same.
1063
1040
  if (options.performance.unusedConfig) {
1064
- const UnusedAliasesPlugin = require("./performance/UnusedAliasesPlugin");
1065
- const UnusedDefinesPlugin = require("./performance/UnusedDefinesPlugin");
1066
- const UnusedExternalsPlugin = require("./performance/UnusedExternalsPlugin");
1067
- const UnusedFederationPlugin = require("./performance/UnusedFederationPlugin");
1041
+ const UnusedAliasesPlugin = require("../performance/UnusedAliasesPlugin");
1042
+ const UnusedDefinesPlugin = require("../performance/UnusedDefinesPlugin");
1043
+ const UnusedExternalsPlugin = require("../performance/UnusedExternalsPlugin");
1044
+ const UnusedFederationPlugin = require("../performance/UnusedFederationPlugin");
1068
1045
  // Reports even where size hints are off: a dead rule is a configuration
1069
1046
  // mistake either way.
1070
- const UnusedRuleWarningPlugin = require("./performance/UnusedRuleWarningPlugin");
1047
+ const UnusedRuleWarningPlugin = require("../performance/UnusedRuleWarningPlugin");
1071
1048
 
1072
1049
  new UnusedAliasesPlugin(options.performance).apply(compiler);
1073
1050
  new UnusedDefinesPlugin(options.performance).apply(compiler);
@@ -1079,8 +1056,8 @@ class WebpackOptionsApply extends OptionsApply {
1079
1056
  // One switch for a module nothing uses: the two differ only in what kept
1080
1057
  // it there, and each names the cause it knows about.
1081
1058
  if (options.performance.unusedModules) {
1082
- const UnusedModulesPlugin = require("./performance/UnusedModulesPlugin");
1083
- const UnusedReexportsPlugin = require("./performance/UnusedReexportsPlugin");
1059
+ const UnusedModulesPlugin = require("../performance/UnusedModulesPlugin");
1060
+ const UnusedReexportsPlugin = require("../performance/UnusedReexportsPlugin");
1084
1061
 
1085
1062
  new UnusedModulesPlugin(options.performance).apply(compiler);
1086
1063
  new UnusedReexportsPlugin(options.performance).apply(compiler);
@@ -1089,13 +1066,13 @@ class WebpackOptionsApply extends OptionsApply {
1089
1066
  // Deliberately not gated on `hints`, like `unusedConfig` above: a rule
1090
1067
  // that only matches on one OS is a configuration mistake, not a size.
1091
1068
  if (options.performance.osDependentRules) {
1092
- const OsDependentRuleWarningPlugin = require("./performance/OsDependentRuleWarningPlugin");
1069
+ const OsDependentRuleWarningPlugin = require("../performance/OsDependentRuleWarningPlugin");
1093
1070
 
1094
1071
  new OsDependentRuleWarningPlugin(options.performance).apply(compiler);
1095
1072
  }
1096
1073
 
1097
1074
  if (options.performance.unusedAssets) {
1098
- const UnusedAssetsPlugin = require("./performance/UnusedAssetsPlugin");
1075
+ const UnusedAssetsPlugin = require("../performance/UnusedAssetsPlugin");
1099
1076
 
1100
1077
  new UnusedAssetsPlugin(options.performance).apply(compiler);
1101
1078
  }
@@ -1103,7 +1080,7 @@ class WebpackOptionsApply extends OptionsApply {
1103
1080
  // Deliberately not gated on `hints`: asking for both directives on one
1104
1081
  // import is a configuration mistake, not a size.
1105
1082
  if (options.performance.conflictingResourceHints) {
1106
- const ConflictingResourceHintsPlugin = require("./performance/ConflictingResourceHintsPlugin");
1083
+ const ConflictingResourceHintsPlugin = require("../performance/ConflictingResourceHintsPlugin");
1107
1084
 
1108
1085
  new ConflictingResourceHintsPlugin(options.performance).apply(compiler);
1109
1086
  }
@@ -1117,15 +1094,33 @@ class WebpackOptionsApply extends OptionsApply {
1117
1094
 
1118
1095
  new WarnCaseSensitiveModulesPlugin().apply(compiler);
1119
1096
 
1120
- const AddManagedPathsPlugin = require("./cache/AddManagedPathsPlugin");
1097
+ const AddManagedPathsPlugin = require("../cache/AddManagedPathsPlugin");
1098
+
1099
+ /**
1100
+ * @param {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} paths snapshot paths
1101
+ * @returns {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} paths with relative globs compiled
1102
+ */
1103
+ const compileSnapshotPaths = (paths) => {
1104
+ const {
1105
+ compileRelativeGlobPaths,
1106
+ createPathGlobPrefixRegExp
1107
+ } = require("../util/globUtils");
1108
+
1109
+ return compileRelativeGlobPaths(paths, (pattern) =>
1110
+ createPathGlobPrefixRegExp(pattern, options.context)
1111
+ );
1112
+ };
1113
+ const snapshotOptions = {
1114
+ ...options.snapshot,
1115
+ managedPaths: compileSnapshotPaths(options.snapshot.managedPaths),
1116
+ immutablePaths: compileSnapshotPaths(options.snapshot.immutablePaths),
1117
+ unmanagedPaths: compileSnapshotPaths(options.snapshot.unmanagedPaths)
1118
+ };
1121
1119
 
1122
1120
  new AddManagedPathsPlugin(
1123
- /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
1124
- (options.snapshot.managedPaths),
1125
- /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
1126
- (options.snapshot.immutablePaths),
1127
- /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
1128
- (options.snapshot.unmanagedPaths)
1121
+ snapshotOptions.managedPaths,
1122
+ snapshotOptions.immutablePaths,
1123
+ snapshotOptions.unmanagedPaths
1129
1124
  ).apply(compiler);
1130
1125
 
1131
1126
  if (options.cache && typeof options.cache === "object") {
@@ -1134,7 +1129,7 @@ class WebpackOptionsApply extends OptionsApply {
1134
1129
  case "memory": {
1135
1130
  if (Number.isFinite(cacheOptions.maxGenerations)) {
1136
1131
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
1137
- const MemoryWithGcCachePlugin = require("./cache/MemoryWithGcCachePlugin");
1132
+ const MemoryWithGcCachePlugin = require("../cache/MemoryWithGcCachePlugin");
1138
1133
 
1139
1134
  new MemoryWithGcCachePlugin({
1140
1135
  maxGenerations:
@@ -1143,7 +1138,7 @@ class WebpackOptionsApply extends OptionsApply {
1143
1138
  }).apply(compiler);
1144
1139
  } else {
1145
1140
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
1146
- const MemoryCachePlugin = require("./cache/MemoryCachePlugin");
1141
+ const MemoryCachePlugin = require("../cache/MemoryCachePlugin");
1147
1142
 
1148
1143
  new MemoryCachePlugin().apply(compiler);
1149
1144
  }
@@ -1158,20 +1153,22 @@ class WebpackOptionsApply extends OptionsApply {
1158
1153
  break;
1159
1154
  }
1160
1155
  case "filesystem": {
1161
- const AddBuildDependenciesPlugin = require("./cache/AddBuildDependenciesPlugin");
1156
+ const AddBuildDependenciesPlugin = require("../cache/AddBuildDependenciesPlugin");
1162
1157
 
1163
1158
  for (const key in cacheOptions.buildDependencies) {
1164
1159
  const list = cacheOptions.buildDependencies[key];
1165
- new AddBuildDependenciesPlugin(list).apply(compiler);
1160
+ new AddBuildDependenciesPlugin(
1161
+ /** @type {NormalizedBuildDependencyItem[]} */ (list)
1162
+ ).apply(compiler);
1166
1163
  }
1167
1164
  if (!Number.isFinite(cacheOptions.maxMemoryGenerations)) {
1168
1165
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
1169
- const MemoryCachePlugin = require("./cache/MemoryCachePlugin");
1166
+ const MemoryCachePlugin = require("../cache/MemoryCachePlugin");
1170
1167
 
1171
1168
  new MemoryCachePlugin().apply(compiler);
1172
1169
  } else if (cacheOptions.maxMemoryGenerations !== 0) {
1173
1170
  // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
1174
- const MemoryWithGcCachePlugin = require("./cache/MemoryWithGcCachePlugin");
1171
+ const MemoryWithGcCachePlugin = require("../cache/MemoryWithGcCachePlugin");
1175
1172
 
1176
1173
  new MemoryWithGcCachePlugin({
1177
1174
  maxGenerations:
@@ -1189,8 +1186,8 @@ class WebpackOptionsApply extends OptionsApply {
1189
1186
  }
1190
1187
  switch (cacheOptions.store) {
1191
1188
  case "pack": {
1192
- const IdleFileCachePlugin = require("./cache/IdleFileCachePlugin");
1193
- const PackFileCacheStrategy = require("./cache/PackFileCacheStrategy");
1189
+ const IdleFileCachePlugin = require("../cache/IdleFileCachePlugin");
1190
+ const PackFileCacheStrategy = require("../cache/PackFileCacheStrategy");
1194
1191
 
1195
1192
  new IdleFileCachePlugin(
1196
1193
  new PackFileCacheStrategy({
@@ -1206,7 +1203,7 @@ class WebpackOptionsApply extends OptionsApply {
1206
1203
  logger: compiler.getInfrastructureLogger(
1207
1204
  "webpack.cache.PackFileCacheStrategy"
1208
1205
  ),
1209
- snapshot: options.snapshot,
1206
+ snapshot: snapshotOptions,
1210
1207
  maxAge: /** @type {number} */ (cacheOptions.maxAge),
1211
1208
  profile: cacheOptions.profile,
1212
1209
  allowCollectingMemory: cacheOptions.allowCollectingMemory,
@@ -1235,7 +1232,7 @@ class WebpackOptionsApply extends OptionsApply {
1235
1232
  new ResolverCachePlugin().apply(compiler);
1236
1233
 
1237
1234
  if (options.ignoreWarnings && options.ignoreWarnings.length > 0) {
1238
- const IgnoreWarningsPlugin = require("./IgnoreWarningsPlugin");
1235
+ const IgnoreWarningsPlugin = require("../diagnostics/IgnoreWarningsPlugin");
1239
1236
 
1240
1237
  new IgnoreWarningsPlugin(options.ignoreWarnings).apply(compiler);
1241
1238
  }