webpack 5.106.0 → 5.106.2
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.
- package/lib/APIPlugin.js +3 -1
- package/lib/AbstractMethodError.js +10 -1
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AsyncDependencyToInitialChunkError.js +6 -1
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +10 -1
- package/lib/Cache.js +26 -1
- package/lib/CacheFacade.js +26 -0
- package/lib/CaseSensitiveModulesWarning.js +9 -1
- package/lib/Chunk.js +46 -0
- package/lib/ChunkGraph.js +111 -0
- package/lib/ChunkGroup.js +57 -13
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CleanPlugin.js +14 -1
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CommentCompilationWarning.js +6 -0
- package/lib/CompatibilityPlugin.js +15 -1
- package/lib/Compilation.js +127 -1
- package/lib/Compiler.js +37 -4
- package/lib/ConcatenationScope.js +24 -1
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +4 -1
- package/lib/ContextExclusionPlugin.js +2 -1
- package/lib/ContextModule.js +12 -0
- package/lib/ContextModuleFactory.js +10 -0
- package/lib/ContextReplacementPlugin.js +4 -1
- package/lib/CssModule.js +6 -0
- package/lib/DefinePlugin.js +20 -7
- package/lib/DelegatedModule.js +13 -0
- package/lib/DelegatedModuleFactoryPlugin.js +3 -0
- package/lib/DelegatedPlugin.js +2 -1
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +26 -3
- package/lib/DependencyTemplate.js +5 -0
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DllEntryPlugin.js +2 -1
- package/lib/DllModule.js +11 -0
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +2 -1
- package/lib/DllReferencePlugin.js +11 -6
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +3 -0
- package/lib/EntryPlugin.js +2 -1
- package/lib/Entrypoint.js +4 -0
- package/lib/EnvironmentPlugin.js +2 -1
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +3 -1
- package/lib/ExportsInfo.js +56 -2
- package/lib/ExportsInfoApiPlugin.js +2 -1
- package/lib/ExternalModule.js +38 -0
- package/lib/ExternalModuleFactoryPlugin.js +10 -0
- package/lib/ExternalsPlugin.js +2 -1
- package/lib/FileSystemInfo.js +105 -0
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
- package/lib/FlagDependencyExportsPlugin.js +4 -1
- package/lib/FlagDependencyUsagePlugin.js +5 -1
- package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
- package/lib/Generator.js +13 -0
- package/lib/GraphHelpers.js +3 -0
- package/lib/HookWebpackError.js +6 -0
- package/lib/HotModuleReplacementPlugin.js +9 -1
- package/lib/IgnoreErrorModuleFactory.js +2 -0
- package/lib/IgnorePlugin.js +2 -1
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +10 -0
- package/lib/InvalidDependenciesModuleWarning.js +1 -0
- package/lib/JavascriptMetaInfoPlugin.js +2 -1
- package/lib/LibManifestPlugin.js +4 -1
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +2 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +82 -4
- package/lib/ModuleBuildError.js +3 -0
- package/lib/ModuleDependencyWarning.js +1 -0
- package/lib/ModuleError.js +2 -0
- package/lib/ModuleFactory.js +5 -0
- package/lib/ModuleFilenameHelpers.js +3 -0
- package/lib/ModuleGraph.js +66 -0
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +1 -0
- package/lib/ModuleParseError.js +3 -0
- package/lib/ModuleRestoreError.js +1 -0
- package/lib/ModuleSourceTypeConstants.js +1 -0
- package/lib/ModuleStoreError.js +1 -0
- package/lib/ModuleTemplate.js +8 -0
- package/lib/ModuleWarning.js +3 -0
- package/lib/MultiCompiler.js +28 -0
- package/lib/MultiStats.js +8 -0
- package/lib/MultiWatching.js +3 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffInWebError.js +1 -0
- package/lib/NodeStuffPlugin.js +10 -1
- package/lib/NormalModule.js +30 -2
- package/lib/NormalModuleFactory.js +25 -0
- package/lib/NormalModuleReplacementPlugin.js +1 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +2 -0
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +2 -1
- package/lib/ProgressPlugin.js +29 -12
- package/lib/ProvidePlugin.js +3 -1
- package/lib/RawModule.js +12 -0
- package/lib/RecordIdsPlugin.js +8 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/RequireJsStuffPlugin.js +2 -1
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +1 -0
- package/lib/RuntimeModule.js +13 -0
- package/lib/RuntimePlugin.js +2 -0
- package/lib/RuntimeTemplate.js +35 -1
- package/lib/SelfModuleFactory.js +2 -0
- package/lib/SizeFormatHelpers.js +1 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +3 -1
- package/lib/Stats.js +5 -0
- package/lib/Template.js +20 -0
- package/lib/TemplatedPathPlugin.js +10 -3
- package/lib/UnhandledSchemeError.js +6 -0
- package/lib/UnsupportedFeatureWarning.js +1 -0
- package/lib/UseStrictPlugin.js +2 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +4 -1
- package/lib/Watching.js +14 -0
- package/lib/WebpackError.js +3 -0
- package/lib/WebpackIsIncludedPlugin.js +2 -0
- package/lib/WebpackOptionsApply.js +1 -0
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +6 -0
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +20 -2
- package/lib/asset/AssetModulesPlugin.js +4 -1
- package/lib/asset/AssetParser.js +2 -0
- package/lib/asset/AssetSourceGenerator.js +6 -0
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +11 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/buildChunkGraph.js +15 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
- package/lib/cache/AddManagedPathsPlugin.js +2 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
- package/lib/cache/PackFileCacheStrategy.js +29 -0
- package/lib/cache/ResolverCachePlugin.js +10 -1
- package/lib/cache/getLazyHashedEtag.js +4 -0
- package/lib/cache/mergeEtags.js +2 -0
- package/lib/cli.js +30 -0
- package/lib/config/browserslistTargetHandler.js +2 -0
- package/lib/config/defaults.js +35 -2
- package/lib/config/normalization.js +12 -0
- package/lib/config/target.js +11 -0
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +12 -0
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +4 -0
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +2 -1
- package/lib/container/FallbackDependency.js +4 -0
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +12 -0
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +3 -1
- package/lib/container/RemoteModule.js +13 -0
- package/lib/container/RemoteRuntimeModule.js +1 -0
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +35 -14
- package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
- package/lib/css/CssLoadingRuntimeModule.js +1 -0
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
- package/lib/css/CssModulesPlugin.js +69 -3
- package/lib/css/CssParser.js +71 -1
- package/lib/css/walkCssTokens.js +31 -0
- package/lib/debug/ProfilingPlugin.js +19 -1
- package/lib/dependencies/AMDDefineDependency.js +7 -0
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
- package/lib/dependencies/AMDPlugin.js +4 -1
- package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
- package/lib/dependencies/AMDRequireContextDependency.js +3 -0
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +13 -0
- package/lib/dependencies/AMDRequireDependency.js +4 -0
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +6 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
- package/lib/dependencies/CommonJsExportsDependency.js +4 -0
- package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
- package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
- package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
- package/lib/dependencies/CommonJsPlugin.js +4 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
- package/lib/dependencies/CommonJsRequireDependency.js +3 -0
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
- package/lib/dependencies/ConstDependency.js +6 -1
- package/lib/dependencies/ContextDependency.js +8 -1
- package/lib/dependencies/ContextDependencyHelpers.js +3 -0
- package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +4 -0
- package/lib/dependencies/CreateRequireParserPlugin.js +6 -0
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
- package/lib/dependencies/CriticalDependencyWarning.js +1 -0
- package/lib/dependencies/CssIcssExportDependency.js +11 -3
- package/lib/dependencies/CssIcssImportDependency.js +4 -1
- package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
- package/lib/dependencies/CssImportDependency.js +4 -0
- package/lib/dependencies/CssUrlDependency.js +7 -0
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +3 -0
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportsInfoDependency.js +6 -0
- package/lib/dependencies/ExternalModuleDependency.js +5 -0
- package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +3 -0
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
- package/lib/dependencies/HarmonyExportExpressionDependency.js +14 -5
- package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
- package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
- package/lib/dependencies/HarmonyExports.js +2 -0
- package/lib/dependencies/HarmonyImportDependency.js +11 -0
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
- package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
- package/lib/dependencies/ImportContextDependency.js +4 -0
- package/lib/dependencies/ImportDependency.js +5 -0
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +3 -0
- package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
- package/lib/dependencies/ImportMetaPlugin.js +6 -0
- package/lib/dependencies/ImportParserPlugin.js +7 -0
- package/lib/dependencies/ImportPhase.js +6 -2
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +2 -0
- package/lib/dependencies/JsonExportsDependency.js +6 -1
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +2 -0
- package/lib/dependencies/LoaderPlugin.js +4 -1
- package/lib/dependencies/LocalModule.js +4 -0
- package/lib/dependencies/LocalModuleDependency.js +4 -0
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
- package/lib/dependencies/ModuleDependency.js +7 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +6 -1
- package/lib/dependencies/PureExpressionDependency.js +7 -1
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
- package/lib/dependencies/RequireEnsureDependency.js +4 -0
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +4 -0
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/dependencies/RequireResolveContextDependency.js +3 -0
- package/lib/dependencies/RequireResolveDependency.js +1 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
- package/lib/dependencies/StaticExportsDependency.js +3 -0
- package/lib/dependencies/SystemPlugin.js +4 -1
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/URLContextDependency.js +3 -0
- package/lib/dependencies/URLDependency.js +6 -0
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyImportDependency.js +4 -1
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
- package/lib/dependencies/WorkerDependency.js +6 -1
- package/lib/dependencies/WorkerPlugin.js +9 -1
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +1 -0
- package/lib/electron/ElectronTargetPlugin.js +2 -1
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +5 -1
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
- package/lib/formatLocation.js +2 -0
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +20 -1
- package/lib/hmr/lazyCompilationBackend.js +2 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +20 -0
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +5 -0
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
- package/lib/javascript/BasicEvaluatedExpression.js +4 -2
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
- package/lib/javascript/JavascriptGenerator.js +10 -0
- package/lib/javascript/JavascriptModulesPlugin.js +23 -1
- package/lib/javascript/JavascriptParser.js +163 -0
- package/lib/javascript/JavascriptParserHelpers.js +6 -0
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +8 -10
- package/lib/library/AbstractLibraryPlugin.js +16 -1
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +16 -0
- package/lib/library/EnableLibraryPlugin.js +7 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +12 -1
- package/lib/library/SystemLibraryPlugin.js +8 -0
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +3 -1
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +2 -1
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +2 -0
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
- package/lib/node/nodeConsole.js +3 -0
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +11 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
- package/lib/optimize/InnerGraph.js +15 -0
- package/lib/optimize/InnerGraphPlugin.js +3 -1
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +1 -0
- package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
- package/lib/optimize/RealContentHashPlugin.js +16 -1
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +7 -1
- package/lib/optimize/SplitChunksPlugin.js +49 -1
- package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
- package/lib/performance/SizeLimitsPlugin.js +7 -1
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +6 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +18 -0
- package/lib/rules/UseEffectRulePlugin.js +6 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
- package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +2 -0
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
- package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +43 -1
- package/lib/schemes/VirtualUrlPlugin.js +6 -1
- package/lib/serialization/AggregateErrorSerializer.js +2 -0
- package/lib/serialization/ArraySerializer.js +2 -0
- package/lib/serialization/BinaryMiddleware.js +20 -1
- package/lib/serialization/DateObjectSerializer.js +2 -0
- package/lib/serialization/ErrorObjectSerializer.js +3 -0
- package/lib/serialization/FileMiddleware.js +21 -0
- package/lib/serialization/MapObjectSerializer.js +2 -0
- package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
- package/lib/serialization/ObjectMiddleware.js +23 -0
- package/lib/serialization/PlainObjectSerializer.js +7 -0
- package/lib/serialization/RegExpObjectSerializer.js +2 -0
- package/lib/serialization/Serializer.js +5 -0
- package/lib/serialization/SerializerMiddleware.js +12 -0
- package/lib/serialization/SetObjectSerializer.js +2 -0
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +15 -0
- package/lib/sharing/ConsumeSharedPlugin.js +6 -1
- package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +4 -0
- package/lib/sharing/ProvideSharedModule.js +11 -0
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +4 -1
- package/lib/sharing/SharePlugin.js +2 -1
- package/lib/sharing/ShareRuntimeModule.js +1 -0
- package/lib/sharing/resolveMatchedConfigs.js +3 -0
- package/lib/sharing/utils.js +8 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
- package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
- package/lib/stats/StatsFactory.js +12 -0
- package/lib/stats/StatsPrinter.js +7 -0
- package/lib/url/URLParserPlugin.js +6 -0
- package/lib/util/AppendOnlyStackedSet.js +15 -0
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +20 -0
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +21 -0
- package/lib/util/LazySet.js +39 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +14 -1
- package/lib/util/SetHelpers.js +3 -0
- package/lib/util/SortableSet.js +6 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +45 -0
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +13 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +33 -0
- package/lib/util/binarySearchBounds.js +1 -0
- package/lib/util/cleverMerge.js +17 -0
- package/lib/util/comparators.js +31 -0
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +6 -0
- package/lib/util/conventions.js +4 -0
- package/lib/util/dataURL.js +1 -0
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +20 -0
- package/lib/util/extractSourceMap.js +1 -0
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +5 -0
- package/lib/util/fs.js +63 -0
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/hash-digest.js +8 -0
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/identifier.js +19 -0
- package/lib/util/magicComment.js +1 -0
- package/lib/util/makeSerializable.js +6 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +1 -0
- package/lib/util/parseJson.js +112 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +1 -0
- package/lib/util/registerExternalSerializer.js +20 -0
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +2 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +1 -0
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +10 -1
- package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
- package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
- package/lib/wasm-sync/WebAssemblyParser.js +2 -0
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
- package/lib/web/FetchCompileWasmPlugin.js +13 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +10 -0
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/package.json +12 -14
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +44 -55
- package/types.d.ts +4594 -331
|
@@ -38,6 +38,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
38
38
|
/** @typedef {import("../util/deterministicGrouping").Sizes} Sizes */
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
+
* Defines the chunk filter fn callback.
|
|
41
42
|
* @callback ChunkFilterFn
|
|
42
43
|
* @param {Chunk} chunk
|
|
43
44
|
* @returns {boolean | undefined}
|
|
@@ -49,6 +50,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
49
50
|
/** @typedef {number} CountOfRequest */
|
|
50
51
|
|
|
51
52
|
/**
|
|
53
|
+
* Defines the combine size function callback.
|
|
52
54
|
* @callback CombineSizeFunction
|
|
53
55
|
* @param {Size} a
|
|
54
56
|
* @param {Size} b
|
|
@@ -60,6 +62,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
60
62
|
/** @typedef {Record<SourceType, Size>} SplitChunksSizes */
|
|
61
63
|
|
|
62
64
|
/**
|
|
65
|
+
* Defines the cache group source type used by this module.
|
|
63
66
|
* @typedef {object} CacheGroupSource
|
|
64
67
|
* @property {string} key
|
|
65
68
|
* @property {Priority=} priority
|
|
@@ -83,6 +86,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
83
86
|
*/
|
|
84
87
|
|
|
85
88
|
/**
|
|
89
|
+
* Defines the cache group type used by this module.
|
|
86
90
|
* @typedef {object} CacheGroup
|
|
87
91
|
* @property {string} key
|
|
88
92
|
* @property {Priority} priority
|
|
@@ -109,6 +113,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
109
113
|
*/
|
|
110
114
|
|
|
111
115
|
/**
|
|
116
|
+
* Defines the fallback cache group type used by this module.
|
|
112
117
|
* @typedef {object} FallbackCacheGroup
|
|
113
118
|
* @property {ChunkFilterFn} chunksFilter
|
|
114
119
|
* @property {SplitChunksSizes} minSize
|
|
@@ -118,6 +123,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
118
123
|
*/
|
|
119
124
|
|
|
120
125
|
/**
|
|
126
|
+
* Defines the cache groups context type used by this module.
|
|
121
127
|
* @typedef {object} CacheGroupsContext
|
|
122
128
|
* @property {ModuleGraph} moduleGraph
|
|
123
129
|
* @property {ChunkGraph} chunkGraph
|
|
@@ -126,6 +132,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
126
132
|
/** @typedef {(module: Module) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void} RawGetCacheGroups */
|
|
127
133
|
|
|
128
134
|
/**
|
|
135
|
+
* Defines the get cache groups callback.
|
|
129
136
|
* @callback GetCacheGroups
|
|
130
137
|
* @param {Module} module
|
|
131
138
|
* @param {CacheGroupsContext} context
|
|
@@ -133,6 +140,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
133
140
|
*/
|
|
134
141
|
|
|
135
142
|
/**
|
|
143
|
+
* Defines the get name fn callback.
|
|
136
144
|
* @callback GetNameFn
|
|
137
145
|
* @param {Module} module
|
|
138
146
|
* @param {Chunk[]} chunks
|
|
@@ -141,6 +149,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
141
149
|
*/
|
|
142
150
|
|
|
143
151
|
/**
|
|
152
|
+
* Defines the split chunks options type used by this module.
|
|
144
153
|
* @typedef {object} SplitChunksOptions
|
|
145
154
|
* @property {ChunkFilterFn} chunksFilter
|
|
146
155
|
* @property {DefaultSizeTypes} defaultSizeTypes
|
|
@@ -165,6 +174,7 @@ const MinMaxSizeWarning = require("./MinMaxSizeWarning");
|
|
|
165
174
|
/** @typedef {Set<Chunk>} ChunkSet */
|
|
166
175
|
|
|
167
176
|
/**
|
|
177
|
+
* Defines the chunks info item type used by this module.
|
|
168
178
|
* @typedef {object} ChunksInfoItem
|
|
169
179
|
* @property {SortableSet<Module>} modules
|
|
170
180
|
* @property {CacheGroup} cacheGroup
|
|
@@ -187,6 +197,7 @@ const deterministicGroupingForModules =
|
|
|
187
197
|
const getKeyCache = new WeakMap();
|
|
188
198
|
|
|
189
199
|
/**
|
|
200
|
+
* Returns hashed filename.
|
|
190
201
|
* @param {string} name a filename to hash
|
|
191
202
|
* @param {OutputOptions} outputOptions hash function used
|
|
192
203
|
* @returns {string} hashed filename
|
|
@@ -203,6 +214,7 @@ const hashFilename = (name, outputOptions) => {
|
|
|
203
214
|
};
|
|
204
215
|
|
|
205
216
|
/**
|
|
217
|
+
* Returns the number of requests.
|
|
206
218
|
* @param {Chunk} chunk the chunk
|
|
207
219
|
* @returns {CountOfRequest} the number of requests
|
|
208
220
|
*/
|
|
@@ -215,6 +227,7 @@ const getRequests = (chunk) => {
|
|
|
215
227
|
};
|
|
216
228
|
|
|
217
229
|
/**
|
|
230
|
+
* Returns result.
|
|
218
231
|
* @template {object} T
|
|
219
232
|
* @template {object} R
|
|
220
233
|
* @param {T} obj obj an object
|
|
@@ -235,6 +248,7 @@ const mapObject = (obj, fn) => {
|
|
|
235
248
|
};
|
|
236
249
|
|
|
237
250
|
/**
|
|
251
|
+
* Checks whether this object is overlap.
|
|
238
252
|
* @template T
|
|
239
253
|
* @param {Set<T>} a set
|
|
240
254
|
* @param {Set<T>} b other set
|
|
@@ -250,6 +264,7 @@ const isOverlap = (a, b) => {
|
|
|
250
264
|
const compareModuleIterables = compareIterables(compareModulesByIdentifier);
|
|
251
265
|
|
|
252
266
|
/**
|
|
267
|
+
* Compares the provided values and returns their ordering.
|
|
253
268
|
* @param {ChunksInfoItem} a item
|
|
254
269
|
* @param {ChunksInfoItem} b item
|
|
255
270
|
* @returns {number} compare result
|
|
@@ -281,22 +296,26 @@ const compareEntries = (a, b) => {
|
|
|
281
296
|
};
|
|
282
297
|
|
|
283
298
|
/**
|
|
299
|
+
* Initial chunk filter.
|
|
284
300
|
* @param {Chunk} chunk the chunk
|
|
285
301
|
* @returns {boolean} true, if the chunk is an entry chunk
|
|
286
302
|
*/
|
|
287
303
|
const INITIAL_CHUNK_FILTER = (chunk) => chunk.canBeInitial();
|
|
288
304
|
/**
|
|
305
|
+
* Async chunk filter.
|
|
289
306
|
* @param {Chunk} chunk the chunk
|
|
290
307
|
* @returns {boolean} true, if the chunk is an async chunk
|
|
291
308
|
*/
|
|
292
309
|
const ASYNC_CHUNK_FILTER = (chunk) => !chunk.canBeInitial();
|
|
293
310
|
/**
|
|
311
|
+
* Returns always true.
|
|
294
312
|
* @param {Chunk} _chunk the chunk
|
|
295
313
|
* @returns {boolean} always true
|
|
296
314
|
*/
|
|
297
315
|
const ALL_CHUNK_FILTER = (_chunk) => true;
|
|
298
316
|
|
|
299
317
|
/**
|
|
318
|
+
* Returns normalized representation.
|
|
300
319
|
* @param {OptimizationSplitChunksSizes | undefined} value the sizes
|
|
301
320
|
* @param {DefaultSizeTypes} defaultSizeTypes the default size types
|
|
302
321
|
* @returns {SplitChunksSizes} normalized representation
|
|
@@ -314,6 +333,7 @@ const normalizeSizes = (value, defaultSizeTypes) => {
|
|
|
314
333
|
};
|
|
315
334
|
|
|
316
335
|
/**
|
|
336
|
+
* Merges the provided values into a single result.
|
|
317
337
|
* @param {...(SplitChunksSizes | undefined)} sizes the sizes
|
|
318
338
|
* @returns {SplitChunksSizes} the merged sizes
|
|
319
339
|
*/
|
|
@@ -327,6 +347,7 @@ const mergeSizes = (...sizes) => {
|
|
|
327
347
|
};
|
|
328
348
|
|
|
329
349
|
/**
|
|
350
|
+
* Checks whether this object contains the size.
|
|
330
351
|
* @param {SplitChunksSizes} sizes the sizes
|
|
331
352
|
* @returns {boolean} true, if there are sizes > 0
|
|
332
353
|
*/
|
|
@@ -338,6 +359,7 @@ const hasNonZeroSizes = (sizes) => {
|
|
|
338
359
|
};
|
|
339
360
|
|
|
340
361
|
/**
|
|
362
|
+
* Returns the combine sizes.
|
|
341
363
|
* @param {SplitChunksSizes} a first sizes
|
|
342
364
|
* @param {SplitChunksSizes} b second sizes
|
|
343
365
|
* @param {CombineSizeFunction} combine a function to combine sizes
|
|
@@ -360,6 +382,7 @@ const combineSizes = (a, b, combine) => {
|
|
|
360
382
|
};
|
|
361
383
|
|
|
362
384
|
/**
|
|
385
|
+
* Checks true if there are sizes and all existing sizes are at least minSize.
|
|
363
386
|
* @param {SplitChunksSizes} sizes the sizes
|
|
364
387
|
* @param {SplitChunksSizes} minSize the min sizes
|
|
365
388
|
* @returns {boolean} true if there are sizes and all existing sizes are at least `minSize`
|
|
@@ -374,6 +397,7 @@ const checkMinSize = (sizes, minSize) => {
|
|
|
374
397
|
};
|
|
375
398
|
|
|
376
399
|
/**
|
|
400
|
+
* Checks min size reduction.
|
|
377
401
|
* @param {SplitChunksSizes} sizes the sizes
|
|
378
402
|
* @param {SplitChunksSizes} minSizeReduction the min sizes
|
|
379
403
|
* @param {CountOfChunk} chunkCount number of chunks
|
|
@@ -391,6 +415,7 @@ const checkMinSizeReduction = (sizes, minSizeReduction, chunkCount) => {
|
|
|
391
415
|
};
|
|
392
416
|
|
|
393
417
|
/**
|
|
418
|
+
* Gets violating min sizes.
|
|
394
419
|
* @param {SplitChunksSizes} sizes the sizes
|
|
395
420
|
* @param {SplitChunksSizes} minSize the min sizes
|
|
396
421
|
* @returns {undefined | SourceTypes} list of size types that are below min size
|
|
@@ -410,6 +435,7 @@ const getViolatingMinSizes = (sizes, minSize) => {
|
|
|
410
435
|
};
|
|
411
436
|
|
|
412
437
|
/**
|
|
438
|
+
* Returns the total size.
|
|
413
439
|
* @param {SplitChunksSizes} sizes the sizes
|
|
414
440
|
* @returns {Size} the total size
|
|
415
441
|
*/
|
|
@@ -422,6 +448,7 @@ const totalSize = (sizes) => {
|
|
|
422
448
|
};
|
|
423
449
|
|
|
424
450
|
/**
|
|
451
|
+
* Returns a function to get the name of the chunk.
|
|
425
452
|
* @param {OptimizationSplitChunksCacheGroup["name"]} name the chunk name
|
|
426
453
|
* @returns {GetNameFn | undefined} a function to get the name of the chunk
|
|
427
454
|
*/
|
|
@@ -435,6 +462,7 @@ const normalizeName = (name) => {
|
|
|
435
462
|
};
|
|
436
463
|
|
|
437
464
|
/**
|
|
465
|
+
* Normalizes chunks filter.
|
|
438
466
|
* @param {OptimizationSplitChunksCacheGroup["chunks"]} chunks the chunk filter option
|
|
439
467
|
* @returns {ChunkFilterFn | undefined} the chunk filter function
|
|
440
468
|
*/
|
|
@@ -457,6 +485,7 @@ const normalizeChunksFilter = (chunks) => {
|
|
|
457
485
|
};
|
|
458
486
|
|
|
459
487
|
/**
|
|
488
|
+
* Normalizes cache groups.
|
|
460
489
|
* @param {undefined | GetCacheGroups | Record<string, false | string | RegExp | RawGetCacheGroups | OptimizationSplitChunksCacheGroup>} cacheGroups the cache group options
|
|
461
490
|
* @param {DefaultSizeTypes} defaultSizeTypes the default size types
|
|
462
491
|
* @returns {GetCacheGroups} a function to get the cache groups
|
|
@@ -517,6 +546,7 @@ const normalizeCacheGroups = (cacheGroups, defaultSizeTypes) => {
|
|
|
517
546
|
}
|
|
518
547
|
}
|
|
519
548
|
/**
|
|
549
|
+
* Returns the matching cache groups.
|
|
520
550
|
* @param {Module} module the current module
|
|
521
551
|
* @param {CacheGroupsContext} context the current context
|
|
522
552
|
* @returns {CacheGroupSource[]} the matching cache groups
|
|
@@ -537,6 +567,7 @@ const normalizeCacheGroups = (cacheGroups, defaultSizeTypes) => {
|
|
|
537
567
|
/** @typedef {(module: Module, context: CacheGroupsContext) => boolean} CheckTestFn */
|
|
538
568
|
|
|
539
569
|
/**
|
|
570
|
+
* Checks true, if the module should be selected.
|
|
540
571
|
* @param {OptimizationSplitChunksCacheGroup["test"]} test test option
|
|
541
572
|
* @param {Module} module the module
|
|
542
573
|
* @param {CacheGroupsContext} context context object
|
|
@@ -562,6 +593,7 @@ const checkTest = (test, module, context) => {
|
|
|
562
593
|
/** @typedef {(type: string) => boolean} CheckModuleTypeFn */
|
|
563
594
|
|
|
564
595
|
/**
|
|
596
|
+
* Checks module type.
|
|
565
597
|
* @param {OptimizationSplitChunksCacheGroup["type"]} test type option
|
|
566
598
|
* @param {Module} module the module
|
|
567
599
|
* @returns {boolean} true, if the module should be selected
|
|
@@ -585,6 +617,7 @@ const checkModuleType = (test, module) => {
|
|
|
585
617
|
/** @typedef {(layer: string | null) => boolean} CheckModuleLayerFn */
|
|
586
618
|
|
|
587
619
|
/**
|
|
620
|
+
* Checks module layer.
|
|
588
621
|
* @param {OptimizationSplitChunksCacheGroup["layer"]} test type option
|
|
589
622
|
* @param {Module} module the module
|
|
590
623
|
* @returns {boolean} true, if the module should be selected
|
|
@@ -606,6 +639,7 @@ const checkModuleLayer = (test, module) => {
|
|
|
606
639
|
};
|
|
607
640
|
|
|
608
641
|
/**
|
|
642
|
+
* Creates a cache group source.
|
|
609
643
|
* @param {OptimizationSplitChunksCacheGroup} options the group options
|
|
610
644
|
* @param {string} key key of cache group
|
|
611
645
|
* @param {DefaultSizeTypes} defaultSizeTypes the default size types
|
|
@@ -657,6 +691,7 @@ const PLUGIN_NAME = "SplitChunksPlugin";
|
|
|
657
691
|
|
|
658
692
|
module.exports = class SplitChunksPlugin {
|
|
659
693
|
/**
|
|
694
|
+
* Creates an instance of SplitChunksPlugin.
|
|
660
695
|
* @param {OptimizationSplitChunksOptions=} options plugin options
|
|
661
696
|
*/
|
|
662
697
|
constructor(options = {}) {
|
|
@@ -746,6 +781,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
746
781
|
}
|
|
747
782
|
|
|
748
783
|
/**
|
|
784
|
+
* Returns the cache group (cached).
|
|
749
785
|
* @param {CacheGroupSource} cacheGroupSource source
|
|
750
786
|
* @returns {CacheGroup} the cache group (cached)
|
|
751
787
|
*/
|
|
@@ -837,7 +873,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
837
873
|
}
|
|
838
874
|
|
|
839
875
|
/**
|
|
840
|
-
*
|
|
876
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
841
877
|
* @param {Compiler} compiler the compiler instance
|
|
842
878
|
* @returns {void}
|
|
843
879
|
*/
|
|
@@ -878,6 +914,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
878
914
|
index <<= ONE;
|
|
879
915
|
}
|
|
880
916
|
/**
|
|
917
|
+
* Returns key of the chunks.
|
|
881
918
|
* @param {Iterable<Chunk, undefined, undefined>} chunks list of chunks
|
|
882
919
|
* @returns {bigint | Chunk} key of the chunks
|
|
883
920
|
*/
|
|
@@ -898,6 +935,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
898
935
|
return key;
|
|
899
936
|
};
|
|
900
937
|
/**
|
|
938
|
+
* Returns stringified key.
|
|
901
939
|
* @param {bigint | Chunk} key key of the chunks
|
|
902
940
|
* @returns {string} stringified key
|
|
903
941
|
*/
|
|
@@ -926,6 +964,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
926
964
|
});
|
|
927
965
|
|
|
928
966
|
/**
|
|
967
|
+
* Group chunks by exports.
|
|
929
968
|
* @param {Module} module the module
|
|
930
969
|
* @returns {Iterable<Chunk[]>} groups of chunks with equal exports
|
|
931
970
|
*/
|
|
@@ -978,6 +1017,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
978
1017
|
// to allow to check less sets via isSubset
|
|
979
1018
|
// (only smaller sets can be subset)
|
|
980
1019
|
/**
|
|
1020
|
+
* Group chunk sets by count.
|
|
981
1021
|
* @param {IterableIterator<ChunkSet>} chunkSets set of sets of chunks
|
|
982
1022
|
* @returns {ChunkSetsByCount} map of sets of chunks by count
|
|
983
1023
|
*/
|
|
@@ -1010,6 +1050,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1010
1050
|
|
|
1011
1051
|
// Create a list of possible combinations
|
|
1012
1052
|
/**
|
|
1053
|
+
* Creates a get combinations.
|
|
1013
1054
|
* @param {ChunkSetsInGraph} chunkSets chunk sets
|
|
1014
1055
|
* @param {ChunkSet} singleChunkSets single chunks sets
|
|
1015
1056
|
* @param {ChunkSetsByCount} chunkSetsByCount chunk sets by count
|
|
@@ -1066,6 +1107,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1066
1107
|
});
|
|
1067
1108
|
|
|
1068
1109
|
/**
|
|
1110
|
+
* Returns combinations by key.
|
|
1069
1111
|
* @param {bigint | Chunk} key key
|
|
1070
1112
|
* @returns {Combinations} combinations by key
|
|
1071
1113
|
*/
|
|
@@ -1081,6 +1123,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1081
1123
|
);
|
|
1082
1124
|
});
|
|
1083
1125
|
/**
|
|
1126
|
+
* Gets exports combinations.
|
|
1084
1127
|
* @param {bigint | Chunk} key key
|
|
1085
1128
|
* @returns {Combinations} exports combinations by key
|
|
1086
1129
|
*/
|
|
@@ -1088,6 +1131,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1088
1131
|
getExportsCombinationsFactory()(key);
|
|
1089
1132
|
|
|
1090
1133
|
/**
|
|
1134
|
+
* Defines the selected chunks result type used by this module.
|
|
1091
1135
|
* @typedef {object} SelectedChunksResult
|
|
1092
1136
|
* @property {Chunk[]} chunks the list of chunks
|
|
1093
1137
|
* @property {bigint | Chunk} key a key of the list
|
|
@@ -1144,6 +1188,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1144
1188
|
const chunksInfoMap = new Map();
|
|
1145
1189
|
|
|
1146
1190
|
/**
|
|
1191
|
+
* Adds module to chunks info map.
|
|
1147
1192
|
* @param {CacheGroup} cacheGroup the current cache group
|
|
1148
1193
|
* @param {number} cacheGroupIndex the index of the cache group of ordering
|
|
1149
1194
|
* @param {Chunk[]} selectedChunks chunks selected for this module
|
|
@@ -1346,6 +1391,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1346
1391
|
logger.time("queue");
|
|
1347
1392
|
|
|
1348
1393
|
/**
|
|
1394
|
+
* Removes modules with source type.
|
|
1349
1395
|
* @param {ChunksInfoItem} info entry
|
|
1350
1396
|
* @param {SourceTypes} sourceTypes source types to be removed
|
|
1351
1397
|
*/
|
|
@@ -1362,6 +1408,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1362
1408
|
};
|
|
1363
1409
|
|
|
1364
1410
|
/**
|
|
1411
|
+
* Removes min size violating modules.
|
|
1365
1412
|
* @param {ChunksInfoItem} info entry
|
|
1366
1413
|
* @returns {boolean} true, if entry become empty
|
|
1367
1414
|
*/
|
|
@@ -1392,6 +1439,7 @@ module.exports = class SplitChunksPlugin {
|
|
|
1392
1439
|
}
|
|
1393
1440
|
|
|
1394
1441
|
/**
|
|
1442
|
+
* Defines the max size queue item type used by this module.
|
|
1395
1443
|
* @typedef {object} MaxSizeQueueItem
|
|
1396
1444
|
* @property {SplitChunksSizes} minSize
|
|
1397
1445
|
* @property {SplitChunksSizes} maxAsyncSize
|
|
@@ -12,6 +12,7 @@ const WebpackError = require("../WebpackError");
|
|
|
12
12
|
|
|
13
13
|
class AssetsOverSizeLimitWarning extends WebpackError {
|
|
14
14
|
/**
|
|
15
|
+
* Creates an instance of AssetsOverSizeLimitWarning.
|
|
15
16
|
* @param {AssetDetails[]} assetsOverSizeLimit the assets
|
|
16
17
|
* @param {number} assetLimit the size limit
|
|
17
18
|
*/
|
|
@@ -12,6 +12,7 @@ const WebpackError = require("../WebpackError");
|
|
|
12
12
|
|
|
13
13
|
class EntrypointsOverSizeLimitWarning extends WebpackError {
|
|
14
14
|
/**
|
|
15
|
+
* Creates an instance of EntrypointsOverSizeLimitWarning.
|
|
15
16
|
* @param {EntrypointDetails[]} entrypoints the entrypoints
|
|
16
17
|
* @param {number} entrypointLimit the size limit
|
|
17
18
|
*/
|
|
@@ -19,12 +19,14 @@ const NoAsyncChunksWarning = require("./NoAsyncChunksWarning");
|
|
|
19
19
|
/** @typedef {import("../WebpackError")} WebpackError */
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
+
* Defines the asset details type used by this module.
|
|
22
23
|
* @typedef {object} AssetDetails
|
|
23
24
|
* @property {string} name
|
|
24
25
|
* @property {number} size
|
|
25
26
|
*/
|
|
26
27
|
|
|
27
28
|
/**
|
|
29
|
+
* Defines the entrypoint details type used by this module.
|
|
28
30
|
* @typedef {object} EntrypointDetails
|
|
29
31
|
* @property {string} name
|
|
30
32
|
* @property {number} size
|
|
@@ -43,6 +45,7 @@ const PLUGIN_NAME = "SizeLimitsPlugin";
|
|
|
43
45
|
|
|
44
46
|
module.exports = class SizeLimitsPlugin {
|
|
45
47
|
/**
|
|
48
|
+
* Creates an instance of SizeLimitsPlugin.
|
|
46
49
|
* @param {PerformanceOptions} options the plugin options
|
|
47
50
|
*/
|
|
48
51
|
constructor(options) {
|
|
@@ -57,6 +60,7 @@ module.exports = class SizeLimitsPlugin {
|
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
/**
|
|
63
|
+
* Checks whether this size limits plugin is over size limit.
|
|
60
64
|
* @param {Entrypoint | ChunkGroup | Source} thing the resource to test
|
|
61
65
|
* @returns {boolean} true if over the limit
|
|
62
66
|
*/
|
|
@@ -65,7 +69,7 @@ module.exports = class SizeLimitsPlugin {
|
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
/**
|
|
68
|
-
*
|
|
72
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
69
73
|
* @param {Compiler} compiler the compiler instance
|
|
70
74
|
* @returns {void}
|
|
71
75
|
*/
|
|
@@ -80,6 +84,7 @@ module.exports = class SizeLimitsPlugin {
|
|
|
80
84
|
const warnings = [];
|
|
81
85
|
|
|
82
86
|
/**
|
|
87
|
+
* Gets entrypoint size.
|
|
83
88
|
* @param {Entrypoint} entrypoint an entrypoint
|
|
84
89
|
* @returns {number} the size of the entrypoint
|
|
85
90
|
*/
|
|
@@ -116,6 +121,7 @@ module.exports = class SizeLimitsPlugin {
|
|
|
116
121
|
}
|
|
117
122
|
|
|
118
123
|
/**
|
|
124
|
+
* Returns result.
|
|
119
125
|
* @param {Asset["name"]} name the name
|
|
120
126
|
* @returns {boolean | undefined} result
|
|
121
127
|
*/
|
|
@@ -15,8 +15,14 @@ const ChunkPreloadTriggerRuntimeModule = require("./ChunkPreloadTriggerRuntimeMo
|
|
|
15
15
|
|
|
16
16
|
const PLUGIN_NAME = "ChunkPrefetchPreloadPlugin";
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Adds runtime support for chunk prefetch and preload relationships discovered
|
|
20
|
+
* in the chunk graph.
|
|
21
|
+
*/
|
|
18
22
|
class ChunkPrefetchPreloadPlugin {
|
|
19
23
|
/**
|
|
24
|
+
* Registers compilation hooks that emit the runtime modules responsible for
|
|
25
|
+
* scheduling chunk prefetch and preload requests.
|
|
20
26
|
* @param {Compiler} compiler the compiler
|
|
21
27
|
* @returns {void}
|
|
22
28
|
*/
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
/** @typedef {import("./RuleSetCompiler")} RuleSetCompiler */
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
+
* Defines the keys of types type used by this module.
|
|
12
13
|
* @template T
|
|
13
14
|
* @template {T[keyof T]} V
|
|
14
15
|
* @typedef {import("./RuleSetCompiler").KeysOfTypes<T, V>} KeysOfTypes
|
|
@@ -20,6 +21,7 @@ const PLUGIN_NAME = "BasicEffectRulePlugin";
|
|
|
20
21
|
|
|
21
22
|
class BasicEffectRulePlugin {
|
|
22
23
|
/**
|
|
24
|
+
* Creates an instance of BasicEffectRulePlugin.
|
|
23
25
|
* @param {BasicEffectRuleKeys} ruleProperty the rule property
|
|
24
26
|
* @param {string=} effectType the effect type
|
|
25
27
|
*/
|
|
@@ -31,6 +33,7 @@ class BasicEffectRulePlugin {
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/**
|
|
36
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
34
37
|
* @param {RuleSetCompiler} ruleSetCompiler the rule set compiler
|
|
35
38
|
* @returns {void}
|
|
36
39
|
*/
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
/** @typedef {import("./RuleSetCompiler")} RuleSetCompiler */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Defines the keys of types type used by this module.
|
|
14
15
|
* @template T
|
|
15
16
|
* @template {T[keyof T]} V
|
|
16
17
|
* @typedef {import("./RuleSetCompiler").KeysOfTypes<T, V>} KeysOfTypes
|
|
@@ -22,6 +23,7 @@ const PLUGIN_NAME = "BasicMatcherRulePlugin";
|
|
|
22
23
|
|
|
23
24
|
class BasicMatcherRulePlugin {
|
|
24
25
|
/**
|
|
26
|
+
* Creates an instance of BasicMatcherRulePlugin.
|
|
25
27
|
* @param {BasicMatcherRuleKeys} ruleProperty the rule property
|
|
26
28
|
* @param {string=} dataProperty the data property
|
|
27
29
|
* @param {boolean=} invert if true, inverts the condition
|
|
@@ -36,6 +38,7 @@ class BasicMatcherRulePlugin {
|
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
/**
|
|
41
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
39
42
|
* @param {RuleSetCompiler} ruleSetCompiler the rule set compiler
|
|
40
43
|
* @returns {void}
|
|
41
44
|
*/
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
/** @typedef {import("./RuleSetCompiler").RuleConditionFunction} RuleConditionFunction */
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
+
* Defines the keys of types type used by this module.
|
|
15
16
|
* @template T
|
|
16
17
|
* @template {T[keyof T]} V
|
|
17
18
|
* @typedef {import("./RuleSetCompiler").KeysOfTypes<T, V>} KeysOfTypes
|
|
@@ -24,6 +25,7 @@ const PLUGIN_NAME = "ObjectMatcherRulePlugin";
|
|
|
24
25
|
|
|
25
26
|
class ObjectMatcherRulePlugin {
|
|
26
27
|
/**
|
|
28
|
+
* Creates an instance of ObjectMatcherRulePlugin.
|
|
27
29
|
* @param {ObjectMatcherRuleKeys} ruleProperty the rule property
|
|
28
30
|
* @param {DataProperty=} dataProperty the data property
|
|
29
31
|
* @param {RuleConditionFunction=} additionalConditionFunction need to check
|
|
@@ -38,6 +40,7 @@ class ObjectMatcherRulePlugin {
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
/**
|
|
43
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
41
44
|
* @param {RuleSetCompiler} ruleSetCompiler the rule set compiler
|
|
42
45
|
* @returns {void}
|
|
43
46
|
*/
|