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
package/lib/APIPlugin.js
CHANGED
|
@@ -34,6 +34,7 @@ const GetFullHashRuntimeModule = require("./runtime/GetFullHashRuntimeModule");
|
|
|
34
34
|
/** @typedef {import("./javascript/JavascriptParser").Range} Range */
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
+
* Returns the replacement definitions used for webpack API identifiers.
|
|
37
38
|
* @returns {Record<string, { expr: string, req: string[] | null, type?: string, assign: boolean }>} replacements
|
|
38
39
|
*/
|
|
39
40
|
function getReplacements() {
|
|
@@ -140,7 +141,7 @@ const PLUGIN_NAME = "APIPlugin";
|
|
|
140
141
|
|
|
141
142
|
class APIPlugin {
|
|
142
143
|
/**
|
|
143
|
-
*
|
|
144
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
144
145
|
* @param {Compiler} compiler the compiler instance
|
|
145
146
|
* @returns {void}
|
|
146
147
|
*/
|
|
@@ -204,6 +205,7 @@ class APIPlugin {
|
|
|
204
205
|
);
|
|
205
206
|
|
|
206
207
|
/**
|
|
208
|
+
* Handles the hook callback for this code path.
|
|
207
209
|
* @param {JavascriptParser} parser the parser
|
|
208
210
|
*/
|
|
209
211
|
const handler = (parser) => {
|
|
@@ -10,6 +10,8 @@ const WebpackError = require("./WebpackError");
|
|
|
10
10
|
const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/;
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
+
* Creates the error message shown when an abstract API is called without
|
|
14
|
+
* being implemented by a subclass.
|
|
13
15
|
* @param {string=} method method name
|
|
14
16
|
* @returns {string} message
|
|
15
17
|
*/
|
|
@@ -18,6 +20,8 @@ function createMessage(method) {
|
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
/**
|
|
23
|
+
* Captures a stack trace so the calling method name can be folded into the
|
|
24
|
+
* final abstract-method error message.
|
|
21
25
|
* @constructor
|
|
22
26
|
*/
|
|
23
27
|
function Message() {
|
|
@@ -35,7 +39,8 @@ function Message() {
|
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
/**
|
|
38
|
-
* Error
|
|
42
|
+
* Error thrown when code reaches a method that is intended to be overridden by
|
|
43
|
+
* a subclass.
|
|
39
44
|
* @example
|
|
40
45
|
* ```js
|
|
41
46
|
* class FooClass {
|
|
@@ -46,6 +51,10 @@ function Message() {
|
|
|
46
51
|
* ```
|
|
47
52
|
*/
|
|
48
53
|
class AbstractMethodError extends WebpackError {
|
|
54
|
+
/**
|
|
55
|
+
* Creates an error whose message points at the abstract method that was
|
|
56
|
+
* invoked.
|
|
57
|
+
*/
|
|
49
58
|
constructor() {
|
|
50
59
|
super(new Message().message);
|
|
51
60
|
/** @type {string} */
|
|
@@ -71,6 +71,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
|
+
* Updates the hash with the data contributed by this instance.
|
|
74
75
|
* @param {Hash} hash the hash used to track dependencies
|
|
75
76
|
* @param {UpdateHashContext} context context
|
|
76
77
|
* @returns {void}
|
|
@@ -88,6 +89,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
|
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
/**
|
|
92
|
+
* Serializes this instance into the provided serializer context.
|
|
91
93
|
* @param {ObjectSerializerContext} context context
|
|
92
94
|
*/
|
|
93
95
|
serialize(context) {
|
|
@@ -99,6 +101,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
|
|
|
99
101
|
}
|
|
100
102
|
|
|
101
103
|
/**
|
|
104
|
+
* Restores this instance from the provided deserializer context.
|
|
102
105
|
* @param {ObjectDeserializerContext} context context
|
|
103
106
|
*/
|
|
104
107
|
deserialize(context) {
|
|
@@ -10,9 +10,14 @@ const WebpackError = require("./WebpackError");
|
|
|
10
10
|
/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
|
|
11
11
|
/** @typedef {import("./Module")} Module */
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Error raised when webpack detects an attempt to lazy-load a chunk name that
|
|
15
|
+
* is already claimed by an entrypoint's initial chunk.
|
|
16
|
+
*/
|
|
13
17
|
class AsyncDependencyToInitialChunkError extends WebpackError {
|
|
14
18
|
/**
|
|
15
|
-
*
|
|
19
|
+
* Captures the chunk name, originating module, and source location for an
|
|
20
|
+
* invalid async dependency targeting an initial chunk.
|
|
16
21
|
* @param {string} chunkName Name of Chunk
|
|
17
22
|
* @param {Module} module module tied to dependency
|
|
18
23
|
* @param {DependencyLocation} loc location of dependency
|
|
@@ -13,9 +13,14 @@ const PrefetchDependency = require("./dependencies/PrefetchDependency");
|
|
|
13
13
|
|
|
14
14
|
const PLUGIN_NAME = "AutomaticPrefetchPlugin";
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Records modules from one compilation and adds them back as prefetch
|
|
18
|
+
* dependencies in the next compilation.
|
|
19
|
+
*/
|
|
16
20
|
class AutomaticPrefetchPlugin {
|
|
17
21
|
/**
|
|
18
|
-
*
|
|
22
|
+
* Registers hooks that remember previously built normal modules and enqueue
|
|
23
|
+
* them as `PrefetchDependency` requests during the next make phase.
|
|
19
24
|
* @param {Compiler} compiler the compiler instance
|
|
20
25
|
* @returns {void}
|
|
21
26
|
*/
|
package/lib/BannerPlugin.js
CHANGED
|
@@ -21,6 +21,8 @@ const Template = require("./Template");
|
|
|
21
21
|
/** @typedef {(data: { hash?: string, chunk: Chunk, filename: string }) => string} BannerFunction */
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
+
* Wraps banner text in a JavaScript block comment, preserving multi-line
|
|
25
|
+
* formatting and escaping accidental comment terminators.
|
|
24
26
|
* @param {string} str string to wrap
|
|
25
27
|
* @returns {string} wrapped string
|
|
26
28
|
*/
|
|
@@ -38,8 +40,14 @@ const wrapComment = (str) => {
|
|
|
38
40
|
|
|
39
41
|
const PLUGIN_NAME = "BannerPlugin";
|
|
40
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Prepends or appends banner text to emitted assets that match the configured
|
|
45
|
+
* file filters.
|
|
46
|
+
*/
|
|
41
47
|
class BannerPlugin {
|
|
42
48
|
/**
|
|
49
|
+
* Normalizes banner options and compiles the configured banner source into a
|
|
50
|
+
* function that can render per-asset banner text.
|
|
43
51
|
* @param {BannerPluginArgument} options options object
|
|
44
52
|
*/
|
|
45
53
|
constructor(options) {
|
|
@@ -69,7 +77,8 @@ class BannerPlugin {
|
|
|
69
77
|
}
|
|
70
78
|
|
|
71
79
|
/**
|
|
72
|
-
*
|
|
80
|
+
* Validates the configured options and injects rendered banner comments into
|
|
81
|
+
* matching compilation assets at the configured process-assets stage.
|
|
73
82
|
* @param {Compiler} compiler the compiler instance
|
|
74
83
|
* @returns {void}
|
|
75
84
|
*/
|
package/lib/Cache.js
CHANGED
|
@@ -14,11 +14,15 @@ const {
|
|
|
14
14
|
/** @typedef {import("./WebpackError")} WebpackError */
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
+
* Cache validation token whose string representation identifies the build
|
|
18
|
+
* inputs associated with a cached value.
|
|
17
19
|
* @typedef {object} Etag
|
|
18
20
|
* @property {() => string} toString
|
|
19
21
|
*/
|
|
20
22
|
|
|
21
23
|
/**
|
|
24
|
+
* Completion callback used by cache operations that either fail with a
|
|
25
|
+
* `WebpackError` or resolve with a typed result.
|
|
22
26
|
* @template T
|
|
23
27
|
* @callback CallbackCache
|
|
24
28
|
* @param {WebpackError | null} err
|
|
@@ -29,6 +33,8 @@ const {
|
|
|
29
33
|
/** @typedef {EXPECTED_ANY} Data */
|
|
30
34
|
|
|
31
35
|
/**
|
|
36
|
+
* Handler invoked after a cache read succeeds so additional cache layers can
|
|
37
|
+
* react to the retrieved value.
|
|
32
38
|
* @template T
|
|
33
39
|
* @callback GotHandler
|
|
34
40
|
* @param {T} result
|
|
@@ -37,6 +43,8 @@ const {
|
|
|
37
43
|
*/
|
|
38
44
|
|
|
39
45
|
/**
|
|
46
|
+
* Creates a callback wrapper that waits for a fixed number of completions and
|
|
47
|
+
* forwards the first error immediately.
|
|
40
48
|
* @param {number} times times
|
|
41
49
|
* @param {(err?: Error | null) => void} callback callback
|
|
42
50
|
* @returns {(err?: Error | null) => void} callback
|
|
@@ -51,7 +59,14 @@ const needCalls = (times, callback) => (err) => {
|
|
|
51
59
|
}
|
|
52
60
|
};
|
|
53
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Abstract cache interface backed by tapable hooks for reading, writing, idle
|
|
64
|
+
* transitions, and shutdown across webpack cache implementations.
|
|
65
|
+
*/
|
|
54
66
|
class Cache {
|
|
67
|
+
/**
|
|
68
|
+
* Initializes the cache lifecycle hooks implemented by cache backends.
|
|
69
|
+
*/
|
|
55
70
|
constructor() {
|
|
56
71
|
this.hooks = {
|
|
57
72
|
/** @type {AsyncSeriesBailHook<[string, Etag | null, GotHandler<EXPECTED_ANY>[]], Data>} */
|
|
@@ -70,6 +85,8 @@ class Cache {
|
|
|
70
85
|
}
|
|
71
86
|
|
|
72
87
|
/**
|
|
88
|
+
* Retrieves a cached value and lets registered `gotHandlers` observe the
|
|
89
|
+
* result before the caller receives it.
|
|
73
90
|
* @template T
|
|
74
91
|
* @param {string} identifier the cache identifier
|
|
75
92
|
* @param {Etag | null} etag the etag
|
|
@@ -103,6 +120,8 @@ class Cache {
|
|
|
103
120
|
}
|
|
104
121
|
|
|
105
122
|
/**
|
|
123
|
+
* Stores a cache entry for the identifier and etag through the registered
|
|
124
|
+
* cache backend hooks.
|
|
106
125
|
* @template T
|
|
107
126
|
* @param {string} identifier the cache identifier
|
|
108
127
|
* @param {Etag | null} etag the etag
|
|
@@ -120,7 +139,8 @@ class Cache {
|
|
|
120
139
|
}
|
|
121
140
|
|
|
122
141
|
/**
|
|
123
|
-
*
|
|
142
|
+
* Persists the set of build dependencies required to determine whether the
|
|
143
|
+
* cache can be restored in a future compilation.
|
|
124
144
|
* @param {Iterable<string>} dependencies list of all build dependencies
|
|
125
145
|
* @param {CallbackCache<void>} callback signals when the dependencies are stored
|
|
126
146
|
* @returns {void}
|
|
@@ -133,6 +153,8 @@ class Cache {
|
|
|
133
153
|
}
|
|
134
154
|
|
|
135
155
|
/**
|
|
156
|
+
* Signals that webpack is entering an idle phase and cache backends may flush
|
|
157
|
+
* or compact pending work.
|
|
136
158
|
* @returns {void}
|
|
137
159
|
*/
|
|
138
160
|
beginIdle() {
|
|
@@ -140,6 +162,8 @@ class Cache {
|
|
|
140
162
|
}
|
|
141
163
|
|
|
142
164
|
/**
|
|
165
|
+
* Signals that webpack is leaving the idle phase and waits for cache
|
|
166
|
+
* backends to finish any asynchronous resume work.
|
|
143
167
|
* @param {CallbackCache<void>} callback signals when the call finishes
|
|
144
168
|
* @returns {void}
|
|
145
169
|
*/
|
|
@@ -150,6 +174,7 @@ class Cache {
|
|
|
150
174
|
}
|
|
151
175
|
|
|
152
176
|
/**
|
|
177
|
+
* Shuts down every registered cache backend and waits for cleanup to finish.
|
|
153
178
|
* @param {CallbackCache<void>} callback signals when the call finishes
|
|
154
179
|
* @returns {void}
|
|
155
180
|
*/
|
package/lib/CacheFacade.js
CHANGED
|
@@ -16,6 +16,7 @@ const mergeEtags = require("./cache/mergeEtags");
|
|
|
16
16
|
/** @typedef {import("./util/Hash").HashFunction} HashFunction */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Defines the callback cache callback.
|
|
19
20
|
* @template T
|
|
20
21
|
* @callback CallbackCache
|
|
21
22
|
* @param {(Error | null)=} err
|
|
@@ -24,6 +25,7 @@ const mergeEtags = require("./cache/mergeEtags");
|
|
|
24
25
|
*/
|
|
25
26
|
|
|
26
27
|
/**
|
|
28
|
+
* Defines the callback normal error cache callback.
|
|
27
29
|
* @template T
|
|
28
30
|
* @callback CallbackNormalErrorCache
|
|
29
31
|
* @param {(Error | null)=} err
|
|
@@ -33,6 +35,7 @@ const mergeEtags = require("./cache/mergeEtags");
|
|
|
33
35
|
|
|
34
36
|
class MultiItemCache {
|
|
35
37
|
/**
|
|
38
|
+
* Creates an instance of MultiItemCache.
|
|
36
39
|
* @param {ItemCacheFacade[]} items item caches
|
|
37
40
|
*/
|
|
38
41
|
constructor(items) {
|
|
@@ -43,6 +46,7 @@ class MultiItemCache {
|
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
/**
|
|
49
|
+
* Returns value.
|
|
46
50
|
* @template T
|
|
47
51
|
* @param {CallbackCache<T>} callback signals when the value is retrieved
|
|
48
52
|
* @returns {void}
|
|
@@ -52,11 +56,13 @@ class MultiItemCache {
|
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
/**
|
|
59
|
+
* Returns promise with the data.
|
|
55
60
|
* @template T
|
|
56
61
|
* @returns {Promise<T>} promise with the data
|
|
57
62
|
*/
|
|
58
63
|
getPromise() {
|
|
59
64
|
/**
|
|
65
|
+
* Returns promise with the data.
|
|
60
66
|
* @param {number} i index
|
|
61
67
|
* @returns {Promise<T>} promise with the data
|
|
62
68
|
*/
|
|
@@ -69,6 +75,7 @@ class MultiItemCache {
|
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
/**
|
|
78
|
+
* Processes the provided data.
|
|
72
79
|
* @template T
|
|
73
80
|
* @param {T} data the value to store
|
|
74
81
|
* @param {CallbackCache<void>} callback signals when the value is stored
|
|
@@ -83,6 +90,7 @@ class MultiItemCache {
|
|
|
83
90
|
}
|
|
84
91
|
|
|
85
92
|
/**
|
|
93
|
+
* Stores the provided data.
|
|
86
94
|
* @template T
|
|
87
95
|
* @param {T} data the value to store
|
|
88
96
|
* @returns {Promise<void>} promise signals when the value is stored
|
|
@@ -96,6 +104,7 @@ class MultiItemCache {
|
|
|
96
104
|
|
|
97
105
|
class ItemCacheFacade {
|
|
98
106
|
/**
|
|
107
|
+
* Creates an instance of ItemCacheFacade.
|
|
99
108
|
* @param {Cache} cache the root cache
|
|
100
109
|
* @param {string} name the child cache item name
|
|
101
110
|
* @param {Etag | null} etag the etag
|
|
@@ -107,6 +116,7 @@ class ItemCacheFacade {
|
|
|
107
116
|
}
|
|
108
117
|
|
|
109
118
|
/**
|
|
119
|
+
* Returns value.
|
|
110
120
|
* @template T
|
|
111
121
|
* @param {CallbackCache<T>} callback signals when the value is retrieved
|
|
112
122
|
* @returns {void}
|
|
@@ -116,6 +126,7 @@ class ItemCacheFacade {
|
|
|
116
126
|
}
|
|
117
127
|
|
|
118
128
|
/**
|
|
129
|
+
* Returns promise with the data.
|
|
119
130
|
* @template T
|
|
120
131
|
* @returns {Promise<T>} promise with the data
|
|
121
132
|
*/
|
|
@@ -132,6 +143,7 @@ class ItemCacheFacade {
|
|
|
132
143
|
}
|
|
133
144
|
|
|
134
145
|
/**
|
|
146
|
+
* Processes the provided data.
|
|
135
147
|
* @template T
|
|
136
148
|
* @param {T} data the value to store
|
|
137
149
|
* @param {CallbackCache<void>} callback signals when the value is stored
|
|
@@ -142,6 +154,7 @@ class ItemCacheFacade {
|
|
|
142
154
|
}
|
|
143
155
|
|
|
144
156
|
/**
|
|
157
|
+
* Stores the provided data.
|
|
145
158
|
* @template T
|
|
146
159
|
* @param {T} data the value to store
|
|
147
160
|
* @returns {Promise<void>} promise signals when the value is stored
|
|
@@ -159,6 +172,7 @@ class ItemCacheFacade {
|
|
|
159
172
|
}
|
|
160
173
|
|
|
161
174
|
/**
|
|
175
|
+
* Processes the provided computer.
|
|
162
176
|
* @template T
|
|
163
177
|
* @param {(callback: CallbackNormalErrorCache<T>) => void} computer function to compute the value if not cached
|
|
164
178
|
* @param {CallbackNormalErrorCache<T>} callback signals when the value is retrieved
|
|
@@ -179,6 +193,7 @@ class ItemCacheFacade {
|
|
|
179
193
|
}
|
|
180
194
|
|
|
181
195
|
/**
|
|
196
|
+
* Returns promise with the data.
|
|
182
197
|
* @template T
|
|
183
198
|
* @param {() => Promise<T> | T} computer function to compute the value if not cached
|
|
184
199
|
* @returns {Promise<T>} promise with the data
|
|
@@ -194,6 +209,7 @@ class ItemCacheFacade {
|
|
|
194
209
|
|
|
195
210
|
class CacheFacade {
|
|
196
211
|
/**
|
|
212
|
+
* Creates an instance of CacheFacade.
|
|
197
213
|
* @param {Cache} cache the root cache
|
|
198
214
|
* @param {string} name the child cache name
|
|
199
215
|
* @param {HashFunction=} hashFunction the hash function to use
|
|
@@ -205,6 +221,7 @@ class CacheFacade {
|
|
|
205
221
|
}
|
|
206
222
|
|
|
207
223
|
/**
|
|
224
|
+
* Returns child cache.
|
|
208
225
|
* @param {string} name the child cache name#
|
|
209
226
|
* @returns {CacheFacade} child cache
|
|
210
227
|
*/
|
|
@@ -217,6 +234,7 @@ class CacheFacade {
|
|
|
217
234
|
}
|
|
218
235
|
|
|
219
236
|
/**
|
|
237
|
+
* Returns item cache.
|
|
220
238
|
* @param {string} identifier the cache identifier
|
|
221
239
|
* @param {Etag | null} etag the etag
|
|
222
240
|
* @returns {ItemCacheFacade} item cache
|
|
@@ -230,6 +248,7 @@ class CacheFacade {
|
|
|
230
248
|
}
|
|
231
249
|
|
|
232
250
|
/**
|
|
251
|
+
* Gets lazy hashed etag.
|
|
233
252
|
* @param {HashableObject} obj an hashable object
|
|
234
253
|
* @returns {Etag} an etag that is lazy hashed
|
|
235
254
|
*/
|
|
@@ -238,6 +257,7 @@ class CacheFacade {
|
|
|
238
257
|
}
|
|
239
258
|
|
|
240
259
|
/**
|
|
260
|
+
* Merges the provided values into a single result.
|
|
241
261
|
* @param {Etag} a an etag
|
|
242
262
|
* @param {Etag} b another etag
|
|
243
263
|
* @returns {Etag} an etag that represents both
|
|
@@ -247,6 +267,7 @@ class CacheFacade {
|
|
|
247
267
|
}
|
|
248
268
|
|
|
249
269
|
/**
|
|
270
|
+
* Returns value.
|
|
250
271
|
* @template T
|
|
251
272
|
* @param {string} identifier the cache identifier
|
|
252
273
|
* @param {Etag | null} etag the etag
|
|
@@ -258,6 +279,7 @@ class CacheFacade {
|
|
|
258
279
|
}
|
|
259
280
|
|
|
260
281
|
/**
|
|
282
|
+
* Returns promise with the data.
|
|
261
283
|
* @template T
|
|
262
284
|
* @param {string} identifier the cache identifier
|
|
263
285
|
* @param {Etag | null} etag the etag
|
|
@@ -276,6 +298,7 @@ class CacheFacade {
|
|
|
276
298
|
}
|
|
277
299
|
|
|
278
300
|
/**
|
|
301
|
+
* Processes the provided identifier.
|
|
279
302
|
* @template T
|
|
280
303
|
* @param {string} identifier the cache identifier
|
|
281
304
|
* @param {Etag | null} etag the etag
|
|
@@ -288,6 +311,7 @@ class CacheFacade {
|
|
|
288
311
|
}
|
|
289
312
|
|
|
290
313
|
/**
|
|
314
|
+
* Stores the provided identifier.
|
|
291
315
|
* @template T
|
|
292
316
|
* @param {string} identifier the cache identifier
|
|
293
317
|
* @param {Etag | null} etag the etag
|
|
@@ -307,6 +331,7 @@ class CacheFacade {
|
|
|
307
331
|
}
|
|
308
332
|
|
|
309
333
|
/**
|
|
334
|
+
* Processes the provided identifier.
|
|
310
335
|
* @template T
|
|
311
336
|
* @param {string} identifier the cache identifier
|
|
312
337
|
* @param {Etag | null} etag the etag
|
|
@@ -329,6 +354,7 @@ class CacheFacade {
|
|
|
329
354
|
}
|
|
330
355
|
|
|
331
356
|
/**
|
|
357
|
+
* Returns promise with the data.
|
|
332
358
|
* @template T
|
|
333
359
|
* @param {string} identifier the cache identifier
|
|
334
360
|
* @param {Etag | null} etag the etag
|
|
@@ -11,6 +11,7 @@ const WebpackError = require("./WebpackError");
|
|
|
11
11
|
/** @typedef {import("./ModuleGraph")} ModuleGraph */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Sorts the conflicting modules by identifier to keep warning output stable.
|
|
14
15
|
* @param {Module[]} modules the modules to be sorted
|
|
15
16
|
* @returns {Module[]} sorted version of original modules
|
|
16
17
|
*/
|
|
@@ -27,6 +28,8 @@ const sortModules = (modules) =>
|
|
|
27
28
|
});
|
|
28
29
|
|
|
29
30
|
/**
|
|
31
|
+
* Formats the conflicting modules and one representative incoming reason for
|
|
32
|
+
* each module into the warning body.
|
|
30
33
|
* @param {Module[]} modules each module from throw
|
|
31
34
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
32
35
|
* @returns {string} each message from provided modules
|
|
@@ -49,9 +52,14 @@ const createModulesListMessage = (modules, moduleGraph) =>
|
|
|
49
52
|
})
|
|
50
53
|
.join("\n");
|
|
51
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Warning emitted when webpack finds modules whose identifiers differ only by
|
|
57
|
+
* letter casing, which can behave inconsistently across filesystems.
|
|
58
|
+
*/
|
|
52
59
|
class CaseSensitiveModulesWarning extends WebpackError {
|
|
53
60
|
/**
|
|
54
|
-
*
|
|
61
|
+
* Builds a warning message that lists the case-conflicting modules and
|
|
62
|
+
* representative importers that caused them to be included.
|
|
55
63
|
* @param {Iterable<Module>} modules modules that were detected
|
|
56
64
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
57
65
|
*/
|