webpack 5.107.2 → 5.108.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 (357) hide show
  1. package/hot/dev-server.js +2 -0
  2. package/lib/APIPlugin.js +8 -4
  3. package/lib/CacheFacade.js +7 -0
  4. package/lib/Chunk.js +4 -0
  5. package/lib/ChunkGraph.js +30 -9
  6. package/lib/CircularModulesPlugin.js +190 -0
  7. package/lib/CleanPlugin.js +2 -1
  8. package/lib/Compilation.js +396 -65
  9. package/lib/Compiler.js +25 -11
  10. package/lib/ConcatenationScope.js +10 -3
  11. package/lib/ContextExclusionPlugin.js +1 -0
  12. package/lib/ContextModule.js +92 -47
  13. package/lib/ContextReplacementPlugin.js +4 -0
  14. package/lib/DefinePlugin.js +89 -15
  15. package/lib/Dependency.js +111 -7
  16. package/lib/EntryOptionPlugin.js +39 -2
  17. package/lib/EntryPlugin.js +2 -0
  18. package/lib/ExportsInfo.js +314 -73
  19. package/lib/ExternalModule.js +82 -34
  20. package/lib/ExternalModuleFactoryPlugin.js +1 -0
  21. package/lib/ExternalsPlugin.js +1 -0
  22. package/lib/FileSystemInfo.js +173 -23
  23. package/lib/FlagAllModulesAsUsedPlugin.js +1 -5
  24. package/lib/FlagDependencyExportsPlugin.js +23 -0
  25. package/lib/FlagDependencyUsagePlugin.js +87 -5
  26. package/lib/FlagEntryExportAsUsedPlugin.js +2 -0
  27. package/lib/Generator.js +8 -0
  28. package/lib/HotModuleReplacementPlugin.js +65 -28
  29. package/lib/IgnorePlugin.js +1 -0
  30. package/lib/InitFragment.js +5 -0
  31. package/lib/JavascriptMetaInfoPlugin.js +7 -5
  32. package/lib/LazyBarrel.js +361 -0
  33. package/lib/LoaderTargetPlugin.js +1 -0
  34. package/lib/Module.js +21 -42
  35. package/lib/ModuleGraph.js +3 -2
  36. package/lib/ModuleProfile.js +27 -1
  37. package/lib/ModuleTemplate.js +2 -0
  38. package/lib/MultiCompiler.js +2 -0
  39. package/lib/MultiStats.js +1 -0
  40. package/lib/MultiWatching.js +2 -0
  41. package/lib/NodeStuffPlugin.js +22 -17
  42. package/lib/NormalModule.js +142 -80
  43. package/lib/NormalModuleReplacementPlugin.js +2 -0
  44. package/lib/PrefetchPlugin.js +2 -0
  45. package/lib/ProgressPlugin.js +8 -0
  46. package/lib/ProvidePlugin.js +1 -0
  47. package/lib/RawModule.js +20 -16
  48. package/lib/RecordIdsPlugin.js +1 -0
  49. package/lib/RuntimeGlobals.js +5 -0
  50. package/lib/RuntimePlugin.js +58 -26
  51. package/lib/RuntimeTemplate.js +278 -21
  52. package/lib/SelfModuleFactory.js +1 -0
  53. package/lib/SourceMapDevToolPlugin.js +3 -5
  54. package/lib/Stats.js +1 -0
  55. package/lib/Template.js +8 -2
  56. package/lib/TemplatedPathPlugin.js +473 -131
  57. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -0
  58. package/lib/WarnDeprecatedOptionPlugin.js +4 -0
  59. package/lib/WarnNoModeSetPlugin.js +1 -0
  60. package/lib/WatchIgnorePlugin.js +1 -0
  61. package/lib/Watching.js +9 -0
  62. package/lib/WebpackOptionsApply.js +50 -5
  63. package/lib/asset/AssetBytesGenerator.js +11 -3
  64. package/lib/asset/AssetGenerator.js +47 -22
  65. package/lib/asset/AssetModule.js +47 -0
  66. package/lib/asset/AssetModulesPlugin.js +14 -14
  67. package/lib/asset/AssetParser.js +2 -2
  68. package/lib/asset/AssetSourceGenerator.js +8 -0
  69. package/lib/asset/RawDataUrlModule.js +12 -13
  70. package/lib/buildChunkGraph.js +64 -7
  71. package/lib/bun/BunTargetPlugin.js +48 -0
  72. package/lib/cache/AddBuildDependenciesPlugin.js +1 -0
  73. package/lib/cache/AddManagedPathsPlugin.js +3 -0
  74. package/lib/cache/IdleFileCachePlugin.js +4 -0
  75. package/lib/cache/MemoryWithGcCachePlugin.js +1 -0
  76. package/lib/cache/PackFileCacheStrategy.js +1 -0
  77. package/lib/cache/ResolverCachePlugin.js +2 -0
  78. package/lib/cache/mergeEtags.js +2 -0
  79. package/lib/cli.js +109 -19
  80. package/lib/config/browserslistTargetHandler.js +99 -0
  81. package/lib/config/defaults.js +147 -7
  82. package/lib/config/defineConfig.js +31 -0
  83. package/lib/config/normalization.js +5 -0
  84. package/lib/config/target.js +181 -2
  85. package/lib/container/ContainerEntryModule.js +15 -14
  86. package/lib/container/ContainerExposedDependency.js +2 -2
  87. package/lib/container/ContainerReferencePlugin.js +1 -1
  88. package/lib/container/FallbackDependency.js +5 -7
  89. package/lib/container/FallbackModule.js +10 -9
  90. package/lib/container/RemoteModule.js +20 -10
  91. package/lib/container/RemoteRuntimeModule.js +14 -12
  92. package/lib/css/CssGenerator.js +353 -327
  93. package/lib/css/CssInjectStyleRuntimeModule.js +36 -8
  94. package/lib/css/CssLoadingRuntimeModule.js +118 -47
  95. package/lib/css/CssModule.js +52 -23
  96. package/lib/css/CssModulesPlugin.js +107 -124
  97. package/lib/css/CssParser.js +2759 -2205
  98. package/lib/css/syntax.js +2859 -0
  99. package/lib/debug/ProfilingPlugin.js +2 -0
  100. package/lib/deno/DenoTargetPlugin.js +47 -0
  101. package/lib/dependencies/AMDDefineDependency.js +22 -17
  102. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +1 -0
  103. package/lib/dependencies/AMDRequireArrayDependency.js +7 -11
  104. package/lib/dependencies/AMDRequireContextDependency.js +7 -11
  105. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +1 -0
  106. package/lib/dependencies/AMDRequireDependency.js +24 -20
  107. package/lib/dependencies/CachedConstDependency.js +3 -0
  108. package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
  109. package/lib/dependencies/CommonJsExportRequireDependency.js +79 -31
  110. package/lib/dependencies/CommonJsExportsDependency.js +21 -16
  111. package/lib/dependencies/CommonJsExportsParserPlugin.js +230 -7
  112. package/lib/dependencies/CommonJsFullRequireDependency.js +27 -19
  113. package/lib/dependencies/CommonJsImportsParserPlugin.js +51 -16
  114. package/lib/dependencies/CommonJsPlugin.js +1 -1
  115. package/lib/dependencies/CommonJsRequireContextDependency.js +10 -13
  116. package/lib/dependencies/CommonJsRequireDependency.js +42 -11
  117. package/lib/dependencies/CommonJsSelfReferenceDependency.js +22 -14
  118. package/lib/dependencies/ConstDependency.js +16 -11
  119. package/lib/dependencies/ContextDependency.js +4 -0
  120. package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -1
  121. package/lib/dependencies/ContextElementDependency.js +23 -14
  122. package/lib/dependencies/CreateRequireParserPlugin.js +1 -0
  123. package/lib/dependencies/CreateScriptUrlDependency.js +5 -7
  124. package/lib/dependencies/CriticalDependencyWarning.js +1 -0
  125. package/lib/dependencies/CssIcssExportDependency.js +512 -574
  126. package/lib/dependencies/CssIcssImportDependency.js +9 -9
  127. package/lib/dependencies/CssIcssSymbolDependency.js +22 -15
  128. package/lib/dependencies/CssImportDependency.js +25 -1
  129. package/lib/dependencies/CssUrlDependency.js +23 -14
  130. package/lib/dependencies/DllEntryDependency.js +9 -13
  131. package/lib/dependencies/ExportBindingInitFragment.js +164 -0
  132. package/lib/dependencies/ExportsInfoDependency.js +12 -12
  133. package/lib/dependencies/ExternalModuleDependency.js +8 -5
  134. package/lib/dependencies/ExternalModuleInitFragment.js +7 -5
  135. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +13 -10
  136. package/lib/dependencies/HarmonyAcceptDependency.js +11 -11
  137. package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
  138. package/lib/dependencies/HarmonyDetectionParserPlugin.js +47 -22
  139. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +28 -2
  140. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +46 -22
  141. package/lib/dependencies/HarmonyExportExpressionDependency.js +107 -30
  142. package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -9
  143. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +109 -31
  144. package/lib/dependencies/HarmonyExportInitFragment.js +18 -15
  145. package/lib/dependencies/HarmonyExportSpecifierDependency.js +83 -18
  146. package/lib/dependencies/HarmonyExports.js +4 -1
  147. package/lib/dependencies/HarmonyImportDependency.js +24 -0
  148. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +110 -74
  149. package/lib/dependencies/HarmonyImportGuard.js +254 -0
  150. package/lib/dependencies/HarmonyImportSideEffectDependency.js +18 -1
  151. package/lib/dependencies/HarmonyImportSpecifierDependency.js +118 -14
  152. package/lib/dependencies/HarmonyLinkingError.js +1 -0
  153. package/lib/dependencies/HarmonyModulesPlugin.js +1 -0
  154. package/lib/dependencies/{HtmlScriptSrcDependency.js → HtmlEntryDependency.js} +261 -109
  155. package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
  156. package/lib/dependencies/HtmlInlineScriptDependency.js +17 -13
  157. package/lib/dependencies/HtmlInlineStyleDependency.js +45 -11
  158. package/lib/dependencies/ImportContextDependency.js +5 -9
  159. package/lib/dependencies/ImportDependency.js +44 -2
  160. package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
  161. package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
  162. package/lib/dependencies/ImportMetaPlugin.js +74 -30
  163. package/lib/dependencies/ImportParserPlugin.js +19 -0
  164. package/lib/dependencies/ImportWeakDependency.js +1 -0
  165. package/lib/dependencies/JsonExportsDependency.js +9 -9
  166. package/lib/dependencies/LoaderImportDependency.js +1 -0
  167. package/lib/dependencies/LocalModule.js +11 -12
  168. package/lib/dependencies/LocalModuleDependency.js +11 -13
  169. package/lib/dependencies/ModuleDecoratorDependency.js +9 -9
  170. package/lib/dependencies/ModuleDependency.js +7 -0
  171. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
  172. package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
  173. package/lib/dependencies/ModuleInitFragmentDependency.js +15 -11
  174. package/lib/dependencies/ProvidedDependency.js +31 -27
  175. package/lib/dependencies/PureExpressionDependency.js +7 -9
  176. package/lib/dependencies/RequireEnsureDependency.js +12 -13
  177. package/lib/dependencies/RequireHeaderDependency.js +3 -4
  178. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
  179. package/lib/dependencies/RequireResolveContextDependency.js +7 -11
  180. package/lib/dependencies/RequireResolveDependency.js +1 -0
  181. package/lib/dependencies/RequireResolveHeaderDependency.js +3 -5
  182. package/lib/dependencies/RuntimeRequirementsDependency.js +6 -7
  183. package/lib/dependencies/StaticExportsDependency.js +10 -10
  184. package/lib/dependencies/SystemPlugin.js +2 -0
  185. package/lib/dependencies/URLContextDependency.js +5 -7
  186. package/lib/dependencies/URLDependency.js +14 -16
  187. package/lib/dependencies/UnsupportedDependency.js +8 -13
  188. package/lib/dependencies/WebAssemblyExportImportedDependency.js +11 -16
  189. package/lib/dependencies/WebAssemblyImportDependency.js +14 -16
  190. package/lib/dependencies/WebpackIsIncludedDependency.js +1 -0
  191. package/lib/dependencies/WorkerDependency.js +19 -8
  192. package/lib/dependencies/WorkerPlugin.js +22 -6
  193. package/lib/dependencies/processExportInfo.js +13 -11
  194. package/lib/dll/DelegatedModule.js +29 -15
  195. package/lib/dll/DelegatedModuleFactoryPlugin.js +1 -0
  196. package/lib/dll/DelegatedPlugin.js +1 -0
  197. package/lib/dll/DllEntryPlugin.js +3 -0
  198. package/lib/dll/DllModule.js +3 -2
  199. package/lib/dll/DllPlugin.js +16 -0
  200. package/lib/dll/DllReferencePlugin.js +3 -0
  201. package/lib/dll/LibManifestPlugin.js +1 -0
  202. package/lib/electron/ElectronTargetPlugin.js +22 -4
  203. package/lib/errors/ConcurrentCompilationError.js +1 -0
  204. package/lib/errors/HookWebpackError.js +11 -13
  205. package/lib/errors/IgnoreErrorModuleFactory.js +1 -0
  206. package/lib/errors/InvalidDependenciesModuleWarning.js +2 -0
  207. package/lib/errors/JSONParseError.js +9 -8
  208. package/lib/errors/ModuleBuildError.js +16 -13
  209. package/lib/errors/ModuleDependencyError.js +8 -1
  210. package/lib/errors/ModuleDependencyWarning.js +8 -1
  211. package/lib/errors/ModuleError.js +5 -11
  212. package/lib/errors/ModuleHashingError.js +4 -0
  213. package/lib/errors/ModuleNotFoundError.js +3 -0
  214. package/lib/errors/ModuleParseError.js +5 -11
  215. package/lib/errors/ModuleRestoreError.js +2 -0
  216. package/lib/errors/ModuleStoreError.js +3 -0
  217. package/lib/errors/ModuleWarning.js +7 -11
  218. package/lib/errors/NodeStuffInWebError.js +1 -0
  219. package/lib/errors/NonErrorEmittedError.js +2 -0
  220. package/lib/errors/UnhandledSchemeError.js +1 -0
  221. package/lib/esm/ModuleChunkLoadingPlugin.js +0 -1
  222. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +28 -23
  223. package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
  224. package/lib/hmr/HotModuleReplacementRuntimeModule.js +7 -0
  225. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
  226. package/lib/hmr/LazyCompilationPlugin.js +30 -6
  227. package/lib/html/HtmlGenerator.js +217 -23
  228. package/lib/html/HtmlModule.js +40 -0
  229. package/lib/html/HtmlModulesPlugin.js +219 -55
  230. package/lib/html/HtmlParser.js +1108 -1099
  231. package/lib/html/{walkHtmlTokens.js → syntax.js} +4701 -212
  232. package/lib/ids/IdHelpers.js +4 -2
  233. package/lib/index.js +19 -0
  234. package/lib/javascript/BasicEvaluatedExpression.js +1 -0
  235. package/lib/javascript/EnableChunkLoadingPlugin.js +1 -0
  236. package/lib/javascript/JavascriptGenerator.js +6 -2
  237. package/lib/javascript/JavascriptModule.js +54 -0
  238. package/lib/javascript/JavascriptModulesPlugin.js +257 -102
  239. package/lib/javascript/JavascriptParser.js +285 -158
  240. package/lib/json/JsonModule.js +40 -0
  241. package/lib/json/JsonModulesPlugin.js +7 -0
  242. package/lib/json/JsonParser.js +4 -2
  243. package/lib/library/AssignLibraryPlugin.js +5 -3
  244. package/lib/library/ExportPropertyLibraryPlugin.js +1 -0
  245. package/lib/library/FalseIIFEUmdWarning.js +1 -0
  246. package/lib/library/ModuleLibraryPlugin.js +24 -5
  247. package/lib/library/SystemLibraryPlugin.js +3 -3
  248. package/lib/node/NodeTargetPlugin.js +1 -0
  249. package/lib/node/NodeWatchFileSystem.js +1 -0
  250. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +10 -9
  251. package/lib/node/RequireChunkLoadingRuntimeModule.js +18 -16
  252. package/lib/optimize/ConcatenatedModule.js +395 -77
  253. package/lib/optimize/ConstExportsPlugin.js +211 -0
  254. package/lib/optimize/InlineExports.js +178 -0
  255. package/lib/optimize/InnerGraph.js +372 -275
  256. package/lib/optimize/InnerGraphPlugin.js +196 -99
  257. package/lib/optimize/ModuleConcatenationPlugin.js +56 -25
  258. package/lib/optimize/RealContentHashPlugin.js +14 -1
  259. package/lib/optimize/SideEffectsFlagPlugin.js +234 -64
  260. package/lib/runtime/AsyncModuleRuntimeModule.js +32 -30
  261. package/lib/runtime/AutoPublicPathRuntimeModule.js +11 -5
  262. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -1
  263. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +6 -4
  264. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +33 -4
  265. package/lib/runtime/GetChunkFilenameRuntimeModule.js +82 -3
  266. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -1
  267. package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -1
  268. package/lib/runtime/LoadScriptRuntimeModule.js +18 -13
  269. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +39 -26
  270. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -1
  271. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
  272. package/lib/runtime/RelativeUrlRuntimeModule.js +3 -2
  273. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -1
  274. package/lib/runtime/StartupEntrypointRuntimeModule.js +4 -3
  275. package/lib/runtime/WorkerRuntimeModule.js +33 -0
  276. package/lib/schemes/HttpUriPlugin.js +3 -2
  277. package/lib/serialization/AggregateErrorSerializer.js +7 -6
  278. package/lib/serialization/ArraySerializer.js +4 -8
  279. package/lib/serialization/BinaryMiddleware.js +538 -468
  280. package/lib/serialization/DateObjectSerializer.js +2 -2
  281. package/lib/serialization/ErrorObjectSerializer.js +7 -6
  282. package/lib/serialization/MapObjectSerializer.js +5 -9
  283. package/lib/serialization/NullPrototypeObjectSerializer.js +7 -9
  284. package/lib/serialization/ObjectMiddleware.js +50 -13
  285. package/lib/serialization/PlainObjectSerializer.js +9 -8
  286. package/lib/serialization/RegExpObjectSerializer.js +2 -2
  287. package/lib/serialization/Serializer.js +1 -0
  288. package/lib/serialization/SetObjectSerializer.js +4 -8
  289. package/lib/sharing/ConsumeSharedModule.js +6 -7
  290. package/lib/sharing/ConsumeSharedPlugin.js +1 -0
  291. package/lib/sharing/ConsumeSharedRuntimeModule.js +46 -41
  292. package/lib/sharing/ProvideSharedDependency.js +30 -15
  293. package/lib/sharing/ProvideSharedModule.js +30 -11
  294. package/lib/sharing/ProvideSharedPlugin.js +4 -2
  295. package/lib/sharing/SharePlugin.js +3 -0
  296. package/lib/sharing/ShareRuntimeModule.js +18 -16
  297. package/lib/sharing/resolveMatchedConfigs.js +2 -1
  298. package/lib/sharing/utils.js +1 -1
  299. package/lib/stats/DefaultStatsFactoryPlugin.js +4 -6
  300. package/lib/stats/DefaultStatsPrinterPlugin.js +14 -14
  301. package/lib/stats/StatsFactory.js +11 -9
  302. package/lib/stats/StatsPrinter.js +9 -2
  303. package/lib/url/URLParserPlugin.js +5 -2
  304. package/lib/util/AsyncQueue.js +10 -0
  305. package/lib/util/LazyBucketSortedSet.js +5 -0
  306. package/lib/util/LazySet.js +6 -4
  307. package/lib/util/LocConverter.js +11 -1
  308. package/lib/util/Semaphore.js +1 -0
  309. package/lib/util/SourceProcessor.js +106 -0
  310. package/lib/util/TupleSet.js +1 -0
  311. package/lib/util/WeakTupleMap.js +27 -1
  312. package/lib/util/chainedImports.js +3 -3
  313. package/lib/util/comparators.js +2 -2
  314. package/lib/util/concatenate.js +31 -7
  315. package/lib/util/createHash.js +0 -1
  316. package/lib/util/deterministicGrouping.js +19 -12
  317. package/lib/util/extractSourceMap.js +1 -1
  318. package/lib/util/findGraphRoots.js +2 -0
  319. package/lib/util/fs.js +10 -5
  320. package/lib/util/hash/DebugHash.js +1 -0
  321. package/lib/util/hash/hash-digest.js +24 -15
  322. package/lib/util/identifier.js +7 -0
  323. package/lib/util/internalSerializables.js +11 -2
  324. package/lib/util/magicComment.js +42 -0
  325. package/lib/util/makeSerializable.js +1 -0
  326. package/lib/util/nonNumericOnlyHash.js +30 -1
  327. package/lib/util/property.js +7 -1
  328. package/lib/util/publicPathPlaceholder.js +64 -0
  329. package/lib/util/registerExternalSerializer.js +4 -4
  330. package/lib/wasm-async/AsyncWasmModule.js +77 -0
  331. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +1 -1
  332. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +1 -96
  333. package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -1
  334. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +1 -1
  335. package/lib/wasm-sync/SyncWasmModule.js +39 -0
  336. package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
  337. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +6 -3
  338. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -1
  339. package/lib/wasm-sync/WebAssemblyGenerator.js +1 -0
  340. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
  341. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -0
  342. package/lib/wasm-sync/WebAssemblyParser.js +7 -3
  343. package/lib/web/JsonpChunkLoadingRuntimeModule.js +45 -39
  344. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +11 -10
  345. package/package.json +35 -27
  346. package/schemas/WebpackOptions.check.js +1 -1
  347. package/schemas/WebpackOptions.json +212 -3
  348. package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -1
  349. package/schemas/plugins/HtmlParserOptions.check.d.ts +7 -0
  350. package/schemas/plugins/HtmlParserOptions.check.js +6 -0
  351. package/schemas/plugins/HtmlParserOptions.json +3 -0
  352. package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
  353. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  354. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  355. package/types.d.ts +1456 -290
  356. package/lib/css/walkCssTokens.js +0 -2020
  357. package/lib/util/AppendOnlyStackedSet.js +0 -93
