webpack 5.92.1 → 5.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +8 -5
  2. package/bin/webpack.js +6 -7
  3. package/hot/log.js +1 -2
  4. package/hot/only-dev-server.js +1 -1
  5. package/hot/poll.js +1 -1
  6. package/hot/signal.js +1 -1
  7. package/lib/APIPlugin.js +4 -3
  8. package/lib/AbstractMethodError.js +10 -5
  9. package/lib/AutomaticPrefetchPlugin.js +1 -1
  10. package/lib/BannerPlugin.js +12 -6
  11. package/lib/Cache.js +8 -10
  12. package/lib/CacheFacade.js +3 -3
  13. package/lib/CaseSensitiveModulesWarning.js +5 -7
  14. package/lib/Chunk.js +14 -11
  15. package/lib/ChunkGraph.js +58 -36
  16. package/lib/ChunkGroup.js +2 -3
  17. package/lib/ChunkTemplate.js +43 -0
  18. package/lib/CleanPlugin.js +10 -11
  19. package/lib/CodeGenerationResults.js +6 -5
  20. package/lib/CommentCompilationWarning.js +0 -1
  21. package/lib/Compilation.js +223 -191
  22. package/lib/Compiler.js +81 -82
  23. package/lib/ConcatenationScope.js +3 -6
  24. package/lib/ConditionalInitFragment.js +6 -7
  25. package/lib/ConstPlugin.js +7 -15
  26. package/lib/ContextExclusionPlugin.js +3 -3
  27. package/lib/ContextModule.js +36 -21
  28. package/lib/ContextModuleFactory.js +89 -44
  29. package/lib/ContextReplacementPlugin.js +10 -9
  30. package/lib/DefinePlugin.js +76 -69
  31. package/lib/DelegatedModule.js +7 -3
  32. package/lib/DelegatedModuleFactoryPlugin.js +36 -22
  33. package/lib/DelegatedPlugin.js +4 -0
  34. package/lib/DependenciesBlock.js +0 -1
  35. package/lib/Dependency.js +10 -14
  36. package/lib/DllEntryPlugin.js +4 -2
  37. package/lib/DllModuleFactory.js +1 -0
  38. package/lib/DllPlugin.js +9 -7
  39. package/lib/DllReferencePlugin.js +30 -15
  40. package/lib/EntryPlugin.js +1 -3
  41. package/lib/EnvironmentPlugin.js +5 -2
  42. package/lib/ErrorHelpers.js +11 -12
  43. package/lib/EvalDevToolModulePlugin.js +10 -12
  44. package/lib/EvalSourceMapDevToolPlugin.js +15 -13
  45. package/lib/ExportsInfo.js +185 -120
  46. package/lib/ExternalModule.js +104 -64
  47. package/lib/ExternalModuleFactoryPlugin.js +23 -10
  48. package/lib/FileSystemInfo.js +791 -422
  49. package/lib/FlagAllModulesAsUsedPlugin.js +1 -1
  50. package/lib/FlagDependencyExportsPlugin.js +12 -11
  51. package/lib/FlagDependencyUsagePlugin.js +1 -1
  52. package/lib/Generator.js +2 -5
  53. package/lib/GraphHelpers.js +3 -2
  54. package/lib/HookWebpackError.js +8 -10
  55. package/lib/HotModuleReplacementPlugin.js +78 -64
  56. package/lib/IgnoreErrorModuleFactory.js +3 -3
  57. package/lib/IgnorePlugin.js +1 -3
  58. package/lib/IgnoreWarningsPlugin.js +6 -9
  59. package/lib/InitFragment.js +2 -3
  60. package/lib/LibManifestPlugin.js +4 -3
  61. package/lib/MainTemplate.js +72 -19
  62. package/lib/Module.js +25 -9
  63. package/lib/ModuleBuildError.js +4 -11
  64. package/lib/ModuleDependencyError.js +5 -5
  65. package/lib/ModuleDependencyWarning.js +5 -5
  66. package/lib/ModuleError.js +1 -5
  67. package/lib/ModuleFilenameHelpers.js +29 -46
  68. package/lib/ModuleGraph.js +7 -6
  69. package/lib/ModuleGraphConnection.js +6 -6
  70. package/lib/ModuleInfoHeaderPlugin.js +82 -30
  71. package/lib/ModuleParseError.js +8 -9
  72. package/lib/ModuleRestoreError.js +1 -1
  73. package/lib/ModuleStoreError.js +1 -1
  74. package/lib/ModuleTemplate.js +33 -1
  75. package/lib/ModuleTypeConstants.js +21 -22
  76. package/lib/ModuleWarning.js +1 -5
  77. package/lib/MultiCompiler.js +24 -26
  78. package/lib/MultiStats.js +73 -31
  79. package/lib/MultiWatching.js +1 -1
  80. package/lib/NormalModule.js +132 -70
  81. package/lib/NormalModuleFactory.js +53 -49
  82. package/lib/OptimizationStages.js +3 -3
  83. package/lib/ProgressPlugin.js +9 -9
  84. package/lib/ProvidePlugin.js +4 -4
  85. package/lib/RuntimeGlobals.js +71 -70
  86. package/lib/RuntimeModule.js +1 -1
  87. package/lib/RuntimePlugin.js +24 -12
  88. package/lib/RuntimeTemplate.js +40 -44
  89. package/lib/SizeFormatHelpers.js +2 -4
  90. package/lib/SourceMapDevToolPlugin.js +42 -34
  91. package/lib/Stats.js +5 -11
  92. package/lib/Template.js +18 -24
  93. package/lib/TemplatedPathPlugin.js +12 -10
  94. package/lib/UseStrictPlugin.js +8 -1
  95. package/lib/WarnDeprecatedOptionPlugin.js +0 -1
  96. package/lib/WatchIgnorePlugin.js +26 -9
  97. package/lib/Watching.js +10 -5
  98. package/lib/WebpackOptionsApply.js +89 -62
  99. package/lib/asset/AssetGenerator.js +107 -42
  100. package/lib/asset/AssetModulesPlugin.js +29 -23
  101. package/lib/asset/AssetSourceGenerator.js +2 -7
  102. package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
  103. package/lib/buildChunkGraph.js +14 -19
  104. package/lib/cache/IdleFileCachePlugin.js +4 -4
  105. package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
  106. package/lib/cache/PackFileCacheStrategy.js +51 -50
  107. package/lib/cache/ResolverCachePlugin.js +6 -6
  108. package/lib/cache/mergeEtags.js +16 -21
  109. package/lib/cli.js +148 -104
  110. package/lib/config/browserslistTargetHandler.js +16 -13
  111. package/lib/config/defaults.js +31 -28
  112. package/lib/config/normalization.js +335 -344
  113. package/lib/config/target.js +42 -52
  114. package/lib/container/ContainerEntryModule.js +2 -2
  115. package/lib/container/ContainerPlugin.js +1 -1
  116. package/lib/container/RemoteRuntimeModule.js +11 -8
  117. package/lib/container/options.js +18 -4
  118. package/lib/css/CssExportsGenerator.js +39 -40
  119. package/lib/css/CssGenerator.js +11 -14
  120. package/lib/css/CssLoadingRuntimeModule.js +10 -10
  121. package/lib/css/CssModulesPlugin.js +127 -47
  122. package/lib/css/CssParser.js +20 -18
  123. package/lib/css/walkCssTokens.js +80 -95
  124. package/lib/debug/ProfilingPlugin.js +19 -20
  125. package/lib/dependencies/AMDDefineDependency.js +1 -1
  126. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
  127. package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
  128. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
  129. package/lib/dependencies/AMDRuntimeModules.js +2 -2
  130. package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
  131. package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
  132. package/lib/dependencies/CommonJsExportsDependency.js +0 -1
  133. package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
  134. package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
  135. package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
  136. package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
  137. package/lib/dependencies/ConstDependency.js +1 -1
  138. package/lib/dependencies/ContextDependency.js +1 -1
  139. package/lib/dependencies/ContextDependencyHelpers.js +31 -34
  140. package/lib/dependencies/ContextElementDependency.js +2 -2
  141. package/lib/dependencies/CriticalDependencyWarning.js +1 -1
  142. package/lib/dependencies/CssExportDependency.js +72 -9
  143. package/lib/dependencies/CssImportDependency.js +0 -2
  144. package/lib/dependencies/CssLocalIdentifierDependency.js +68 -21
  145. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
  146. package/lib/dependencies/CssUrlDependency.js +4 -5
  147. package/lib/dependencies/DynamicExports.js +5 -5
  148. package/lib/dependencies/ExportsInfoDependency.js +1 -2
  149. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
  150. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
  151. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
  152. package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
  153. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
  154. package/lib/dependencies/HarmonyExports.js +2 -2
  155. package/lib/dependencies/HarmonyImportDependency.js +2 -4
  156. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
  157. package/lib/dependencies/HarmonyImportSpecifierDependency.js +41 -16
  158. package/lib/dependencies/ImportDependency.js +1 -1
  159. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
  160. package/lib/dependencies/ImportMetaPlugin.js +11 -13
  161. package/lib/dependencies/ImportParserPlugin.js +39 -44
  162. package/lib/dependencies/JsonExportsDependency.js +22 -18
  163. package/lib/dependencies/LoaderPlugin.js +47 -36
  164. package/lib/dependencies/LocalModule.js +1 -1
  165. package/lib/dependencies/LocalModulesHelpers.js +4 -4
  166. package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
  167. package/lib/dependencies/ProvidedDependency.js +1 -1
  168. package/lib/dependencies/PureExpressionDependency.js +6 -6
  169. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
  170. package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
  171. package/lib/dependencies/SystemPlugin.js +1 -1
  172. package/lib/dependencies/URLDependency.js +3 -3
  173. package/lib/dependencies/URLPlugin.js +66 -12
  174. package/lib/dependencies/WorkerPlugin.js +25 -24
  175. package/lib/dependencies/processExportInfo.js +3 -1
  176. package/lib/electron/ElectronTargetPlugin.js +1 -0
  177. package/lib/esm/ModuleChunkFormatPlugin.js +11 -12
  178. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
  179. package/lib/formatLocation.js +1 -2
  180. package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
  181. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  182. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
  183. package/lib/hmr/LazyCompilationPlugin.js +27 -12
  184. package/lib/hmr/lazyCompilationBackend.js +64 -40
  185. package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
  186. package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
  187. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  188. package/lib/ids/HashedModuleIdsPlugin.js +5 -1
  189. package/lib/ids/IdHelpers.js +29 -39
  190. package/lib/ids/SyncModuleIdsPlugin.js +7 -2
  191. package/lib/index.js +1 -5
  192. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +6 -4
  193. package/lib/javascript/BasicEvaluatedExpression.js +4 -19
  194. package/lib/javascript/ChunkHelpers.js +1 -1
  195. package/lib/javascript/CommonJsChunkFormatPlugin.js +10 -11
  196. package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
  197. package/lib/javascript/JavascriptGenerator.js +23 -7
  198. package/lib/javascript/JavascriptModulesPlugin.js +97 -70
  199. package/lib/javascript/JavascriptParser.js +179 -200
  200. package/lib/javascript/JavascriptParserHelpers.js +20 -21
  201. package/lib/javascript/StartupHelpers.js +41 -13
  202. package/lib/json/JsonGenerator.js +7 -13
  203. package/lib/json/JsonModulesPlugin.js +1 -4
  204. package/lib/json/JsonParser.js +5 -3
  205. package/lib/library/AmdLibraryPlugin.js +12 -16
  206. package/lib/library/AssignLibraryPlugin.js +9 -11
  207. package/lib/library/EnableLibraryPlugin.js +25 -15
  208. package/lib/library/ExportPropertyLibraryPlugin.js +8 -2
  209. package/lib/library/JsonpLibraryPlugin.js +2 -1
  210. package/lib/library/ModernModuleLibraryPlugin.js +144 -0
  211. package/lib/library/ModuleLibraryPlugin.js +2 -1
  212. package/lib/library/SystemLibraryPlugin.js +2 -1
  213. package/lib/library/UmdLibraryPlugin.js +66 -92
  214. package/lib/logging/Logger.js +32 -4
  215. package/lib/logging/createConsoleLogger.js +12 -13
  216. package/lib/logging/runtime.js +7 -8
  217. package/lib/logging/truncateArgs.js +5 -8
  218. package/lib/node/NodeWatchFileSystem.js +3 -18
  219. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
  220. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
  221. package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
  222. package/lib/node/nodeConsole.js +22 -22
  223. package/lib/optimize/AggressiveMergingPlugin.js +2 -4
  224. package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
  225. package/lib/optimize/ConcatenatedModule.js +144 -61
  226. package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
  227. package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
  228. package/lib/optimize/InnerGraph.js +17 -17
  229. package/lib/optimize/InnerGraphPlugin.js +8 -7
  230. package/lib/optimize/LimitChunkCountPlugin.js +2 -3
  231. package/lib/optimize/MangleExportsPlugin.js +1 -0
  232. package/lib/optimize/MinMaxSizeWarning.js +1 -1
  233. package/lib/optimize/ModuleConcatenationPlugin.js +56 -78
  234. package/lib/optimize/RealContentHashPlugin.js +7 -10
  235. package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
  236. package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
  237. package/lib/optimize/SplitChunksPlugin.js +34 -30
  238. package/lib/performance/SizeLimitsPlugin.js +2 -2
  239. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -0
  240. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
  241. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
  242. package/lib/rules/BasicEffectRulePlugin.js +3 -1
  243. package/lib/rules/BasicMatcherRulePlugin.js +3 -1
  244. package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
  245. package/lib/rules/RuleSetCompiler.js +41 -22
  246. package/lib/rules/UseEffectRulePlugin.js +36 -32
  247. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
  248. package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
  249. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  250. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
  251. package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
  252. package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
  253. package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
  254. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
  255. package/lib/schemes/DataUriPlugin.js +1 -1
  256. package/lib/schemes/HttpUriPlugin.js +241 -126
  257. package/lib/serialization/BinaryMiddleware.js +44 -28
  258. package/lib/serialization/DateObjectSerializer.js +1 -0
  259. package/lib/serialization/ErrorObjectSerializer.js +2 -0
  260. package/lib/serialization/FileMiddleware.js +154 -106
  261. package/lib/serialization/MapObjectSerializer.js +2 -1
  262. package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
  263. package/lib/serialization/ObjectMiddleware.js +52 -56
  264. package/lib/serialization/PlainObjectSerializer.js +32 -6
  265. package/lib/serialization/RegExpObjectSerializer.js +1 -0
  266. package/lib/serialization/Serializer.js +4 -5
  267. package/lib/serialization/SerializerMiddleware.js +6 -6
  268. package/lib/serialization/SetObjectSerializer.js +2 -1
  269. package/lib/sharing/ConsumeSharedModule.js +19 -14
  270. package/lib/sharing/ConsumeSharedPlugin.js +116 -97
  271. package/lib/sharing/ConsumeSharedRuntimeModule.js +108 -141
  272. package/lib/sharing/ProvideForSharedDependency.js +0 -1
  273. package/lib/sharing/ProvideSharedPlugin.js +2 -2
  274. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  275. package/lib/sharing/utils.js +15 -27
  276. package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
  277. package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
  278. package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
  279. package/lib/stats/StatsFactory.js +127 -56
  280. package/lib/stats/StatsPrinter.js +75 -44
  281. package/lib/util/ArrayHelpers.js +8 -4
  282. package/lib/util/ArrayQueue.js +1 -1
  283. package/lib/util/AsyncQueue.js +31 -12
  284. package/lib/util/IterableHelpers.js +3 -4
  285. package/lib/util/LazyBucketSortedSet.js +60 -44
  286. package/lib/util/LazySet.js +1 -0
  287. package/lib/util/MapHelpers.js +1 -3
  288. package/lib/util/ParallelismFactorCalculator.js +1 -1
  289. package/lib/util/Queue.js +1 -1
  290. package/lib/util/Semaphore.js +4 -7
  291. package/lib/util/SetHelpers.js +5 -5
  292. package/lib/util/SortableSet.js +4 -3
  293. package/lib/util/StackedCacheMap.js +4 -6
  294. package/lib/util/StackedMap.js +1 -3
  295. package/lib/util/StringXor.js +0 -5
  296. package/lib/util/TupleQueue.js +1 -1
  297. package/lib/util/TupleSet.js +15 -5
  298. package/lib/util/URLAbsoluteSpecifier.js +7 -7
  299. package/lib/util/WeakTupleMap.js +19 -21
  300. package/lib/util/binarySearchBounds.js +5 -12
  301. package/lib/util/chainedImports.js +1 -1
  302. package/lib/util/cleverMerge.js +21 -19
  303. package/lib/util/comparators.js +57 -52
  304. package/lib/util/compileBooleanMatcher.js +3 -6
  305. package/lib/util/conventions.js +10 -13
  306. package/lib/util/createHash.js +9 -6
  307. package/lib/util/deprecation.js +22 -12
  308. package/lib/util/deterministicGrouping.js +19 -26
  309. package/lib/util/findGraphRoots.js +2 -2
  310. package/lib/util/fs.js +31 -31
  311. package/lib/util/hash/md4.js +2 -2
  312. package/lib/util/hash/wasm-hash.js +7 -7
  313. package/lib/util/hash/xxhash64.js +2 -2
  314. package/lib/util/identifier.js +81 -59
  315. package/lib/util/memoize.js +8 -10
  316. package/lib/util/mergeScope.js +6 -9
  317. package/lib/util/nonNumericOnlyHash.js +2 -2
  318. package/lib/util/numberHash.js +1 -6
  319. package/lib/util/objectToMap.js +0 -1
  320. package/lib/util/propertyAccess.js +2 -5
  321. package/lib/util/propertyName.js +1 -3
  322. package/lib/util/registerExternalSerializer.js +1 -1
  323. package/lib/util/runtime.js +103 -113
  324. package/lib/util/semver.js +29 -27
  325. package/lib/util/serialization.js +16 -1
  326. package/lib/util/smartGrouping.js +5 -5
  327. package/lib/util/source.js +1 -1
  328. package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
  329. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
  330. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
  331. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
  332. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
  333. package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
  334. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
  335. package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
  336. package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
  337. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
  338. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
  339. package/package.json +17 -16
  340. package/schemas/WebpackOptions.check.js +1 -1
  341. package/schemas/WebpackOptions.json +17 -0
  342. package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -1
  343. package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -1
  344. package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -1
  345. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  346. package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
  347. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  348. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  349. package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
  350. package/types.d.ts +682 -347
