@depup/webpack 5.106.0-depup.0 → 5.109.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/README.md +9 -11
  2. package/changes.json +16 -24
  3. package/hot/dev-server.js +2 -0
  4. package/lib/APIPlugin.js +60 -35
  5. package/lib/AsyncDependenciesBlock.js +3 -0
  6. package/lib/AutomaticPrefetchPlugin.js +6 -1
  7. package/lib/BannerPlugin.js +13 -5
  8. package/lib/Cache.js +27 -5
  9. package/lib/CacheFacade.js +41 -0
  10. package/lib/Chunk.js +71 -25
  11. package/lib/ChunkGraph.js +141 -9
  12. package/lib/ChunkGroup.js +115 -28
  13. package/lib/ChunkTemplate.js +9 -0
  14. package/lib/CircularModulesPlugin.js +190 -0
  15. package/lib/CleanPlugin.js +23 -26
  16. package/lib/CodeGenerationResults.js +19 -0
  17. package/lib/CompatibilityPlugin.js +54 -37
  18. package/lib/Compilation.js +635 -107
  19. package/lib/Compiler.js +93 -31
  20. package/lib/ConcatenationScope.js +34 -4
  21. package/lib/ConditionalInitFragment.js +6 -0
  22. package/lib/ConstPlugin.js +15 -12
  23. package/lib/ContextExclusionPlugin.js +3 -1
  24. package/lib/ContextModule.js +345 -55
  25. package/lib/ContextModuleFactory.js +193 -51
  26. package/lib/ContextReplacementPlugin.js +8 -1
  27. package/lib/DefinePlugin.js +498 -127
  28. package/lib/DependenciesBlock.js +6 -1
  29. package/lib/Dependency.js +159 -11
  30. package/lib/DependencyTemplate.js +7 -1
  31. package/lib/DependencyTemplates.js +4 -0
  32. package/lib/DotenvPlugin.js +3 -0
  33. package/lib/DynamicEntryPlugin.js +3 -1
  34. package/lib/EntryOptionPlugin.js +42 -2
  35. package/lib/EntryPlugin.js +4 -1
  36. package/lib/Entrypoint.js +5 -1
  37. package/lib/EnvironmentPlugin.js +3 -2
  38. package/lib/ErrorHelpers.js +7 -0
  39. package/lib/EvalDevToolModulePlugin.js +3 -1
  40. package/lib/EvalSourceMapDevToolPlugin.js +11 -11
  41. package/lib/ExportsInfo.js +399 -108
  42. package/lib/ExportsInfoApiPlugin.js +4 -3
  43. package/lib/ExternalModule.js +376 -78
  44. package/lib/ExternalModuleFactoryPlugin.js +75 -3
  45. package/lib/ExternalsPlugin.js +3 -1
  46. package/lib/FileSystemInfo.js +575 -149
  47. package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
  48. package/lib/FlagDependencyExportsPlugin.js +82 -9
  49. package/lib/FlagDependencyUsagePlugin.js +92 -6
  50. package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
  51. package/lib/Generator.js +24 -3
  52. package/lib/HotModuleReplacementPlugin.js +110 -44
  53. package/lib/IgnorePlugin.js +5 -2
  54. package/lib/IgnoreWarningsPlugin.js +2 -1
  55. package/lib/InitFragment.js +15 -0
  56. package/lib/JavascriptMetaInfoPlugin.js +9 -6
  57. package/lib/LazyBarrel.js +389 -0
  58. package/lib/LibraryTemplatePlugin.js +2 -1
  59. package/lib/LoaderOptionsPlugin.js +3 -1
  60. package/lib/LoaderTargetPlugin.js +3 -1
  61. package/lib/MainTemplate.js +15 -0
  62. package/lib/ManifestPlugin.js +9 -2
  63. package/lib/Module.js +121 -60
  64. package/lib/ModuleFactory.js +6 -1
  65. package/lib/ModuleFilenameHelpers.js +5 -2
  66. package/lib/ModuleGraph.js +69 -2
  67. package/lib/ModuleGraphConnection.js +9 -0
  68. package/lib/ModuleInfoHeaderPlugin.js +5 -0
  69. package/lib/ModuleNotFoundError.js +3 -83
  70. package/lib/ModuleProfile.js +27 -1
  71. package/lib/ModuleSourceTypeConstants.js +52 -19
  72. package/lib/ModuleTemplate.js +10 -0
  73. package/lib/ModuleTypeConstants.js +20 -4
  74. package/lib/MultiCompiler.js +59 -4
  75. package/lib/MultiStats.js +9 -0
  76. package/lib/MultiWatching.js +6 -0
  77. package/lib/NoEmitOnErrorsPlugin.js +1 -1
  78. package/lib/NodeStuffPlugin.js +78 -46
  79. package/lib/NormalModule.js +485 -181
  80. package/lib/NormalModuleFactory.js +148 -29
  81. package/lib/NormalModuleReplacementPlugin.js +3 -1
  82. package/lib/NullFactory.js +1 -0
  83. package/lib/OptionsApply.js +1 -0
  84. package/lib/Parser.js +3 -1
  85. package/lib/PlatformPlugin.js +2 -1
  86. package/lib/PrefetchPlugin.js +4 -1
  87. package/lib/ProgressPlugin.js +351 -161
  88. package/lib/ProvidePlugin.js +6 -3
  89. package/lib/RawModule.js +32 -16
  90. package/lib/RecordIdsPlugin.js +9 -0
  91. package/lib/RequestShortener.js +8 -0
  92. package/lib/ResolverFactory.js +5 -0
  93. package/lib/RuntimeGlobals.js +58 -5
  94. package/lib/RuntimeModule.js +22 -7
  95. package/lib/RuntimePlugin.js +104 -26
  96. package/lib/RuntimeTemplate.js +616 -37
  97. package/lib/SelfModuleFactory.js +3 -0
  98. package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
  99. package/lib/SourceMapDevToolPlugin.js +341 -63
  100. package/lib/Stats.js +6 -0
  101. package/lib/Template.js +29 -3
  102. package/lib/TemplatedPathPlugin.js +505 -138
  103. package/lib/UseStrictPlugin.js +3 -2
  104. package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
  105. package/lib/WarnDeprecatedOptionPlugin.js +6 -2
  106. package/lib/WarnNoModeSetPlugin.js +18 -2
  107. package/lib/WatchIgnorePlugin.js +5 -1
  108. package/lib/Watching.js +25 -3
  109. package/lib/WebpackError.js +3 -74
  110. package/lib/WebpackIsIncludedPlugin.js +4 -2
  111. package/lib/WebpackOptionsApply.js +88 -25
  112. package/lib/WebpackOptionsDefaulter.js +1 -0
  113. package/lib/asset/AssetBytesGenerator.js +28 -10
  114. package/lib/asset/AssetBytesParser.js +1 -0
  115. package/lib/asset/AssetGenerator.js +199 -60
  116. package/lib/asset/AssetModule.js +47 -0
  117. package/lib/asset/AssetModulesPlugin.js +115 -24
  118. package/lib/asset/AssetParser.js +4 -2
  119. package/lib/asset/AssetSourceGenerator.js +26 -8
  120. package/lib/asset/AssetSourceParser.js +1 -0
  121. package/lib/asset/RawDataUrlModule.js +23 -13
  122. package/lib/asset/WebManifestGenerator.js +164 -0
  123. package/lib/asset/WebManifestParser.js +130 -0
  124. package/lib/async-modules/AsyncModuleHelpers.js +1 -0
  125. package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
  126. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  127. package/lib/async-modules/isGeneratorLowered.js +26 -0
  128. package/lib/buildChunkGraph.js +107 -15
  129. package/lib/bun/BunTargetPlugin.js +42 -0
  130. package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
  131. package/lib/cache/AddManagedPathsPlugin.js +5 -1
  132. package/lib/cache/IdleFileCachePlugin.js +6 -1
  133. package/lib/cache/MemoryCachePlugin.js +1 -1
  134. package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
  135. package/lib/cache/PackFileCacheStrategy.js +43 -7
  136. package/lib/cache/ResolverCachePlugin.js +12 -1
  137. package/lib/cache/getLazyHashedEtag.js +13 -2
  138. package/lib/cache/mergeEtags.js +4 -0
  139. package/lib/cli.js +142 -20
  140. package/lib/config/browserslistTargetHandler.js +141 -0
  141. package/lib/config/defaults.js +591 -41
  142. package/lib/config/defineConfig.js +31 -0
  143. package/lib/config/normalization.js +46 -1
  144. package/lib/config/target.js +200 -2
  145. package/lib/container/ContainerEntryDependency.js +2 -0
  146. package/lib/container/ContainerEntryModule.js +27 -14
  147. package/lib/container/ContainerEntryModuleFactory.js +1 -0
  148. package/lib/container/ContainerExposedDependency.js +6 -2
  149. package/lib/container/ContainerPlugin.js +2 -1
  150. package/lib/container/ContainerReferencePlugin.js +3 -2
  151. package/lib/container/FallbackDependency.js +9 -7
  152. package/lib/container/FallbackItemDependency.js +1 -0
  153. package/lib/container/FallbackModule.js +22 -9
  154. package/lib/container/FallbackModuleFactory.js +1 -0
  155. package/lib/container/ModuleFederationPlugin.js +12 -26
  156. package/lib/container/RemoteModule.js +33 -10
  157. package/lib/container/RemoteRuntimeModule.js +15 -12
  158. package/lib/container/RemoteToExternalDependency.js +1 -0
  159. package/lib/container/options.js +7 -0
  160. package/lib/css/CssGenerator.js +534 -272
  161. package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
  162. package/lib/css/CssLoadingRuntimeModule.js +156 -77
  163. package/lib/{CssModule.js → css/CssModule.js} +72 -37
  164. package/lib/css/CssModulesPlugin.js +356 -204
  165. package/lib/css/CssParser.js +3452 -1950
  166. package/lib/css/syntax.js +4058 -0
  167. package/lib/debug/ProfilingPlugin.js +33 -2
  168. package/lib/deno/DenoTargetPlugin.js +41 -0
  169. package/lib/dependencies/AMDDefineDependency.js +29 -17
  170. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
  171. package/lib/dependencies/AMDPlugin.js +6 -3
  172. package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
  173. package/lib/dependencies/AMDRequireContextDependency.js +10 -11
  174. package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
  175. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
  176. package/lib/dependencies/AMDRequireDependency.js +28 -20
  177. package/lib/dependencies/AMDRequireItemDependency.js +1 -0
  178. package/lib/dependencies/AMDRuntimeModules.js +3 -0
  179. package/lib/dependencies/CachedConstDependency.js +9 -1
  180. package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
  181. package/lib/dependencies/CommonJsExportRequireDependency.js +138 -38
  182. package/lib/dependencies/CommonJsExportsDependency.js +74 -20
  183. package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
  184. package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
  185. package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -24
  186. package/lib/dependencies/CommonJsPlugin.js +7 -4
  187. package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
  188. package/lib/dependencies/CommonJsRequireDependency.js +135 -13
  189. package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
  190. package/lib/dependencies/ConstDependency.js +22 -12
  191. package/lib/dependencies/ContextDependency.js +13 -2
  192. package/lib/dependencies/ContextDependencyHelpers.js +7 -4
  193. package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
  194. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
  195. package/lib/dependencies/ContextElementDependency.js +27 -14
  196. package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
  197. package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
  198. package/lib/dependencies/CriticalDependencyWarning.js +3 -1
  199. package/lib/dependencies/CssIcssExportDependency.js +682 -368
  200. package/lib/dependencies/CssIcssImportDependency.js +62 -17
  201. package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
  202. package/lib/dependencies/CssImportDependency.js +37 -1
  203. package/lib/dependencies/CssUrlDependency.js +87 -14
  204. package/lib/dependencies/DelegatedSourceDependency.js +1 -0
  205. package/lib/dependencies/DllEntryDependency.js +12 -13
  206. package/lib/dependencies/DynamicExports.js +5 -0
  207. package/lib/dependencies/EntryDependency.js +1 -0
  208. package/lib/dependencies/ExportBindingInitFragment.js +164 -0
  209. package/lib/dependencies/ExportsInfoDependency.js +18 -12
  210. package/lib/dependencies/ExternalModuleDependency.js +13 -5
  211. package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
  212. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
  213. package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
  214. package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
  215. package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
  216. package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
  217. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -2
  218. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
  219. package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
  220. package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
  221. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
  222. package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
  223. package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
  224. package/lib/dependencies/HarmonyExports.js +6 -1
  225. package/lib/dependencies/HarmonyImportDependency.js +59 -3
  226. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
  227. package/lib/dependencies/HarmonyImportGuard.js +426 -0
  228. package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
  229. package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
  230. package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
  231. package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
  232. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
  233. package/lib/dependencies/HtmlEntryDependency.js +1295 -0
  234. package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
  235. package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
  236. package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
  237. package/lib/dependencies/HtmlSourceDependency.js +172 -0
  238. package/lib/dependencies/ImportContextDependency.js +9 -9
  239. package/lib/dependencies/ImportDependency.js +92 -3
  240. package/lib/dependencies/ImportEagerDependency.js +2 -0
  241. package/lib/dependencies/ImportMetaContextDependency.js +1 -0
  242. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
  243. package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
  244. package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
  245. package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
  246. package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
  247. package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
  248. package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
  249. package/lib/dependencies/ImportMetaPlugin.js +595 -209
  250. package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
  251. package/lib/dependencies/ImportParserPlugin.js +114 -27
  252. package/lib/dependencies/ImportPhase.js +17 -11
  253. package/lib/dependencies/ImportPlugin.js +2 -1
  254. package/lib/dependencies/ImportWeakDependency.js +3 -0
  255. package/lib/dependencies/JsonExportsDependency.js +15 -10
  256. package/lib/dependencies/LoaderDependency.js +2 -0
  257. package/lib/dependencies/LoaderImportDependency.js +3 -0
  258. package/lib/dependencies/LoaderPlugin.js +9 -2
  259. package/lib/dependencies/LocalModule.js +15 -12
  260. package/lib/dependencies/LocalModuleDependency.js +15 -13
  261. package/lib/dependencies/LocalModulesHelpers.js +3 -0
  262. package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
  263. package/lib/dependencies/ModuleDependency.js +14 -0
  264. package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
  265. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  266. package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
  267. package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
  268. package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
  269. package/lib/dependencies/NullDependency.js +2 -0
  270. package/lib/dependencies/PrefetchDependency.js +1 -0
  271. package/lib/dependencies/ProvidedDependency.js +36 -27
  272. package/lib/dependencies/PureExpressionDependency.js +14 -10
  273. package/lib/dependencies/RequireContextDependency.js +1 -0
  274. package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
  275. package/lib/dependencies/RequireContextPlugin.js +2 -1
  276. package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
  277. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
  278. package/lib/dependencies/RequireEnsureDependency.js +16 -13
  279. package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
  280. package/lib/dependencies/RequireEnsurePlugin.js +2 -1
  281. package/lib/dependencies/RequireHeaderDependency.js +7 -4
  282. package/lib/dependencies/RequireIncludeDependency.js +2 -0
  283. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
  284. package/lib/dependencies/RequireIncludePlugin.js +2 -1
  285. package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
  286. package/lib/dependencies/RequireResolveContextDependency.js +10 -11
  287. package/lib/dependencies/RequireResolveDependency.js +2 -0
  288. package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
  289. package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
  290. package/lib/dependencies/StaticExportsDependency.js +13 -10
  291. package/lib/dependencies/SystemPlugin.js +9 -6
  292. package/lib/dependencies/SystemRuntimeModule.js +1 -0
  293. package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
  294. package/lib/dependencies/URLContextDependency.js +8 -7
  295. package/lib/dependencies/URLDependency.js +157 -33
  296. package/lib/dependencies/URLPlugin.js +2 -0
  297. package/lib/dependencies/UnsupportedDependency.js +12 -13
  298. package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
  299. package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
  300. package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
  301. package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
  302. package/lib/dependencies/WorkerDependency.js +111 -27
  303. package/lib/dependencies/WorkletDependency.js +278 -0
  304. package/lib/dependencies/getFunctionExpression.js +1 -0
  305. package/lib/dependencies/processExportInfo.js +14 -11
  306. package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
  307. package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
  308. package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
  309. package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
  310. package/lib/{DllModule.js → dll/DllModule.js} +36 -24
  311. package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
  312. package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
  313. package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
  314. package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
  315. package/lib/electron/ElectronTargetPlugin.js +24 -5
  316. package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
  317. package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
  318. package/lib/errors/BuildCycleError.js +1 -1
  319. package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
  320. package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
  321. package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
  322. package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
  323. package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
  324. package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
  325. package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
  326. package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
  327. package/lib/errors/JSONParseError.js +115 -0
  328. package/lib/errors/LoaderLoadingError.js +20 -0
  329. package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
  330. package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
  331. package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
  332. package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
  333. package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
  334. package/lib/errors/ModuleNotFoundError.js +94 -0
  335. package/lib/errors/ModuleParseError.js +141 -0
  336. package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
  337. package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
  338. package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
  339. package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
  340. package/lib/errors/NonErrorEmittedError.js +30 -0
  341. package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
  342. package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
  343. package/lib/errors/WebpackError.js +84 -0
  344. package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
  345. package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
  346. package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
  347. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +71 -49
  348. package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
  349. package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
  350. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
  351. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
  352. package/lib/hmr/LazyCompilationPlugin.js +154 -7
  353. package/lib/hmr/lazyCompilationBackend.js +34 -8
  354. package/lib/html/HtmlGenerator.js +1470 -0
  355. package/lib/html/HtmlModule.js +41 -0
  356. package/lib/html/HtmlModulesPlugin.js +1111 -0
  357. package/lib/html/HtmlParser.js +1970 -0
  358. package/lib/html/favicon.svg +1 -0
  359. package/lib/html/syntax.js +9020 -0
  360. package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
  361. package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
  362. package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
  363. package/lib/ids/HashedModuleIdsPlugin.js +2 -1
  364. package/lib/ids/IdHelpers.js +25 -2
  365. package/lib/ids/NamedChunkIdsPlugin.js +3 -1
  366. package/lib/ids/NamedModuleIdsPlugin.js +3 -1
  367. package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
  368. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  369. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
  370. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
  371. package/lib/ids/SyncModuleIdsPlugin.js +3 -1
  372. package/lib/index.js +66 -15
  373. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
  374. package/lib/javascript/BasicEvaluatedExpression.js +370 -49
  375. package/lib/javascript/ChunkFormatHelpers.js +2 -1
  376. package/lib/javascript/ChunkHelpers.js +1 -0
  377. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  378. package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
  379. package/lib/javascript/JavascriptGenerator.js +213 -51
  380. package/lib/javascript/JavascriptModule.js +54 -0
  381. package/lib/javascript/JavascriptModulesPlugin.js +579 -183
  382. package/lib/javascript/JavascriptParser.js +1289 -462
  383. package/lib/javascript/JavascriptParserHelpers.js +10 -7
  384. package/lib/javascript/StartupHelpers.js +5 -0
  385. package/lib/javascript/syntax.js +4380 -0
  386. package/lib/json/JsonData.js +5 -0
  387. package/lib/json/JsonGenerator.js +21 -0
  388. package/lib/json/JsonModule.js +40 -0
  389. package/lib/json/JsonModulesPlugin.js +8 -1
  390. package/lib/json/JsonParser.js +18 -27
  391. package/lib/library/AbstractLibraryPlugin.js +17 -2
  392. package/lib/library/AmdLibraryPlugin.js +8 -0
  393. package/lib/library/AssignLibraryPlugin.js +21 -3
  394. package/lib/library/EnableLibraryPlugin.js +8 -2
  395. package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
  396. package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
  397. package/lib/library/JsonpLibraryPlugin.js +8 -0
  398. package/lib/library/ModuleLibraryPlugin.js +154 -7
  399. package/lib/library/SystemLibraryPlugin.js +11 -3
  400. package/lib/library/UmdLibraryPlugin.js +16 -0
  401. package/lib/loaders/LoaderRunner.js +714 -0
  402. package/lib/loaders/loadLoader.js +100 -0
  403. package/lib/logging/Logger.js +17 -0
  404. package/lib/logging/createConsoleLogger.js +7 -0
  405. package/lib/logging/runtime.js +2 -0
  406. package/lib/logging/truncateArgs.js +2 -0
  407. package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
  408. package/lib/node/NodeEnvironmentPlugin.js +7 -3
  409. package/lib/node/NodeSourcePlugin.js +1 -1
  410. package/lib/node/NodeTargetPlugin.js +4 -63
  411. package/lib/node/NodeTemplatePlugin.js +3 -1
  412. package/lib/node/NodeWatchFileSystem.js +40 -22
  413. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
  414. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +23 -1
  415. package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
  416. package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
  417. package/lib/node/nodeBuiltins.js +80 -0
  418. package/lib/node/nodeConsole.js +116 -64
  419. package/lib/optimize/AggressiveMergingPlugin.js +3 -1
  420. package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
  421. package/lib/optimize/ConcatenatedModule.js +585 -116
  422. package/lib/optimize/ConstExportsPlugin.js +211 -0
  423. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
  424. package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
  425. package/lib/optimize/InlineExports.js +178 -0
  426. package/lib/optimize/InnerGraph.js +374 -262
  427. package/lib/optimize/InnerGraphPlugin.js +246 -117
  428. package/lib/optimize/LimitChunkCountPlugin.js +9 -0
  429. package/lib/optimize/MangleExportsPlugin.js +5 -1
  430. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
  431. package/lib/optimize/MinChunkSizePlugin.js +2 -1
  432. package/lib/optimize/MinMaxSizeWarning.js +5 -4
  433. package/lib/optimize/ModuleConcatenationPlugin.js +159 -34
  434. package/lib/optimize/RealContentHashPlugin.js +125 -50
  435. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
  436. package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
  437. package/lib/optimize/RuntimeChunkPlugin.js +2 -1
  438. package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
  439. package/lib/optimize/SplitChunksPlugin.js +54 -6
  440. package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
  441. package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
  442. package/lib/performance/NoAsyncChunksWarning.js +5 -3
  443. package/lib/performance/SizeLimitsPlugin.js +8 -2
  444. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
  445. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
  446. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
  447. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
  448. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
  449. package/lib/prefetch/ResourceHintPlugin.js +663 -0
  450. package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
  451. package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
  452. package/lib/prefetch/parseResourceHintOptions.js +103 -0
  453. package/lib/rules/BasicEffectRulePlugin.js +3 -0
  454. package/lib/rules/BasicMatcherRulePlugin.js +3 -0
  455. package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
  456. package/lib/rules/RuleSetCompiler.js +132 -0
  457. package/lib/rules/UseEffectRulePlugin.js +10 -3
  458. package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
  459. package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
  460. package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
  461. package/lib/runtime/BaseUriRuntimeModule.js +1 -0
  462. package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
  463. package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
  464. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
  465. package/lib/runtime/CompatRuntimeModule.js +2 -0
  466. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
  467. package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
  468. package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
  469. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
  470. package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
  471. package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
  472. package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
  473. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
  474. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
  475. package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
  476. package/lib/runtime/GlobalRuntimeModule.js +1 -0
  477. package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
  478. package/lib/runtime/HelperRuntimeModule.js +5 -0
  479. package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
  480. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
  481. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
  482. package/lib/runtime/NonceRuntimeModule.js +1 -0
  483. package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
  484. package/lib/runtime/PublicPathRuntimeModule.js +1 -0
  485. package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
  486. package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
  487. package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
  488. package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
  489. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
  490. package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
  491. package/lib/runtime/SystemContextRuntimeModule.js +1 -0
  492. package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
  493. package/lib/runtime/WorkerRuntimeModule.js +33 -0
  494. package/lib/schemes/DataUriPlugin.js +14 -2
  495. package/lib/schemes/FileUriPlugin.js +1 -1
  496. package/lib/schemes/HttpUriPlugin.js +86 -4
  497. package/lib/schemes/VirtualUrlPlugin.js +8 -4
  498. package/lib/serialization/AggregateErrorSerializer.js +9 -6
  499. package/lib/serialization/ArraySerializer.js +6 -8
  500. package/lib/serialization/BinaryMiddleware.js +552 -463
  501. package/lib/serialization/DateObjectSerializer.js +4 -2
  502. package/lib/serialization/ErrorObjectSerializer.js +10 -6
  503. package/lib/serialization/FileMiddleware.js +50 -3
  504. package/lib/serialization/MapObjectSerializer.js +7 -9
  505. package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
  506. package/lib/serialization/ObjectMiddleware.js +73 -13
  507. package/lib/serialization/PlainObjectSerializer.js +16 -8
  508. package/lib/serialization/RegExpObjectSerializer.js +4 -2
  509. package/lib/serialization/Serializer.js +6 -0
  510. package/lib/serialization/SerializerMiddleware.js +14 -2
  511. package/lib/serialization/SetObjectSerializer.js +6 -8
  512. package/lib/serialization/SingleItemMiddleware.js +3 -0
  513. package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
  514. package/lib/sharing/ConsumeSharedModule.js +21 -7
  515. package/lib/sharing/ConsumeSharedPlugin.js +11 -11
  516. package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
  517. package/lib/sharing/ProvideForSharedDependency.js +1 -0
  518. package/lib/sharing/ProvideSharedDependency.js +34 -15
  519. package/lib/sharing/ProvideSharedModule.js +42 -12
  520. package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
  521. package/lib/sharing/ProvideSharedPlugin.js +13 -8
  522. package/lib/sharing/SharePlugin.js +5 -1
  523. package/lib/sharing/ShareRuntimeModule.js +19 -16
  524. package/lib/sharing/resolveMatchedConfigs.js +6 -2
  525. package/lib/sharing/utils.js +9 -1
  526. package/lib/stats/DefaultStatsFactoryPlugin.js +94 -12
  527. package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
  528. package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
  529. package/lib/stats/StatsFactory.js +39 -18
  530. package/lib/stats/StatsPrinter.js +16 -2
  531. package/lib/typescript/TypeScriptPlugin.js +210 -0
  532. package/lib/url/URLParserPlugin.js +111 -23
  533. package/lib/util/ArrayHelpers.js +1 -0
  534. package/lib/util/ArrayQueue.js +10 -5
  535. package/lib/util/AsyncQueue.js +154 -74
  536. package/lib/util/Hash.js +2 -2
  537. package/lib/util/IterableHelpers.js +3 -0
  538. package/lib/util/LazyBucketSortedSet.js +26 -0
  539. package/lib/util/LazySet.js +45 -4
  540. package/lib/util/LocConverter.js +64 -0
  541. package/lib/util/ParallelismFactorCalculator.js +1 -0
  542. package/lib/util/Queue.js +6 -3
  543. package/lib/util/Semaphore.js +15 -1
  544. package/lib/util/SetHelpers.js +4 -1
  545. package/lib/util/SortableSet.js +7 -1
  546. package/lib/util/SourceProcessor.js +119 -0
  547. package/lib/util/StackedCacheMap.js +20 -3
  548. package/lib/util/StackedMap.js +162 -43
  549. package/lib/util/StringXor.js +1 -1
  550. package/lib/util/TupleQueue.js +7 -3
  551. package/lib/util/TupleSet.js +14 -0
  552. package/lib/util/URLAbsoluteSpecifier.js +1 -0
  553. package/lib/util/WeakTupleMap.js +60 -1
  554. package/lib/util/binarySearchBounds.js +3 -2
  555. package/lib/util/chainedImports.js +3 -3
  556. package/lib/util/cleverMerge.js +19 -2
  557. package/lib/util/comparators.js +35 -4
  558. package/lib/util/compileBooleanMatcher.js +9 -0
  559. package/lib/util/concatenate.js +80 -24
  560. package/lib/util/conventions.js +46 -1
  561. package/lib/util/createHash.js +0 -1
  562. package/lib/util/createHooksRegistry.js +43 -0
  563. package/lib/util/createMappings.js +118 -0
  564. package/lib/util/dataURL.js +3 -2
  565. package/lib/util/deprecation.js +19 -0
  566. package/lib/util/deterministicGrouping.js +46 -17
  567. package/lib/util/extractSourceMap.js +2 -1
  568. package/lib/util/extractUrlAndGlobal.js +1 -0
  569. package/lib/util/findGraphRoots.js +7 -0
  570. package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
  571. package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
  572. package/lib/util/fs.js +87 -14
  573. package/lib/util/generateDebugId.js +1 -0
  574. package/lib/util/globUtils.js +710 -0
  575. package/lib/util/hash/BatchedHash.js +1 -0
  576. package/lib/util/hash/BulkUpdateHash.js +1 -0
  577. package/lib/util/hash/DebugHash.js +1 -0
  578. package/lib/util/hash/hash-digest.js +32 -15
  579. package/lib/util/hash/md4.js +1 -1
  580. package/lib/util/hash/wasm-hash.js +5 -0
  581. package/lib/util/hash/xxhash64.js +1 -1
  582. package/lib/util/identifier.js +97 -6
  583. package/lib/util/implicitTypeLoaderFallback.js +62 -0
  584. package/lib/util/internalSerializables.js +102 -60
  585. package/lib/util/magicComment.js +149 -7
  586. package/lib/util/makeSerializable.js +7 -0
  587. package/lib/util/memoize.js +2 -0
  588. package/lib/util/mimeTypes.js +176 -0
  589. package/lib/util/nonNumericOnlyHash.js +31 -1
  590. package/lib/util/numberHash.js +2 -2
  591. package/lib/util/parseJson.js +41 -0
  592. package/lib/util/processAsyncTree.js +8 -0
  593. package/lib/util/property.js +9 -2
  594. package/lib/util/publicPathPlaceholder.js +64 -0
  595. package/lib/util/registerExternalSerializer.js +24 -4
  596. package/lib/util/removeBOM.js +1 -0
  597. package/lib/util/runtime.js +32 -0
  598. package/lib/util/semver.js +15 -0
  599. package/lib/util/serialization.js +2 -0
  600. package/lib/util/smartGrouping.js +8 -0
  601. package/lib/util/source.js +23 -0
  602. package/lib/util/topologicalSort.js +69 -0
  603. package/lib/validateSchema.js +1 -0
  604. package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
  605. package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
  606. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
  607. package/lib/wasm-async/AsyncWasmModule.js +77 -0
  608. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
  609. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
  610. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
  611. package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
  612. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
  613. package/lib/wasm-sync/SyncWasmModule.js +39 -0
  614. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
  615. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
  616. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
  617. package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
  618. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
  619. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
  620. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
  621. package/lib/wasm-sync/WebAssemblyParser.js +9 -3
  622. package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
  623. package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
  624. package/lib/web/FetchCompileWasmPlugin.js +27 -1
  625. package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
  626. package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
  627. package/lib/web/JsonpTemplatePlugin.js +2 -1
  628. package/lib/webpack.js +78 -1
  629. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
  630. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
  631. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
  632. package/module.d.ts +21 -0
  633. package/package.json +79 -77
  634. package/schemas/WebpackOptions.check.js +1 -1
  635. package/schemas/WebpackOptions.json +1117 -79
  636. package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
  637. package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
  638. package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
  639. package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
  640. package/schemas/plugins/HtmlParserOptions.check.js +6 -0
  641. package/schemas/plugins/HtmlParserOptions.json +3 -0
  642. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  643. package/schemas/plugins/ProgressPlugin.json +38 -0
  644. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  645. package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
  646. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  647. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  648. package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
  649. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
  650. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
  651. package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
  652. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  653. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  654. package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
  655. package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
  656. package/types.d.ts +8608 -1159
  657. package/lib/CaseSensitiveModulesWarning.js +0 -72
  658. package/lib/GraphHelpers.js +0 -46
  659. package/lib/ModuleParseError.js +0 -125
  660. package/lib/NoModeWarning.js +0 -23
  661. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
  662. package/lib/css/walkCssTokens.js +0 -1843
  663. package/lib/util/AppendOnlyStackedSet.js +0 -78
  664. /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
  665. /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
  666. /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
  667. /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