@@ -14,8 +14,8 @@ const NullDependency = require("./NullDependency");
14
14
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
15
15
  /** @typedef {import("../json/JsonData")} JsonData */
16
16
  /** @typedef {import("../json/JsonData").JsonValue} JsonValue */
17
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
18
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[JsonData, number]>} ObjectDeserializerContext */
18
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[JsonData, number]>} ObjectSerializerContext */
19
19
  /** @typedef {import("../util/Hash")} Hash */
20
20
 
21
21
  /**
@@ -79,7 +79,9 @@ class JsonExportsDependency extends NullDependency {
79
79
  */
80
80
  constructor(data, exportsDepth) {
81
81
  super();
82
+ /** @type {JsonData} */
82
83
  this.data = data;
84
+ /** @type {number} */
83
85
  this.exportsDepth = exportsDepth;
84
86
  }
85
87
 
@@ -116,9 +118,7 @@ class JsonExportsDependency extends NullDependency {
116
118
  * @param {ObjectSerializerContext} context context
117
119
  */
118
120
  serialize(context) {
119
- const { write } = context;
120
- write(this.data);
121
- write(this.exportsDepth);
121
+ context.write(this.data).write(this.exportsDepth);
122
122
  super.serialize(context);
123
123
  }
124
124
 
@@ -127,10 +127,10 @@ class JsonExportsDependency extends NullDependency {
127
127
  * @param {ObjectDeserializerContext} context context
128
128
  */
129
129
  deserialize(context) {
130
- const { read } = context;
131
- this.data = read();
132
- this.exportsDepth = read();
133
- super.deserialize(context);
130
+ this.data = context.read();
131
+ const c1 = context.rest;
132
+ this.exportsDepth = c1.read();
133
+ super.deserialize(c1.rest);
134
134
  }
135
135
  }
136
136
 
@@ -17,6 +17,7 @@ class LoaderImportDependency extends ModuleDependency {
17
17
  */
18
18
  constructor(request) {
19
19
  super(request);
20
+ /** @type {boolean} */
20
21
  this.weak = true;
21
22
  }
22
23
 
@@ -7,8 +7,8 @@
7
7
 
8
8
  const makeSerializable = require("../util/makeSerializable");
9
9
 
10
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
11
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
10
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string, number, boolean]>} ObjectDeserializerContext */
11
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string, number, boolean]>} ObjectSerializerContext */
12
12
 
