@depup/webpack 5.105.4-depup.37

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 (709) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +38 -0
  3. package/bin/webpack.js +196 -0
  4. package/hot/dev-server.js +90 -0
  5. package/hot/emitter-event-target.js +7 -0
  6. package/hot/emitter.js +2 -0
  7. package/hot/lazy-compilation-node.js +66 -0
  8. package/hot/lazy-compilation-universal.js +18 -0
  9. package/hot/lazy-compilation-web.js +93 -0
  10. package/hot/load-http.js +7 -0
  11. package/hot/log-apply-result.js +49 -0
  12. package/hot/log.js +78 -0
  13. package/hot/only-dev-server.js +118 -0
  14. package/hot/poll.js +41 -0
  15. package/hot/signal.js +66 -0
  16. package/lib/APIPlugin.js +392 -0
  17. package/lib/AbstractMethodError.js +56 -0
  18. package/lib/AsyncDependenciesBlock.js +128 -0
  19. package/lib/AsyncDependencyToInitialChunkError.js +34 -0
  20. package/lib/AutomaticPrefetchPlugin.js +66 -0
  21. package/lib/BannerPlugin.js +138 -0
  22. package/lib/Cache.js +168 -0
  23. package/lib/CacheFacade.js +349 -0
  24. package/lib/CaseSensitiveModulesWarning.js +72 -0
  25. package/lib/Chunk.js +899 -0
  26. package/lib/ChunkGraph.js +1968 -0
  27. package/lib/ChunkGroup.js +615 -0
  28. package/lib/ChunkRenderError.js +38 -0
  29. package/lib/ChunkTemplate.js +181 -0
  30. package/lib/CleanPlugin.js +495 -0
  31. package/lib/CodeGenerationError.js +35 -0
  32. package/lib/CodeGenerationResults.js +167 -0
  33. package/lib/CommentCompilationWarning.js +33 -0
  34. package/lib/CompatibilityPlugin.js +240 -0
  35. package/lib/Compilation.js +5876 -0
  36. package/lib/Compiler.js +1413 -0
  37. package/lib/ConcatenationScope.js +181 -0
  38. package/lib/ConcurrentCompilationError.js +18 -0
  39. package/lib/ConditionalInitFragment.js +120 -0
  40. package/lib/ConstPlugin.js +567 -0
  41. package/lib/ContextExclusionPlugin.js +33 -0
  42. package/lib/ContextModule.js +1411 -0
  43. package/lib/ContextModuleFactory.js +514 -0
  44. package/lib/ContextReplacementPlugin.js +227 -0
  45. package/lib/CssModule.js +179 -0
  46. package/lib/DefinePlugin.js +878 -0
  47. package/lib/DelegatedModule.js +279 -0
  48. package/lib/DelegatedModuleFactoryPlugin.js +116 -0
  49. package/lib/DelegatedPlugin.js +49 -0
  50. package/lib/DependenciesBlock.js +120 -0
  51. package/lib/Dependency.js +390 -0
  52. package/lib/DependencyTemplate.js +71 -0
  53. package/lib/DependencyTemplates.js +67 -0
  54. package/lib/DllEntryPlugin.js +76 -0
  55. package/lib/DllModule.js +175 -0
  56. package/lib/DllModuleFactory.js +38 -0
  57. package/lib/DllPlugin.js +73 -0
  58. package/lib/DllReferencePlugin.js +189 -0
  59. package/lib/DotenvPlugin.js +468 -0
  60. package/lib/DynamicEntryPlugin.js +93 -0
  61. package/lib/EntryOptionPlugin.js +98 -0
  62. package/lib/EntryPlugin.js +72 -0
  63. package/lib/Entrypoint.js +120 -0
  64. package/lib/EnvironmentNotSupportAsyncWarning.js +51 -0
  65. package/lib/EnvironmentPlugin.js +74 -0
  66. package/lib/ErrorHelpers.js +100 -0
  67. package/lib/EvalDevToolModulePlugin.js +135 -0
  68. package/lib/EvalSourceMapDevToolPlugin.js +252 -0
  69. package/lib/ExportsInfo.js +1663 -0
  70. package/lib/ExportsInfoApiPlugin.js +87 -0
  71. package/lib/ExternalModule.js +1169 -0
  72. package/lib/ExternalModuleFactoryPlugin.js +370 -0
  73. package/lib/ExternalsPlugin.js +93 -0
  74. package/lib/FalseIIFEUmdWarning.js +20 -0
  75. package/lib/FileSystemInfo.js +4131 -0
  76. package/lib/FlagAllModulesAsUsedPlugin.js +55 -0
  77. package/lib/FlagDependencyExportsPlugin.js +437 -0
  78. package/lib/FlagDependencyUsagePlugin.js +348 -0
  79. package/lib/FlagEntryExportAsUsedPlugin.js +56 -0
  80. package/lib/Generator.js +188 -0
  81. package/lib/GraphHelpers.js +46 -0
  82. package/lib/HarmonyLinkingError.js +17 -0
  83. package/lib/HookWebpackError.js +121 -0
  84. package/lib/HotModuleReplacementPlugin.js +930 -0
  85. package/lib/HotUpdateChunk.js +16 -0
  86. package/lib/IgnoreErrorModuleFactory.js +39 -0
  87. package/lib/IgnorePlugin.js +105 -0
  88. package/lib/IgnoreWarningsPlugin.js +41 -0
  89. package/lib/InitFragment.js +204 -0
  90. package/lib/InvalidDependenciesModuleWarning.js +44 -0
  91. package/lib/JavascriptMetaInfoPlugin.js +78 -0
  92. package/lib/LibManifestPlugin.js +144 -0
  93. package/lib/LibraryTemplatePlugin.js +48 -0
  94. package/lib/LoaderOptionsPlugin.js +81 -0
  95. package/lib/LoaderTargetPlugin.js +39 -0
  96. package/lib/MainTemplate.js +371 -0
  97. package/lib/ManifestPlugin.js +242 -0
  98. package/lib/Module.js +1319 -0
  99. package/lib/ModuleBuildError.js +83 -0
  100. package/lib/ModuleDependencyError.js +44 -0
  101. package/lib/ModuleDependencyWarning.js +49 -0
  102. package/lib/ModuleError.js +69 -0
  103. package/lib/ModuleFactory.js +57 -0
  104. package/lib/ModuleFilenameHelpers.js +388 -0
  105. package/lib/ModuleGraph.js +1024 -0
  106. package/lib/ModuleGraphConnection.js +199 -0
  107. package/lib/ModuleHashingError.js +31 -0
  108. package/lib/ModuleInfoHeaderPlugin.js +318 -0
  109. package/lib/ModuleNotFoundError.js +90 -0
  110. package/lib/ModuleParseError.js +125 -0
  111. package/lib/ModuleProfile.js +108 -0
  112. package/lib/ModuleRestoreError.js +46 -0
  113. package/lib/ModuleSourceTypeConstants.js +179 -0
  114. package/lib/ModuleStoreError.js +45 -0
  115. package/lib/ModuleTemplate.js +173 -0
  116. package/lib/ModuleTypeConstants.js +190 -0
  117. package/lib/ModuleWarning.js +68 -0
  118. package/lib/MultiCompiler.js +678 -0
  119. package/lib/MultiStats.js +213 -0
  120. package/lib/MultiWatching.js +77 -0
  121. package/lib/NoEmitOnErrorsPlugin.js +30 -0
  122. package/lib/NoModeWarning.js +23 -0
  123. package/lib/NodeStuffInWebError.js +35 -0
  124. package/lib/NodeStuffPlugin.js +587 -0
  125. package/lib/NormalModule.js +1798 -0
  126. package/lib/NormalModuleFactory.js +1455 -0
  127. package/lib/NormalModuleReplacementPlugin.js +75 -0
  128. package/lib/NullFactory.js +24 -0
  129. package/lib/OptimizationStages.js +10 -0
  130. package/lib/OptionsApply.js +24 -0
  131. package/lib/Parser.js +40 -0
  132. package/lib/PlatformPlugin.js +41 -0
  133. package/lib/PrefetchPlugin.js +56 -0
  134. package/lib/ProgressPlugin.js +712 -0
  135. package/lib/ProvidePlugin.js +121 -0
  136. package/lib/RawModule.js +180 -0
  137. package/lib/RecordIdsPlugin.js +216 -0
  138. package/lib/RequestShortener.js +36 -0
  139. package/lib/RequireJsStuffPlugin.js +84 -0
  140. package/lib/ResolverFactory.js +156 -0
  141. package/lib/RuntimeGlobals.js +450 -0
  142. package/lib/RuntimeModule.js +242 -0
  143. package/lib/RuntimePlugin.js +547 -0
  144. package/lib/RuntimeTemplate.js +1288 -0
  145. package/lib/SelfModuleFactory.js +33 -0
  146. package/lib/SingleEntryPlugin.js +8 -0
  147. package/lib/SizeFormatHelpers.js +25 -0
  148. package/lib/SourceMapDevToolModuleOptionsPlugin.js +52 -0
  149. package/lib/SourceMapDevToolPlugin.js +646 -0
  150. package/lib/Stats.js +89 -0
  151. package/lib/Template.js +427 -0
  152. package/lib/TemplatedPathPlugin.js +400 -0
  153. package/lib/UnhandledSchemeError.js +34 -0
  154. package/lib/UnsupportedFeatureWarning.js +35 -0
  155. package/lib/UseStrictPlugin.js +81 -0
  156. package/lib/WarnCaseSensitiveModulesPlugin.js +64 -0
  157. package/lib/WarnDeprecatedOptionPlugin.js +60 -0
  158. package/lib/WarnNoModeSetPlugin.js +27 -0
  159. package/lib/WatchIgnorePlugin.js +155 -0
  160. package/lib/Watching.js +531 -0
  161. package/lib/WebpackError.js +81 -0
  162. package/lib/WebpackIsIncludedPlugin.js +93 -0
  163. package/lib/WebpackOptionsApply.js +941 -0
  164. package/lib/WebpackOptionsDefaulter.js +26 -0
  165. package/lib/asset/AssetBytesGenerator.js +172 -0
  166. package/lib/asset/AssetBytesParser.js +37 -0
  167. package/lib/asset/AssetGenerator.js +816 -0
  168. package/lib/asset/AssetModulesPlugin.js +358 -0
  169. package/lib/asset/AssetParser.js +73 -0
  170. package/lib/asset/AssetSourceGenerator.js +171 -0
  171. package/lib/asset/AssetSourceParser.js +37 -0
  172. package/lib/asset/RawDataUrlModule.js +179 -0
  173. package/lib/async-modules/AsyncModuleHelpers.js +52 -0
  174. package/lib/async-modules/AwaitDependenciesInitFragment.js +90 -0
  175. package/lib/async-modules/InferAsyncModulesPlugin.js +54 -0
  176. package/lib/buildChunkGraph.js +1392 -0
  177. package/lib/cache/AddBuildDependenciesPlugin.js +32 -0
  178. package/lib/cache/AddManagedPathsPlugin.js +40 -0
  179. package/lib/cache/IdleFileCachePlugin.js +242 -0
  180. package/lib/cache/MemoryCachePlugin.js +57 -0
  181. package/lib/cache/MemoryWithGcCachePlugin.js +142 -0
  182. package/lib/cache/PackFileCacheStrategy.js +1600 -0
  183. package/lib/cache/ResolverCachePlugin.js +450 -0
  184. package/lib/cache/getLazyHashedEtag.js +91 -0
  185. package/lib/cache/mergeEtags.js +71 -0
  186. package/lib/cli.js +859 -0
  187. package/lib/config/browserslistTargetHandler.js +388 -0
  188. package/lib/config/defaults.js +2086 -0
  189. package/lib/config/normalization.js +681 -0
  190. package/lib/config/target.js +389 -0
  191. package/lib/container/ContainerEntryDependency.js +50 -0
  192. package/lib/container/ContainerEntryModule.js +303 -0
  193. package/lib/container/ContainerEntryModuleFactory.js +27 -0
  194. package/lib/container/ContainerExposedDependency.js +62 -0
  195. package/lib/container/ContainerPlugin.js +118 -0
  196. package/lib/container/ContainerReferencePlugin.js +139 -0
  197. package/lib/container/FallbackDependency.js +66 -0
  198. package/lib/container/FallbackItemDependency.js +34 -0
  199. package/lib/container/FallbackModule.js +193 -0
  200. package/lib/container/FallbackModuleFactory.js +27 -0
  201. package/lib/container/HoistContainerReferencesPlugin.js +256 -0
  202. package/lib/container/ModuleFederationPlugin.js +131 -0
  203. package/lib/container/RemoteModule.js +225 -0
  204. package/lib/container/RemoteRuntimeModule.js +144 -0
  205. package/lib/container/RemoteToExternalDependency.js +33 -0
  206. package/lib/container/options.js +105 -0
  207. package/lib/css/CssGenerator.js +587 -0
  208. package/lib/css/CssLoadingRuntimeModule.js +513 -0
  209. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +56 -0
  210. package/lib/css/CssModulesPlugin.js +939 -0
  211. package/lib/css/CssParser.js +2621 -0
  212. package/lib/css/walkCssTokens.js +1740 -0
  213. package/lib/debug/ProfilingPlugin.js +589 -0
  214. package/lib/dependencies/AMDDefineDependency.js +267 -0
  215. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +504 -0
  216. package/lib/dependencies/AMDPlugin.js +243 -0
  217. package/lib/dependencies/AMDRequireArrayDependency.js +124 -0
  218. package/lib/dependencies/AMDRequireContextDependency.js +69 -0
  219. package/lib/dependencies/AMDRequireDependenciesBlock.js +28 -0
  220. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +425 -0
  221. package/lib/dependencies/AMDRequireDependency.js +189 -0
  222. package/lib/dependencies/AMDRequireItemDependency.js +41 -0
  223. package/lib/dependencies/AMDRuntimeModules.js +50 -0
  224. package/lib/dependencies/CachedConstDependency.js +135 -0
  225. package/lib/dependencies/CommonJsDependencyHelpers.js +65 -0
  226. package/lib/dependencies/CommonJsExportRequireDependency.js +416 -0
  227. package/lib/dependencies/CommonJsExportsDependency.js +184 -0
  228. package/lib/dependencies/CommonJsExportsParserPlugin.js +425 -0
  229. package/lib/dependencies/CommonJsFullRequireDependency.js +162 -0
  230. package/lib/dependencies/CommonJsImportsParserPlugin.js +611 -0
  231. package/lib/dependencies/CommonJsPlugin.js +316 -0
  232. package/lib/dependencies/CommonJsRequireContextDependency.js +73 -0
  233. package/lib/dependencies/CommonJsRequireDependency.js +42 -0
  234. package/lib/dependencies/CommonJsSelfReferenceDependency.js +156 -0
  235. package/lib/dependencies/ConstDependency.js +118 -0
  236. package/lib/dependencies/ContextDependency.js +183 -0
  237. package/lib/dependencies/ContextDependencyHelpers.js +277 -0
  238. package/lib/dependencies/ContextDependencyTemplateAsId.js +63 -0
  239. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +62 -0
  240. package/lib/dependencies/ContextElementDependency.js +147 -0
  241. package/lib/dependencies/CreateRequireParserPlugin.js +356 -0
  242. package/lib/dependencies/CreateScriptUrlDependency.js +75 -0
  243. package/lib/dependencies/CriticalDependencyWarning.js +29 -0
  244. package/lib/dependencies/CssIcssExportDependency.js +539 -0
  245. package/lib/dependencies/CssIcssImportDependency.js +183 -0
  246. package/lib/dependencies/CssIcssSymbolDependency.js +131 -0
  247. package/lib/dependencies/CssImportDependency.js +120 -0
  248. package/lib/dependencies/CssUrlDependency.js +189 -0
  249. package/lib/dependencies/DelegatedSourceDependency.js +33 -0
  250. package/lib/dependencies/DllEntryDependency.js +61 -0
  251. package/lib/dependencies/DynamicExports.js +73 -0
  252. package/lib/dependencies/EntryDependency.js +30 -0
  253. package/lib/dependencies/ExportsInfoDependency.js +161 -0
  254. package/lib/dependencies/ExternalModuleDependency.js +109 -0
  255. package/lib/dependencies/ExternalModuleInitFragment.js +137 -0
  256. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +87 -0
  257. package/lib/dependencies/HarmonyAcceptDependency.js +237 -0
  258. package/lib/dependencies/HarmonyAcceptImportDependency.js +37 -0
  259. package/lib/dependencies/HarmonyCompatibilityDependency.js +91 -0
  260. package/lib/dependencies/HarmonyDetectionParserPlugin.js +103 -0
  261. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +165 -0
  262. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +254 -0
  263. package/lib/dependencies/HarmonyExportExpressionDependency.js +211 -0
  264. package/lib/dependencies/HarmonyExportHeaderDependency.js +78 -0
  265. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +1494 -0
  266. package/lib/dependencies/HarmonyExportInitFragment.js +191 -0
  267. package/lib/dependencies/HarmonyExportSpecifierDependency.js +127 -0
  268. package/lib/dependencies/HarmonyExports.js +46 -0
  269. package/lib/dependencies/HarmonyImportDependency.js +459 -0
  270. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +576 -0
  271. package/lib/dependencies/HarmonyImportSideEffectDependency.js +91 -0
  272. package/lib/dependencies/HarmonyImportSpecifierDependency.js +514 -0
  273. package/lib/dependencies/HarmonyModulesPlugin.js +158 -0
  274. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +39 -0
  275. package/lib/dependencies/ImportContextDependency.js +81 -0
  276. package/lib/dependencies/ImportDependency.js +158 -0
  277. package/lib/dependencies/ImportEagerDependency.js +76 -0
  278. package/lib/dependencies/ImportMetaContextDependency.js +42 -0
  279. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +312 -0
  280. package/lib/dependencies/ImportMetaContextPlugin.js +72 -0
  281. package/lib/dependencies/ImportMetaHotAcceptDependency.js +41 -0
  282. package/lib/dependencies/ImportMetaHotDeclineDependency.js +42 -0
  283. package/lib/dependencies/ImportMetaPlugin.js +447 -0
  284. package/lib/dependencies/ImportParserPlugin.js +602 -0
  285. package/lib/dependencies/ImportPhase.js +125 -0
  286. package/lib/dependencies/ImportPlugin.js +98 -0
  287. package/lib/dependencies/ImportWeakDependency.js +74 -0
  288. package/lib/dependencies/JsonExportsDependency.js +137 -0
  289. package/lib/dependencies/LoaderDependency.js +38 -0
  290. package/lib/dependencies/LoaderImportDependency.js +39 -0
  291. package/lib/dependencies/LoaderPlugin.js +294 -0
  292. package/lib/dependencies/LocalModule.js +60 -0
  293. package/lib/dependencies/LocalModuleDependency.js +84 -0
  294. package/lib/dependencies/LocalModulesHelpers.js +68 -0
  295. package/lib/dependencies/ModuleDecoratorDependency.js +136 -0
  296. package/lib/dependencies/ModuleDependency.js +100 -0
  297. package/lib/dependencies/ModuleDependencyTemplateAsId.js +35 -0
  298. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +39 -0
  299. package/lib/dependencies/ModuleHotAcceptDependency.js +41 -0
  300. package/lib/dependencies/ModuleHotDeclineDependency.js +42 -0
  301. package/lib/dependencies/ModuleInitFragmentDependency.js +87 -0
  302. package/lib/dependencies/NullDependency.js +42 -0
  303. package/lib/dependencies/PrefetchDependency.js +27 -0
  304. package/lib/dependencies/ProvidedDependency.js +156 -0
  305. package/lib/dependencies/PureExpressionDependency.js +161 -0
  306. package/lib/dependencies/RequireContextDependency.js +38 -0
  307. package/lib/dependencies/RequireContextDependencyParserPlugin.js +69 -0
  308. package/lib/dependencies/RequireContextPlugin.js +167 -0
  309. package/lib/dependencies/RequireEnsureDependenciesBlock.js +29 -0
  310. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +145 -0
  311. package/lib/dependencies/RequireEnsureDependency.js +115 -0
  312. package/lib/dependencies/RequireEnsureItemDependency.js +36 -0
  313. package/lib/dependencies/RequireEnsurePlugin.js +86 -0
  314. package/lib/dependencies/RequireHeaderDependency.js +70 -0
  315. package/lib/dependencies/RequireIncludeDependency.js +79 -0
  316. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +100 -0
  317. package/lib/dependencies/RequireIncludePlugin.js +63 -0
  318. package/lib/dependencies/RequireResolveContextDependency.js +67 -0
  319. package/lib/dependencies/RequireResolveDependency.js +58 -0
  320. package/lib/dependencies/RequireResolveHeaderDependency.js +81 -0
  321. package/lib/dependencies/RuntimeRequirementsDependency.js +85 -0
  322. package/lib/dependencies/StaticExportsDependency.js +72 -0
  323. package/lib/dependencies/SystemPlugin.js +168 -0
  324. package/lib/dependencies/SystemRuntimeModule.js +35 -0
  325. package/lib/dependencies/URLContextDependency.js +65 -0
  326. package/lib/dependencies/URLDependency.js +165 -0
  327. package/lib/dependencies/URLPlugin.js +67 -0
  328. package/lib/dependencies/UnsupportedDependency.js +82 -0
  329. package/lib/dependencies/WebAssemblyExportImportedDependency.js +93 -0
  330. package/lib/dependencies/WebAssemblyImportDependency.js +108 -0
  331. package/lib/dependencies/WebpackIsIncludedDependency.js +84 -0
  332. package/lib/dependencies/WorkerDependency.js +141 -0
  333. package/lib/dependencies/WorkerPlugin.js +565 -0
  334. package/lib/dependencies/getFunctionExpression.js +66 -0
  335. package/lib/dependencies/processExportInfo.js +67 -0
  336. package/lib/electron/ElectronTargetPlugin.js +71 -0
  337. package/lib/errors/BuildCycleError.js +30 -0
  338. package/lib/esm/ExportWebpackRequireRuntimeModule.js +30 -0
  339. package/lib/esm/ModuleChunkFormatPlugin.js +273 -0
  340. package/lib/esm/ModuleChunkLoadingPlugin.js +143 -0
  341. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +426 -0
  342. package/lib/formatLocation.js +67 -0
  343. package/lib/hmr/HotModuleReplacement.runtime.js +419 -0
  344. package/lib/hmr/HotModuleReplacementRuntimeModule.js +42 -0
  345. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +471 -0
  346. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +37 -0
  347. package/lib/hmr/LazyCompilationPlugin.js +473 -0
  348. package/lib/hmr/lazyCompilationBackend.js +167 -0
  349. package/lib/ids/ChunkModuleIdRangePlugin.js +94 -0
  350. package/lib/ids/DeterministicChunkIdsPlugin.js +73 -0
  351. package/lib/ids/DeterministicModuleIdsPlugin.js +98 -0
  352. package/lib/ids/HashedModuleIdsPlugin.js +85 -0
  353. package/lib/ids/IdHelpers.js +492 -0
  354. package/lib/ids/NamedChunkIdsPlugin.js +92 -0
  355. package/lib/ids/NamedModuleIdsPlugin.js +68 -0
  356. package/lib/ids/NaturalChunkIdsPlugin.js +35 -0
  357. package/lib/ids/NaturalModuleIdsPlugin.js +40 -0
  358. package/lib/ids/OccurrenceChunkIdsPlugin.js +86 -0
  359. package/lib/ids/OccurrenceModuleIdsPlugin.js +168 -0
  360. package/lib/ids/SyncModuleIdsPlugin.js +161 -0
  361. package/lib/index.js +681 -0
  362. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +153 -0
  363. package/lib/javascript/BasicEvaluatedExpression.js +603 -0
  364. package/lib/javascript/ChunkFormatHelpers.js +70 -0
  365. package/lib/javascript/ChunkHelpers.js +45 -0
  366. package/lib/javascript/CommonJsChunkFormatPlugin.js +148 -0
  367. package/lib/javascript/EnableChunkLoadingPlugin.js +127 -0
  368. package/lib/javascript/JavascriptGenerator.js +277 -0
  369. package/lib/javascript/JavascriptModulesPlugin.js +1905 -0
  370. package/lib/javascript/JavascriptParser.js +5476 -0
  371. package/lib/javascript/JavascriptParserHelpers.js +129 -0
  372. package/lib/javascript/StartupHelpers.js +178 -0
  373. package/lib/json/JsonData.js +74 -0
  374. package/lib/json/JsonGenerator.js +234 -0
  375. package/lib/json/JsonModulesPlugin.js +66 -0
  376. package/lib/json/JsonParser.js +93 -0
  377. package/lib/library/AbstractLibraryPlugin.js +339 -0
  378. package/lib/library/AmdLibraryPlugin.js +181 -0
  379. package/lib/library/AssignLibraryPlugin.js +445 -0
  380. package/lib/library/EnableLibraryPlugin.js +306 -0
  381. package/lib/library/ExportPropertyLibraryPlugin.js +116 -0
  382. package/lib/library/JsonpLibraryPlugin.js +92 -0
  383. package/lib/library/ModuleLibraryPlugin.js +438 -0
  384. package/lib/library/SystemLibraryPlugin.js +256 -0
  385. package/lib/library/UmdLibraryPlugin.js +355 -0
  386. package/lib/logging/Logger.js +223 -0
  387. package/lib/logging/createConsoleLogger.js +217 -0
  388. package/lib/logging/runtime.js +45 -0
  389. package/lib/logging/truncateArgs.js +83 -0
  390. package/lib/node/CommonJsChunkLoadingPlugin.js +120 -0
  391. package/lib/node/NodeEnvironmentPlugin.js +73 -0
  392. package/lib/node/NodeSourcePlugin.js +19 -0
  393. package/lib/node/NodeTargetPlugin.js +102 -0
  394. package/lib/node/NodeTemplatePlugin.js +42 -0
  395. package/lib/node/NodeWatchFileSystem.js +198 -0
  396. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +286 -0
  397. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +123 -0
  398. package/lib/node/ReadFileCompileWasmPlugin.js +127 -0
  399. package/lib/node/RequireChunkLoadingRuntimeModule.js +239 -0
  400. package/lib/node/nodeConsole.js +185 -0
  401. package/lib/optimize/AggressiveMergingPlugin.js +98 -0
  402. package/lib/optimize/AggressiveSplittingPlugin.js +352 -0
  403. package/lib/optimize/ConcatenatedModule.js +2290 -0
  404. package/lib/optimize/EnsureChunkConditionsPlugin.js +88 -0
  405. package/lib/optimize/FlagIncludedChunksPlugin.js +137 -0
  406. package/lib/optimize/InnerGraph.js +368 -0
  407. package/lib/optimize/InnerGraphPlugin.js +455 -0
  408. package/lib/optimize/LimitChunkCountPlugin.js +302 -0
  409. package/lib/optimize/MangleExportsPlugin.js +194 -0
  410. package/lib/optimize/MergeDuplicateChunksPlugin.js +138 -0
  411. package/lib/optimize/MinChunkSizePlugin.js +121 -0
  412. package/lib/optimize/MinMaxSizeWarning.js +35 -0
  413. package/lib/optimize/ModuleConcatenationPlugin.js +971 -0
  414. package/lib/optimize/RealContentHashPlugin.js +488 -0
  415. package/lib/optimize/RemoveEmptyChunksPlugin.js +60 -0
  416. package/lib/optimize/RemoveParentModulesPlugin.js +216 -0
  417. package/lib/optimize/RuntimeChunkPlugin.js +52 -0
  418. package/lib/optimize/SideEffectsFlagPlugin.js +417 -0
  419. package/lib/optimize/SplitChunksPlugin.js +1836 -0
  420. package/lib/performance/AssetsOverSizeLimitWarning.js +37 -0
  421. package/lib/performance/EntrypointsOverSizeLimitWarning.js +40 -0
  422. package/lib/performance/NoAsyncChunksWarning.js +21 -0
  423. package/lib/performance/SizeLimitsPlugin.js +183 -0
  424. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +46 -0
  425. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +95 -0
  426. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +56 -0
  427. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +52 -0
  428. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +46 -0
  429. package/lib/rules/BasicEffectRulePlugin.js +56 -0
  430. package/lib/rules/BasicMatcherRulePlugin.js +68 -0
  431. package/lib/rules/ObjectMatcherRulePlugin.js +79 -0
  432. package/lib/rules/RuleSetCompiler.js +447 -0
  433. package/lib/rules/UseEffectRulePlugin.js +236 -0
  434. package/lib/runtime/AsyncModuleRuntimeModule.js +199 -0
  435. package/lib/runtime/AutoPublicPathRuntimeModule.js +90 -0
  436. package/lib/runtime/BaseUriRuntimeModule.js +35 -0
  437. package/lib/runtime/ChunkNameRuntimeModule.js +28 -0
  438. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +40 -0
  439. package/lib/runtime/CompatRuntimeModule.js +83 -0
  440. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +69 -0
  441. package/lib/runtime/CreateScriptRuntimeModule.js +38 -0
  442. package/lib/runtime/CreateScriptUrlRuntimeModule.js +38 -0
  443. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +42 -0
  444. package/lib/runtime/EnsureChunkRuntimeModule.js +69 -0
  445. package/lib/runtime/GetChunkFilenameRuntimeModule.js +299 -0
  446. package/lib/runtime/GetFullHashRuntimeModule.js +31 -0
  447. package/lib/runtime/GetMainFilenameRuntimeModule.js +49 -0
  448. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +99 -0
  449. package/lib/runtime/GlobalRuntimeModule.js +47 -0
  450. package/lib/runtime/HasOwnPropertyRuntimeModule.js +35 -0
  451. package/lib/runtime/HelperRuntimeModule.js +18 -0
  452. package/lib/runtime/LoadScriptRuntimeModule.js +174 -0
  453. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +232 -0
  454. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +39 -0
  455. package/lib/runtime/NonceRuntimeModule.js +24 -0
  456. package/lib/runtime/OnChunksLoadedRuntimeModule.js +78 -0
  457. package/lib/runtime/PublicPathRuntimeModule.js +38 -0
  458. package/lib/runtime/RelativeUrlRuntimeModule.js +44 -0
  459. package/lib/runtime/RuntimeIdRuntimeModule.js +33 -0
  460. package/lib/runtime/StartupChunkDependenciesPlugin.js +88 -0
  461. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +77 -0
  462. package/lib/runtime/StartupEntrypointRuntimeModule.js +54 -0
  463. package/lib/runtime/SystemContextRuntimeModule.js +23 -0
  464. package/lib/runtime/ToBinaryRuntimeModule.js +72 -0
  465. package/lib/schemes/DataUriPlugin.js +47 -0
  466. package/lib/schemes/FileUriPlugin.js +54 -0
  467. package/lib/schemes/HttpUriPlugin.js +1410 -0
  468. package/lib/schemes/VirtualUrlPlugin.js +248 -0
  469. package/lib/serialization/AggregateErrorSerializer.js +41 -0
  470. package/lib/serialization/ArraySerializer.js +38 -0
  471. package/lib/serialization/BinaryMiddleware.js +1164 -0
  472. package/lib/serialization/DateObjectSerializer.js +28 -0
  473. package/lib/serialization/ErrorObjectSerializer.js +49 -0
  474. package/lib/serialization/FileMiddleware.js +766 -0
  475. package/lib/serialization/MapObjectSerializer.js +48 -0
  476. package/lib/serialization/NullPrototypeObjectSerializer.js +53 -0
  477. package/lib/serialization/ObjectMiddleware.js +877 -0
  478. package/lib/serialization/PlainObjectSerializer.js +119 -0
  479. package/lib/serialization/RegExpObjectSerializer.js +29 -0
  480. package/lib/serialization/Serializer.js +82 -0
  481. package/lib/serialization/SerializerMiddleware.js +226 -0
  482. package/lib/serialization/SetObjectSerializer.js +40 -0
  483. package/lib/serialization/SingleItemMiddleware.js +36 -0
  484. package/lib/serialization/types.js +13 -0
  485. package/lib/sharing/ConsumeSharedFallbackDependency.js +33 -0
  486. package/lib/sharing/ConsumeSharedModule.js +344 -0
  487. package/lib/sharing/ConsumeSharedPlugin.js +380 -0
  488. package/lib/sharing/ConsumeSharedRuntimeModule.js +358 -0
  489. package/lib/sharing/ProvideForSharedDependency.js +33 -0
  490. package/lib/sharing/ProvideSharedDependency.js +80 -0
  491. package/lib/sharing/ProvideSharedModule.js +196 -0
  492. package/lib/sharing/ProvideSharedModuleFactory.js +37 -0
  493. package/lib/sharing/ProvideSharedPlugin.js +248 -0
  494. package/lib/sharing/SharePlugin.js +91 -0
  495. package/lib/sharing/ShareRuntimeModule.js +152 -0
  496. package/lib/sharing/resolveMatchedConfigs.js +106 -0
  497. package/lib/sharing/utils.js +421 -0
  498. package/lib/stats/DefaultStatsFactoryPlugin.js +2791 -0
  499. package/lib/stats/DefaultStatsPresetPlugin.js +417 -0
  500. package/lib/stats/DefaultStatsPrinterPlugin.js +1860 -0
  501. package/lib/stats/StatsFactory.js +406 -0
  502. package/lib/stats/StatsPrinter.js +300 -0
  503. package/lib/url/URLParserPlugin.js +266 -0
  504. package/lib/util/AppendOnlyStackedSet.js +78 -0
  505. package/lib/util/ArrayHelpers.js +46 -0
  506. package/lib/util/ArrayQueue.js +104 -0
  507. package/lib/util/AsyncQueue.js +411 -0
  508. package/lib/util/Hash.js +68 -0
  509. package/lib/util/IterableHelpers.js +46 -0
  510. package/lib/util/LazyBucketSortedSet.js +272 -0
  511. package/lib/util/LazySet.js +236 -0
  512. package/lib/util/MapHelpers.js +34 -0
  513. package/lib/util/ParallelismFactorCalculator.js +70 -0
  514. package/lib/util/Queue.js +52 -0
  515. package/lib/util/Semaphore.js +51 -0
  516. package/lib/util/SetHelpers.js +94 -0
  517. package/lib/util/SortableSet.js +176 -0
  518. package/lib/util/StackedCacheMap.js +140 -0
  519. package/lib/util/StackedMap.js +164 -0
  520. package/lib/util/StringXor.js +103 -0
  521. package/lib/util/TupleQueue.js +70 -0
  522. package/lib/util/TupleSet.js +185 -0
  523. package/lib/util/URLAbsoluteSpecifier.js +86 -0
  524. package/lib/util/WeakTupleMap.js +227 -0
  525. package/lib/util/binarySearchBounds.js +136 -0
  526. package/lib/util/chainedImports.js +99 -0
  527. package/lib/util/cleverMerge.js +676 -0
  528. package/lib/util/comparators.js +645 -0
  529. package/lib/util/compileBooleanMatcher.js +313 -0
  530. package/lib/util/concatenate.js +232 -0
  531. package/lib/util/conventions.js +126 -0
  532. package/lib/util/create-schema-validation.js +41 -0
  533. package/lib/util/createHash.js +91 -0
  534. package/lib/util/dataURL.js +39 -0
  535. package/lib/util/deprecation.js +350 -0
  536. package/lib/util/deterministicGrouping.js +561 -0
  537. package/lib/util/extractSourceMap.js +318 -0
  538. package/lib/util/extractUrlAndGlobal.js +18 -0
  539. package/lib/util/findGraphRoots.js +211 -0
  540. package/lib/util/fs.js +675 -0
  541. package/lib/util/generateDebugId.js +33 -0
  542. package/lib/util/hash/BatchedHash.js +115 -0
  543. package/lib/util/hash/BulkUpdateHash.js +145 -0
  544. package/lib/util/hash/DebugHash.js +75 -0
  545. package/lib/util/hash/hash-digest.js +217 -0
  546. package/lib/util/hash/md4.js +20 -0
  547. package/lib/util/hash/wasm-hash.js +232 -0
  548. package/lib/util/hash/xxhash64.js +20 -0
  549. package/lib/util/identifier.js +471 -0
  550. package/lib/util/internalSerializables.js +222 -0
  551. package/lib/util/magicComment.js +25 -0
  552. package/lib/util/makeSerializable.js +60 -0
  553. package/lib/util/memoize.js +36 -0
  554. package/lib/util/nonNumericOnlyHash.js +22 -0
  555. package/lib/util/numberHash.js +95 -0
  556. package/lib/util/objectToMap.js +15 -0
  557. package/lib/util/processAsyncTree.js +68 -0
  558. package/lib/util/propertyAccess.js +30 -0
  559. package/lib/util/propertyName.js +76 -0
  560. package/lib/util/registerExternalSerializer.js +334 -0
  561. package/lib/util/removeBOM.js +25 -0
  562. package/lib/util/runtime.js +717 -0
  563. package/lib/util/semver.js +604 -0
  564. package/lib/util/serialization.js +153 -0
  565. package/lib/util/smartGrouping.js +221 -0
  566. package/lib/util/source.js +62 -0
  567. package/lib/util/traverseDestructuringAssignmentProperties.js +45 -0
  568. package/lib/validateSchema.js +177 -0
  569. package/lib/wasm/EnableWasmLoadingPlugin.js +146 -0
  570. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +154 -0
  571. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +74 -0
  572. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +212 -0
  573. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +209 -0
  574. package/lib/wasm-async/AsyncWebAssemblyParser.js +80 -0
  575. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +107 -0
  576. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +20 -0
  577. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +422 -0
  578. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +91 -0
  579. package/lib/wasm-sync/WebAssemblyGenerator.js +535 -0
  580. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +111 -0
  581. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +236 -0
  582. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +151 -0
  583. package/lib/wasm-sync/WebAssemblyParser.js +201 -0
  584. package/lib/wasm-sync/WebAssemblyUtils.js +66 -0
  585. package/lib/web/FetchCompileAsyncWasmPlugin.js +70 -0
  586. package/lib/web/FetchCompileWasmPlugin.js +86 -0
  587. package/lib/web/JsonpChunkLoadingPlugin.js +101 -0
  588. package/lib/web/JsonpChunkLoadingRuntimeModule.js +455 -0
  589. package/lib/web/JsonpTemplatePlugin.js +37 -0
  590. package/lib/webpack.js +227 -0
  591. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +110 -0
  592. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +231 -0
  593. package/lib/webworker/WebWorkerTemplatePlugin.js +26 -0
  594. package/module.d.ts +238 -0
  595. package/package.json +258 -0
  596. package/schemas/WebpackOptions.check.d.ts +7 -0
  597. package/schemas/WebpackOptions.check.js +6 -0
  598. package/schemas/WebpackOptions.json +6179 -0
  599. package/schemas/_container.json +155 -0
  600. package/schemas/_sharing.json +118 -0
  601. package/schemas/plugins/BannerPlugin.check.d.ts +7 -0
  602. package/schemas/plugins/BannerPlugin.check.js +6 -0
  603. package/schemas/plugins/BannerPlugin.json +115 -0
  604. package/schemas/plugins/DllPlugin.check.d.ts +7 -0
  605. package/schemas/plugins/DllPlugin.check.js +6 -0
  606. package/schemas/plugins/DllPlugin.json +36 -0
  607. package/schemas/plugins/DllReferencePlugin.check.d.ts +7 -0
  608. package/schemas/plugins/DllReferencePlugin.check.js +6 -0
  609. package/schemas/plugins/DllReferencePlugin.json +206 -0
  610. package/schemas/plugins/IgnorePlugin.check.d.ts +7 -0
  611. package/schemas/plugins/IgnorePlugin.check.js +6 -0
  612. package/schemas/plugins/IgnorePlugin.json +34 -0
  613. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +7 -0
  614. package/schemas/plugins/LoaderOptionsPlugin.check.js +6 -0
  615. package/schemas/plugins/LoaderOptionsPlugin.json +27 -0
  616. package/schemas/plugins/ManifestPlugin.check.d.ts +7 -0
  617. package/schemas/plugins/ManifestPlugin.check.js +6 -0
  618. package/schemas/plugins/ManifestPlugin.json +98 -0
  619. package/schemas/plugins/ProgressPlugin.check.d.ts +7 -0
  620. package/schemas/plugins/ProgressPlugin.check.js +6 -0
  621. package/schemas/plugins/ProgressPlugin.json +65 -0
  622. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +7 -0
  623. package/schemas/plugins/SourceMapDevToolPlugin.check.js +6 -0
  624. package/schemas/plugins/SourceMapDevToolPlugin.json +168 -0
  625. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +7 -0
  626. package/schemas/plugins/WatchIgnorePlugin.check.js +6 -0
  627. package/schemas/plugins/WatchIgnorePlugin.json +25 -0
  628. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +7 -0
  629. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +6 -0
  630. package/schemas/plugins/asset/AssetGeneratorOptions.json +3 -0
  631. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +7 -0
  632. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +6 -0
  633. package/schemas/plugins/asset/AssetInlineGeneratorOptions.json +3 -0
  634. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +7 -0
  635. package/schemas/plugins/asset/AssetParserOptions.check.js +6 -0
  636. package/schemas/plugins/asset/AssetParserOptions.json +3 -0
  637. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +7 -0
  638. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +6 -0
  639. package/schemas/plugins/asset/AssetResourceGeneratorOptions.json +3 -0
  640. package/schemas/plugins/container/ContainerPlugin.check.d.ts +7 -0
  641. package/schemas/plugins/container/ContainerPlugin.check.js +6 -0
  642. package/schemas/plugins/container/ContainerPlugin.json +294 -0
  643. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +7 -0
  644. package/schemas/plugins/container/ContainerReferencePlugin.check.js +6 -0
  645. package/schemas/plugins/container/ContainerReferencePlugin.json +132 -0
  646. package/schemas/plugins/container/ExternalsType.check.d.ts +7 -0
  647. package/schemas/plugins/container/ExternalsType.check.js +6 -0
  648. package/schemas/plugins/container/ExternalsType.json +3 -0
  649. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +7 -0
  650. package/schemas/plugins/container/ModuleFederationPlugin.check.js +6 -0
  651. package/schemas/plugins/container/ModuleFederationPlugin.json +525 -0
  652. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +7 -0
  653. package/schemas/plugins/css/CssGeneratorOptions.check.js +6 -0
  654. package/schemas/plugins/css/CssGeneratorOptions.json +3 -0
  655. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +7 -0
  656. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +6 -0
  657. package/schemas/plugins/css/CssModuleGeneratorOptions.json +3 -0
  658. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +7 -0
  659. package/schemas/plugins/css/CssModuleParserOptions.check.js +6 -0
  660. package/schemas/plugins/css/CssModuleParserOptions.json +3 -0
  661. package/schemas/plugins/css/CssParserOptions.check.d.ts +7 -0
  662. package/schemas/plugins/css/CssParserOptions.check.js +6 -0
  663. package/schemas/plugins/css/CssParserOptions.json +3 -0
  664. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +7 -0
  665. package/schemas/plugins/debug/ProfilingPlugin.check.js +6 -0
  666. package/schemas/plugins/debug/ProfilingPlugin.json +12 -0
  667. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +7 -0
  668. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +6 -0
  669. package/schemas/plugins/ids/HashedModuleIdsPlugin.json +57 -0
  670. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +7 -0
  671. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +6 -0
  672. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.json +11 -0
  673. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +7 -0
  674. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +6 -0
  675. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.json +11 -0
  676. package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +7 -0
  677. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +6 -0
  678. package/schemas/plugins/json/JsonModulesPluginGenerator.json +3 -0
  679. package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +7 -0
  680. package/schemas/plugins/json/JsonModulesPluginParser.check.js +6 -0
  681. package/schemas/plugins/json/JsonModulesPluginParser.json +3 -0
  682. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +7 -0
  683. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +6 -0
  684. package/schemas/plugins/optimize/AggressiveSplittingPlugin.json +23 -0
  685. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +7 -0
  686. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +6 -0
  687. package/schemas/plugins/optimize/LimitChunkCountPlugin.json +21 -0
  688. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +7 -0
  689. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +6 -0
  690. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.json +11 -0
  691. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +7 -0
  692. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +6 -0
  693. package/schemas/plugins/optimize/MinChunkSizePlugin.json +20 -0
  694. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +7 -0
  695. package/schemas/plugins/schemes/HttpUriPlugin.check.js +6 -0
  696. package/schemas/plugins/schemes/HttpUriPlugin.json +74 -0
  697. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +7 -0
  698. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +6 -0
  699. package/schemas/plugins/schemes/VirtualUrlPlugin.json +77 -0
  700. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +7 -0
  701. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +6 -0
  702. package/schemas/plugins/sharing/ConsumeSharedPlugin.json +120 -0
  703. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +7 -0
  704. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +6 -0
  705. package/schemas/plugins/sharing/ProvideSharedPlugin.json +94 -0
  706. package/schemas/plugins/sharing/SharePlugin.check.d.ts +7 -0
  707. package/schemas/plugins/sharing/SharePlugin.check.js +6 -0
  708. package/schemas/plugins/sharing/SharePlugin.json +133 -0
  709. package/types.d.ts +20217 -0
