webpack 5.76.1 → 5.88.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.

Potentially problematic release.


This version of webpack might be problematic. Click here for more details.

Files changed (436) hide show
  1. package/README.md +10 -4
  2. package/bin/webpack.js +26 -2
  3. package/hot/dev-server.js +2 -1
  4. package/hot/lazy-compilation-node.js +10 -0
  5. package/hot/lazy-compilation-web.js +9 -0
  6. package/hot/log-apply-result.js +5 -0
  7. package/hot/log.js +22 -0
  8. package/hot/only-dev-server.js +2 -1
  9. package/hot/poll.js +3 -0
  10. package/hot/signal.js +4 -0
  11. package/lib/APIPlugin.js +174 -116
  12. package/lib/AsyncDependenciesBlock.js +13 -5
  13. package/lib/AutomaticPrefetchPlugin.js +1 -0
  14. package/lib/BannerPlugin.js +4 -0
  15. package/lib/CacheFacade.js +4 -0
  16. package/lib/CaseSensitiveModulesWarning.js +3 -1
  17. package/lib/Chunk.js +36 -18
  18. package/lib/ChunkGraph.js +4 -4
  19. package/lib/ChunkGroup.js +25 -10
  20. package/lib/CleanPlugin.js +30 -7
  21. package/lib/CodeGenerationResults.js +2 -2
  22. package/lib/CompatibilityPlugin.js +85 -46
  23. package/lib/Compilation.js +17 -8
  24. package/lib/Compiler.js +12 -8
  25. package/lib/ConcatenationScope.js +2 -2
  26. package/lib/ConditionalInitFragment.js +11 -1
  27. package/lib/ConstPlugin.js +79 -44
  28. package/lib/ContextModule.js +20 -6
  29. package/lib/ContextModuleFactory.js +2 -1
  30. package/lib/ContextReplacementPlugin.js +13 -0
  31. package/lib/CssModule.js +169 -0
  32. package/lib/DefinePlugin.js +152 -86
  33. package/lib/DelegatedModule.js +22 -4
  34. package/lib/DelegatedModuleFactoryPlugin.js +6 -0
  35. package/lib/DependenciesBlock.js +17 -1
  36. package/lib/Dependency.js +19 -5
  37. package/lib/DllEntryPlugin.js +16 -1
  38. package/lib/DllModule.js +17 -2
  39. package/lib/DllModuleFactory.js +1 -1
  40. package/lib/DllReferencePlugin.js +13 -1
  41. package/lib/Entrypoint.js +1 -1
  42. package/lib/ErrorHelpers.js +62 -22
  43. package/lib/EvalSourceMapDevToolPlugin.js +9 -2
  44. package/lib/ExportsInfo.js +20 -3
  45. package/lib/ExportsInfoApiPlugin.js +30 -14
  46. package/lib/ExternalModule.js +30 -9
  47. package/lib/FileSystemInfo.js +9 -1
  48. package/lib/FlagAllModulesAsUsedPlugin.js +27 -27
  49. package/lib/FlagDependencyExportsPlugin.js +336 -348
  50. package/lib/FlagDependencyUsagePlugin.js +9 -9
  51. package/lib/FlagEntryExportAsUsedPlugin.js +26 -23
  52. package/lib/HookWebpackError.js +1 -1
  53. package/lib/HotModuleReplacementPlugin.js +60 -46
  54. package/lib/IgnoreErrorModuleFactory.js +1 -1
  55. package/lib/InitFragment.js +28 -5
  56. package/lib/JavascriptMetaInfoPlugin.js +27 -15
  57. package/lib/LibManifestPlugin.js +22 -5
  58. package/lib/LoaderOptionsPlugin.js +12 -2
  59. package/lib/MainTemplate.js +2 -2
  60. package/lib/Module.js +44 -12
  61. package/lib/ModuleBuildError.js +9 -0
  62. package/lib/ModuleDependencyError.js +4 -2
  63. package/lib/ModuleDependencyWarning.js +4 -2
  64. package/lib/ModuleError.js +9 -0
  65. package/lib/ModuleFactory.js +1 -1
  66. package/lib/ModuleFilenameHelpers.js +114 -4
  67. package/lib/ModuleGraph.js +33 -23
  68. package/lib/ModuleGraphConnection.js +19 -6
  69. package/lib/ModuleInfoHeaderPlugin.js +9 -2
  70. package/lib/ModuleNotFoundError.js +5 -2
  71. package/lib/ModuleParseError.js +9 -0
  72. package/lib/ModuleProfile.js +1 -0
  73. package/lib/ModuleRestoreError.js +2 -0
  74. package/lib/ModuleStoreError.js +2 -1
  75. package/lib/ModuleTypeConstants.js +169 -0
  76. package/lib/ModuleWarning.js +9 -0
  77. package/lib/MultiWatching.js +4 -0
  78. package/lib/NodeStuffPlugin.js +65 -35
  79. package/lib/NormalModule.js +12 -2
  80. package/lib/NormalModuleFactory.js +56 -8
  81. package/lib/NormalModuleReplacementPlugin.js +5 -3
  82. package/lib/NullFactory.js +1 -1
  83. package/lib/PrefetchPlugin.js +4 -0
  84. package/lib/ProgressPlugin.js +71 -15
  85. package/lib/ProvidePlugin.js +30 -14
  86. package/lib/RawModule.js +13 -2
  87. package/lib/RecordIdsPlugin.js +4 -4
  88. package/lib/RequireJsStuffPlugin.js +22 -15
  89. package/lib/RuntimeGlobals.js +5 -0
  90. package/lib/RuntimeModule.js +12 -11
  91. package/lib/RuntimePlugin.js +10 -3
  92. package/lib/RuntimeTemplate.js +29 -11
  93. package/lib/SelfModuleFactory.js +12 -0
  94. package/lib/SourceMapDevToolModuleOptionsPlugin.js +4 -0
  95. package/lib/SourceMapDevToolPlugin.js +47 -11
  96. package/lib/Template.js +5 -3
  97. package/lib/UseStrictPlugin.js +29 -11
  98. package/lib/WarnCaseSensitiveModulesPlugin.js +12 -0
  99. package/lib/WarnDeprecatedOptionPlugin.js +7 -0
  100. package/lib/WatchIgnorePlugin.js +4 -0
  101. package/lib/WebpackError.js +14 -5
  102. package/lib/WebpackIsIncludedPlugin.js +22 -13
  103. package/lib/WebpackOptionsApply.js +41 -44
  104. package/lib/WebpackOptionsDefaulter.js +10 -3
  105. package/lib/asset/AssetGenerator.js +24 -9
  106. package/lib/asset/AssetModulesPlugin.js +28 -12
  107. package/lib/asset/AssetParser.js +15 -7
  108. package/lib/asset/AssetSourceParser.js +8 -3
  109. package/lib/asset/RawDataUrlModule.js +15 -4
  110. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  111. package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
  112. package/lib/cache/IdleFileCachePlugin.js +2 -1
  113. package/lib/cache/MemoryWithGcCachePlugin.js +2 -0
  114. package/lib/cache/PackFileCacheStrategy.js +42 -15
  115. package/lib/cache/ResolverCachePlugin.js +3 -0
  116. package/lib/config/browserslistTargetHandler.js +10 -10
  117. package/lib/config/defaults.js +306 -105
  118. package/lib/config/normalization.js +110 -71
  119. package/lib/config/target.js +37 -10
  120. package/lib/container/ContainerEntryModule.js +11 -1
  121. package/lib/container/ContainerEntryModuleFactory.js +1 -1
  122. package/lib/container/ContainerExposedDependency.js +9 -0
  123. package/lib/container/ContainerPlugin.js +3 -1
  124. package/lib/container/FallbackDependency.js +13 -0
  125. package/lib/container/FallbackItemDependency.js +3 -0
  126. package/lib/container/FallbackModule.js +12 -2
  127. package/lib/container/FallbackModuleFactory.js +1 -1
  128. package/lib/container/RemoteModule.js +11 -1
  129. package/lib/container/RemoteRuntimeModule.js +3 -2
  130. package/lib/container/RemoteToExternalDependency.js +3 -0
  131. package/lib/css/CssExportsGenerator.js +9 -0
  132. package/lib/css/CssGenerator.js +5 -1
  133. package/lib/css/CssLoadingRuntimeModule.js +53 -22
  134. package/lib/css/CssModulesPlugin.js +253 -74
  135. package/lib/css/CssParser.js +697 -282
  136. package/lib/css/walkCssTokens.js +269 -138
  137. package/lib/debug/ProfilingPlugin.js +33 -12
  138. package/lib/dependencies/AMDDefineDependency.js +54 -10
  139. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +13 -2
  140. package/lib/dependencies/AMDPlugin.js +33 -20
  141. package/lib/dependencies/AMDRequireArrayDependency.js +13 -0
  142. package/lib/dependencies/AMDRequireContextDependency.js +15 -0
  143. package/lib/dependencies/AMDRequireDependenciesBlock.js +6 -0
  144. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +8 -2
  145. package/lib/dependencies/AMDRequireDependency.js +16 -1
  146. package/lib/dependencies/AMDRequireItemDependency.js +6 -0
  147. package/lib/dependencies/AMDRuntimeModules.js +2 -2
  148. package/lib/dependencies/CachedConstDependency.js +14 -0
  149. package/lib/dependencies/CommonJsDependencyHelpers.js +9 -0
  150. package/lib/dependencies/CommonJsExportRequireDependency.js +19 -0
  151. package/lib/dependencies/CommonJsExportsDependency.js +16 -0
  152. package/lib/dependencies/CommonJsExportsParserPlugin.js +77 -5
  153. package/lib/dependencies/CommonJsFullRequireDependency.js +10 -1
  154. package/lib/dependencies/CommonJsImportsParserPlugin.js +174 -63
  155. package/lib/dependencies/CommonJsPlugin.js +51 -26
  156. package/lib/dependencies/CommonJsRequireContextDependency.js +17 -0
  157. package/lib/dependencies/CommonJsRequireDependency.js +7 -0
  158. package/lib/dependencies/CommonJsSelfReferenceDependency.js +16 -0
  159. package/lib/dependencies/ConstDependency.js +11 -2
  160. package/lib/dependencies/ContextDependency.js +15 -2
  161. package/lib/dependencies/ContextDependencyHelpers.js +3 -3
  162. package/lib/dependencies/ContextElementDependency.js +8 -0
  163. package/lib/dependencies/CreateScriptUrlDependency.js +10 -1
  164. package/lib/dependencies/CriticalDependencyWarning.js +3 -0
  165. package/lib/dependencies/CssExportDependency.js +8 -0
  166. package/lib/dependencies/CssImportDependency.js +55 -3
  167. package/lib/dependencies/CssLocalIdentifierDependency.js +15 -1
  168. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +10 -1
  169. package/lib/dependencies/CssUrlDependency.js +46 -16
  170. package/lib/dependencies/DelegatedSourceDependency.js +3 -0
  171. package/lib/dependencies/DllEntryDependency.js +14 -0
  172. package/lib/dependencies/DynamicExports.js +10 -6
  173. package/lib/dependencies/ExportsInfoDependency.js +25 -4
  174. package/lib/dependencies/HarmonyAcceptDependency.js +10 -1
  175. package/lib/dependencies/HarmonyAcceptImportDependency.js +3 -0
  176. package/lib/dependencies/HarmonyCompatibilityDependency.js +2 -1
  177. package/lib/dependencies/HarmonyDetectionParserPlugin.js +22 -2
  178. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -6
  179. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +5 -0
  180. package/lib/dependencies/HarmonyExportExpressionDependency.js +20 -3
  181. package/lib/dependencies/HarmonyExportHeaderDependency.js +13 -0
  182. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +22 -6
  183. package/lib/dependencies/HarmonyExportInitFragment.js +2 -1
  184. package/lib/dependencies/HarmonyExportSpecifierDependency.js +12 -0
  185. package/lib/dependencies/HarmonyExports.js +11 -5
  186. package/lib/dependencies/HarmonyImportDependency.js +10 -1
  187. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +53 -22
  188. package/lib/dependencies/HarmonyImportSideEffectDependency.js +7 -2
  189. package/lib/dependencies/HarmonyImportSpecifierDependency.js +139 -16
  190. package/lib/dependencies/HarmonyModulesPlugin.js +23 -5
  191. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +15 -3
  192. package/lib/dependencies/ImportContextDependency.js +15 -0
  193. package/lib/dependencies/ImportDependency.js +15 -4
  194. package/lib/dependencies/ImportEagerDependency.js +7 -4
  195. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +51 -13
  196. package/lib/dependencies/ImportMetaContextPlugin.js +18 -5
  197. package/lib/dependencies/ImportMetaHotAcceptDependency.js +6 -0
  198. package/lib/dependencies/ImportMetaHotDeclineDependency.js +6 -0
  199. package/lib/dependencies/ImportMetaPlugin.js +103 -51
  200. package/lib/dependencies/ImportParserPlugin.js +83 -25
  201. package/lib/dependencies/ImportPlugin.js +21 -7
  202. package/lib/dependencies/ImportWeakDependency.js +7 -4
  203. package/lib/dependencies/JsonExportsDependency.js +9 -1
  204. package/lib/dependencies/LocalModule.js +16 -0
  205. package/lib/dependencies/LocalModuleDependency.js +15 -0
  206. package/lib/dependencies/LocalModulesHelpers.js +18 -0
  207. package/lib/dependencies/ModuleDecoratorDependency.js +8 -0
  208. package/lib/dependencies/ModuleDependency.js +9 -1
  209. package/lib/dependencies/ModuleDependencyTemplateAsId.js +2 -1
  210. package/lib/dependencies/ModuleHotAcceptDependency.js +6 -0
  211. package/lib/dependencies/ModuleHotDeclineDependency.js +6 -0
  212. package/lib/dependencies/PrefetchDependency.js +3 -0
  213. package/lib/dependencies/ProvidedDependency.js +14 -2
  214. package/lib/dependencies/PureExpressionDependency.js +10 -1
  215. package/lib/dependencies/RequireContextDependency.js +6 -0
  216. package/lib/dependencies/RequireContextDependencyParserPlugin.js +13 -5
  217. package/lib/dependencies/RequireContextPlugin.js +19 -6
  218. package/lib/dependencies/RequireEnsureDependenciesBlock.js +7 -0
  219. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +6 -1
  220. package/lib/dependencies/RequireEnsureDependency.js +16 -2
  221. package/lib/dependencies/RequireEnsureItemDependency.js +3 -0
  222. package/lib/dependencies/RequireEnsurePlugin.js +27 -7
  223. package/lib/dependencies/RequireHeaderDependency.js +14 -1
  224. package/lib/dependencies/RequireIncludeDependency.js +5 -0
  225. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +29 -5
  226. package/lib/dependencies/RequireIncludePlugin.js +25 -5
  227. package/lib/dependencies/RequireResolveContextDependency.js +17 -0
  228. package/lib/dependencies/RequireResolveDependency.js +6 -0
  229. package/lib/dependencies/RequireResolveHeaderDependency.js +18 -0
  230. package/lib/dependencies/RuntimeRequirementsDependency.js +8 -0
  231. package/lib/dependencies/StaticExportsDependency.js +8 -0
  232. package/lib/dependencies/SystemPlugin.js +48 -21
  233. package/lib/dependencies/SystemRuntimeModule.js +1 -1
  234. package/lib/dependencies/URLDependency.js +13 -4
  235. package/lib/dependencies/URLPlugin.js +31 -18
  236. package/lib/dependencies/UnsupportedDependency.js +13 -0
  237. package/lib/dependencies/WebAssemblyExportImportedDependency.js +14 -0
  238. package/lib/dependencies/WebAssemblyImportDependency.js +9 -1
  239. package/lib/dependencies/WebpackIsIncludedDependency.js +5 -0
  240. package/lib/dependencies/WorkerDependency.js +47 -3
  241. package/lib/dependencies/WorkerPlugin.js +105 -32
  242. package/lib/dependencies/getFunctionExpression.js +7 -0
  243. package/lib/esm/ExportWebpackRequireRuntimeModule.js +3 -2
  244. package/lib/esm/ModuleChunkFormatPlugin.js +21 -8
  245. package/lib/esm/ModuleChunkLoadingPlugin.js +9 -0
  246. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +19 -12
  247. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
  248. package/lib/hmr/LazyCompilationPlugin.js +14 -5
  249. package/lib/ids/ChunkModuleIdRangePlugin.js +11 -0
  250. package/lib/ids/DeterministicChunkIdsPlugin.js +11 -2
  251. package/lib/ids/DeterministicModuleIdsPlugin.js +11 -7
  252. package/lib/ids/HashedModuleIdsPlugin.js +9 -2
  253. package/lib/ids/IdHelpers.js +6 -0
  254. package/lib/ids/NamedChunkIdsPlugin.js +13 -1
  255. package/lib/ids/NamedModuleIdsPlugin.js +14 -3
  256. package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -2
  257. package/lib/ids/OccurrenceModuleIdsPlugin.js +1 -1
  258. package/lib/ids/SyncModuleIdsPlugin.js +3 -2
  259. package/lib/index.js +8 -0
  260. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +3 -3
  261. package/lib/javascript/BasicEvaluatedExpression.js +137 -11
  262. package/lib/javascript/ChunkHelpers.js +2 -2
  263. package/lib/javascript/CommonJsChunkFormatPlugin.js +7 -3
  264. package/lib/javascript/EnableChunkLoadingPlugin.js +4 -0
  265. package/lib/javascript/JavascriptModulesPlugin.js +194 -194
  266. package/lib/javascript/JavascriptParser.js +941 -256
  267. package/lib/javascript/JavascriptParserHelpers.js +37 -15
  268. package/lib/javascript/StartupHelpers.js +2 -2
  269. package/lib/json/JsonData.js +26 -1
  270. package/lib/json/JsonGenerator.js +21 -7
  271. package/lib/json/JsonModulesPlugin.js +14 -5
  272. package/lib/json/JsonParser.js +27 -13
  273. package/lib/library/AbstractLibraryPlugin.js +4 -0
  274. package/lib/library/AmdLibraryPlugin.js +22 -6
  275. package/lib/library/AssignLibraryPlugin.js +6 -4
  276. package/lib/library/ExportPropertyLibraryPlugin.js +4 -1
  277. package/lib/library/ModuleLibraryPlugin.js +8 -4
  278. package/lib/library/SystemLibraryPlugin.js +1 -0
  279. package/lib/library/UmdLibraryPlugin.js +4 -0
  280. package/lib/logging/runtime.js +1 -1
  281. package/lib/logging/truncateArgs.js +4 -0
  282. package/lib/node/CommonJsChunkLoadingPlugin.js +17 -2
  283. package/lib/node/NodeTargetPlugin.js +3 -0
  284. package/lib/node/NodeTemplatePlugin.js +10 -2
  285. package/lib/node/NodeWatchFileSystem.js +1 -1
  286. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +18 -9
  287. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +12 -2
  288. package/lib/node/ReadFileCompileWasmPlugin.js +21 -3
  289. package/lib/node/RequireChunkLoadingRuntimeModule.js +15 -8
  290. package/lib/node/nodeConsole.js +2 -4
  291. package/lib/optimize/AggressiveMergingPlugin.js +8 -0
  292. package/lib/optimize/AggressiveSplittingPlugin.js +9 -2
  293. package/lib/optimize/ConcatenatedModule.js +8 -6
  294. package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -0
  295. package/lib/optimize/FlagIncludedChunksPlugin.js +11 -5
  296. package/lib/optimize/InnerGraph.js +5 -5
  297. package/lib/optimize/InnerGraphPlugin.js +57 -48
  298. package/lib/optimize/LimitChunkCountPlugin.js +29 -4
  299. package/lib/optimize/MangleExportsPlugin.js +1 -1
  300. package/lib/optimize/MinMaxSizeWarning.js +5 -0
  301. package/lib/optimize/ModuleConcatenationPlugin.js +59 -2
  302. package/lib/optimize/RealContentHashPlugin.js +86 -30
  303. package/lib/optimize/RemoveParentModulesPlugin.js +6 -0
  304. package/lib/optimize/RuntimeChunkPlugin.js +9 -1
  305. package/lib/optimize/SideEffectsFlagPlugin.js +53 -44
  306. package/lib/optimize/SplitChunksPlugin.js +71 -31
  307. package/lib/performance/SizeLimitsPlugin.js +7 -4
  308. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +4 -2
  309. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +3 -1
  310. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +6 -3
  311. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -2
  312. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -2
  313. package/lib/rules/BasicEffectRulePlugin.js +4 -0
  314. package/lib/rules/BasicMatcherRulePlugin.js +5 -0
  315. package/lib/rules/RuleSetCompiler.js +3 -3
  316. package/lib/rules/UseEffectRulePlugin.js +6 -4
  317. package/lib/runtime/AsyncModuleRuntimeModule.js +9 -6
  318. package/lib/runtime/AutoPublicPathRuntimeModule.js +16 -5
  319. package/lib/runtime/BaseUriRuntimeModule.js +8 -4
  320. package/lib/runtime/ChunkNameRuntimeModule.js +1 -1
  321. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +5 -2
  322. package/lib/runtime/CompatRuntimeModule.js +7 -2
  323. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +5 -2
  324. package/lib/runtime/CreateScriptRuntimeModule.js +4 -2
  325. package/lib/runtime/CreateScriptUrlRuntimeModule.js +4 -2
  326. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +5 -2
  327. package/lib/runtime/EnsureChunkRuntimeModule.js +18 -4
  328. package/lib/runtime/GetChunkFilenameRuntimeModule.js +45 -26
  329. package/lib/runtime/GetFullHashRuntimeModule.js +4 -3
  330. package/lib/runtime/GetMainFilenameRuntimeModule.js +5 -2
  331. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +27 -6
  332. package/lib/runtime/GlobalRuntimeModule.js +1 -1
  333. package/lib/runtime/HasOwnPropertyRuntimeModule.js +5 -2
  334. package/lib/runtime/LoadScriptRuntimeModule.js +65 -50
  335. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +5 -2
  336. package/lib/runtime/NonceRuntimeModule.js +1 -1
  337. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -2
  338. package/lib/runtime/PublicPathRuntimeModule.js +9 -2
  339. package/lib/runtime/RelativeUrlRuntimeModule.js +5 -2
  340. package/lib/runtime/RuntimeIdRuntimeModule.js +6 -2
  341. package/lib/runtime/StartupChunkDependenciesPlugin.js +15 -0
  342. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +13 -4
  343. package/lib/runtime/StartupEntrypointRuntimeModule.js +11 -7
  344. package/lib/runtime/SystemContextRuntimeModule.js +1 -1
  345. package/lib/schemes/DataUriPlugin.js +16 -3
  346. package/lib/schemes/HttpUriPlugin.js +38 -0
  347. package/lib/serialization/ArraySerializer.js +22 -6
  348. package/lib/serialization/BinaryMiddleware.js +164 -1
  349. package/lib/serialization/DateObjectSerializer.js +15 -4
  350. package/lib/serialization/ErrorObjectSerializer.js +23 -8
  351. package/lib/serialization/FileMiddleware.js +17 -0
  352. package/lib/serialization/MapObjectSerializer.js +24 -8
  353. package/lib/serialization/NullPrototypeObjectSerializer.js +25 -8
  354. package/lib/serialization/ObjectMiddleware.js +33 -2
  355. package/lib/serialization/PlainObjectSerializer.js +23 -12
  356. package/lib/serialization/RegExpObjectSerializer.js +16 -5
  357. package/lib/serialization/SetObjectSerializer.js +21 -6
  358. package/lib/serialization/types.js +1 -1
  359. package/lib/sharing/ConsumeSharedFallbackDependency.js +3 -0
  360. package/lib/sharing/ConsumeSharedModule.js +13 -2
  361. package/lib/sharing/ConsumeSharedPlugin.js +4 -0
  362. package/lib/sharing/ConsumeSharedRuntimeModule.js +22 -7
  363. package/lib/sharing/ProvideSharedDependency.js +17 -0
  364. package/lib/sharing/ProvideSharedModule.js +11 -1
  365. package/lib/sharing/ProvideSharedModuleFactory.js +1 -1
  366. package/lib/sharing/ProvideSharedPlugin.js +22 -21
  367. package/lib/sharing/ShareRuntimeModule.js +19 -9
  368. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  369. package/lib/sharing/utils.js +320 -7
  370. package/lib/stats/DefaultStatsFactoryPlugin.js +105 -29
  371. package/lib/stats/DefaultStatsPresetPlugin.js +9 -0
  372. package/lib/stats/DefaultStatsPrinterPlugin.js +43 -0
  373. package/lib/util/AsyncQueue.js +4 -2
  374. package/lib/util/LazySet.js +10 -2
  375. package/lib/util/MapHelpers.js +19 -5
  376. package/lib/util/ParallelismFactorCalculator.js +10 -0
  377. package/lib/util/Semaphore.js +1 -1
  378. package/lib/util/StackedCacheMap.js +6 -0
  379. package/lib/util/StringXor.js +51 -0
  380. package/lib/util/binarySearchBounds.js +49 -0
  381. package/lib/util/compileBooleanMatcher.js +31 -0
  382. package/lib/util/createHash.js +35 -13
  383. package/lib/util/deprecation.js +18 -3
  384. package/lib/util/deterministicGrouping.js +50 -11
  385. package/lib/util/findGraphRoots.js +4 -2
  386. package/lib/util/hash/md4.js +2 -2
  387. package/lib/util/hash/xxhash64.js +1 -1
  388. package/lib/util/identifier.js +4 -0
  389. package/lib/util/internalSerializables.js +1 -0
  390. package/lib/util/makeSerializable.js +7 -0
  391. package/lib/util/memoize.js +3 -3
  392. package/lib/util/numberHash.js +75 -21
  393. package/lib/util/processAsyncTree.js +7 -1
  394. package/lib/util/propertyAccess.js +9 -54
  395. package/lib/util/propertyName.js +79 -0
  396. package/lib/util/registerExternalSerializer.js +1 -1
  397. package/lib/util/runtime.js +14 -1
  398. package/lib/util/semver.js +1 -1
  399. package/lib/util/serialization.js +10 -0
  400. package/lib/util/smartGrouping.js +1 -1
  401. package/lib/validateSchema.js +6 -2
  402. package/lib/wasm/EnableWasmLoadingPlugin.js +4 -0
  403. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +15 -2
  404. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +9 -1
  405. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +14 -3
  406. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +28 -8
  407. package/lib/wasm-async/AsyncWebAssemblyParser.js +11 -4
  408. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +39 -8
  409. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +17 -6
  410. package/lib/wasm-sync/WebAssemblyGenerator.js +19 -5
  411. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
  412. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +53 -43
  413. package/lib/wasm-sync/WebAssemblyParser.js +15 -4
  414. package/lib/wasm-sync/WebAssemblyUtils.js +1 -1
  415. package/lib/web/FetchCompileAsyncWasmPlugin.js +11 -1
  416. package/lib/web/FetchCompileWasmPlugin.js +59 -42
  417. package/lib/web/JsonpChunkLoadingPlugin.js +9 -0
  418. package/lib/web/JsonpChunkLoadingRuntimeModule.js +26 -9
  419. package/lib/webpack.js +12 -3
  420. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +9 -0
  421. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +20 -17
  422. package/module.d.ts +55 -37
  423. package/package.json +59 -56
  424. package/schemas/WebpackOptions.check.js +1 -1
  425. package/schemas/WebpackOptions.json +132 -5
  426. package/schemas/plugins/ProgressPlugin.check.js +1 -1
  427. package/schemas/plugins/SourceMapDevToolPlugin.check.js +1 -1
  428. package/schemas/plugins/SourceMapDevToolPlugin.json +4 -0
  429. package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
  430. package/schemas/plugins/container/ContainerPlugin.json +8 -0
  431. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  432. package/schemas/plugins/container/ModuleFederationPlugin.json +8 -0
  433. package/schemas/plugins/css/CssGeneratorOptions.json +1 -1
  434. package/schemas/plugins/css/CssParserOptions.json +1 -1
  435. package/schemas/plugins/sharing/SharePlugin.check.js +1 -1
  436. package/types.d.ts +1608 -667