13
13
  class LocalModule {
14
14
  /**
@@ -17,8 +17,11 @@ class LocalModule {
17
17
  * @param {number} idx index
18
18
  */
19
19
  constructor(name, idx) {
20
+ /** @type {string} */
20
21
  this.name = name;
22
+ /** @type {number} */
21
23
  this.idx = idx;
24
+ /** @type {boolean} */
22
25
  this.used = false;
23
26
  }
24
27
 
@@ -39,11 +42,7 @@ class LocalModule {
39
42
  * @param {ObjectSerializerContext} context context
40
43
  */
41
44
  serialize(context) {
42
- const { write } = context;
43
-
44
- write(this.name);
45
- write(this.idx);
46
- write(this.used);
45
+ context.write(this.name).write(this.idx).write(this.used);
47
46
  }
48
47
 
49
48
  /**
@@ -51,11 +50,11 @@ class LocalModule {
51
50
  * @param {ObjectDeserializerContext} context context
52
51
  */
53
52
  deserialize(context) {
54
- const { read } = context;
55
-
56
- this.name = read();
57
- this.idx = read();
58
- this.used = read();
53
+ this.name = context.read();
54
+ const c1 = context.rest;
55
+ this.idx = c1.read();
56
+ const c2 = c1.rest;
57
+ this.used = c2.read();
59
58
  }
60
59
  }
61
60
 
@@ -12,8 +12,8 @@ const NullDependency = require("./NullDependency");
12
12
  /** @typedef {import("../Dependency")} Dependency */
13
13
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
14
14
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
15
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
16
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[LocalModule, Range | undefined, boolean]>} ObjectDeserializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[LocalModule, Range | undefined, boolean]>} ObjectSerializerContext */
17
17
  /** @typedef {import("./LocalModule")} LocalModule */
