webpack 5.97.1 → 5.104.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (610) hide show
  1. package/README.md +368 -434
  2. package/bin/webpack.js +15 -9
  3. package/hot/dev-server.js +18 -3
  4. package/hot/emitter-event-target.js +7 -0
  5. package/hot/lazy-compilation-node.js +45 -29
  6. package/hot/lazy-compilation-universal.js +18 -0
  7. package/hot/lazy-compilation-web.js +15 -5
  8. package/hot/load-http.js +7 -0
  9. package/hot/log.js +15 -15
  10. package/hot/only-dev-server.js +19 -4
  11. package/hot/poll.js +1 -0
  12. package/lib/APIPlugin.js +48 -50
  13. package/lib/AbstractMethodError.js +1 -0
  14. package/lib/AsyncDependenciesBlock.js +4 -5
  15. package/lib/AutomaticPrefetchPlugin.js +22 -22
  16. package/lib/BannerPlugin.js +35 -40
  17. package/lib/Cache.js +12 -9
  18. package/lib/CacheFacade.js +13 -13
  19. package/lib/CaseSensitiveModulesWarning.js +6 -6
  20. package/lib/Chunk.js +68 -47
  21. package/lib/ChunkGraph.js +174 -95
  22. package/lib/ChunkGroup.js +32 -24
  23. package/lib/ChunkTemplate.js +8 -8
  24. package/lib/CleanPlugin.js +90 -42
  25. package/lib/CodeGenerationResults.js +12 -9
  26. package/lib/CompatibilityPlugin.js +70 -21
  27. package/lib/Compilation.js +827 -550
  28. package/lib/Compiler.js +137 -109
  29. package/lib/ConcatenationScope.js +45 -8
  30. package/lib/ConditionalInitFragment.js +1 -1
  31. package/lib/ConstPlugin.js +89 -59
  32. package/lib/ContextExclusionPlugin.js +5 -4
  33. package/lib/ContextModule.js +66 -51
  34. package/lib/ContextModuleFactory.js +51 -30
  35. package/lib/ContextReplacementPlugin.js +89 -34
  36. package/lib/CssModule.js +8 -4
  37. package/lib/DefinePlugin.js +209 -57
  38. package/lib/DelegatedModule.js +34 -23
  39. package/lib/DelegatedModuleFactoryPlugin.js +27 -24
  40. package/lib/DelegatedPlugin.js +4 -2
  41. package/lib/DependenciesBlock.js +0 -2
  42. package/lib/Dependency.js +37 -19
  43. package/lib/DependencyTemplate.js +2 -0
  44. package/lib/DependencyTemplates.js +5 -6
  45. package/lib/DllEntryPlugin.js +8 -4
  46. package/lib/DllModule.js +11 -12
  47. package/lib/DllModuleFactory.js +2 -2
  48. package/lib/DllPlugin.js +9 -6
  49. package/lib/DllReferencePlugin.js +60 -65
  50. package/lib/DotenvPlugin.js +462 -0
  51. package/lib/DynamicEntryPlugin.js +8 -8
  52. package/lib/EntryOptionPlugin.js +8 -6
  53. package/lib/EntryPlugin.js +5 -3
  54. package/lib/Entrypoint.js +19 -0
  55. package/lib/EnvironmentNotSupportAsyncWarning.js +0 -3
  56. package/lib/EnvironmentPlugin.js +26 -19
  57. package/lib/ErrorHelpers.js +6 -6
  58. package/lib/EvalDevToolModulePlugin.js +17 -14
  59. package/lib/EvalSourceMapDevToolPlugin.js +156 -142
  60. package/lib/ExportsInfo.js +180 -115
  61. package/lib/ExportsInfoApiPlugin.js +2 -2
  62. package/lib/ExternalModule.js +256 -102
  63. package/lib/ExternalModuleFactoryPlugin.js +66 -29
  64. package/lib/ExternalsPlugin.js +57 -2
  65. package/lib/FileSystemInfo.js +313 -247
  66. package/lib/FlagAllModulesAsUsedPlugin.js +2 -2
  67. package/lib/FlagDependencyExportsPlugin.js +29 -19
  68. package/lib/FlagDependencyUsagePlugin.js +9 -10
  69. package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
  70. package/lib/Generator.js +43 -10
  71. package/lib/GraphHelpers.js +11 -3
  72. package/lib/HookWebpackError.js +35 -7
  73. package/lib/HotModuleReplacementPlugin.js +149 -108
  74. package/lib/HotUpdateChunk.js +0 -3
  75. package/lib/IgnoreErrorModuleFactory.js +2 -2
  76. package/lib/IgnorePlugin.js +16 -13
  77. package/lib/IgnoreWarningsPlugin.js +6 -4
  78. package/lib/InitFragment.js +41 -23
  79. package/lib/InvalidDependenciesModuleWarning.js +2 -3
  80. package/lib/JavascriptMetaInfoPlugin.js +2 -4
  81. package/lib/LibManifestPlugin.js +12 -13
  82. package/lib/LoaderOptionsPlugin.js +12 -14
  83. package/lib/LoaderTargetPlugin.js +5 -3
  84. package/lib/MainTemplate.js +18 -29
  85. package/lib/ManifestPlugin.js +235 -0
  86. package/lib/Module.js +138 -60
  87. package/lib/ModuleBuildError.js +4 -2
  88. package/lib/ModuleDependencyError.js +4 -3
  89. package/lib/ModuleDependencyWarning.js +4 -3
  90. package/lib/ModuleError.js +1 -1
  91. package/lib/ModuleFactory.js +10 -3
  92. package/lib/ModuleFilenameHelpers.js +63 -60
  93. package/lib/ModuleGraph.js +195 -70
  94. package/lib/ModuleGraphConnection.js +14 -20
  95. package/lib/ModuleInfoHeaderPlugin.js +15 -16
  96. package/lib/ModuleNotFoundError.js +1 -1
  97. package/lib/ModuleParseError.js +8 -4
  98. package/lib/ModuleSourceTypeConstants.js +189 -0
  99. package/lib/ModuleTemplate.js +7 -8
  100. package/lib/ModuleTypeConstants.js +37 -15
  101. package/lib/ModuleWarning.js +1 -1
  102. package/lib/MultiCompiler.js +64 -49
  103. package/lib/MultiStats.js +19 -14
  104. package/lib/MultiWatching.js +7 -11
  105. package/lib/NoEmitOnErrorsPlugin.js +5 -3
  106. package/lib/NodeStuffPlugin.js +438 -126
  107. package/lib/NormalModule.js +322 -201
  108. package/lib/NormalModuleFactory.js +230 -117
  109. package/lib/NormalModuleReplacementPlugin.js +37 -39
  110. package/lib/NullFactory.js +3 -2
  111. package/lib/OptimizationStages.js +1 -1
  112. package/lib/OptionsApply.js +1 -1
  113. package/lib/Parser.js +5 -3
  114. package/lib/PlatformPlugin.js +3 -1
  115. package/lib/PrefetchPlugin.js +6 -4
  116. package/lib/ProgressPlugin.js +48 -49
  117. package/lib/ProvidePlugin.js +7 -5
  118. package/lib/RawModule.js +26 -12
  119. package/lib/RecordIdsPlugin.js +88 -110
  120. package/lib/RequestShortener.js +3 -1
  121. package/lib/ResolverFactory.js +15 -14
  122. package/lib/RuntimeGlobals.js +216 -153
  123. package/lib/RuntimeModule.js +7 -6
  124. package/lib/RuntimePlugin.js +115 -62
  125. package/lib/RuntimeTemplate.js +248 -76
  126. package/lib/SelfModuleFactory.js +2 -2
  127. package/lib/SizeFormatHelpers.js +2 -2
  128. package/lib/SourceMapDevToolModuleOptionsPlugin.js +17 -27
  129. package/lib/SourceMapDevToolPlugin.js +72 -59
  130. package/lib/Stats.js +2 -3
  131. package/lib/Template.js +31 -24
  132. package/lib/TemplatedPathPlugin.js +24 -21
  133. package/lib/UseStrictPlugin.js +1 -1
  134. package/lib/WarnCaseSensitiveModulesPlugin.js +36 -37
  135. package/lib/WarnDeprecatedOptionPlugin.js +7 -8
  136. package/lib/WarnNoModeSetPlugin.js +3 -1
  137. package/lib/WatchIgnorePlugin.js +11 -9
  138. package/lib/Watching.js +27 -29
  139. package/lib/WebpackError.js +10 -3
  140. package/lib/WebpackIsIncludedPlugin.js +4 -5
  141. package/lib/WebpackOptionsApply.js +263 -135
  142. package/lib/asset/AssetBytesGenerator.js +171 -0
  143. package/lib/asset/AssetBytesParser.js +37 -0
  144. package/lib/asset/AssetGenerator.js +285 -223
  145. package/lib/asset/AssetModulesPlugin.js +103 -41
  146. package/lib/asset/AssetParser.js +7 -3
  147. package/lib/asset/AssetSourceGenerator.js +41 -17
  148. package/lib/asset/RawDataUrlModule.js +17 -9
  149. package/lib/async-modules/AsyncModuleHelpers.js +52 -0
  150. package/lib/async-modules/AwaitDependenciesInitFragment.js +39 -24
  151. package/lib/async-modules/InferAsyncModulesPlugin.js +25 -26
  152. package/lib/buildChunkGraph.js +36 -17
  153. package/lib/cache/AddBuildDependenciesPlugin.js +5 -6
  154. package/lib/cache/IdleFileCachePlugin.js +22 -20
  155. package/lib/cache/MemoryCachePlugin.js +3 -3
  156. package/lib/cache/MemoryWithGcCachePlugin.js +17 -11
  157. package/lib/cache/PackFileCacheStrategy.js +198 -170
  158. package/lib/cache/ResolverCachePlugin.js +58 -48
  159. package/lib/cache/getLazyHashedEtag.js +5 -4
  160. package/lib/cli.js +197 -39
  161. package/lib/config/browserslistTargetHandler.js +110 -85
  162. package/lib/config/defaults.js +514 -113
  163. package/lib/config/normalization.js +91 -64
  164. package/lib/config/target.js +30 -18
  165. package/lib/container/ContainerEntryDependency.js +0 -1
  166. package/lib/container/ContainerEntryModule.js +16 -15
  167. package/lib/container/ContainerEntryModuleFactory.js +2 -2
  168. package/lib/container/ContainerPlugin.js +5 -6
  169. package/lib/container/ContainerReferencePlugin.js +27 -30
  170. package/lib/container/FallbackDependency.js +2 -1
  171. package/lib/container/FallbackModule.js +19 -14
  172. package/lib/container/FallbackModuleFactory.js +2 -2
  173. package/lib/container/HoistContainerReferencesPlugin.js +7 -7
  174. package/lib/container/ModuleFederationPlugin.js +4 -4
  175. package/lib/container/RemoteModule.js +14 -14
  176. package/lib/container/RemoteRuntimeModule.js +2 -2
  177. package/lib/container/options.js +9 -9
  178. package/lib/css/CssGenerator.js +366 -74
  179. package/lib/css/CssLoadingRuntimeModule.js +26 -16
  180. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +56 -0
  181. package/lib/css/CssModulesPlugin.js +191 -142
  182. package/lib/css/CssParser.js +1756 -740
  183. package/lib/css/walkCssTokens.js +180 -67
  184. package/lib/debug/ProfilingPlugin.js +135 -51
  185. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +29 -28
  186. package/lib/dependencies/AMDPlugin.js +18 -11
  187. package/lib/dependencies/AMDRequireArrayDependency.js +5 -4
  188. package/lib/dependencies/AMDRequireContextDependency.js +2 -1
  189. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +35 -26
  190. package/lib/dependencies/AMDRuntimeModules.js +3 -1
  191. package/lib/dependencies/CachedConstDependency.js +24 -18
  192. package/lib/dependencies/CommonJsExportRequireDependency.js +31 -24
  193. package/lib/dependencies/CommonJsExportsDependency.js +2 -1
  194. package/lib/dependencies/CommonJsExportsParserPlugin.js +50 -36
  195. package/lib/dependencies/CommonJsFullRequireDependency.js +7 -13
  196. package/lib/dependencies/CommonJsImportsParserPlugin.js +146 -127
  197. package/lib/dependencies/CommonJsPlugin.js +29 -18
  198. package/lib/dependencies/CommonJsRequireContextDependency.js +4 -3
  199. package/lib/dependencies/CommonJsSelfReferenceDependency.js +4 -4
  200. package/lib/dependencies/ConstDependency.js +2 -2
  201. package/lib/dependencies/ContextDependency.js +10 -5
  202. package/lib/dependencies/ContextDependencyHelpers.js +21 -13
  203. package/lib/dependencies/ContextDependencyTemplateAsId.js +10 -9
  204. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +13 -10
  205. package/lib/dependencies/ContextElementDependency.js +23 -12
  206. package/lib/dependencies/CssIcssExportDependency.js +402 -22
  207. package/lib/dependencies/CssIcssImportDependency.js +116 -51
  208. package/lib/dependencies/CssIcssSymbolDependency.js +33 -35
  209. package/lib/dependencies/CssImportDependency.js +17 -14
  210. package/lib/dependencies/CssUrlDependency.js +8 -13
  211. package/lib/dependencies/DynamicExports.js +19 -19
  212. package/lib/dependencies/ExportsInfoDependency.js +13 -10
  213. package/lib/dependencies/ExternalModuleDependency.js +7 -7
  214. package/lib/dependencies/ExternalModuleInitFragment.js +3 -2
  215. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +96 -0
  216. package/lib/dependencies/HarmonyAcceptDependency.js +96 -5
  217. package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -5
  218. package/lib/dependencies/HarmonyCompatibilityDependency.js +0 -1
  219. package/lib/dependencies/HarmonyDetectionParserPlugin.js +10 -30
  220. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +19 -8
  221. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +136 -99
  222. package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
  223. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +152 -61
  224. package/lib/dependencies/HarmonyExportInitFragment.js +2 -2
  225. package/lib/dependencies/HarmonyExportSpecifierDependency.js +2 -2
  226. package/lib/dependencies/HarmonyExports.js +5 -5
  227. package/lib/dependencies/HarmonyImportDependency.js +92 -45
  228. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +201 -163
  229. package/lib/dependencies/HarmonyImportSideEffectDependency.js +5 -6
  230. package/lib/dependencies/HarmonyImportSpecifierDependency.js +69 -42
  231. package/lib/dependencies/HarmonyModulesPlugin.js +16 -11
  232. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +15 -15
  233. package/lib/dependencies/ImportContextDependency.js +15 -1
  234. package/lib/dependencies/ImportDependency.js +25 -7
  235. package/lib/dependencies/ImportEagerDependency.js +7 -5
  236. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +23 -13
  237. package/lib/dependencies/ImportMetaContextPlugin.js +2 -2
  238. package/lib/dependencies/ImportMetaPlugin.js +172 -20
  239. package/lib/dependencies/ImportParserPlugin.js +327 -49
  240. package/lib/dependencies/ImportPhase.js +121 -0
  241. package/lib/dependencies/ImportPlugin.js +3 -1
  242. package/lib/dependencies/ImportWeakDependency.js +7 -5
  243. package/lib/dependencies/JsonExportsDependency.js +54 -28
  244. package/lib/dependencies/LoaderDependency.js +0 -3
  245. package/lib/dependencies/LoaderImportDependency.js +0 -3
  246. package/lib/dependencies/LoaderPlugin.js +24 -25
  247. package/lib/dependencies/LocalModulesHelpers.js +4 -4
  248. package/lib/dependencies/ModuleDecoratorDependency.js +2 -4
  249. package/lib/dependencies/ModuleDependency.js +14 -13
  250. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
  251. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
  252. package/lib/dependencies/NullDependency.js +2 -0
  253. package/lib/dependencies/ProvidedDependency.js +8 -10
  254. package/lib/dependencies/PureExpressionDependency.js +1 -2
  255. package/lib/dependencies/RequireContextDependency.js +2 -1
  256. package/lib/dependencies/RequireContextDependencyParserPlugin.js +47 -44
  257. package/lib/dependencies/RequireContextPlugin.js +5 -2
  258. package/lib/dependencies/RequireEnsureDependenciesBlock.js +3 -3
  259. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +101 -99
  260. package/lib/dependencies/RequireEnsurePlugin.js +6 -6
  261. package/lib/dependencies/RequireIncludeDependency.js +2 -2
  262. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +33 -34
  263. package/lib/dependencies/RequireIncludePlugin.js +1 -0
  264. package/lib/dependencies/RequireResolveContextDependency.js +1 -1
  265. package/lib/dependencies/RequireResolveDependency.js +3 -3
  266. package/lib/dependencies/RuntimeRequirementsDependency.js +3 -4
  267. package/lib/dependencies/StaticExportsDependency.js +3 -5
  268. package/lib/dependencies/SystemPlugin.js +4 -4
  269. package/lib/dependencies/URLContextDependency.js +65 -0
  270. package/lib/dependencies/URLDependency.js +3 -8
  271. package/lib/dependencies/URLPlugin.js +18 -159
  272. package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -3
  273. package/lib/dependencies/WebAssemblyImportDependency.js +2 -2
  274. package/lib/dependencies/WebpackIsIncludedDependency.js +2 -3
  275. package/lib/dependencies/WorkerDependency.js +8 -6
  276. package/lib/dependencies/WorkerPlugin.js +131 -67
  277. package/lib/dependencies/getFunctionExpression.js +2 -2
  278. package/lib/dependencies/processExportInfo.js +4 -4
  279. package/lib/esm/ExportWebpackRequireRuntimeModule.js +1 -1
  280. package/lib/esm/ModuleChunkFormatPlugin.js +232 -179
  281. package/lib/esm/ModuleChunkLoadingPlugin.js +112 -57
  282. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +102 -28
  283. package/lib/formatLocation.js +2 -2
  284. package/lib/hmr/HotModuleReplacement.runtime.js +41 -29
  285. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
  286. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +43 -33
  287. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +37 -0
  288. package/lib/hmr/LazyCompilationPlugin.js +67 -54
  289. package/lib/hmr/lazyCompilationBackend.js +23 -18
  290. package/lib/ids/ChunkModuleIdRangePlugin.js +14 -11
  291. package/lib/ids/DeterministicChunkIdsPlugin.js +32 -37
  292. package/lib/ids/DeterministicModuleIdsPlugin.js +52 -52
  293. package/lib/ids/HashedModuleIdsPlugin.js +15 -13
  294. package/lib/ids/IdHelpers.js +66 -49
  295. package/lib/ids/NamedChunkIdsPlugin.js +14 -17
  296. package/lib/ids/NamedModuleIdsPlugin.js +12 -14
  297. package/lib/ids/NaturalChunkIdsPlugin.js +6 -4
  298. package/lib/ids/NaturalModuleIdsPlugin.js +4 -3
  299. package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -5
  300. package/lib/ids/OccurrenceModuleIdsPlugin.js +8 -7
  301. package/lib/ids/SyncModuleIdsPlugin.js +18 -13
  302. package/lib/index.js +54 -14
  303. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +116 -119
  304. package/lib/javascript/BasicEvaluatedExpression.js +26 -18
  305. package/lib/javascript/ChunkFormatHelpers.js +70 -0
  306. package/lib/javascript/ChunkHelpers.js +17 -5
  307. package/lib/javascript/CommonJsChunkFormatPlugin.js +114 -141
  308. package/lib/javascript/EnableChunkLoadingPlugin.js +7 -4
  309. package/lib/javascript/JavascriptGenerator.js +122 -100
  310. package/lib/javascript/JavascriptModulesPlugin.js +332 -152
  311. package/lib/javascript/JavascriptParser.js +1488 -1052
  312. package/lib/javascript/JavascriptParserHelpers.js +48 -47
  313. package/lib/javascript/StartupHelpers.js +23 -22
  314. package/lib/json/JsonData.js +4 -4
  315. package/lib/json/JsonGenerator.js +66 -32
  316. package/lib/json/JsonModulesPlugin.js +16 -6
  317. package/lib/json/JsonParser.js +23 -8
  318. package/lib/library/AbstractLibraryPlugin.js +45 -10
  319. package/lib/library/AmdLibraryPlugin.js +7 -5
  320. package/lib/library/AssignLibraryPlugin.js +71 -17
  321. package/lib/library/EnableLibraryPlugin.js +51 -25
  322. package/lib/library/ExportPropertyLibraryPlugin.js +12 -18
  323. package/lib/library/JsonpLibraryPlugin.js +5 -2
  324. package/lib/library/ModuleLibraryPlugin.js +230 -18
  325. package/lib/library/SystemLibraryPlugin.js +29 -11
  326. package/lib/library/UmdLibraryPlugin.js +35 -32
  327. package/lib/logging/Logger.js +18 -15
  328. package/lib/logging/createConsoleLogger.js +27 -27
  329. package/lib/logging/runtime.js +11 -11
  330. package/lib/logging/truncateArgs.js +5 -5
  331. package/lib/node/CommonJsChunkLoadingPlugin.js +72 -75
  332. package/lib/node/NodeEnvironmentPlugin.js +9 -3
  333. package/lib/node/NodeTargetPlugin.js +9 -1
  334. package/lib/node/NodeTemplatePlugin.js +2 -2
  335. package/lib/node/NodeWatchFileSystem.js +4 -4
  336. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +22 -38
  337. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +10 -11
  338. package/lib/node/ReadFileCompileWasmPlugin.js +11 -14
  339. package/lib/node/RequireChunkLoadingRuntimeModule.js +22 -30
  340. package/lib/node/nodeConsole.js +12 -7
  341. package/lib/optimize/AggressiveMergingPlugin.js +46 -47
  342. package/lib/optimize/AggressiveSplittingPlugin.js +233 -238
  343. package/lib/optimize/ConcatenatedModule.js +620 -251
  344. package/lib/optimize/EnsureChunkConditionsPlugin.js +58 -58
  345. package/lib/optimize/FlagIncludedChunksPlugin.js +93 -96
  346. package/lib/optimize/InnerGraph.js +139 -124
  347. package/lib/optimize/InnerGraphPlugin.js +29 -24
  348. package/lib/optimize/LimitChunkCountPlugin.js +32 -8
  349. package/lib/optimize/MangleExportsPlugin.js +22 -22
  350. package/lib/optimize/MergeDuplicateChunksPlugin.js +80 -81
  351. package/lib/optimize/MinChunkSizePlugin.js +12 -7
  352. package/lib/optimize/ModuleConcatenationPlugin.js +92 -71
  353. package/lib/optimize/RealContentHashPlugin.js +58 -44
  354. package/lib/optimize/RemoveEmptyChunksPlugin.js +8 -5
  355. package/lib/optimize/RemoveParentModulesPlugin.js +7 -4
  356. package/lib/optimize/RuntimeChunkPlugin.js +22 -25
  357. package/lib/optimize/SideEffectsFlagPlugin.js +44 -26
  358. package/lib/optimize/SplitChunksPlugin.js +209 -158
  359. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -1
  360. package/lib/performance/EntrypointsOverSizeLimitWarning.js +2 -2
  361. package/lib/performance/SizeLimitsPlugin.js +8 -5
  362. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +5 -7
  363. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +61 -64
  364. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +3 -4
  365. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
  366. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
  367. package/lib/rules/BasicEffectRulePlugin.js +14 -5
  368. package/lib/rules/BasicMatcherRulePlugin.js +18 -7
  369. package/lib/rules/ObjectMatcherRulePlugin.js +17 -6
  370. package/lib/rules/RuleSetCompiler.js +73 -32
  371. package/lib/rules/UseEffectRulePlugin.js +61 -25
  372. package/lib/runtime/AsyncModuleRuntimeModule.js +74 -9
  373. package/lib/runtime/AutoPublicPathRuntimeModule.js +9 -4
  374. package/lib/runtime/BaseUriRuntimeModule.js +2 -2
  375. package/lib/runtime/CompatRuntimeModule.js +0 -1
  376. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -1
  377. package/lib/runtime/GetChunkFilenameRuntimeModule.js +34 -35
  378. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -1
  379. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -1
  380. package/lib/runtime/LoadScriptRuntimeModule.js +0 -2
  381. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +248 -0
  382. package/lib/runtime/PublicPathRuntimeModule.js +2 -2
  383. package/lib/runtime/RuntimeIdRuntimeModule.js +2 -1
  384. package/lib/runtime/StartupChunkDependenciesPlugin.js +39 -42
  385. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +10 -9
  386. package/lib/runtime/StartupEntrypointRuntimeModule.js +0 -1
  387. package/lib/runtime/SystemContextRuntimeModule.js +0 -2
  388. package/lib/runtime/ToBinaryRuntimeModule.js +64 -0
  389. package/lib/schemes/DataUriPlugin.js +9 -31
  390. package/lib/schemes/FileUriPlugin.js +11 -6
  391. package/lib/schemes/HttpUriPlugin.js +381 -261
  392. package/lib/schemes/VirtualUrlPlugin.js +222 -0
  393. package/lib/serialization/AggregateErrorSerializer.js +41 -0
  394. package/lib/serialization/BinaryMiddleware.js +51 -33
  395. package/lib/serialization/ErrorObjectSerializer.js +7 -2
  396. package/lib/serialization/FileMiddleware.js +101 -71
  397. package/lib/serialization/NullPrototypeObjectSerializer.js +5 -3
  398. package/lib/serialization/ObjectMiddleware.js +130 -54
  399. package/lib/serialization/PlainObjectSerializer.js +1 -1
  400. package/lib/serialization/Serializer.js +38 -20
  401. package/lib/serialization/SerializerMiddleware.js +121 -49
  402. package/lib/serialization/SingleItemMiddleware.js +9 -7
  403. package/lib/serialization/types.js +1 -1
  404. package/lib/sharing/ConsumeSharedModule.js +9 -9
  405. package/lib/sharing/ConsumeSharedPlugin.js +14 -14
  406. package/lib/sharing/ConsumeSharedRuntimeModule.js +11 -8
  407. package/lib/sharing/ProvideSharedModule.js +9 -11
  408. package/lib/sharing/ProvideSharedModuleFactory.js +5 -3
  409. package/lib/sharing/ProvideSharedPlugin.js +15 -10
  410. package/lib/sharing/SharePlugin.js +3 -4
  411. package/lib/sharing/ShareRuntimeModule.js +7 -6
  412. package/lib/sharing/resolveMatchedConfigs.js +27 -13
  413. package/lib/sharing/utils.js +37 -43
  414. package/lib/stats/DefaultStatsFactoryPlugin.js +455 -286
  415. package/lib/stats/DefaultStatsPresetPlugin.js +77 -46
  416. package/lib/stats/DefaultStatsPrinterPlugin.js +583 -419
  417. package/lib/stats/StatsFactory.js +75 -32
  418. package/lib/stats/StatsPrinter.js +71 -51
  419. package/lib/url/URLParserPlugin.js +264 -0
  420. package/lib/util/ArrayHelpers.js +6 -8
  421. package/lib/util/ArrayQueue.js +1 -1
  422. package/lib/util/AsyncQueue.js +11 -10
  423. package/lib/util/Hash.js +37 -5
  424. package/lib/util/IterableHelpers.js +4 -4
  425. package/lib/util/LazyBucketSortedSet.js +46 -27
  426. package/lib/util/LazySet.js +16 -10
  427. package/lib/util/MapHelpers.js +1 -1
  428. package/lib/util/ParallelismFactorCalculator.js +2 -2
  429. package/lib/util/Semaphore.js +3 -3
  430. package/lib/util/SetHelpers.js +6 -6
  431. package/lib/util/SortableSet.js +11 -9
  432. package/lib/util/StackedCacheMap.js +2 -2
  433. package/lib/util/StackedMap.js +3 -3
  434. package/lib/util/StringXor.js +2 -1
  435. package/lib/util/TupleQueue.js +11 -8
  436. package/lib/util/TupleSet.js +44 -19
  437. package/lib/util/URLAbsoluteSpecifier.js +3 -4
  438. package/lib/util/WeakTupleMap.js +56 -42
  439. package/lib/util/binarySearchBounds.js +4 -3
  440. package/lib/util/chainedImports.js +3 -1
  441. package/lib/util/cleverMerge.js +171 -107
  442. package/lib/util/comparators.js +265 -162
  443. package/lib/util/compileBooleanMatcher.js +120 -41
  444. package/lib/util/concatenate.js +20 -16
  445. package/lib/util/conventions.js +73 -74
  446. package/lib/util/create-schema-validation.js +8 -8
  447. package/lib/util/createHash.js +32 -135
  448. package/lib/util/dataURL.js +39 -0
  449. package/lib/util/deprecation.js +119 -116
  450. package/lib/util/deterministicGrouping.js +56 -47
  451. package/lib/util/extractSourceMap.js +319 -0
  452. package/lib/util/extractUrlAndGlobal.js +1 -1
  453. package/lib/util/findGraphRoots.js +19 -9
  454. package/lib/util/fs.js +169 -141
  455. package/lib/util/hash/BatchedHash.js +50 -10
  456. package/lib/util/hash/BulkUpdateHash.js +138 -0
  457. package/lib/util/hash/DebugHash.js +75 -0
  458. package/lib/util/hash/hash-digest.js +216 -0
  459. package/lib/util/hash/md4.js +2 -2
  460. package/lib/util/hash/wasm-hash.js +59 -17
  461. package/lib/util/identifier.js +124 -61
  462. package/lib/util/internalSerializables.js +4 -6
  463. package/lib/util/magicComment.js +9 -5
  464. package/lib/util/makeSerializable.js +2 -2
  465. package/lib/util/memoize.js +5 -2
  466. package/lib/util/objectToMap.js +3 -2
  467. package/lib/util/processAsyncTree.js +5 -5
  468. package/lib/util/propertyAccess.js +1 -1
  469. package/lib/util/propertyName.js +2 -3
  470. package/lib/util/registerExternalSerializer.js +16 -20
  471. package/lib/util/removeBOM.js +25 -0
  472. package/lib/util/runtime.js +72 -56
  473. package/lib/util/semver.js +44 -33
  474. package/lib/util/serialization.js +56 -56
  475. package/lib/util/smartGrouping.js +42 -27
  476. package/lib/util/source.js +5 -4
  477. package/lib/util/traverseDestructuringAssignmentProperties.js +45 -0
  478. package/lib/validateSchema.js +7 -9
  479. package/lib/wasm/EnableWasmLoadingPlugin.js +22 -12
  480. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +9 -5
  481. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +15 -3
  482. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +28 -22
  483. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +47 -57
  484. package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -10
  485. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +8 -4
  486. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +23 -17
  487. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +55 -57
  488. package/lib/wasm-sync/WebAssemblyGenerator.js +56 -41
  489. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +6 -3
  490. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +25 -10
  491. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +11 -12
  492. package/lib/wasm-sync/WebAssemblyParser.js +10 -17
  493. package/lib/wasm-sync/WebAssemblyUtils.js +1 -1
  494. package/lib/web/FetchCompileAsyncWasmPlugin.js +4 -4
  495. package/lib/web/FetchCompileWasmPlugin.js +6 -8
  496. package/lib/web/JsonpChunkLoadingPlugin.js +74 -74
  497. package/lib/web/JsonpChunkLoadingRuntimeModule.js +10 -26
  498. package/lib/web/JsonpTemplatePlugin.js +0 -1
  499. package/lib/webpack.js +107 -87
  500. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +79 -75
  501. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +38 -51
  502. package/lib/webworker/WebWorkerTemplatePlugin.js +1 -0
  503. package/module.d.ts +5 -0
  504. package/package.json +149 -129
  505. package/schemas/WebpackOptions.check.d.ts +1 -1
  506. package/schemas/WebpackOptions.check.js +2 -2
  507. package/schemas/WebpackOptions.json +543 -190
  508. package/schemas/plugins/BannerPlugin.check.d.ts +1 -1
  509. package/schemas/plugins/BannerPlugin.check.js +2 -2
  510. package/schemas/plugins/BannerPlugin.json +4 -0
  511. package/schemas/plugins/DllPlugin.check.d.ts +1 -1
  512. package/schemas/plugins/DllPlugin.check.js +1 -1
  513. package/schemas/plugins/DllReferencePlugin.check.d.ts +1 -1
  514. package/schemas/plugins/DllReferencePlugin.check.js +1 -1
  515. package/schemas/plugins/IgnorePlugin.check.d.ts +1 -1
  516. package/schemas/plugins/IgnorePlugin.check.js +1 -1
  517. package/schemas/plugins/IgnorePlugin.json +1 -1
  518. package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +1 -1
  519. package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -1
  520. package/schemas/plugins/{HashedModuleIdsPlugin.check.d.ts → ManifestPlugin.check.d.ts} +2 -2
  521. package/schemas/plugins/ManifestPlugin.check.js +6 -0
  522. package/schemas/plugins/ManifestPlugin.json +98 -0
  523. package/schemas/plugins/ProgressPlugin.check.d.ts +1 -1
  524. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  525. package/schemas/plugins/ProgressPlugin.json +1 -1
  526. package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +1 -1
  527. package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -2
  528. package/schemas/plugins/SourceMapDevToolPlugin.json +23 -6
  529. package/schemas/plugins/WatchIgnorePlugin.check.d.ts +1 -1
  530. package/schemas/plugins/WatchIgnorePlugin.check.js +1 -1
  531. package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +1 -1
  532. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -1
  533. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +1 -1
  534. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -1
  535. package/schemas/plugins/asset/AssetParserOptions.check.d.ts +1 -1
  536. package/schemas/plugins/asset/AssetParserOptions.check.js +1 -1
  537. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +1 -1
  538. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -1
  539. package/schemas/plugins/container/ContainerPlugin.check.d.ts +1 -1
  540. package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
  541. package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +1 -1
  542. package/schemas/plugins/container/ContainerReferencePlugin.check.js +2 -2
  543. package/schemas/plugins/container/ContainerReferencePlugin.json +4 -1
  544. package/schemas/plugins/container/ExternalsType.check.d.ts +1 -1
  545. package/schemas/plugins/container/ExternalsType.check.js +2 -2
  546. package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +1 -1
  547. package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -2
  548. package/schemas/plugins/container/ModuleFederationPlugin.json +4 -1
  549. package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +1 -1
  550. package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -1
  551. package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +1 -1
  552. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +2 -2
  553. package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +1 -1
  554. package/schemas/plugins/css/CssModuleParserOptions.check.js +2 -2
  555. package/schemas/plugins/css/CssParserOptions.check.d.ts +1 -1
  556. package/schemas/plugins/css/CssParserOptions.check.js +2 -2
  557. package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +1 -1
  558. package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -1
  559. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +7 -0
  560. package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +6 -0
  561. package/schemas/plugins/{HashedModuleIdsPlugin.json → ids/HashedModuleIdsPlugin.json} +15 -2
  562. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +1 -1
  563. package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -1
  564. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +1 -1
  565. package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -1
  566. package/schemas/plugins/{css/CssGlobalParserOptions.check.d.ts → json/JsonModulesPluginGenerator.check.d.ts} +1 -1
  567. package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +6 -0
  568. package/schemas/plugins/json/JsonModulesPluginGenerator.json +3 -0
  569. package/schemas/plugins/{css/CssGlobalGeneratorOptions.check.d.ts → json/JsonModulesPluginParser.check.d.ts} +1 -1
  570. package/schemas/plugins/json/JsonModulesPluginParser.check.js +6 -0
  571. package/schemas/plugins/json/JsonModulesPluginParser.json +3 -0
  572. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +1 -1
  573. package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -1
  574. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +1 -1
  575. package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -1
  576. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +1 -1
  577. package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -1
  578. package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +1 -1
  579. package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -1
  580. package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +1 -1
  581. package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -1
  582. package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +7 -0
  583. package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +6 -0
  584. package/schemas/plugins/schemes/VirtualUrlPlugin.json +77 -0
  585. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +1 -1
  586. package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +1 -1
  587. package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +1 -1
  588. package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +1 -1
  589. package/schemas/plugins/sharing/SharePlugin.check.d.ts +1 -1
  590. package/schemas/plugins/sharing/SharePlugin.check.js +1 -1
  591. package/types.d.ts +5115 -1863
  592. package/SECURITY.md +0 -9
  593. package/lib/ModuleSourceTypesConstants.js +0 -112
  594. package/lib/dependencies/CssLocalIdentifierDependency.js +0 -250
  595. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +0 -111
  596. package/lib/library/ModernModuleLibraryPlugin.js +0 -144
  597. package/schemas/plugins/HashedModuleIdsPlugin.check.js +0 -6
  598. package/schemas/plugins/JsonModulesPluginParser.check.d.ts +0 -7
  599. package/schemas/plugins/JsonModulesPluginParser.check.js +0 -6
  600. package/schemas/plugins/JsonModulesPluginParser.json +0 -12
  601. package/schemas/plugins/css/CssAutoGeneratorOptions.check.d.ts +0 -7
  602. package/schemas/plugins/css/CssAutoGeneratorOptions.check.js +0 -6
  603. package/schemas/plugins/css/CssAutoGeneratorOptions.json +0 -3
  604. package/schemas/plugins/css/CssAutoParserOptions.check.d.ts +0 -7
  605. package/schemas/plugins/css/CssAutoParserOptions.check.js +0 -6
  606. package/schemas/plugins/css/CssAutoParserOptions.json +0 -3
  607. package/schemas/plugins/css/CssGlobalGeneratorOptions.check.js +0 -6
  608. package/schemas/plugins/css/CssGlobalGeneratorOptions.json +0 -3
  609. package/schemas/plugins/css/CssGlobalParserOptions.check.js +0 -6
  610. package/schemas/plugins/css/CssGlobalParserOptions.json +0 -3
