webpack 5.93.0 → 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 (343) 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 +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 +126 -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 +12 -10
  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 +14 -19
  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 +31 -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 +1 -1
  138. package/lib/dependencies/ContextDependencyHelpers.js +31 -34
  139. package/lib/dependencies/ContextElementDependency.js +2 -2
  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 +91 -69
  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 +80 -48
  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/MinMaxSizeWarning.js +1 -1
  231. package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
  232. package/lib/optimize/RealContentHashPlugin.js +7 -10
  233. package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
  234. package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
  235. package/lib/optimize/SplitChunksPlugin.js +34 -30
  236. package/lib/performance/SizeLimitsPlugin.js +2 -2
  237. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
  238. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
  239. package/lib/rules/BasicEffectRulePlugin.js +3 -1
  240. package/lib/rules/BasicMatcherRulePlugin.js +3 -1
  241. package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
  242. package/lib/rules/RuleSetCompiler.js +41 -22
  243. package/lib/rules/UseEffectRulePlugin.js +36 -32
  244. package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
  245. package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
  246. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
  247. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
  248. package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
  249. package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
  250. package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
  251. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
  252. package/lib/schemes/DataUriPlugin.js +1 -1
  253. package/lib/schemes/HttpUriPlugin.js +241 -126
  254. package/lib/serialization/BinaryMiddleware.js +44 -28
  255. package/lib/serialization/DateObjectSerializer.js +1 -0
  256. package/lib/serialization/ErrorObjectSerializer.js +2 -0
  257. package/lib/serialization/FileMiddleware.js +154 -106
  258. package/lib/serialization/MapObjectSerializer.js +2 -1
  259. package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
  260. package/lib/serialization/ObjectMiddleware.js +52 -56
  261. package/lib/serialization/PlainObjectSerializer.js +32 -6
  262. package/lib/serialization/RegExpObjectSerializer.js +1 -0
  263. package/lib/serialization/Serializer.js +4 -5
  264. package/lib/serialization/SerializerMiddleware.js +6 -6
  265. package/lib/serialization/SetObjectSerializer.js +2 -1
  266. package/lib/sharing/ConsumeSharedPlugin.js +116 -97
  267. package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
  268. package/lib/sharing/ProvideForSharedDependency.js +0 -1
  269. package/lib/sharing/ProvideSharedPlugin.js +2 -2
  270. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  271. package/lib/sharing/utils.js +15 -27
  272. package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
  273. package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
  274. package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
  275. package/lib/stats/StatsFactory.js +127 -56
  276. package/lib/stats/StatsPrinter.js +75 -44
  277. package/lib/util/ArrayHelpers.js +8 -4
  278. package/lib/util/ArrayQueue.js +1 -1
  279. package/lib/util/AsyncQueue.js +31 -12
  280. package/lib/util/IterableHelpers.js +3 -4
  281. package/lib/util/LazyBucketSortedSet.js +60 -44
  282. package/lib/util/LazySet.js +1 -0
  283. package/lib/util/MapHelpers.js +1 -3
  284. package/lib/util/ParallelismFactorCalculator.js +1 -1
  285. package/lib/util/Queue.js +1 -1
  286. package/lib/util/Semaphore.js +4 -7
  287. package/lib/util/SetHelpers.js +5 -5
  288. package/lib/util/SortableSet.js +4 -3
  289. package/lib/util/StackedCacheMap.js +4 -6
  290. package/lib/util/StackedMap.js +1 -3
  291. package/lib/util/StringXor.js +0 -5
  292. package/lib/util/TupleQueue.js +1 -1
  293. package/lib/util/TupleSet.js +15 -5
  294. package/lib/util/URLAbsoluteSpecifier.js +7 -7
  295. package/lib/util/WeakTupleMap.js +19 -21
  296. package/lib/util/binarySearchBounds.js +5 -12
  297. package/lib/util/chainedImports.js +1 -1
  298. package/lib/util/cleverMerge.js +21 -19
  299. package/lib/util/comparators.js +57 -52
  300. package/lib/util/compileBooleanMatcher.js +3 -6
  301. package/lib/util/conventions.js +8 -11
  302. package/lib/util/createHash.js +9 -6
  303. package/lib/util/deprecation.js +22 -12
  304. package/lib/util/deterministicGrouping.js +19 -26
  305. package/lib/util/findGraphRoots.js +2 -2
  306. package/lib/util/fs.js +31 -31
  307. package/lib/util/hash/md4.js +2 -2
  308. package/lib/util/hash/wasm-hash.js +7 -7
  309. package/lib/util/hash/xxhash64.js +2 -2
  310. package/lib/util/identifier.js +81 -59
  311. package/lib/util/memoize.js +8 -10
  312. package/lib/util/mergeScope.js +6 -9
  313. package/lib/util/nonNumericOnlyHash.js +2 -2
  314. package/lib/util/numberHash.js +1 -6
  315. package/lib/util/objectToMap.js +0 -1
  316. package/lib/util/propertyAccess.js +2 -5
  317. package/lib/util/propertyName.js +1 -3
  318. package/lib/util/registerExternalSerializer.js +1 -1
  319. package/lib/util/runtime.js +103 -113
  320. package/lib/util/semver.js +29 -27
  321. package/lib/util/serialization.js +16 -1
  322. package/lib/util/smartGrouping.js +5 -5
  323. package/lib/util/source.js +1 -1
  324. package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
  325. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
  326. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
  327. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
  328. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
  329. package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
  330. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
  331. package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
  332. package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
  333. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
  334. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
  335. package/package.json +15 -14
  336. package/schemas/WebpackOptions.check.js +1 -1
  337. package/schemas/WebpackOptions.json +1 -0
  338. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  339. package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
  340. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  341. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  342. package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
  343. package/types.d.ts +667 -347