@@ -0,0 +1,31 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Alexander Akait @alexander-akait
4
+ */
5
+
6
+ "use strict";
7
+
8
+ /** @typedef {import("../../declarations/WebpackOptions").WebpackOptions} Configuration */
9
+ /** @typedef {import("../MultiCompiler").MultiWebpackOptions} MultiConfiguration */
10
+
11
+ /**
12
+ * @template T
13
+ * @typedef {T | Promise<T>} MaybePromise
14
+ */
15
+
16
+ /**
17
+ * Function style configuration, called with the `--env` values and CLI arguments.
18
+ * @typedef {(env: Record<string, EXPECTED_ANY>, argv: Record<string, EXPECTED_ANY>) => MaybePromise<Configuration | MultiConfiguration>} ConfigurationFactory
19
+ */
20
+
21
+ /** @typedef {MaybePromise<Configuration | MultiConfiguration | ConfigurationFactory | ConfigurationFactory[]>} DefineConfigInput */
22
+
23
+ /**
24
+ * A type helper for authoring configuration files, no-op at runtime.
25
+ * @template {DefineConfigInput} T
26
+ * @param {T} config webpack configuration
27
+ * @returns {T} the same configuration
28
+ */
29
+ const defineConfig = (config) => config;
30
+
31
+ module.exports = defineConfig;
@@ -22,15 +22,17 @@ const util = require("util");
22
22
  /** @typedef {import("../../declarations/WebpackOptions").PluginsNormalized} PluginsNormalized */