@@ -148,7 +148,7 @@
148
148
  },
149
149
  {
150
150
  "instanceof": "Function",
151
- "tsType": "((pathData: import(\"../lib/Compilation\").PathData, assetInfo?: import(\"../lib/Compilation\").AssetInfo) => string)"
151
+ "tsType": "(import(\"../lib/TemplatedPathPlugin\").TemplatePathFn)"
152
152
  }
153
153
  ]
154
154
  },
@@ -161,7 +161,7 @@
161
161
  },
162
162
  {
163
163
  "instanceof": "Function",
164
- "tsType": "((pathData: import(\"../lib/Compilation\").PathData, assetInfo?: import(\"../lib/Compilation\").AssetInfo) => string)"
164
+ "tsType": "(import(\"../lib/TemplatedPathPlugin\").TemplatePathFn)"
165
165
  }
166
166
  ]
167
167
  },
@@ -352,7 +352,7 @@
352
352
  },
353
353
  {
354
354
  "instanceof": "Function",
355
- "tsType": "((filename: string) => boolean)"
355
+ "tsType": "(import(\"../lib/CleanPlugin\").KeepFn)"
356
356
  }
357
357
  ]
358
358
  }
@@ -371,41 +371,6 @@
371
371
  "description": "This option enables cross-origin loading of chunks.",
