webpack 5.93.0 → 5.95.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 (344) 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 +33 -20
  28. package/lib/ContextModuleFactory.js +89 -44
  29. package/lib/ContextReplacementPlugin.js +10 -9
  30. package/lib/DefinePlugin.js +75 -68
  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 +6 -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 +41 -15
  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 +130 -69
  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 +21 -13
  94. package/lib/WarnDeprecatedOptionPlugin.js +0 -1
  95. package/lib/WatchIgnorePlugin.js +26 -9
  96. package/lib/Watching.js +10 -5
  97. package/lib/WebpackOptionsApply.js +84 -62
  98. package/lib/asset/AssetGenerator.js +107 -42
  99. package/lib/asset/AssetModulesPlugin.js +29 -23
  100. package/lib/asset/AssetSourceGenerator.js +2 -7
  101. package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
  102. package/lib/buildChunkGraph.js +93 -81
  103. package/lib/cache/IdleFileCachePlugin.js +4 -4
  104. package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
  105. package/lib/cache/PackFileCacheStrategy.js +51 -50
  106. package/lib/cache/ResolverCachePlugin.js +6 -6
  107. package/lib/cache/mergeEtags.js +16 -21
  108. package/lib/cli.js +148 -104
  109. package/lib/config/browserslistTargetHandler.js +16 -13
  110. package/lib/config/defaults.js +32 -28
  111. package/lib/config/normalization.js +335 -344
  112. package/lib/config/target.js +42 -52
  113. package/lib/container/ContainerEntryModule.js +2 -2
  114. package/lib/container/ContainerPlugin.js +1 -1
  115. package/lib/container/RemoteRuntimeModule.js +11 -8
  116. package/lib/container/options.js +18 -4
  117. package/lib/css/CssExportsGenerator.js +26 -24
  118. package/lib/css/CssGenerator.js +9 -4
  119. package/lib/css/CssLoadingRuntimeModule.js +10 -10
  120. package/lib/css/CssModulesPlugin.js +127 -47
  121. package/lib/css/CssParser.js +20 -18
  122. package/lib/css/walkCssTokens.js +80 -95
  123. package/lib/debug/ProfilingPlugin.js +19 -20
  124. package/lib/dependencies/AMDDefineDependency.js +1 -1
  125. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
  126. package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
  127. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
  128. package/lib/dependencies/AMDRuntimeModules.js +2 -2
  129. package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
  130. package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
  131. package/lib/dependencies/CommonJsExportsDependency.js +0 -1
  132. package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
  133. package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
  134. package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
  135. package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
  136. package/lib/dependencies/ConstDependency.js +1 -1
  137. package/lib/dependencies/ContextDependency.js +7 -2
  138. package/lib/dependencies/ContextDependencyHelpers.js +31 -34
  139. package/lib/dependencies/ContextElementDependency.js +35 -8
  140. package/lib/dependencies/CriticalDependencyWarning.js +1 -1
  141. package/lib/dependencies/CssExportDependency.js +7 -7
  142. package/lib/dependencies/CssImportDependency.js +0 -2
  143. package/lib/dependencies/CssLocalIdentifierDependency.js +3 -3
  144. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
  145. package/lib/dependencies/CssUrlDependency.js +4 -5
  146. package/lib/dependencies/DynamicExports.js +5 -5
  147. package/lib/dependencies/ExportsInfoDependency.js +1 -2
  148. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
  149. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
  150. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
  151. package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
  152. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
  153. package/lib/dependencies/HarmonyExports.js +2 -2
  154. package/lib/dependencies/HarmonyImportDependency.js +2 -4
  155. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
  156. package/lib/dependencies/HarmonyImportSpecifierDependency.js +40 -15
  157. package/lib/dependencies/ImportDependency.js +1 -1
  158. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
  159. package/lib/dependencies/ImportMetaPlugin.js +11 -13
  160. package/lib/dependencies/ImportParserPlugin.js +39 -44
  161. package/lib/dependencies/JsonExportsDependency.js +22 -18
  162. package/lib/dependencies/LoaderPlugin.js +47 -36
  163. package/lib/dependencies/LocalModule.js +1 -1
  164. package/lib/dependencies/LocalModulesHelpers.js +4 -4
  165. package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
  166. package/lib/dependencies/ProvidedDependency.js +1 -1
  167. package/lib/dependencies/PureExpressionDependency.js +6 -6
  168. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
  169. package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
  170. package/lib/dependencies/SystemPlugin.js +1 -1
  171. package/lib/dependencies/URLDependency.js +3 -3
  172. package/lib/dependencies/URLPlugin.js +66 -12
  173. package/lib/dependencies/WorkerPlugin.js +25 -24
  174. package/lib/dependencies/processExportInfo.js +3 -1
  175. package/lib/electron/ElectronTargetPlugin.js +1 -0
  176. package/lib/esm/ModuleChunkFormatPlugin.js +3 -3
  177. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
  178. package/lib/formatLocation.js +1 -2
  179. package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
  180. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
  181. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
  182. package/lib/hmr/LazyCompilationPlugin.js +27 -12
  183. package/lib/hmr/lazyCompilationBackend.js +64 -40
  184. package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
  185. package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
  186. package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
  187. package/lib/ids/HashedModuleIdsPlugin.js +5 -1
  188. package/lib/ids/IdHelpers.js +29 -39
  189. package/lib/ids/SyncModuleIdsPlugin.js +7 -2
  190. package/lib/index.js +1 -5
  191. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -4
  192. package/lib/javascript/BasicEvaluatedExpression.js +4 -19
  193. package/lib/javascript/ChunkHelpers.js +1 -1
  194. package/lib/javascript/CommonJsChunkFormatPlugin.js +3 -2
  195. package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
  196. package/lib/javascript/JavascriptGenerator.js +23 -7
  197. package/lib/javascript/JavascriptModulesPlugin.js +133 -86
  198. package/lib/javascript/JavascriptParser.js +179 -200
  199. package/lib/javascript/JavascriptParserHelpers.js +20 -21
  200. package/lib/javascript/StartupHelpers.js +41 -13
  201. package/lib/json/JsonGenerator.js +7 -13
  202. package/lib/json/JsonModulesPlugin.js +1 -4
  203. package/lib/json/JsonParser.js +5 -3
  204. package/lib/library/AmdLibraryPlugin.js +12 -16
  205. package/lib/library/AssignLibraryPlugin.js +8 -10
  206. package/lib/library/EnableLibraryPlugin.js +15 -14
  207. package/lib/library/JsonpLibraryPlugin.js +2 -1
  208. package/lib/library/ModernModuleLibraryPlugin.js +8 -6
  209. package/lib/library/ModuleLibraryPlugin.js +2 -1
  210. package/lib/library/SystemLibraryPlugin.js +2 -1
  211. package/lib/library/UmdLibraryPlugin.js +66 -92
  212. package/lib/logging/Logger.js +32 -4
  213. package/lib/logging/createConsoleLogger.js +12 -13
  214. package/lib/logging/runtime.js +7 -8
  215. package/lib/logging/truncateArgs.js +5 -8
  216. package/lib/node/NodeWatchFileSystem.js +3 -18
  217. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
  218. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
  219. package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
  220. package/lib/node/nodeConsole.js +22 -22
  221. package/lib/optimize/AggressiveMergingPlugin.js +2 -4
  222. package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
  223. package/lib/optimize/ConcatenatedModule.js +81 -51
  224. package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
  225. package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
  226. package/lib/optimize/InnerGraph.js +17 -17
  227. package/lib/optimize/InnerGraphPlugin.js +8 -7
  228. package/lib/optimize/LimitChunkCountPlugin.js +2 -3
  229. package/lib/optimize/MangleExportsPlugin.js +1 -0
  230. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -2
  231. package/lib/optimize/MinMaxSizeWarning.js +1 -1
  232. package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
  233. package/lib/optimize/RealContentHashPlugin.js +7 -10
  234. package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
  235. package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
  236. package/lib/optimize/SplitChunksPlugin.js +34 -30
  237. package/lib/performance/SizeLimitsPlugin.js +2 -2
  238. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
  239. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
  240. package/lib/rules/BasicEffectRulePlugin.js +3 -1
  241. package/lib/rules/BasicMatcherRulePlugin.js +3 -1
  242. package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
  243. package/lib/rules/RuleSetCompiler.js +41 -22
  244. package/lib/rules/UseEffectRulePlugin.js +36 -32
  245. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
  246. package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
  247. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  248. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
  249. package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
  250. package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
  251. package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
  252. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
  253. package/lib/schemes/DataUriPlugin.js +1 -1
  254. package/lib/schemes/HttpUriPlugin.js +241 -126
  255. package/lib/serialization/BinaryMiddleware.js +44 -28
  256. package/lib/serialization/DateObjectSerializer.js +1 -0
  257. package/lib/serialization/ErrorObjectSerializer.js +2 -0
  258. package/lib/serialization/FileMiddleware.js +154 -106
  259. package/lib/serialization/MapObjectSerializer.js +2 -1
  260. package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
  261. package/lib/serialization/ObjectMiddleware.js +52 -56
  262. package/lib/serialization/PlainObjectSerializer.js +32 -6
  263. package/lib/serialization/RegExpObjectSerializer.js +1 -0
  264. package/lib/serialization/Serializer.js +4 -5
  265. package/lib/serialization/SerializerMiddleware.js +6 -6
  266. package/lib/serialization/SetObjectSerializer.js +2 -1
  267. package/lib/sharing/ConsumeSharedPlugin.js +116 -97
  268. package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
  269. package/lib/sharing/ProvideForSharedDependency.js +0 -1
  270. package/lib/sharing/ProvideSharedPlugin.js +2 -2
  271. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  272. package/lib/sharing/utils.js +15 -27
  273. package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
  274. package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
  275. package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
  276. package/lib/stats/StatsFactory.js +127 -56
  277. package/lib/stats/StatsPrinter.js +75 -44
  278. package/lib/util/ArrayHelpers.js +8 -4
  279. package/lib/util/ArrayQueue.js +1 -1
  280. package/lib/util/AsyncQueue.js +31 -12
  281. package/lib/util/IterableHelpers.js +3 -4
  282. package/lib/util/LazyBucketSortedSet.js +60 -44
  283. package/lib/util/LazySet.js +13 -0
  284. package/lib/util/MapHelpers.js +1 -3
  285. package/lib/util/ParallelismFactorCalculator.js +1 -1
  286. package/lib/util/Queue.js +1 -1
  287. package/lib/util/Semaphore.js +4 -7
  288. package/lib/util/SetHelpers.js +5 -5
  289. package/lib/util/SortableSet.js +4 -3
  290. package/lib/util/StackedCacheMap.js +4 -6
  291. package/lib/util/StackedMap.js +1 -3
  292. package/lib/util/StringXor.js +0 -5
  293. package/lib/util/TupleQueue.js +1 -1
  294. package/lib/util/TupleSet.js +15 -5
  295. package/lib/util/URLAbsoluteSpecifier.js +7 -7
  296. package/lib/util/WeakTupleMap.js +19 -21
  297. package/lib/util/binarySearchBounds.js +5 -12
  298. package/lib/util/chainedImports.js +1 -1
  299. package/lib/util/cleverMerge.js +21 -19
  300. package/lib/util/comparators.js +57 -52
  301. package/lib/util/compileBooleanMatcher.js +3 -6
  302. package/lib/util/conventions.js +8 -11
  303. package/lib/util/createHash.js +9 -6
  304. package/lib/util/deprecation.js +22 -12
  305. package/lib/util/deterministicGrouping.js +19 -26
  306. package/lib/util/findGraphRoots.js +2 -2
  307. package/lib/util/fs.js +32 -32
  308. package/lib/util/hash/md4.js +2 -2
  309. package/lib/util/hash/wasm-hash.js +7 -7
  310. package/lib/util/hash/xxhash64.js +2 -2
  311. package/lib/util/identifier.js +81 -59
  312. package/lib/util/memoize.js +8 -10
  313. package/lib/util/mergeScope.js +6 -9
  314. package/lib/util/nonNumericOnlyHash.js +2 -2
  315. package/lib/util/numberHash.js +1 -6
  316. package/lib/util/objectToMap.js +0 -1
  317. package/lib/util/propertyAccess.js +2 -5
  318. package/lib/util/propertyName.js +1 -3
  319. package/lib/util/registerExternalSerializer.js +1 -1
  320. package/lib/util/runtime.js +109 -113
  321. package/lib/util/semver.js +29 -27
  322. package/lib/util/serialization.js +16 -1
  323. package/lib/util/smartGrouping.js +5 -5
  324. package/lib/util/source.js +1 -1
  325. package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
  326. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
  327. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
  328. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
  329. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
  330. package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
  331. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
  332. package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
  333. package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
  334. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
  335. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
  336. package/package.json +18 -17
  337. package/schemas/WebpackOptions.check.js +1 -1
  338. package/schemas/WebpackOptions.json +5 -0
  339. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  340. package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
  341. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  342. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  343. package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
  344. package/types.d.ts +681 -355