@@ -0,0 +1,941 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+
6
+ "use strict";
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");
22
+ const OptionsApply = require("./OptionsApply");
23
+
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 WorkerPlugin = require("./dependencies/WorkerPlugin");
61
+
62
+ const JavascriptModulesPlugin = require("./javascript/JavascriptModulesPlugin");
63
+ const JavascriptParser = require("./javascript/JavascriptParser");
64
+
65
+ const JsonModulesPlugin = require("./json/JsonModulesPlugin");
66
+
67
+ const ChunkPrefetchPreloadPlugin = require("./prefetch/ChunkPrefetchPreloadPlugin");
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
+
78
+ /** @typedef {import("./webpack").WebpackPluginFunction} WebpackPluginFunction */
79
+ /** @typedef {import("./config/defaults").WebpackOptionsNormalizedWithDefaults} WebpackOptions */
80
+ /** @typedef {import("./config/normalization").WebpackOptionsInterception} WebpackOptionsInterception */
81
+ /** @typedef {import("./Compiler")} Compiler */
82
+ /** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
83
+ /** @typedef {import("./util/fs").IntermediateFileSystem} IntermediateFileSystem */
84
+
85
+ const CLASS_NAME = "WebpackOptionsApply";
86
+
87
+ class WebpackOptionsApply extends OptionsApply {
88
+ constructor() {
89
+ super();
90
+ }
91
+
92
+ /**
93
+ * @param {WebpackOptions} options options object
94
+ * @param {Compiler} compiler compiler object
95
+ * @param {WebpackOptionsInterception=} interception intercepted options
96
+ * @returns {WebpackOptions} options object
97
+ */
98
+ process(options, compiler, interception) {
99
+ compiler.outputPath = options.output.path;
100
+ compiler.recordsInputPath = options.recordsInputPath || null;
101
+ compiler.recordsOutputPath = options.recordsOutputPath || null;
102
+ compiler.name = options.name;
103
+
104
+ if (options.externals) {
105
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
106
+ const ExternalsPlugin = require("./ExternalsPlugin");
107
+
108
+ new ExternalsPlugin(options.externalsType, options.externals).apply(
109
+ compiler
110
+ );
111
+ }
112
+
113
+ if (options.externalsPresets.node) {
114
+ const NodeTargetPlugin = require("./node/NodeTargetPlugin");
115
+
116
+ // Some older versions of Node.js don't support all built-in modules via import, only via `require`,
117
+ // but it seems like there shouldn't be a warning here since these versions are rarely used in real applications
118
+ new NodeTargetPlugin(
119
+ options.output.module ? "module-import" : "node-commonjs"
120
+ ).apply(compiler);
121
+
122
+ // Handle external CSS `@import` and `url()`
123
+ if (options.experiments.css) {
124
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
125
+ const ExternalsPlugin = require("./ExternalsPlugin");
126
+
127
+ new ExternalsPlugin(
128
+ "module",
129
+ ({ request, dependencyType, contextInfo }, callback) => {
130
+ if (
131
+ /\.css(?:\?|$)/.test(contextInfo.issuer) &&
132
+ /^(?:\/\/|https?:\/\/|#)/.test(request)
133
+ ) {
134
+ if (dependencyType === "url") {
135
+ return callback(null, `asset ${request}`);
136
+ } else if (
137
+ (dependencyType === "css-import" ||
138
+ dependencyType === "css-import-local-module" ||
139
+ dependencyType === "css-import-global-module") &&
140
+ options.experiments.css
141
+ ) {
142
+ return callback(null, `css-import ${request}`);
143
+ }
144
+ }
145
+
146
+ callback();
147
+ }
148
+ ).apply(compiler);
149
+ }
150
+ }
151
+ if (options.externalsPresets.webAsync || options.externalsPresets.web) {
152
+ const type = options.externalsPresets.webAsync ? "import" : "module";
153
+
154
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
155
+ const ExternalsPlugin = require("./ExternalsPlugin");
156
+
157
+ new ExternalsPlugin(type, ({ request, dependencyType }, callback) => {
158
+ if (/^(?:\/\/|https?:\/\/|#|std:|jsr:|npm:)/.test(request)) {
159
+ if (dependencyType === "url") {
160
+ return callback(null, `asset ${request}`);
161
+ } else if (
162
+ (dependencyType === "css-import" ||
163
+ dependencyType === "css-import-local-module" ||
164
+ dependencyType === "css-import-global-module") &&
165
+ options.experiments.css
166
+ ) {
167
+ return callback(null, `css-import ${request}`);
168
+ } else if (/^(?:\/\/|https?:\/\/|std:|jsr:|npm:)/.test(request)) {
169
+ return callback(null, `${type} ${request}`);
170
+ }
171
+ }
172
+
173
+ callback();
174
+ }).apply(compiler);
175
+ }
176
+ if (options.externalsPresets.electron) {
177
+ if (options.externalsPresets.electronMain) {
178
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
179
+ const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
180
+
181
+ new ElectronTargetPlugin("main").apply(compiler);
182
+ }
183
+ if (options.externalsPresets.electronPreload) {
184
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
185
+ const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
186
+
187
+ new ElectronTargetPlugin("preload").apply(compiler);
188
+ }
189
+ if (options.externalsPresets.electronRenderer) {
190
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
191
+ const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
192
+
193
+ new ElectronTargetPlugin("renderer").apply(compiler);
194
+ }
195
+ if (
196
+ !options.externalsPresets.electronMain &&
197
+ !options.externalsPresets.electronPreload &&
198
+ !options.externalsPresets.electronRenderer
199
+ ) {
200
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
201
+ const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
202
+
203
+ new ElectronTargetPlugin().apply(compiler);
204
+ }
205
+ }
206
+ if (options.externalsPresets.nwjs) {
207
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
208
+ const ExternalsPlugin = require("./ExternalsPlugin");
209
+
210
+ new ExternalsPlugin("node-commonjs", "nw.gui").apply(compiler);
211
+ }
212
+
213
+ new ChunkPrefetchPreloadPlugin().apply(compiler);
214
+
215
+ if (typeof options.output.chunkFormat === "string") {
216
+ switch (options.output.chunkFormat) {
217
+ case "array-push": {
218
+ const ArrayPushCallbackChunkFormatPlugin = require("./javascript/ArrayPushCallbackChunkFormatPlugin");
219
+
220
+ new ArrayPushCallbackChunkFormatPlugin().apply(compiler);
221
+ break;
222
+ }
223
+ case "commonjs": {
224
+ const CommonJsChunkFormatPlugin = require("./javascript/CommonJsChunkFormatPlugin");
225
+
226
+ new CommonJsChunkFormatPlugin().apply(compiler);
227
+ break;
228
+ }
229
+ case "module": {
230
+ const ModuleChunkFormatPlugin = require("./esm/ModuleChunkFormatPlugin");
231
+
232
+ new ModuleChunkFormatPlugin().apply(compiler);
233
+ break;
234
+ }
235
+ default:
236
+ throw new Error(
237
+ `Unsupported chunk format '${options.output.chunkFormat}'.`
238
+ );
239
+ }
240
+ }
241
+
242
+ const enabledChunkLoadingTypes =
243
+ /** @type {NonNullable<WebpackOptions["output"]["enabledChunkLoadingTypes"]>} */
244
+ (options.output.enabledChunkLoadingTypes);
245
+
246
+ if (enabledChunkLoadingTypes.length > 0) {
247
+ for (const type of enabledChunkLoadingTypes) {
248
+ const EnableChunkLoadingPlugin = require("./javascript/EnableChunkLoadingPlugin");
249
+
250
+ new EnableChunkLoadingPlugin(type).apply(compiler);
251
+ }
252
+ }
253
+
254
+ const enabledWasmLoadingTypes =
255
+ /** @type {NonNullable<WebpackOptions["output"]["enabledWasmLoadingTypes"]>} */
256
+ (options.output.enabledWasmLoadingTypes);
257
+
258
+ if (enabledWasmLoadingTypes.length > 0) {
259
+ for (const type of enabledWasmLoadingTypes) {
260
+ const EnableWasmLoadingPlugin = require("./wasm/EnableWasmLoadingPlugin");
261
+
262
+ new EnableWasmLoadingPlugin(type).apply(compiler);
263
+ }
264
+ }
265
+
266
+ const enabledLibraryTypes =
267
+ /** @type {NonNullable<WebpackOptions["output"]["enabledLibraryTypes"]>} */
268
+ (options.output.enabledLibraryTypes);
269
+
270
+ if (enabledLibraryTypes.length > 0) {
271
+ let once = true;
272
+ for (const type of enabledLibraryTypes) {
273
+ const EnableLibraryPlugin = require("./library/EnableLibraryPlugin");
274
+
275
+ new EnableLibraryPlugin(type, {
276
+ // eslint-disable-next-line no-loop-func
277
+ additionalApply: () => {
278
+ if (!once) return;
279
+ once = false;
280
+ // We rely on `exportInfo` to generate the `export statement` in certain library bundles.
281
+ // Therefore, we ignore the disabling of `optimization.providedExport` and continue to apply `FlagDependencyExportsPlugin`.
282
+ if (
283
+ ["module", "commonjs-static", "modern-module"].includes(type) &&
284
+ !options.optimization.providedExports
285
+ ) {
286
+ new FlagDependencyExportsPlugin().apply(compiler);
287
+ }
288
+ }
289
+ }).apply(compiler);
290
+ }
291
+ }
292
+
293
+ if (options.output.pathinfo) {
294
+ const ModuleInfoHeaderPlugin = require("./ModuleInfoHeaderPlugin");
295
+
296
+ new ModuleInfoHeaderPlugin(options.output.pathinfo !== true).apply(
297
+ compiler
298
+ );
299
+ }
300
+
301
+ if (options.output.clean) {
302
+ const CleanPlugin = require("./CleanPlugin");
303
+
304
+ new CleanPlugin(
305
+ options.output.clean === true ? {} : options.output.clean
306
+ ).apply(compiler);
307
+ }
308
+
309
+ if (options.dotenv) {
310
+ const DotenvPlugin = require("./DotenvPlugin");
311
+
312
+ new DotenvPlugin(
313
+ typeof options.dotenv === "boolean" ? {} : options.dotenv
314
+ ).apply(compiler);
315
+ }
316
+
317
+ let devtool =
318
+ interception === undefined ? options.devtool : interception.devtool;
319
+ devtool = Array.isArray(devtool)
320
+ ? devtool
321
+ : typeof devtool === "string"
322
+ ? [{ type: "all", use: devtool }]
323
+ : [];
324
+
325
+ for (const item of devtool) {
326
+ const { type, use } = item;
327
+
328
+ if (use) {
329
+ if (use.includes("source-map")) {
330
+ const hidden = use.includes("hidden");
331
+ const inline = use.includes("inline");
332
+ const evalWrapped = use.includes("eval");
333
+ const cheap = use.includes("cheap");
334
+ const moduleMaps = use.includes("module");
335
+ const noSources = use.includes("nosources");
336
+ const debugIds = use.includes("debugids");
337
+ const Plugin = evalWrapped
338
+ ? require("./EvalSourceMapDevToolPlugin")
339
+ : require("./SourceMapDevToolPlugin");
340
+ const assetExt =
341
+ type === "javascript"
342
+ ? /\.((c|m)?js)($|\?)/i
343
+ : type === "css"
344
+ ? /\.(css)($|\?)/i
345
+ : /\.((c|m)?js|css)($|\?)/i;
346
+
347
+ new Plugin({
348
+ test: evalWrapped ? undefined : assetExt,
349
+ filename: inline ? null : options.output.sourceMapFilename,
350
+ moduleFilenameTemplate:
351
+ options.output.devtoolModuleFilenameTemplate,
352
+ fallbackModuleFilenameTemplate:
353
+ options.output.devtoolFallbackModuleFilenameTemplate,
354
+ append: hidden ? false : undefined,
355
+ module: moduleMaps ? true : !cheap,
356
+ columns: !cheap,
357
+ noSources,
358
+ namespace: options.output.devtoolNamespace,
359
+ debugIds
360
+ }).apply(compiler);
361
+ } else if (use.includes("eval")) {
362
+ const EvalDevToolModulePlugin = require("./EvalDevToolModulePlugin");
363
+
364
+ new EvalDevToolModulePlugin({
365
+ moduleFilenameTemplate:
366
+ options.output.devtoolModuleFilenameTemplate,
367
+ namespace: options.output.devtoolNamespace
368
+ }).apply(compiler);
369
+ }
370
+ }
371
+ }
372
+
373
+ new JavascriptModulesPlugin().apply(compiler);
374
+ new JsonModulesPlugin().apply(compiler);
375
+ new AssetModulesPlugin({
376
+ sideEffectFree: options.experiments.futureDefaults
377
+ }).apply(compiler);
378
+
379
+ if (!options.experiments.outputModule) {
380
+ if (options.output.module) {
381
+ throw new Error(
382
+ "'output.module: true' is only allowed when 'experiments.outputModule' is enabled"
383
+ );
384
+ }
385
+ if (options.output.enabledLibraryTypes.includes("module")) {
386
+ throw new Error(
387
+ "library type \"module\" is only allowed when 'experiments.outputModule' is enabled"
388
+ );
389
+ }
390
+ if (options.output.enabledLibraryTypes.includes("modern-module")) {
391
+ throw new Error(
392
+ "library type \"modern-module\" is only allowed when 'experiments.outputModule' is enabled"
393
+ );
394
+ }
395
+ if (
396
+ options.externalsType === "module" ||
397
+ options.externalsType === "module-import"
398
+ ) {
399
+ throw new Error(
400
+ "'externalsType: \"module\"' is only allowed when 'experiments.outputModule' is enabled"
401
+ );
402
+ }
403
+ }
404
+
405
+ if (options.experiments.syncWebAssembly) {
406
+ const WebAssemblyModulesPlugin = require("./wasm-sync/WebAssemblyModulesPlugin");
407
+
408
+ new WebAssemblyModulesPlugin({
409
+ mangleImports: options.optimization.mangleWasmImports
410
+ }).apply(compiler);
411
+ }
412
+
413
+ if (options.experiments.asyncWebAssembly) {
414
+ const AsyncWebAssemblyModulesPlugin = require("./wasm-async/AsyncWebAssemblyModulesPlugin");
415
+
416
+ new AsyncWebAssemblyModulesPlugin({
417
+ mangleImports: options.optimization.mangleWasmImports
418
+ }).apply(compiler);
419
+ }
420
+
421
+ if (options.experiments.css) {
422
+ const CssModulesPlugin = require("./css/CssModulesPlugin");
423
+
424
+ new CssModulesPlugin().apply(compiler);
425
+ }
426
+
427
+ if (options.experiments.lazyCompilation) {
428
+ const LazyCompilationPlugin = require("./hmr/LazyCompilationPlugin");
429
+
430
+ const lazyOptions =
431
+ typeof options.experiments.lazyCompilation === "object"
432
+ ? options.experiments.lazyCompilation
433
+ : {};
434
+ const isUniversalTarget =
435
+ options.output.module &&
436
+ compiler.platform.node === null &&
437
+ compiler.platform.web === null;
438
+
439
+ if (isUniversalTarget) {
440
+ const emitter = require.resolve("../hot/emitter-event-target.js");
441
+
442
+ const NormalModuleReplacementPlugin = require("./NormalModuleReplacementPlugin");
443
+
444
+ // Override emitter that using `EventEmitter` to `EventTarget`
445
+ // TODO webpack6 - migrate to `EventTarget` by default
446
+ new NormalModuleReplacementPlugin(/emitter(\.js)?$/, (result) => {
447
+ if (
448
+ /webpack[/\\]hot|webpack-dev-server[/\\]client|webpack-hot-middleware[/\\]client/.test(
449
+ result.context
450
+ )
451
+ ) {
452
+ result.request = emitter;
453
+ }
454
+
455
+ return result;
456
+ }).apply(compiler);
457
+ }
458
+
459
+ const backend = require.resolve(
460
+ isUniversalTarget
461
+ ? "../hot/lazy-compilation-universal.js"
462
+ : `../hot/lazy-compilation-${
463
+ options.externalsPresets.node ? "node" : "web"
464
+ }.js`
465
+ );
466
+
467
+ new LazyCompilationPlugin({
468
+ backend:
469
+ typeof lazyOptions.backend === "function"
470
+ ? lazyOptions.backend
471
+ : require("./hmr/lazyCompilationBackend")({
472
+ ...lazyOptions.backend,
473
+ client:
474
+ (lazyOptions.backend && lazyOptions.backend.client) || backend
475
+ }),
476
+ entries: !lazyOptions || lazyOptions.entries !== false,
477
+ imports: !lazyOptions || lazyOptions.imports !== false,
478
+ test: (lazyOptions && lazyOptions.test) || undefined
479
+ }).apply(compiler);
480
+ }
481
+
482
+ if (options.experiments.buildHttp) {
483
+ const HttpUriPlugin = require("./schemes/HttpUriPlugin");
484
+
485
+ const httpOptions = options.experiments.buildHttp;
486
+ new HttpUriPlugin(httpOptions).apply(compiler);
487
+ }
488
+
489
+ if (
490
+ options.experiments.deferImport &&
491
+ !(
492
+ /** @type {typeof JavascriptParser & { __importPhasesExtended?: true }} */
493
+ (JavascriptParser).__importPhasesExtended
494
+ )
495
+ ) {
496
+ const importPhases = require("acorn-import-phases");
497
+
498
+ JavascriptParser.extend(importPhases({ source: false }));
499
+ /** @type {typeof JavascriptParser & { __importPhasesExtended?: true }} */
500
+ (JavascriptParser).__importPhasesExtended = true;
501
+ }
502
+
503
+ new EntryOptionPlugin().apply(compiler);
504
+ compiler.hooks.entryOption.call(options.context, options.entry);
505
+
506
+ new RuntimePlugin().apply(compiler);
507
+
508
+ new InferAsyncModulesPlugin().apply(compiler);
509
+
510
+ new DataUriPlugin().apply(compiler);
511
+ new FileUriPlugin().apply(compiler);
512
+
513
+ new CompatibilityPlugin().apply(compiler);
514
+ new HarmonyModulesPlugin({
515
+ deferImport: options.experiments.deferImport
516
+ }).apply(compiler);
517
+ if (options.amd !== false) {
518
+ const AMDPlugin = require("./dependencies/AMDPlugin");
519
+ const RequireJsStuffPlugin = require("./RequireJsStuffPlugin");
520
+
521
+ new AMDPlugin(options.amd || {}).apply(compiler);
522
+ new RequireJsStuffPlugin().apply(compiler);
523
+ }
524
+ new CommonJsPlugin().apply(compiler);
525
+ new LoaderPlugin().apply(compiler);
526
+ new NodeStuffPlugin({
527
+ global: options.node ? options.node.global : false,
528
+ __dirname: options.node ? options.node.__dirname : false,
529
+ __filename: options.node ? options.node.__filename : false
530
+ }).apply(compiler);
531
+ new APIPlugin().apply(compiler);
532
+ new ExportsInfoApiPlugin().apply(compiler);
533
+ new WebpackIsIncludedPlugin().apply(compiler);
534
+ new ConstPlugin().apply(compiler);
535
+ new UseStrictPlugin().apply(compiler);
536
+ new RequireIncludePlugin().apply(compiler);
537
+ new RequireEnsurePlugin().apply(compiler);
538
+ new RequireContextPlugin().apply(compiler);
539
+ new ImportPlugin().apply(compiler);
540
+ new ImportMetaContextPlugin().apply(compiler);
541
+ new SystemPlugin().apply(compiler);
542
+ new ImportMetaPlugin().apply(compiler);
543
+ new URLPlugin().apply(compiler);
544
+ new WorkerPlugin(
545
+ options.output.workerChunkLoading,
546
+ options.output.workerWasmLoading,
547
+ options.output.module,
548
+ options.output.workerPublicPath
549
+ ).apply(compiler);
550
+
551
+ new DefaultStatsFactoryPlugin().apply(compiler);
552
+ new DefaultStatsPresetPlugin().apply(compiler);
553
+ new DefaultStatsPrinterPlugin().apply(compiler);
554
+
555
+ new JavascriptMetaInfoPlugin().apply(compiler);
556
+
557
+ if (typeof options.mode !== "string") {
558
+ const WarnNoModeSetPlugin = require("./WarnNoModeSetPlugin");
559
+
560
+ new WarnNoModeSetPlugin().apply(compiler);
561
+ }
562
+
563
+ const EnsureChunkConditionsPlugin = require("./optimize/EnsureChunkConditionsPlugin");
564
+
565
+ new EnsureChunkConditionsPlugin().apply(compiler);
566
+ if (options.optimization.removeAvailableModules) {
567
+ const RemoveParentModulesPlugin = require("./optimize/RemoveParentModulesPlugin");
568
+
569
+ new RemoveParentModulesPlugin().apply(compiler);
570
+ }
571
+ if (options.optimization.removeEmptyChunks) {
572
+ const RemoveEmptyChunksPlugin = require("./optimize/RemoveEmptyChunksPlugin");
573
+
574
+ new RemoveEmptyChunksPlugin().apply(compiler);
575
+ }
576
+ if (options.optimization.mergeDuplicateChunks) {
577
+ const MergeDuplicateChunksPlugin = require("./optimize/MergeDuplicateChunksPlugin");
578
+
579
+ new MergeDuplicateChunksPlugin().apply(compiler);
580
+ }
581
+ if (options.optimization.flagIncludedChunks) {
582
+ const FlagIncludedChunksPlugin = require("./optimize/FlagIncludedChunksPlugin");
583
+
584
+ new FlagIncludedChunksPlugin().apply(compiler);
585
+ }
586
+ if (options.optimization.sideEffects) {
587
+ const SideEffectsFlagPlugin = require("./optimize/SideEffectsFlagPlugin");
588
+
589
+ new SideEffectsFlagPlugin(
590
+ options.optimization.sideEffects === true
591
+ ).apply(compiler);
592
+ }
593
+ if (options.optimization.providedExports) {
594
+ new FlagDependencyExportsPlugin().apply(compiler);
595
+ }
596
+ if (options.optimization.usedExports) {
597
+ const FlagDependencyUsagePlugin = require("./FlagDependencyUsagePlugin");
598
+
599
+ new FlagDependencyUsagePlugin(
600
+ options.optimization.usedExports === "global"
601
+ ).apply(compiler);
602
+ }
603
+ if (options.optimization.innerGraph) {
604
+ const InnerGraphPlugin = require("./optimize/InnerGraphPlugin");
605
+
606
+ new InnerGraphPlugin().apply(compiler);
607
+ }
608
+ if (options.optimization.mangleExports) {
609
+ const MangleExportsPlugin = require("./optimize/MangleExportsPlugin");
610
+
611
+ new MangleExportsPlugin(
612
+ options.optimization.mangleExports !== "size"
613
+ ).apply(compiler);
614
+ }
615
+ if (options.optimization.concatenateModules) {
616
+ const ModuleConcatenationPlugin = require("./optimize/ModuleConcatenationPlugin");
617
+
618
+ new ModuleConcatenationPlugin().apply(compiler);
619
+ }
620
+ if (options.optimization.splitChunks) {
621
+ const SplitChunksPlugin = require("./optimize/SplitChunksPlugin");
622
+
623
+ new SplitChunksPlugin(options.optimization.splitChunks).apply(compiler);
624
+ }
625
+ if (options.optimization.runtimeChunk) {
626
+ const RuntimeChunkPlugin = require("./optimize/RuntimeChunkPlugin");
627
+
628
+ new RuntimeChunkPlugin(options.optimization.runtimeChunk).apply(compiler);
629
+ }
630
+ if (!options.optimization.emitOnErrors) {
631
+ const NoEmitOnErrorsPlugin = require("./NoEmitOnErrorsPlugin");
632
+
633
+ new NoEmitOnErrorsPlugin().apply(compiler);
634
+ }
635
+ if (options.optimization.realContentHash) {
636
+ const RealContentHashPlugin = require("./optimize/RealContentHashPlugin");
637
+
638
+ new RealContentHashPlugin({
639
+ hashFunction:
640
+ /** @type {NonNullable<WebpackOptions["output"]["hashFunction"]>} */
641
+ (options.output.hashFunction),
642
+ hashDigest:
643
+ /** @type {NonNullable<WebpackOptions["output"]["hashDigest"]>} */
644
+ (options.output.hashDigest)
645
+ }).apply(compiler);
646
+ }
647
+ if (options.optimization.checkWasmTypes) {
648
+ const WasmFinalizeExportsPlugin = require("./wasm-sync/WasmFinalizeExportsPlugin");
649
+
650
+ new WasmFinalizeExportsPlugin().apply(compiler);
651
+ }
652
+ const moduleIds = options.optimization.moduleIds;
653
+ if (moduleIds) {
654
+ switch (moduleIds) {
655
+ case "natural": {
656
+ const NaturalModuleIdsPlugin = require("./ids/NaturalModuleIdsPlugin");
657
+
658
+ new NaturalModuleIdsPlugin().apply(compiler);
659
+ break;
660
+ }
661
+ case "named": {
662
+ const NamedModuleIdsPlugin = require("./ids/NamedModuleIdsPlugin");
663
+
664
+ new NamedModuleIdsPlugin().apply(compiler);
665
+ break;
666
+ }
667
+ case "hashed": {
668
+ const WarnDeprecatedOptionPlugin = require("./WarnDeprecatedOptionPlugin");
669
+ const HashedModuleIdsPlugin = require("./ids/HashedModuleIdsPlugin");
670
+
671
+ new WarnDeprecatedOptionPlugin(
672
+ "optimization.moduleIds",
673
+ "hashed",
674
+ "deterministic"
675
+ ).apply(compiler);
676
+ new HashedModuleIdsPlugin({
677
+ hashFunction: options.output.hashFunction
678
+ }).apply(compiler);
679
+ break;
680
+ }
681
+ case "deterministic": {
682
+ const DeterministicModuleIdsPlugin = require("./ids/DeterministicModuleIdsPlugin");
683
+
684
+ new DeterministicModuleIdsPlugin().apply(compiler);
685
+ break;
686
+ }
687
+ case "size": {
688
+ const OccurrenceModuleIdsPlugin = require("./ids/OccurrenceModuleIdsPlugin");
689
+
690
+ new OccurrenceModuleIdsPlugin({
691
+ prioritiseInitial: true
692
+ }).apply(compiler);
693
+ break;
694
+ }
695
+ default:
696
+ throw new Error(
697
+ `webpack bug: moduleIds: ${moduleIds} is not implemented`
698
+ );
699
+ }
700
+ }
701
+ const chunkIds = options.optimization.chunkIds;
702
+ if (chunkIds) {
703
+ switch (chunkIds) {
704
+ case "natural": {
705
+ const NaturalChunkIdsPlugin = require("./ids/NaturalChunkIdsPlugin");
706
+
707
+ new NaturalChunkIdsPlugin().apply(compiler);
708
+ break;
709
+ }
710
+ case "named": {
711
+ const NamedChunkIdsPlugin = require("./ids/NamedChunkIdsPlugin");
712
+
713
+ new NamedChunkIdsPlugin().apply(compiler);
714
+ break;
715
+ }
716
+ case "deterministic": {
717
+ const DeterministicChunkIdsPlugin = require("./ids/DeterministicChunkIdsPlugin");
718
+
719
+ new DeterministicChunkIdsPlugin().apply(compiler);
720
+ break;
721
+ }
722
+ case "size": {
723
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
724
+ const OccurrenceChunkIdsPlugin = require("./ids/OccurrenceChunkIdsPlugin");
725
+
726
+ new OccurrenceChunkIdsPlugin({
727
+ prioritiseInitial: true
728
+ }).apply(compiler);
729
+ break;
730
+ }
731
+ case "total-size": {
732
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
733
+ const OccurrenceChunkIdsPlugin = require("./ids/OccurrenceChunkIdsPlugin");
734
+
735
+ new OccurrenceChunkIdsPlugin({
736
+ prioritiseInitial: false
737
+ }).apply(compiler);
738
+ break;
739
+ }
740
+ default:
741
+ throw new Error(
742
+ `webpack bug: chunkIds: ${chunkIds} is not implemented`
743
+ );
744
+ }
745
+ }
746
+ if (options.optimization.nodeEnv) {
747
+ const DefinePlugin = require("./DefinePlugin");
748
+
749
+ const defValue = JSON.stringify(options.optimization.nodeEnv);
750
+
751
+ new DefinePlugin({
752
+ "process.env.NODE_ENV": defValue,
753
+ "import.meta.env.NODE_ENV": defValue
754
+ }).apply(compiler);
755
+ }
756
+ if (options.optimization.minimize) {
757
+ for (const minimizer of options.optimization.minimizer) {
758
+ if (typeof minimizer === "function") {
759
+ /** @type {WebpackPluginFunction} */
760
+ (minimizer).call(compiler, compiler);
761
+ } else if (minimizer !== "..." && minimizer) {
762
+ minimizer.apply(compiler);
763
+ }
764
+ }
765
+ }
766
+
767
+ if (options.performance) {
768
+ const SizeLimitsPlugin = require("./performance/SizeLimitsPlugin");
769
+
770
+ new SizeLimitsPlugin(options.performance).apply(compiler);
771
+ }
772
+
773
+ new TemplatedPathPlugin().apply(compiler);
774
+
775
+ new RecordIdsPlugin({
776
+ portableIds: options.optimization.portableRecords
777
+ }).apply(compiler);
778
+
779
+ new WarnCaseSensitiveModulesPlugin().apply(compiler);
780
+
781
+ const AddManagedPathsPlugin = require("./cache/AddManagedPathsPlugin");
782
+
783
+ new AddManagedPathsPlugin(
784
+ /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
785
+ (options.snapshot.managedPaths),
786
+ /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
787
+ (options.snapshot.immutablePaths),
788
+ /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
789
+ (options.snapshot.unmanagedPaths)
790
+ ).apply(compiler);
791
+
792
+ if (options.cache && typeof options.cache === "object") {
793
+ const cacheOptions = options.cache;
794
+ switch (cacheOptions.type) {
795
+ case "memory": {
796
+ if (Number.isFinite(cacheOptions.maxGenerations)) {
797
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
798
+ const MemoryWithGcCachePlugin = require("./cache/MemoryWithGcCachePlugin");
799
+
800
+ new MemoryWithGcCachePlugin({
801
+ maxGenerations:
802
+ /** @type {number} */
803
+ (cacheOptions.maxGenerations)
804
+ }).apply(compiler);
805
+ } else {
806
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
807
+ const MemoryCachePlugin = require("./cache/MemoryCachePlugin");
808
+
809
+ new MemoryCachePlugin().apply(compiler);
810
+ }
811
+ if (cacheOptions.cacheUnaffected) {
812
+ if (!options.experiments.cacheUnaffected) {
813
+ throw new Error(
814
+ "'cache.cacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled"
815
+ );
816
+ }
817
+ compiler.moduleMemCaches = new Map();
818
+ }
819
+ break;
820
+ }
821
+ case "filesystem": {
822
+ const AddBuildDependenciesPlugin = require("./cache/AddBuildDependenciesPlugin");
823
+
824
+ for (const key in cacheOptions.buildDependencies) {
825
+ const list = cacheOptions.buildDependencies[key];
826
+ new AddBuildDependenciesPlugin(list).apply(compiler);
827
+ }
828
+ if (!Number.isFinite(cacheOptions.maxMemoryGenerations)) {
829
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
830
+ const MemoryCachePlugin = require("./cache/MemoryCachePlugin");
831
+
832
+ new MemoryCachePlugin().apply(compiler);
833
+ } else if (cacheOptions.maxMemoryGenerations !== 0) {
834
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
835
+ const MemoryWithGcCachePlugin = require("./cache/MemoryWithGcCachePlugin");
836
+
837
+ new MemoryWithGcCachePlugin({
838
+ maxGenerations:
839
+ /** @type {number} */
840
+ (cacheOptions.maxMemoryGenerations)
841
+ }).apply(compiler);
842
+ }
843
+ if (cacheOptions.memoryCacheUnaffected) {
844
+ if (!options.experiments.cacheUnaffected) {
845
+ throw new Error(
846
+ "'cache.memoryCacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled"
847
+ );
848
+ }
849
+ compiler.moduleMemCaches = new Map();
850
+ }
851
+ switch (cacheOptions.store) {
852
+ case "pack": {
853
+ const IdleFileCachePlugin = require("./cache/IdleFileCachePlugin");
854
+ const PackFileCacheStrategy = require("./cache/PackFileCacheStrategy");
855
+
856
+ new IdleFileCachePlugin(
857
+ new PackFileCacheStrategy({
858
+ compiler,
859
+ fs:
860
+ /** @type {IntermediateFileSystem} */
861
+ (compiler.intermediateFileSystem),
862
+ context: options.context,
863
+ cacheLocation:
864
+ /** @type {string} */
865
+ (cacheOptions.cacheLocation),
866
+ version: /** @type {string} */ (cacheOptions.version),
867
+ logger: compiler.getInfrastructureLogger(
868
+ "webpack.cache.PackFileCacheStrategy"
869
+ ),
870
+ snapshot: options.snapshot,
871
+ maxAge: /** @type {number} */ (cacheOptions.maxAge),
872
+ profile: cacheOptions.profile,
873
+ allowCollectingMemory: cacheOptions.allowCollectingMemory,
874
+ compression: cacheOptions.compression,
875
+ readonly: cacheOptions.readonly
876
+ }),
877
+ /** @type {number} */
878
+ (cacheOptions.idleTimeout),
879
+ /** @type {number} */
880
+ (cacheOptions.idleTimeoutForInitialStore),
881
+ /** @type {number} */
882
+ (cacheOptions.idleTimeoutAfterLargeChanges)
883
+ ).apply(compiler);
884
+ break;
885
+ }
886
+ default:
887
+ throw new Error("Unhandled value for cache.store");
888
+ }
889
+ break;
890
+ }
891
+ default:
892
+ // @ts-expect-error Property 'type' does not exist on type 'never'. ts(2339)
893
+ throw new Error(`Unknown cache type ${cacheOptions.type}`);
894
+ }
895
+ }
896
+ new ResolverCachePlugin().apply(compiler);
897
+
898
+ if (options.ignoreWarnings && options.ignoreWarnings.length > 0) {
899
+ const IgnoreWarningsPlugin = require("./IgnoreWarningsPlugin");
900
+
901
+ new IgnoreWarningsPlugin(options.ignoreWarnings).apply(compiler);
902
+ }
903
+
904
+ compiler.hooks.afterPlugins.call(compiler);
905
+ if (!compiler.inputFileSystem) {
906
+ throw new Error("No input filesystem provided");
907
+ }
908
+ compiler.resolverFactory.hooks.resolveOptions
909
+ .for("normal")
910
+ .tap(CLASS_NAME, (resolveOptions) => {
911
+ resolveOptions = cleverMerge(options.resolve, resolveOptions);
912
+ resolveOptions.fileSystem =
913
+ /** @type {InputFileSystem} */
914
+ (compiler.inputFileSystem);
915
+ return resolveOptions;
916
+ });
917
+ compiler.resolverFactory.hooks.resolveOptions
918
+ .for("context")
919
+ .tap(CLASS_NAME, (resolveOptions) => {
920
+ resolveOptions = cleverMerge(options.resolve, resolveOptions);
921
+ resolveOptions.fileSystem =
922
+ /** @type {InputFileSystem} */
923
+ (compiler.inputFileSystem);
924
+ resolveOptions.resolveToContext = true;
925
+ return resolveOptions;
926
+ });
927
+ compiler.resolverFactory.hooks.resolveOptions
928
+ .for("loader")
929
+ .tap(CLASS_NAME, (resolveOptions) => {
930
+ resolveOptions = cleverMerge(options.resolveLoader, resolveOptions);
931
+ resolveOptions.fileSystem =
932
+ /** @type {InputFileSystem} */
933
+ (compiler.inputFileSystem);
934
+ return resolveOptions;
935
+ });
936
+ compiler.hooks.afterResolvers.call(compiler);
937
+ return options;
938
+ }
939
+ }
940
+
941
+ module.exports = WebpackOptionsApply;