372
372
  "enum": [false, "anonymous", "use-credentials"]
373
373
  },
374
- "CssAutoGeneratorOptions": {
375
- "description": "Generator options for css/auto modules.",
376
- "type": "object",
377
- "additionalProperties": false,
378
- "properties": {
379
- "esModule": {
380
- "$ref": "#/definitions/CssGeneratorEsModule"
381
- },
382
- "exportsConvention": {
383
- "$ref": "#/definitions/CssGeneratorExportsConvention"
384
- },
385
- "exportsOnly": {
386
- "$ref": "#/definitions/CssGeneratorExportsOnly"
387
- },
388
- "localIdentName": {
389
- "$ref": "#/definitions/CssGeneratorLocalIdentName"
390
- }
391
- }
392
- },
393
- "CssAutoParserOptions": {
394
- "description": "Parser options for css/auto modules.",
395
- "type": "object",
396
- "additionalProperties": false,
397
- "properties": {
398
- "import": {
399
- "$ref": "#/definitions/CssParserImport"
400
- },
401
- "namedExports": {
402
- "$ref": "#/definitions/CssParserNamedExports"
403
- },
404
- "url": {
405
- "$ref": "#/definitions/CssParserUrl"
406
- }
407
- }
408
- },
409
374
  "CssChunkFilename": {
410
375
  "description": "Specifies the filename template of non-initial output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.",
411
376
  "oneOf": [
@@ -465,54 +430,31 @@
465
430
  }
466
431
  }
