webpack 5.86.0 → 5.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (207) hide show
  1. package/README.md +5 -2
  2. package/lib/APIPlugin.js +1 -1
  3. package/lib/AsyncDependenciesBlock.js +3 -3
  4. package/lib/CaseSensitiveModulesWarning.js +3 -1
  5. package/lib/ChunkGraph.js +4 -4
  6. package/lib/ChunkGroup.js +10 -3
  7. package/lib/CompatibilityPlugin.js +50 -30
  8. package/lib/Compilation.js +2 -1
  9. package/lib/Compiler.js +3 -1
  10. package/lib/ConcatenationScope.js +2 -2
  11. package/lib/ConditionalInitFragment.js +11 -1
  12. package/lib/ConstPlugin.js +57 -29
  13. package/lib/ContextModule.js +4 -1
  14. package/lib/ContextReplacementPlugin.js +13 -0
  15. package/lib/DelegatedModule.js +15 -3
  16. package/lib/DelegatedModuleFactoryPlugin.js +6 -0
  17. package/lib/Dependency.js +11 -5
  18. package/lib/DllEntryPlugin.js +11 -1
  19. package/lib/DllReferencePlugin.js +13 -1
  20. package/lib/Entrypoint.js +1 -1
  21. package/lib/ErrorHelpers.js +1 -0
  22. package/lib/EvalSourceMapDevToolPlugin.js +4 -0
  23. package/lib/ExportsInfo.js +17 -3
  24. package/lib/ExportsInfoApiPlugin.js +14 -5
  25. package/lib/ExternalModule.js +5 -0
  26. package/lib/FlagAllModulesAsUsedPlugin.js +6 -1
  27. package/lib/FlagDependencyUsagePlugin.js +3 -1
  28. package/lib/FlagEntryExportAsUsedPlugin.js +4 -0
  29. package/lib/HotModuleReplacementPlugin.js +8 -0
  30. package/lib/InitFragment.js +28 -5
  31. package/lib/JavascriptMetaInfoPlugin.js +11 -6
  32. package/lib/LibManifestPlugin.js +20 -4
  33. package/lib/Module.js +7 -2
  34. package/lib/ModuleDependencyError.js +4 -2
  35. package/lib/ModuleDependencyWarning.js +4 -2
  36. package/lib/ModuleGraph.js +31 -24
  37. package/lib/ModuleGraphConnection.js +19 -6
  38. package/lib/ModuleInfoHeaderPlugin.js +9 -2
  39. package/lib/ModuleNotFoundError.js +5 -2
  40. package/lib/ModuleProfile.js +1 -0
  41. package/lib/ModuleRestoreError.js +2 -0
  42. package/lib/ModuleStoreError.js +2 -1
  43. package/lib/ModuleTypeConstants.js +7 -0
  44. package/lib/MultiWatching.js +4 -0
  45. package/lib/NodeStuffPlugin.js +32 -6
  46. package/lib/ProvidePlugin.js +13 -4
  47. package/lib/RawModule.js +3 -1
  48. package/lib/RequireJsStuffPlugin.js +7 -0
  49. package/lib/RuntimeGlobals.js +5 -0
  50. package/lib/RuntimeModule.js +3 -3
  51. package/lib/RuntimePlugin.js +6 -3
  52. package/lib/RuntimeTemplate.js +22 -4
  53. package/lib/SourceMapDevToolModuleOptionsPlugin.js +4 -0
  54. package/lib/SourceMapDevToolPlugin.js +7 -2
  55. package/lib/UseStrictPlugin.js +10 -3
  56. package/lib/WebpackError.js +6 -5
  57. package/lib/WebpackIsIncludedPlugin.js +6 -4
  58. package/lib/WebpackOptionsApply.js +1 -1
  59. package/lib/WebpackOptionsDefaulter.js +10 -3
  60. package/lib/asset/AssetGenerator.js +2 -1
  61. package/lib/asset/AssetParser.js +11 -6
  62. package/lib/asset/AssetSourceParser.js +8 -3
  63. package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
  64. package/lib/cache/IdleFileCachePlugin.js +2 -1
  65. package/lib/cache/PackFileCacheStrategy.js +35 -14
  66. package/lib/config/browserslistTargetHandler.js +7 -7
  67. package/lib/config/defaults.js +43 -26
  68. package/lib/container/RemoteRuntimeModule.js +1 -1
  69. package/lib/css/CssLoadingRuntimeModule.js +30 -13
  70. package/lib/css/CssModulesPlugin.js +5 -2
  71. package/lib/css/CssParser.js +22 -0
  72. package/lib/dependencies/AMDDefineDependency.js +34 -4
  73. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +5 -0
  74. package/lib/dependencies/AMDRuntimeModules.js +2 -2
  75. package/lib/dependencies/CommonJsExportsParserPlugin.js +14 -4
  76. package/lib/dependencies/CommonJsImportsParserPlugin.js +169 -59
  77. package/lib/dependencies/CommonJsPlugin.js +13 -8
  78. package/lib/dependencies/CommonJsRequireContextDependency.js +2 -2
  79. package/lib/dependencies/ConstDependency.js +2 -2
  80. package/lib/dependencies/ContextDependency.js +7 -2
  81. package/lib/dependencies/CssImportDependency.js +1 -1
  82. package/lib/dependencies/CssLocalIdentifierDependency.js +5 -0
  83. package/lib/dependencies/CssUrlDependency.js +3 -3
  84. package/lib/dependencies/DllEntryDependency.js +5 -0
  85. package/lib/dependencies/DynamicExports.js +10 -6
  86. package/lib/dependencies/ExportsInfoDependency.js +14 -4
  87. package/lib/dependencies/HarmonyCompatibilityDependency.js +2 -1
  88. package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -1
  89. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +12 -5
  90. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
  91. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +4 -4
  92. package/lib/dependencies/HarmonyExports.js +9 -5
  93. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +32 -17
  94. package/lib/dependencies/HarmonyImportSideEffectDependency.js +1 -2
  95. package/lib/dependencies/HarmonyImportSpecifierDependency.js +19 -9
  96. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +15 -3
  97. package/lib/dependencies/ImportDependency.js +5 -3
  98. package/lib/dependencies/ImportEagerDependency.js +5 -3
  99. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +19 -0
  100. package/lib/dependencies/ImportMetaPlugin.js +31 -15
  101. package/lib/dependencies/ImportParserPlugin.js +62 -25
  102. package/lib/dependencies/ImportWeakDependency.js +5 -3
  103. package/lib/dependencies/ModuleDependency.js +1 -1
  104. package/lib/dependencies/ModuleDependencyTemplateAsId.js +2 -1
  105. package/lib/dependencies/ProvidedDependency.js +4 -1
  106. package/lib/dependencies/RequireContextDependencyParserPlugin.js +13 -5
  107. package/lib/dependencies/RequireEnsureDependenciesBlock.js +5 -2
  108. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +6 -1
  109. package/lib/dependencies/RequireHeaderDependency.js +4 -0
  110. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +26 -5
  111. package/lib/dependencies/RequireResolveHeaderDependency.js +9 -0
  112. package/lib/dependencies/SystemPlugin.js +17 -5
  113. package/lib/dependencies/SystemRuntimeModule.js +1 -1
  114. package/lib/dependencies/URLDependency.js +2 -2
  115. package/lib/dependencies/URLPlugin.js +9 -4
  116. package/lib/dependencies/WebAssemblyImportDependency.js +1 -1
  117. package/lib/dependencies/WorkerPlugin.js +59 -22
  118. package/lib/esm/ExportWebpackRequireRuntimeModule.js +1 -1
  119. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +1 -1
  120. package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
  121. package/lib/ids/HashedModuleIdsPlugin.js +1 -1
  122. package/lib/ids/SyncModuleIdsPlugin.js +1 -0
  123. package/lib/javascript/BasicEvaluatedExpression.js +23 -15
  124. package/lib/javascript/CommonJsChunkFormatPlugin.js +6 -2
  125. package/lib/javascript/JavascriptParser.js +135 -63
  126. package/lib/javascript/JavascriptParserHelpers.js +37 -15
  127. package/lib/logging/runtime.js +1 -1
  128. package/lib/logging/truncateArgs.js +4 -0
  129. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +10 -6
  130. package/lib/node/RequireChunkLoadingRuntimeModule.js +10 -6
  131. package/lib/optimize/InnerGraph.js +1 -1
  132. package/lib/optimize/InnerGraphPlugin.js +2 -1
  133. package/lib/performance/SizeLimitsPlugin.js +7 -4
  134. package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +4 -2
  135. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +3 -1
  136. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +6 -3
  137. package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -2
  138. package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -2
  139. package/lib/rules/BasicEffectRulePlugin.js +4 -0
  140. package/lib/rules/BasicMatcherRulePlugin.js +5 -0
  141. package/lib/rules/RuleSetCompiler.js +3 -3
  142. package/lib/rules/UseEffectRulePlugin.js +6 -4
  143. package/lib/runtime/AsyncModuleRuntimeModule.js +8 -5
  144. package/lib/runtime/AutoPublicPathRuntimeModule.js +4 -2
  145. package/lib/runtime/BaseUriRuntimeModule.js +3 -3
  146. package/lib/runtime/ChunkNameRuntimeModule.js +1 -1
  147. package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +5 -2
  148. package/lib/runtime/CompatRuntimeModule.js +7 -2
  149. package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +5 -2
  150. package/lib/runtime/CreateScriptRuntimeModule.js +4 -2
  151. package/lib/runtime/CreateScriptUrlRuntimeModule.js +4 -2
  152. package/lib/runtime/DefinePropertyGettersRuntimeModule.js +5 -2
  153. package/lib/runtime/EnsureChunkRuntimeModule.js +15 -4
  154. package/lib/runtime/GetChunkFilenameRuntimeModule.js +6 -10
  155. package/lib/runtime/GetFullHashRuntimeModule.js +4 -3
  156. package/lib/runtime/GetMainFilenameRuntimeModule.js +5 -2
  157. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +4 -2
  158. package/lib/runtime/GlobalRuntimeModule.js +1 -1
  159. package/lib/runtime/HasOwnPropertyRuntimeModule.js +5 -2
  160. package/lib/runtime/LoadScriptRuntimeModule.js +64 -48
  161. package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +5 -2
  162. package/lib/runtime/NonceRuntimeModule.js +1 -1
  163. package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -2
  164. package/lib/runtime/PublicPathRuntimeModule.js +4 -2
  165. package/lib/runtime/RelativeUrlRuntimeModule.js +5 -2
  166. package/lib/runtime/RuntimeIdRuntimeModule.js +6 -2
  167. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +9 -3
  168. package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -2
  169. package/lib/runtime/SystemContextRuntimeModule.js +1 -1
  170. package/lib/serialization/ObjectMiddleware.js +6 -3
  171. package/lib/sharing/ConsumeSharedFallbackDependency.js +3 -0
  172. package/lib/sharing/ConsumeSharedRuntimeModule.js +14 -5
  173. package/lib/sharing/ProvideSharedDependency.js +11 -0
  174. package/lib/sharing/ProvideSharedModule.js +4 -0
  175. package/lib/sharing/ProvideSharedPlugin.js +22 -21
  176. package/lib/sharing/ShareRuntimeModule.js +12 -5
  177. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  178. package/lib/sharing/utils.js +32 -5
  179. package/lib/util/AsyncQueue.js +4 -2
  180. package/lib/util/ParallelismFactorCalculator.js +10 -0
  181. package/lib/util/Semaphore.js +1 -1
  182. package/lib/util/createHash.js +30 -9
  183. package/lib/util/deprecation.js +10 -3
  184. package/lib/util/deterministicGrouping.js +50 -11
  185. package/lib/util/findGraphRoots.js +4 -2
  186. package/lib/util/memoize.js +3 -3
  187. package/lib/util/processAsyncTree.js +7 -1
  188. package/lib/util/registerExternalSerializer.js +1 -1
  189. package/lib/util/runtime.js +14 -1
  190. package/lib/util/smartGrouping.js +1 -1
  191. package/lib/validateSchema.js +6 -2
  192. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +6 -2
  193. package/lib/wasm-async/AsyncWebAssemblyParser.js +7 -3
  194. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +14 -7
  195. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -1
  196. package/lib/wasm-sync/WebAssemblyGenerator.js +1 -0
  197. package/lib/wasm-sync/WebAssemblyParser.js +6 -2
  198. package/lib/web/JsonpChunkLoadingRuntimeModule.js +14 -4
  199. package/lib/webpack.js +11 -2
  200. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -16
  201. package/module.d.ts +1 -0
  202. package/package.json +5 -4
  203. package/schemas/WebpackOptions.check.js +1 -1
  204. package/schemas/WebpackOptions.json +39 -5
  205. package/schemas/plugins/css/CssGeneratorOptions.json +1 -1
  206. package/schemas/plugins/css/CssParserOptions.json +1 -1
  207. package/types.d.ts +519 -222
