@depup/webpack 5.111.1-depup.1 → 5.112.0-depup.0

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