@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
package/lib/Module.js ADDED
@@ -0,0 +1,1319 @@
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 util = require("util");
9
+ const ChunkGraph = require("./ChunkGraph");
10
+ const DependenciesBlock = require("./DependenciesBlock");
11
+ const ModuleGraph = require("./ModuleGraph");
12
+ const {
13
+ JAVASCRIPT_TYPE,
14
+ UNKNOWN_TYPE
15
+ } = require("./ModuleSourceTypeConstants");
16
+ const { JAVASCRIPT_TYPES } = require("./ModuleSourceTypeConstants");
17
+ const RuntimeGlobals = require("./RuntimeGlobals");
18
+ const { first } = require("./util/SetHelpers");
19
+ const { compareChunksById } = require("./util/comparators");
20
+ const makeSerializable = require("./util/makeSerializable");
21
+
22
+ /** @typedef {import("webpack-sources").Source} Source */
23
+ /** @typedef {import("../declarations/WebpackOptions").ResolveOptions} ResolveOptions */
24
+ /** @typedef {import("./config/defaults").WebpackOptionsNormalizedWithDefaults} WebpackOptions */
25
+ /** @typedef {import("./Chunk")} Chunk */
26
+ /** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
27
+ /** @typedef {import("./ChunkGroup")} ChunkGroup */
28
+ /** @typedef {import("./CodeGenerationResults")} CodeGenerationResults */
29
+ /** @typedef {import("./Compilation")} Compilation */
30
+ /** @typedef {import("./Compilation").AssetInfo} AssetInfo */
31
+ /** @typedef {import("./Compilation").FileSystemDependencies} FileSystemDependencies */
32
+ /** @typedef {import("./Compilation").UnsafeCacheData} UnsafeCacheData */
33
+ /** @typedef {import("./ConcatenationScope")} ConcatenationScope */
34
+ /** @typedef {import("./Dependency")} Dependency */
35
+ /** @typedef {import("./Dependency").UpdateHashContext} UpdateHashContext */
36
+ /** @typedef {import("./DependencyTemplate").CssData} CssData */
37
+ /** @typedef {import("./DependencyTemplates")} DependencyTemplates */
38
+ /** @typedef {import("./ModuleSourceTypeConstants").AllTypes} AllTypes */
39
+ /** @typedef {import("./FileSystemInfo")} FileSystemInfo */
40
+ /** @typedef {import("./FileSystemInfo").Snapshot} Snapshot */
41
+ /** @typedef {import("./ModuleGraphConnection").ConnectionState} ConnectionState */
42
+ /** @typedef {import("./ModuleTypeConstants").ModuleTypes} ModuleTypes */
43
+ /** @typedef {import("./ModuleGraph").OptimizationBailouts} OptimizationBailouts */
44
+ /** @typedef {import("./NormalModuleFactory")} NormalModuleFactory */
45
+ /** @typedef {import("./RequestShortener")} RequestShortener */
46
+ /** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
47
+ /** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
48
+ /** @typedef {import("../declarations/WebpackOptions").CssParserExportType} CssParserExportType */
49
+
50
+ /**
51
+ * @template T
52
+ * @typedef {import("./InitFragment")<T>} InitFragment
53
+ */
54
+ /** @typedef {import("./WebpackError")} WebpackError */
55
+ /** @typedef {import("./json/JsonData")} JsonData */
56
+ /** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
57
+ /** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
58
+ /** @typedef {import("./util/Hash")} Hash */
59
+ /** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
60
+ /** @typedef {import("./util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
61
+ /** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
62
+ /** @typedef {"namespace" | "default-only" | "default-with-named" | "dynamic"} ExportsType */
63
+
64
+ /**
65
+ * @template T
66
+ * @typedef {import("./util/LazySet")<T>} LazySet<T>
67
+ */
68
+
69
+ /**
70
+ * @typedef {object} SourceContext
71
+ * @property {DependencyTemplates} dependencyTemplates the dependency templates
72
+ * @property {RuntimeTemplate} runtimeTemplate the runtime template
73
+ * @property {ModuleGraph} moduleGraph the module graph
74
+ * @property {ChunkGraph} chunkGraph the chunk graph
75
+ * @property {RuntimeSpec} runtime the runtimes code should be generated for
76
+ * @property {string=} type the type of source that should be generated
77
+ */
78
+
79
+ /** @typedef {AllTypes} KnownSourceType */
80
+ /** @typedef {KnownSourceType | string} SourceType */
81
+ /** @typedef {ReadonlySet<SourceType>} SourceTypes */
82
+
83
+ /** @typedef {ReadonlySet<typeof JAVASCRIPT_TYPE | string>} BasicSourceTypes */
84
+
85
+ // TODO webpack 6: compilation will be required in CodeGenerationContext
86
+ /**
87
+ * @typedef {object} CodeGenerationContext
88
+ * @property {DependencyTemplates} dependencyTemplates the dependency templates
89
+ * @property {RuntimeTemplate} runtimeTemplate the runtime template
90
+ * @property {ModuleGraph} moduleGraph the module graph
91
+ * @property {ChunkGraph} chunkGraph the chunk graph
92
+ * @property {RuntimeSpec} runtime the runtimes code should be generated for
93
+ * @property {RuntimeSpec[]} runtimes all runtimes code should be generated for
94
+ * @property {ConcatenationScope=} concatenationScope when in concatenated module, information about other concatenated modules
95
+ * @property {CodeGenerationResults | undefined} codeGenerationResults code generation results of other modules (need to have a codeGenerationDependency to use that)
96
+ * @property {Compilation=} compilation the compilation
97
+ * @property {SourceTypes=} sourceTypes source types
98
+ */
99
+
100
+ /**
101
+ * @typedef {object} ConcatenationBailoutReasonContext
102
+ * @property {ModuleGraph} moduleGraph the module graph
103
+ * @property {ChunkGraph} chunkGraph the chunk graph
104
+ */
105
+
106
+ /** @typedef {Set<string>} RuntimeRequirements */
107
+ /** @typedef {ReadonlySet<string>} ReadOnlyRuntimeRequirements */
108
+
109
+ /**
110
+ * @typedef {object} AllCodeGenerationSchemas
111
+ * @property {Set<string>} topLevelDeclarations top level declarations for javascript modules
112
+ * @property {InitFragment<EXPECTED_ANY>[]} chunkInitFragments chunk init fragments for javascript modules
113
+ * @property {{ javascript?: string, ["css-url"]?: string }} url url for css and javascript modules
114
+ * @property {string} filename a filename for asset modules
115
+ * @property {AssetInfo} assetInfo an asset info for asset modules
116
+ * @property {string} fullContentHash a full content hash for asset modules
117
+ * @property {[{ shareScope: string, initStage: number, init: string }]} share-init share-init for modules federation
118
+ */
119
+
120
+ /* eslint-disable jsdoc/type-formatting */
121
+ /**
122
+ * @template {string} K
123
+ * @typedef {K extends keyof AllCodeGenerationSchemas ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
124
+ */
125
+ /* eslint-enable jsdoc/type-formatting */
126
+
127
+ /* eslint-disable jsdoc/require-template */
128
+ /**
129
+ * @typedef {object} CodeGenMapOverloads
130
+ * @property {<K extends string>(key: K) => CodeGenValue<K> | undefined} get
131
+ * @property {<K extends string>(key: K, value: CodeGenValue<K>) => CodeGenerationResultData} set
132
+ * @property {<K extends string>(key: K) => boolean} has
133
+ * @property {<K extends string>(key: K) => boolean} delete
134
+ */
135
+
136
+ /**
137
+ * @typedef {Omit<Map<string, EXPECTED_ANY>, "get" | "set" | "has" | "delete"> & CodeGenMapOverloads} CodeGenerationResultData
138
+ */
139
+
140
+ /** @typedef {Map<SourceType, Source>} Sources */
141
+
142
+ /**
143
+ * @typedef {object} CodeGenerationResult
144
+ * @property {Sources} sources the resulting sources for all source types
145
+ * @property {CodeGenerationResultData=} data the resulting data for all source types
146
+ * @property {ReadOnlyRuntimeRequirements | null} runtimeRequirements the runtime requirements
147
+ * @property {string=} hash a hash of the code generation result (will be automatically calculated from sources and runtimeRequirements if not provided)
148
+ */
149
+
150
+ /**
151
+ * @typedef {object} LibIdentOptions
152
+ * @property {string} context absolute context path to which lib ident is relative to
153
+ * @property {AssociatedObjectForCache=} associatedObjectForCache object for caching
154
+ */
155
+
156
+ /**
157
+ * @typedef {object} KnownBuildMeta
158
+ * @property {("default" | "namespace" | "flagged" | "dynamic")=} exportsType
159
+ * @property {CssParserExportType=} exportType
160
+ * @property {(false | "redirect" | "redirect-warn")=} defaultObject
161
+ * @property {boolean=} strictHarmonyModule
162
+ * @property {boolean=} treatAsCommonJs
163
+ * @property {boolean=} async
164
+ * @property {boolean=} sideEffectFree
165
+ * @property {boolean=} isCSSModule
166
+ * @property {Record<string, string>=} jsIncompatibleExports
167
+ * @property {Map<string, Record<string, string>>=} exportsFinalNameByRuntime
168
+ * @property {Map<string, string>=} exportsSourceByRuntime
169
+ */
170
+
171
+ /**
172
+ * @typedef {object} KnownBuildInfo
173
+ * @property {boolean=} cacheable
174
+ * @property {boolean=} parsed
175
+ * @property {boolean=} strict
176
+ * @property {string=} moduleArgument using in AMD
177
+ * @property {string=} exportsArgument using in AMD
178
+ * @property {string=} moduleConcatenationBailout using in CommonJs
179
+ * @property {boolean=} needCreateRequire using in APIPlugin
180
+ * @property {string=} resourceIntegrity using in HttpUriPlugin
181
+ * @property {FileSystemDependencies=} fileDependencies using in NormalModule
182
+ * @property {FileSystemDependencies=} contextDependencies using in NormalModule
183
+ * @property {FileSystemDependencies=} missingDependencies using in NormalModule
184
+ * @property {FileSystemDependencies=} buildDependencies using in NormalModule
185
+ * @property {ValueCacheVersions=} valueDependencies using in NormalModule
186
+ * @property {Record<string, Source>=} assets using in NormalModule
187
+ * @property {Map<string, AssetInfo | undefined>=} assetsInfo using in NormalModule
188
+ * @property {string=} hash using in NormalModule
189
+ * @property {(Snapshot | null)=} snapshot using in ContextModule
190
+ * @property {string=} fullContentHash for assets modules
191
+ * @property {string=} filename for assets modules
192
+ * @property {boolean=} dataUrl for assets modules
193
+ * @property {AssetInfo=} assetInfo for assets modules
194
+ * @property {boolean=} javascriptModule for external modules
195
+ * @property {boolean=} active for lazy compilation modules
196
+ * @property {CssData=} cssData for css modules
197
+ * @property {JsonData=} jsonData for json modules
198
+ * @property {Set<string>=} topLevelDeclarations top level declaration names
199
+ */
200
+
201
+ /** @typedef {string | Set<string>} ValueCacheVersion */
202
+ /** @typedef {Map<string, ValueCacheVersion>} ValueCacheVersions */
203
+
204
+ /**
205
+ * @typedef {object} NeedBuildContext
206
+ * @property {Compilation} compilation
207
+ * @property {FileSystemInfo} fileSystemInfo
208
+ * @property {ValueCacheVersions} valueCacheVersions
209
+ */
210
+
211
+ /** @typedef {(err?: WebpackError | null, needBuild?: boolean) => void} NeedBuildCallback */
212
+
213
+ /** @typedef {(err?: WebpackError) => void} BuildCallback */
214
+
215
+ /** @typedef {KnownBuildMeta & Record<string, EXPECTED_ANY>} BuildMeta */
216
+ /** @typedef {KnownBuildInfo & Record<string, EXPECTED_ANY>} BuildInfo */
217
+
218
+ /**
219
+ * @typedef {object} FactoryMeta
220
+ * @property {boolean=} sideEffectFree
221
+ */
222
+
223
+ const EMPTY_RESOLVE_OPTIONS = {};
224
+
225
+ let debugId = 1000;
226
+
227
+ /** @type {SourceTypes} */
228
+ const DEFAULT_TYPES_UNKNOWN = new Set([UNKNOWN_TYPE]);
229
+
230
+ const deprecatedNeedRebuild = util.deprecate(
231
+ /**
232
+ * @param {Module} module the module
233
+ * @param {NeedBuildContext} context context info
234
+ * @returns {boolean} true, when rebuild is needed
235
+ */
236
+ (module, context) =>
237
+ module.needRebuild(
238
+ context.fileSystemInfo.getDeprecatedFileTimestamps(),
239
+ context.fileSystemInfo.getDeprecatedContextTimestamps()
240
+ ),
241
+ "Module.needRebuild is deprecated in favor of Module.needBuild",
242
+ "DEP_WEBPACK_MODULE_NEED_REBUILD"
243
+ );
244
+
245
+ /** @typedef {string} LibIdent */
246
+ /** @typedef {string} NameForCondition */
247
+
248
+ /** @typedef {(requestShortener: RequestShortener) => string} OptimizationBailoutFunction */
249
+
250
+ class Module extends DependenciesBlock {
251
+ /**
252
+ * @param {ModuleTypes | ""} type the module type, when deserializing the type is not known and is an empty string
253
+ * @param {(string | null)=} context an optional context
254
+ * @param {(string | null)=} layer an optional layer in which the module is
255
+ */
256
+ constructor(type, context = null, layer = null) {
257
+ super();
258
+
259
+ /** @type {ModuleTypes} */
260
+ this.type = type;
261
+ /** @type {string | null} */
262
+ this.context = context;
263
+ /** @type {string | null} */
264
+ this.layer = layer;
265
+ /** @type {boolean} */
266
+ this.needId = true;
267
+
268
+ // Unique Id
269
+ /** @type {number} */
270
+ this.debugId = debugId++;
271
+
272
+ // Info from Factory
273
+ /** @type {ResolveOptions | undefined} */
274
+ this.resolveOptions = EMPTY_RESOLVE_OPTIONS;
275
+ /** @type {FactoryMeta | undefined} */
276
+ this.factoryMeta = undefined;
277
+ // TODO refactor this -> options object filled from Factory
278
+ // TODO webpack 6: use an enum
279
+ /** @type {boolean} */
280
+ this.useSourceMap = false;
281
+ /** @type {boolean} */
282
+ this.useSimpleSourceMap = false;
283
+
284
+ // Is in hot context, i.e. HotModuleReplacementPlugin.js enabled
285
+ // TODO do we need hot here?
286
+ /** @type {boolean} */
287
+ this.hot = false;
288
+ // Info from Build
289
+ /** @type {WebpackError[] | undefined} */
290
+ this._warnings = undefined;
291
+ /** @type {WebpackError[] | undefined} */
292
+ this._errors = undefined;
293
+ /** @type {BuildMeta | undefined} */
294
+ this.buildMeta = undefined;
295
+ /** @type {BuildInfo | undefined} */
296
+ this.buildInfo = undefined;
297
+ /** @type {Dependency[] | undefined} */
298
+ this.presentationalDependencies = undefined;
299
+ /** @type {Dependency[] | undefined} */
300
+ this.codeGenerationDependencies = undefined;
301
+ }
302
+
303
+ // TODO remove in webpack 6
304
+ // BACKWARD-COMPAT START
305
+ /**
306
+ * @returns {ModuleId | null} module id
307
+ */
308
+ get id() {
309
+ return ChunkGraph.getChunkGraphForModule(
310
+ this,
311
+ "Module.id",
312
+ "DEP_WEBPACK_MODULE_ID"
313
+ ).getModuleId(this);
314
+ }
315
+
316
+ /**
317
+ * @param {ModuleId} value value
318
+ */
319
+ set id(value) {
320
+ if (value === "") {
321
+ this.needId = false;
322
+ return;
323
+ }
324
+ ChunkGraph.getChunkGraphForModule(
325
+ this,
326
+ "Module.id",
327
+ "DEP_WEBPACK_MODULE_ID"
328
+ ).setModuleId(this, value);
329
+ }
330
+
331
+ /**
332
+ * @returns {string} the hash of the module
333
+ */
334
+ get hash() {
335
+ return ChunkGraph.getChunkGraphForModule(
336
+ this,
337
+ "Module.hash",
338
+ "DEP_WEBPACK_MODULE_HASH"
339
+ ).getModuleHash(this, undefined);
340
+ }
341
+
342
+ /**
343
+ * @returns {string} the shortened hash of the module
344
+ */
345
+ get renderedHash() {
346
+ return ChunkGraph.getChunkGraphForModule(
347
+ this,
348
+ "Module.renderedHash",
349
+ "DEP_WEBPACK_MODULE_RENDERED_HASH"
350
+ ).getRenderedModuleHash(this, undefined);
351
+ }
352
+
353
+ get profile() {
354
+ return ModuleGraph.getModuleGraphForModule(
355
+ this,
356
+ "Module.profile",
357
+ "DEP_WEBPACK_MODULE_PROFILE"
358
+ ).getProfile(this);
359
+ }
360
+
361
+ set profile(value) {
362
+ ModuleGraph.getModuleGraphForModule(
363
+ this,
364
+ "Module.profile",
365
+ "DEP_WEBPACK_MODULE_PROFILE"
366
+ ).setProfile(this, value);
367
+ }
368
+
369
+ /**
370
+ * @returns {number | null} the pre order index
371
+ */
372
+ get index() {
373
+ return ModuleGraph.getModuleGraphForModule(
374
+ this,
375
+ "Module.index",
376
+ "DEP_WEBPACK_MODULE_INDEX"
377
+ ).getPreOrderIndex(this);
378
+ }
379
+
380
+ /**
381
+ * @param {number} value the pre order index
382
+ */
383
+ set index(value) {
384
+ ModuleGraph.getModuleGraphForModule(
385
+ this,
386
+ "Module.index",
387
+ "DEP_WEBPACK_MODULE_INDEX"
388
+ ).setPreOrderIndex(this, value);
389
+ }
390
+
391
+ /**
392
+ * @returns {number | null} the post order index
393
+ */
394
+ get index2() {
395
+ return ModuleGraph.getModuleGraphForModule(
396
+ this,
397
+ "Module.index2",
398
+ "DEP_WEBPACK_MODULE_INDEX2"
399
+ ).getPostOrderIndex(this);
400
+ }
401
+
402
+ /**
403
+ * @param {number} value the post order index
404
+ */
405
+ set index2(value) {
406
+ ModuleGraph.getModuleGraphForModule(
407
+ this,
408
+ "Module.index2",
409
+ "DEP_WEBPACK_MODULE_INDEX2"
410
+ ).setPostOrderIndex(this, value);
411
+ }
412
+
413
+ /**
414
+ * @returns {number | null} the depth
415
+ */
416
+ get depth() {
417
+ return ModuleGraph.getModuleGraphForModule(
418
+ this,
419
+ "Module.depth",
420
+ "DEP_WEBPACK_MODULE_DEPTH"
421
+ ).getDepth(this);
422
+ }
423
+
424
+ /**
425
+ * @param {number} value the depth
426
+ */
427
+ set depth(value) {
428
+ ModuleGraph.getModuleGraphForModule(
429
+ this,
430
+ "Module.depth",
431
+ "DEP_WEBPACK_MODULE_DEPTH"
432
+ ).setDepth(this, value);
433
+ }
434
+
435
+ /**
436
+ * @returns {Module | null | undefined} issuer
437
+ */
438
+ get issuer() {
439
+ return ModuleGraph.getModuleGraphForModule(
440
+ this,
441
+ "Module.issuer",
442
+ "DEP_WEBPACK_MODULE_ISSUER"
443
+ ).getIssuer(this);
444
+ }
445
+
446
+ /**
447
+ * @param {Module | null} value issuer
448
+ */
449
+ set issuer(value) {
450
+ ModuleGraph.getModuleGraphForModule(
451
+ this,
452
+ "Module.issuer",
453
+ "DEP_WEBPACK_MODULE_ISSUER"
454
+ ).setIssuer(this, value);
455
+ }
456
+
457
+ get usedExports() {
458
+ return ModuleGraph.getModuleGraphForModule(
459
+ this,
460
+ "Module.usedExports",
461
+ "DEP_WEBPACK_MODULE_USED_EXPORTS"
462
+ ).getUsedExports(this, undefined);
463
+ }
464
+
465
+ /**
466
+ * @deprecated
467
+ * @returns {OptimizationBailouts} list
468
+ */
469
+ get optimizationBailout() {
470
+ return ModuleGraph.getModuleGraphForModule(
471
+ this,
472
+ "Module.optimizationBailout",
473
+ "DEP_WEBPACK_MODULE_OPTIMIZATION_BAILOUT"
474
+ ).getOptimizationBailout(this);
475
+ }
476
+
477
+ get optional() {
478
+ return this.isOptional(
479
+ ModuleGraph.getModuleGraphForModule(
480
+ this,
481
+ "Module.optional",
482
+ "DEP_WEBPACK_MODULE_OPTIONAL"
483
+ )
484
+ );
485
+ }
486
+
487
+ /**
488
+ * @param {Chunk} chunk the chunk
489
+ * @returns {boolean} true, when the module was added
490
+ */
491
+ addChunk(chunk) {
492
+ const chunkGraph = ChunkGraph.getChunkGraphForModule(
493
+ this,
494
+ "Module.addChunk",
495
+ "DEP_WEBPACK_MODULE_ADD_CHUNK"
496
+ );
497
+ if (chunkGraph.isModuleInChunk(this, chunk)) return false;
498
+ chunkGraph.connectChunkAndModule(chunk, this);
499
+ return true;
500
+ }
501
+
502
+ /**
503
+ * @param {Chunk} chunk the chunk
504
+ * @returns {void}
505
+ */
506
+ removeChunk(chunk) {
507
+ return ChunkGraph.getChunkGraphForModule(
508
+ this,
509
+ "Module.removeChunk",
510
+ "DEP_WEBPACK_MODULE_REMOVE_CHUNK"
511
+ ).disconnectChunkAndModule(chunk, this);
512
+ }
513
+
514
+ /**
515
+ * @param {Chunk} chunk the chunk
516
+ * @returns {boolean} true, when the module is in the chunk
517
+ */
518
+ isInChunk(chunk) {
519
+ return ChunkGraph.getChunkGraphForModule(
520
+ this,
521
+ "Module.isInChunk",
522
+ "DEP_WEBPACK_MODULE_IS_IN_CHUNK"
523
+ ).isModuleInChunk(this, chunk);
524
+ }
525
+
526
+ isEntryModule() {
527
+ return ChunkGraph.getChunkGraphForModule(
528
+ this,
529
+ "Module.isEntryModule",
530
+ "DEP_WEBPACK_MODULE_IS_ENTRY_MODULE"
531
+ ).isEntryModule(this);
532
+ }
533
+
534
+ getChunks() {
535
+ return ChunkGraph.getChunkGraphForModule(
536
+ this,
537
+ "Module.getChunks",
538
+ "DEP_WEBPACK_MODULE_GET_CHUNKS"
539
+ ).getModuleChunks(this);
540
+ }
541
+
542
+ getNumberOfChunks() {
543
+ return ChunkGraph.getChunkGraphForModule(
544
+ this,
545
+ "Module.getNumberOfChunks",
546
+ "DEP_WEBPACK_MODULE_GET_NUMBER_OF_CHUNKS"
547
+ ).getNumberOfModuleChunks(this);
548
+ }
549
+
550
+ get chunksIterable() {
551
+ return ChunkGraph.getChunkGraphForModule(
552
+ this,
553
+ "Module.chunksIterable",
554
+ "DEP_WEBPACK_MODULE_CHUNKS_ITERABLE"
555
+ ).getOrderedModuleChunksIterable(this, compareChunksById);
556
+ }
557
+
558
+ /**
559
+ * @param {string} exportName a name of an export
560
+ * @returns {boolean | null} true, if the export is provided why the module.
561
+ * null, if it's unknown.
562
+ * false, if it's not provided.
563
+ */
564
+ isProvided(exportName) {
565
+ return ModuleGraph.getModuleGraphForModule(
566
+ this,
567
+ "Module.usedExports",
568
+ "DEP_WEBPACK_MODULE_USED_EXPORTS"
569
+ ).isExportProvided(this, exportName);
570
+ }
571
+ // BACKWARD-COMPAT END
572
+
573
+ /**
574
+ * @returns {string} name of the exports argument
575
+ */
576
+ get exportsArgument() {
577
+ return (this.buildInfo && this.buildInfo.exportsArgument) || "exports";
578
+ }
579
+
580
+ /**
581
+ * @returns {string} name of the module argument
582
+ */
583
+ get moduleArgument() {
584
+ return (this.buildInfo && this.buildInfo.moduleArgument) || "module";
585
+ }
586
+
587
+ /**
588
+ * @param {ModuleGraph} moduleGraph the module graph
589
+ * @param {boolean | undefined} strict the importing module is strict
590
+ * @returns {ExportsType} export type
591
+ * "namespace": Exports is already a namespace object. namespace = exports.
592
+ * "dynamic": Check at runtime if __esModule is set. When set: namespace = { ...exports, default: exports }. When not set: namespace = { default: exports }.
593
+ * "default-only": Provide a namespace object with only default export. namespace = { default: exports }
594
+ * "default-with-named": Provide a namespace object with named and default export. namespace = { ...exports, default: exports }
595
+ */
596
+ getExportsType(moduleGraph, strict) {
597
+ switch (this.buildMeta && this.buildMeta.exportsType) {
598
+ case "flagged":
599
+ return strict ? "default-with-named" : "namespace";
600
+ case "namespace":
601
+ return "namespace";
602
+ case "default":
603
+ switch (/** @type {BuildMeta} */ (this.buildMeta).defaultObject) {
604
+ case "redirect":
605
+ return "default-with-named";
606
+ case "redirect-warn":
607
+ return strict ? "default-only" : "default-with-named";
608
+ default:
609
+ return "default-only";
610
+ }
611
+ case "dynamic": {
612
+ if (strict) return "default-with-named";
613
+ // Try to figure out value of __esModule by following reexports
614
+ const handleDefault = () => {
615
+ switch (/** @type {BuildMeta} */ (this.buildMeta).defaultObject) {
616
+ case "redirect":
617
+ case "redirect-warn":
618
+ return "default-with-named";
619
+ default:
620
+ return "default-only";
621
+ }
622
+ };
623
+ const exportInfo = moduleGraph.getReadOnlyExportInfo(
624
+ this,
625
+ "__esModule"
626
+ );
627
+ if (exportInfo.provided === false) {
628
+ return handleDefault();
629
+ }
630
+ const target = exportInfo.getTarget(moduleGraph);
631
+ if (
632
+ !target ||
633
+ !target.export ||
634
+ target.export.length !== 1 ||
635
+ target.export[0] !== "__esModule"
636
+ ) {
637
+ return "dynamic";
638
+ }
639
+ switch (
640
+ target.module.buildMeta &&
641
+ target.module.buildMeta.exportsType
642
+ ) {
643
+ case "flagged":
644
+ case "namespace":
645
+ return "namespace";
646
+ case "default":
647
+ return handleDefault();
648
+ default:
649
+ return "dynamic";
650
+ }
651
+ }
652
+ default:
653
+ return strict ? "default-with-named" : "dynamic";
654
+ }
655
+ }
656
+
657
+ /**
658
+ * @param {Dependency} presentationalDependency dependency being tied to module.
659
+ * This is a Dependency without edge in the module graph. It's only for presentation.
660
+ * @returns {void}
661
+ */
662
+ addPresentationalDependency(presentationalDependency) {
663
+ if (this.presentationalDependencies === undefined) {
664
+ this.presentationalDependencies = [];
665
+ }
666
+ this.presentationalDependencies.push(presentationalDependency);
667
+ }
668
+
669
+ /**
670
+ * @param {Dependency} codeGenerationDependency dependency being tied to module.
671
+ * This is a Dependency where the code generation result of the referenced module is needed during code generation.
672
+ * The Dependency should also be added to normal dependencies via addDependency.
673
+ * @returns {void}
674
+ */
675
+ addCodeGenerationDependency(codeGenerationDependency) {
676
+ if (this.codeGenerationDependencies === undefined) {
677
+ this.codeGenerationDependencies = [];
678
+ }
679
+ this.codeGenerationDependencies.push(codeGenerationDependency);
680
+ }
681
+
682
+ /**
683
+ * Removes all dependencies and blocks
684
+ * @returns {void}
685
+ */
686
+ clearDependenciesAndBlocks() {
687
+ if (this.presentationalDependencies !== undefined) {
688
+ this.presentationalDependencies.length = 0;
689
+ }
690
+ if (this.codeGenerationDependencies !== undefined) {
691
+ this.codeGenerationDependencies.length = 0;
692
+ }
693
+ super.clearDependenciesAndBlocks();
694
+ }
695
+
696
+ /**
697
+ * @param {WebpackError} warning the warning
698
+ * @returns {void}
699
+ */
700
+ addWarning(warning) {
701
+ if (this._warnings === undefined) {
702
+ this._warnings = [];
703
+ }
704
+ this._warnings.push(warning);
705
+ }
706
+
707
+ /**
708
+ * @returns {Iterable<WebpackError> | undefined} list of warnings if any
709
+ */
710
+ getWarnings() {
711
+ return this._warnings;
712
+ }
713
+
714
+ /**
715
+ * @returns {number} number of warnings
716
+ */
717
+ getNumberOfWarnings() {
718
+ return this._warnings !== undefined ? this._warnings.length : 0;
719
+ }
720
+
721
+ /**
722
+ * @param {WebpackError} error the error
723
+ * @returns {void}
724
+ */
725
+ addError(error) {
726
+ if (this._errors === undefined) {
727
+ this._errors = [];
728
+ }
729
+ this._errors.push(error);
730
+ }
731
+
732
+ /**
733
+ * @returns {Iterable<WebpackError> | undefined} list of errors if any
734
+ */
735
+ getErrors() {
736
+ return this._errors;
737
+ }
738
+
739
+ /**
740
+ * @returns {number} number of errors
741
+ */
742
+ getNumberOfErrors() {
743
+ return this._errors !== undefined ? this._errors.length : 0;
744
+ }
745
+
746
+ /**
747
+ * removes all warnings and errors
748
+ * @returns {void}
749
+ */
750
+ clearWarningsAndErrors() {
751
+ if (this._warnings !== undefined) {
752
+ this._warnings.length = 0;
753
+ }
754
+ if (this._errors !== undefined) {
755
+ this._errors.length = 0;
756
+ }
757
+ }
758
+
759
+ /**
760
+ * @param {ModuleGraph} moduleGraph the module graph
761
+ * @returns {boolean} true, if the module is optional
762
+ */
763
+ isOptional(moduleGraph) {
764
+ let hasConnections = false;
765
+ for (const r of moduleGraph.getIncomingConnections(this)) {
766
+ if (
767
+ !r.dependency ||
768
+ !r.dependency.optional ||
769
+ !r.isTargetActive(undefined)
770
+ ) {
771
+ return false;
772
+ }
773
+ hasConnections = true;
774
+ }
775
+ return hasConnections;
776
+ }
777
+
778
+ /**
779
+ * @param {ChunkGraph} chunkGraph the chunk graph
780
+ * @param {Chunk} chunk a chunk
781
+ * @param {Chunk=} ignoreChunk chunk to be ignored
782
+ * @returns {boolean} true, if the module is accessible from "chunk" when ignoring "ignoreChunk"
783
+ */
784
+ isAccessibleInChunk(chunkGraph, chunk, ignoreChunk) {
785
+ // Check if module is accessible in ALL chunk groups
786
+ for (const chunkGroup of chunk.groupsIterable) {
787
+ if (!this.isAccessibleInChunkGroup(chunkGraph, chunkGroup)) return false;
788
+ }
789
+ return true;
790
+ }
791
+
792
+ /**
793
+ * @param {ChunkGraph} chunkGraph the chunk graph
794
+ * @param {ChunkGroup} chunkGroup a chunk group
795
+ * @param {Chunk=} ignoreChunk chunk to be ignored
796
+ * @returns {boolean} true, if the module is accessible from "chunkGroup" when ignoring "ignoreChunk"
797
+ */
798
+ isAccessibleInChunkGroup(chunkGraph, chunkGroup, ignoreChunk) {
799
+ const queue = new Set([chunkGroup]);
800
+
801
+ // Check if module is accessible from all items of the queue
802
+ queueFor: for (const cg of queue) {
803
+ // 1. If module is in one of the chunks of the group we can continue checking the next items
804
+ // because it's accessible.
805
+ for (const chunk of cg.chunks) {
806
+ if (chunk !== ignoreChunk && chunkGraph.isModuleInChunk(this, chunk)) {
807
+ continue queueFor;
808
+ }
809
+ }
810
+ // 2. If the chunk group is initial, we can break here because it's not accessible.
811
+ if (chunkGroup.isInitial()) return false;
812
+ // 3. Enqueue all parents because it must be accessible from ALL parents
813
+ for (const parent of chunkGroup.parentsIterable) queue.add(parent);
814
+ }
815
+ // When we processed through the whole list and we didn't bailout, the module is accessible
816
+ return true;
817
+ }
818
+
819
+ /**
820
+ * @param {Chunk} chunk a chunk
821
+ * @param {ModuleGraph} moduleGraph the module graph
822
+ * @param {ChunkGraph} chunkGraph the chunk graph
823
+ * @returns {boolean} true, if the module has any reason why "chunk" should be included
824
+ */
825
+ hasReasonForChunk(chunk, moduleGraph, chunkGraph) {
826
+ // check for each reason if we need the chunk
827
+ for (const [
828
+ fromModule,
829
+ connections
830
+ ] of moduleGraph.getIncomingConnectionsByOriginModule(this)) {
831
+ if (!connections.some((c) => c.isTargetActive(chunk.runtime))) continue;
832
+ for (const originChunk of chunkGraph.getModuleChunksIterable(
833
+ /** @type {Module} */ (fromModule)
834
+ )) {
835
+ // return true if module this is not reachable from originChunk when ignoring chunk
836
+ if (!this.isAccessibleInChunk(chunkGraph, originChunk, chunk)) {
837
+ return true;
838
+ }
839
+ }
840
+ }
841
+ return false;
842
+ }
843
+
844
+ /**
845
+ * @param {ModuleGraph} moduleGraph the module graph
846
+ * @param {RuntimeSpec} runtime the runtime
847
+ * @returns {boolean} true if at least one other module depends on this module
848
+ */
849
+ hasReasons(moduleGraph, runtime) {
850
+ for (const c of moduleGraph.getIncomingConnections(this)) {
851
+ if (c.isTargetActive(runtime)) return true;
852
+ }
853
+ return false;
854
+ }
855
+
856
+ /**
857
+ * @returns {string} for debugging
858
+ */
859
+ toString() {
860
+ return `Module[${this.debugId}: ${this.identifier()}]`;
861
+ }
862
+
863
+ /**
864
+ * @param {NeedBuildContext} context context info
865
+ * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
866
+ * @returns {void}
867
+ */
868
+ needBuild(context, callback) {
869
+ callback(
870
+ null,
871
+ !this.buildMeta ||
872
+ this.needRebuild === Module.prototype.needRebuild ||
873
+ deprecatedNeedRebuild(this, context)
874
+ );
875
+ }
876
+
877
+ /**
878
+ * @deprecated Use needBuild instead
879
+ * @param {Map<string, number | null>} fileTimestamps timestamps of files
880
+ * @param {Map<string, number | null>} contextTimestamps timestamps of directories
881
+ * @returns {boolean} true, if the module needs a rebuild
882
+ */
883
+ needRebuild(fileTimestamps, contextTimestamps) {
884
+ return true;
885
+ }
886
+
887
+ /**
888
+ * @param {Hash} hash the hash used to track dependencies
889
+ * @param {UpdateHashContext} context context
890
+ * @returns {void}
891
+ */
892
+ updateHash(
893
+ hash,
894
+ context = {
895
+ chunkGraph: ChunkGraph.getChunkGraphForModule(
896
+ this,
897
+ "Module.updateHash",
898
+ "DEP_WEBPACK_MODULE_UPDATE_HASH"
899
+ ),
900
+ runtime: undefined
901
+ }
902
+ ) {
903
+ const { chunkGraph, runtime } = context;
904
+ hash.update(chunkGraph.getModuleGraphHash(this, runtime));
905
+ if (this.presentationalDependencies !== undefined) {
906
+ for (const dep of this.presentationalDependencies) {
907
+ dep.updateHash(hash, context);
908
+ }
909
+ }
910
+ super.updateHash(hash, context);
911
+ }
912
+
913
+ /**
914
+ * @returns {void}
915
+ */
916
+ invalidateBuild() {
917
+ // should be overridden to support this feature
918
+ }
919
+
920
+ /* istanbul ignore next */
921
+ /**
922
+ * @abstract
923
+ * @returns {string} a unique identifier of the module
924
+ */
925
+ identifier() {
926
+ const AbstractMethodError = require("./AbstractMethodError");
927
+
928
+ throw new AbstractMethodError();
929
+ }
930
+
931
+ /* istanbul ignore next */
932
+ /**
933
+ * @abstract
934
+ * @param {RequestShortener} requestShortener the request shortener
935
+ * @returns {string} a user readable identifier of the module
936
+ */
937
+ readableIdentifier(requestShortener) {
938
+ const AbstractMethodError = require("./AbstractMethodError");
939
+
940
+ throw new AbstractMethodError();
941
+ }
942
+
943
+ /* istanbul ignore next */
944
+ /**
945
+ * @abstract
946
+ * @param {WebpackOptions} options webpack options
947
+ * @param {Compilation} compilation the compilation
948
+ * @param {ResolverWithOptions} resolver the resolver
949
+ * @param {InputFileSystem} fs the file system
950
+ * @param {BuildCallback} callback callback function
951
+ * @returns {void}
952
+ */
953
+ build(options, compilation, resolver, fs, callback) {
954
+ const AbstractMethodError = require("./AbstractMethodError");
955
+
956
+ throw new AbstractMethodError();
957
+ }
958
+
959
+ /**
960
+ * @abstract
961
+ * @returns {SourceTypes} types available (do not mutate)
962
+ */
963
+ getSourceTypes() {
964
+ // Better override this method to return the correct types
965
+ if (this.source === Module.prototype.source) {
966
+ return DEFAULT_TYPES_UNKNOWN;
967
+ }
968
+ return JAVASCRIPT_TYPES;
969
+ }
970
+
971
+ /**
972
+ * Basic source types are high-level categories like javascript, css, webassembly, etc.
973
+ * We only have built-in knowledge about the javascript basic type here; other basic types may be
974
+ * added or changed over time by generators and do not need to be handled or detected here.
975
+ *
976
+ * Some modules, e.g. RemoteModule, may return non-basic source types like "remote" and "share-init"
977
+ * from getSourceTypes(), but their generated output is still JavaScript, i.e. their basic type is JS.
978
+ * @returns {BasicSourceTypes} types available (do not mutate)
979
+ */
980
+ getSourceBasicTypes() {
981
+ return this.getSourceTypes();
982
+ }
983
+
984
+ /**
985
+ * @abstract
986
+ * @deprecated Use codeGeneration() instead
987
+ * @param {DependencyTemplates} dependencyTemplates the dependency templates
988
+ * @param {RuntimeTemplate} runtimeTemplate the runtime template
989
+ * @param {SourceType=} type the type of source that should be generated
990
+ * @returns {Source} generated source
991
+ */
992
+ source(dependencyTemplates, runtimeTemplate, type = JAVASCRIPT_TYPE) {
993
+ if (this.codeGeneration === Module.prototype.codeGeneration) {
994
+ const AbstractMethodError = require("./AbstractMethodError");
995
+
996
+ throw new AbstractMethodError();
997
+ }
998
+ const chunkGraph = ChunkGraph.getChunkGraphForModule(
999
+ this,
1000
+ "Module.source() is deprecated. Use Compilation.codeGenerationResults.getSource(module, runtime, type) instead",
1001
+ "DEP_WEBPACK_MODULE_SOURCE"
1002
+ );
1003
+ /** @type {CodeGenerationContext} */
1004
+ const codeGenContext = {
1005
+ dependencyTemplates,
1006
+ runtimeTemplate,
1007
+ moduleGraph: chunkGraph.moduleGraph,
1008
+ chunkGraph,
1009
+ runtime: undefined,
1010
+ runtimes: [],
1011
+ codeGenerationResults: undefined
1012
+ };
1013
+ const sources = this.codeGeneration(codeGenContext).sources;
1014
+
1015
+ return /** @type {Source} */ (
1016
+ type
1017
+ ? sources.get(type)
1018
+ : sources.get(/** @type {SourceType} */ (first(this.getSourceTypes())))
1019
+ );
1020
+ }
1021
+
1022
+ /* istanbul ignore next */
1023
+ /**
1024
+ * @abstract
1025
+ * @param {string=} type the source type for which the size should be estimated
1026
+ * @returns {number} the estimated size of the module (must be non-zero)
1027
+ */
1028
+ size(type) {
1029
+ const AbstractMethodError = require("./AbstractMethodError");
1030
+
1031
+ throw new AbstractMethodError();
1032
+ }
1033
+
1034
+ /**
1035
+ * @param {LibIdentOptions} options options
1036
+ * @returns {LibIdent | null} an identifier for library inclusion
1037
+ */
1038
+ libIdent(options) {
1039
+ return null;
1040
+ }
1041
+
1042
+ /**
1043
+ * @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
1044
+ */
1045
+ nameForCondition() {
1046
+ return null;
1047
+ }
1048
+
1049
+ /**
1050
+ * @param {ConcatenationBailoutReasonContext} context context
1051
+ * @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
1052
+ */
1053
+ getConcatenationBailoutReason(context) {
1054
+ return `Module Concatenation is not implemented for ${this.constructor.name}`;
1055
+ }
1056
+
1057
+ /**
1058
+ * @param {ModuleGraph} moduleGraph the module graph
1059
+ * @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
1060
+ */
1061
+ getSideEffectsConnectionState(moduleGraph) {
1062
+ return true;
1063
+ }
1064
+
1065
+ /**
1066
+ * @param {CodeGenerationContext} context context for code generation
1067
+ * @returns {CodeGenerationResult} result
1068
+ */
1069
+ codeGeneration(context) {
1070
+ // Best override this method
1071
+ /** @type {Sources} */
1072
+ const sources = new Map();
1073
+ for (const type of this.getSourceTypes()) {
1074
+ if (type !== UNKNOWN_TYPE) {
1075
+ sources.set(
1076
+ type,
1077
+ this.source(
1078
+ context.dependencyTemplates,
1079
+ context.runtimeTemplate,
1080
+ type
1081
+ )
1082
+ );
1083
+ }
1084
+ }
1085
+ return {
1086
+ sources,
1087
+ runtimeRequirements: new Set([
1088
+ RuntimeGlobals.module,
1089
+ RuntimeGlobals.exports,
1090
+ RuntimeGlobals.require
1091
+ ])
1092
+ };
1093
+ }
1094
+
1095
+ /**
1096
+ * @param {Chunk} chunk the chunk which condition should be checked
1097
+ * @param {Compilation} compilation the compilation
1098
+ * @returns {boolean} true, if the chunk is ok for the module
1099
+ */
1100
+ chunkCondition(chunk, compilation) {
1101
+ return true;
1102
+ }
1103
+
1104
+ hasChunkCondition() {
1105
+ return this.chunkCondition !== Module.prototype.chunkCondition;
1106
+ }
1107
+
1108
+ /**
1109
+ * Assuming this module is in the cache. Update the (cached) module with
1110
+ * the fresh module from the factory. Usually updates internal references
1111
+ * and properties.
1112
+ * @param {Module} module fresh module
1113
+ * @returns {void}
1114
+ */
1115
+ updateCacheModule(module) {
1116
+ this.type = module.type;
1117
+ this.layer = module.layer;
1118
+ this.context = module.context;
1119
+ this.factoryMeta = module.factoryMeta;
1120
+ this.resolveOptions = module.resolveOptions;
1121
+ }
1122
+
1123
+ /**
1124
+ * Module should be unsafe cached. Get data that's needed for that.
1125
+ * This data will be passed to restoreFromUnsafeCache later.
1126
+ * @returns {UnsafeCacheData} cached data
1127
+ */
1128
+ getUnsafeCacheData() {
1129
+ return {
1130
+ factoryMeta: this.factoryMeta,
1131
+ resolveOptions: this.resolveOptions
1132
+ };
1133
+ }
1134
+
1135
+ /**
1136
+ * restore unsafe cache data
1137
+ * @param {UnsafeCacheData} unsafeCacheData data from getUnsafeCacheData
1138
+ * @param {NormalModuleFactory} normalModuleFactory the normal module factory handling the unsafe caching
1139
+ */
1140
+ _restoreFromUnsafeCache(unsafeCacheData, normalModuleFactory) {
1141
+ this.factoryMeta = unsafeCacheData.factoryMeta;
1142
+ this.resolveOptions = unsafeCacheData.resolveOptions;
1143
+ }
1144
+
1145
+ /**
1146
+ * Assuming this module is in the cache. Remove internal references to allow freeing some memory.
1147
+ */
1148
+ cleanupForCache() {
1149
+ this.factoryMeta = undefined;
1150
+ this.resolveOptions = undefined;
1151
+ }
1152
+
1153
+ /**
1154
+ * @returns {Source | null} the original source for the module before webpack transformation
1155
+ */
1156
+ originalSource() {
1157
+ return null;
1158
+ }
1159
+
1160
+ /**
1161
+ * @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
1162
+ * @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
1163
+ * @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
1164
+ * @param {FileSystemDependencies} buildDependencies set where build dependencies are added to
1165
+ */
1166
+ addCacheDependencies(
1167
+ fileDependencies,
1168
+ contextDependencies,
1169
+ missingDependencies,
1170
+ buildDependencies
1171
+ ) {}
1172
+
1173
+ /**
1174
+ * @param {ObjectSerializerContext} context context
1175
+ */
1176
+ serialize(context) {
1177
+ const { write } = context;
1178
+ write(this.type);
1179
+ write(this.layer);
1180
+ write(this.context);
1181
+ write(this.resolveOptions);
1182
+ write(this.factoryMeta);
1183
+ write(this.useSourceMap);
1184
+ write(this.useSimpleSourceMap);
1185
+ write(this.hot);
1186
+ write(
1187
+ this._warnings !== undefined && this._warnings.length === 0
1188
+ ? undefined
1189
+ : this._warnings
1190
+ );
1191
+ write(
1192
+ this._errors !== undefined && this._errors.length === 0
1193
+ ? undefined
1194
+ : this._errors
1195
+ );
1196
+ write(this.buildMeta);
1197
+ write(this.buildInfo);
1198
+ write(this.presentationalDependencies);
1199
+ write(this.codeGenerationDependencies);
1200
+ super.serialize(context);
1201
+ }
1202
+
1203
+ /**
1204
+ * @param {ObjectDeserializerContext} context context
1205
+ */
1206
+ deserialize(context) {
1207
+ const { read } = context;
1208
+ this.type = read();
1209
+ this.layer = read();
1210
+ this.context = read();
1211
+ this.resolveOptions = read();
1212
+ this.factoryMeta = read();
1213
+ this.useSourceMap = read();
1214
+ this.useSimpleSourceMap = read();
1215
+ this.hot = read();
1216
+ this._warnings = read();
1217
+ this._errors = read();
1218
+ this.buildMeta = read();
1219
+ this.buildInfo = read();
1220
+ this.presentationalDependencies = read();
1221
+ this.codeGenerationDependencies = read();
1222
+ super.deserialize(context);
1223
+ }
1224
+ }
1225
+
1226
+ makeSerializable(Module, "webpack/lib/Module");
1227
+
1228
+ // TODO remove in webpack 6
1229
+ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
1230
+ /**
1231
+ * @deprecated
1232
+ * @returns {EXPECTED_ANY} throw an error
1233
+ */
1234
+ get() {
1235
+ throw new Error(
1236
+ "Module.hasEqualsChunks was renamed (use hasEqualChunks instead)"
1237
+ );
1238
+ }
1239
+ });
1240
+
1241
+ // TODO remove in webpack 6
1242
+ Object.defineProperty(Module.prototype, "isUsed", {
1243
+ /**
1244
+ * @deprecated
1245
+ * @returns {EXPECTED_ANY} throw an error
1246
+ */
1247
+ get() {
1248
+ throw new Error(
1249
+ "Module.isUsed was renamed (use getUsedName, isExportUsed or isModuleUsed instead)"
1250
+ );
1251
+ }
1252
+ });
1253
+
1254
+ // TODO remove in webpack 6
1255
+ Object.defineProperty(Module.prototype, "errors", {
1256
+ /**
1257
+ * @deprecated
1258
+ * @returns {WebpackError[]} errors
1259
+ */
1260
+ get: util.deprecate(
1261
+ /**
1262
+ * @this {Module}
1263
+ * @returns {WebpackError[]} errors
1264
+ */
1265
+ function errors() {
1266
+ if (this._errors === undefined) {
1267
+ this._errors = [];
1268
+ }
1269
+ return this._errors;
1270
+ },
1271
+ "Module.errors was removed (use getErrors instead)",
1272
+ "DEP_WEBPACK_MODULE_ERRORS"
1273
+ )
1274
+ });
1275
+
1276
+ // TODO remove in webpack 6
1277
+ Object.defineProperty(Module.prototype, "warnings", {
1278
+ /**
1279
+ * @deprecated
1280
+ * @returns {WebpackError[]} warnings
1281
+ */
1282
+ get: util.deprecate(
1283
+ /**
1284
+ * @this {Module}
1285
+ * @returns {WebpackError[]} warnings
1286
+ */
1287
+ function warnings() {
1288
+ if (this._warnings === undefined) {
1289
+ this._warnings = [];
1290
+ }
1291
+ return this._warnings;
1292
+ },
1293
+ "Module.warnings was removed (use getWarnings instead)",
1294
+ "DEP_WEBPACK_MODULE_WARNINGS"
1295
+ )
1296
+ });
1297
+
1298
+ // TODO remove in webpack 6
1299
+ Object.defineProperty(Module.prototype, "used", {
1300
+ /**
1301
+ * @deprecated
1302
+ * @returns {EXPECTED_ANY} throw an error
1303
+ */
1304
+ get() {
1305
+ throw new Error(
1306
+ "Module.used was refactored (use ModuleGraph.getUsedExports instead)"
1307
+ );
1308
+ },
1309
+ /**
1310
+ * @param {EXPECTED_ANY} value value
1311
+ */
1312
+ set(value) {
1313
+ throw new Error(
1314
+ "Module.used was refactored (use ModuleGraph.setUsedExports instead)"
1315
+ );
1316
+ }
1317
+ });
1318
+
1319
+ module.exports = Module;