23
23
  /** @typedef {import("../../declarations/WebpackOptions").WebpackOptions} WebpackOptions */
24
24
  /** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptionsNormalized */
25
- /** @typedef {import("../WebpackError")} WebpackError */
25
+ /** @typedef {import("../errors/WebpackError")} WebpackError */
26
26
 
27
27
  /**
28
+ * Defines the webpack options interception type used by this module.
28
29
  * @typedef {object} WebpackOptionsInterception
29
30
  * @property {WebpackOptionsNormalized["devtool"]=} devtool
30
31
  */
31
32
 
32
33
  const handledDeprecatedNoEmitOnErrors = util.deprecate(
33
34
  /**
35
+ * Handles the callback logic for this hook.
34
36
  * @param {boolean} noEmitOnErrors no emit on errors
35
37
  * @param {boolean | undefined} emitOnErrors emit on errors
36
38
  * @returns {boolean} emit on errors
@@ -48,6 +50,7 @@ const handledDeprecatedNoEmitOnErrors = util.deprecate(
48
50
  );
49
51
 
50
52
  /**
53
+ * Returns result value.
51
54
  * @template T
52
55
  * @template R
53
56
  * @param {T | undefined} value value or not
@@ -58,12 +61,14 @@ const nestedConfig = (value, fn) =>
58
61
  value === undefined ? fn(/** @type {T} */ ({})) : fn(value);