18
18
 
19
19
  class LocalModuleDependency extends NullDependency {
@@ -26,8 +26,10 @@ class LocalModuleDependency extends NullDependency {
26
26
  constructor(localModule, range, callNew) {
27
27
  super();
28
28
 
29
+ /** @type {LocalModule} */
29
30
  this.localModule = localModule;
30
31
  this.range = range;
32
+ /** @type {boolean} */
31
33
  this.callNew = callNew;
32
34
  }
33
35
 
@@ -36,11 +38,7 @@ class LocalModuleDependency extends NullDependency {
36
38
  * @param {ObjectSerializerContext} context context
37
39
  */
38
40
  serialize(context) {
39
- const { write } = context;
40
-
41
- write(this.localModule);
42
- write(this.range);
43
- write(this.callNew);
41
+ context.write(this.localModule).write(this.range).write(this.callNew);
44
42
 
45
43
  super.serialize(context);
46
44
  }
@@ -50,13 +48,13 @@ class LocalModuleDependency extends NullDependency {
50
48
  * @param {ObjectDeserializerContext} context context
51
49
  */
52
50
  deserialize(context) {
53
- const { read } = context;
54
-
55
- this.localModule = read();
56
- this.range = read();
57
- this.callNew = read();
51
+ this.localModule = context.read();
52
+ const c1 = context.rest;
53
+ this.range = c1.read();
54
+ const c2 = c1.rest;
55
+ this.callNew = c2.read();
58
56
 
59
- super.deserialize(context);
57
+ super.deserialize(c2.rest);
60
58
  }
61
59
  }
62
60
 
@@ -16,8 +16,8 @@ const NullDependency = require("./NullDependency");
16
16
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
17
17
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
18
18
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
19
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
20
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
19
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string, boolean]>} ObjectDeserializerContext */
20
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string, boolean]>} ObjectSerializerContext */
21
21
  /** @typedef {import("../util/Hash")} Hash */
