webpack 5.106.1 → 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 -1
- 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 +59 -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 +10 -2
- 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 +5 -0
- 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
|
@@ -48,6 +48,7 @@ const WRITE_LIMIT_TOTAL = 0x7fff0000;
|
|
|
48
48
|
const WRITE_LIMIT_CHUNK = 511 * 1024 * 1024;
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
|
+
* Returns hash.
|
|
51
52
|
* @param {Buffer[]} buffers buffers
|
|
52
53
|
* @param {HashFunction} hashFunction hash function to use
|
|
53
54
|
* @returns {string} hash
|
|
@@ -85,6 +86,7 @@ const readUInt64LE = Buffer.prototype.readBigUInt64LE
|
|
|
85
86
|
/** @typedef {Promise<void | void[]>} BackgroundJob */
|
|
86
87
|
|
|
87
88
|
/**
|
|
89
|
+
* Defines the serialize result type used by this module.
|
|
88
90
|
* @typedef {object} SerializeResult
|
|
89
91
|
* @property {string | false} name
|
|
90
92
|
* @property {number} size
|
|
@@ -93,10 +95,12 @@ const readUInt64LE = Buffer.prototype.readBigUInt64LE
|
|
|
93
95
|
|
|
94
96
|
/** @typedef {{ name: string, size: number }} LazyOptions */
|
|
95
97
|
/**
|
|
98
|
+
* Defines the lazy function type used by this module.
|
|
96
99
|
* @typedef {import("./SerializerMiddleware").LazyFunction<BufferSerializableType[], Buffer, FileMiddleware, LazyOptions>} LazyFunction
|
|
97
100
|
*/
|
|
98
101
|
|
|
99
102
|
/**
|
|
103
|
+
* Serializes this instance into the provided serializer context.
|
|
100
104
|
* @param {FileMiddleware} middleware this
|
|
101
105
|
* @param {(BufferSerializableType | LazyFunction)[]} data data to be serialized
|
|
102
106
|
* @param {string | boolean} name file base name
|
|
@@ -243,6 +247,7 @@ const serialize = async (
|
|
|
243
247
|
};
|
|
244
248
|
|
|
245
249
|
/**
|
|
250
|
+
* Restores this instance from the provided deserializer context.
|
|
246
251
|
* @param {FileMiddleware} middleware this
|
|
247
252
|
* @param {string | false} name filename
|
|
248
253
|
* @param {(name: string | false) => Promise<Buffer[]>} readFile read content of a file
|
|
@@ -263,6 +268,7 @@ const deserialize = async (middleware, name, readFile) => {
|
|
|
263
268
|
contentPosition = 0;
|
|
264
269
|
};
|
|
265
270
|
/**
|
|
271
|
+
* Processes the provided n.
|
|
266
272
|
* @param {number} n number of bytes to ensure
|
|
267
273
|
*/
|
|
268
274
|
const ensureData = (n) => {
|
|
@@ -294,6 +300,7 @@ const deserialize = async (middleware, name, readFile) => {
|
|
|
294
300
|
}
|
|
295
301
|
};
|
|
296
302
|
/**
|
|
303
|
+
* Returns value value.
|
|
297
304
|
* @returns {number} value value
|
|
298
305
|
*/
|
|
299
306
|
const readUInt32LE = () => {
|
|
@@ -303,6 +310,7 @@ const deserialize = async (middleware, name, readFile) => {
|
|
|
303
310
|
return value;
|
|
304
311
|
};
|
|
305
312
|
/**
|
|
313
|
+
* Returns value value.
|
|
306
314
|
* @returns {number} value value
|
|
307
315
|
*/
|
|
308
316
|
const readInt32LE = () => {
|
|
@@ -312,6 +320,7 @@ const deserialize = async (middleware, name, readFile) => {
|
|
|
312
320
|
return value;
|
|
313
321
|
};
|
|
314
322
|
/**
|
|
323
|
+
* Returns buffer.
|
|
315
324
|
* @param {number} l length
|
|
316
325
|
* @returns {Buffer} buffer
|
|
317
326
|
*/
|
|
@@ -429,10 +438,12 @@ const deserialize = async (middleware, name, readFile) => {
|
|
|
429
438
|
/** @typedef {{ filename: string, extension?: string }} Context */
|
|
430
439
|
|
|
431
440
|
/**
|
|
441
|
+
* Represents FileMiddleware.
|
|
432
442
|
* @extends {SerializerMiddleware<DeserializedType, SerializedType, Context>}
|
|
433
443
|
*/
|
|
434
444
|
class FileMiddleware extends SerializerMiddleware {
|
|
435
445
|
/**
|
|
446
|
+
* Creates an instance of FileMiddleware.
|
|
436
447
|
* @param {IntermediateFileSystem} fs filesystem
|
|
437
448
|
* @param {HashFunction} hashFunction hash function to use
|
|
438
449
|
*/
|
|
@@ -445,6 +456,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
445
456
|
}
|
|
446
457
|
|
|
447
458
|
/**
|
|
459
|
+
* Serializes this instance into the provided serializer context.
|
|
448
460
|
* @param {DeserializedType} data data
|
|
449
461
|
* @param {Context} context context object
|
|
450
462
|
* @returns {SerializedType | Promise<SerializedType> | null} serialized data
|
|
@@ -460,6 +472,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
460
472
|
/** @type {Set<string>} */
|
|
461
473
|
const allWrittenFiles = new Set();
|
|
462
474
|
/**
|
|
475
|
+
* Processes the provided name.
|
|
463
476
|
* @param {string | false} name name
|
|
464
477
|
* @param {Buffer[]} content content
|
|
465
478
|
* @param {number} size size
|
|
@@ -471,6 +484,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
471
484
|
: filename;
|
|
472
485
|
await new Promise(
|
|
473
486
|
/**
|
|
487
|
+
* Handles the callback logic for this hook.
|
|
474
488
|
* @param {(value?: undefined) => void} resolve resolve
|
|
475
489
|
* @param {(reason?: Error | null) => void} reject reject
|
|
476
490
|
*/
|
|
@@ -518,6 +532,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
518
532
|
const len = chunks.length;
|
|
519
533
|
let i = 0;
|
|
520
534
|
/**
|
|
535
|
+
* Processes the provided err.
|
|
521
536
|
* @param {(Error | null)=} err err
|
|
522
537
|
*/
|
|
523
538
|
const batchWrite = (err) => {
|
|
@@ -557,6 +572,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
557
572
|
// Rename the index file to disallow access during inconsistent file state
|
|
558
573
|
await new Promise(
|
|
559
574
|
/**
|
|
575
|
+
* Handles the callback logic for this hook.
|
|
560
576
|
* @param {(value?: undefined) => void} resolve resolve
|
|
561
577
|
*/
|
|
562
578
|
(resolve) => {
|
|
@@ -573,6 +589,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
573
589
|
(file) =>
|
|
574
590
|
new Promise(
|
|
575
591
|
/**
|
|
592
|
+
* Handles the callback logic for this hook.
|
|
576
593
|
* @param {(value?: undefined) => void} resolve resolve
|
|
577
594
|
* @param {(reason?: Error | null) => void} reject reject
|
|
578
595
|
* @returns {void}
|
|
@@ -590,6 +607,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
590
607
|
// As final step automatically update the index file to have a consistent pack again
|
|
591
608
|
await new Promise(
|
|
592
609
|
/**
|
|
610
|
+
* Handles the callback logic for this hook.
|
|
593
611
|
* @param {(value?: undefined) => void} resolve resolve
|
|
594
612
|
* @returns {void}
|
|
595
613
|
*/
|
|
@@ -609,6 +627,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
609
627
|
}
|
|
610
628
|
|
|
611
629
|
/**
|
|
630
|
+
* Restores this instance from the provided deserializer context.
|
|
612
631
|
* @param {SerializedType} data data
|
|
613
632
|
* @param {Context} context context object
|
|
614
633
|
* @returns {DeserializedType | Promise<DeserializedType>} deserialized data
|
|
@@ -616,6 +635,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
616
635
|
deserialize(data, context) {
|
|
617
636
|
const { filename, extension = "" } = context;
|
|
618
637
|
/**
|
|
638
|
+
* Returns result.
|
|
619
639
|
* @param {string | boolean} name name
|
|
620
640
|
* @returns {Promise<Buffer[]>} result
|
|
621
641
|
*/
|
|
@@ -663,6 +683,7 @@ class FileMiddleware extends SerializerMiddleware {
|
|
|
663
683
|
}),
|
|
664
684
|
new Promise(
|
|
665
685
|
/**
|
|
686
|
+
* Handles the chunk size callback for this hook.
|
|
666
687
|
* @param {(value?: undefined) => void} resolve resolve
|
|
667
688
|
* @param {(reason?: Error) => void} reject reject
|
|
668
689
|
*/
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
class MapObjectSerializer {
|
|
11
11
|
/**
|
|
12
|
+
* Serializes this instance into the provided serializer context.
|
|
12
13
|
* @template K, V
|
|
13
14
|
* @param {Map<K, V>} obj map
|
|
14
15
|
* @param {ObjectSerializerContext} context context
|
|
@@ -24,6 +25,7 @@ class MapObjectSerializer {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
/**
|
|
28
|
+
* Restores this instance from the provided deserializer context.
|
|
27
29
|
* @template K, V
|
|
28
30
|
* @param {ObjectDeserializerContext} context context
|
|
29
31
|
* @returns {Map<K, V>} map
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
class NullPrototypeObjectSerializer {
|
|
13
13
|
/**
|
|
14
|
+
* Serializes this instance into the provided serializer context.
|
|
14
15
|
* @template {object} T
|
|
15
16
|
* @param {T} obj null object
|
|
16
17
|
* @param {ObjectSerializerContext} context context
|
|
@@ -28,6 +29,7 @@ class NullPrototypeObjectSerializer {
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
/**
|
|
32
|
+
* Restores this instance from the provided deserializer context.
|
|
31
33
|
* @template {object} T
|
|
32
34
|
* @param {ObjectDeserializerContext} context context
|
|
33
35
|
* @returns {T} null object
|
|
@@ -48,6 +48,7 @@ Technically any value can be used.
|
|
|
48
48
|
*/
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
|
+
* Defines the object serializer snapshot type used by this module.
|
|
51
52
|
* @typedef {object} ObjectSerializerSnapshot
|
|
52
53
|
* @property {number} length
|
|
53
54
|
* @property {number} cycleStackSize
|
|
@@ -60,6 +61,7 @@ Technically any value can be used.
|
|
|
60
61
|
/** @typedef {EXPECTED_OBJECT | string} ReferenceableItem */
|
|
61
62
|
|
|
62
63
|
/**
|
|
64
|
+
* Defines the object serializer context type used by this module.
|
|
63
65
|
* @typedef {object} ObjectSerializerContext
|
|
64
66
|
* @property {(value: EXPECTED_ANY) => void} write
|
|
65
67
|
* @property {(value: ReferenceableItem) => void} setCircularReference
|
|
@@ -70,18 +72,21 @@ Technically any value can be used.
|
|
|
70
72
|
*/
|
|
71
73
|
|
|
72
74
|
/**
|
|
75
|
+
* Defines the object deserializer context type used by this module.
|
|
73
76
|
* @typedef {object} ObjectDeserializerContext
|
|
74
77
|
* @property {() => EXPECTED_ANY} read
|
|
75
78
|
* @property {(value: ReferenceableItem) => void} setCircularReference
|
|
76
79
|
*/
|
|
77
80
|
|
|
78
81
|
/**
|
|
82
|
+
* Defines the object serializer type used by this module.
|
|
79
83
|
* @typedef {object} ObjectSerializer
|
|
80
84
|
* @property {(value: EXPECTED_ANY, context: ObjectSerializerContext) => void} serialize
|
|
81
85
|
* @property {(context: ObjectDeserializerContext) => EXPECTED_ANY} deserialize
|
|
82
86
|
*/
|
|
83
87
|
|
|
84
88
|
/**
|
|
89
|
+
* Updates set size using the provided set.
|
|
85
90
|
* @template T
|
|
86
91
|
* @param {Set<T>} set set
|
|
87
92
|
* @param {number} size count of items to keep
|
|
@@ -96,6 +101,7 @@ const setSetSize = (set, size) => {
|
|
|
96
101
|
};
|
|
97
102
|
|
|
98
103
|
/**
|
|
104
|
+
* Updates map size using the provided map.
|
|
99
105
|
* @template K, X
|
|
100
106
|
* @param {Map<K, X>} map map
|
|
101
107
|
* @param {number} size count of items to keep
|
|
@@ -110,6 +116,7 @@ const setMapSize = (map, size) => {
|
|
|
110
116
|
};
|
|
111
117
|
|
|
112
118
|
/**
|
|
119
|
+
* Returns hash.
|
|
113
120
|
* @param {Buffer} buffer buffer
|
|
114
121
|
* @param {HashFunction} hashFunction hash function to use
|
|
115
122
|
* @returns {string} hash
|
|
@@ -210,10 +217,12 @@ const loaders = new Map();
|
|
|
210
217
|
/** @typedef {(context: ObjectSerializerContext | ObjectDeserializerContext) => void} ExtendContext */
|
|
211
218
|
|
|
212
219
|
/**
|
|
220
|
+
* Represents ObjectMiddleware.
|
|
213
221
|
* @extends {SerializerMiddleware<DeserializedType, SerializedType, Context>}
|
|
214
222
|
*/
|
|
215
223
|
class ObjectMiddleware extends SerializerMiddleware {
|
|
216
224
|
/**
|
|
225
|
+
* Creates an instance of ObjectMiddleware.
|
|
217
226
|
* @param {ExtendContext} extendContext context extensions
|
|
218
227
|
* @param {HashFunction} hashFunction hash function to use
|
|
219
228
|
*/
|
|
@@ -226,6 +235,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
226
235
|
}
|
|
227
236
|
|
|
228
237
|
/**
|
|
238
|
+
* Processes the provided reg exp.
|
|
229
239
|
* @param {RegExp} regExp RegExp for which the request is tested
|
|
230
240
|
* @param {(request: string) => boolean} loader loader to load the request, returns true when successful
|
|
231
241
|
* @returns {void}
|
|
@@ -235,6 +245,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
235
245
|
}
|
|
236
246
|
|
|
237
247
|
/**
|
|
248
|
+
* Processes the provided constructor.
|
|
238
249
|
* @param {Constructor} Constructor the constructor
|
|
239
250
|
* @param {string} request the request which will be required when deserializing
|
|
240
251
|
* @param {string | null} name the name to make multiple serializer unique when sharing a request
|
|
@@ -266,6 +277,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
266
277
|
}
|
|
267
278
|
|
|
268
279
|
/**
|
|
280
|
+
* Register not serializable.
|
|
269
281
|
* @param {Constructor} Constructor the constructor
|
|
270
282
|
* @returns {void}
|
|
271
283
|
*/
|
|
@@ -280,6 +292,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
280
292
|
}
|
|
281
293
|
|
|
282
294
|
/**
|
|
295
|
+
* Gets serializer for.
|
|
283
296
|
* @param {EXPECTED_ANY} object for serialization
|
|
284
297
|
* @returns {SerializerConfigWithSerializer} Serializer config
|
|
285
298
|
*/
|
|
@@ -311,6 +324,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
311
324
|
}
|
|
312
325
|
|
|
313
326
|
/**
|
|
327
|
+
* Gets deserializer for.
|
|
314
328
|
* @param {string} request request
|
|
315
329
|
* @param {string} name name
|
|
316
330
|
* @returns {ObjectSerializer} serializer
|
|
@@ -327,6 +341,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
327
341
|
}
|
|
328
342
|
|
|
329
343
|
/**
|
|
344
|
+
* Get deserializer for without error.
|
|
330
345
|
* @param {string} request request
|
|
331
346
|
* @param {string} name name
|
|
332
347
|
* @returns {ObjectSerializer | undefined} serializer
|
|
@@ -338,6 +353,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
338
353
|
}
|
|
339
354
|
|
|
340
355
|
/**
|
|
356
|
+
* Serializes this instance into the provided serializer context.
|
|
341
357
|
* @param {DeserializedType} data data
|
|
342
358
|
* @param {Context} context context object
|
|
343
359
|
* @returns {SerializedType | Promise<SerializedType> | null} serialized data
|
|
@@ -349,6 +365,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
349
365
|
/** @type {Map<ReferenceableItem, number>} */
|
|
350
366
|
let referenceable = new Map();
|
|
351
367
|
/**
|
|
368
|
+
* Adds referenceable.
|
|
352
369
|
* @param {ReferenceableItem} item referenceable item
|
|
353
370
|
*/
|
|
354
371
|
const addReferenceable = (item) => {
|
|
@@ -357,6 +374,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
357
374
|
/** @type {Map<number, Buffer | [Buffer, Buffer] | Map<string, Buffer>>} */
|
|
358
375
|
let bufferDedupeMap = new Map();
|
|
359
376
|
/**
|
|
377
|
+
* Returns deduped buffer.
|
|
360
378
|
* @param {Buffer} buf buffer
|
|
361
379
|
* @returns {Buffer} deduped buffer
|
|
362
380
|
*/
|
|
@@ -426,6 +444,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
426
444
|
/** @type {Set<ComplexSerializableType>} */
|
|
427
445
|
const cycleStack = new Set();
|
|
428
446
|
/**
|
|
447
|
+
* Returns stack.
|
|
429
448
|
* @param {ComplexSerializableType} item item to stack
|
|
430
449
|
* @returns {string} stack
|
|
431
450
|
*/
|
|
@@ -531,6 +550,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
531
550
|
};
|
|
532
551
|
this.extendContext(ctx);
|
|
533
552
|
/**
|
|
553
|
+
* Processes the provided item.
|
|
534
554
|
* @param {ComplexSerializableType} item item to serialize
|
|
535
555
|
*/
|
|
536
556
|
const process = (item) => {
|
|
@@ -681,6 +701,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
681
701
|
}
|
|
682
702
|
|
|
683
703
|
/**
|
|
704
|
+
* Restores this instance from the provided deserializer context.
|
|
684
705
|
* @param {SerializedType} data data
|
|
685
706
|
* @param {Context} context context object
|
|
686
707
|
* @returns {DeserializedType | Promise<DeserializedType>} deserialized data
|
|
@@ -703,6 +724,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
703
724
|
/** @type {ReferenceableItem[]} */
|
|
704
725
|
let referenceable = [];
|
|
705
726
|
/**
|
|
727
|
+
* Adds referenceable.
|
|
706
728
|
* @param {ReferenceableItem} item referenceable item
|
|
707
729
|
*/
|
|
708
730
|
const addReferenceable = (item) => {
|
|
@@ -726,6 +748,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|
|
726
748
|
};
|
|
727
749
|
this.extendContext(ctx);
|
|
728
750
|
/**
|
|
751
|
+
* Decodes the provided value.
|
|
729
752
|
* @returns {ComplexSerializableType} deserialize value
|
|
730
753
|
*/
|
|
731
754
|
const decodeValue = () => {
|
|
@@ -10,12 +10,14 @@
|
|
|
10
10
|
/** @typedef {EXPECTED_FUNCTION} CacheAssoc */
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
+
* Defines the shared type used by this module.
|
|
13
14
|
* @template T
|
|
14
15
|
* @typedef {WeakMap<CacheAssoc, ObjectStructure<T>>}
|
|
15
16
|
*/
|
|
16
17
|
const cache = new WeakMap();
|
|
17
18
|
|
|
18
19
|
/**
|
|
20
|
+
* Represents ObjectStructure.
|
|
19
21
|
* @template T
|
|
20
22
|
*/
|
|
21
23
|
class ObjectStructure {
|
|
@@ -27,6 +29,7 @@ class ObjectStructure {
|
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
/**
|
|
32
|
+
* Returns keys.
|
|
30
33
|
* @param {keyof T[]} keys keys
|
|
31
34
|
* @returns {keyof T[]} keys
|
|
32
35
|
*/
|
|
@@ -36,6 +39,7 @@ class ObjectStructure {
|
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
/**
|
|
42
|
+
* Returns object structure.
|
|
39
43
|
* @param {keyof T} key key
|
|
40
44
|
* @returns {ObjectStructure<T>} object structure
|
|
41
45
|
*/
|
|
@@ -50,6 +54,7 @@ class ObjectStructure {
|
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
/**
|
|
57
|
+
* Returns keys.
|
|
53
58
|
* @template T
|
|
54
59
|
* @param {(keyof T)[]} keys keys
|
|
55
60
|
* @param {CacheAssoc} cacheAssoc cache assoc fn
|
|
@@ -70,6 +75,7 @@ const getCachedKeys = (keys, cacheAssoc) => {
|
|
|
70
75
|
|
|
71
76
|
class PlainObjectSerializer {
|
|
72
77
|
/**
|
|
78
|
+
* Serializes this instance into the provided serializer context.
|
|
73
79
|
* @template {object} T
|
|
74
80
|
* @param {T} obj plain object
|
|
75
81
|
* @param {ObjectSerializerContext} context context
|
|
@@ -98,6 +104,7 @@ class PlainObjectSerializer {
|
|
|
98
104
|
}
|
|
99
105
|
|
|
100
106
|
/**
|
|
107
|
+
* Restores this instance from the provided deserializer context.
|
|
101
108
|
* @template {object} T
|
|
102
109
|
* @param {ObjectDeserializerContext} context context
|
|
103
110
|
* @returns {T} plain object
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
class RegExpObjectSerializer {
|
|
11
11
|
/**
|
|
12
|
+
* Serializes this instance into the provided serializer context.
|
|
12
13
|
* @param {RegExp} obj regexp
|
|
13
14
|
* @param {ObjectSerializerContext} context context
|
|
14
15
|
*/
|
|
@@ -18,6 +19,7 @@ class RegExpObjectSerializer {
|
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
/**
|
|
22
|
+
* Restores this instance from the provided deserializer context.
|
|
21
23
|
* @param {ObjectDeserializerContext} context context
|
|
22
24
|
* @returns {RegExp} regexp
|
|
23
25
|
*/
|
|
@@ -5,17 +5,20 @@
|
|
|
5
5
|
"use strict";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
+
* Defines the serializer middleware type used by this module.
|
|
8
9
|
* @template T, K, C
|
|
9
10
|
* @typedef {import("./SerializerMiddleware")<T, K, C>} SerializerMiddleware
|
|
10
11
|
*/
|
|
11
12
|
|
|
12
13
|
/**
|
|
14
|
+
* Represents Serializer.
|
|
13
15
|
* @template DeserializedValue
|
|
14
16
|
* @template SerializedValue
|
|
15
17
|
* @template Context
|
|
16
18
|
*/
|
|
17
19
|
class Serializer {
|
|
18
20
|
/**
|
|
21
|
+
* Creates an instance of Serializer.
|
|
19
22
|
* @param {SerializerMiddleware<EXPECTED_ANY, EXPECTED_ANY, EXPECTED_ANY>[]} middlewares serializer middlewares
|
|
20
23
|
* @param {Context=} context context
|
|
21
24
|
*/
|
|
@@ -26,6 +29,7 @@ class Serializer {
|
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
/**
|
|
32
|
+
* Serializes this instance into the provided serializer context.
|
|
29
33
|
* @template ExtendedContext
|
|
30
34
|
* @param {DeserializedValue | Promise<DeserializedValue>} obj object
|
|
31
35
|
* @param {Context & ExtendedContext} context context object
|
|
@@ -57,6 +61,7 @@ class Serializer {
|
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
/**
|
|
64
|
+
* Restores this instance from the provided deserializer context.
|
|
60
65
|
* @template ExtendedContext
|
|
61
66
|
* @param {SerializedValue | Promise<SerializedValue>} value value
|
|
62
67
|
* @param {Context & ExtendedContext} context object
|
|
@@ -13,6 +13,7 @@ const LAZY_SERIALIZED_VALUE = Symbol("lazy serialization data");
|
|
|
13
13
|
/** @typedef {Record<string, EXPECTED_ANY>} LazyOptions */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Defines the lazy function type used by this module.
|
|
16
17
|
* @template InputValue
|
|
17
18
|
* @template OutputValue
|
|
18
19
|
* @template {LazyTarget} InternalLazyTarget
|
|
@@ -21,6 +22,7 @@ const LAZY_SERIALIZED_VALUE = Symbol("lazy serialization data");
|
|
|
21
22
|
*/
|
|
22
23
|
|
|
23
24
|
/**
|
|
25
|
+
* Represents SerializerMiddleware.
|
|
24
26
|
* @template DeserializedType
|
|
25
27
|
* @template SerializedType
|
|
26
28
|
* @template Context
|
|
@@ -28,6 +30,7 @@ const LAZY_SERIALIZED_VALUE = Symbol("lazy serialization data");
|
|
|
28
30
|
class SerializerMiddleware {
|
|
29
31
|
/* istanbul ignore next */
|
|
30
32
|
/**
|
|
33
|
+
* Serializes this instance into the provided serializer context.
|
|
31
34
|
* @abstract
|
|
32
35
|
* @param {DeserializedType} data data
|
|
33
36
|
* @param {Context} context context object
|
|
@@ -41,6 +44,7 @@ class SerializerMiddleware {
|
|
|
41
44
|
|
|
42
45
|
/* istanbul ignore next */
|
|
43
46
|
/**
|
|
47
|
+
* Restores this instance from the provided deserializer context.
|
|
44
48
|
* @abstract
|
|
45
49
|
* @param {SerializedType} data data
|
|
46
50
|
* @param {Context} context context object
|
|
@@ -53,6 +57,7 @@ class SerializerMiddleware {
|
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
/**
|
|
60
|
+
* Creates a lazy from the provided value.
|
|
56
61
|
* @template TLazyInputValue
|
|
57
62
|
* @template TLazyOutputValue
|
|
58
63
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -80,6 +85,7 @@ class SerializerMiddleware {
|
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
/**
|
|
88
|
+
* Checks whether this serializer middleware is lazy.
|
|
83
89
|
* @template {LazyTarget} TLazyTarget
|
|
84
90
|
* @param {EXPECTED_ANY} fn lazy function
|
|
85
91
|
* @param {TLazyTarget=} target target middleware
|
|
@@ -92,6 +98,7 @@ class SerializerMiddleware {
|
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
/**
|
|
101
|
+
* Returns options.
|
|
95
102
|
* @template TLazyInputValue
|
|
96
103
|
* @template TLazyOutputValue
|
|
97
104
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -105,6 +112,7 @@ class SerializerMiddleware {
|
|
|
105
112
|
}
|
|
106
113
|
|
|
107
114
|
/**
|
|
115
|
+
* Gets lazy serialized value.
|
|
108
116
|
* @template TLazyInputValue
|
|
109
117
|
* @template TLazyOutputValue
|
|
110
118
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -118,6 +126,7 @@ class SerializerMiddleware {
|
|
|
118
126
|
}
|
|
119
127
|
|
|
120
128
|
/**
|
|
129
|
+
* Sets lazy serialized value.
|
|
121
130
|
* @template TLazyInputValue
|
|
122
131
|
* @template TLazyOutputValue
|
|
123
132
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -131,6 +140,7 @@ class SerializerMiddleware {
|
|
|
131
140
|
}
|
|
132
141
|
|
|
133
142
|
/**
|
|
143
|
+
* Returns new lazy.
|
|
134
144
|
* @template TLazyInputValue DeserializedValue
|
|
135
145
|
* @template TLazyOutputValue SerializedValue
|
|
136
146
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -165,6 +175,7 @@ class SerializerMiddleware {
|
|
|
165
175
|
}
|
|
166
176
|
|
|
167
177
|
/**
|
|
178
|
+
* Returns new lazy.
|
|
168
179
|
* @template TLazyInputValue SerializedValue
|
|
169
180
|
* @template TLazyOutputValue DeserializedValue
|
|
170
181
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -198,6 +209,7 @@ class SerializerMiddleware {
|
|
|
198
209
|
}
|
|
199
210
|
|
|
200
211
|
/**
|
|
212
|
+
* Returns new lazy.
|
|
201
213
|
* @template TLazyInputValue
|
|
202
214
|
* @template TLazyOutputValue
|
|
203
215
|
* @template {LazyTarget} TLazyTarget
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
class SetObjectSerializer {
|
|
11
11
|
/**
|
|
12
|
+
* Serializes this instance into the provided serializer context.
|
|
12
13
|
* @template T
|
|
13
14
|
* @param {Set<T>} obj set
|
|
14
15
|
* @param {ObjectSerializerContext} context context
|
|
@@ -21,6 +22,7 @@ class SetObjectSerializer {
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
/**
|
|
25
|
+
* Restores this instance from the provided deserializer context.
|
|
24
26
|
* @template T
|
|
25
27
|
* @param {ObjectDeserializerContext} context context
|
|
26
28
|
* @returns {Set<T>} date
|
|
@@ -11,10 +11,12 @@ const SerializerMiddleware = require("./SerializerMiddleware");
|
|
|
11
11
|
/** @typedef {EXPECTED_OBJECT} Context */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Represents SingleItemMiddleware.
|
|
14
15
|
* @extends {SerializerMiddleware<DeserializedType, SerializedType, Context>}
|
|
15
16
|
*/
|
|
16
17
|
class SingleItemMiddleware extends SerializerMiddleware {
|
|
17
18
|
/**
|
|
19
|
+
* Serializes this instance into the provided serializer context.
|
|
18
20
|
* @param {DeserializedType} data data
|
|
19
21
|
* @param {Context} context context object
|
|
20
22
|
* @returns {SerializedType | Promise<SerializedType> | null} serialized data
|
|
@@ -24,6 +26,7 @@ class SingleItemMiddleware extends SerializerMiddleware {
|
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
/**
|
|
29
|
+
* Restores this instance from the provided deserializer context.
|
|
27
30
|
* @param {SerializedType} data data
|
|
28
31
|
* @param {Context} context context object
|
|
29
32
|
* @returns {DeserializedType | Promise<DeserializedType>} deserialized data
|
|
@@ -10,6 +10,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
10
10
|
|
|
11
11
|
class ConsumeSharedFallbackDependency extends ModuleDependency {
|
|
12
12
|
/**
|
|
13
|
+
* Creates an instance of ConsumeSharedFallbackDependency.
|
|
13
14
|
* @param {string} request the request
|
|
14
15
|
*/
|
|
15
16
|
constructor(request) {
|