467
432
  },
468
- "CssGlobalGeneratorOptions": {
469
- "description": "Generator options for css/global modules.",
433
+ "CssModuleGeneratorOptions": {
434
+ "description": "Generator options for css/module modules.",
470
435
  "type": "object",
471
436
  "additionalProperties": false,
472
437
  "properties": {
473
438
  "esModule": {
474
439
  "$ref": "#/definitions/CssGeneratorEsModule"
475
440
  },
441
+ "exportType": {
442
+ "$ref": "#/definitions/CssParserExportType"
443
+ },
476
444
  "exportsConvention": {
477
445
  "$ref": "#/definitions/CssGeneratorExportsConvention"
478
446
  },
479
447
  "exportsOnly": {
480
448
  "$ref": "#/definitions/CssGeneratorExportsOnly"
481
449
  },
482
- "localIdentName": {
483
- "$ref": "#/definitions/CssGeneratorLocalIdentName"
484
- }
485
- }
486
- },
487
- "CssGlobalParserOptions": {
488
- "description": "Parser options for css/global modules.",
489
- "type": "object",
490
- "additionalProperties": false,
491
- "properties": {
492
- "import": {
493
- "$ref": "#/definitions/CssParserImport"
494
- },
495
- "namedExports": {
496
- "$ref": "#/definitions/CssParserNamedExports"
497
- },
498
- "url": {
499
- "$ref": "#/definitions/CssParserUrl"
500
- }
501
- }
502
- },
503
- "CssModuleGeneratorOptions": {
504
- "description": "Generator options for css/module modules.",
505
- "type": "object",
506
- "additionalProperties": false,
507
- "properties": {
508
- "esModule": {
509
- "$ref": "#/definitions/CssGeneratorEsModule"
450
+ "localIdentHashDigest": {
451
+ "$ref": "#/definitions/HashDigest"
510
452
  },
511
- "exportsConvention": {
512
- "$ref": "#/definitions/CssGeneratorExportsConvention"
453
+ "localIdentHashDigestLength": {
454
+ "$ref": "#/definitions/HashDigestLength"
513
455
  },
514
- "exportsOnly": {
515
- "$ref": "#/definitions/CssGeneratorExportsOnly"
456
+ "localIdentHashSalt": {
457
+ "$ref": "#/definitions/HashSalt"
516
458
  },
517
459
  "localIdentName": {
518
460
  "$ref": "#/definitions/CssGeneratorLocalIdentName"
@@ -524,6 +466,27 @@
524
466
  "type": "object",
525
467
  "additionalProperties": false,
526
468
  "properties": {
469
+ "animation": {
470
+ "$ref": "#/definitions/CssParserAnimation"
471
+ },
472
+ "container": {
473
+ "$ref": "#/definitions/CssParserContainer"
474
+ },
475
+ "customIdents": {
476
+ "$ref": "#/definitions/CssParserCustomIdents"
477
+ },
478
+ "dashedIdents": {
479
+ "$ref": "#/definitions/CssParserDashedIdents"
480
+ },
481
+ "exportType": {
482
+ "$ref": "#/definitions/CssParserExportType"
483
+ },
484
+ "function": {
485
+ "$ref": "#/definitions/CssParserFunction"
486
+ },
487
+ "grid": {
488
+ "$ref": "#/definitions/CssParserGrid"
489
+ },
527
490
  "import": {
528
491
  "$ref": "#/definitions/CssParserImport"
529
492
  },
@@ -535,6 +498,34 @@
535
498
  }
536
499
  }
537
500
  },
501
+ "CssParserAnimation": {
502
+ "description": "Enable/disable renaming of `@keyframes`.",
503
+ "type": "boolean"
504
+ },
505
+ "CssParserContainer": {
506
+ "description": "Enable/disable renaming of `@container` names.",
507
+ "type": "boolean"
508
+ },
509
+ "CssParserCustomIdents": {
510
+ "description": "Enable/disable renaming of custom identifiers.",
511
+ "type": "boolean"
512
+ },
513
+ "CssParserDashedIdents": {
514
+ "description": "Enable/disable renaming of dashed identifiers, e. g. custom properties.",
515
+ "type": "boolean"
516
+ },
517
+ "CssParserExportType": {
518
+ "description": "Configure how CSS content is exported as default.",
519
+ "enum": ["link", "text", "css-style-sheet"]
520
+ },
521
+ "CssParserFunction": {
522
+ "description": "Enable/disable renaming of `@function` names.",
523
+ "type": "boolean"
524
+ },
525
+ "CssParserGrid": {
526
+ "description": "Enable/disable renaming of grid identifiers.",
527
+ "type": "boolean"
528
+ },
538
529
  "CssParserImport": {
539
530
  "description": "Enable/disable `@import` at-rules handling.",
540
531
  "type": "boolean"
@@ -548,6 +539,9 @@
548
539
  "type": "object",
549
540
  "additionalProperties": false,
550
541
  "properties": {
542
+ "exportType": {
543
+ "$ref": "#/definitions/CssParserExportType"
544
+ },
551
545
  "import": {
552
546
  "$ref": "#/definitions/CssParserImport"
553
547
  },
@@ -563,6 +557,11 @@
563
557
  "description": "Enable/disable `url()`/`image-set()`/`src()`/`image()` functions handling.",
564
558
  "type": "boolean"
565
559
  },
560
+ "DeferImportExperimentOptions": {
561
+ "description": "Options for defer import.",
562
+ "type": "boolean",
563
+ "required": ["asyncModule"]
564
+ },
566
565
  "Dependencies": {
567
566
  "description": "References to other configurations to depend on.",
568
567
  "type": "array",
@@ -604,7 +603,7 @@
604
603
  },
605
604
  {
606
605
  "instanceof": "Function",
607
- "tsType": "Function"
606
+ "tsType": "import('../lib/ModuleFilenameHelpers').ModuleFilenameTemplateFunction"
608
607
  }
609
608
  ]
610
609
  },
@@ -616,7 +615,7 @@
616
615
  },
617
616
  {
618
617
  "instanceof": "Function",
619
- "tsType": "Function"
618
+ "tsType": "import('../lib/ModuleFilenameHelpers').ModuleFilenameTemplateFunction"
620
619
  }
621
620
  ]
622
621
  },
@@ -624,6 +623,63 @@
624
623
  "description": "Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.",
625
624
  "type": "string"
626
625
  },