22
22
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
23
23
 
@@ -29,7 +29,9 @@ class ModuleDecoratorDependency extends NullDependency {
29
29
  */
30
30
  constructor(decorator, allowExportsAccess) {
31
31
  super();
32
+ /** @type {string} */
32
33
  this.decorator = decorator;
34
+ /** @type {boolean} */
33
35
  this.allowExportsAccess = allowExportsAccess;
34
36
  /** @type {undefined | string} */
35
37
  this._hashUpdate = undefined;
@@ -85,9 +87,7 @@ class ModuleDecoratorDependency extends NullDependency {
85
87
  * @param {ObjectSerializerContext} context context
86
88
  */
87
89
  serialize(context) {
88
- const { write } = context;
89
- write(this.decorator);
90
- write(this.allowExportsAccess);
90
+ context.write(this.decorator).write(this.allowExportsAccess);
91
91
  super.serialize(context);
92
92
  }
93
93
 
@@ -96,10 +96,10 @@ class ModuleDecoratorDependency extends NullDependency {
96
96
  * @param {ObjectDeserializerContext} context context
97
97
  */
98
98
  deserialize(context) {
99
- const { read } = context;
100
- this.decorator = read();
101
- this.allowExportsAccess = read();
102
- super.deserialize(context);
99
+ this.decorator = context.read();
100
+ const c1 = context.rest;
101
+ this.allowExportsAccess = c1.read();
102
+ super.deserialize(c1.rest);
103
103
  }
104
104
  }
105
105
 
@@ -23,13 +23,18 @@ class ModuleDependency extends Dependency {
23
23
  */
24
24
  constructor(request, sourceOrder) {
25
25
  super();
26
+ /** @type {string} */
26
27
  this.request = request;
28
+ /** @type {string} */
27
29
  this.userRequest = request;
30
+ /** @type {number | undefined} */
28
31
  this.sourceOrder = sourceOrder;
29
32
  /** @type {Range | undefined} */
30
33
  this.range = undefined;
31
34
  /** @type {undefined | string} */
32
35
  this._context = undefined;
36
+ /** @type {boolean} */
37
+ this.weak = false;
33
38
  }
34
39
 
35
40
  /**
@@ -84,6 +89,7 @@ class ModuleDependency extends Dependency {
84
89
  write(this._context);
85
90
  write(this.range);
86
91
  write(this.sourceOrder);
92
+ write(this.weak);
87
93
  super.serialize(context);
88
94
  }
89
95
 
@@ -98,6 +104,7 @@ class ModuleDependency extends Dependency {
98
104
  this._context = read();
99
105
  this.range = read();
100
106
  this.sourceOrder = read();
107
+ this.weak = read();
101
108
  super.deserialize(context);
102
109
  }
103
110
  }
@@ -20,6 +20,7 @@ class ModuleHotAcceptDependency extends ModuleDependency {
20
20
  constructor(request, range) {
21
21
  super(request, Infinity);
22
22
  this.range = range;
23
+ /** @type {boolean} */
23
24
  this.weak = true;
24
25
  }
25
26
 
@@ -21,6 +21,7 @@ class ModuleHotDeclineDependency extends ModuleDependency {
21
21
  super(request);
22
22
 
23
23
  this.range = range;
24
+ /** @type {boolean} */
24
25
  this.weak = true;
25
26
  }
26
27
 
@@ -12,8 +12,8 @@ const NullDependency = require("./NullDependency");
12
12
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
13
13
  /** @typedef {import("../Dependency")} Dependency */
14
14
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
15
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
16
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string, string[], string | undefined]>} ObjectSerializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string, string[], string | undefined]>} ObjectDeserializerContext */
17
17
  /**
18
18
  * A dependency that adds an init fragment to the module
19
19
  */