@@ -160,19 +160,18 @@ class Pack {
160
160
  const info = this.itemInfo.get(identifier);
161
161
  this._addRequest(identifier);
162
162
  if (info === undefined) {
163
- return undefined;
163
+ return;
164
164
  }
165
165
  if (info.etag !== etag) return null;
166
166
  info.lastAccess = Date.now();
167
167
  const loc = info.location;
168
168
  if (loc === -1) {
169
169
  return info.freshValue;
170
- } else {
171
- if (!this.content[loc]) {
172
- return undefined;
173
- }
174
- return /** @type {PackContent} */ (this.content[loc]).get(identifier);
175
170
  }
171
+ if (!this.content[loc]) {
172
+ return;
173
+ }
174
+ return /** @type {PackContent} */ (this.content[loc]).get(identifier);
176
175
  }
177
176
 
178
177
  /**
@@ -528,7 +527,7 @@ class Pack {
528
527
  */
529
528
  _gcOldestContent() {
530
529
  /** @type {PackItemInfo | undefined} */
531
- let oldest = undefined;
530
+ let oldest;
532
531
  for (const info of this.itemInfo.values()) {
533
532
  if (oldest === undefined || info.lastAccess < oldest.lastAccess) {
534
533
  oldest = info;
@@ -677,16 +676,16 @@ class PackContentItems {
677
676
  logger.log(`Serialization of '${key}': ${duration} ms`);
678
677
  else logger.debug(`Serialization of '${key}': ${duration} ms`);
679
678
  }
680
- } catch (e) {
679
+ } catch (err) {
681
680
  rollback(s);
682
- if (e === NOT_SERIALIZABLE) continue;
681
+ if (err === NOT_SERIALIZABLE) continue;
683
682
  const msg = "Skipped not serializable cache item";
684
- if (e.message.includes("ModuleBuildError")) {
685
- logger.log(`${msg} (in build error): ${e.message}`);
686
- logger.debug(`${msg} '${key}' (in build error): ${e.stack}`);
683
+ if (err.message.includes("ModuleBuildError")) {
684
+ logger.log(`${msg} (in build error): ${err.message}`);
685
+ logger.debug(`${msg} '${key}' (in build error): ${err.stack}`);
687
686
  } else {
688
- logger.warn(`${msg}: ${e.message}`);
689
- logger.debug(`${msg} '${key}': ${e.stack}`);
687
+ logger.warn(`${msg}: ${err.message}`);
688
+ logger.debug(`${msg} '${key}': ${err.stack}`);
690
689
  }
691
690
  }
692
691
  }
@@ -698,7 +697,7 @@ class PackContentItems {
698
697
  try {
699
698
  write(true);
700
699
  write(this.map);
701
- } catch (e) {
700
+ } catch (_err) {
702
701
  rollback(s);
703
702
 
704
703
  // Try to serialize each item on it's own
@@ -708,13 +707,13 @@ class PackContentItems {
708
707
  try {
709
708
  write(key);
710
709
  write(value);
711
- } catch (e) {
710
+ } catch (err) {
712
711
  rollback(s);
713
- if (e === NOT_SERIALIZABLE) continue;
712
+ if (err === NOT_SERIALIZABLE) continue;
714
713
  logger.warn(
715
- `Skipped not serializable cache item '${key}': ${e.message}`
714
+ `Skipped not serializable cache item '${key}': ${err.message}`
716
715
  );
717
- logger.debug(e.stack);
716
+ logger.debug(err.stack);
718
717
  }
719
718
  }
720
719
  write(null);
@@ -817,6 +816,7 @@ class PackContent {
817
816
  return this.content.get(identifier);
818
817
  }
819
818
 
819
+ const logger = /** @type {Logger} */ (this.logger);
820
820
  // We are in state B
821
821
  const { lazyName } = this;
822
822
  /** @type {string | undefined} */
@@ -827,35 +827,35 @@ class PackContent {
827
827
  timeMessage = `restore cache content ${lazyName} (${formatSize(
828
828
  this.getSize()
829
829
  )})`;
830
- this.logger.log(
830
+ logger.log(
831
831
  `starting to restore cache content ${lazyName} (${formatSize(
832
832
  this.getSize()
833
833
  )}) because of request to: ${identifier}`
834
834
  );
835
- this.logger.time(timeMessage);
835
+ logger.time(timeMessage);
836
836
  }
837
837
  const value = this.lazy();
838
838
  if ("then" in value) {
839
839
  return value.then(data => {
840
840
  const map = data.map;
841
841
  if (timeMessage) {
842
- this.logger.timeEnd(timeMessage);
842
+ logger.timeEnd(timeMessage);
843
843
  }
844
844
  // Move to state C
845
845
  this.content = map;
846
846
  this.lazy = SerializerMiddleware.unMemoizeLazy(this.lazy);
847
847
  return map.get(identifier);
848
848
  });
849
- } else {
850
- const map = value.map;
851
- if (timeMessage) {
852
- this.logger.timeEnd(timeMessage);
853
- }
854
- // Move to state C
855
- this.content = map;
856
- this.lazy = SerializerMiddleware.unMemoizeLazy(this.lazy);
857
- return map.get(identifier);
858
849
  }
850
+
851
+ const map = value.map;
852
+ if (timeMessage) {
853
+ logger.timeEnd(timeMessage);
854
+ }
855
+ // Move to state C
856
+ this.content = map;
857
+ this.lazy = SerializerMiddleware.unMemoizeLazy(this.lazy);
858
+ return map.get(identifier);
859
859
  }
860
860
 
861
861
  /**
@@ -865,6 +865,7 @@ class PackContent {
865
865
  unpack(reason) {
866
866
  if (this.content) return;
867
867
 
868
+ const logger = /** @type {Logger} */ (this.logger);
868
869
  // Move from state B to C
869
870
  if (this.lazy) {
870
871
  const { lazyName } = this;
@@ -876,27 +877,26 @@ class PackContent {
876
877
  timeMessage = `unpack cache content ${lazyName} (${formatSize(
877
878
  this.getSize()
878
879
  )})`;
879
- this.logger.log(
880
+ logger.log(
880
881
  `starting to unpack cache content ${lazyName} (${formatSize(
881
882
  this.getSize()
882
883
  )}) because ${reason}`
883
884
  );
884
- this.logger.time(timeMessage);
885
+ logger.time(timeMessage);
885
886
  }
886
887
  const value = this.lazy();
887
888
  if ("then" in value) {
888
889
  return value.then(data => {
889
890
  if (timeMessage) {
890
- this.logger.timeEnd(timeMessage);
891
+ logger.timeEnd(timeMessage);
891
892
  }
892
893
  this.content = data.map;
893
894
  });
894
- } else {
895
- if (timeMessage) {
896
- this.logger.timeEnd(timeMessage);
897
- }
898
- this.content = value.map;
899
895
  }
896
+ if (timeMessage) {
897
+ logger.timeEnd(timeMessage);
898
+ }
899
+ this.content = value.map;
900
900
  }
901
901
  }
902
902
 
@@ -957,6 +957,7 @@ class PackContent {
957
957
  );
958
958
  return;
959
959
  }
960
+ const logger = /** @type {Logger} */ (this.logger);
960
961
  // State B2
961
962
  const { lazyName } = this;
962
963
  /** @type {string | undefined} */
@@ -967,12 +968,12 @@ class PackContent {
967
968
  timeMessage = `unpack cache content ${lazyName} (${formatSize(
968
969
  this.getSize()
969
970
  )})`;
970
- this.logger.log(
971
+ logger.log(
971
972
  `starting to unpack cache content ${lazyName} (${formatSize(
972
973
  this.getSize()
973
974
  )}) because it's outdated and need to be serialized`
974
975
  );
975
- this.logger.time(timeMessage);
976
+ logger.time(timeMessage);
976
977
  }
977
978
  const value = this.lazy();
978
979
  this.outdated = false;
@@ -981,7 +982,7 @@ class PackContent {
981
982
  this.lazy = write(() =>
982
983
  value.then(data => {
983
984
  if (timeMessage) {
984
- this.logger.timeEnd(timeMessage);
985
+ logger.timeEnd(timeMessage);
985
986
  }
986
987
  const oldMap = data.map;
987
988
  /** @type {Map<string, any>} */
@@ -999,7 +1000,7 @@ class PackContent {
999
1000
  } else {
1000
1001
  // Move to state C1
1001
1002
  if (timeMessage) {
1002
- this.logger.timeEnd(timeMessage);
1003
+ logger.timeEnd(timeMessage);
1003
1004
  }
1004
1005
  const oldMap = value.map;
1005
1006
  /** @type {Map<string, any>} */
@@ -1148,19 +1149,19 @@ class PackFileCacheStrategy {
1148
1149
  })
1149
1150
  .then(packContainer => {
1150
1151
  logger.timeEnd("restore cache container");
1151
- if (!packContainer) return undefined;
1152
+ if (!packContainer) return;
1152
1153
  if (!(packContainer instanceof PackContainer)) {
1153
1154
  logger.warn(
1154
1155
  `Restored pack from ${cacheLocation}${this._extension}, but contained content is unexpected.`,
1155
1156
  packContainer
1156
1157
  );
1157
- return undefined;
1158
+ return;
1158
1159
  }
1159
1160
  if (packContainer.version !== version) {
1160
1161
  logger.log(
1161
1162
  `Restored pack from ${cacheLocation}${this._extension}, but version doesn't match.`
1162
1163
  );
1163
- return undefined;
1164
+ return;
1164
1165
  }
1165
1166
  logger.time("check build dependencies");
1166
1167
  return Promise.all([
@@ -1321,7 +1322,7 @@ class PackFileCacheStrategy {
1321
1322
  pack.stopCapturingRequests();
1322
1323
  if (!pack.invalid) return;
1323
1324
  this.packPromise = undefined;
1324
- this.logger.log(`Storing pack...`);
1325
+ this.logger.log("Storing pack...");
1325
1326
  let promise;
1326
1327
  const newBuildDependencies = new Set();
1327
1328
  for (const dep of this.newBuildDependencies) {
@@ -1439,7 +1440,7 @@ class PackFileCacheStrategy {
1439
1440
  }
1440
1441
  return promise.then(() => {
1441
1442
  if (reportProgress) reportProgress(0.8, "serialize pack");
1442
- this.logger.time(`store pack`);
1443
+ this.logger.time("store pack");
1443
1444
  const updatedBuildDependencies = new Set(this.buildDependencies);
1444
1445
  for (const dep of newBuildDependencies) {
1445
1446
  updatedBuildDependencies.add(dep);
@@ -1464,7 +1465,7 @@ class PackFileCacheStrategy {
1464
1465
  this.buildDependencies.add(dep);
1465
1466
  }
1466
1467
  this.newBuildDependencies.clear();
1467
- this.logger.timeEnd(`store pack`);
1468
+ this.logger.timeEnd("store pack");
1468
1469
  const stats = pack.getContentStats();
1469
1470
  this.logger.log(
1470
1471
  "Stored pack (%d items, %d files, %d MiB)",
@@ -1474,7 +1475,7 @@ class PackFileCacheStrategy {
1474
1475
  );
1475
1476
  })
1476
1477
  .catch(err => {
1477
- this.logger.timeEnd(`store pack`);
1478
+ this.logger.timeEnd("store pack");
1478
1479
  this.logger.warn(`Caching failed for pack: ${err}`);
1479
1480
  this.logger.debug(err.stack);
1480
1481
  });
@@ -59,11 +59,10 @@ const objectToString = (object, excludeContext) => {
59
59
  for (const key in object) {
60
60
  if (excludeContext && key === "context") continue;
61
61
  const value = object[key];
62
- if (typeof value === "object" && value !== null) {
63
- str += `|${key}=[${objectToString(value, false)}|]`;
64
- } else {
65
- str += `|${key}=|${value}`;
66
- }
62
+ str +=
63
+ typeof value === "object" && value !== null
64
+ ? `|${key}=[${objectToString(value, false)}|]`
65
+ : `|${key}=|${value}`;
67
66
  }
68
67
  return str;
69
68
  };
@@ -241,7 +240,8 @@ class ResolverCachePlugin {
241
240
  }
242
241
  }
243
242
  const itemCache = cache.getItemCache(identifier, null);
244
- let callbacks, yields;
243
+ let callbacks;
244
+ let yields;
245
245
  const done = withYield
246
246
  ? (err, result) => {
247
247
  if (callbacks === undefined) {
@@ -34,27 +34,23 @@ const mergeEtags = (a, b) => {
34
34
  if (typeof a === "string") {
35
35
  if (typeof b === "string") {
36
36
  return `${a}|${b}`;
37
- } else {
38
- const temp = b;
39
- b = a;
40
- a = temp;
41
37
  }
42
- } else {
43
- if (typeof b !== "string") {
44
- // both a and b are objects
45
- let map = dualObjectMap.get(a);
46
- if (map === undefined) {
47
- dualObjectMap.set(a, (map = new WeakMap()));
48
- }
49
- const mergedEtag = map.get(b);
50
- if (mergedEtag === undefined) {
51
- const newMergedEtag = new MergedEtag(a, b);
52
- map.set(b, newMergedEtag);
53
- return newMergedEtag;
54
- } else {
55
- return mergedEtag;
56
- }
38
+ const temp = b;
39
+ b = a;
40
+ a = temp;
41
+ } else if (typeof b !== "string") {
42
+ // both a and b are objects
43
+ let map = dualObjectMap.get(a);
44
+ if (map === undefined) {
45
+ dualObjectMap.set(a, (map = new WeakMap()));
57
46
  }
47
+ const mergedEtag = map.get(b);
48
+ if (mergedEtag === undefined) {
49
+ const newMergedEtag = new MergedEtag(a, b);
50
+ map.set(b, newMergedEtag);
51
+ return newMergedEtag;
52
+ }
53
+ return mergedEtag;
58
54
  }
59
55
  // a is object, b is string
60
56
  let map = objectStringMap.get(a);
@@ -66,9 +62,8 @@ const mergeEtags = (a, b) => {
66
62
  const newMergedEtag = new MergedEtag(a, b);
67
63
  map.set(b, newMergedEtag);
68
64
  return newMergedEtag;
69
- } else {
70
- return mergedEtag;
71
65
  }
66
+ return mergedEtag;
72
67
  };
73
68
 
74
69
  module.exports = mergeEtags;