package/types.d.ts CHANGED
@@ -13,7 +13,6 @@ import {
13
13
  AssignmentPattern,
14
14
  AssignmentProperty,
15
15
  AwaitExpression,
16
- BaseCallExpression,
17
16
  BigIntLiteral,
18
17
  BinaryExpression,
19
18
  BlockStatement,
@@ -27,6 +26,7 @@ import {
27
26
  ConditionalExpression,
28
27
  ContinueStatement,
29
28
  DebuggerStatement,
29
+ Directive,
30
30
  DoWhileStatement,
31
31
  EmptyStatement,
32
32
  ExportAllDeclaration,
@@ -351,17 +351,19 @@ declare interface AssetResourceGeneratorOptions {
351
351
  }
352
352
  declare class AsyncDependenciesBlock extends DependenciesBlock {
353
353
  constructor(
354
- groupOptions: RawChunkGroupOptions & { name?: string } & {
355
- entryOptions?: EntryOptions;
356
- },
357
- loc?: SyntheticDependencyLocation | RealDependencyLocation,
358
- request?: string
354
+ groupOptions:
355
+ | null
356
+ | (RawChunkGroupOptions & { name?: string } & {
357
+ entryOptions?: EntryOptions;
358
+ }),
359
+ loc?: null | SyntheticDependencyLocation | RealDependencyLocation,
360
+ request?: null | string
359
361
  );
360
362
  groupOptions: RawChunkGroupOptions & { name?: string } & {
361
363
  entryOptions?: EntryOptions;
362
364
  };
363
- loc?: SyntheticDependencyLocation | RealDependencyLocation;
364
- request?: string;
365
+ loc?: null | SyntheticDependencyLocation | RealDependencyLocation;
366
+ request?: null | string;
365
367
  chunkName?: string;
366
368
  module: any;
367
369
  }
@@ -491,7 +493,7 @@ declare interface BaseResolveRequest {
491
493
  }
492
494
  declare abstract class BasicEvaluatedExpression {
493
495
  type: number;
494
- range: [number, number];
496
+ range?: [number, number];
495
497
  falsy: boolean;
496
498
  truthy: boolean;
497
499
  nullish?: boolean;
@@ -506,15 +508,89 @@ declare abstract class BasicEvaluatedExpression {
506
508
  array?: any[];
507
509
  items?: BasicEvaluatedExpression[];
508
510
  options?: BasicEvaluatedExpression[];
509
- prefix?: BasicEvaluatedExpression;
510
- postfix?: BasicEvaluatedExpression;
511
- wrappedInnerExpressions: BasicEvaluatedExpression[];
511
+ prefix?: null | BasicEvaluatedExpression;
512
+ postfix?: null | BasicEvaluatedExpression;
513
+ wrappedInnerExpressions?: BasicEvaluatedExpression[];
512
514
  identifier?: string | VariableInfoInterface;
513
- rootInfo: string | VariableInfoInterface;
514
- getMembers: () => string[];
515
- getMembersOptionals: () => boolean[];
516
- getMemberRanges: () => [number, number][];
517
- expression: NodeEstreeIndex;
515
+ rootInfo?: string | VariableInfoInterface;
516
+ getMembers?: () => string[];
517
+ getMembersOptionals?: () => boolean[];
518
+ getMemberRanges?: () => [number, number][];
519
+ expression?:
520
+ | UnaryExpression
521
+ | ArrayExpression
522
+ | ArrowFunctionExpression
523
+ | AssignmentExpression
524
+ | AwaitExpression
525
+ | BinaryExpression
526
+ | SimpleCallExpression
527
+ | NewExpression
528
+ | ChainExpression
529
+ | ClassExpression
530
+ | ConditionalExpression
531
+ | FunctionExpression
532
+ | Identifier
533
+ | ImportExpression
534
+ | SimpleLiteral
535
+ | RegExpLiteral
536
+ | BigIntLiteral
537
+ | LogicalExpression
538
+ | MemberExpression
539
+ | MetaProperty
540
+ | ObjectExpression
541
+ | SequenceExpression
542
+ | TaggedTemplateExpression
543
+ | TemplateLiteral
544
+ | ThisExpression
545
+ | UpdateExpression
546
+ | YieldExpression
547
+ | FunctionDeclaration
548
+ | VariableDeclaration
549
+ | ClassDeclaration
550
+ | PrivateIdentifier
551
+ | ExpressionStatement
552
+ | BlockStatement
553
+ | StaticBlock
554
+ | EmptyStatement
555
+ | DebuggerStatement
556
+ | WithStatement
557
+ | ReturnStatement
558
+ | LabeledStatement
559
+ | BreakStatement
560
+ | ContinueStatement
561
+ | IfStatement
562
+ | SwitchStatement
563
+ | ThrowStatement
564
+ | TryStatement
565
+ | WhileStatement
566
+ | DoWhileStatement
567
+ | ForStatement
568
+ | ForInStatement
569
+ | ForOfStatement
570
+ | ImportDeclaration
571
+ | ExportNamedDeclaration
572
+ | ExportDefaultDeclaration
573
+ | ExportAllDeclaration
574
+ | MethodDefinition
575
+ | PropertyDefinition
576
+ | VariableDeclarator
577
+ | Program
578
+ | SwitchCase
579
+ | CatchClause
580
+ | ObjectPattern
581
+ | ArrayPattern
582
+ | RestElement
583
+ | AssignmentPattern
584
+ | SpreadElement
585
+ | Property
586
+ | AssignmentProperty
587
+ | ClassBody
588
+ | ImportSpecifier
589
+ | ImportDefaultSpecifier
590
+ | ImportNamespaceSpecifier
591
+ | ExportSpecifier
592
+ | Super
593
+ | TemplateElement;
518
594
  isUnknown(): boolean;
519
595
  isNull(): boolean;
520
596
  isUndefined(): boolean;
@@ -567,7 +643,7 @@ declare abstract class BasicEvaluatedExpression {
567
643
  * Creates a string representation of this evaluated expression.
568
644
  */
569
645
  asString(): undefined | string;
570
- setString(string?: any): BasicEvaluatedExpression;
646
+ setString(string: string): BasicEvaluatedExpression;
571
647
  setUndefined(): BasicEvaluatedExpression;
572
648
  setNull(): BasicEvaluatedExpression;
573
649
 
@@ -606,8 +682,8 @@ declare abstract class BasicEvaluatedExpression {
606
682
  * Wraps an array of expressions with a prefix and postfix expression.
607
683
  */
608
684
  setWrapped(
609
- prefix: null | BasicEvaluatedExpression,
610
- postfix: BasicEvaluatedExpression,
685
+ prefix: undefined | null | BasicEvaluatedExpression,
686
+ postfix: undefined | null | BasicEvaluatedExpression,
611
687
  innerExpressions: BasicEvaluatedExpression[]
612
688
  ): BasicEvaluatedExpression;
613
689
 
@@ -662,7 +738,83 @@ declare abstract class BasicEvaluatedExpression {
662
738
  /**
663
739
  * Set the expression node for the expression.
664
740
  */
665
- setExpression(expression: NodeEstreeIndex): BasicEvaluatedExpression;
741
+ setExpression(
742
+ expression?:
743
+ | UnaryExpression
744
+ | ArrayExpression
745
+ | ArrowFunctionExpression
746
+ | AssignmentExpression
747
+ | AwaitExpression
748
+ | BinaryExpression
749
+ | SimpleCallExpression
750
+ | NewExpression
751
+ | ChainExpression
752
+ | ClassExpression
753
+ | ConditionalExpression
754
+ | FunctionExpression
755
+ | Identifier
756
+ | ImportExpression
757
+ | SimpleLiteral
758
+ | RegExpLiteral
759
+ | BigIntLiteral
760
+ | LogicalExpression
761
+ | MemberExpression
762
+ | MetaProperty
763
+ | ObjectExpression
764
+ | SequenceExpression
765
+ | TaggedTemplateExpression
766
+ | TemplateLiteral
767
+ | ThisExpression
768
+ | UpdateExpression
769
+ | YieldExpression
770
+ | FunctionDeclaration
771
+ | VariableDeclaration
772
+ | ClassDeclaration
773
+ | PrivateIdentifier
774
+ | ExpressionStatement
775
+ | BlockStatement
776
+ | StaticBlock
777
+ | EmptyStatement
778
+ | DebuggerStatement
779
+ | WithStatement
780
+ | ReturnStatement
781
+ | LabeledStatement
782
+ | BreakStatement
783
+ | ContinueStatement
784
+ | IfStatement
785
+ | SwitchStatement
786
+ | ThrowStatement
787
+ | TryStatement
788
+ | WhileStatement
789
+ | DoWhileStatement
790
+ | ForStatement
791
+ | ForInStatement
792
+ | ForOfStatement
793
+ | ImportDeclaration
794
+ | ExportNamedDeclaration
795
+ | ExportDefaultDeclaration
796
+ | ExportAllDeclaration
797
+ | MethodDefinition
798
+ | PropertyDefinition
799
+ | VariableDeclarator
800
+ | Program
801
+ | SwitchCase
802
+ | CatchClause
803
+ | ObjectPattern
804
+ | ArrayPattern
805
+ | RestElement
806
+ | AssignmentPattern
807
+ | SpreadElement
808
+ | Property
809
+ | AssignmentProperty
810
+ | ClassBody
811
+ | ImportSpecifier
812
+ | ImportDefaultSpecifier
813
+ | ImportNamespaceSpecifier
814
+ | ExportSpecifier
815
+ | Super
816
+ | TemplateElement
817
+ ): BasicEvaluatedExpression;
666
818
  }
667
819
  declare interface BuildInfo {
668
820
  [index: string]: any;
@@ -2196,7 +2348,7 @@ declare class ConcatenationScope {
2196
2348
  static isModuleReference(name: string): boolean;
2197
2349
  static matchModuleReference(
2198
2350
  name: string
2199
- ): ModuleReferenceOptions & { index: number };
2351
+ ): null | (ModuleReferenceOptions & { index: number });
2200
2352
  static DEFAULT_EXPORT: string;
2201
2353
  static NAMESPACE_OBJECT_EXPORT: string;
2202
2354
  }
@@ -2378,6 +2530,11 @@ declare interface Configuration {
2378
2530
  * Add additional plugins to the compiler.
2379
2531
  */
2380
2532
  plugins?: (
2533
+ | undefined
2534
+ | null
2535
+ | false
2536
+ | ""
2537
+ | 0
2381
2538
  | ((this: Compiler, compiler: Compiler) => void)
2382
2539
  | WebpackPluginInstance
2383
2540
  )[];
@@ -2455,7 +2612,7 @@ declare class ConstDependency extends NullDependency {
2455
2612
  constructor(
2456
2613
  expression: string,
2457
2614
  range: number | [number, number],
2458
- runtimeRequirements?: string[]
2615
+ runtimeRequirements?: null | string[]
2459
2616
  );
2460
2617
  expression: string;
2461
2618
  range: number | [number, number];
@@ -2685,7 +2842,7 @@ declare interface ContextModuleOptions {
2685
2842
  /**
2686
2843
  * exports referenced from modules (won't be mangled)
2687
2844
  */
2688
- referencedExports?: string[][];
2845
+ referencedExports?: null | string[][];
2689
2846
  layer?: string;
2690
2847
  resource: string | false | string[];
2691
2848
  resourceQuery?: string;
@@ -2694,18 +2851,22 @@ declare interface ContextModuleOptions {
2694
2851
  }
2695
2852
  declare class ContextReplacementPlugin {
2696
2853
  constructor(
2697
- resourceRegExp?: any,
2854
+ resourceRegExp: RegExp,
2698
2855
  newContentResource?: any,
2699
2856
  newContentRecursive?: any,
2700
2857
  newContentRegExp?: any
2701
2858
  );
2702
- resourceRegExp: any;
2859
+ resourceRegExp: RegExp;
2703
2860
  newContentCallback: any;
2704
2861
  newContentResource: any;
2705
2862
  newContentCreateContextMap: any;
2706
2863
  newContentRecursive: any;
2707
2864
  newContentRegExp: any;
2708
- apply(compiler?: any): void;
2865
+
2866
+ /**
2867
+ * Apply the plugin
2868
+ */
2869
+ apply(compiler: Compiler): void;
2709
2870
  }
2710
2871
  declare interface ContextTimestampAndHash {
2711
2872
  safeTime: number;
@@ -2793,10 +2954,10 @@ declare class Dependency {
2793
2954
  get category(): string;
2794
2955
  loc: DependencyLocation;
2795
2956
  setLoc(
2796
- startLine?: any,
2797
- startColumn?: any,
2798
- endLine?: any,
2799
- endColumn?: any
2957
+ startLine: number,
2958
+ startColumn: number,
2959
+ endLine: number,
2960
+ endColumn: number
2800
2961
  ): void;
2801
2962
  getContext(): undefined | string;
2802
2963
  getResourceIdentifier(): null | string;
@@ -2829,12 +2990,12 @@ declare class Dependency {
2829
2990
  /**
2830
2991
  * Returns warnings
2831
2992
  */
2832
- getWarnings(moduleGraph: ModuleGraph): WebpackError[];
2993
+ getWarnings(moduleGraph: ModuleGraph): undefined | null | WebpackError[];
2833
2994
 
2834
2995
  /**
2835
2996
  * Returns errors
2836
2997
  */
2837
- getErrors(moduleGraph: ModuleGraph): WebpackError[];
2998
+ getErrors(moduleGraph: ModuleGraph): undefined | null | WebpackError[];
2838
2999
 
2839
3000
  /**
2840
3001
  * Update the hash
@@ -2848,7 +3009,7 @@ declare class Dependency {
2848
3009
  getModuleEvaluationSideEffectsState(
2849
3010
  moduleGraph: ModuleGraph
2850
3011
  ): ConnectionState;
2851
- createIgnoredModule(context: string): Module;
3012
+ createIgnoredModule(context: string): null | Module;
2852
3013
  serialize(__0: ObjectSerializerContext): void;
2853
3014
  deserialize(__0: ObjectDeserializerContext): void;
2854
3015
  module: any;
@@ -3062,7 +3223,11 @@ declare interface DllPluginOptions {
3062
3223
  declare class DllReferencePlugin {
3063
3224
  constructor(options: DllReferencePluginOptions);
3064
3225
  options: DllReferencePluginOptions;
3065
- apply(compiler?: any): void;
3226
+
3227
+ /**
3228
+ * Apply the plugin
3229
+ */
3230
+ apply(compiler: Compiler): void;
3066
3231
  }
3067
3232
  type DllReferencePluginOptions =
3068
3233
  | {
@@ -4076,7 +4241,11 @@ declare interface ExternalItemObjectUnknown {
4076
4241
  }
4077
4242
  type ExternalItemValue = string | boolean | string[] | { [index: string]: any };
4078
4243
  declare class ExternalModule extends Module {
4079
- constructor(request?: any, type?: any, userRequest?: any);
4244
+ constructor(
4245
+ request: string | string[] | Record<string, string | string[]>,
4246
+ type: any,
4247
+ userRequest: string
4248
+ );
4080
4249
  request: string | string[] | Record<string, string | string[]>;
4081
4250
  externalType: string;
4082
4251
  userRequest: string;
@@ -4192,6 +4361,9 @@ declare interface FactorizeModuleOptions {
4192
4361
  contextInfo?: Partial<ModuleFactoryCreateDataContextInfo>;
4193
4362
  context?: string;
4194
4363
  }
4364
+ declare interface FactoryMeta {
4365
+ sideEffectFree?: boolean;
4366
+ }
4195
4367
  type FakeHook<T> = T & FakeHookMarker;
4196
4368
  declare interface FakeHookMarker {}
4197
4369
  declare interface FallbackCacheGroup {
@@ -4963,8 +5135,8 @@ declare abstract class InitFragment<Context> {
4963
5135
  endContent?: string | Source;
4964
5136
  getContent(context: Context): string | Source;
4965
5137
  getEndContent(context: Context): undefined | string | Source;
4966
- serialize(context?: any): void;
4967
- deserialize(context?: any): void;
5138
+ serialize(context: ObjectSerializerContext): void;
5139
+ deserialize(context: ObjectDeserializerContext): void;
4968
5140
  merge: any;
4969
5141
  }
4970
5142
  declare interface InputFileSystem {
@@ -5346,7 +5518,7 @@ declare class JavascriptParser extends Parser {
5346
5518
  typeof: HookMap<SyncBailHook<[Expression], boolean | void>>;
5347
5519
  importCall: SyncBailHook<[ImportExpression], boolean | void>;
5348
5520
  topLevelAwait: SyncBailHook<[Expression], boolean | void>;
5349
- call: HookMap<SyncBailHook<[BaseCallExpression], boolean | void>>;
5521
+ call: HookMap<SyncBailHook<[CallExpression], boolean | void>>;
5350
5522
  callMemberChain: HookMap<
5351
5523
  SyncBailHook<
5352
5524
  [CallExpression, string[], boolean[], [number, number][]],
@@ -5361,7 +5533,7 @@ declare class JavascriptParser extends Parser {
5361
5533
  >;
5362
5534
  callMemberChainOfCallMemberChain: HookMap<
5363
5535
  SyncBailHook<
5364
- [Expression, string[], CallExpression, string[]],
5536
+ [CallExpression, string[], CallExpression, string[]],
5365
5537
  boolean | void
5366
5538
  >
5367
5539
  >;
@@ -5371,15 +5543,21 @@ declare class JavascriptParser extends Parser {
5371
5543
  expression: HookMap<SyncBailHook<[Expression], boolean | void>>;
5372
5544
  expressionMemberChain: HookMap<
5373
5545
  SyncBailHook<
5374
- [Expression, string[], boolean[], [number, number][]],
5546
+ [MemberExpression, string[], boolean[], [number, number][]],
5375
5547
  boolean | void
5376
5548
  >
5377
5549
  >;
5378
5550
  unhandledExpressionMemberChain: HookMap<
5379
- SyncBailHook<[Expression, string[]], boolean | void>
5551
+ SyncBailHook<[MemberExpression, string[]], boolean | void>
5552
+ >;
5553
+ expressionConditionalOperator: SyncBailHook<
5554
+ [ConditionalExpression],
5555
+ boolean | void
5556
+ >;
5557
+ expressionLogicalOperator: SyncBailHook<
5558
+ [LogicalExpression],
5559
+ boolean | void
5380
5560
  >;
5381
- expressionConditionalOperator: SyncBailHook<[Expression], boolean | void>;
5382
- expressionLogicalOperator: SyncBailHook<[Expression], boolean | void>;
5383
5561
  program: SyncBailHook<[Program, Comment[]], boolean | void>;
5384
5562
  finish: SyncBailHook<[Program, Comment[]], boolean | void>;
5385
5563
  }>;
@@ -5443,7 +5621,7 @@ declare class JavascriptParser extends Parser {
5443
5621
  | ExportDefaultDeclaration
5444
5622
  | ExportAllDeclaration
5445
5623
  )[];
5446
- prevStatement:
5624
+ prevStatement?:
5447
5625
  | UnaryExpression
5448
5626
  | ArrayExpression
5449
5627
  | ArrowFunctionExpression
@@ -5832,43 +6010,75 @@ declare class JavascriptParser extends Parser {
5832
6010
  callHooksForExpressionWithFallback<T, R>(
5833
6011
  hookMap: HookMap<SyncBailHook<T, R>>,
5834
6012
  expr: MemberExpression,
5835
- fallback: (
5836
- arg0: string,
5837
- arg1: string | ScopeInfo | VariableInfo,
5838
- arg2: () => string[]
5839
- ) => any,
5840
- defined: (arg0: string) => any,
6013
+ fallback:
6014
+ | undefined
6015
+ | ((
6016
+ arg0: string,
6017
+ arg1: string | ScopeInfo | VariableInfo,
6018
+ arg2: () => string[]
6019
+ ) => any),
6020
+ defined: undefined | ((arg0: string) => any),
5841
6021
  ...args: AsArray<T>
5842
- ): R;
6022
+ ): undefined | R;
5843
6023
  callHooksForName<T, R>(
5844
6024
  hookMap: HookMap<SyncBailHook<T, R>>,
5845
6025
  name: string,
5846
6026
  ...args: AsArray<T>
5847
- ): R;
6027
+ ): undefined | R;
5848
6028
  callHooksForInfo<T, R>(
5849
6029
  hookMap: HookMap<SyncBailHook<T, R>>,
5850
6030
  info: ExportedVariableInfo,
5851
6031
  ...args: AsArray<T>
5852
- ): R;
6032
+ ): undefined | R;
5853
6033
  callHooksForInfoWithFallback<T, R>(
5854
6034
  hookMap: HookMap<SyncBailHook<T, R>>,
5855
6035
  info: ExportedVariableInfo,
5856
- fallback: (arg0: string) => any,
5857
- defined: () => any,
6036
+ fallback: undefined | ((arg0: string) => any),
6037
+ defined: undefined | (() => any),
5858
6038
  ...args: AsArray<T>
5859
- ): R;
6039
+ ): undefined | R;
5860
6040
  callHooksForNameWithFallback<T, R>(
5861
6041
  hookMap: HookMap<SyncBailHook<T, R>>,
5862
6042
  name: string,
5863
- fallback: (arg0: string) => any,
5864
- defined: () => any,
6043
+ fallback: undefined | ((arg0: string) => any),
6044
+ defined: undefined | (() => any),
5865
6045
  ...args: AsArray<T>
5866
- ): R;
6046
+ ): undefined | R;
5867
6047
  inScope(params: any, fn: () => void): void;
5868
- inClassScope(hasThis?: any, params?: any, fn?: any): void;
5869
- inFunctionScope(hasThis?: any, params?: any, fn?: any): void;
5870
- inBlockScope(fn?: any): void;
5871
- detectMode(statements?: any): void;
6048
+ inClassScope(hasThis: boolean, params: any, fn: () => void): void;
6049
+ inFunctionScope(hasThis: boolean, params: any, fn: () => void): void;
6050
+ inBlockScope(fn: () => void): void;
6051
+ detectMode(
6052
+ statements: (
6053
+ | FunctionDeclaration
6054
+ | VariableDeclaration
6055
+ | ClassDeclaration
6056
+ | ExpressionStatement
6057
+ | BlockStatement
6058
+ | StaticBlock
6059
+ | EmptyStatement
6060
+ | DebuggerStatement
6061
+ | WithStatement
6062
+ | ReturnStatement
6063
+ | LabeledStatement
6064
+ | BreakStatement
6065
+ | ContinueStatement
6066
+ | IfStatement
6067
+ | SwitchStatement
6068
+ | ThrowStatement
6069
+ | TryStatement
6070
+ | WhileStatement
6071
+ | DoWhileStatement
6072
+ | ForStatement
6073
+ | ForInStatement
6074
+ | ForOfStatement
6075
+ | ImportDeclaration
6076
+ | ExportNamedDeclaration
6077
+ | ExportDefaultDeclaration
6078
+ | ExportAllDeclaration
6079
+ | Directive
6080
+ )[]
6081
+ ): void;
5872
6082
  enterPatterns(patterns?: any, onIdent?: any): void;
5873
6083
  enterPattern(pattern?: any, onIdent?: any): void;
5874
6084
  enterIdentifier(pattern: Identifier, onIdent?: any): void;
@@ -5876,7 +6086,7 @@ declare class JavascriptParser extends Parser {
5876
6086
  enterArrayPattern(pattern: ArrayPattern, onIdent?: any): void;
5877
6087
  enterRestElement(pattern: RestElement, onIdent?: any): void;
5878
6088
  enterAssignmentPattern(pattern: AssignmentPattern, onIdent?: any): void;
5879
- evaluateExpression(expression: Expression): BasicEvaluatedExpression;
6089
+ evaluateExpression(expression?: any): BasicEvaluatedExpression;
5880
6090
  parseString(expression: Expression): string;
5881
6091
  parseCalculatedString(expression?: any): any;
5882
6092
  evaluate(source: string): BasicEvaluatedExpression;
@@ -5920,7 +6130,7 @@ declare class JavascriptParser extends Parser {
5920
6130
  getComments(range: [number, number]): any[];
5921
6131
  isAsiPosition(pos: number): boolean;
5922
6132
  unsetAsiPosition(pos: number): void;
5923
- isStatementLevelExpression(expr?: any): boolean;
6133
+ isStatementLevelExpression(expr: Expression): boolean;
5924
6134
  getTagData(name?: any, tag?: any): any;
5925
6135
  tagVariable(name?: any, tag?: any, data?: any): void;
5926
6136
  defineVariable(name: string): void;
@@ -5964,19 +6174,22 @@ declare class JavascriptParser extends Parser {
5964
6174
  membersOptionals: boolean[];
5965
6175
  memberRanges: [number, number][];
5966
6176
  };
5967
- getFreeInfoFromVariable(varName: string): {
5968
- name: string;
5969
- info: string | VariableInfo;
5970
- };
6177
+ getFreeInfoFromVariable(
6178
+ varName: string
6179
+ ): undefined | { name: string; info: string | VariableInfo };
5971
6180
  getMemberExpressionInfo(
5972
6181
  expression: MemberExpression,
5973
6182
  allowedTypes: number
5974
6183
  ): undefined | CallExpressionInfo | ExpressionExpressionInfo;
5975
- getNameForExpression(expression: MemberExpression): {
5976
- name: string;
5977
- rootInfo: ExportedVariableInfo;
5978
- getMembers: () => string[];
5979
- };
6184
+ getNameForExpression(
6185
+ expression: MemberExpression
6186
+ ):
6187
+ | undefined
6188
+ | {
6189
+ name: string;
6190
+ rootInfo: ExportedVariableInfo;
6191
+ getMembers: () => string[];
6192
+ };
5980
6193
  static ALLOWED_MEMBER_TYPES_ALL: 3;
5981
6194
  static ALLOWED_MEMBER_TYPES_EXPRESSION: 2;
5982
6195
  static ALLOWED_MEMBER_TYPES_CALL_EXPRESSION: 1;
@@ -6013,6 +6226,11 @@ declare interface JavascriptParserOptions {
6013
6226
  */
6014
6227
  createRequire?: string | boolean;
6015
6228
 
6229
+ /**
6230
+ * Specifies global fetchPriority for dynamic import.
6231
+ */
6232
+ dynamicImportFetchPriority?: false | "auto" | "low" | "high";
6233
+
6016
6234
  /**
6017
6235
  * Specifies global mode for dynamic import.
6018
6236
  */
@@ -6682,14 +6900,45 @@ declare interface LibIdentOptions {
6682
6900
  associatedObjectForCache?: Object;
6683
6901
  }
6684
6902
  declare class LibManifestPlugin {
6685
- constructor(options?: any);
6686
- options: any;
6903
+ constructor(options: LibManifestPluginOptions);
6904
+ options: LibManifestPluginOptions;
6687
6905
 
6688
6906
  /**
6689
6907
  * Apply the plugin
6690
6908
  */
6691
6909
  apply(compiler: Compiler): void;
6692
6910
  }
6911
+ declare interface LibManifestPluginOptions {
6912
+ /**
6913
+ * Context of requests in the manifest file (defaults to the webpack context).
6914
+ */
6915
+ context?: string;
6916
+
6917
+ /**
6918
+ * If true, only entry points will be exposed (default: true).
6919
+ */
6920
+ entryOnly?: boolean;
6921
+
6922
+ /**
6923
+ * If true, manifest json file (output) will be formatted.
6924
+ */
6925
+ format?: boolean;
6926
+
6927
+ /**
6928
+ * Name of the exposed dll function (external name, use value of 'output.library').
6929
+ */
6930
+ name?: string;
6931
+
6932
+ /**
6933
+ * Absolute path to the manifest json file (output).
6934
+ */
6935
+ path: string;
6936
+
6937
+ /**
6938
+ * Type of the dll bundle (external type, use value of 'output.libraryTarget').
6939
+ */
6940
+ type?: string;
6941
+ }
6693
6942
  declare interface LibraryContext<T> {
6694
6943
  compilation: Compilation;
6695
6944
  chunkGraph: ChunkGraph;
@@ -6823,7 +7072,7 @@ declare interface LoadScriptCompilationHooks {
6823
7072
  createScript: SyncWaterfallHook<[string, Chunk]>;
6824
7073
  }
6825
7074
  declare class LoadScriptRuntimeModule extends HelperRuntimeModule {
6826
- constructor(withCreateScriptUrl?: boolean);
7075
+ constructor(withCreateScriptUrl?: boolean, withFetchPriority?: boolean);
6827
7076
  static getCompilationHooks(
6828
7077
  compilation: Compilation
6829
7078
  ): LoadScriptCompilationHooks;
@@ -7268,7 +7517,7 @@ declare class Module extends DependenciesBlock {
7268
7517
  needId: boolean;
7269
7518
  debugId: number;
7270
7519
  resolveOptions?: ResolveOptionsWebpackOptions;
7271
- factoryMeta?: object;
7520
+ factoryMeta?: FactoryMeta;
7272
7521
  useSourceMap: boolean;
7273
7522
  useSimpleSourceMap: boolean;
7274
7523
  buildMeta?: BuildMeta;
@@ -7279,9 +7528,9 @@ declare class Module extends DependenciesBlock {
7279
7528
  get hash(): string;
7280
7529
  get renderedHash(): string;
7281
7530
  profile: null | ModuleProfile;
7282
- index: number;
7283
- index2: number;
7284
- depth: number;
7531
+ index: null | number;
7532
+ index2: null | number;
7533
+ depth: null | number;
7285
7534
  issuer: null | Module;
7286
7535
  get usedExports(): null | boolean | SortableSet<string>;
7287
7536
  get optimizationBailout(): (
@@ -7301,7 +7550,7 @@ declare class Module extends DependenciesBlock {
7301
7550
  get moduleArgument(): string;
7302
7551
  getExportsType(
7303
7552
  moduleGraph: ModuleGraph,
7304
- strict: boolean
7553
+ strict?: boolean
7305
7554
  ): "namespace" | "default-only" | "default-with-named" | "dynamic";
7306
7555
  addPresentationalDependency(presentationalDependency: Dependency): void;
7307
7556
  addCodeGenerationDependency(codeGenerationDependency: Dependency): void;
@@ -7565,11 +7814,11 @@ declare class ModuleGraph {
7565
7814
  filterConnection: (arg0: ModuleGraphConnection) => boolean
7566
7815
  ): void;
7567
7816
  addExtraReason(module: Module, explanation: string): void;
7568
- getResolvedModule(dependency: Dependency): Module;
7817
+ getResolvedModule(dependency: Dependency): null | Module;
7569
7818
  getConnection(dependency: Dependency): undefined | ModuleGraphConnection;
7570
- getModule(dependency: Dependency): Module;
7571
- getOrigin(dependency: Dependency): Module;
7572
- getResolvedOrigin(dependency: Dependency): Module;
7819
+ getModule(dependency: Dependency): null | Module;
7820
+ getOrigin(dependency: Dependency): null | Module;
7821
+ getResolvedOrigin(dependency: Dependency): null | Module;
7573
7822
  getIncomingConnections(module: Module): Iterable<ModuleGraphConnection>;
7574
7823
  getOutgoingConnections(module: Module): Iterable<ModuleGraphConnection>;
7575
7824
  getIncomingConnectionsByOriginModule(
@@ -7598,19 +7847,19 @@ declare class ModuleGraph {
7598
7847
  module: Module,
7599
7848
  runtime: RuntimeSpec
7600
7849
  ): null | boolean | SortableSet<string>;
7601
- getPreOrderIndex(module: Module): number;
7602
- getPostOrderIndex(module: Module): number;
7850
+ getPreOrderIndex(module: Module): null | number;
7851
+ getPostOrderIndex(module: Module): null | number;
7603
7852
  setPreOrderIndex(module: Module, index: number): void;
7604
7853
  setPreOrderIndexIfUnset(module: Module, index: number): boolean;
7605
7854
  setPostOrderIndex(module: Module, index: number): void;
7606
7855
  setPostOrderIndexIfUnset(module: Module, index: number): boolean;
7607
- getDepth(module: Module): number;
7856
+ getDepth(module: Module): null | number;
7608
7857
  setDepth(module: Module, depth: number): void;
7609
7858
  setDepthIfLower(module: Module, depth: number): boolean;
7610
7859
  isAsync(module: Module): boolean;
7611
7860
  setAsync(module: Module): void;
7612
7861
  getMeta(thing?: any): Object;
7613
- getMetaIfExisting(thing?: any): Object;
7862
+ getMetaIfExisting(thing?: any): undefined | Object;
7614
7863
  freeze(cacheStage?: string): void;
7615
7864
  unfreeze(): void;
7616
7865
  cached<T extends any[], V>(
@@ -7651,11 +7900,11 @@ declare class ModuleGraphConnection {
7651
7900
  module: Module;
7652
7901
  weak: boolean;
7653
7902
  conditional: boolean;
7654
- condition: (
7903
+ condition?: (
7655
7904
  arg0: ModuleGraphConnection,
7656
7905
  arg1: RuntimeSpec
7657
7906
  ) => ConnectionState;
7658
- explanations: Set<string>;
7907
+ explanations?: Set<string>;
7659
7908
  clone(): ModuleGraphConnection;
7660
7909
  addCondition(
7661
7910
  condition: (
@@ -7686,7 +7935,7 @@ declare interface ModuleOptions {
7686
7935
  /**
7687
7936
  * An array of rules applied by default for modules.
7688
7937
  */
7689
- defaultRules?: (RuleSetRule | "...")[];
7938
+ defaultRules?: (undefined | null | false | "" | 0 | RuleSetRule | "...")[];
7690
7939
 
7691
7940
  /**
7692
7941
  * Enable warnings for full dynamic dependencies.
@@ -7726,7 +7975,7 @@ declare interface ModuleOptions {
7726
7975
  /**
7727
7976
  * An array of rules applied for modules.
7728
7977
  */
7729
- rules?: (RuleSetRule | "...")[];
7978
+ rules?: (undefined | null | false | "" | 0 | RuleSetRule | "...")[];
7730
7979
 
7731
7980
  /**
7732
7981
  * Emit errors instead of warnings when imported names don't exist in imported module. Deprecated: This option has moved to 'module.parser.javascript.strictExportPresence'.
@@ -7786,7 +8035,7 @@ declare interface ModuleOptionsNormalized {
7786
8035
  /**
7787
8036
  * An array of rules applied by default for modules.
7788
8037
  */
7789
- defaultRules: (RuleSetRule | "...")[];
8038
+ defaultRules: (undefined | null | false | "" | 0 | RuleSetRule | "...")[];
7790
8039
 
7791
8040
  /**
7792
8041
  * Specify options for each generator.
@@ -7806,7 +8055,7 @@ declare interface ModuleOptionsNormalized {
7806
8055
  /**
7807
8056
  * An array of rules applied for modules.
7808
8057
  */
7809
- rules: (RuleSetRule | "...")[];
8058
+ rules: (undefined | null | false | "" | 0 | RuleSetRule | "...")[];
7810
8059
 
7811
8060
  /**
7812
8061
  * Cache the resolving of module requests.
@@ -7840,7 +8089,7 @@ declare abstract class ModuleProfile {
7840
8089
  storingEndTime: number;
7841
8090
  storing: number;
7842
8091
  storingParallelismFactor: number;
7843
- additionalFactoryTimes: any;
8092
+ additionalFactoryTimes?: { start: number; end: number }[];
7844
8093
  additionalFactories: number;
7845
8094
  additionalFactoriesParallelismFactor: number;
7846
8095
  additionalIntegration: number;
@@ -7978,7 +8227,7 @@ declare abstract class MultiStats {
7978
8227
  declare abstract class MultiWatching {
7979
8228
  watchings: Watching[];
7980
8229
  compiler: MultiCompiler;
7981
- invalidate(callback?: any): void;
8230
+ invalidate(callback?: CallbackFunction<void>): void;
7982
8231
  suspend(): void;
7983
8232
  resume(): void;
7984
8233
  close(callback: CallbackFunction<void>): void;
@@ -8040,6 +8289,7 @@ declare class NoEmitOnErrorsPlugin {
8040
8289
  */
8041
8290
  apply(compiler: Compiler): void;
8042
8291
  }
8292
+ type Node = false | NodeOptions;
8043
8293
  declare class NodeEnvironmentPlugin {
8044
8294
  constructor(options: {
8045
8295
  /**
@@ -8059,81 +8309,6 @@ declare class NodeEnvironmentPlugin {
8059
8309
  */
8060
8310
  apply(compiler: Compiler): void;
8061
8311
  }
8062
- type NodeEstreeIndex =
8063
- | UnaryExpression
8064
- | ArrayExpression
8065
- | ArrowFunctionExpression
8066
- | AssignmentExpression
8067
- | AwaitExpression
8068
- | BinaryExpression
8069
- | SimpleCallExpression
8070
- | NewExpression
8071
- | ChainExpression
8072
- | ClassExpression
8073
- | ConditionalExpression
8074
- | FunctionExpression
8075
- | Identifier
8076
- | ImportExpression
8077
- | SimpleLiteral
8078
- | RegExpLiteral
8079
- | BigIntLiteral
8080
- | LogicalExpression
8081
- | MemberExpression
8082
- | MetaProperty
8083
- | ObjectExpression
8084
- | SequenceExpression
8085
- | TaggedTemplateExpression
8086
- | TemplateLiteral
8087
- | ThisExpression
8088
- | UpdateExpression
8089
- | YieldExpression
8090
- | FunctionDeclaration
8091
- | VariableDeclaration
8092
- | ClassDeclaration
8093
- | PrivateIdentifier
8094
- | ExpressionStatement
8095
- | BlockStatement
8096
- | StaticBlock
8097
- | EmptyStatement
8098
- | DebuggerStatement
8099
- | WithStatement
8100
- | ReturnStatement
8101
- | LabeledStatement
8102
- | BreakStatement
8103
- | ContinueStatement
8104
- | IfStatement
8105
- | SwitchStatement
8106
- | ThrowStatement
8107
- | TryStatement
8108
- | WhileStatement
8109
- | DoWhileStatement
8110
- | ForStatement
8111
- | ForInStatement
8112
- | ForOfStatement
8113
- | ImportDeclaration
8114
- | ExportNamedDeclaration
8115
- | ExportDefaultDeclaration
8116
- | ExportAllDeclaration
8117
- | MethodDefinition
8118
- | PropertyDefinition
8119
- | VariableDeclarator
8120
- | Program
8121
- | SwitchCase
8122
- | CatchClause
8123
- | ObjectPattern
8124
- | ArrayPattern
8125
- | RestElement
8126
- | AssignmentPattern
8127
- | SpreadElement
8128
- | Property
8129
- | AssignmentProperty
8130
- | ClassBody
8131
- | ImportSpecifier
8132
- | ImportDefaultSpecifier
8133
- | ImportNamespaceSpecifier
8134
- | ExportSpecifier
8135
- | Super
8136
- | TemplateElement;
8137
8312
 
8138
8313
  /**
8139
8314
  * Options object for node compatibility features.
@@ -8184,7 +8359,6 @@ declare interface NodeTemplatePluginOptions {
8184
8359
  */
8185
8360
  asyncChunkLoading?: boolean;
8186
8361
  }
8187
- type NodeWebpackOptions = false | NodeOptions;
8188
8362
  declare class NormalModule extends Module {
8189
8363
  constructor(__0: NormalModuleCreateData);
8190
8364
  request: string;
@@ -8604,6 +8778,11 @@ declare interface Optimization {
8604
8778
  * Minimizer(s) to use for minimizing the output.
8605
8779
  */
8606
8780
  minimizer?: (
8781
+ | undefined
8782
+ | null
8783
+ | false
8784
+ | ""
8785
+ | 0
8607
8786
  | ((this: Compiler, compiler: Compiler) => void)
8608
8787
  | WebpackPluginInstance
8609
8788
  | "..."
@@ -9678,6 +9857,11 @@ declare interface PitchLoaderDefinitionFunction<
9678
9857
  ): string | void | Buffer | Promise<string | Buffer>;
9679
9858
  }
9680
9859
  type Plugin =
9860
+ | undefined
9861
+ | null
9862
+ | false
9863
+ | ""
9864
+ | 0
9681
9865
  | { apply: (arg0: Resolver) => void }
9682
9866
  | ((this: Resolver, arg1: Resolver) => void);
9683
9867
  declare interface PnpApiImpl {
@@ -9900,6 +10084,7 @@ declare interface ProvidesObject {
9900
10084
  declare interface RawChunkGroupOptions {
9901
10085
  preloadOrder?: number;
9902
10086
  prefetchOrder?: number;
10087
+ fetchPriority?: "auto" | "low" | "high";
9903
10088
  }
9904
10089
  type RawLoaderDefinition<
9905
10090
  OptionsType = {},
@@ -10406,7 +10591,15 @@ declare interface ResolveOptionsWebpackOptions {
10406
10591
  /**
10407
10592
  * Plugins for the resolver.
10408
10593
  */
10409
- plugins?: (ResolvePluginInstance | "...")[];
10594
+ plugins?: (
10595
+ | undefined
10596
+ | null
10597
+ | false
10598
+ | ""
10599
+ | 0
10600
+ | ResolvePluginInstance
10601
+ | "..."
10602
+ )[];
10410
10603
 
10411
10604
  /**
10412
10605
  * Prefer to resolve server-relative URLs (starting with '/') as absolute paths before falling back to resolve in 'resolve.roots'.
@@ -10746,7 +10939,7 @@ declare interface RuleSetRule {
10746
10939
  /**
10747
10940
  * Only execute the first matching rule in this array.
10748
10941
  */
10749
- oneOf?: RuleSetRule[];
10942
+ oneOf?: (undefined | null | false | "" | 0 | RuleSetRule)[];
10750
10943
 
10751
10944
  /**
10752
10945
  * Shortcut for use.options.
@@ -10806,7 +10999,7 @@ declare interface RuleSetRule {
10806
10999
  /**
10807
11000
  * Match and execute these rules when this rule is matched.
10808
11001
  */
10809
- rules?: RuleSetRule[];
11002
+ rules?: (undefined | null | false | "" | 0 | RuleSetRule)[];
10810
11003
 
10811
11004
  /**
10812
11005
  * Match module scheme.
@@ -10843,14 +11036,52 @@ declare interface RuleSetRule {
10843
11036
  */
10844
11037
  use?:
10845
11038
  | string
10846
- | RuleSetUseItem[]
11039
+ | (
11040
+ | undefined
11041
+ | null
11042
+ | string
11043
+ | false
11044
+ | 0
11045
+ | {
11046
+ /**
11047
+ * Unique loader options identifier.
11048
+ */
11049
+ ident?: string;
11050
+ /**
11051
+ * Loader name.
11052
+ */
11053
+ loader?: string;
11054
+ /**
11055
+ * Loader options.
11056
+ */
11057
+ options?: string | { [index: string]: any };
11058
+ }
11059
+ | ((data: object) =>
11060
+ | string
11061
+ | {
11062
+ /**
11063
+ * Unique loader options identifier.
11064
+ */
11065
+ ident?: string;
11066
+ /**
11067
+ * Loader name.
11068
+ */
11069
+ loader?: string;
11070
+ /**
11071
+ * Loader options.
11072
+ */
11073
+ options?: string | { [index: string]: any };
11074
+ }
11075
+ | __TypeWebpackOptions
11076
+ | __Type_2[])
11077
+ )[]
10847
11078
  | ((data: {
10848
11079
  resource: string;
10849
11080
  realResource: string;
10850
11081
  resourceQuery: string;
10851
11082
  issuer: string;
10852
11083
  compiler: string;
10853
- }) => RuleSetUseItem[])
11084
+ }) => __Type_2[])
10854
11085
  | {
10855
11086
  /**
10856
11087
  * Unique loader options identifier.
@@ -10865,35 +11096,56 @@ declare interface RuleSetRule {
10865
11096
  */
10866
11097
  options?: string | { [index: string]: any };
10867
11098
  }
10868
- | ((data: object) =>
10869
- | string
10870
- | {
10871
- /**
10872
- * Unique loader options identifier.
10873
- */
10874
- ident?: string;
10875
- /**
10876
- * Loader name.
10877
- */
10878
- loader?: string;
10879
- /**
10880
- * Loader options.
10881
- */
10882
- options?: string | { [index: string]: any };
10883
- }
10884
- | __TypeWebpackOptions
10885
- | RuleSetUseItem[]);
11099
+ | __TypeWebpackOptions;
10886
11100
  }
10887
11101
  type RuleSetUse =
10888
11102
  | string
10889
- | RuleSetUseItem[]
11103
+ | (
11104
+ | undefined
11105
+ | null
11106
+ | string
11107
+ | false
11108
+ | 0
11109
+ | {
11110
+ /**
11111
+ * Unique loader options identifier.
11112
+ */
11113
+ ident?: string;
11114
+ /**
11115
+ * Loader name.
11116
+ */
11117
+ loader?: string;
11118
+ /**
11119
+ * Loader options.
11120
+ */
11121
+ options?: string | { [index: string]: any };
11122
+ }
11123
+ | ((data: object) =>
11124
+ | string
11125
+ | {
11126
+ /**
11127
+ * Unique loader options identifier.
11128
+ */
11129
+ ident?: string;
11130
+ /**
11131
+ * Loader name.
11132
+ */
11133
+ loader?: string;
11134
+ /**
11135
+ * Loader options.
11136
+ */
11137
+ options?: string | { [index: string]: any };
11138
+ }
11139
+ | __TypeWebpackOptions
11140
+ | __Type_2[])
11141
+ )[]
10890
11142
  | ((data: {
10891
11143
  resource: string;
10892
11144
  realResource: string;
10893
11145
  resourceQuery: string;
10894
11146
  issuer: string;
10895
11147
  compiler: string;
10896
- }) => RuleSetUseItem[])
11148
+ }) => __Type_2[])
10897
11149
  | {
10898
11150
  /**
10899
11151
  * Unique loader options identifier.
@@ -10946,8 +11198,8 @@ declare class RuntimeModule extends Module {
10946
11198
  fullHash: boolean;
10947
11199
  dependentHash: boolean;
10948
11200
  attach(compilation: Compilation, chunk: Chunk, chunkGraph?: ChunkGraph): void;
10949
- generate(): string;
10950
- getGeneratedCode(): string;
11201
+ generate(): null | string;
11202
+ getGeneratedCode(): null | string;
10951
11203
  shouldIsolate(): boolean;
10952
11204
 
10953
11205
  /**
@@ -10984,20 +11236,20 @@ declare interface RuntimeRequirementsContext {
10984
11236
  type RuntimeSpec = undefined | string | SortableSet<string>;
10985
11237
  declare class RuntimeSpecMap<T> {
10986
11238
  constructor(clone?: RuntimeSpecMap<T>);
10987
- get(runtime: RuntimeSpec): T;
11239
+ get(runtime: RuntimeSpec): undefined | T;
10988
11240
  has(runtime: RuntimeSpec): boolean;
10989
11241
  set(runtime?: any, value?: any): void;
10990
11242
  provide(runtime?: any, computer?: any): any;
10991
- delete(runtime?: any): void;
11243
+ delete(runtime: RuntimeSpec): void;
10992
11244
  update(runtime?: any, fn?: any): void;
10993
11245
  keys(): RuntimeSpec[];
10994
11246
  values(): IterableIterator<T>;
10995
11247
  get size(): number;
10996
11248
  }
10997
11249
  declare class RuntimeSpecSet {
10998
- constructor(iterable?: any);
10999
- add(runtime?: any): void;
11000
- has(runtime?: any): boolean;
11250
+ constructor(iterable?: Iterable<RuntimeSpec>);
11251
+ add(runtime: RuntimeSpec): void;
11252
+ has(runtime: RuntimeSpec): boolean;
11001
11253
  get size(): number;
11002
11254
  [Symbol.iterator](): IterableIterator<RuntimeSpec>;
11003
11255
  }
@@ -11127,7 +11379,7 @@ declare abstract class RuntimeTemplate {
11127
11379
  /**
11128
11380
  * the module
11129
11381
  */
11130
- module: Module;
11382
+ module: null | Module;
11131
11383
  /**
11132
11384
  * the chunk graph
11133
11385
  */
@@ -11149,7 +11401,7 @@ declare abstract class RuntimeTemplate {
11149
11401
  /**
11150
11402
  * the module
11151
11403
  */
11152
- module: Module;
11404
+ module: null | Module;
11153
11405
  /**
11154
11406
  * the chunk graph
11155
11407
  */
@@ -11448,9 +11700,10 @@ declare interface ScopeInfo {
11448
11700
  definitions: StackedMap<string, ScopeInfo | VariableInfo>;
11449
11701
  topLevelScope: boolean | "arrow";
11450
11702
  inShorthand: string | boolean;
11703
+ inTaggedTemplateTag: boolean;
11704
+ inTry: boolean;
11451
11705
  isStrict: boolean;
11452
11706
  isAsmJs: boolean;
11453
- inTry: boolean;
11454
11707
  }
11455
11708
  declare interface Selector<A, B> {
11456
11709
  (input: A): B;
@@ -12718,7 +12971,7 @@ declare interface UserResolveOptions {
12718
12971
  }
12719
12972
  declare abstract class VariableInfo {
12720
12973
  declaredScope: ScopeInfo;
12721
- freeName: string | true;
12974
+ freeName?: string | true;
12722
12975
  tagInfo?: TagInfo;
12723
12976
  }
12724
12977
  declare interface VariableInfoInterface {
@@ -12946,12 +13199,12 @@ declare class WebpackError extends Error {
12946
13199
  * Creates an instance of WebpackError.
12947
13200
  */
12948
13201
  constructor(message?: string);
12949
- details: any;
12950
- module: Module;
12951
- loc: DependencyLocation;
12952
- hideStack: boolean;
12953
- chunk: Chunk;
12954
- file: string;
13202
+ details?: string;
13203
+ module?: null | Module;
13204
+ loc?: SyntheticDependencyLocation | RealDependencyLocation;
13205
+ hideStack?: boolean;
13206
+ chunk?: Chunk;
13207
+ file?: string;
12955
13208
  serialize(__0: ObjectSerializerContext): void;
12956
13209
  deserialize(__0: ObjectDeserializerContext): void;
12957
13210
 
@@ -12999,7 +13252,7 @@ declare class WebpackOptionsApply extends OptionsApply {
12999
13252
  }
13000
13253
  declare class WebpackOptionsDefaulter {
13001
13254
  constructor();
13002
- process(options?: any): any;
13255
+ process(options: Configuration): WebpackOptionsNormalized;
13003
13256
  }
13004
13257
 
13005
13258
  /**
@@ -13123,7 +13376,7 @@ declare interface WebpackOptionsNormalized {
13123
13376
  /**
13124
13377
  * Include polyfills or mocks for various node stuff.
13125
13378
  */
13126
- node: NodeWebpackOptions;
13379
+ node: Node;
13127
13380
 
13128
13381
  /**
13129
13382
  * Enables/Disables integrated optimizations.
@@ -13149,6 +13402,11 @@ declare interface WebpackOptionsNormalized {
13149
13402
  * Add additional plugins to the compiler.
13150
13403
  */
13151
13404
  plugins: (
13405
+ | undefined
13406
+ | null
13407
+ | false
13408
+ | ""
13409
+ | 0
13152
13410
  | ((this: Compiler, compiler: Compiler) => void)
13153
13411
  | WebpackPluginInstance
13154
13412
  )[];
@@ -13246,7 +13504,45 @@ type __TypeWebpackOptions = (data: object) =>
13246
13504
  options?: string | { [index: string]: any };
13247
13505
  }
13248
13506
  | __TypeWebpackOptions
13249
- | RuleSetUseItem[];
13507
+ | __Type_2[];
13508
+ type __Type_2 =
13509
+ | undefined
13510
+ | null
13511
+ | string
13512
+ | false
13513
+ | 0
13514
+ | {
13515
+ /**
13516
+ * Unique loader options identifier.
13517
+ */
13518
+ ident?: string;
13519
+ /**
13520
+ * Loader name.
13521
+ */
13522
+ loader?: string;
13523
+ /**
13524
+ * Loader options.
13525
+ */
13526
+ options?: string | { [index: string]: any };
13527
+ }
13528
+ | ((data: object) =>
13529
+ | string
13530
+ | {
13531
+ /**
13532
+ * Unique loader options identifier.
13533
+ */
13534
+ ident?: string;
13535
+ /**
13536
+ * Loader name.
13537
+ */
13538
+ loader?: string;
13539
+ /**
13540
+ * Loader options.
13541
+ */
13542
+ options?: string | { [index: string]: any };
13543
+ }
13544
+ | __TypeWebpackOptions
13545
+ | __Type_2[]);
13250
13546
  declare function exports(
13251
13547
  options: Configuration,
13252
13548
  callback?: CallbackWebpack<Stats>
@@ -13374,6 +13670,7 @@ declare namespace exports {
13374
13670
  export let createScript: "__webpack_require__.ts";
13375
13671
  export let createScriptUrl: "__webpack_require__.tu";
13376
13672
  export let getTrustedTypesPolicy: "__webpack_require__.tt";
13673
+ export let hasFetchPriority: "has fetch priority";
13377
13674
  export let chunkName: "__webpack_require__.cn";
13378
13675
  export let runtimeId: "__webpack_require__.j";
13379
13676
  export let getChunkScriptFilename: "__webpack_require__.u";
@@ -13494,7 +13791,7 @@ declare namespace exports {
13494
13791
  ) => boolean;
13495
13792
  export let getDependencyUsedByExportsCondition: (
13496
13793
  dependency: Dependency,
13497
- usedByExports: boolean | Set<string>,
13794
+ usedByExports: undefined | boolean | Set<string>,
13498
13795
  moduleGraph: ModuleGraph
13499
13796
  ) =>
13500
13797
  | null
@@ -13684,7 +13981,7 @@ declare namespace exports {
13684
13981
  export const register: (
13685
13982
  Constructor: Constructor,
13686
13983
  request: string,
13687
- name: string,
13984
+ name: null | string,
13688
13985
  serializer: ObjectSerializer
13689
13986
  ) => void;
13690
13987
  export const registerLoader: (