@@ -5,15 +5,22 @@
5
5
 
6
6
  "use strict";
7
7
 
8
+ /** @typedef {import("http").IncomingMessage} IncomingMessage */
9
+ /** @typedef {import("http").RequestListener} RequestListener */
8
10
  /** @typedef {import("http").ServerOptions} HttpServerOptions */
11
+ /** @typedef {import("http").ServerResponse} ServerResponse */
9
12
  /** @typedef {import("https").ServerOptions} HttpsServerOptions */
13
+ /** @typedef {import("net").AddressInfo} AddressInfo */
14
+ /** @typedef {import("net").Server} Server */
10
15
  /** @typedef {import("../../declarations/WebpackOptions").LazyCompilationDefaultBackendOptions} LazyCompilationDefaultBackendOptions */
11
16
  /** @typedef {import("../Compiler")} Compiler */
17
+ /** @typedef {import("../Module")} Module */
18
+ /** @typedef {import("./LazyCompilationPlugin").BackendApi} BackendApi */
12
19
 
13
20
  /**
14
21
  * @callback BackendHandler
15
22
  * @param {Compiler} compiler compiler
16
- * @param {function((Error | null)=, any=): void} callback callback
23
+ * @param {function(Error | null, BackendApi=): void} callback callback
17
24
  * @returns {void}
18
25
  */