626
+ "Dotenv": {
627
+ "description": "Enable and configure the Dotenv plugin to load environment variables from .env files.",
628
+ "anyOf": [
629
+ {
630
+ "description": "Enable Dotenv plugin with default options.",
631
+ "type": "boolean"
632
+ },
633
+ {
634
+ "$ref": "#/definitions/DotenvPluginOptions"
635
+ }
636
+ ]
637
+ },
638
+ "DotenvPluginOptions": {
639
+ "description": "Options for Dotenv plugin.",
640
+ "type": "object",
641
+ "additionalProperties": false,
642
+ "properties": {
643
+ "dir": {
644
+ "description": "The directory from which .env files are loaded. Can be an absolute path, false will disable the .env file loading.",
645
+ "anyOf": [
646
+ {
647
+ "enum": [false]
648
+ },
649
+ {
650
+ "type": "string",
651
+ "absolutePath": true
652
+ }
653
+ ]
654
+ },
655
+ "prefix": {
656
+ "description": "Only expose environment variables that start with these prefixes. Defaults to 'WEBPACK_'.",
657
+ "anyOf": [
658
+ {
659
+ "type": "array",
660
+ "items": {
661
+ "description": "A prefix that environment variables must start with to be exposed.",
662
+ "type": "string",
663
+ "minLength": 1
664
+ }
665
+ },
666
+ {
667
+ "type": "string",
668
+ "minLength": 1
669
+ }
670
+ ]
671
+ },
672
+ "template": {
673
+ "description": "Template patterns for .env file names. Use [mode] as placeholder for the webpack mode. Defaults to ['.env', '.env.local', '.env.[mode]', '.env.[mode].local'].",
674
+ "type": "array",
675
+ "items": {
676
+ "description": "A template pattern for .env file names.",
677
+ "type": "string",
678
+ "minLength": 1
679
+ }
680
+ }
681
+ }
682
+ },
627
683
  "EmptyGeneratorOptions": {
628
684
  "description": "No generator options are supported for this module type.",
629
685
  "type": "object",
@@ -938,6 +994,14 @@
938
994
  "description": "The environment supports 'globalThis'.",
939
995
  "type": "boolean"
940
996
  },
997
+ "importMetaDirnameAndFilename": {
998
+ "description": "The environment supports `import.meta.dirname` and `import.meta.filename`.",
999
+ "type": "boolean"
1000
+ },
1001
+ "methodShorthand": {
1002
+ "description": "The environment supports object method shorthand ('{ module() {} }').",
1003
+ "type": "boolean"
1004
+ },
941
1005
  "module": {
942
1006
  "description": "The environment supports EcmaScript Module syntax to import EcmaScript modules (import ... from '...').",
943
1007
  "type": "boolean"
@@ -960,7 +1024,7 @@
960
1024
  "description": "Enables/Disables experiments (experimental features with relax SemVer compatibility).",
961
1025
  "type": "object",
962
1026
  "implements": ["#/definitions/ExperimentsCommon"],
963
- "additionalProperties": false,
1027
+ "additionalProperties": true,
964
1028
  "properties": {
965
1029
  "asyncWebAssembly": {
966
1030
  "description": "Support WebAssembly as asynchronous EcmaScript Module.",
@@ -989,12 +1053,12 @@
989
1053
  "description": "Enable css support.",
990
1054
  "type": "boolean"
991
1055
  },
992
- "futureDefaults": {
993
- "description": "Apply defaults of next major version.",
1056
+ "deferImport": {
1057
+ "description": "Enable experimental tc39 proposal https://github.com/tc39/proposal-defer-import-eval. This allows to defer execution of a module until it's first use.",
994
1058
  "type": "boolean"
995
1059
  },
996
- "layers": {
997
- "description": "Enable module layers.",
1060
+ "futureDefaults": {
1061
+ "description": "Apply defaults of next major version.",
998
1062
  "type": "boolean"
999
1063
  },
1000
1064
  "lazyCompilation": {
@@ -1015,10 +1079,6 @@
1015
1079
  "syncWebAssembly": {
1016
1080
  "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1017
1081
  "type": "boolean"
1018
- },
1019
- "topLevelAwait": {
1020
- "description": "Allow using top-level-await in EcmaScript Modules.",
1021
- "type": "boolean"
1022
1082
  }
1023
1083
  }
1024
1084
  },
@@ -1043,10 +1103,6 @@
1043
1103
  "description": "Apply defaults of next major version.",
1044
1104
  "type": "boolean"
1045
1105
  },
1046
- "layers": {
1047
- "description": "Enable module layers.",
1048
- "type": "boolean"
1049
- },
1050
1106
  "outputModule": {
1051
1107
  "description": "Allow output javascript files as module source type.",
1052
1108
  "type": "boolean"
@@ -1054,10 +1110,6 @@
1054
1110
  "syncWebAssembly": {
1055
1111
  "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1056
1112
  "type": "boolean"
1057
- },
1058
- "topLevelAwait": {
1059
- "description": "Allow using top-level-await in EcmaScript Modules.",
1060
- "type": "boolean"
1061
1113
  }
1062
1114
  }
1063
1115
  },
@@ -1091,12 +1143,12 @@
1091
1143
  "description": "Enable css support.",
1092
1144
  "type": "boolean"
1093
1145
  },
1094
- "futureDefaults": {
1095
- "description": "Apply defaults of next major version.",
1146
+ "deferImport": {
1147
+ "description": "Enable experimental tc39 proposal https://github.com/tc39/proposal-defer-import-eval. This allows to defer execution of a module until it's first use.",
1096
1148
  "type": "boolean"
1097
1149
  },
1098
- "layers": {
1099
- "description": "Enable module layers.",
1150
+ "futureDefaults": {
1151
+ "description": "Apply defaults of next major version.",
1100
1152
  "type": "boolean"
1101
1153
  },
1102
1154
  "lazyCompilation": {
@@ -1117,10 +1169,6 @@
1117
1169
  "syncWebAssembly": {
1118
1170
  "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1119
1171
  "type": "boolean"
1120
- },
1121
- "topLevelAwait": {
1122
- "description": "Allow using top-level-await in EcmaScript Modules.",
1123
- "type": "boolean"
1124
1172
  }
1125
1173
  }
1126
1174
  },
@@ -1179,40 +1227,30 @@
1179
1227
  }
1180
1228
  },
1181
1229
  {
1182
- "description": "The function is called on each dependency (`function(context, request, callback(err, result))`).",
1183
- "instanceof": "Function",
1184
- "tsType": "(((data: ExternalItemFunctionData, callback: (err?: (Error | null), result?: ExternalItemValue) => void) => void) | ((data: ExternalItemFunctionData) => Promise<ExternalItemValue>))"
1230
+ "$ref": "#/definitions/ExternalItemFunction"
1185
1231
  }
1186
1232
  ]
1187
1233
  },
1188
- "ExternalItemFunctionData": {
1189
- "description": "Data object passed as argument when a function is set for 'externals'.",
1190
- "type": "object",
1191
- "additionalProperties": false,
1192
- "properties": {
1193
- "context": {
1194
- "description": "The directory in which the request is placed.",
1195
- "type": "string"
1196
- },
1197
- "contextInfo": {
1198
- "description": "Contextual information.",
1199
- "type": "object",
1200
- "tsType": "import('../lib/ModuleFactory').ModuleFactoryCreateDataContextInfo"
1201
- },
1202
- "dependencyType": {
1203
- "description": "The category of the referencing dependencies.",
1204
- "type": "string"
1205
- },
1206
- "getResolve": {
1207
- "description": "Get a resolve function with the current resolver options.",
1208
- "instanceof": "Function",
1209
- "tsType": "((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error, result?: string) => void) => void) | ((context: string, request: string) => Promise<string>))"
1234
+ "ExternalItemFunction": {
1235
+ "description": "The function is called on each dependency.",
1236
+ "anyOf": [
1237
+ {
1238
+ "$ref": "#/definitions/ExternalItemFunctionCallback"
1210
1239
  },
1211
- "request": {
1212
- "description": "The request as written by the user in the require/import expression/statement.",
1213
- "type": "string"
1240
+ {
1241
+ "$ref": "#/definitions/ExternalItemFunctionPromise"
1214
1242
  }
1215
- }
1243
+ ]
1244
+ },
1245
+ "ExternalItemFunctionCallback": {
1246
+ "description": "The function is called on each dependency (`function(context, request, callback(err, result))`).",
1247
+ "instanceof": "Function",
1248
+ "tsType": "(import(\"../lib/ExternalModuleFactoryPlugin\").ExternalItemFunctionCallback)"
1249
+ },
1250
+ "ExternalItemFunctionPromise": {
1251
+ "description": "The function is called on each dependency (`function(context, request)`).",
1252
+ "instanceof": "Function",
1253
+ "tsType": "(import(\"../lib/ExternalModuleFactoryPlugin\").ExternalItemFunctionPromise)"
1216
1254
  },
1217
1255
  "ExternalItemValue": {
1218
1256
  "description": "The dependency used for the external.",
@@ -1315,7 +1353,10 @@
1315
1353
  "import",
1316
1354
  "module-import",
1317
1355
  "script",
1318
- "node-commonjs"
1356
+ "node-commonjs",
1357
+ "asset",
1358
+ "css-import",
1359
+ "css-url"
1319
1360
  ]
1320
1361
  },
1321
1362
  "Falsy": {
@@ -1396,8 +1437,7 @@
1396
1437
  {
1397
1438
  "description": "A path to an immutable directory (usually a package manager cache directory).",
1398
1439
  "type": "string",
1399
- "absolutePath": true,
1400
- "minLength": 1
1440
+ "absolutePath": true
1401
1441
  }
1402
1442
  ]
1403
1443
  }
@@ -1416,8 +1456,7 @@
1416
1456
  {
1417
1457
  "description": "A path to a managed directory (usually a node_modules directory).",
1418
1458
  "type": "string",
1419
- "absolutePath": true,
1420
- "minLength": 1
1459
+ "absolutePath": true
1421
1460
  }
1422
1461
  ]
1423
1462
  }
@@ -1481,7 +1520,7 @@
1481
1520
  },
1482
1521
  {
1483
1522
  "instanceof": "Function",
1484
- "tsType": "((pathData: import(\"../lib/Compilation\").PathData, assetInfo?: import(\"../lib/Compilation\").AssetInfo) => string)"
1523
+ "tsType": "(import(\"../lib/TemplatedPathPlugin\").TemplatePathFn)"
1485
1524
  }
1486
1525
  ]
1487
1526
  },
@@ -1542,20 +1581,26 @@
1542
1581
  "asset": {
1543
1582
  "$ref": "#/definitions/AssetGeneratorOptions"
1544
1583
  },
1584
+ "asset/bytes": {
1585
+ "$ref": "#/definitions/EmptyGeneratorOptions"
1586
+ },
1545
1587
  "asset/inline": {
1546
1588
  "$ref": "#/definitions/AssetInlineGeneratorOptions"
1547
1589
  },