59
62
 
60
63
  /**
64
+ * Returns result value.
61
65
  * @template T
62
66
  * @param {T | undefined} value value or not
63
67
  * @returns {T} result value
64
68
  */
65
69
  const cloneObject = (value) => /** @type {T} */ ({ ...value });
66
70
  /**
71
+ * Optional nested config.
67
72
  * @template T
68
73
  * @template R
69
74
  * @param {T | undefined} value value or not
@@ -74,6 +79,7 @@ const optionalNestedConfig = (value, fn) =>
74
79
  value === undefined ? undefined : fn(value);
75
80
 
76
81
  /**
82
+ * Returns cloned value.
77
83
  * @template T
78
84
  * @template R
79
85
  * @param {T[] | undefined} value array or not
@@ -83,6 +89,7 @@ const optionalNestedConfig = (value, fn) =>
83
89
  const nestedArray = (value, fn) => (Array.isArray(value) ? fn(value) : fn([]));
84
90
 
85
91
  /**
92
+ * Optional nested array.
86
93
  * @template T
87
94
  * @template R
88
95
  * @param {T[] | undefined} value array or not
@@ -93,6 +100,7 @@ const optionalNestedArray = (value, fn) =>
93
100
  Array.isArray(value) ? fn(value) : undefined;
94
101
 
95
102
  /**
103
+ * Keyed nested config.
96
104
  * @template T
97
105
  * @template R
98
106
  * @param {Record<string, T> | undefined} value value or not
@@ -126,6 +134,31 @@ const keyedNestedConfig = (value, fn, customKeys) => {
126
134
  };
127
135
 
128
136
  /**
137
+ * Normalize `output.resourceHints` into its object form: the scalar / array /
138
+ * function shorthand becomes `{ initial: <value> }` (with `"preload"` aliased to
139
+ * `true`); an object is passed through, its `initial` getting the same alias.
140
+ * @param {import("../../declarations/WebpackOptions").ResourceHints=} resourceHints raw value
141
+ * @returns {import("../../declarations/WebpackOptions").ResourceHintsOptions | undefined} normalized object form
142
+ */
143
+ const normalizeResourceHints = (resourceHints) => {
144
+ if (resourceHints === undefined) return undefined;
145
+ /**
146
+ * @param {import("../../declarations/WebpackOptions").ResourceHintsInitial=} value initial value
147
+ * @returns {import("../../declarations/WebpackOptions").ResourceHintsInitial | undefined} `"preload"` aliased to `true`
148
+ */
149
+ const alias = (value) => (value === "preload" ? true : value);
150
+ if (
151
+ typeof resourceHints === "object" &&
152
+ !Array.isArray(resourceHints) &&
153
+ typeof resourceHints !== "function"
154
+ ) {
155
+ return { ...resourceHints, initial: alias(resourceHints.initial) };
156
+ }
157
+ return { initial: alias(resourceHints) };
158
+ };
159
+
160
+ /**
161
+ * Gets normalized webpack options.
129
162
  * @param {WebpackOptions} config input config
130
163
  * @returns {WebpackOptionsNormalized} normalized options
131
164
  */