@@ -26,8 +26,11 @@ class ModuleInitFragmentDependency extends NullDependency {
26
26
  */
27
27
  constructor(initCode, runtimeRequirements, key) {
28
28
  super();
29
+ /** @type {string} */
29
30
  this.initCode = initCode;
31
+ /** @type {string[]} */
30
32
  this.runtimeRequirements = runtimeRequirements;
33
+ /** @type {string | undefined} */
31
34
  this.key = key;
32
35
  }
33
36
 
@@ -36,10 +39,10 @@ class ModuleInitFragmentDependency extends NullDependency {
36
39
  * @param {ObjectSerializerContext} context context
37
40
  */
38
41
  serialize(context) {
39
- const { write } = context;
40
- write(this.initCode);
41
- write(this.runtimeRequirements);
42
- write(this.key);
42
+ context
43
+ .write(this.initCode)
44
+ .write(this.runtimeRequirements)
45
+ .write(this.key);
43
46
  super.serialize(context);
44
47
  }
45
48
 
@@ -48,11 +51,12 @@ class ModuleInitFragmentDependency extends NullDependency {
48
51
  * @param {ObjectDeserializerContext} context context
49
52
  */
50
53
  deserialize(context) {
51
- const { read } = context;
52
- this.initCode = read();
53
- this.runtimeRequirements = read();
54
- this.key = read();
55
- super.deserialize(context);
54
+ this.initCode = context.read();
55
+ const c1 = context.rest;
56
+ this.runtimeRequirements = c1.read();
57
+ const c2 = c1.rest;
58
+ this.key = c2.read();
59
+ super.deserialize(c2.rest);
56
60
  }
57
61
  }
58
62
 
@@ -7,7 +7,10 @@
7
7
 
8
8
  const Dependency = require("../Dependency");
9
9
  const InitFragment = require("../InitFragment");
10
+ const Template = require("../Template");
11
+ const { InlinedUsedName } = require("../optimize/InlineExports");
10
12
  const makeSerializable = require("../util/makeSerializable");
13
+ const { propertyAccess } = require("../util/property");
11
14
  const ModuleDependency = require("./ModuleDependency");
12
15
 
13
16
  /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
@@ -18,21 +21,11 @@ const ModuleDependency = require("./ModuleDependency");
18
21
  /** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
19
22
  /** @typedef {import("../ExportsInfo").ExportInfoName} ExportInfoName */
20
23
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
21
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
22
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
24
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string, ExportInfoName[]]>} ObjectDeserializerContext */
25
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string, ExportInfoName[]]>} ObjectSerializerContext */
23
26
  /** @typedef {import("../util/Hash")} Hash */
24
27
  /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
25
28
 