1548
1590
  "asset/resource": {
1549
1591
  "$ref": "#/definitions/AssetResourceGeneratorOptions"
1550
1592
  },
1593
+ "asset/source": {
1594
+ "$ref": "#/definitions/EmptyGeneratorOptions"
1595
+ },
1551
1596
  "css": {
1552
1597
  "$ref": "#/definitions/CssGeneratorOptions"
1553
1598
  },
1554
1599
  "css/auto": {
1555
- "$ref": "#/definitions/CssAutoGeneratorOptions"
1600
+ "$ref": "#/definitions/CssModuleGeneratorOptions"
1556
1601
  },
1557
1602
  "css/global": {
1558
- "$ref": "#/definitions/CssGlobalGeneratorOptions"
1603
+ "$ref": "#/definitions/CssModuleGeneratorOptions"
1559
1604
  },
1560
1605
  "css/module": {
1561
1606
  "$ref": "#/definitions/CssModuleGeneratorOptions"
@@ -1571,6 +1616,9 @@
1571
1616
  },
1572
1617
  "javascript/esm": {
1573
1618
  "$ref": "#/definitions/EmptyGeneratorOptions"
1619
+ },
1620
+ "json": {
1621
+ "$ref": "#/definitions/JsonGeneratorOptions"
1574
1622
  }
1575
1623
  }
1576
1624
  },
@@ -1580,7 +1628,7 @@
1580
1628
  "minLength": 1
1581
1629
  },
1582
1630
  "HashDigest": {
1583
- "description": "Digest type used for the hash.",
1631
+ "description": "Digest types used for the hash.",
1584
1632
  "type": "string"
1585
1633
  },
1586
1634
  "HashDigestLength": {
@@ -1730,7 +1778,7 @@
1730
1778
  {
1731
1779
  "description": "A custom function to select warnings based on the raw warning instance.",
1732
1780
  "instanceof": "Function",
1733
- "tsType": "((warning: import('../lib/WebpackError'), compilation: import('../lib/Compilation')) => boolean)"
1781
+ "tsType": "((warning: Error, compilation: import('../lib/Compilation')) => boolean)"
1734
1782
  }
1735
1783
  ]
1736
1784
  }
@@ -1741,7 +1789,7 @@
1741
1789
  "items": {
1742
1790
  "description": "A function to select warnings based on the raw warning instance.",
1743
1791
  "instanceof": "Function",
1744
- "tsType": "((warning: import('../lib/WebpackError'), compilation: import('../lib/Compilation')) => boolean)"
1792
+ "tsType": "((warning: Error, compilation: import('../lib/Compilation')) => boolean)"
1745
1793
  }
1746
1794
  },
1747
1795
  "Iife": {
@@ -1791,14 +1839,14 @@
1791
1839
  },
1792
1840
  "stream": {
1793
1841
  "description": "Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided.",
1794
- "tsType": "NodeJS.WritableStream"
1842
+ "tsType": "NodeJS.WritableStream & { isTTY?: boolean, columns?: number, rows?: number }"
1795
1843
  }
1796
1844
  }
1797
1845
  },
1798
1846
  "JavascriptParserOptions": {
1799
1847
  "description": "Parser options for javascript modules.",
1800
1848
  "type": "object",
1801
- "additionalProperties": true,
1849
+ "additionalProperties": false,
1802
1850
  "properties": {
1803
1851
  "amd": {
1804
1852
  "$ref": "#/definitions/Amd"
@@ -1826,6 +1874,10 @@
1826
1874
  }
1827
1875
  ]
1828
1876
  },
1877
+ "deferImport": {
1878
+ "description": "Enable experimental tc39 proposal https://github.com/tc39/proposal-defer-import-eval. This allows to defer execution of a module until it's first use.",
1879
+ "type": "boolean"
1880
+ },
1829
1881
  "dynamicImportFetchPriority": {
1830
1882
  "description": "Specifies global fetchPriority for dynamic import.",
1831
1883
  "enum": ["low", "high", "auto", false]
@@ -1856,6 +1908,10 @@
1856
1908
  }
1857
1909
  ]
1858
1910
  },
1911
+ "dynamicUrl": {
1912
+ "description": "Enable/disable parsing of dynamic URL.",
1913
+ "type": "boolean"
1914
+ },
1859
1915
  "exportsPresence": {
1860
1916
  "description": "Specifies the behavior of invalid export names in \"import ... from ...\" and \"export ... from ...\".",
1861
1917
  "enum": ["error", "warn", "auto", false]
@@ -1911,6 +1967,11 @@
1911
1967
  "description": "Override the module to strict or non-strict. This may affect the behavior of the module (some behaviors differ between strict and non-strict), so please configure this option carefully.",
1912
1968
  "enum": ["strict", "non-strict"]
1913
1969
  },
1970
+ "parse": {
1971
+ "description": "Function to parser source code.",
1972
+ "instanceof": "Function",
1973
+ "tsType": "(import('../lib/javascript/JavascriptParser').ParseFunction)"
1974
+ },
1914
1975
  "reexportExportsPresence": {
1915
1976
  "description": "Specifies the behavior of invalid export names in \"export ... from ...\". This might be useful to disable during the migration from \"export ... from ...\" to \"export type ... from ...\" when reexporting types in TypeScript.",
1916
1977
  "enum": ["error", "warn", "auto", false]
@@ -2009,6 +2070,37 @@
2009
2070
  }
2010
2071
  }
2011
2072
  },
2073
+ "JsonGeneratorOptions": {
2074
+ "description": "Generator options for json modules.",
2075
+ "type": "object",
2076
+ "additionalProperties": false,
2077
+ "properties": {
2078
+ "JSONParse": {
2079
+ "description": "Use `JSON.parse` when the JSON string is longer than 20 characters.",
2080
+ "type": "boolean"
2081
+ }
2082
+ }
2083
+ },
2084
+ "JsonParserOptions": {
2085
+ "description": "Parser options for JSON modules.",
2086
+ "type": "object",
2087
+ "additionalProperties": false,
2088
+ "properties": {
2089
+ "exportsDepth": {
2090
+ "description": "The depth of json dependency flagged as `exportInfo`.",
2091
+ "type": "number"
2092
+ },
2093
+ "namedExports": {
2094
+ "description": "Allow named exports for json of object type.",
2095
+ "type": "boolean"
2096
+ },
2097
+ "parse": {
2098
+ "description": "Function to parser content and return JSON.",
2099
+ "instanceof": "Function",
2100
+ "tsType": "(import('../lib/json/JsonParser').ParseFn)"
2101
+ }
2102
+ }
2103
+ },
2012
2104
  "Layer": {
2013
2105
  "description": "Specifies the layer in which modules of this entrypoint are placed.",
2014
2106
  "anyOf": [
@@ -2056,7 +2148,7 @@
2056
2148
  {
2057
2149
  "description": "A custom listen function.",
2058
2150
  "instanceof": "Function",
2059
- "tsType": "((server: import(\"net\").Server) => void)"
2151
+ "tsType": "import(\"../lib/hmr/lazyCompilationBackend\").Listen"
2060
2152
  }
2061
2153
  ]
2062
2154
  },
@@ -2072,12 +2164,12 @@
2072
2164
  "type": "object",
2073
2165
  "additionalProperties": true,
2074
2166
  "properties": {},
2075
- "tsType": "(import(\"https\").ServerOptions | import(\"http\").ServerOptions)"
2167
+ "tsType": "(import(\"../lib/hmr/lazyCompilationBackend\").HttpsServerOptions | import(\"../lib/hmr/lazyCompilationBackend\").HttpServerOptions)"
2076
2168
  },
2077
2169
  {
2078
2170
  "description": "A custom create server function.",
2079
2171
  "instanceof": "Function",
2080
- "tsType": "(() => import(\"net\").Server)"
2172
+ "tsType": "(import(\"../lib/hmr/lazyCompilationBackend\").CreateServerFunction)"
2081
2173
  }
2082
2174
  ]
2083
2175
  }
@@ -2094,7 +2186,7 @@
2094
2186
  {
2095
2187
  "description": "A custom backend.",
2096
2188
  "instanceof": "Function",
2097
- "tsType": "(((compiler: import('../lib/Compiler'), callback: (err: Error | null, api?: import(\"../lib/hmr/LazyCompilationPlugin\").BackendApi) => void) => void) | ((compiler: import('../lib/Compiler')) => Promise<import(\"../lib/hmr/LazyCompilationPlugin\").BackendApi>))"
2189
+ "tsType": "(import(\"../lib/hmr/LazyCompilationPlugin\").BackEnd)"
2098
2190
  },
2099
2191
  {
2100
2192
  "$ref": "#/definitions/LazyCompilationDefaultBackendOptions"
@@ -2121,7 +2213,7 @@
2121
2213
  },
2122
2214
  {
2123
2215
  "instanceof": "Function",
2124
- "tsType": "((module: import('../lib/Module')) => boolean)"
2216
+ "tsType": "(import('../lib/hmr/LazyCompilationPlugin').TestFn)"
2125
2217
  }
2126
2218
  ]
2127
2219
  }
@@ -2460,7 +2552,7 @@
2460
2552
  },
2461
2553
  {
2462
2554
  "instanceof": "Function",
2463
- "tsType": "Function"
2555
+ "tsType": "((module: import('../lib/Module')) => boolean)"
2464
2556
  }
2465
2557
  ]
2466
2558
  },
@@ -2520,7 +2612,7 @@
2520
2612
  },
2521
2613
  {
2522
2614
  "instanceof": "Function",
2523
- "tsType": "Function"
2615
+ "tsType": "((module: import('../lib/Module')) => boolean)"
2524
2616
  }
2525
2617
  ]
2526
2618
  }
@@ -2551,7 +2643,7 @@
2551
2643
  },
2552
2644
  {
2553
2645
  "instanceof": "Function",
2554
- "tsType": "Function"
2646
+ "tsType": "((content: string) => boolean)"
2555
2647
  }
2556
2648
  ]
2557
2649
  },
@@ -2569,7 +2661,7 @@
2569
2661
  },
2570
2662
  {
2571
2663
  "instanceof": "Function",
2572
- "tsType": "Function"
2664
+ "tsType": "((content: string) => boolean)"
2573
2665
  }
2574
2666
  ]
2575
2667
  },
@@ -2770,6 +2862,170 @@
2770
2862
  }
2771
2863
  }
2772
2864
  },