@@ -21,8 +21,8 @@ const BasicEvaluatedExpression = require("./BasicEvaluatedExpression");
21
21
  * @param {(string[] | null)=} runtimeRequirements runtime requirements
22
22
  * @returns {function(Expression): true} plugin function
23
23
  */
24
- exports.toConstantDependency = (parser, value, runtimeRequirements) => {
25
- return function constDependency(expr) {
24
+ module.exports.toConstantDependency = (parser, value, runtimeRequirements) =>
25
+ function constDependency(expr) {
26
26
  const dep = new ConstDependency(
27
27
  value,
28
28
  /** @type {Range} */ (expr.range),
@@ -32,43 +32,39 @@ exports.toConstantDependency = (parser, value, runtimeRequirements) => {
32
32
  parser.state.module.addPresentationalDependency(dep);
33
33
  return true;
34
34
  };
35
- };
36
35
 
37
36
  /**
38
37
  * @param {string} value the string value
39
38
  * @returns {function(Expression): BasicEvaluatedExpression} plugin function
40
39
  */
41
- exports.evaluateToString = value => {
42
- return function stringExpression(expr) {
40
+ module.exports.evaluateToString = value =>
41
+ function stringExpression(expr) {
43
42
  return new BasicEvaluatedExpression()
44
43
  .setString(value)
45
44
  .setRange(/** @type {Range} */ (expr.range));
46
45
  };
47
- };
48
46
 
49
47
  /**
50
48
  * @param {number} value the number value
51
49
  * @returns {function(Expression): BasicEvaluatedExpression} plugin function
52
50
  */
53
- exports.evaluateToNumber = value => {
54
- return function stringExpression(expr) {
51
+ module.exports.evaluateToNumber = value =>
52
+ function stringExpression(expr) {
55
53
  return new BasicEvaluatedExpression()
56
54
  .setNumber(value)
57
55
  .setRange(/** @type {Range} */ (expr.range));
58
56
  };
59
- };
60
57
 
61
58
  /**
62
59
  * @param {boolean} value the boolean value
63
60
  * @returns {function(Expression): BasicEvaluatedExpression} plugin function
64
61
  */
65
- exports.evaluateToBoolean = value => {
66
- return function booleanExpression(expr) {
62
+ module.exports.evaluateToBoolean = value =>
63
+ function booleanExpression(expr) {
67
64
  return new BasicEvaluatedExpression()
68
65
  .setBoolean(value)
69
66
  .setRange(/** @type {Range} */ (expr.range));
70
67
  };
71
- };
72
68
 
73
69
  /**
74
70
  * @param {string} identifier identifier
@@ -77,9 +73,14 @@ exports.evaluateToBoolean = value => {
77
73
  * @param {boolean|null=} truthy is truthy, null if nullish
78
74
  * @returns {function(Expression): BasicEvaluatedExpression} callback
79
75
  */
80
- exports.evaluateToIdentifier = (identifier, rootInfo, getMembers, truthy) => {
81
- return function identifierExpression(expr) {
82
- let evaluatedExpression = new BasicEvaluatedExpression()
76
+ module.exports.evaluateToIdentifier = (
77
+ identifier,
78
+ rootInfo,
79
+ getMembers,
80
+ truthy
81
+ ) =>
82
+ function identifierExpression(expr) {
83
+ const evaluatedExpression = new BasicEvaluatedExpression()
83
84
  .setIdentifier(identifier, rootInfo, getMembers)
84
85
  .setSideEffects(false)
85
86
  .setRange(/** @type {Range} */ (expr.range));
@@ -97,15 +98,14 @@ exports.evaluateToIdentifier = (identifier, rootInfo, getMembers, truthy) => {
97
98
 
98
99
  return evaluatedExpression;
99
100
  };
100
- };
101
101
 
102
102
  /**
103
103
  * @param {JavascriptParser} parser the parser
104
104
  * @param {string} message the message
105
105
  * @returns {function(Expression): boolean | undefined} callback to handle unsupported expression
106
106
  */
107
- exports.expressionIsUnsupported = (parser, message) => {
108
- return function unsupportedExpression(expr) {
107
+ module.exports.expressionIsUnsupported = (parser, message) =>
108
+ function unsupportedExpression(expr) {
109
109
  const dep = new ConstDependency(
110
110
  "(void 0)",
111
111
  /** @type {Range} */ (expr.range),
@@ -122,8 +122,7 @@ exports.expressionIsUnsupported = (parser, message) => {
122
122
  );
123
123
  return true;
124
124
  };
125
- };
126
125
 
127
- exports.skipTraversal = () => true;
126
+ module.exports.skipTraversal = () => true;
128
127
 
129
- exports.approve = () => true;
128
+ module.exports.approve = () => true;
@@ -15,6 +15,7 @@ const { getAllChunks } = require("./ChunkHelpers");
15
15
  /** @typedef {import("../Chunk").ChunkId} ChunkId */
16
16
  /** @typedef {import("../Compilation")} Compilation */
17
17
  /** @typedef {import("../ChunkGraph")} ChunkGraph */
18
+ /** @typedef {import("../ChunkGraph").ModuleId} ModuleId */
18
19
  /** @typedef {import("../Entrypoint")} Entrypoint */
19
20
  /** @typedef {import("../ChunkGraph").EntryModuleWithChunkGroup} EntryModuleWithChunkGroup */
20
21
  /** @typedef {import("../ChunkGroup")} ChunkGroup */
@@ -23,6 +24,9 @@ const { getAllChunks } = require("./ChunkHelpers");
23
24
 
24
25
  const EXPORT_PREFIX = `var ${RuntimeGlobals.exports} = `;
25
26
 
27
+ /** @typedef {Set<Chunk>} Chunks */
28
+ /** @typedef {ModuleId[]} ModuleIds */
29
+
26
30
  /**
27
31
  * @param {ChunkGraph} chunkGraph chunkGraph
28
32
  * @param {RuntimeTemplate} runtimeTemplate runtimeTemplate
@@ -31,7 +35,7 @@ const EXPORT_PREFIX = `var ${RuntimeGlobals.exports} = `;
31
35
  * @param {boolean} passive true: passive startup with on chunks loaded
32
36
  * @returns {string} runtime code
33
37
  */
34
- exports.generateEntryStartup = (
38
+ module.exports.generateEntryStartup = (
35
39
  chunkGraph,
36
40
  runtimeTemplate,
37
41
  entries,
@@ -46,9 +50,16 @@ exports.generateEntryStartup = (
46
50
  )}`
47
51
  ];
48
52
 
49
- const runModule = id => {
50
- return `__webpack_exec__(${JSON.stringify(id)})`;
51
- };
53
+ /**
54
+ * @param {ModuleId} id id
55
+ * @returns {string} fn to execute
56
+ */
57
+ const runModule = id => `__webpack_exec__(${JSON.stringify(id)})`;
58
+ /**
59
+ * @param {Chunks} chunks chunks
60
+ * @param {ModuleIds} moduleIds module ids
61
+ * @param {boolean=} final true when final, otherwise false
62
+ */
52
63
  const outputCombination = (chunks, moduleIds, final) => {
53
64
  if (chunks.size === 0) {
54
65
  runtime.push(
@@ -71,16 +82,19 @@ exports.generateEntryStartup = (
71
82
  }
72
83
  };
73
84
 
74
- let currentChunks = undefined;
75
- let currentModuleIds = undefined;
85
+ /** @type {Chunks | undefined} */
86
+ let currentChunks;
87
+ /** @type {ModuleIds | undefined} */
88
+ let currentModuleIds;
76
89
 
77
90
  for (const [module, entrypoint] of entries) {
78
91
  const runtimeChunk =
79
92
  /** @type {Entrypoint} */
80
93
  (entrypoint).getRuntimeChunk();
81
- const moduleId = chunkGraph.getModuleId(module);
94
+ const moduleId = /** @type {ModuleId} */ (chunkGraph.getModuleId(module));
82
95
  const chunks = getAllChunks(
83
- /** @type {Entrypoint} */ (entrypoint),
96
+ /** @type {Entrypoint} */
97
+ (entrypoint),
84
98
  chunk,
85
99
  runtimeChunk
86
100
  );
@@ -89,10 +103,14 @@ exports.generateEntryStartup = (
89
103
  currentChunks.size === chunks.size &&
90
104
  isSubset(currentChunks, chunks)
91
105
  ) {
92
- currentModuleIds.push(moduleId);
106
+ /** @type {ModuleIds} */
107
+ (currentModuleIds).push(moduleId);
93
108
  } else {
94
109
  if (currentChunks) {
95
- outputCombination(currentChunks, currentModuleIds);
110
+ outputCombination(
111
+ currentChunks,
112
+ /** @type {ModuleIds} */ (currentModuleIds)
113
+ );
96
114
  }
97
115
  currentChunks = chunks;
98
116
  currentModuleIds = [moduleId];
@@ -101,7 +119,12 @@ exports.generateEntryStartup = (
101
119
 
102
120
  // output current modules with export prefix
103
121
  if (currentChunks) {
104
- outputCombination(currentChunks, currentModuleIds, true);
122
+ outputCombination(
123
+ currentChunks,
124
+ /** @type {ModuleIds} */
125
+ (currentModuleIds),
126
+ true
127
+ );
105
128
  }
106
129
  runtime.push("");
107
130
  return Template.asString(runtime);
@@ -114,7 +137,12 @@ exports.generateEntryStartup = (
114
137
  * @param {Chunk} chunk chunk
115
138
  * @returns {void}
116
139
  */
117
- exports.updateHashForEntryStartup = (hash, chunkGraph, entries, chunk) => {
140
+ module.exports.updateHashForEntryStartup = (
141
+ hash,
142
+ chunkGraph,
143
+ entries,
144
+ chunk
145
+ ) => {
118
146
  for (const [module, entrypoint] of entries) {
119
147
  const runtimeChunk =
120
148
  /** @type {Entrypoint} */
@@ -137,7 +165,7 @@ exports.updateHashForEntryStartup = (hash, chunkGraph, entries, chunk) => {
137
165
  * @param {function(Chunk, ChunkGraph): boolean} filterFn filter function
138
166
  * @returns {Set<number | string>} initially fulfilled chunk ids
139
167
  */
140
- exports.getInitialChunkIds = (chunk, chunkGraph, filterFn) => {
168
+ module.exports.getInitialChunkIds = (chunk, chunkGraph, filterFn) => {
141
169
  const initialChunkIds = new Set(chunk.ids);
142
170
  for (const c of chunk.getAllInitialChunks()) {
143
171
  if (c === chunk || filterFn(c, chunkGraph)) continue;
@@ -27,7 +27,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
27
27
  const stringifySafe = data => {
28
28
  const stringified = JSON.stringify(data);
29
29
  if (!stringified) {
30
- return undefined; // Invalid JSON
30
+ return; // Invalid JSON
31
31
  }
32
32
 
33
33
  return stringified.replace(/\u2028|\u2029/g, str =>
@@ -53,22 +53,16 @@ const createObjectForExportsInfo = (data, exportsInfo, runtime) => {
53
53
  if (used === UsageState.Unused) continue;
54
54
 
55
55
  /** @type {RawJsonData} */
56
- let value;
57
- if (used === UsageState.OnlyPropertiesUsed && exportInfo.exportsInfo) {
58
- value = createObjectForExportsInfo(
59
- data[key],
60
- exportInfo.exportsInfo,
61
- runtime
62
- );
63
- } else {
64
- value = data[key];
65
- }
56
+ const value =
57
+ used === UsageState.OnlyPropertiesUsed && exportInfo.exportsInfo
58
+ ? createObjectForExportsInfo(data[key], exportInfo.exportsInfo, runtime)
59
+ : data[key];
66
60
 
67
61
  const name = /** @type {string} */ (exportInfo.getUsedName(key, runtime));
68
62
  /** @type {Record<string, RawJsonData>} */ (reducedData)[name] = value;
69
63
  }
70
64
  if (isArray) {
71
- let arrayLengthWhenUsed =
65
+ const arrayLengthWhenUsed =
72
66
  exportsInfo.getReadOnlyExportInfo("length").getUsed(runtime) !==
73
67
  UsageState.Unused
74
68
  ? data.length
@@ -173,7 +167,7 @@ class JsonGenerator extends Generator {
173
167
  }
174
168
  const exportsInfo = moduleGraph.getExportsInfo(module);
175
169
  /** @type {RawJsonData} */
176
- let finalJson =
170
+ const finalJson =
177
171
  typeof data === "object" &&
178
172
  data &&
179
173
  exportsInfo.otherExportsInfo.getUsed(runtime) === UsageState.Unused
@@ -33,7 +33,6 @@ class JsonModulesPlugin {
33
33
  * Apply the plugin
34
34
  * @param {Compiler} compiler the compiler instance
35
35
  * @returns {void}
36
- *
37
36
  */
38
37
  apply(compiler) {
39
38
  compiler.hooks.compilation.tap(
@@ -48,9 +47,7 @@ class JsonModulesPlugin {
48
47
  });
49
48
  normalModuleFactory.hooks.createGenerator
50
49
  .for(JSON_MODULE_TYPE)
51
- .tap(PLUGIN_NAME, () => {
52
- return new JsonGenerator();
53
- });
50
+ .tap(PLUGIN_NAME, () => new JsonGenerator());
54
51
  }
55
52
  );
56
53
  }
@@ -49,9 +49,11 @@ class JsonParser extends Parser {
49
49
  data =
50
50
  typeof source === "object"
51
51
  ? source
52
- : parseFn(source[0] === "\ufeff" ? source.slice(1) : source);
53
- } catch (e) {
54
- throw new Error(`Cannot parse JSON: ${/** @type {Error} */ (e).message}`);
52
+ : parseFn(source[0] === "\uFEFF" ? source.slice(1) : source);
53
+ } catch (err) {
54
+ throw new Error(
55
+ `Cannot parse JSON: ${/** @type {Error} */ (err).message}`
56
+ );
55
57
  }
56
58
  const jsonData = new JsonData(/** @type {Buffer | RawJsonData} */ (data));
57
59
  const buildInfo = /** @type {BuildInfo} */ (state.module.buildInfo);
@@ -60,17 +60,14 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
60
60
  `AMD library name must be unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
61
61
  );
62
62
  }
63
- } else {
64
- if (name && typeof name !== "string") {
65
- throw new Error(
66
- `AMD library name must be a simple string or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
67
- );
68
- }
63
+ } else if (name && typeof name !== "string") {
64
+ throw new Error(
65
+ `AMD library name must be a simple string or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
66
+ );
69
67
  }
70
- return {
71
- name: /** @type {string} */ (name),
72
- amdContainer: /** @type {string} */ (amdContainer)
73
- };
68
+ const _name = /** @type {string} */ (name);
69
+ const _amdContainer = /** @type {string} */ (amdContainer);
70
+ return { name: _name, amdContainer: _amdContainer };
74
71
  }
75
72
 
76
73
  /**
@@ -146,13 +143,12 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
146
143
  source,
147
144
  `${fnEnd});`
148
145
  );
149
- } else {
150
- return new ConcatSource(
151
- `${amdContainerPrefix}define(${fnStart}`,
152
- source,
153
- `${fnEnd});`
154
- );
155
146
  }
147
+ return new ConcatSource(
148
+ `${amdContainerPrefix}define(${fnStart}`,
149
+ source,
150
+ `${fnEnd});`
151
+ );
156
152
  }
157
153
 
158
154
  /**
@@ -36,9 +36,8 @@ const IDENTIFIER_REGEX =
36
36
  * @param {string} name name to be validated
37
37
  * @returns {boolean} true, when valid
38
38
  */
39
- const isNameValid = name => {
40
- return !KEYWORD_REGEX.test(name) && IDENTIFIER_REGEX.test(name);
41
- };
39
+ const isNameValid = name =>
40
+ !KEYWORD_REGEX.test(name) && IDENTIFIER_REGEX.test(name);
42
41
 
43
42
  /**
44
43
  * @param {string[]} accessor variable plus properties
@@ -136,15 +135,14 @@ class AssignLibraryPlugin extends AbstractLibraryPlugin {
136
135
  `Library name must be a string or string array. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
137
136
  );
138
137
  }
139
- } else {
140
- if (name && typeof name !== "string" && !Array.isArray(name)) {
141
- throw new Error(
142
- `Library name must be a string, string array or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
143
- );
144
- }
138
+ } else if (name && typeof name !== "string" && !Array.isArray(name)) {
139
+ throw new Error(
140
+ `Library name must be a string, string array or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
141
+ );
145
142
  }
143
+ const _name = /** @type {string | string[]} */ (name);
146
144
  return {
147
- name: /** @type {string | string[]} */ (name),
145
+ name: _name,
148
146
  export: library.export
149
147
  };
150
148
  }
@@ -52,10 +52,11 @@ class EnableLibraryPlugin {
52
52
  throw new Error(
53
53
  `Library type "${type}" is not enabled. ` +
54
54
  "EnableLibraryPlugin need to be used to enable this type of library. " +
55
- 'This usually happens through the "output.enabledLibraryTypes" option. ' +
56
- 'If you are using a function as entry which sets "library", you need to add all potential library types to "output.enabledLibraryTypes". ' +
57
- "These types are enabled: " +
58
- Array.from(getEnabledTypes(compiler)).join(", ")
55
+ `This usually happens through the "output.enabledLibraryTypes" option. ` +
56
+ `If you are using a function as entry which sets "library", you need to add all potential library types to "output.enabledLibraryTypes". ` +
57
+ `These types are enabled: ${Array.from(
58
+ getEnabledTypes(compiler)
59
+ ).join(", ")}`
59
60
  );
60
61
  }
61
62
  }
@@ -84,7 +85,7 @@ class EnableLibraryPlugin {
84
85
  };
85
86
  switch (type) {
86
87
  case "var": {
87
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
88
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
88
89
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
89
90
  new AssignLibraryPlugin({
90
91
  type,
@@ -95,7 +96,7 @@ class EnableLibraryPlugin {
95
96
  break;
96
97
  }
97
98
  case "assign-properties": {
98
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
99
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
99
100
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
100
101
  new AssignLibraryPlugin({
101
102
  type,
@@ -107,7 +108,7 @@ class EnableLibraryPlugin {
107
108
  break;
108
109
  }
109
110
  case "assign": {
110
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
111
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
111
112
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
112
113
  new AssignLibraryPlugin({
113
114
  type,
@@ -118,7 +119,7 @@ class EnableLibraryPlugin {
118
119
  break;
119
120
  }
120
121
  case "this": {
121
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
122
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
122
123
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
123
124
  new AssignLibraryPlugin({
124
125
  type,
@@ -129,7 +130,7 @@ class EnableLibraryPlugin {
129
130
  break;
130
131
  }
131
132
  case "window": {
132
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
133
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
133
134
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
134
135
  new AssignLibraryPlugin({
135
136
  type,
@@ -140,7 +141,7 @@ class EnableLibraryPlugin {
140
141
  break;
141
142
  }
142
143
  case "self": {
143
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
144
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
144
145
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
145
146
  new AssignLibraryPlugin({
146
147
  type,
@@ -151,7 +152,7 @@ class EnableLibraryPlugin {
151
152
  break;
152
153
  }
153
154
  case "global": {
154
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
155
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
155
156
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
156
157
  new AssignLibraryPlugin({
157
158
  type,
@@ -162,7 +163,7 @@ class EnableLibraryPlugin {
162
163
  break;
163
164
  }
164
165
  case "commonjs": {
165
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
166
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
166
167
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
167
168
  new AssignLibraryPlugin({
168
169
  type,
@@ -173,7 +174,7 @@ class EnableLibraryPlugin {
173
174
  break;
174
175
  }
175
176
  case "commonjs-static": {
176
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
177
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
177
178
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
178
179
  new AssignLibraryPlugin({
179
180
  type,
@@ -185,7 +186,7 @@ class EnableLibraryPlugin {
185
186
  }
186
187
  case "commonjs2":
187
188
  case "commonjs-module": {
188
- //@ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
189
+ // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
189
190
  const AssignLibraryPlugin = require("./AssignLibraryPlugin");
190
191
  new AssignLibraryPlugin({
191
192
  type,
@@ -54,8 +54,9 @@ class JsonpLibraryPlugin extends AbstractLibraryPlugin {
54
54
  `Jsonp library name must be a simple string. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
55
55
  );
56
56
  }
57
+ const _name = /** @type {string} */ (name);
57
58
  return {
58
- name: /** @type {string} */ (name)
59
+ name: _name
59
60
  };
60
61
  }
61
62
 
@@ -16,6 +16,7 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
16
16
  /** @typedef {import("../Compilation").ChunkHashContext} ChunkHashContext */
17
17
  /** @typedef {import("../Compiler")} Compiler */
18
18
  /** @typedef {import("../Module")} Module */
19
+ /** @typedef {import("../Module").BuildMeta} BuildMeta */
19
20
  /** @typedef {import("../javascript/JavascriptModulesPlugin").StartupRenderContext} StartupRenderContext */
20
21
  /** @typedef {import("../util/Hash")} Hash */
21
22
  /** @template T @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T> */
@@ -46,9 +47,7 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
46
47
  compiler.hooks.compilation.tap("ModernModuleLibraryPlugin", compilation => {
47
48
  const { exportsDefinitions } =
48
49
  ConcatenatedModule.getCompilationHooks(compilation);
49
- exportsDefinitions.tap("ModernModuleLibraryPlugin", () => {
50
- return true;
51
- });
50
+ exportsDefinitions.tap("ModernModuleLibraryPlugin", () => true);
52
51
  });
53
52
  }
54
53
 
@@ -73,8 +72,9 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
73
72
  `Library name must be unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
74
73
  );
75
74
  }
75
+ const _name = /** @type {string} */ (name);
76
76
  return {
77
- name: /** @type {string} */ (name)
77
+ name: _name
78
78
  };
79
79
  }
80
80
 
@@ -93,7 +93,9 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
93
93
  ) {
94
94
  const result = new ConcatSource(source);
95
95
  const exportsInfo = moduleGraph.getExportsInfo(module);
96
- const definitions = module.buildMeta.exportsFinalName;
96
+ const definitions =
97
+ /** @type {BuildMeta} */
98
+ (module.buildMeta).exportsFinalName;
97
99
  const exports = [];
98
100
 
99
101
  for (const exportInfo of exportsInfo.orderedExports) {
@@ -106,7 +108,7 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
106
108
  for (const reexportInfo of exp.orderedExports) {
107
109
  if (
108
110
  !reexportInfo.provided &&
109
- reexportInfo.name === reexport.export[0]
111
+ reexportInfo.name === /** @type {string[]} */ (reexport.export)[0]
110
112
  ) {
111
113
  shouldContinue = true;
112
114
  }
@@ -58,8 +58,9 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
58
58
  `Library name must be unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
59
59
  );
60
60
  }
61
+ const _name = /** @type {string} */ (name);
61
62
  return {
62
- name: /** @type {string} */ (name)
63
+ name: _name
63
64
  };
64
65
  }
65
66
 
@@ -58,8 +58,9 @@ class SystemLibraryPlugin extends AbstractLibraryPlugin {
58
58
  `System.js library name must be a simple string or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
59
59
  );
60
60
  }
61
+ const _name = /** @type {string} */ (name);
61
62
  return {
62
- name: /** @type {string} */ (name)
63
+ name: _name
63
64
  };
64
65
  }
65
66