26
- /**
27
- * Returns the converted path.
28
- * @param {string[] | null} path the property path array
29
- * @returns {string} the converted path
30
- */
31
- const pathToString = (path) =>
32
- path !== null && path.length > 0
33
- ? path.map((part) => `[${JSON.stringify(part)}]`).join("")
34
- : "";
35
-
36
29
  class ProvidedDependency extends ModuleDependency {
37
30
  /**
38
31
  * Creates an instance of ProvidedDependency.
@@ -43,7 +36,9 @@ class ProvidedDependency extends ModuleDependency {
43
36
  */
44
37
  constructor(request, identifier, ids, range) {
45
38
  super(request);
39
+ /** @type {string} */
46
40
  this.identifier = identifier;
41
+ /** @type {string[]} */
47
42
  this.ids = ids;
48
43
  this.range = range;
49
44
  /** @type {undefined | string} */
@@ -88,9 +83,7 @@ class ProvidedDependency extends ModuleDependency {
88
83
  * @param {ObjectSerializerContext} context context
89
84
  */
90
85
  serialize(context) {
91
- const { write } = context;
92
- write(this.identifier);
93
- write(this.ids);
86
+ context.write(this.identifier).write(this.ids);
94
87
  super.serialize(context);
95
88
  }
96
89
 
@@ -99,10 +92,10 @@ class ProvidedDependency extends ModuleDependency {
99
92
  * @param {ObjectDeserializerContext} context context
100
93
  */
101
94
  deserialize(context) {
102
- const { read } = context;
103
- this.identifier = read();
104
- this.ids = read();
105
- super.deserialize(context);
95
+ this.identifier = context.read();
96
+ const c1 = context.rest;
97
+ this.ids = c1.read();
98
+ super.deserialize(c1.rest);
106
99
  }
107
100
  }
108
101
 
@@ -137,16 +130,27 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template {
137
130
  (moduleGraph.getConnection(dep));
138
131
  const exportsInfo = moduleGraph.getExportsInfo(connection.module);
139
132
  const usedName = exportsInfo.getUsedName(dep.ids, runtime);
133
+
134
+ const moduleRaw = runtimeTemplate.moduleRaw({
135
+ module: moduleGraph.getModule(dep),
136
+ chunkGraph,
137
+ request: dep.request,
138
+ runtimeRequirements
139
+ });
140
+
141
+ const provided = !usedName
142
+ ? moduleRaw
143
+ : usedName instanceof InlinedUsedName
144
+ ? `(${moduleRaw}, ${usedName.render(
145
+ Template.toNormalComment(
146
+ `inlined export ${propertyAccess(dep.ids)}`
147
+ )
148
+ )})`
149
+ : `${moduleRaw}${propertyAccess(usedName, 0)}`;
150
+
140
151
  initFragments.push(
141
152
  new InitFragment(
142
- `/* provided dependency */ var ${
143
- dep.identifier
144
- } = ${runtimeTemplate.moduleExports({
145
- module: moduleGraph.getModule(dep),
146
- chunkGraph,
147
- request: dep.request,
148
- runtimeRequirements
149
- })}${pathToString(/** @type {string[] | null} */ (usedName))};\n`,
153
+ `/* provided dependency */ var ${dep.identifier} = ${provided};\n`,
150
154
  InitFragment.STAGE_PROVIDES,
151
155
  1,
152
156
  `provided ${dep.identifier}`
@@ -19,8 +19,8 @@ const NullDependency = require("./NullDependency");
19
19
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
20
20
  /** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
21
21
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
22
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
23
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
22
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Set<string> | false]>} ObjectDeserializerContext */
23
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Set<string> | false]>} ObjectSerializerContext */
24
24
  /** @typedef {import("../util/Hash")} Hash */
25
25
 
26
26
  class PureExpressionDependency extends NullDependency {
@@ -100,9 +100,7 @@ class PureExpressionDependency extends NullDependency {
100
100
  * @param {ObjectSerializerContext} context context
101
101
  */
102
102
  serialize(context) {
103
- const { write } = context;
104
- write(this.range);
105
- write(this.usedByExports);
103
+ context.write(this.range).write(this.usedByExports);
106
104
  super.serialize(context);
107
105
  }
108
106
 
@@ -111,10 +109,10 @@ class PureExpressionDependency extends NullDependency {
111
109
  * @param {ObjectDeserializerContext} context context
112
110
  */
113
111
  deserialize(context) {
114
- const { read } = context;
115
- this.range = read();
116
- this.usedByExports = read();
117
- super.deserialize(context);
112
+ this.range = context.read();
113
+ const c1 = context.rest;
114
+ this.usedByExports = c1.read();
115
+ super.deserialize(c1.rest);
118
116
  }
119
117
  }
120
118
 
@@ -14,8 +14,8 @@ const NullDependency = require("./NullDependency");
14
14
  /** @typedef {import("../Dependency")} Dependency */
15
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
16
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
17
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
18
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range, Range | false]>} ObjectDeserializerContext */
18
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range, Range | false]>} ObjectSerializerContext */
19
19
 
20
20
  class RequireEnsureDependency extends NullDependency {
21
21
  /**
@@ -41,11 +41,10 @@ class RequireEnsureDependency extends NullDependency {
41
41
  * @param {ObjectSerializerContext} context context
42
42
  */
43
43
  serialize(context) {
44
- const { write } = context;
45
-
46
- write(this.range);
47
- write(this.contentRange);
48
- write(this.errorHandlerRange);
44
+ context
45
+ .write(this.range)
46
+ .write(this.contentRange)
47
+ .write(this.errorHandlerRange);
49
48
 
50
49
  super.serialize(context);
51
50
  }
@@ -55,13 +54,13 @@ class RequireEnsureDependency extends NullDependency {
55
54
  * @param {ObjectDeserializerContext} context context
56
55
  */
57
56
  deserialize(context) {
58
- const { read } = context;
59
-
60
- this.range = read();
61
- this.contentRange = read();
62
- this.errorHandlerRange = read();
57
+ this.range = context.read();
58
+ const c1 = context.rest;
59
+ this.contentRange = c1.read();
60
+ const c2 = c1.rest;
61
+ this.errorHandlerRange = c2.read();
63
62
 
64
- super.deserialize(context);
63
+ super.deserialize(c2.rest);
65
64
  }
66
65
  }
67
66
 
@@ -13,8 +13,8 @@ const NullDependency = require("./NullDependency");
13
13
  /** @typedef {import("../Dependency")} Dependency */
14
14
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
15
15
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
16
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
17
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range]>} ObjectDeserializerContext */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range]>} ObjectSerializerContext */
18
18
 