2865
+ "OptimizationNormalized": {
2866
+ "description": "Enables/Disables integrated optimizations.",
2867
+ "type": "object",
2868
+ "additionalProperties": false,
2869
+ "properties": {
2870
+ "avoidEntryIife": {
2871
+ "description": "Avoid wrapping the entry module in an IIFE.",
2872
+ "type": "boolean"
2873
+ },
2874
+ "checkWasmTypes": {
2875
+ "description": "Check for incompatible wasm types when importing/exporting from/to ESM.",
2876
+ "type": "boolean"
2877
+ },
2878
+ "chunkIds": {
2879
+ "description": "Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).",
2880
+ "enum": [
2881
+ "natural",
2882
+ "named",
2883
+ "deterministic",
2884
+ "size",
2885
+ "total-size",
2886
+ false
2887
+ ]
2888
+ },
2889
+ "concatenateModules": {
2890
+ "description": "Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.",
2891
+ "type": "boolean"
2892
+ },
2893
+ "emitOnErrors": {
2894
+ "description": "Emit assets even when errors occur. Critical errors are emitted into the generated code and will cause errors at runtime.",
2895
+ "type": "boolean"
2896
+ },
2897
+ "flagIncludedChunks": {
2898
+ "description": "Also flag chunks as loaded which contain a subset of the modules.",
2899
+ "type": "boolean"
2900
+ },
2901
+ "innerGraph": {
2902
+ "description": "Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.",
2903
+ "type": "boolean"
2904
+ },
2905
+ "mangleExports": {
2906
+ "description": "Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports, true/\"deterministic\": generate short deterministic names optimized for caching, \"size\": generate the shortest possible names).",
2907
+ "anyOf": [
2908
+ {
2909
+ "enum": ["size", "deterministic"]
2910
+ },
2911
+ {
2912
+ "type": "boolean"
2913
+ }
2914
+ ]
2915
+ },
2916
+ "mangleWasmImports": {
2917
+ "description": "Reduce size of WASM by changing imports to shorter strings.",
2918
+ "type": "boolean"
2919
+ },
2920
+ "mergeDuplicateChunks": {
2921
+ "description": "Merge chunks which contain the same modules.",
2922
+ "type": "boolean"
2923
+ },
2924
+ "minimize": {
2925
+ "description": "Enable minimizing the output. Uses optimization.minimizer.",
2926
+ "type": "boolean"
2927
+ },
2928
+ "minimizer": {
2929
+ "description": "Minimizer(s) to use for minimizing the output.",
2930
+ "type": "array",
2931
+ "cli": {
2932
+ "exclude": true
2933
+ },
2934
+ "items": {
2935
+ "description": "Plugin of type object or instanceof Function.",
2936
+ "anyOf": [
2937
+ {
2938
+ "enum": ["..."]
2939
+ },
2940
+ {
2941
+ "$ref": "#/definitions/WebpackPluginInstance"
2942
+ },
2943
+ {
2944
+ "$ref": "#/definitions/WebpackPluginFunction"
2945
+ }
2946
+ ]
2947
+ }
2948
+ },
2949
+ "moduleIds": {
2950
+ "description": "Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).",
2951
+ "enum": ["natural", "named", "hashed", "deterministic", "size", false]
2952
+ },
2953
+ "noEmitOnErrors": {
2954
+ "description": "Avoid emitting assets when errors occur (deprecated: use 'emitOnErrors' instead).",
2955
+ "type": "boolean",
2956
+ "cli": {
2957
+ "exclude": true
2958
+ }
2959
+ },
2960
+ "nodeEnv": {
2961
+ "description": "Set process.env.NODE_ENV to a specific value.",
2962
+ "anyOf": [
2963
+ {
2964
+ "enum": [false]
2965
+ },
2966
+ {
2967
+ "type": "string"
2968
+ }
2969
+ ]
2970
+ },
2971
+ "portableRecords": {
2972
+ "description": "Generate records with relative paths to be able to move the context folder.",
2973
+ "type": "boolean"
2974
+ },
2975
+ "providedExports": {
2976
+ "description": "Figure out which exports are provided by modules to generate more efficient code.",
2977
+ "type": "boolean"
2978
+ },
2979
+ "realContentHash": {
2980
+ "description": "Use real [contenthash] based on final content of the assets.",
2981
+ "type": "boolean"
2982
+ },
2983
+ "removeAvailableModules": {
2984
+ "description": "Removes modules from chunks when these modules are already included in all parents.",
2985
+ "type": "boolean"
2986
+ },
2987
+ "removeEmptyChunks": {
2988
+ "description": "Remove chunks which are empty.",
2989
+ "type": "boolean"
2990
+ },
2991
+ "runtimeChunk": {
2992
+ "$ref": "#/definitions/OptimizationRuntimeChunkNormalized"
2993
+ },
2994
+ "sideEffects": {
2995
+ "description": "Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).",
2996
+ "anyOf": [
2997
+ {
2998
+ "enum": ["flag"]
2999
+ },
3000
+ {
3001
+ "type": "boolean"
3002
+ }
3003
+ ]
3004
+ },
3005
+ "splitChunks": {
3006
+ "description": "Optimize duplication and caching by splitting chunks by shared modules and cache group.",
3007
+ "anyOf": [
3008
+ {
3009
+ "enum": [false]
3010
+ },
3011
+ {
3012
+ "$ref": "#/definitions/OptimizationSplitChunksOptions"
3013
+ }
3014
+ ]
3015
+ },
3016
+ "usedExports": {
3017
+ "description": "Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code (true: analyse used exports for each runtime, \"global\": analyse exports globally for all runtimes combined).",
3018
+ "anyOf": [
3019
+ {
3020
+ "enum": ["global"]
3021
+ },
3022
+ {
3023
+ "type": "boolean"
3024
+ }
3025
+ ]
3026
+ }
3027
+ }
3028
+ },
2773
3029
  "OptimizationRuntimeChunk": {
2774
3030
  "description": "Create an additional chunk which contains only the webpack runtime and chunk hash maps.",
2775
3031
  "anyOf": [
@@ -2791,7 +3047,7 @@
2791
3047
  },
2792
3048
  {
2793
3049
  "instanceof": "Function",
2794
- "tsType": "Function"
3050
+ "tsType": "import('../lib/optimize/RuntimeChunkPlugin').RuntimeChunkFunction"
2795
3051
  }
2796
3052
  ]
2797
3053
  }
@@ -2812,7 +3068,7 @@
2812
3068
  "name": {
2813
3069
  "description": "The name factory for the runtime chunks.",
2814
3070
  "instanceof": "Function",
2815
- "tsType": "Function"
3071
+ "tsType": "import('../lib/optimize/RuntimeChunkPlugin').RuntimeChunkFunction"
2816
3072
  }
2817
3073
  }
2818
3074
  }
@@ -2840,7 +3096,7 @@
2840
3096
  },
2841
3097
  {
2842
3098
  "instanceof": "Function",
2843
- "tsType": "((chunk: import('../lib/Chunk')) => boolean)"
3099
+ "tsType": "(import('../lib/optimize/SplitChunksPlugin').ChunkFilterFn)"
2844
3100
  }
2845
3101
  ]
2846
3102
  },
@@ -2866,7 +3122,7 @@
2866
3122
  },
2867
3123
  {
2868
3124
  "instanceof": "Function",
2869
- "tsType": "((pathData: import(\"../lib/Compilation\").PathData, assetInfo?: import(\"../lib/Compilation\").AssetInfo) => string)"
3125
+ "tsType": "(import(\"../lib/TemplatedPathPlugin\").TemplatePathFn)"
2870
3126
  }
2871
3127
  ]
2872
3128
  },
@@ -2886,7 +3142,7 @@
2886
3142
  },
2887
3143
  {
2888
3144
  "instanceof": "Function",
2889
- "tsType": "Function"
3145
+ "tsType": "((layer: string | null) => boolean)"
2890
3146
  }
2891
3147
  ]
2892
3148
  },
@@ -2964,7 +3220,7 @@
2964
3220
  },
2965
3221
  {
2966
3222
  "instanceof": "Function",
2967
- "tsType": "Function"
3223
+ "tsType": "(import('../lib/optimize/SplitChunksPlugin').GetNameFn)"
2968
3224
  }
2969
3225
  ]
2970
3226
  },
@@ -2988,7 +3244,7 @@
2988
3244
  },
2989
3245
  {
2990
3246
  "instanceof": "Function",
2991
- "tsType": "Function"
3247
+ "tsType": "((module: import('../lib/Module'), context: import('../lib/optimize/SplitChunksPlugin').CacheGroupsContext) => boolean)"
2992
3248
  }
2993
3249
  ]
2994
3250
  },
@@ -3004,7 +3260,7 @@
3004
3260
  },
3005
3261
  {
3006
3262
  "instanceof": "Function",
3007
- "tsType": "Function"
3263
+ "tsType": "((type: string) => boolean)"
3008
3264
  }
3009
3265
  ]
3010
3266
  },
@@ -3046,8 +3302,7 @@
3046
3302
  "type": "string"
3047
3303
  },
3048
3304
  {
3049
- "instanceof": "Function",
3050
- "tsType": "Function"
3305
+ "$ref": "#/definitions/OptimizationSplitChunksGetCacheGroups"
3051
3306
  },
3052
3307
  {
3053
3308
  "$ref": "#/definitions/OptimizationSplitChunksCacheGroup"
@@ -3070,8 +3325,7 @@
3070
3325
  "type": "string"
3071
3326
  },
3072
3327
  {
3073
- "instanceof": "Function",
3074
- "tsType": "Function"
3328
+ "$ref": "#/definitions/OptimizationSplitChunksGetCacheGroups"
3075
3329
  }
3076
3330
  ]
3077
3331
  }
@@ -3091,7 +3345,7 @@
3091
3345
  },
3092
3346
  {
3093
3347
  "instanceof": "Function",
3094
- "tsType": "((chunk: import('../lib/Chunk')) => boolean)"
3348
+ "tsType": "(import('../lib/optimize/SplitChunksPlugin').ChunkFilterFn)"
3095
3349
  }
3096
3350
  ]
3097
3351
  },
@@ -3100,7 +3354,8 @@
3100
3354
  "type": "array",
3101
3355
  "items": {
3102
3356
  "description": "Size type, like 'javascript', 'webassembly'.",
3103
- "type": "string"
3357
+ "type": "string",
3358
+ "tsType": "(import(\"../lib/Module\").SourceType)"
3104
3359
  },
3105
3360
  "minItems": 1
3106
3361
  },
@@ -3134,7 +3389,7 @@
3134
3389
  },
3135
3390
  {
3136
3391
  "instanceof": "Function",
3137
- "tsType": "((chunk: import('../lib/Chunk')) => boolean)"
3392
+ "tsType": "(import('../lib/optimize/SplitChunksPlugin').ChunkFilterFn)"
3138
3393
  }
3139
3394
  ]
3140
3395
  },
@@ -3190,7 +3445,7 @@
3190
3445
  },
3191
3446
  {
3192
3447
  "instanceof": "Function",
3193
- "tsType": "((pathData: import(\"../lib/Compilation\").PathData, assetInfo?: import(\"../lib/Compilation\").AssetInfo) => string)"
3448
+ "tsType": "(import(\"../lib/TemplatedPathPlugin\").TemplatePathFn)"
3194
3449
  }
3195
3450
  ]
3196
3451
  },
@@ -3272,7 +3527,7 @@
3272
3527
  },
3273
3528
  {
3274
3529
  "instanceof": "Function",
3275
- "tsType": "Function"
3530
+ "tsType": "(import('../lib/optimize/SplitChunksPlugin').GetNameFn)"
3276
3531
  }
3277
3532
  ]
3278
3533
  },
@@ -3708,6 +3963,9 @@
3708
3963
  "asset": {
3709
3964
  "$ref": "#/definitions/AssetParserOptions"
3710
3965
  },
3966
+ "asset/bytes": {
3967
+ "$ref": "#/definitions/EmptyParserOptions"
3968
+ },
3711
3969
  "asset/inline": {
3712
3970
  "$ref": "#/definitions/EmptyParserOptions"
3713
3971
  },
@@ -3721,10 +3979,10 @@
3721
3979
  "$ref": "#/definitions/CssParserOptions"
3722
3980
  },
3723
3981
  "css/auto": {
3724
- "$ref": "#/definitions/CssAutoParserOptions"
3982
+ "$ref": "#/definitions/CssModuleParserOptions"
3725
3983
  },
3726
3984
  "css/global": {
3727
- "$ref": "#/definitions/CssGlobalParserOptions"
3985
+ "$ref": "#/definitions/CssModuleParserOptions"
3728
3986
  },