@@ -359,6 +392,9 @@ const getNormalizedWebpackOptions = (config) => ({
359
392
  hotUpdateChunkFilename: output.hotUpdateChunkFilename,
360
393
  hotUpdateGlobal: output.hotUpdateGlobal,
361
394
  hotUpdateMainFilename: output.hotUpdateMainFilename,
395
+ html: output.html,
396
+ htmlChunkFilename: output.htmlChunkFilename,
397
+ htmlFilename: output.htmlFilename,
362
398
  ignoreBrowserWarnings: output.ignoreBrowserWarnings,
363
399
  iife: output.iife,
364
400
  importFunctionName: output.importFunctionName,
@@ -392,10 +428,12 @@ const getNormalizedWebpackOptions = (config) => ({
392
428
  path: output.path,
393
429
  pathinfo: output.pathinfo,
394
430
  publicPath: output.publicPath,
431
+ resourceHints: normalizeResourceHints(output.resourceHints),
395
432
  sourceMapFilename: output.sourceMapFilename,
396
433
  sourcePrefix: output.sourcePrefix,
397
434
  strictModuleErrorHandling: output.strictModuleErrorHandling,
398
435
  strictModuleExceptionHandling: output.strictModuleExceptionHandling,
436
+ strictModuleResolution: output.strictModuleResolution,
399
437
  trustedTypes: optionalNestedConfig(
400
438
  output.trustedTypes,
401
439
  (trustedTypes) => {
@@ -408,8 +446,10 @@ const getNormalizedWebpackOptions = (config) => ({
408
446
  ),
409
447
  uniqueName: output.uniqueName,
410
448
  wasmLoading: output.wasmLoading,
449
+ wasmStreamingFallback: output.wasmStreamingFallback,
411
450
  webassemblyModuleFilename: output.webassemblyModuleFilename,
412
451
  workerPublicPath: output.workerPublicPath,
452
+ workerChunkFilename: output.workerChunkFilename,
413
453
  workerChunkLoading: output.workerChunkLoading,
414
454
  workerWasmLoading: output.workerWasmLoading
415
455
  };
@@ -500,6 +540,7 @@ const getNormalizedWebpackOptions = (config) => ({
500
540
  });
501
541
 
502
542
  /**
543
+ * Gets normalized entry static.
503
544
  * @param {EntryStatic} entry static entry options
504
545
  * @returns {EntryStaticNormalized} normalized static entry options
505
546
  */
@@ -539,6 +580,7 @@ const getNormalizedEntryStatic = (entry) => {
539
580
  (Array.isArray(value.import) ? value.import : [value.import])
540
581
  ),
541
582
  filename: value.filename,
583
+ html: value.html,
542
584
  layer: value.layer,
543
585
  runtime: value.runtime,
544
586
  baseUri: value.baseUri,
@@ -546,6 +588,7 @@ const getNormalizedEntryStatic = (entry) => {
546
588
  chunkLoading: value.chunkLoading,
547
589
  asyncChunks: value.asyncChunks,
548
590
  wasmLoading: value.wasmLoading,
591
+ worker: value.worker,
549
592
  dependOn:
550
593
  /** @type {EntryDescriptionNormalized["dependOn"]} */
551
594
  (
@@ -562,6 +605,7 @@ const getNormalizedEntryStatic = (entry) => {
562
605
  };
563
606
 
564
607
  /**
608
+ * Gets normalized optimization runtime chunk.
565
609
  * @param {OptimizationRuntimeChunk=} runtimeChunk runtimeChunk option
566
610
  * @returns {OptimizationRuntimeChunkNormalized=} normalized runtimeChunk option
567
611
  */
@@ -589,6 +633,7 @@ const getNormalizedOptimizationRuntimeChunk = (runtimeChunk) => {
589
633
  };
590
634
 
591
635
  /**
636
+ * Apply webpack options interception.
592
637
  * @param {WebpackOptionsNormalized} options options to be intercepted
593
638
  * @returns {{ options: WebpackOptionsNormalized, interception?: WebpackOptionsInterception }} options and interception
594
639
  */
@@ -12,6 +12,7 @@ const getBrowserslistTargetHandler = memoize(() =>
12
12
  );
13
13
 
14
14
  /**
15
+ * Gets default target.
15
16
  * @param {string} context the context directory
16
17
  * @returns {string} default target
17
18
  */
@@ -21,16 +22,21 @@ const getDefaultTarget = (context) => {
21
22
  };
22
23
 
23
24
  /**
25
+ * Defines the platform target properties type used by this module.
24
26
  * @typedef {object} PlatformTargetProperties
25
27
  * @property {boolean | null=} web web platform, importing of http(s) and std: is available
26
28
  * @property {boolean | null=} browser browser platform, running in a normal web browser
27
29
  * @property {boolean | null=} webworker (Web)Worker platform, running in a web/shared/service worker
28
30
  * @property {boolean | null=} node node platform, require of node built-in modules is available
31
+ * @property {boolean | null=} deno deno platform, node built-in modules (via the `node:` specifier) and web APIs are available
32
+ * @property {boolean | null=} bun bun platform, bun and node built-in modules are available
29
33
  * @property {boolean | null=} nwjs nwjs platform, require of legacy nw.gui is available
30
34
  * @property {boolean | null=} electron electron platform, require of some electron built-in modules is available
35
+ * @property {boolean | null=} universal universal ESM target spanning both web and node (target `"universal"` or `["web", "node"]`)
31
36
  */
32
37
 
33
38
  /**
39
+ * Defines the electron context target properties type used by this module.
34
40
  * @typedef {object} ElectronContextTargetProperties
35
41
  * @property {boolean | null} electronMain in main context
36
42
  * @property {boolean | null} electronPreload in preload context
@@ -38,12 +44,15 @@ const getDefaultTarget = (context) => {
38
44
  */
39
45
 
40
46
  /**
47
+ * Defines the api target properties type used by this module.
41
48
  * @typedef {object} ApiTargetProperties
42
49
  * @property {boolean | null} require has require function available
43
50
  * @property {boolean | null} nodeBuiltins has node.js built-in modules available
44
51
  * @property {boolean | null} nodePrefixForCoreModules node.js allows to use `node:` prefix for core modules
52
+ * @property {boolean | null} nodeBuiltinModuleGetter node.js exposes `process.getBuiltinModule()` to synchronously load core modules
45
53
  * @property {boolean | null} importMetaDirnameAndFilename node.js allows to use `import.meta.dirname` and `import.meta.filename`
46
54
  * @property {boolean | null} document has document available (allows script tags)
55
+ * @property {(boolean | null)=} modulePreload supports `<link rel="modulepreload">` (optional; absent means "assume supported")
47
56
  * @property {boolean | null} importScripts has importScripts available
48
57
  * @property {boolean | null} importScriptsInWorker has importScripts available when creating a worker
49
58
  * @property {boolean | null} fetchWasm has fetch function available for WebAssembly
@@ -51,10 +60,15 @@ const getDefaultTarget = (context) => {
51
60
  */
52
61
 
53
62
  /**
63
+ * Defines the ecma target properties type used by this module.
54
64
  * @typedef {object} EcmaTargetProperties
55
65
  * @property {boolean | null} globalThis has globalThis variable available
66
+ * @property {boolean | null} symbol `Symbol` is available
67
+ * @property {boolean | null} hasOwn `Object.hasOwn` is available
56
68
  * @property {boolean | null} bigIntLiteral big int literal syntax is available
57
- * @property {boolean | null} const const and let variable declarations are available
69
+ * @property {boolean | null} const const variable declarations are available
70
+ * @property {boolean | null} let let variable declarations are available
71
+ * @property {boolean | null} logicalAssignment logical assignment operators (`||=`, `&&=`, `??=`) are available
58
72
  * @property {boolean | null} methodShorthand object method shorthand is available
59
73
  * @property {boolean | null} arrowFunction arrow functions are available
60
74
  * @property {boolean | null} forOf for of iteration is available
@@ -63,16 +77,20 @@ const getDefaultTarget = (context) => {
63
77
  * @property {boolean | null} dynamicImportInWorker async import() is available when creating a worker
64
78
  * @property {boolean | null} module ESM syntax is available (when in module)
65
79
  * @property {boolean | null} optionalChaining optional chaining is available
80
+ * @property {boolean | null} spread spread and rest in array/object literals and calls is available
66
81
  * @property {boolean | null} templateLiteral template literal is available
67
82
  * @property {boolean | null} asyncFunction async functions and await are available
83
+ * @property {boolean | null} generator generator functions and yield are available
68
84
  */
69
85
 
70
86
  /**
87
+ * Defines the shared type used by this module.
71
88
  * @template T
72
89
  * @typedef {{ [P in keyof T]?: never }} Never<T>
73
90
  */
74
91
 
75
92
  /**
93
+ * Defines the shared type used by this module.
76
94
  * @template A
77
95
  * @template B
78
96
  * @typedef {(A & Never<B>) | (Never<A> & B) | (A & B)} Mix<A, B>
@@ -81,6 +99,7 @@ const getDefaultTarget = (context) => {
81
99
  /** @typedef {Mix<Mix<PlatformTargetProperties, ElectronContextTargetProperties>, Mix<ApiTargetProperties, EcmaTargetProperties>>} TargetProperties */
82
100
 
83
101
  /**
102
+ * Returns check if version is greater or equal.
84
103
  * @param {string} major major version
85
104
  * @param {string | undefined} minor minor version
86
105
  * @returns {(vMajor: number, vMinor?: number) => boolean | undefined} check if version is greater or equal
@@ -125,6 +144,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
125
144
  /^web$/,
126
145
  () => ({
127
146
  node: false,
147
+ deno: false,
148
+ bun: false,
128
149
  web: true,
129
150
  webworker: null,
130
151
  browser: true,
@@ -146,6 +167,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
146
167
  /^webworker$/,
147
168
  () => ({
148
169
  node: false,
170
+ deno: false,
171
+ bun: false,
149
172
  web: true,
150
173
  webworker: true,
151
174
  browser: true,
@@ -161,6 +184,39 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
161
184
  global: false
162
185
  })
163
186
  ],
187
+ [
188
+ "universal",
189
+ "Universal target running in browser, web worker, Node.js, Electron and NW.js. Output is always ECMAScript modules.",
190
+ /^universal$/,
191
+ // merged web + webworker + node + electron + nwjs properties; output is
192
+ // always ESM, so `require` (sync CommonJS) is never available
193
+ () => ({
194
+ node: null,
195
+ deno: null,
196
+ bun: null,
197
+ web: null,
198
+ webworker: null,
199
+ browser: null,
200
+ electron: null,
201
+ nwjs: null,
202
+
203
+ electronMain: null,
204
+ electronPreload: null,
205
+ electronRenderer: null,
206
+
207
+ document: null,
208
+ importScriptsInWorker: null,
209
+ fetchWasm: null,
210
+ nodeBuiltins: null,
211
+ importScripts: null,
212
+ require: false,
213
+ global: null,
214
+
215
+ module: true,
216
+ dynamicImport: true,
217
+ dynamicImportInWorker: true
218
+ })
219
+ ],
164
220
  [
165
221
  "[async-]node[X[.Y]]",
166
222
  "Node.js in version X.Y. The 'async-' prefix will load chunks asynchronously via 'fs' and 'vm' instead of 'require()'. Examples: node14.5, async-node10.",
@@ -170,6 +226,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
170
226
  // see https://node.green/
171
227
  return {
172
228
  node: true,
229
+ deno: false,
230
+ bun: false,
173
231
  web: false,
174
232
  webworker: false,
175
233
  browser: false,
@@ -180,6 +238,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
180
238
  nodeBuiltins: true,
181
239
  // v16.0.0, v14.18.0
182
240
  nodePrefixForCoreModules: Number(major) < 15 ? v(14, 18) : v(16),
241
+ // v22.3.0, backported to v20.16.0; use the conservative single threshold
242
+ nodeBuiltinModuleGetter: v(22, 3),
183
243
  // Added in: v21.2.0, v20.11.0, but Node.js will output experimental warning, we don't want it
184
244
  // v24.0.0, v22.16.0 - This property is no longer experimental.
185
245
  importMetaDirnameAndFilename: v(22, 16),
@@ -190,12 +250,18 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
190
250
  importScriptsInWorker: false,
191
251
 
192
252
  globalThis: v(12),
253
+ symbol: v(0, 12),
254
+ hasOwn: v(16, 9),
193
255
  const: v(6),
256
+ let: v(6),
257
+ logicalAssignment: v(15),
194
258
  templateLiteral: v(4),
195
259
  optionalChaining: v(14),
260
+ spread: v(8, 3),
196
261
  methodShorthand: v(4),
197
262
  arrowFunction: v(6),
198
263
  asyncFunction: v(7, 6),
264
+ generator: v(4),
199
265
  forOf: v(5),
200
266
  destructuring: v(6),
201
267
  bigIntLiteral: v(10, 4),
@@ -205,6 +271,110 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
205
271
  };
206
272
  }
207
273
  ],
274
+ [
275
+ "deno[X[.Y]]",
276
+ "Deno in version X.Y. Emits ESM output; node.js built-ins are available via the required 'node:' specifier and web APIs (fetch, WebAssembly, ...) are available too. Examples: deno2, deno1.40.",
277
+ /^deno((\d+)(?:\.(\d+))?)?$/,
278
+ (_, major, minor) => {
279
+ const v = versionDependent(major, minor);
280
+ // Deno ships a modern V8, so syntax features are available since 1.0.
281
+ return {
282
+ node: true,
283
+ deno: true,
284
+ web: true,
285
+ webworker: false,
286
+ browser: false,
287
+ electron: false,
288
+ nwjs: false,
289
+
290
+ require: false,
291
+ nodeBuiltins: true,
292
+ // Deno only resolves node.js core modules through the `node:` specifier
293
+ nodePrefixForCoreModules: true,
294
+ // process.getBuiltinModule() - v2.1.0
295
+ nodeBuiltinModuleGetter: v(2, 1),
296
+ // import.meta.dirname / import.meta.filename - v1.40.0
297
+ importMetaDirnameAndFilename: v(1, 40),
298
+ global: false,
299
+ document: false,
300
+ fetchWasm: true,
301
+ importScripts: false,
302
+ importScriptsInWorker: false,
303
+
304
+ globalThis: true,
305
+ symbol: true,
306
+ hasOwn: true,
307
+ bigIntLiteral: true,
308
+ const: true,
309
+ let: true,
310
+ logicalAssignment: true,
311
+ methodShorthand: true,
312
+ arrowFunction: true,
313
+ forOf: true,
314
+ destructuring: true,
315
+ dynamicImport: true,
316
+ dynamicImportInWorker: true,
317
+ module: true,
318
+ optionalChaining: true,
319
+ spread: true,
320
+ templateLiteral: true,
321
+ asyncFunction: true,
322
+ generator: true
323
+ };
324
+ }
325
+ ],
326
+ [
327
+ "bun[X[.Y]]",
328
+ "Bun in version X.Y. Output is always ECMAScript modules. Examples: bun, bun1.1.",
329
+ /^bun((\d+)(?:\.(\d+))?)?$/,
330
+ () => ({
331
+ // Bun is a modern, Node.js-compatible runtime; every released version
332
+ // supports the full modern ECMAScript feature set, so the version is
333
+ // accepted but does not gate any feature. Output is always ESM, so sync
334
+ // CommonJS `require` is never available.
335
+ node: true,
336
+ bun: true,
337
+ web: false,
338
+ webworker: false,
339
+ browser: false,
340
+ electron: false,
341
+ nwjs: false,
342
+
343
+ require: false,
344
+ nodeBuiltins: true,
345
+ nodePrefixForCoreModules: true,
346
+ nodeBuiltinModuleGetter: true,
347
+ importMetaDirnameAndFilename: true,
348
+ // Bun implements web-standard globals; use `globalThis` and load wasm
349
+ // via `fetch()` (Bun's fetch resolves `file:` URLs) like the deno target,
350
+ // instead of proprietary `Bun.*` runtime APIs.
351
+ global: false,
352
+ document: false,
353
+ fetchWasm: true,
354
+ importScripts: false,
355
+ importScriptsInWorker: false,
356
+
357
+ globalThis: true,
358
+ symbol: true,
359
+ hasOwn: true,
360
+ const: true,
361
+ let: true,
362
+ logicalAssignment: true,
363
+ templateLiteral: true,
364
+ optionalChaining: true,
365
+ spread: true,
366
+ methodShorthand: true,
367
+ arrowFunction: true,
368
+ asyncFunction: true,
369
+ generator: true,
370
+ forOf: true,
371
+ destructuring: true,
372
+ bigIntLiteral: true,
373
+ dynamicImport: true,
374
+ dynamicImportInWorker: true,
375
+ module: true
376
+ })
377
+ ],
208
378
  [
209
379
  "electron[X[.Y]]-main/preload/renderer",
210
380
  "Electron in version X.Y. Script is running in main, preload resp. renderer context.",
@@ -214,6 +384,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
214
384
  // see https://node.green/ + https://github.com/electron/releases
215
385
  return {
216
386
  node: true,
387
+ deno: false,
388
+ bun: false,
217
389
  web: context !== "main",
218
390
  webworker: false,
219
391
  browser: false,
@@ -239,18 +411,26 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
239
411
  importScriptsInWorker: true,
240
412
 
241
413
  globalThis: v(5),
414
+ symbol: v(0, 24),
415
+ hasOwn: v(16),
242
416
  const: v(1, 1),
417
+ let: v(1, 1),
418
+ // 10.0.0 - Chromium 85
419
+ logicalAssignment: v(10),
243
420
  templateLiteral: v(1, 1),
244
421
  optionalChaining: v(8),
422
+ spread: v(2),
245
423
  methodShorthand: v(1, 1),
246
424
  arrowFunction: v(1, 1),
247
425
  asyncFunction: v(1, 7),
426
+ generator: v(1, 1),
248
427
  forOf: v(0, 36),
249
428
  destructuring: v(1, 1),
250
429
  bigIntLiteral: v(4),
251
430
  dynamicImport: v(11),
252
431
  dynamicImportInWorker: v(11),
253
- module: v(11)
432
+ // 28.0.0 - ESM support was added
433
+ module: v(28)
254
434
  };
255
435
  }
256
436
  ],
@@ -263,6 +443,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
263
443
  // see https://node.green/ + https://github.com/nwjs/nw.js/blob/nw48/CHANGELOG.md
264
444
  return {
265
445
  node: true,
446
+ deno: false,
447
+ bun: false,
266
448
  web: true,
267
449
  webworker: null,
268
450
  browser: false,
@@ -278,12 +460,19 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
278
460
  require: false,
279
461
 
280
462
  globalThis: v(0, 43),
463
+ symbol: v(0, 12),
464
+ hasOwn: v(0, 58),
281
465
  const: v(0, 15),
466
+ let: v(0, 15),
467
+ // 0.48.0 - Chromium 85
468
+ logicalAssignment: v(0, 48),
282
469
  templateLiteral: v(0, 13),
283
470
  optionalChaining: v(0, 44),
471
+ spread: v(0, 23),
284
472
  methodShorthand: v(0, 15),
285
473
  arrowFunction: v(0, 15),
286
474
  asyncFunction: v(0, 21),
475
+ generator: v(0, 15),
287
476
  forOf: v(0, 13),
288
477
  destructuring: v(0, 15),
289
478
  bigIntLiteral: v(0, 32),
@@ -302,15 +491,21 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
302
491
  if (v < 1000) v += 2009;
303
492
  return {
304
493
  const: v >= 2015,
494
+ let: v >= 2015,
495
+ logicalAssignment: v >= 2021,
305
496
  templateLiteral: v >= 2015,
306
497
  optionalChaining: v >= 2020,
498
+ spread: v >= 2018,
307
499
  methodShorthand: v >= 2015,
308
500
  arrowFunction: v >= 2015,
309
501
  forOf: v >= 2015,
310
502
  destructuring: v >= 2015,
311
503
  module: v >= 2015,
312
504
  asyncFunction: v >= 2017,
505
+ generator: v >= 2015,
313
506
  globalThis: v >= 2020,
507
+ symbol: v >= 2015,
508
+ hasOwn: v >= 2022,
314
509
  bigIntLiteral: v >= 2020,
315
510
  dynamicImport: v >= 2020,
316
511
  dynamicImportInWorker: v >= 2020
@@ -320,6 +515,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
320
515
  ];
321
516
 
322
517
  /**
518
+ * Gets target properties.
323
519
  * @param {string} target the target
324
520
  * @param {string} context the context directory
325
521
  * @returns {TargetProperties} target properties
@@ -341,6 +537,7 @@ const getTargetProperties = (target, context) => {
341
537
  };
342
538
 
343
539
  /**
540
+ * Merges target properties.
344
541
  * @param {TargetProperties[]} targetProperties array of target properties
345
542
  * @returns {TargetProperties} merged target properties
346
543
  */
@@ -377,6 +574,7 @@ const mergeTargetProperties = (targetProperties) => {
377
574
  };
378
575
 
379
576
  /**
577
+ * Gets targets properties.
380
578
  * @param {string[]} targets the targets
381
579
  * @param {string} context the context directory
382
580
  * @returns {TargetProperties} target properties
@@ -12,6 +12,7 @@ const makeSerializable = require("../util/makeSerializable");
12
12
 
13
13
  class ContainerEntryDependency extends Dependency {
14
14
  /**
15
+ * Creates an instance of ContainerEntryDependency.
15
16
  * @param {string} name entry name
16
17
  * @param {ExposesList} exposes list of exposed modules
17
18
  * @param {string} shareScope name of the share scope
@@ -27,6 +28,7 @@ class ContainerEntryDependency extends Dependency {
27
28
  }
28
29
 
29
30
  /**
31
+ * Returns an identifier to merge equal requests.
30
32
  * @returns {string | null} an identifier to merge equal requests
31
33
  */
32
34
  getResourceIdentifier() {