19
19
  class RequireHeaderDependency extends NullDependency {
20
20
  /**
@@ -32,8 +32,7 @@ class RequireHeaderDependency extends NullDependency {
32
32
  * @param {ObjectSerializerContext} context context
33
33
  */
34
34
  serialize(context) {
35
- const { write } = context;
36
- write(this.range);
35
+ context.write(this.range);
37
36
  super.serialize(context);
38
37
  }
39
38
 
@@ -25,6 +25,7 @@ module.exports = class RequireIncludeDependencyParserPlugin {
25
25
  * @param {boolean} warn true: warn about deprecation, false: don't warn
26
26
  */
27
27
  constructor(warn) {
28
+ /** @type {boolean} */
28
29
  this.warn = warn;
29
30
  }
30
31
 
@@ -90,8 +91,10 @@ class RequireIncludeDeprecationWarning extends WebpackError {
90
91
  constructor(loc) {
91
92
  super("require.include() is deprecated and will be removed soon.");
92
93
 
94
+ /** @type {string} */
93
95
  this.name = "RequireIncludeDeprecationWarning";
94
96
 
97
+ /** @type {DependencyLocation} */
95
98
  this.loc = loc;
96
99
  }
97
100
  }
@@ -10,8 +10,8 @@ const ContextDependency = require("./ContextDependency");
10
10
  const ContextDependencyTemplateAsId = require("./ContextDependencyTemplateAsId");
11
11
 
12
12
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
13
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
14
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
13
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range]>} ObjectDeserializerContext */
14
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range]>} ObjectSerializerContext */
15
15
  /** @typedef {import("./ContextDependency").ContextDependencyOptions} ContextDependencyOptions */
16
16
 
17
17
  class RequireResolveContextDependency extends ContextDependency {
@@ -38,10 +38,7 @@ class RequireResolveContextDependency extends ContextDependency {
38
38
  * @param {ObjectSerializerContext} context context
39
39
  */
40
40
  serialize(context) {
41
- const { write } = context;
42
-
43
- write(this.range);
44
- write(this.valueRange);
41
+ context.write(this.range).write(this.valueRange);
45
42
 
46
43
  super.serialize(context);
47
44
  }
@@ -51,12 +48,11 @@ class RequireResolveContextDependency extends ContextDependency {
51
48
  * @param {ObjectDeserializerContext} context context
52
49
  */
53
50
  deserialize(context) {
54
- const { read } = context;
55
-
56
- this.range = read();
57
- this.valueRange = read();
51
+ this.range = context.read();
52
+ const c1 = context.rest;
53
+ this.valueRange = c1.read();
58
54
 
59
- super.deserialize(context);
55
+ super.deserialize(c1.rest);
60
56
  }
61
57
  }
62
58
 
@@ -26,6 +26,7 @@ class RequireResolveDependency extends ModuleDependency {
26
26
  super(request);
27
27
 
28
28
  this.range = range;
29
+ /** @type {string | undefined} */
29
30
  this._context = context;
30
31
  }
31
32
 
@@ -12,8 +12,8 @@ const NullDependency = require("./NullDependency");
12
12
  /** @typedef {import("../Dependency")} Dependency */
13
13
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
14
14
  /** @typedef {import("../javascript/JavascriptParser").Range} Range */
15
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
16
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
15
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range]>} ObjectDeserializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range]>} ObjectSerializerContext */
17
17
 
18
18
  class RequireResolveHeaderDependency extends NullDependency {
19
19
  /**
@@ -33,9 +33,7 @@ class RequireResolveHeaderDependency extends NullDependency {
33
33
  * @param {ObjectSerializerContext} context context
34
34
  */
35
35
  serialize(context) {
36
- const { write } = context;
37
-
38
- write(this.range);
36
+ context.write(this.range);
39
37
 
40
38
  super.serialize(context);
41
39
  }
@@ -13,8 +13,8 @@ const NullDependency = require("./NullDependency");
13
13
  /** @typedef {import("../Dependency")} Dependency */
14
14
  /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
15
15
  /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
16
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
17
- /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
16
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Set<string>]>} ObjectDeserializerContext */
17
+ /** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Set<string>]>} ObjectSerializerContext */
18
18
  /** @typedef {import("../util/Hash")} Hash */
19
19
 
20
20
  class RuntimeRequirementsDependency extends NullDependency {
@@ -24,6 +24,7 @@ class RuntimeRequirementsDependency extends NullDependency {
24
24
  */
25
25
  constructor(runtimeRequirements) {
26
26
  super();
27
+ /** @type {Set<string>} */
27
28
  this.runtimeRequirements = new Set(runtimeRequirements);
28
29
  /** @type {undefined | string} */
29
30
  this._hashUpdate = undefined;
@@ -47,8 +48,7 @@ class RuntimeRequirementsDependency extends NullDependency {
47
48
  * @param {ObjectSerializerContext} context context
48
49
  */
49
50
  serialize(context) {
50
- const { write } = context;
51
- write(this.runtimeRequirements);
51
+ context.write(this.runtimeRequirements);
52
52
  super.serialize(context);
53
53
  }
54
54
 
@@ -57,9 +57,8 @@ class RuntimeRequirementsDependency extends NullDependency {
57
57
  * @param {ObjectDeserializerContext} context context
58
58
  */
59
59
  deserialize(context) {
60
- const { read } = context;
61
- this.runtimeRequirements = read();
62
- super.deserialize(context);
60
+ this.runtimeRequirements = context.read();
61
+ super.deserialize(context.rest);
63
62
  }
64
63
  }
65
64