@@ -16,8 +16,14 @@ const compileBooleanMatcher = require("../util/compileBooleanMatcher");
16
16
  const { getUndoPath } = require("../util/identifier");
17
17
 
18
18
  /** @typedef {import("../Chunk")} Chunk */
19
+ /** @typedef {import("../ChunkGraph")} ChunkGraph */
20
+ /** @typedef {import("../Compilation")} Compilation */
19
21
 
20
22
  class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
23
+ /**
24
+ * @param {Set<string>} runtimeRequirements runtime requirements
25
+ * @param {boolean} withCreateScriptUrl with createScriptUrl support
26
+ */
21
27
  constructor(runtimeRequirements, withCreateScriptUrl) {
22
28
  super("importScripts chunk loading", RuntimeModule.STAGE_ATTACH);
23
29
  this.runtimeRequirements = runtimeRequirements;
@@ -34,8 +40,9 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
34
40
  if (options && options.baseUri) {
35
41
  return `${RuntimeGlobals.baseURI} = ${JSON.stringify(options.baseUri)};`;
36
42
  }
37
- const outputName = this.compilation.getPath(
38
- getChunkFilenameTemplate(chunk, this.compilation.outputOptions),
43
+ const compilation = /** @type {Compilation} */ (this.compilation);
44
+ const outputName = compilation.getPath(
45
+ getChunkFilenameTemplate(chunk, compilation.outputOptions),
39
46
  {
40
47
  chunk,
41
48
  contentHashType: "javascript"
@@ -43,7 +50,7 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
43
50
  );
44
51
  const rootOutputDir = getUndoPath(
45
52
  outputName,
46
- this.compilation.outputOptions.path,
53
+ /** @type {string} */ (compilation.outputOptions.path),
47
54
  false
48
55
  );
49
56
  return `${RuntimeGlobals.baseURI} = self.location + ${JSON.stringify(
@@ -52,19 +59,10 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
52
59
  }
53
60
 
54
61
  /**
55
- * @returns {string} runtime code
62
+ * @returns {string | null} runtime code
56
63
  */
57
64
  generate() {
58
- const {
59
- chunk,
60
- chunkGraph,
61
- compilation: {
62
- runtimeTemplate,
63
- outputOptions: { chunkLoadingGlobal, hotUpdateGlobal }
64
- },
65
- _withCreateScriptUrl: withCreateScriptUrl
66
- } = this;
67
- const globalObject = runtimeTemplate.globalObject;
65
+ const compilation = /** @type {Compilation} */ (this.compilation);
68
66
  const fn = RuntimeGlobals.ensureChunkHandlers;
69
67
  const withBaseURI = this.runtimeRequirements.has(RuntimeGlobals.baseURI);
70
68
  const withLoading = this.runtimeRequirements.has(
@@ -76,9 +74,12 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
76
74
  const withHmrManifest = this.runtimeRequirements.has(
77
75
  RuntimeGlobals.hmrDownloadManifest
78
76
  );
77
+ const globalObject = compilation.runtimeTemplate.globalObject;
79
78
  const chunkLoadingGlobalExpr = `${globalObject}[${JSON.stringify(
80
- chunkLoadingGlobal
79
+ compilation.outputOptions.chunkLoadingGlobal
81
80
  )}]`;
81
+ const chunkGraph = /** @type {ChunkGraph} */ (this.chunkGraph);
82
+ const chunk = /** @type {Chunk} */ (this.chunk);
82
83
  const hasJsMatcher = compileBooleanMatcher(
83
84
  chunkGraph.getChunkConditionMap(chunk, chunkHasJs)
84
85
  );
@@ -87,6 +88,8 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
87
88
  const stateExpression = withHmr
88
89
  ? `${RuntimeGlobals.hmrRuntimeStatePrefix}_importScripts`
89
90
  : undefined;
91
+ const runtimeTemplate = compilation.runtimeTemplate;
92
+ const { _withCreateScriptUrl: withCreateScriptUrl } = this;
90
93
 
91
94
  return Template.asString([
92
95
  withBaseURI ? this._generateBaseUri(chunk) : "// no baseURI",
@@ -120,7 +123,7 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
120
123
  "}"
121
124
  ]),
122
125
  "}",
123
- "if(runtime) runtime(__webpack_require__);",
126
+ `if(runtime) runtime(${RuntimeGlobals.require});`,
124
127
  "while(chunkIds.length)",
125
128
  Template.indent("installedChunks[chunkIds.pop()] = 1;"),
126
129
  "parentChunkLoadingFunction(data);"
@@ -165,7 +168,7 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
165
168
  Template.indent([
166
169
  "var success = false;",
167
170
  `${globalObject}[${JSON.stringify(
168
- hotUpdateGlobal
171
+ compilation.outputOptions.hotUpdateGlobal
169
172
  )}] = ${runtimeTemplate.basicFunction("_, moreModules, runtime", [
170
173
  "for(var moduleId in moreModules) {",
171
174
  Template.indent([
package/module.d.ts CHANGED
@@ -1,45 +1,55 @@
1
1
  declare namespace webpack {
2
- type HotEvent =
3
- | {
4
- type: "disposed";
5
- /** The module in question. */
6
- moduleId: number;
7
- }
8
- | {
9
- type: "self-declined" | "unaccepted";
10
- /** The module in question. */
11
- moduleId: number;
12
- /** the chain from where the update was propagated. */
13
- chain: number[];
14
- }
2
+ type DeclinedEvent =
15
3
  | {
16
4
  type: "declined";
17
5
  /** The module in question. */
18
- moduleId: number;
6
+ moduleId: number | string;
19
7
  /** the chain from where the update was propagated. */
20
- chain: number[];
8
+ chain: (number | string)[];
21
9
  /** the module id of the declining parent */
22
- parentId: number;
10
+ parentId: number | string;
23
11
  }
24
12
  | {
25
- type: "accepted";
13
+ type: "self-declined";
26
14
  /** The module in question. */
27
- moduleId: number;
15
+ moduleId: number | string;
28
16
  /** the chain from where the update was propagated. */
29
- chain: number[];
30
- /** the modules that are outdated and will be disposed */
31
- outdatedModules: number[];
32
- /** the accepted dependencies that are outdated */
33
- outdatedDependencies: {
34
- [id: number]: number[];
35
- };
36
- }
17
+ chain: (number | string)[];
18
+ };
19
+
20
+ type UnacceptedEvent = {
21
+ type: "unaccepted";
22
+ /** The module in question. */
23
+ moduleId: number | string;
24
+ /** the chain from where the update was propagated. */
25
+ chain: (number | string)[];
26
+ };
27
+
28
+ type AcceptedEvent = {
29
+ type: "accepted";
30
+ /** The module in question. */
31
+ moduleId: number | string;
32
+ /** the modules that are outdated and will be disposed */
33
+ outdatedModules: (number | string)[];
34
+ /** the accepted dependencies that are outdated */
35
+ outdatedDependencies: {
36
+ [id: number]: (number | string)[];
37
+ };
38
+ };
39
+
40
+ type DisposedEvent = {
41
+ type: "disposed";
42
+ /** The module in question. */
43
+ moduleId: number | string;
44
+ };
45
+
46
+ type ErroredEvent =
37
47
  | {
38
48
  type: "accept-error-handler-errored";
39
49
  /** The module in question. */
40
- moduleId: number;
50
+ moduleId: number | string;
41
51
  /** the module id owning the accept handler. */
42
- dependencyId: number;
52
+ dependencyId: number | string;
43
53
  /** the thrown error */
44
54
  error: Error;
45
55
  /** the error thrown by the module before the error handler tried to handle it. */
@@ -48,7 +58,7 @@ declare namespace webpack {
48
58
  | {
49
59
  type: "self-accept-error-handler-errored";
50
60
  /** The module in question. */
51
- moduleId: number;
61
+ moduleId: number | string;
52
62
  /** the thrown error */
53
63
  error: Error;
54
64
  /** the error thrown by the module before the error handler tried to handle it. */
@@ -57,29 +67,36 @@ declare namespace webpack {
57
67
  | {
58
68
  type: "accept-errored";
59
69
  /** The module in question. */
60
- moduleId: number;
70
+ moduleId: number | string;
61
71
  /** the module id owning the accept handler. */
62
- dependencyId: number;
72
+ dependencyId: number | string;
63
73
  /** the thrown error */
64
74
  error: Error;
65
75
  }
66
76
  | {
67
77
  type: "self-accept-errored";
68
78
  /** The module in question. */
69
- moduleId: number;
79
+ moduleId: number | string;
70
80
  /** the thrown error */
71
81
  error: Error;
72
82
  };
73
83
 
84
+ type HotEvent =
85
+ | DeclinedEvent
86
+ | UnacceptedEvent
87
+ | AcceptedEvent
88
+ | DisposedEvent
89
+ | ErroredEvent;
90
+
74
91
  interface ApplyOptions {
75
92
  ignoreUnaccepted?: boolean;
76
93
  ignoreDeclined?: boolean;
77
94
  ignoreErrored?: boolean;
78
- onDeclined?(callback: (info: HotEvent) => void): void;
79
- onUnaccepted?(callback: (info: HotEvent) => void): void;
80
- onAccepted?(callback: (info: HotEvent) => void): void;
81
- onDisposed?(callback: (info: HotEvent) => void): void;
82
- onErrored?(callback: (info: HotEvent) => void): void;
95
+ onDeclined?: (event: DeclinedEvent) => void;
96
+ onUnaccepted?: (event: UnacceptedEvent) => void;
97
+ onAccepted?: (event: AcceptedEvent) => void;
98
+ onDisposed?: (event: DisposedEvent) => void;
99
+ onErrored?: (event: ErroredEvent) => void;
83
100
  }
84
101
 
85
102
  const enum HotUpdateStatus {
@@ -157,6 +174,7 @@ interface ImportMeta {
157
174
  exclude?: RegExp;
158
175
  preload?: boolean | number;
159
176
  prefetch?: boolean | number;
177
+ fetchPriority?: "low" | "high" | "auto";
160
178
  chunkName?: string;
161
179
  exports?: string | string[][];
162
180
  mode?: "sync" | "eager" | "weak" | "lazy" | "lazy-once";
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "webpack",
3
- "version": "5.76.1",
3
+ "version": "5.88.0",
4
4
  "author": "Tobias Koppers @sokra",
5
- "description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
5
+ "description": "Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
6
6
  "license": "MIT",
7
7
  "dependencies": {
8
8
  "@types/eslint-scope": "^3.7.3",
9
- "@types/estree": "^0.0.51",
10
- "@webassemblyjs/ast": "1.11.1",
11
- "@webassemblyjs/wasm-edit": "1.11.1",
12
- "@webassemblyjs/wasm-parser": "1.11.1",
9
+ "@types/estree": "^1.0.0",
10
+ "@webassemblyjs/ast": "^1.11.5",
11
+ "@webassemblyjs/wasm-edit": "^1.11.5",
12
+ "@webassemblyjs/wasm-parser": "^1.11.5",
13
13
  "acorn": "^8.7.1",
14
- "acorn-import-assertions": "^1.7.6",
14
+ "acorn-import-assertions": "^1.9.0",
15
15
  "browserslist": "^4.14.5",
16
16
  "chrome-trace-event": "^1.0.2",
17
- "enhanced-resolve": "^5.10.0",
18
- "es-module-lexer": "^0.9.0",
17
+ "enhanced-resolve": "^5.15.0",
18
+ "es-module-lexer": "^1.2.1",
19
19
  "eslint-scope": "5.1.1",
20
20
  "events": "^3.2.0",
21
21
  "glob-to-regexp": "^0.4.1",
@@ -24,9 +24,9 @@
24
24
  "loader-runner": "^4.2.0",
25
25
  "mime-types": "^2.1.27",
26
26
  "neo-async": "^2.6.2",
27
- "schema-utils": "^3.1.0",
27
+ "schema-utils": "^3.2.0",
28
28
  "tapable": "^2.1.1",
29
- "terser-webpack-plugin": "^5.1.3",
29
+ "terser-webpack-plugin": "^5.3.7",
30
30
  "watchpack": "^2.4.0",
31
31
  "webpack-sources": "^3.2.3"
32
32
  },
@@ -36,12 +36,12 @@
36
36
  }
37
37
  },
38
38
  "devDependencies": {
39
- "@babel/core": "^7.11.1",
40
- "@babel/preset-react": "^7.10.4",
41
- "@types/es-module-lexer": "^0.4.1",
42
- "@types/jest": "^27.4.0",
43
- "@types/node": "^17.0.16",
44
- "assemblyscript": "^0.19.16",
39
+ "@babel/core": "^7.21.4",
40
+ "@babel/preset-react": "^7.18.6",
41
+ "@types/jest": "^29.5.0",
42
+ "@types/mime-types": "^2.1.1",
43
+ "@types/node": "^20.1.7",
44
+ "assemblyscript": "^0.27.2",
45
45
  "babel-loader": "^8.1.0",
46
46
  "benchmark": "^2.1.4",
47
47
  "bundle-loader": "^0.5.6",
@@ -49,65 +49,65 @@
49
49
  "coffeescript": "^2.5.1",
50
50
  "core-js": "^3.6.5",
51
51
  "coveralls": "^3.1.0",
52
- "cspell": "^4.0.63",
52
+ "cspell": "^6.31.1",
53
53
  "css-loader": "^5.0.1",
54
54
  "date-fns": "^2.15.0",
55
55
  "es5-ext": "^0.10.53",
56
56
  "es6-promise-polyfill": "^1.2.0",
57
- "eslint": "^7.14.0",
57
+ "eslint": "^8.38.0",
58
58
  "eslint-config-prettier": "^8.1.0",
59
- "eslint-plugin-jest": "^24.7.0",
60
- "eslint-plugin-jsdoc": "^33.0.0",
59
+ "eslint-plugin-jest": "^27.2.1",
60
+ "eslint-plugin-jsdoc": "^43.0.5",
61
61
  "eslint-plugin-node": "^11.0.0",
62
- "eslint-plugin-prettier": "^4.0.0",
62
+ "eslint-plugin-prettier": "^4.2.1",
63
63
  "file-loader": "^6.0.0",
64
- "fork-ts-checker-webpack-plugin": "^6.0.5",
64
+ "fork-ts-checker-webpack-plugin": "^8.0.0",
65
65
  "hash-wasm": "^4.9.0",
66
- "husky": "^6.0.0",
66
+ "husky": "^8.0.3",
67
67
  "is-ci": "^3.0.0",
68
68
  "istanbul": "^0.4.5",
69
- "jest": "^27.5.0",
70
- "jest-circus": "^27.5.0",
71
- "jest-cli": "^27.5.0",
72
- "jest-diff": "^27.5.0",
73
- "jest-junit": "^13.0.0",
69
+ "jest": "^29.5.0",
70
+ "jest-circus": "^29.5.0",
71
+ "jest-cli": "^29.5.0",
72
+ "jest-diff": "^29.5.0",
73
+ "jest-environment-node": "^29.5.0",
74
+ "jest-junit": "^16.0.0",
74
75
  "json-loader": "^0.5.7",
75
76
  "json5": "^2.1.3",
76
77
  "less": "^4.0.0",
77
78
  "less-loader": "^8.0.0",
78
- "lint-staged": "^11.0.0",
79
- "loader-utils": "^2.0.3",
79
+ "lint-staged": "^13.2.1",
80
80
  "lodash": "^4.17.19",
81
81
  "lodash-es": "^4.17.15",
82
- "memfs": "^3.2.0",
82
+ "memfs": "^3.5.0",
83
83
  "mini-css-extract-plugin": "^1.6.1",
84
84
  "mini-svg-data-uri": "^1.2.3",
85
85
  "nyc": "^15.1.0",
86
- "open-cli": "^6.0.1",
86
+ "open-cli": "^7.2.0",
87
87
  "prettier": "^2.7.1",
88
- "pretty-format": "^27.0.2",
88
+ "pretty-format": "^29.5.0",
89
89
  "pug": "^3.0.0",
90
90
  "pug-loader": "^2.4.0",
91
91
  "raw-loader": "^4.0.1",
92
- "react": "^17.0.1",
93
- "react-dom": "^17.0.1",
92
+ "react": "^18.2.0",
93
+ "react-dom": "^18.2.0",
94
94
  "rimraf": "^3.0.2",
95
95
  "script-loader": "^0.7.2",
96
- "simple-git": "^2.17.0",
96
+ "simple-git": "^3.17.0",
97
97
  "strip-ansi": "^6.0.0",
98
98
  "style-loader": "^2.0.0",
99
- "terser": "^5.7.0",
99
+ "terser": "^5.17.0",
100
100
  "toml": "^3.0.0",
101
- "tooling": "webpack/tooling#v1.22.0",
102
- "ts-loader": "^8.0.2",
103
- "typescript": "^4.8.4",
101
+ "tooling": "webpack/tooling#v1.23.0",
102
+ "ts-loader": "^9.4.2",
103
+ "typescript": "^5.0.4",
104
104
  "url-loader": "^4.1.0",
105
- "wast-loader": "^1.11.0",
105
+ "wast-loader": "^1.11.5",
106
106
  "webassembly-feature": "1.3.0",
107
- "webpack-cli": "^4.3.0",
107
+ "webpack-cli": "^5.0.1",
108
108
  "xxhashjs": "^0.2.2",
109
109
  "yamljs": "^0.3.0",
110
- "yarn-deduplicate": "^3.1.0"
110
+ "yarn-deduplicate": "^6.0.1"
111
111
  },
112
112
  "engines": {
113
113
  "node": ">=10.13.0"
@@ -149,18 +149,17 @@
149
149
  "pretest": "yarn lint",
150
150
  "prelint": "yarn setup",
151
151
  "lint": "yarn code-lint && yarn special-lint && yarn type-lint && yarn typings-test && yarn module-typings-test && yarn yarn-lint && yarn pretty-lint && yarn spellcheck",
152
- "code-lint": "eslint . --ext '.js' --cache",
152
+ "code-lint": "eslint --cache .",
153
153
  "type-lint": "tsc",
154
154
  "typings-test": "tsc -p tsconfig.types.test.json",
155
155
  "module-typings-test": "tsc -p tsconfig.module.test.json",
156
- "spellcheck": "cspell \"**/*\"",
156
+ "spellcheck": "cspell --no-progress \"**\"",
157
157
  "special-lint": "node node_modules/tooling/lockfile-lint && node node_modules/tooling/schemas-lint && node node_modules/tooling/inherit-types && node node_modules/tooling/format-schemas && node tooling/generate-runtime-code.js && node tooling/generate-wasm-code.js && node node_modules/tooling/format-file-header && node node_modules/tooling/compile-to-definitions && node node_modules/tooling/precompile-schemas && node node_modules/tooling/generate-types --no-template-literals",
158
158
  "special-lint-fix": "node node_modules/tooling/inherit-types --write && node node_modules/tooling/format-schemas --write && node tooling/generate-runtime-code.js --write && node tooling/generate-wasm-code.js --write && node node_modules/tooling/format-file-header --write && node node_modules/tooling/compile-to-definitions --write && node node_modules/tooling/precompile-schemas --write && node node_modules/tooling/generate-types --no-template-literals --write",
159
159
  "fix": "yarn code-lint --fix && yarn special-lint-fix && yarn pretty-lint-fix",
160
160
  "prepare": "husky install",
161
- "pretty-lint-base": "prettier \"*.{ts,json,yml,yaml,md}\" \"{setup,lib,bin,hot,benchmark,tooling,schemas}/**/*.json\" \"examples/*.md\"",
162
- "pretty-lint-base-all": "yarn pretty-lint-base \"*.js\" \"{setup,lib,bin,hot,benchmark,tooling,schemas}/**/*.js\" \"module.d.ts\" \"test/*.js\" \"test/helpers/*.js\" \"test/{configCases,watchCases,statsCases,hotCases,benchmarkCases}/**/webpack.config.js\" \"examples/**/webpack.config.js\"",
163
- "pretty-lint-fix": "yarn pretty-lint-base-all --loglevel warn --write",
161
+ "pretty-lint-base": "prettier --cache .",
162
+ "pretty-lint-fix": "yarn pretty-lint-base --loglevel warn --write",
164
163
  "pretty-lint": "yarn pretty-lint-base --check",
165
164
  "yarn-lint": "yarn-deduplicate --fail --list -s highest yarn.lock",
166
165
  "yarn-lint-fix": "yarn-deduplicate -s highest yarn.lock",
@@ -175,14 +174,14 @@
175
174
  "cover:unit": "node --max-old-space-size=4096 --experimental-vm-modules node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.unittest.js\" --coverage",
176
175
  "cover:types": "node node_modules/tooling/type-coverage",
177
176
  "cover:merge": "yarn mkdirp .nyc_output && nyc merge .nyc_output coverage/coverage-nyc.json && rimraf .nyc_output",
178
- "cover:report": "nyc report -t coverage"
177
+ "cover:report": "nyc report --reporter=lcov --reporter=text -t coverage"
179
178
  },
180
179
  "lint-staged": {
181
- "*.js|{lib,setup,bin,hot,tooling,schemas}/**/*.js|test/*.js|{test,examples}/**/webpack.config.js}": [
182
- "eslint --cache"
180
+ "*.{js,cjs,mjs}": [
181
+ "eslint --cache --fix"
183
182
  ],
184
- "*.{ts,json,yml,yaml,md}|examples/*.md": [
185
- "prettier --check"
183
+ "*": [
184
+ "prettier --cache --ignore-unknown"
186
185
  ],
187
186
  "*.md|{.github,benchmark,bin,examples,hot,lib,schemas,setup,tooling}/**/*.{md,yml,yaml,js,json}": [
188
187
  "cspell"
@@ -235,9 +234,13 @@
235
234
  "<rootDir>/schemas",
236
235
  "<rootDir>/node_modules"
237
236
  ],
238
- "testEnvironment": "node",
237
+ "testEnvironment": "./test/patch-node-env.js",
239
238
  "coverageReporters": [
240
239
  "json"
241
- ]
240
+ ],
241
+ "snapshotFormat": {
242
+ "escapeString": true,
243
+ "printBasicPrototype": true
244
+ }
242
245
  }
243
246
  }