19
26
 
@@ -36,8 +43,13 @@ module.exports = options => (compiler, callback) => {
36
43
  ? options.server
37
44
  : (() => {
38
45
  const http = isHttps ? require("https") : require("http");
39
- return http.createServer.bind(http, options.server);
46
+ return http.createServer.bind(
47
+ http,
48
+ /** @type {HttpServerOptions | HttpsServerOptions} */
49
+ (options.server)
50
+ );
40
51
  })();
52
+ /** @type {function(Server): void} */
41
53
  const listen =
42
54
  typeof options.listen === "function"
43
55
  ? options.listen
@@ -50,7 +62,9 @@ module.exports = options => (compiler, callback) => {
50
62
 
51
63
  const protocol = options.protocol || (isHttps ? "https" : "http");
52
64
 
65
+ /** @type {RequestListener} */
53
66
  const requestListener = (req, res) => {
67
+ if (req.url === undefined) return;
54
68
  const keys = req.url.slice(prefix.length).split("@");
55
69
  req.socket.on("close", () => {
56
70
  setTimeout(() => {
@@ -85,7 +99,7 @@ module.exports = options => (compiler, callback) => {
85
99
  if (moduleActivated && compiler.watching) compiler.watching.invalidate();
86
100
  };
87
101
 
88
- const server = /** @type {import("net").Server} */ (createServer());
102
+ const server = /** @type {Server} */ (createServer());
89
103
  server.on("request", requestListener);
90
104
 
91
105
  let isClosing = false;
@@ -101,43 +115,53 @@ module.exports = options => (compiler, callback) => {
101
115
  server.on("clientError", e => {
102
116
  if (e.message !== "Server is disposing") logger.warn(e);
103
117
  });
104
- server.on("listening", err => {
105
- if (err) return callback(err);
106
- const addr = server.address();
107
- if (typeof addr === "string") throw new Error("addr must not be a string");
108
- const urlBase =
109
- addr.address === "::" || addr.address === "0.0.0.0"
110
- ? `${protocol}://localhost:${addr.port}`
111
- : addr.family === "IPv6"
112
- ? `${protocol}://[${addr.address}]:${addr.port}`
113
- : `${protocol}://${addr.address}:${addr.port}`;
114
- logger.log(
115
- `Server-Sent-Events server for lazy compilation open at ${urlBase}.`
116
- );
117
- callback(null, {
118
- dispose(callback) {
119
- isClosing = true;
120
- // Removing the listener is a workaround for a memory leak in node.js
121
- server.off("request", requestListener);
122
- server.close(err => {
123
- callback(err);
124
- });
125
- for (const socket of sockets) {
126
- socket.destroy(new Error("Server is disposing"));
118
+
119
+ server.on(
120
+ "listening",
121
+ /**
122
+ * @param {Error} err error
123
+ * @returns {void}
124
+ */
125
+ err => {
126
+ if (err) return callback(err);
127
+ const _addr = server.address();
128
+ if (typeof _addr === "string")
129
+ throw new Error("addr must not be a string");
130
+ const addr = /** @type {AddressInfo} */ (_addr);
131
+ const urlBase =
132
+ addr.address === "::" || addr.address === "0.0.0.0"
133
+ ? `${protocol}://localhost:${addr.port}`
134
+ : addr.family === "IPv6"
135
+ ? `${protocol}://[${addr.address}]:${addr.port}`
136
+ : `${protocol}://${addr.address}:${addr.port}`;
137
+ logger.log(
138
+ `Server-Sent-Events server for lazy compilation open at ${urlBase}.`
139
+ );
140
+ callback(null, {
141
+ dispose(callback) {
142
+ isClosing = true;
143
+ // Removing the listener is a workaround for a memory leak in node.js
144
+ server.off("request", requestListener);
145
+ server.close(err => {
146
+ callback(err);
147
+ });
148
+ for (const socket of sockets) {
149
+ socket.destroy(new Error("Server is disposing"));
150
+ }
151
+ },
152
+ module(originalModule) {
153
+ const key = `${encodeURIComponent(
154
+ originalModule.identifier().replace(/\\/g, "/").replace(/@/g, "_")
155
+ ).replace(/%(2F|3A|24|26|2B|2C|3B|3D)/g, decodeURIComponent)}`;
156
+ const active = activeModules.get(key) > 0;
157
+ return {
158
+ client: `${options.client}?${encodeURIComponent(urlBase + prefix)}`,
159
+ data: key,
160
+ active
161
+ };
127
162
  }
128
- },
129
- module(originalModule) {
130
- const key = `${encodeURIComponent(
131
- originalModule.identifier().replace(/\\/g, "/").replace(/@/g, "_")
132
- ).replace(/%(2F|3A|24|26|2B|2C|3B|3D|3A)/g, decodeURIComponent)}`;
133
- const active = activeModules.get(key) > 0;
134
- return {
135
- client: `${options.client}?${encodeURIComponent(urlBase + prefix)}`,
136
- data: key,
137
- active
138
- };
139
- }
140
- });
141
- });
163
+ });
164
+ }
165
+ );
142
166
  listen(server);
143
167
  };
@@ -70,9 +70,7 @@ class ChunkModuleIdRangePlugin {
70
70
  chunkModules = chunkGraph.getOrderedChunkModules(chunk, cmpFn);
71
71
  } else {
72
72
  chunkModules = Array.from(modules)
73
- .filter(m => {
74
- return chunkGraph.isModuleInChunk(m, chunk);
75
- })
73
+ .filter(m => chunkGraph.isModuleInChunk(m, chunk))
76
74
  .sort(compareModulesByPreOrderIndexOrIdentifier(moduleGraph));
77
75
  }
78
76
 
@@ -51,9 +51,7 @@ class DeterministicChunkIdsPlugin {
51
51
 
52
52
  const usedIds = getUsedChunkIds(compilation);
53
53
  assignDeterministicIds(
54
- Array.from(chunks).filter(chunk => {
55
- return chunk.id === null;
56
- }),
54
+ Array.from(chunks).filter(chunk => chunk.id === null),
57
55
  chunk =>
58
56
  getFullChunkName(chunk, chunkGraph, context, compiler.root),
59
57
  compareNatural,
@@ -65,7 +63,7 @@ class DeterministicChunkIdsPlugin {
65
63
  chunk.ids = [id];
66
64
  return true;
67
65
  },
68
- [Math.pow(10, maxLength)],
66
+ [10 ** maxLength],
69
67
  10,
70
68
  usedIds.size
71
69
  );
@@ -77,7 +77,7 @@ class DeterministicModuleIdsPlugin {
77
77
  chunkGraph.setModuleId(module, id);
78
78
  return true;
79
79
  },
80
- [Math.pow(10, maxLength)],
80
+ [10 ** maxLength],
81
81
  fixedLength ? 0 : 10,
82
82
  usedIds.size,
83
83
  salt
@@ -64,7 +64,11 @@ class HashedModuleIdsPlugin {
64
64
  );
65
65
  for (const module of modulesInNaturalOrder) {
66
66
  const ident = getFullModuleName(module, context, compiler.root);
67
- const hash = createHash(options.hashFunction);
67
+ const hash = createHash(
68
+ /** @type {NonNullable<HashedModuleIdsPluginOptions["hashFunction"]>} */ (
69
+ options.hashFunction
70
+ )
71
+ );
68
72
  hash.update(ident || "");
69
73
  const hashId = /** @type {string} */ (
70
74
  hash.digest(options.hashDigest)
@@ -43,7 +43,7 @@ const avoidNumber = str => {
43
43
  } else if (firstChar > 57) {
44
44
  return str;
45
45
  }
46
- if (str === +str + "") {
46
+ if (str === String(Number(str))) {
47
47
  return `_${str}`;
48
48
  }
49
49
  return str;
@@ -53,12 +53,9 @@ const avoidNumber = str => {
53
53
  * @param {string} request the request
54
54
  * @returns {string} id representation
55
55
  */
56
- const requestToId = request => {
57
- return request
58
- .replace(/^(\.\.?\/)+/, "")
59
- .replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_");
60
- };
61
- exports.requestToId = requestToId;
56
+ const requestToId = request =>
57
+ request.replace(/^(\.\.?\/)+/, "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_");
58
+ module.exports.requestToId = requestToId;
62
59
 
63
60
  /**
64
61
  * @param {string} string the string
@@ -91,7 +88,7 @@ const getShortModuleName = (module, context, associatedObjectForCache) => {
91
88
  );
92
89
  return "";
93
90
  };
94
- exports.getShortModuleName = getShortModuleName;
91
+ module.exports.getShortModuleName = getShortModuleName;
95
92
 
96
93
  /**
97
94
  * @param {string} shortName the short name
@@ -111,7 +108,7 @@ const getLongModuleName = (
111
108
  const fullName = getFullModuleName(module, context, associatedObjectForCache);
112
109
  return `${shortName}?${getHash(fullName, 4, hashFunction)}`;
113
110
  };
114
- exports.getLongModuleName = getLongModuleName;
111
+ module.exports.getLongModuleName = getLongModuleName;
115
112
 
116
113
  /**
117
114
  * @param {Module} module the module
@@ -119,14 +116,9 @@ exports.getLongModuleName = getLongModuleName;
119
116
  * @param {object=} associatedObjectForCache an object to which the cache will be attached
120
117
  * @returns {string} full module name
121
118
  */
122
- const getFullModuleName = (module, context, associatedObjectForCache) => {
123
- return makePathsRelative(
124
- context,
125
- module.identifier(),
126
- associatedObjectForCache
127
- );
128
- };
129
- exports.getFullModuleName = getFullModuleName;
119
+ const getFullModuleName = (module, context, associatedObjectForCache) =>
120
+ makePathsRelative(context, module.identifier(), associatedObjectForCache);
121
+ module.exports.getFullModuleName = getFullModuleName;
130
122
 
131
123
  /**
132
124
  * @param {Chunk} chunk the chunk
@@ -156,7 +148,7 @@ const getShortChunkName = (
156
148
  .join(delimiter);
157
149
  return shortenLongString(chunkName, delimiter, hashFunction);
158
150
  };
159
- exports.getShortChunkName = getShortChunkName;
151
+ module.exports.getShortChunkName = getShortChunkName;
160
152
 
161
153
  /**
162
154
  * @param {Chunk} chunk the chunk
@@ -191,7 +183,7 @@ const getLongChunkName = (
191
183
  .join(delimiter);
192
184
  return shortenLongString(chunkName, delimiter, hashFunction);
193
185
  };
194
- exports.getLongChunkName = getLongChunkName;
186
+ module.exports.getLongChunkName = getLongChunkName;
195
187
 
196
188
  /**
197
189
  * @param {Chunk} chunk the chunk
@@ -213,7 +205,7 @@ const getFullChunkName = (
213
205
  );
214
206
  return fullModuleNames.join();
215
207
  };
216
- exports.getFullChunkName = getFullChunkName;
208
+ module.exports.getFullChunkName = getFullChunkName;
217
209
 
218
210
  /**
219
211
  * @template K
@@ -246,7 +238,7 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
246
238
  const usedIds = new Set();
247
239
  if (compilation.usedModuleIds) {
248
240
  for (const id of compilation.usedModuleIds) {
249
- usedIds.add(id + "");
241
+ usedIds.add(String(id));
250
242
  }
251
243
  }
252
244
 
@@ -254,20 +246,18 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
254
246
  if (!module.needId) continue;
255
247
  const moduleId = chunkGraph.getModuleId(module);
256
248
  if (moduleId !== null) {
257
- usedIds.add(moduleId + "");
258
- } else {
259
- if (
260
- (!filter || filter(module)) &&
261
- chunkGraph.getNumberOfModuleChunks(module) !== 0
262
- ) {
263
- modules.push(module);
264
- }
249
+ usedIds.add(String(moduleId));
250
+ } else if (
251
+ (!filter || filter(module)) &&
252
+ chunkGraph.getNumberOfModuleChunks(module) !== 0
253
+ ) {
254
+ modules.push(module);
265
255
  }
266
256
  }
267
257
 
268
258
  return [usedIds, modules];
269
259
  };
270
- exports.getUsedModuleIdsAndModules = getUsedModuleIdsAndModules;
260
+ module.exports.getUsedModuleIdsAndModules = getUsedModuleIdsAndModules;
271
261
 
272
262
  /**
273
263
  * @param {Compilation} compilation the compilation
@@ -278,20 +268,20 @@ const getUsedChunkIds = compilation => {
278
268
  const usedIds = new Set();
279
269
  if (compilation.usedChunkIds) {
280
270
  for (const id of compilation.usedChunkIds) {
281
- usedIds.add(id + "");
271
+ usedIds.add(String(id));
282
272
  }
283
273
  }
284
274
 
285
275
  for (const chunk of compilation.chunks) {
286
276
  const chunkId = chunk.id;
287
277
  if (chunkId !== null) {
288
- usedIds.add(chunkId + "");
278
+ usedIds.add(String(chunkId));
289
279
  }
290
280
  }
291
281
 
292
282
  return usedIds;
293
283
  };
294
- exports.getUsedChunkIds = getUsedChunkIds;
284
+ module.exports.getUsedChunkIds = getUsedChunkIds;
295
285
 
296
286
  /**
297
287
  * @template T
@@ -359,7 +349,7 @@ const assignNames = (
359
349
  unnamedItems.sort(comparator);
360
350
  return unnamedItems;
361
351
  };
362
- exports.assignNames = assignNames;
352
+ module.exports.assignNames = assignNames;
363
353
 
364
354
  /**
365
355
  * @template T
@@ -413,7 +403,7 @@ const assignDeterministicIds = (
413
403
  } while (!assignId(item, id));
414
404
  }
415
405
  };
416
- exports.assignDeterministicIds = assignDeterministicIds;
406
+ module.exports.assignDeterministicIds = assignDeterministicIds;
417
407
 
418
408
  /**
419
409
  * @param {Set<string>} usedIds used ids
@@ -432,7 +422,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
432
422
  */
433
423
  assignId = module => {
434
424
  if (chunkGraph.getModuleId(module) === null) {
435
- while (usedIds.has(nextId + "")) nextId++;
425
+ while (usedIds.has(String(nextId))) nextId++;
436
426
  chunkGraph.setModuleId(module, nextId++);
437
427
  }
438
428
  };
@@ -450,7 +440,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
450
440
  assignId(module);
451
441
  }
452
442
  };
453
- exports.assignAscendingModuleIds = assignAscendingModuleIds;
443
+ module.exports.assignAscendingModuleIds = assignAscendingModuleIds;
454
444
 
455
445
  /**
456
446
  * @param {Iterable<Chunk>} chunks the chunks
@@ -464,7 +454,7 @@ const assignAscendingChunkIds = (chunks, compilation) => {
464
454
  if (usedIds.size > 0) {
465
455
  for (const chunk of chunks) {
466
456
  if (chunk.id === null) {
467
- while (usedIds.has(nextId + "")) nextId++;
457
+ while (usedIds.has(String(nextId))) nextId++;
468
458
  chunk.id = nextId;
469
459
  chunk.ids = [nextId];
470
460
  nextId++;
@@ -480,4 +470,4 @@ const assignAscendingChunkIds = (chunks, compilation) => {
480
470
  }
481
471
  }
482
472
  };
483
- exports.assignAscendingChunkIds = assignAscendingChunkIds;
473
+ module.exports.assignAscendingChunkIds = assignAscendingChunkIds;
@@ -10,6 +10,7 @@ const { getUsedModuleIdsAndModules } = require("./IdHelpers");
10
10
 
11
11
  /** @typedef {import("../Compiler")} Compiler */
12
12
  /** @typedef {import("../Module")} Module */
13
+ /** @typedef {import("../util/fs").IntermediateFileSystem} IntermediateFileSystem */
13
14
 
14
15
  const plugin = "SyncModuleIdsPlugin";
15
16
 
@@ -42,7 +43,9 @@ class SyncModuleIdsPlugin {
42
43
  let dataChanged = false;
43
44
  if (this._read) {
44
45
  compiler.hooks.readRecords.tapAsync(plugin, callback => {
45
- const fs = compiler.intermediateFileSystem;
46
+ const fs =
47
+ /** @type {IntermediateFileSystem} */
48
+ (compiler.intermediateFileSystem);
46
49
  fs.readFile(this._path, (err, buffer) => {
47
50
  if (err) {
48
51
  if (err.code !== "ENOENT") {
@@ -69,7 +72,9 @@ class SyncModuleIdsPlugin {
69
72
  for (const [key, value] of sorted) {
70
73
  json[key] = value;
71
74
  }
72
- const fs = compiler.intermediateFileSystem;
75
+ const fs =
76
+ /** @type {IntermediateFileSystem} */
77
+ (compiler.intermediateFileSystem);
73
78
  fs.writeFile(this._path, JSON.stringify(json), callback);
74
79
  });
75
80
  }
package/lib/index.js CHANGED
@@ -70,11 +70,7 @@ const memoize = require("./util/memoize");
70
70
  */
71
71
  const lazyFunction = factory => {
72
72
  const fac = memoize(factory);
73
- const f = /** @type {any} */ (
74
- (...args) => {
75
- return fac()(...args);
76
- }
77
- );
73
+ const f = /** @type {any} */ ((...args) => fac()(...args));
78
74
  return /** @type {T} */ (f);
79
75
  };
80
76
 
@@ -84,10 +84,11 @@ class ArrayPushCallbackChunkFormatPlugin {
84
84
  );
85
85
  if (runtimeModules.length > 0 || entries.length > 0) {
86
86
  const runtime = new ConcatSource(
87
- (runtimeTemplate.supportsArrowFunction()
88
- ? `${RuntimeGlobals.require} =>`
89
- : `function(${RuntimeGlobals.require})`) +
90
- " { // webpackRuntimeModules\n"
87
+ `${
88
+ runtimeTemplate.supportsArrowFunction()
89
+ ? `${RuntimeGlobals.require} =>`
90
+ : `function(${RuntimeGlobals.require})`
91
+ } { // webpackRuntimeModules\n`
91
92
  );
92
93
  if (runtimeModules.length > 0) {
93
94
  runtime.add(
@@ -184,7 +184,7 @@ class BasicEvaluatedExpression {
184
184
  asCompileTimeValue() {
185
185
  switch (this.type) {
186
186
  case TypeUndefined:
187
- return undefined;
187
+ return;
188
188
  case TypeNull:
189
189
  return null;
190
190
  case TypeString:
@@ -252,7 +252,6 @@ class BasicEvaluatedExpression {
252
252
  const str = this.asString();
253
253
  if (typeof str === "string") return str !== "";
254
254
  }
255
- return undefined;
256
255
  }
257
256
 
258
257
  /**
@@ -275,8 +274,6 @@ class BasicEvaluatedExpression {
275
274
  if (this.isConstArray()) return false;
276
275
  if (this.isTemplateString()) return false;
277
276
  if (this.isRegExp()) return false;
278
-
279
- return undefined;
280
277
  }
281
278
 
282
279
  /**
@@ -292,12 +289,12 @@ class BasicEvaluatedExpression {
292
289
  if (this.isBigInt()) return `${this.bigint}`;
293
290
  if (this.isRegExp()) return `${this.regExp}`;
294
291
  if (this.isArray()) {
295
- let array = [];
292
+ const array = [];
296
293
  for (const item of /** @type {BasicEvaluatedExpression[]} */ (
297
294
  this.items
298
295
  )) {
299
296
  const itemStr = item.asString();
300
- if (itemStr === undefined) return undefined;
297
+ if (itemStr === undefined) return;
301
298
  array.push(itemStr);
302
299
  }
303
300
  return `${array}`;
@@ -309,12 +306,11 @@ class BasicEvaluatedExpression {
309
306
  this.parts
310
307
  )) {
311
308
  const partStr = part.asString();
312
- if (partStr === undefined) return undefined;
309
+ if (partStr === undefined) return;
313
310
  str += partStr;
314
311
  }
315
312
  return str;
316
313
  }
317
- return undefined;
318
314
  }
319
315
 
320
316
  /**
@@ -390,7 +386,6 @@ class BasicEvaluatedExpression {
390
386
 
391
387
  /**
392
388
  * Set's the value of this expression to a particular identifier and its members.
393
- *
394
389
  * @param {string | VariableInfoInterface} identifier identifier to set
395
390
  * @param {string | VariableInfoInterface} rootInfo root info
396
391
  * @param {() => string[]} getMembers members
@@ -417,7 +412,6 @@ class BasicEvaluatedExpression {
417
412
 
418
413
  /**
419
414
  * Wraps an array of expressions with a prefix and postfix expression.
420
- *
421
415
  * @param {BasicEvaluatedExpression | null | undefined} prefix Expression to be added before the innerExpressions
422
416
  * @param {BasicEvaluatedExpression | null | undefined} postfix Expression to be added after the innerExpressions
423
417
  * @param {BasicEvaluatedExpression[] | undefined} innerExpressions Expressions to be wrapped
@@ -434,7 +428,6 @@ class BasicEvaluatedExpression {
434
428
 
435
429
  /**
436
430
  * Stores the options of a conditional expression.
437
- *
438
431
  * @param {BasicEvaluatedExpression[]} options optional (consequent/alternate) expressions to be set
439
432
  * @returns {this} this
440
433
  */
@@ -447,7 +440,6 @@ class BasicEvaluatedExpression {
447
440
 
448
441
  /**
449
442
  * Adds options to a conditional expression.
450
- *
451
443
  * @param {BasicEvaluatedExpression[]} options optional (consequent/alternate) expressions to be added
452
444
  * @returns {this} this
453
445
  */
@@ -465,7 +457,6 @@ class BasicEvaluatedExpression {
465
457
 
466
458
  /**
467
459
  * Set's the value of this expression to an array of expressions.
468
- *
469
460
  * @param {BasicEvaluatedExpression[]} items expressions to set
470
461
  * @returns {this} this
471
462
  */
@@ -478,7 +469,6 @@ class BasicEvaluatedExpression {
478
469
 
479
470
  /**
480
471
  * Set's the value of this expression to an array of strings.
481
- *
482
472
  * @param {string[]} array array to set
483
473
  * @returns {this} this
484
474
  */
@@ -492,7 +482,6 @@ class BasicEvaluatedExpression {
492
482
  /**
493
483
  * Set's the value of this expression to a processed/unprocessed template string. Used
494
484
  * for evaluating TemplateLiteral expressions in the JavaScript Parser.
495
- *
496
485
  * @param {BasicEvaluatedExpression[]} quasis template string quasis
497
486
  * @param {BasicEvaluatedExpression[]} parts template string parts
498
487
  * @param {"cooked" | "raw"} kind template string kind
@@ -522,7 +511,6 @@ class BasicEvaluatedExpression {
522
511
 
523
512
  /**
524
513
  * Set's the value of the expression to nullish.
525
- *
526
514
  * @param {boolean} value true, if the expression is nullish
527
515
  * @returns {this} this
528
516
  */
@@ -536,7 +524,6 @@ class BasicEvaluatedExpression {
536
524
 
537
525
  /**
538
526
  * Set's the range for the expression.
539
- *
540
527
  * @param {[number, number]} range range to set
541
528
  * @returns {this} this
542
529
  */
@@ -547,7 +534,6 @@ class BasicEvaluatedExpression {
547
534
 
548
535
  /**
549
536
  * Set whether or not the expression has side effects.
550
- *
551
537
  * @param {boolean} sideEffects true, if the expression has side effects
552
538
  * @returns {this} this
553
539
  */
@@ -558,7 +544,6 @@ class BasicEvaluatedExpression {
558
544
 
559
545
  /**
560
546
  * Set the expression node for the expression.
561
- *
562
547
  * @param {Node | undefined} expression expression
563
548
  * @returns {this} this
564
549
  */
@@ -30,4 +30,4 @@ const getAllChunks = (entrypoint, excludedChunk1, excludedChunk2) => {
30
30
  }
31
31
  return chunks;
32
32
  };
33
- exports.getAllChunks = getAllChunks;
33
+ module.exports.getAllChunks = getAllChunks;
@@ -51,7 +51,7 @@ class CommonJsChunkFormatPlugin {
51
51
  const source = new ConcatSource();
52
52
  source.add(`exports.id = ${JSON.stringify(chunk.id)};\n`);
53
53
  source.add(`exports.ids = ${JSON.stringify(chunk.ids)};\n`);
54
- source.add(`exports.modules = `);
54
+ source.add("exports.modules = ");
55
55
  source.add(modules);
56
56
  source.add(";\n");
57
57
  const runtimeModules =
@@ -85,7 +85,8 @@ class CommonJsChunkFormatPlugin {
85
85
  const runtimeOutputName = compilation
86
86
  .getPath(
87
87
  getChunkFilenameTemplate(
88
- runtimeChunk,
88
+ /** @type {Chunk} */
89
+ (runtimeChunk),
89
90
  compilation.outputOptions
90
91
  ),
91
92
  {
@@ -51,10 +51,11 @@ class EnableChunkLoadingPlugin {
51
51
  throw new Error(
52
52
  `Chunk loading type "${type}" is not enabled. ` +
53
53
  "EnableChunkLoadingPlugin need to be used to enable this type of chunk loading. " +
54
- 'This usually happens through the "output.enabledChunkLoadingTypes" option. ' +
55
- 'If you are using a function as entry which sets "chunkLoading", you need to add all potential chunk loading types to "output.enabledChunkLoadingTypes". ' +
56
- "These types are enabled: " +
57
- Array.from(getEnabledTypes(compiler)).join(", ")
54
+ `This usually happens through the "output.enabledChunkLoadingTypes" option. ` +
55
+ `If you are using a function as entry which sets "chunkLoading", you need to add all potential chunk loading types to "output.enabledChunkLoadingTypes". ` +
56
+ `These types are enabled: ${Array.from(
57
+ getEnabledTypes(compiler)
58
+ ).join(", ")}`
58
59
  );
59
60
  }
60
61
  }
@@ -85,7 +86,7 @@ class EnableChunkLoadingPlugin {
85
86
  break;
86
87
  }
87
88
  case "require": {
88
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
89
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
89
90
  const CommonJsChunkLoadingPlugin = require("../node/CommonJsChunkLoadingPlugin");
90
91
  new CommonJsChunkLoadingPlugin({
91
92
  asyncChunkLoading: false
@@ -93,7 +94,7 @@ class EnableChunkLoadingPlugin {
93
94
  break;
94
95
  }
95
96
  case "async-node": {
96
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
97
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
97
98
  const CommonJsChunkLoadingPlugin = require("../node/CommonJsChunkLoadingPlugin");
98
99
  new CommonJsChunkLoadingPlugin({
99
100
  asyncChunkLoading: true