3729
3987
  "css/module": {
3730
3988
  "$ref": "#/definitions/CssModuleParserOptions"
@@ -3740,6 +3998,9 @@
3740
3998
  },
3741
3999
  "javascript/esm": {
3742
4000
  "$ref": "#/definitions/JavascriptParserOptions"
4001
+ },
4002
+ "json": {
4003
+ "$ref": "#/definitions/JsonParserOptions"
3743
4004
  }
3744
4005
  }
3745
4006
  },
@@ -3778,7 +4039,7 @@
3778
4039
  "assetFilter": {
3779
4040
  "description": "Filter function to select assets that are checked.",
3780
4041
  "instanceof": "Function",
3781
- "tsType": "Function"
4042
+ "tsType": "((name: import('../lib/Compilation').Asset['name'], source: import('../lib/Compilation').Asset['source'], assetInfo: import('../lib/Compilation').Asset['info']) => boolean)"
3782
4043
  },
3783
4044
  "hints": {
3784
4045
  "description": "Sets the format of the hints: warnings, errors or nothing at all.",
@@ -3812,6 +4073,21 @@
3812
4073
  ]
3813
4074
  }
3814
4075
  },
4076
+ "PluginsNormalized": {
4077
+ "description": "Add additional plugins to the compiler.",
4078
+ "type": "array",
4079
+ "items": {
4080
+ "description": "Plugin of type object or instanceof Function.",
4081
+ "anyOf": [
4082
+ {
4083
+ "$ref": "#/definitions/WebpackPluginInstance"
4084
+ },
4085
+ {
4086
+ "$ref": "#/definitions/WebpackPluginFunction"
4087
+ }
4088
+ ]
4089
+ }
4090
+ },
3815
4091
  "Profile": {
3816
4092
  "description": "Capture timing information for each module.",
3817
4093
  "type": "boolean"
@@ -3835,7 +4111,7 @@
3835
4111
  },
3836
4112
  {
3837
4113
  "instanceof": "Function",
3838
- "tsType": "((pathData: import(\"../lib/Compilation\").PathData, assetInfo?: import(\"../lib/Compilation\").AssetInfo) => string)"
4114
+ "tsType": "(import(\"../lib/TemplatedPathPlugin\").TemplatePathFn)"
3839
4115
  }
3840
4116
  ]
3841
4117
  },
@@ -4186,8 +4462,7 @@
4186
4462
  },
4187
4463
  {
4188
4464
  "type": "string",
4189
- "absolutePath": true,
4190
- "minLength": 1
4465
+ "absolutePath": true
4191
4466
  }
4192
4467
  ]
4193
4468
  }
@@ -4471,6 +4746,10 @@
4471
4746
  }
4472
4747
  ]
4473
4748
  },
4749
+ "extractSourceMap": {
4750
+ "description": "Enable/Disable extracting source map.",
4751
+ "type": "boolean"
4752
+ },
4474
4753
  "generator": {
4475
4754
  "description": "The options for the module generator.",
4476
4755
  "type": "object"
@@ -4686,14 +4965,18 @@
4686
4965
  }
4687
4966
  },
4688
4967
  {
4689
- "instanceof": "Function",
4690
- "tsType": "((data: { resource: string, realResource: string, resourceQuery: string, issuer: string, compiler: string }) => (Falsy | RuleSetUseItem)[])"
4968
+ "$ref": "#/definitions/RuleSetUseFunction"
4691
4969
  },
4692
4970
  {
4693
4971
  "$ref": "#/definitions/RuleSetUseItem"
4694
4972
  }
4695
4973
  ]
4696
4974
  },
4975
+ "RuleSetUseFunction": {
4976
+ "description": "The function is called on each data and return rule set item.",
4977
+ "instanceof": "Function",
4978
+ "tsType": "((data: import('../lib/rules/RuleSetCompiler').EffectData) => (RuleSetUseItem | (Falsy | RuleSetUseItem)[]))"
4979
+ },
4697
4980
  "RuleSetUseItem": {
4698
4981
  "description": "A description of an applied loader.",
4699
4982
  "anyOf": [
@@ -4724,8 +5007,7 @@
4724
5007
  }
4725
5008
  },
4726
5009
  {
4727
- "instanceof": "Function",
4728
- "tsType": "((data: object) => RuleSetUseItem | (Falsy | RuleSetUseItem)[])"
5010
+ "$ref": "#/definitions/RuleSetUseFunction"
4729
5011
  },
4730
5012
  {
4731
5013
  "$ref": "#/definitions/RuleSetLoader"
@@ -4756,6 +5038,21 @@
4756
5038
  }
4757
5039
  }
4758
5040
  },
5041
+ "contextModule": {
5042
+ "description": "Options for snapshotting the context module to determine if it needs to be built again.",
5043
+ "type": "object",
5044
+ "additionalProperties": false,
5045
+ "properties": {
5046
+ "hash": {
5047
+ "description": "Use hashes of the content of the files/directories to determine invalidation.",
5048
+ "type": "boolean"
5049
+ },
5050
+ "timestamp": {
5051
+ "description": "Use timestamps of the files/directories to determine invalidation.",
5052
+ "type": "boolean"
5053
+ }
5054
+ }
5055
+ },
4759
5056
  "immutablePaths": {
4760
5057
  "description": "List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.",
4761
5058
  "type": "array",
@@ -4770,8 +5067,7 @@
4770
5067
  {
4771
5068
  "description": "A path to an immutable directory (usually a package manager cache directory).",
4772
5069
  "type": "string",
4773
- "absolutePath": true,
4774
- "minLength": 1
5070
+ "absolutePath": true
4775
5071
  }
4776
5072
  ]
4777
5073
  }
@@ -4790,8 +5086,7 @@
4790
5086
  {
4791
5087
  "description": "A path to a managed directory (usually a node_modules directory).",
4792
5088
  "type": "string",
4793
- "absolutePath": true,
4794
- "minLength": 1
5089
+ "absolutePath": true
4795
5090
  }
4796
5091
  ]
4797
5092
  }
@@ -4855,8 +5150,7 @@
4855
5150
  {
4856
5151
  "description": "A path to an unmanaged directory.",
4857
5152
  "type": "string",
4858
- "absolutePath": true,
4859
- "minLength": 1
5153
+ "absolutePath": true
4860
5154
  }
4861
5155
  ]
4862
5156
  }
@@ -4887,7 +5181,14 @@
4887
5181
  },
4888
5182
  "assetsSort": {
4889
5183
  "description": "Sort the assets by that field.",
4890
- "type": "string"
5184
+ "anyOf": [
5185
+ {
5186
+ "enum": [false]
5187
+ },
5188
+ {
5189
+ "type": "string"
5190
+ }
5191
+ ]
4891
5192
  },
4892
5193
  "assetsSpace": {
4893
5194
  "description": "Space to display assets (groups will be collapsed to fit this space).",
@@ -4911,7 +5212,17 @@
4911
5212
  },
4912
5213
  "children": {
4913
5214
  "description": "Add children information.",
4914
- "type": "boolean"
5215
+ "anyOf": [
5216
+ {
5217
+ "type": "array",
5218
+ "items": {
5219
+ "$ref": "#/definitions/StatsValue"
5220
+ }
5221
+ },
5222
+ {
5223
+ "$ref": "#/definitions/StatsValue"
5224
+ }
5225
+ ]
4915
5226
  },
4916
5227
  "chunkGroupAuxiliary": {
4917
5228
  "description": "Display auxiliary assets in chunk groups.",
@@ -4951,7 +5262,14 @@
4951
5262
  },
4952
5263
  "chunksSort": {
4953
5264
  "description": "Sort the chunks by that field.",
4954
- "type": "string"
5265
+ "anyOf": [
5266
+ {
5267
+ "enum": [false]
5268
+ },
5269
+ {
5270
+ "type": "string"
5271
+ }
5272
+ ]
4955
5273
  },
4956
5274
  "colors": {
4957
5275
  "description": "Enables/Disables colorful output.",
@@ -5020,6 +5338,17 @@
5020
5338
  "description": "Add --env information.",
5021
5339
  "type": "boolean"
5022
5340
  },
5341
+ "errorCause": {
5342
+ "description": "Add cause to errors.",
5343
+ "anyOf": [
5344
+ {
5345
+ "enum": ["auto"]
5346
+ },
5347
+ {
5348
+ "type": "boolean"
5349
+ }
5350
+ ]
5351
+ },
5023
5352
  "errorDetails": {
5024
5353
  "description": "Add details to errors (like resolving log).",
5025
5354
  "anyOf": [
@@ -5031,6 +5360,17 @@
5031
5360
  }
5032
5361
  ]
5033
5362
  },
5363
+ "errorErrors": {
5364
+ "description": "Add nested errors to errors (like in AggregateError).",
5365
+ "anyOf": [
5366
+ {
5367
+ "enum": ["auto"]
5368
+ },
5369
+ {
5370
+ "type": "boolean"
5371
+ }
5372
+ ]
5373
+ },
5034
5374
  "errorStack": {
5035
5375
  "description": "Add internal stack trace to errors.",
5036
5376
  "type": "boolean"
@@ -5179,7 +5519,14 @@
5179
5519
  },
5180
5520
  "modulesSort": {
5181
5521
  "description": "Sort the modules by that field.",
5182
- "type": "string"
5522
+ "anyOf": [
5523
+ {
5524
+ "enum": [false]
5525
+ },
5526
+ {
5527
+ "type": "string"
5528
+ }
5529
+ ]
5183
5530
  },
5184
5531
  "modulesSpace": {
5185
5532
  "description": "Space to display modules (groups will be collapsed to fit this space, value is in number of modules/groups).",
@@ -5379,7 +5726,7 @@
5379
5726
  },
5380
5727
  {
5381
5728
  "instanceof": "Function",
5382
- "tsType": "((warning: import('../lib/stats/DefaultStatsFactoryPlugin').StatsError, value: string) => boolean)"
5729
+ "tsType": "(import(\"../lib/stats/DefaultStatsPresetPlugin\").WarningFilterFn)"
5383
5730
  }
5384
5731
  ]
5385
5732
  },
@@ -5519,6 +5866,9 @@
5519
5866
  "devtool": {
5520
5867
  "$ref": "#/definitions/DevTool"
5521
5868
  },
5869
+ "dotenv": {
5870
+ "$ref": "#/definitions/Dotenv"
5871
+ },
5522
5872
  "entry": {
5523
5873
  "$ref": "#/definitions/EntryNormalized"
5524
5874
  },
@@ -5556,7 +5906,7 @@
5556
5906
  "$ref": "#/definitions/Node"
5557
5907
  },
5558
5908
  "optimization": {
5559
- "$ref": "#/definitions/Optimization"
5909
+ "$ref": "#/definitions/OptimizationNormalized"
5560
5910
  },
5561
5911
  "output": {
5562
5912
  "$ref": "#/definitions/OutputNormalized"
@@ -5568,7 +5918,7 @@
5568
5918
  "$ref": "#/definitions/Performance"
5569
5919
  },
5570
5920
  "plugins": {
5571
- "$ref": "#/definitions/Plugins"
5921
+ "$ref": "#/definitions/PluginsNormalized"
5572
5922
  },
5573
5923
  "profile": {
5574
5924
  "$ref": "#/definitions/Profile"
@@ -5669,6 +6019,9 @@
5669
6019
  "devtool": {
5670
6020
  "$ref": "#/definitions/DevTool"
5671
6021
  },
6022
+ "dotenv": {
6023
+ "$ref": "#/definitions/Dotenv"
6024
+ },
5672
6025
  "entry": {
5673
6026
  "$ref": "#/definitions/Entry"
5674
6027
  },