@depup/webpack 5.106.1-depup.0 → 5.109.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/bin/webpack.js +12 -0
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +153 -19
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +27 -28
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +85 -37
- package/lib/Compilation.js +656 -112
- package/lib/Compiler.js +109 -35
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +537 -139
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +421 -113
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +381 -80
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +701 -175
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +115 -8
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +33 -30
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -57
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +18 -4
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +519 -206
- package/lib/NormalModuleFactory.js +156 -31
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +123 -118
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +52 -6
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +302 -12
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +612 -43
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/HoistContainerReferencesPlugin.js +47 -55
- package/lib/container/ModuleFederationPlugin.js +21 -29
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +540 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +173 -81
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +371 -208
- package/lib/css/CssParser.js +3538 -1963
- package/lib/css/syntax.js +4155 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +681 -367
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +60 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +427 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +53 -12
- package/lib/html/HtmlGenerator.js +1490 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1129 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9106 -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 +49 -12
- 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 +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- 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 +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +628 -198
- package/lib/javascript/JavascriptParser.js +1334 -471
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +5037 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -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 +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +22 -16
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +603 -130
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- 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 +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +229 -55
- package/lib/optimize/RealContentHashPlugin.js +130 -52
- 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 +381 -55
- package/lib/optimize/SplitChunksPlugin.js +200 -50
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +687 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -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 +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +427 -1006
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +345 -59
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
- package/lib/stats/StatsFactory.js +70 -27
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +118 -7
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- 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 +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1173 -80
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +11053 -3019
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
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,9 +35,11 @@ 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) {
|
|
42
|
+
/** @type {ItemCacheFacade[]} */
|
|
39
43
|
this._items = items;
|
|
40
44
|
// @ts-expect-error expected - returns the single ItemCacheFacade when passed an array of length 1
|
|
41
45
|
// eslint-disable-next-line no-constructor-return
|
|
@@ -43,6 +47,7 @@ class MultiItemCache {
|
|
|
43
47
|
}
|
|
44
48
|
|
|
45
49
|
/**
|
|
50
|
+
* Returns value.
|
|
46
51
|
* @template T
|
|
47
52
|
* @param {CallbackCache<T>} callback signals when the value is retrieved
|
|
48
53
|
* @returns {void}
|
|
@@ -52,11 +57,13 @@ class MultiItemCache {
|
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
/**
|
|
60
|
+
* Returns promise with the data.
|
|
55
61
|
* @template T
|
|
56
62
|
* @returns {Promise<T>} promise with the data
|
|
57
63
|
*/
|
|
58
64
|
getPromise() {
|
|
59
65
|
/**
|
|
66
|
+
* Returns promise with the data.
|
|
60
67
|
* @param {number} i index
|
|
61
68
|
* @returns {Promise<T>} promise with the data
|
|
62
69
|
*/
|
|
@@ -69,6 +76,7 @@ class MultiItemCache {
|
|
|
69
76
|
}
|
|
70
77
|
|
|
71
78
|
/**
|
|
79
|
+
* Processes the provided data.
|
|
72
80
|
* @template T
|
|
73
81
|
* @param {T} data the value to store
|
|
74
82
|
* @param {CallbackCache<void>} callback signals when the value is stored
|
|
@@ -83,6 +91,7 @@ class MultiItemCache {
|
|
|
83
91
|
}
|
|
84
92
|
|
|
85
93
|
/**
|
|
94
|
+
* Stores the provided data.
|
|
86
95
|
* @template T
|
|
87
96
|
* @param {T} data the value to store
|
|
88
97
|
* @returns {Promise<void>} promise signals when the value is stored
|
|
@@ -96,17 +105,22 @@ class MultiItemCache {
|
|
|
96
105
|
|
|
97
106
|
class ItemCacheFacade {
|
|
98
107
|
/**
|
|
108
|
+
* Creates an instance of ItemCacheFacade.
|
|
99
109
|
* @param {Cache} cache the root cache
|
|
100
110
|
* @param {string} name the child cache item name
|
|
101
111
|
* @param {Etag | null} etag the etag
|
|
102
112
|
*/
|
|
103
113
|
constructor(cache, name, etag) {
|
|
114
|
+
/** @type {Cache} */
|
|
104
115
|
this._cache = cache;
|
|
116
|
+
/** @type {string} */
|
|
105
117
|
this._name = name;
|
|
118
|
+
/** @type {Etag | null} */
|
|
106
119
|
this._etag = etag;
|
|
107
120
|
}
|
|
108
121
|
|
|
109
122
|
/**
|
|
123
|
+
* Returns value.
|
|
110
124
|
* @template T
|
|
111
125
|
* @param {CallbackCache<T>} callback signals when the value is retrieved
|
|
112
126
|
* @returns {void}
|
|
@@ -116,6 +130,7 @@ class ItemCacheFacade {
|
|
|
116
130
|
}
|
|
117
131
|
|
|
118
132
|
/**
|
|
133
|
+
* Returns promise with the data.
|
|
119
134
|
* @template T
|
|
120
135
|
* @returns {Promise<T>} promise with the data
|
|
121
136
|
*/
|
|
@@ -132,6 +147,7 @@ class ItemCacheFacade {
|
|
|
132
147
|
}
|
|
133
148
|
|
|
134
149
|
/**
|
|
150
|
+
* Processes the provided data.
|
|
135
151
|
* @template T
|
|
136
152
|
* @param {T} data the value to store
|
|
137
153
|
* @param {CallbackCache<void>} callback signals when the value is stored
|
|
@@ -142,6 +158,7 @@ class ItemCacheFacade {
|
|
|
142
158
|
}
|
|
143
159
|
|
|
144
160
|
/**
|
|
161
|
+
* Stores the provided data.
|
|
145
162
|
* @template T
|
|
146
163
|
* @param {T} data the value to store
|
|
147
164
|
* @returns {Promise<void>} promise signals when the value is stored
|
|
@@ -159,6 +176,7 @@ class ItemCacheFacade {
|
|
|
159
176
|
}
|
|
160
177
|
|
|
161
178
|
/**
|
|
179
|
+
* Processes the provided computer.
|
|
162
180
|
* @template T
|
|
163
181
|
* @param {(callback: CallbackNormalErrorCache<T>) => void} computer function to compute the value if not cached
|
|
164
182
|
* @param {CallbackNormalErrorCache<T>} callback signals when the value is retrieved
|
|
@@ -179,6 +197,7 @@ class ItemCacheFacade {
|
|
|
179
197
|
}
|
|
180
198
|
|
|
181
199
|
/**
|
|
200
|
+
* Returns promise with the data.
|
|
182
201
|
* @template T
|
|
183
202
|
* @param {() => Promise<T> | T} computer function to compute the value if not cached
|
|
184
203
|
* @returns {Promise<T>} promise with the data
|
|
@@ -194,17 +213,30 @@ class ItemCacheFacade {
|
|
|
194
213
|
|
|
195
214
|
class CacheFacade {
|
|
196
215
|
/**
|
|
216
|
+
* Creates an instance of CacheFacade.
|
|
197
217
|
* @param {Cache} cache the root cache
|
|
198
218
|
* @param {string} name the child cache name
|
|
199
219
|
* @param {HashFunction=} hashFunction the hash function to use
|
|
200
220
|
*/
|
|
201
221
|
constructor(cache, name, hashFunction) {
|
|
222
|
+
/** @type {Cache} */
|
|
202
223
|
this._cache = cache;
|
|
224
|
+
/** @type {string} */
|
|
203
225
|
this._name = name;
|
|
226
|
+
/** @type {HashFunction | undefined} */
|
|
204
227
|
this._hashFunction = hashFunction;
|
|
205
228
|
}
|
|
206
229
|
|
|
207
230
|
/**
|
|
231
|
+
* Returns whether a cache backend is active.
|
|
232
|
+
* @returns {boolean} true, when get or store can have an effect
|
|
233
|
+
*/
|
|
234
|
+
isEnabled() {
|
|
235
|
+
return this._cache.hooks.get.isUsed() || this._cache.hooks.store.isUsed();
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Returns child cache.
|
|
208
240
|
* @param {string} name the child cache name#
|
|
209
241
|
* @returns {CacheFacade} child cache
|
|
210
242
|
*/
|
|
@@ -217,6 +249,7 @@ class CacheFacade {
|
|
|
217
249
|
}
|
|
218
250
|
|
|
219
251
|
/**
|
|
252
|
+
* Returns item cache.
|
|
220
253
|
* @param {string} identifier the cache identifier
|
|
221
254
|
* @param {Etag | null} etag the etag
|
|
222
255
|
* @returns {ItemCacheFacade} item cache
|
|
@@ -230,6 +263,7 @@ class CacheFacade {
|
|
|
230
263
|
}
|
|
231
264
|
|
|
232
265
|
/**
|
|
266
|
+
* Gets lazy hashed etag.
|
|
233
267
|
* @param {HashableObject} obj an hashable object
|
|
234
268
|
* @returns {Etag} an etag that is lazy hashed
|
|
235
269
|
*/
|
|
@@ -238,6 +272,7 @@ class CacheFacade {
|
|
|
238
272
|
}
|
|
239
273
|
|
|
240
274
|
/**
|
|
275
|
+
* Merges the provided values into a single result.
|
|
241
276
|
* @param {Etag} a an etag
|
|
242
277
|
* @param {Etag} b another etag
|
|
243
278
|
* @returns {Etag} an etag that represents both
|
|
@@ -247,6 +282,7 @@ class CacheFacade {
|
|
|
247
282
|
}
|
|
248
283
|
|
|
249
284
|
/**
|
|
285
|
+
* Returns value.
|
|
250
286
|
* @template T
|
|
251
287
|
* @param {string} identifier the cache identifier
|
|
252
288
|
* @param {Etag | null} etag the etag
|
|
@@ -258,6 +294,7 @@ class CacheFacade {
|
|
|
258
294
|
}
|
|
259
295
|
|
|
260
296
|
/**
|
|
297
|
+
* Returns promise with the data.
|
|
261
298
|
* @template T
|
|
262
299
|
* @param {string} identifier the cache identifier
|
|
263
300
|
* @param {Etag | null} etag the etag
|
|
@@ -276,6 +313,7 @@ class CacheFacade {
|
|
|
276
313
|
}
|
|
277
314
|
|
|
278
315
|
/**
|
|
316
|
+
* Processes the provided identifier.
|
|
279
317
|
* @template T
|
|
280
318
|
* @param {string} identifier the cache identifier
|
|
281
319
|
* @param {Etag | null} etag the etag
|
|
@@ -288,6 +326,7 @@ class CacheFacade {
|
|
|
288
326
|
}
|
|
289
327
|
|
|
290
328
|
/**
|
|
329
|
+
* Stores the provided identifier.
|
|
291
330
|
* @template T
|
|
292
331
|
* @param {string} identifier the cache identifier
|
|
293
332
|
* @param {Etag | null} etag the etag
|
|
@@ -307,6 +346,7 @@ class CacheFacade {
|
|
|
307
346
|
}
|
|
308
347
|
|
|
309
348
|
/**
|
|
349
|
+
* Processes the provided identifier.
|
|
310
350
|
* @template T
|
|
311
351
|
* @param {string} identifier the cache identifier
|
|
312
352
|
* @param {Etag | null} etag the etag
|
|
@@ -329,6 +369,7 @@ class CacheFacade {
|
|
|
329
369
|
}
|
|
330
370
|
|
|
331
371
|
/**
|
|
372
|
+
* Returns promise with the data.
|
|
332
373
|
* @template T
|
|
333
374
|
* @param {string} identifier the cache identifier
|
|
334
375
|
* @param {Etag | null} etag the etag
|
package/lib/Chunk.js
CHANGED
|
@@ -26,7 +26,9 @@ const { mergeRuntime } = require("./util/runtime");
|
|
|
26
26
|
/** @typedef {import("./ChunkGroup").ChunkGroupOptions} ChunkGroupOptions */
|
|
27
27
|
/** @typedef {import("./Entrypoint").EntryOptions} EntryOptions */
|
|
28
28
|
/** @typedef {import("./Module")} Module */
|
|
29
|
-
/** @typedef {import("./
|
|
29
|
+
/** @typedef {import("./Compilation").PathDataChunk} PathDataChunk */
|
|
30
|
+
/** @typedef {import("./TemplatedPathPlugin").TemplatePathFn<PathDataChunk>} ChunkFilenameTemplateFn */
|
|
31
|
+
/** @typedef {string | ChunkFilenameTemplateFn} ChunkFilenameTemplate */
|
|
30
32
|
/** @typedef {import("./util/Hash")} Hash */
|
|
31
33
|
/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
|
|
32
34
|
|
|
@@ -37,6 +39,7 @@ const { mergeRuntime } = require("./util/runtime");
|
|
|
37
39
|
const ChunkFilesSet = createArrayToSetDeprecationSet("chunk.files");
|
|
38
40
|
|
|
39
41
|
/**
|
|
42
|
+
* Defines the chunk maps type used by this module.
|
|
40
43
|
* @deprecated
|
|
41
44
|
* @typedef {object} ChunkMaps
|
|
42
45
|
* @property {Record<ChunkId, string>} hash
|
|
@@ -45,16 +48,19 @@ const ChunkFilesSet = createArrayToSetDeprecationSet("chunk.files");
|
|
|
45
48
|
*/
|
|
46
49
|
|
|
47
50
|
/**
|
|
51
|
+
* Defines the chunk module id map type used by this module.
|
|
48
52
|
* @deprecated
|
|
49
53
|
* @typedef {Record<ChunkId, ChunkId[]>} ChunkModuleIdMap
|
|
50
54
|
*/
|
|
51
55
|
|
|
52
56
|
/**
|
|
57
|
+
* Defines the chunk module hash map type used by this module.
|
|
53
58
|
* @deprecated
|
|
54
59
|
* @typedef {Record<ModuleId, string>} chunkModuleHashMap
|
|
55
60
|
*/
|
|
56
61
|
|
|
57
62
|
/**
|
|
63
|
+
* Defines the chunk module maps type used by this module.
|
|
58
64
|
* @deprecated
|
|
59
65
|
* @typedef {object} ChunkModuleMaps
|
|
60
66
|
* @property {ChunkModuleIdMap} id
|
|
@@ -77,6 +83,7 @@ let debugId = 1000;
|
|
|
77
83
|
*/
|
|
78
84
|
class Chunk {
|
|
79
85
|
/**
|
|
86
|
+
* Creates an instance of Chunk.
|
|
80
87
|
* @param {ChunkName=} name of chunk being created, is optional (for subclasses)
|
|
81
88
|
* @param {boolean} backCompat enable backward-compatibility
|
|
82
89
|
*/
|
|
@@ -93,9 +100,9 @@ class Chunk {
|
|
|
93
100
|
this.idNameHints = new SortableSet();
|
|
94
101
|
/** @type {boolean} */
|
|
95
102
|
this.preventIntegration = false;
|
|
96
|
-
/** @type {
|
|
103
|
+
/** @type {ChunkFilenameTemplate | undefined} */
|
|
97
104
|
this.filenameTemplate = undefined;
|
|
98
|
-
/** @type {
|
|
105
|
+
/** @type {ChunkFilenameTemplate | undefined} */
|
|
99
106
|
this.cssFilenameTemplate = undefined;
|
|
100
107
|
/**
|
|
101
108
|
* @private
|
|
@@ -114,6 +121,10 @@ class Chunk {
|
|
|
114
121
|
this.hash = undefined;
|
|
115
122
|
/** @type {Record<string, string>} */
|
|
116
123
|
this.contentHash = Object.create(null);
|
|
124
|
+
// Full (untruncated) content digests, so `[contenthash:<digest>]` re-encodes
|
|
125
|
+
// from full entropy. Transient: repopulated by the `contentHash` hook each seal.
|
|
126
|
+
/** @type {Record<string, string>} */
|
|
127
|
+
this.contentHashFull = Object.create(null);
|
|
117
128
|
/** @type {string=} */
|
|
118
129
|
this.renderedHash = undefined;
|
|
119
130
|
/** @type {string=} */
|
|
@@ -125,6 +136,7 @@ class Chunk {
|
|
|
125
136
|
// TODO remove in webpack 6
|
|
126
137
|
// BACKWARD-COMPAT START
|
|
127
138
|
/**
|
|
139
|
+
* Returns entry module.
|
|
128
140
|
* @deprecated
|
|
129
141
|
* @returns {Module | undefined} entry module
|
|
130
142
|
*/
|
|
@@ -148,6 +160,7 @@ class Chunk {
|
|
|
148
160
|
}
|
|
149
161
|
|
|
150
162
|
/**
|
|
163
|
+
* Checks whether this chunk has an entry module.
|
|
151
164
|
* @deprecated
|
|
152
165
|
* @returns {boolean} true, if the chunk contains an entry module
|
|
153
166
|
*/
|
|
@@ -162,6 +175,7 @@ class Chunk {
|
|
|
162
175
|
}
|
|
163
176
|
|
|
164
177
|
/**
|
|
178
|
+
* Adds the provided module to the chunk.
|
|
165
179
|
* @deprecated
|
|
166
180
|
* @param {Module} module the module
|
|
167
181
|
* @returns {boolean} true, if the chunk could be added
|
|
@@ -178,6 +192,7 @@ class Chunk {
|
|
|
178
192
|
}
|
|
179
193
|
|
|
180
194
|
/**
|
|
195
|
+
* Removes the provided module from the chunk.
|
|
181
196
|
* @deprecated
|
|
182
197
|
* @param {Module} module the module
|
|
183
198
|
* @returns {void}
|
|
@@ -191,6 +206,7 @@ class Chunk {
|
|
|
191
206
|
}
|
|
192
207
|
|
|
193
208
|
/**
|
|
209
|
+
* Gets the number of modules in this chunk.
|
|
194
210
|
* @deprecated
|
|
195
211
|
* @returns {number} the number of module which are contained in this chunk
|
|
196
212
|
*/
|
|
@@ -219,6 +235,7 @@ class Chunk {
|
|
|
219
235
|
}
|
|
220
236
|
|
|
221
237
|
/**
|
|
238
|
+
* Compares this chunk with another chunk.
|
|
222
239
|
* @deprecated
|
|
223
240
|
* @param {Chunk} otherChunk the chunk to compare with
|
|
224
241
|
* @returns {-1 | 0 | 1} the comparison result
|
|
@@ -233,6 +250,7 @@ class Chunk {
|
|
|
233
250
|
}
|
|
234
251
|
|
|
235
252
|
/**
|
|
253
|
+
* Checks whether this chunk contains the module.
|
|
236
254
|
* @deprecated
|
|
237
255
|
* @param {Module} module the module
|
|
238
256
|
* @returns {boolean} true, if the chunk contains the module
|
|
@@ -246,6 +264,7 @@ class Chunk {
|
|
|
246
264
|
}
|
|
247
265
|
|
|
248
266
|
/**
|
|
267
|
+
* Returns the modules for this chunk.
|
|
249
268
|
* @deprecated
|
|
250
269
|
* @returns {Module[]} the modules for this chunk
|
|
251
270
|
*/
|
|
@@ -258,6 +277,7 @@ class Chunk {
|
|
|
258
277
|
}
|
|
259
278
|
|
|
260
279
|
/**
|
|
280
|
+
* Removes this chunk from the chunk graph and chunk groups.
|
|
261
281
|
* @deprecated
|
|
262
282
|
* @returns {void}
|
|
263
283
|
*/
|
|
@@ -272,6 +292,7 @@ class Chunk {
|
|
|
272
292
|
}
|
|
273
293
|
|
|
274
294
|
/**
|
|
295
|
+
* Moves a module from this chunk to another chunk.
|
|
275
296
|
* @deprecated
|
|
276
297
|
* @param {Module} module the module
|
|
277
298
|
* @param {Chunk} otherChunk the target chunk
|
|
@@ -288,6 +309,7 @@ class Chunk {
|
|
|
288
309
|
}
|
|
289
310
|
|
|
290
311
|
/**
|
|
312
|
+
* Integrates another chunk into this chunk when possible.
|
|
291
313
|
* @deprecated
|
|
292
314
|
* @param {Chunk} otherChunk the other chunk
|
|
293
315
|
* @returns {boolean} true, if the specified chunk has been integrated
|
|
@@ -307,6 +329,7 @@ class Chunk {
|
|
|
307
329
|
}
|
|
308
330
|
|
|
309
331
|
/**
|
|
332
|
+
* Checks whether this chunk can be integrated with another chunk.
|
|
310
333
|
* @deprecated
|
|
311
334
|
* @param {Chunk} otherChunk the other chunk
|
|
312
335
|
* @returns {boolean} true, if chunks could be integrated
|
|
@@ -321,6 +344,7 @@ class Chunk {
|
|
|
321
344
|
}
|
|
322
345
|
|
|
323
346
|
/**
|
|
347
|
+
* Checks whether this chunk is empty.
|
|
324
348
|
* @deprecated
|
|
325
349
|
* @returns {boolean} true, if this chunk contains no module
|
|
326
350
|
*/
|
|
@@ -334,6 +358,7 @@ class Chunk {
|
|
|
334
358
|
}
|
|
335
359
|
|
|
336
360
|
/**
|
|
361
|
+
* Returns the total size of all modules in this chunk.
|
|
337
362
|
* @deprecated
|
|
338
363
|
* @returns {number} total size of all modules in this chunk
|
|
339
364
|
*/
|
|
@@ -347,6 +372,7 @@ class Chunk {
|
|
|
347
372
|
}
|
|
348
373
|
|
|
349
374
|
/**
|
|
375
|
+
* Returns the estimated size for the requested source type.
|
|
350
376
|
* @deprecated
|
|
351
377
|
* @param {ChunkSizeOptions} options options object
|
|
352
378
|
* @returns {number} total size of this chunk
|
|
@@ -361,6 +387,7 @@ class Chunk {
|
|
|
361
387
|
}
|
|
362
388
|
|
|
363
389
|
/**
|
|
390
|
+
* Returns the integrated size with another chunk.
|
|
364
391
|
* @deprecated
|
|
365
392
|
* @param {Chunk} otherChunk the other chunk
|
|
366
393
|
* @param {ChunkSizeOptions} options options object
|
|
@@ -376,6 +403,7 @@ class Chunk {
|
|
|
376
403
|
}
|
|
377
404
|
|
|
378
405
|
/**
|
|
406
|
+
* Gets chunk module maps.
|
|
379
407
|
* @deprecated
|
|
380
408
|
* @param {ModuleFilterPredicate} filterFn function used to filter modules
|
|
381
409
|
* @returns {ChunkModuleMaps} module map information
|
|
@@ -422,6 +450,7 @@ class Chunk {
|
|
|
422
450
|
}
|
|
423
451
|
|
|
424
452
|
/**
|
|
453
|
+
* Checks whether this chunk contains a matching module in the graph.
|
|
425
454
|
* @deprecated
|
|
426
455
|
* @param {ModuleFilterPredicate} filterFn predicate function used to filter modules
|
|
427
456
|
* @param {ChunkFilterPredicate=} filterChunkFn predicate function used to filter chunks
|
|
@@ -437,6 +466,7 @@ class Chunk {
|
|
|
437
466
|
}
|
|
438
467
|
|
|
439
468
|
/**
|
|
469
|
+
* Returns the chunk map information.
|
|
440
470
|
* @deprecated
|
|
441
471
|
* @param {boolean} realHash whether the full hash or the rendered hash is to be used
|
|
442
472
|
* @returns {ChunkMaps} the chunk map information
|
|
@@ -474,6 +504,7 @@ class Chunk {
|
|
|
474
504
|
// BACKWARD-COMPAT END
|
|
475
505
|
|
|
476
506
|
/**
|
|
507
|
+
* Checks whether this chunk has runtime.
|
|
477
508
|
* @returns {boolean} whether or not the Chunk will have a runtime
|
|
478
509
|
*/
|
|
479
510
|
hasRuntime() {
|
|
@@ -489,6 +520,7 @@ class Chunk {
|
|
|
489
520
|
}
|
|
490
521
|
|
|
491
522
|
/**
|
|
523
|
+
* Checks whether it can be initial.
|
|
492
524
|
* @returns {boolean} whether or not this chunk can be an initial chunk
|
|
493
525
|
*/
|
|
494
526
|
canBeInitial() {
|
|
@@ -499,6 +531,7 @@ class Chunk {
|
|
|
499
531
|
}
|
|
500
532
|
|
|
501
533
|
/**
|
|
534
|
+
* Checks whether this chunk is only initial.
|
|
502
535
|
* @returns {boolean} whether this chunk can only be an initial chunk
|
|
503
536
|
*/
|
|
504
537
|
isOnlyInitial() {
|
|
@@ -510,6 +543,7 @@ class Chunk {
|
|
|
510
543
|
}
|
|
511
544
|
|
|
512
545
|
/**
|
|
546
|
+
* Gets entry options.
|
|
513
547
|
* @returns {EntryOptions | undefined} the entry options for this chunk
|
|
514
548
|
*/
|
|
515
549
|
getEntryOptions() {
|
|
@@ -522,6 +556,7 @@ class Chunk {
|
|
|
522
556
|
}
|
|
523
557
|
|
|
524
558
|
/**
|
|
559
|
+
* Adds the provided chunk group to the chunk.
|
|
525
560
|
* @param {ChunkGroup} chunkGroup the chunkGroup the chunk is being added
|
|
526
561
|
* @returns {void}
|
|
527
562
|
*/
|
|
@@ -530,6 +565,7 @@ class Chunk {
|
|
|
530
565
|
}
|
|
531
566
|
|
|
532
567
|
/**
|
|
568
|
+
* Removes the provided chunk group from the chunk.
|
|
533
569
|
* @param {ChunkGroup} chunkGroup the chunkGroup the chunk is being removed from
|
|
534
570
|
* @returns {void}
|
|
535
571
|
*/
|
|
@@ -538,6 +574,7 @@ class Chunk {
|
|
|
538
574
|
}
|
|
539
575
|
|
|
540
576
|
/**
|
|
577
|
+
* Checks whether this chunk is in group.
|
|
541
578
|
* @param {ChunkGroup} chunkGroup the chunkGroup to check
|
|
542
579
|
* @returns {boolean} returns true if chunk has chunkGroup reference and exists in chunkGroup
|
|
543
580
|
*/
|
|
@@ -546,6 +583,7 @@ class Chunk {
|
|
|
546
583
|
}
|
|
547
584
|
|
|
548
585
|
/**
|
|
586
|
+
* Gets number of groups.
|
|
549
587
|
* @returns {number} the amount of groups that the said chunk is in
|
|
550
588
|
*/
|
|
551
589
|
getNumberOfGroups() {
|
|
@@ -553,6 +591,7 @@ class Chunk {
|
|
|
553
591
|
}
|
|
554
592
|
|
|
555
593
|
/**
|
|
594
|
+
* Gets groups iterable.
|
|
556
595
|
* @returns {SortableChunkGroups} the chunkGroups that the said chunk is referenced in
|
|
557
596
|
*/
|
|
558
597
|
get groupsIterable() {
|
|
@@ -561,6 +600,7 @@ class Chunk {
|
|
|
561
600
|
}
|
|
562
601
|
|
|
563
602
|
/**
|
|
603
|
+
* Disconnects from groups.
|
|
564
604
|
* @returns {void}
|
|
565
605
|
*/
|
|
566
606
|
disconnectFromGroups() {
|
|
@@ -570,6 +610,7 @@ class Chunk {
|
|
|
570
610
|
}
|
|
571
611
|
|
|
572
612
|
/**
|
|
613
|
+
* Processes the provided new chunk.
|
|
573
614
|
* @param {Chunk} newChunk the new chunk that will be split out of
|
|
574
615
|
* @returns {void}
|
|
575
616
|
*/
|
|
@@ -585,6 +626,7 @@ class Chunk {
|
|
|
585
626
|
}
|
|
586
627
|
|
|
587
628
|
/**
|
|
629
|
+
* Updates the hash with the data contributed by this instance.
|
|
588
630
|
* @param {Hash} hash hash (will be modified)
|
|
589
631
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
590
632
|
* @returns {void}
|
|
@@ -610,6 +652,7 @@ class Chunk {
|
|
|
610
652
|
}
|
|
611
653
|
|
|
612
654
|
/**
|
|
655
|
+
* Gets all async chunks.
|
|
613
656
|
* @returns {Chunks} a set of all the async chunks
|
|
614
657
|
*/
|
|
615
658
|
getAllAsyncChunks() {
|
|
@@ -650,6 +693,7 @@ class Chunk {
|
|
|
650
693
|
}
|
|
651
694
|
|
|
652
695
|
/**
|
|
696
|
+
* Gets all initial chunks.
|
|
653
697
|
* @returns {Chunks} a set of all the initial chunks (including itself)
|
|
654
698
|
*/
|
|
655
699
|
getAllInitialChunks() {
|
|
@@ -667,6 +711,7 @@ class Chunk {
|
|
|
667
711
|
}
|
|
668
712
|
|
|
669
713
|
/**
|
|
714
|
+
* Gets all referenced chunks.
|
|
670
715
|
* @returns {Chunks} a set of all the referenced chunks (including itself)
|
|
671
716
|
*/
|
|
672
717
|
getAllReferencedChunks() {
|
|
@@ -688,6 +733,7 @@ class Chunk {
|
|
|
688
733
|
}
|
|
689
734
|
|
|
690
735
|
/**
|
|
736
|
+
* Gets all referenced async entrypoints.
|
|
691
737
|
* @returns {Entrypoints} a set of all the referenced entrypoints
|
|
692
738
|
*/
|
|
693
739
|
getAllReferencedAsyncEntrypoints() {
|
|
@@ -709,6 +755,7 @@ class Chunk {
|
|
|
709
755
|
}
|
|
710
756
|
|
|
711
757
|
/**
|
|
758
|
+
* Checks whether this chunk has async chunks.
|
|
712
759
|
* @returns {boolean} true, if the chunk references async chunks
|
|
713
760
|
*/
|
|
714
761
|
hasAsyncChunks() {
|
|
@@ -740,6 +787,7 @@ class Chunk {
|
|
|
740
787
|
}
|
|
741
788
|
|
|
742
789
|
/**
|
|
790
|
+
* Gets child ids by orders.
|
|
743
791
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
744
792
|
* @param {ChunkFilterPredicate=} filterFn function used to filter chunks
|
|
745
793
|
* @returns {Record<string, ChunkId[]>} a record object of names to lists of child ids(?)
|
|
@@ -750,26 +798,21 @@ class Chunk {
|
|
|
750
798
|
for (const group of this.groupsIterable) {
|
|
751
799
|
if (group.chunks[group.chunks.length - 1] === this) {
|
|
752
800
|
for (const childGroup of group.childrenIterable) {
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
list
|
|
762
|
-
|
|
763
|
-
/** @type {number} */
|
|
764
|
-
(
|
|
765
|
-
childGroup.options[
|
|
766
|
-
/** @type {keyof ChunkGroupOptions} */
|
|
767
|
-
(key)
|
|
768
|
-
]
|
|
769
|
-
),
|
|
770
|
-
group: childGroup
|
|
771
|
-
});
|
|
801
|
+
const edgeOptions = group.getChildOrderOptions(
|
|
802
|
+
childGroup,
|
|
803
|
+
chunkGraph
|
|
804
|
+
);
|
|
805
|
+
for (const key of Object.keys(edgeOptions)) {
|
|
806
|
+
const name = key.slice(0, key.length - "Order".length);
|
|
807
|
+
let list = lists.get(name);
|
|
808
|
+
if (list === undefined) {
|
|
809
|
+
list = [];
|
|
810
|
+
lists.set(name, list);
|
|
772
811
|
}
|
|
812
|
+
list.push({
|
|
813
|
+
order: edgeOptions[key],
|
|
814
|
+
group: childGroup
|
|
815
|
+
});
|
|
773
816
|
}
|
|
774
817
|
}
|
|
775
818
|
}
|
|
@@ -798,6 +841,7 @@ class Chunk {
|
|
|
798
841
|
}
|
|
799
842
|
|
|
800
843
|
/**
|
|
844
|
+
* Gets children of type in order.
|
|
801
845
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
802
846
|
* @param {string} type option name
|
|
803
847
|
* @returns {ChunkChildOfTypeInOrder[] | undefined} referenced chunks for a specific type
|
|
@@ -807,9 +851,8 @@ class Chunk {
|
|
|
807
851
|
const list = [];
|
|
808
852
|
for (const group of this.groupsIterable) {
|
|
809
853
|
for (const childGroup of group.childrenIterable) {
|
|
810
|
-
const
|
|
811
|
-
|
|
812
|
-
(childGroup.options[/** @type {keyof ChunkGroupOptions} */ (type)]);
|
|
854
|
+
const edgeOptions = group.getChildOrderOptions(childGroup, chunkGraph);
|
|
855
|
+
const order = edgeOptions[type];
|
|
813
856
|
if (order === undefined) continue;
|
|
814
857
|
list.push({
|
|
815
858
|
order,
|
|
@@ -846,6 +889,7 @@ class Chunk {
|
|
|
846
889
|
}
|
|
847
890
|
|
|
848
891
|
/**
|
|
892
|
+
* Gets child ids by orders map.
|
|
849
893
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
850
894
|
* @param {boolean=} includeDirectChildren include direct children (by default only children of async children are included)
|
|
851
895
|
* @param {ChunkFilterPredicate=} filterFn function used to filter chunks
|
|
@@ -856,6 +900,7 @@ class Chunk {
|
|
|
856
900
|
const chunkMaps = Object.create(null);
|
|
857
901
|
|
|
858
902
|
/**
|
|
903
|
+
* Adds child ids by orders to map.
|
|
859
904
|
* @param {Chunk} chunk a chunk
|
|
860
905
|
* @returns {void}
|
|
861
906
|
*/
|
|
@@ -891,6 +936,7 @@ class Chunk {
|
|
|
891
936
|
}
|
|
892
937
|
|
|
893
938
|
/**
|
|
939
|
+
* Checks whether this chunk contains the chunk graph.
|
|
894
940
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
895
941
|
* @param {string} type option name
|
|
896
942
|
* @param {boolean=} includeDirectChildren include direct children (by default only children of async children are included)
|