@depup/webpack 5.106.0-depup.0 → 5.109.0-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/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 +141 -9
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +23 -26
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +54 -37
- package/lib/Compilation.js +635 -107
- package/lib/Compiler.js +93 -31
- 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 +498 -127
- 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 +399 -108
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +376 -78
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +575 -149
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +92 -6
- 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 +15 -0
- 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 -60
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +5 -2
- 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 +485 -181
- package/lib/NormalModuleFactory.js +148 -29
- 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 +104 -26
- 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 +29 -3
- 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 +43 -7
- 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 +591 -41
- 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/ModuleFederationPlugin.js +12 -26
- 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 +534 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +156 -77
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +356 -204
- package/lib/css/CssParser.js +3452 -1950
- package/lib/css/syntax.js +4058 -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 +138 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -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 +682 -368
- 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 +32 -2
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
- 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 +59 -3
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +426 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
- 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 +71 -49
- 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 +34 -8
- package/lib/html/HtmlGenerator.js +1470 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1111 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9020 -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 +25 -2
- 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 +579 -183
- package/lib/javascript/JavascriptParser.js +1289 -462
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +4380 -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 +23 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
- 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 +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +585 -116
- 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 +159 -34
- package/lib/optimize/RealContentHashPlugin.js +125 -50
- 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 +54 -6
- 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 +663 -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 +552 -463
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +50 -3
- 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 +94 -12
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
- package/lib/stats/StatsFactory.js +39 -18
- 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 +97 -6
- 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 +1117 -79
- 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 +8608 -1159
- 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
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const util = require("util");
|
|
9
|
+
const { version: WEBPACK_VERSION } = require("../../package.json");
|
|
9
10
|
const { WEBPACK_MODULE_TYPE_RUNTIME } = require("../ModuleTypeConstants");
|
|
10
11
|
const ModuleDependency = require("../dependencies/ModuleDependency");
|
|
11
|
-
const formatLocation = require("../formatLocation");
|
|
12
12
|
const { LogType } = require("../logging/Logger");
|
|
13
13
|
const AggressiveSplittingPlugin = require("../optimize/AggressiveSplittingPlugin");
|
|
14
14
|
const SizeLimitsPlugin = require("../performance/SizeLimitsPlugin");
|
|
@@ -22,6 +22,7 @@ const {
|
|
|
22
22
|
compareSelect,
|
|
23
23
|
concatComparators
|
|
24
24
|
} = require("../util/comparators");
|
|
25
|
+
const formatLocation = require("../util/formatLocation");
|
|
25
26
|
const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
26
27
|
|
|
27
28
|
/** @typedef {import("webpack-sources").Source} Source */
|
|
@@ -48,23 +49,26 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
48
49
|
/** @typedef {import("../Module").BuildInfo} BuildInfo */
|
|
49
50
|
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
|
|
50
51
|
/** @typedef {import("../ModuleProfile")} ModuleProfile */
|
|
51
|
-
/** @typedef {import("../WebpackError")} WebpackError */
|
|
52
|
+
/** @typedef {import("../errors/WebpackError")} WebpackError */
|
|
52
53
|
/** @typedef {import("../serialization/AggregateErrorSerializer").AggregateError} AggregateError */
|
|
53
54
|
/** @typedef {import("../serialization/ErrorObjectSerializer").ErrorWithCause} ErrorWithCause */
|
|
54
55
|
/** @typedef {import("../ExportsInfo").ExportInfoName} ExportInfoName */
|
|
55
56
|
|
|
56
57
|
/**
|
|
58
|
+
* Defines the shared type used by this module.
|
|
57
59
|
* @template T
|
|
58
60
|
* @typedef {import("../util/comparators").Comparator<T>} Comparator<T>
|
|
59
61
|
*/
|
|
60
62
|
|
|
61
63
|
/**
|
|
64
|
+
* Defines the group config type used by this module.
|
|
62
65
|
* @template I, G
|
|
63
66
|
* @typedef {import("../util/smartGrouping").GroupConfig<I, G>} GroupConfig
|
|
64
67
|
*/
|
|
65
68
|
|
|
66
69
|
/** @typedef {KnownStatsCompilation & Record<string, EXPECTED_ANY>} StatsCompilation */
|
|
67
70
|
/**
|
|
71
|
+
* Defines the known stats compilation type used by this module.
|
|
68
72
|
* @typedef {object} KnownStatsCompilation
|
|
69
73
|
* @property {EXPECTED_ANY=} env
|
|
70
74
|
* @property {string=} name
|
|
@@ -95,6 +99,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
95
99
|
|
|
96
100
|
/** @typedef {KnownStatsLogging & Record<string, EXPECTED_ANY>} StatsLogging */
|
|
97
101
|
/**
|
|
102
|
+
* Defines the known stats logging type used by this module.
|
|
98
103
|
* @typedef {object} KnownStatsLogging
|
|
99
104
|
* @property {StatsLoggingEntry[]} entries
|
|
100
105
|
* @property {number} filteredEntries
|
|
@@ -103,6 +108,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
103
108
|
|
|
104
109
|
/** @typedef {KnownStatsLoggingEntry & Record<string, EXPECTED_ANY>} StatsLoggingEntry */
|
|
105
110
|
/**
|
|
111
|
+
* Defines the known stats logging entry type used by this module.
|
|
106
112
|
* @typedef {object} KnownStatsLoggingEntry
|
|
107
113
|
* @property {string} type
|
|
108
114
|
* @property {string=} message
|
|
@@ -115,6 +121,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
115
121
|
/** @typedef {KnownStatsAsset & Record<string, EXPECTED_ANY>} StatsAsset */
|
|
116
122
|
/** @typedef {string[]} ChunkIdHints */
|
|
117
123
|
/**
|
|
124
|
+
* Defines the known stats asset type used by this module.
|
|
118
125
|
* @typedef {object} KnownStatsAsset
|
|
119
126
|
* @property {string} type
|
|
120
127
|
* @property {string} name
|
|
@@ -136,6 +143,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
136
143
|
|
|
137
144
|
/** @typedef {KnownStatsChunkGroup & Record<string, EXPECTED_ANY>} StatsChunkGroup */
|
|
138
145
|
/**
|
|
146
|
+
* Defines the known stats chunk group type used by this module.
|
|
139
147
|
* @typedef {object} KnownStatsChunkGroup
|
|
140
148
|
* @property {ChunkName=} name
|
|
141
149
|
* @property {ChunkId[]=} chunks
|
|
@@ -153,6 +161,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
153
161
|
/** @typedef {Module[]} ModuleIssuerPath */
|
|
154
162
|
/** @typedef {KnownStatsModule & Record<string, EXPECTED_ANY>} StatsModule */
|
|
155
163
|
/**
|
|
164
|
+
* Defines the known stats module type used by this module.
|
|
156
165
|
* @typedef {object} KnownStatsModule
|
|
157
166
|
* @property {string=} type
|
|
158
167
|
* @property {string=} moduleType
|
|
@@ -167,6 +176,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
167
176
|
* @property {number=} size
|
|
168
177
|
* @property {Record<string, number>=} sizes
|
|
169
178
|
* @property {boolean=} cacheable
|
|
179
|
+
* @property {string[]=} notCacheableReasons
|
|
170
180
|
* @property {boolean=} built
|
|
171
181
|
* @property {boolean=} codeGenerated
|
|
172
182
|
* @property {boolean=} buildTimeExecuted
|
|
@@ -197,6 +207,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
197
207
|
|
|
198
208
|
/** @typedef {KnownStatsProfile & Record<string, EXPECTED_ANY>} StatsProfile */
|
|
199
209
|
/**
|
|
210
|
+
* Defines the known stats profile type used by this module.
|
|
200
211
|
* @typedef {object} KnownStatsProfile
|
|
201
212
|
* @property {number} total
|
|
202
213
|
* @property {number} resolving
|
|
@@ -212,6 +223,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
212
223
|
|
|
213
224
|
/** @typedef {KnownStatsModuleIssuer & Record<string, EXPECTED_ANY>} StatsModuleIssuer */
|
|
214
225
|
/**
|
|
226
|
+
* Defines the known stats module issuer type used by this module.
|
|
215
227
|
* @typedef {object} KnownStatsModuleIssuer
|
|
216
228
|
* @property {string} identifier
|
|
217
229
|
* @property {string} name
|
|
@@ -221,6 +233,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
221
233
|
|
|
222
234
|
/** @typedef {KnownStatsModuleReason & Record<string, EXPECTED_ANY>} StatsModuleReason */
|
|
223
235
|
/**
|
|
236
|
+
* Defines the known stats module reason type used by this module.
|
|
224
237
|
* @typedef {object} KnownStatsModuleReason
|
|
225
238
|
* @property {string | null} moduleIdentifier
|
|
226
239
|
* @property {string | null} module
|
|
@@ -238,6 +251,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
238
251
|
|
|
239
252
|
/** @typedef {KnownStatsChunk & Record<string, EXPECTED_ANY>} StatsChunk */
|
|
240
253
|
/**
|
|
254
|
+
* Defines the known stats chunk type used by this module.
|
|
241
255
|
* @typedef {object} KnownStatsChunk
|
|
242
256
|
* @property {boolean} rendered
|
|
243
257
|
* @property {boolean} initial
|
|
@@ -264,6 +278,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
264
278
|
|
|
265
279
|
/** @typedef {KnownStatsChunkOrigin & Record<string, EXPECTED_ANY>} StatsChunkOrigin */
|
|
266
280
|
/**
|
|
281
|
+
* Defines the known stats chunk origin type used by this module.
|
|
267
282
|
* @typedef {object} KnownStatsChunkOrigin
|
|
268
283
|
* @property {string} module
|
|
269
284
|
* @property {string} moduleIdentifier
|
|
@@ -275,6 +290,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
275
290
|
|
|
276
291
|
/** @typedef {KnownStatsModuleTraceItem & Record<string, EXPECTED_ANY>} StatsModuleTraceItem */
|
|
277
292
|
/**
|
|
293
|
+
* Defines the known stats module trace item type used by this module.
|
|
278
294
|
* @typedef {object} KnownStatsModuleTraceItem
|
|
279
295
|
* @property {string=} originIdentifier
|
|
280
296
|
* @property {string=} originName
|
|
@@ -287,12 +303,14 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
287
303
|
|
|
288
304
|
/** @typedef {KnownStatsModuleTraceDependency & Record<string, EXPECTED_ANY>} StatsModuleTraceDependency */
|
|
289
305
|
/**
|
|
306
|
+
* Defines the known stats module trace dependency type used by this module.
|
|
290
307
|
* @typedef {object} KnownStatsModuleTraceDependency
|
|
291
308
|
* @property {string=} loc
|
|
292
309
|
*/
|
|
293
310
|
|
|
294
311
|
/** @typedef {KnownStatsError & Record<string, EXPECTED_ANY>} StatsError */
|
|
295
312
|
/**
|
|
313
|
+
* Defines the known stats error type used by this module.
|
|
296
314
|
* @typedef {object} KnownStatsError
|
|
297
315
|
* @property {string} message
|
|
298
316
|
* @property {string=} chunkName
|
|
@@ -315,6 +333,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
315
333
|
/** @typedef {Asset & { type: string, related: PreprocessedAsset[] | undefined }} PreprocessedAsset */
|
|
316
334
|
|
|
317
335
|
/**
|
|
336
|
+
* Defines the extractors by option type used by this module.
|
|
318
337
|
* @template T
|
|
319
338
|
* @template O
|
|
320
339
|
* @typedef {Record<string, (object: O, data: T, context: StatsFactoryContext, options: NormalizedStatsOptions, factory: StatsFactory) => void>} ExtractorsByOption
|
|
@@ -324,6 +343,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
324
343
|
/** @typedef {{ origin: Module, module: Module }} ModuleTrace */
|
|
325
344
|
|
|
326
345
|
/**
|
|
346
|
+
* Defines the simple extractors type used by this module.
|
|
327
347
|
* @typedef {object} SimpleExtractors
|
|
328
348
|
* @property {ExtractorsByOption<Compilation, StatsCompilation>} compilation
|
|
329
349
|
* @property {ExtractorsByOption<PreprocessedAsset, StatsAsset>} asset
|
|
@@ -344,6 +364,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
344
364
|
*/
|
|
345
365
|
|
|
346
366
|
/**
|
|
367
|
+
* Returns array of values.
|
|
347
368
|
* @template T
|
|
348
369
|
* @template I
|
|
349
370
|
* @param {Iterable<T>} items items to select from
|
|
@@ -362,6 +383,7 @@ const uniqueArray = (items, selector) => {
|
|
|
362
383
|
};
|
|
363
384
|
|
|
364
385
|
/**
|
|
386
|
+
* Unique ordered array.
|
|
365
387
|
* @template T
|
|
366
388
|
* @template I
|
|
367
389
|
* @param {Iterable<T>} items items to select from
|
|
@@ -373,12 +395,14 @@ const uniqueOrderedArray = (items, selector, comparator) =>
|
|
|
373
395
|
uniqueArray(items, selector).sort(comparator);
|
|
374
396
|
|
|
375
397
|
/**
|
|
398
|
+
* Defines the shared type used by this module.
|
|
376
399
|
* @template T
|
|
377
400
|
* @template R
|
|
378
401
|
* @typedef {{ [P in keyof T]: R }} MappedValues<T, R>
|
|
379
402
|
*/
|
|
380
403
|
|
|
381
404
|
/**
|
|
405
|
+
* Returns mapped object.
|
|
382
406
|
* @template {object} T
|
|
383
407
|
* @template {object} R
|
|
384
408
|
* @param {T} obj object to be mapped
|
|
@@ -395,9 +419,9 @@ const mapObject = (obj, fn) => {
|
|
|
395
419
|
};
|
|
396
420
|
|
|
397
421
|
/**
|
|
398
|
-
*
|
|
422
|
+
* Count with children.
|
|
399
423
|
* @param {Compilation} compilation the compilation
|
|
400
|
-
* @param {(compilation: Compilation, name: string) =>
|
|
424
|
+
* @param {(compilation: Compilation, name: string) => { length: number }} getItems get items
|
|
401
425
|
* @returns {number} total number
|
|
402
426
|
*/
|
|
403
427
|
const countWithChildren = (compilation, getItems) => {
|
|
@@ -730,7 +754,7 @@ const SIMPLE_EXTRACTORS = {
|
|
|
730
754
|
object.hash = compilation.hash;
|
|
731
755
|
},
|
|
732
756
|
version: (object) => {
|
|
733
|
-
object.version =
|
|
757
|
+
object.version = WEBPACK_VERSION;
|
|
734
758
|
},
|
|
735
759
|
env: (object, compilation, context, { _env }) => {
|
|
736
760
|
object.env = _env;
|
|
@@ -987,17 +1011,16 @@ const SIMPLE_EXTRACTORS = {
|
|
|
987
1011
|
const { type, cachedGetWarnings } = context;
|
|
988
1012
|
object.warningsCount = countWithChildren(compilation, (c, childType) => {
|
|
989
1013
|
if (
|
|
990
|
-
!warningsFilter &&
|
|
991
1014
|
/** @type {KnownNormalizedStatsOptions["warningsFilter"]} */
|
|
992
1015
|
(warningsFilter).length === 0
|
|
993
1016
|
) {
|
|
994
|
-
|
|
995
|
-
return /** @type {EXPECTED_ANY[]} */ (cachedGetWarnings(c));
|
|
1017
|
+
return cachedGetWarnings(c);
|
|
996
1018
|
}
|
|
997
1019
|
return factory
|
|
998
1020
|
.create(`${type}${childType}.warnings`, cachedGetWarnings(c), context)
|
|
999
1021
|
.filter(
|
|
1000
1022
|
/**
|
|
1023
|
+
* Handles the warnings count callback for this hook.
|
|
1001
1024
|
* @param {StatsError} warning warning
|
|
1002
1025
|
* @returns {boolean} result
|
|
1003
1026
|
*/
|
|
@@ -1122,6 +1145,7 @@ const SIMPLE_EXTRACTORS = {
|
|
|
1122
1145
|
chunkGroupChildren &&
|
|
1123
1146
|
chunkGroup.getChildrenByOrders(moduleGraph, chunkGraph);
|
|
1124
1147
|
/**
|
|
1148
|
+
* Returns } Asset object.
|
|
1125
1149
|
* @param {string} name Name
|
|
1126
1150
|
* @returns {{ name: string, size: number }} Asset object
|
|
1127
1151
|
*/
|
|
@@ -1221,6 +1245,25 @@ const SIMPLE_EXTRACTORS = {
|
|
|
1221
1245
|
},
|
|
1222
1246
|
performance: (object, { chunkGroup }) => {
|
|
1223
1247
|
object.isOverSizeLimit = SizeLimitsPlugin.isOverSizeLimit(chunkGroup);
|
|
1248
|
+
},
|
|
1249
|
+
chunkGroupResourceHints: (
|
|
1250
|
+
object,
|
|
1251
|
+
{ name, chunkGroup },
|
|
1252
|
+
{ compilation }
|
|
1253
|
+
) => {
|
|
1254
|
+
// SSR frameworks consume this to inject the initial-chunk +
|
|
1255
|
+
// URL-asset `<link>` tags into their server-rendered HTML without
|
|
1256
|
+
// having to walk the chunk graph themselves. Only entrypoints
|
|
1257
|
+
// carry hints; split-chunk / async chunk groups are skipped.
|
|
1258
|
+
if (!compilation.entrypoints.get(name)) return;
|
|
1259
|
+
|
|
1260
|
+
const ResourceHintPlugin = require("../prefetch/ResourceHintPlugin");
|
|
1261
|
+
|
|
1262
|
+
const hints =
|
|
1263
|
+
ResourceHintPlugin.getCompilationResolver(
|
|
1264
|
+
compilation
|
|
1265
|
+
).getEntrypointHints(name);
|
|
1266
|
+
if (hints.length > 0) object.resourceHints = hints;
|
|
1224
1267
|
}
|
|
1225
1268
|
},
|
|
1226
1269
|
module: {
|
|
@@ -1277,6 +1320,9 @@ const SIMPLE_EXTRACTORS = {
|
|
|
1277
1320
|
const warnings = module.getWarnings();
|
|
1278
1321
|
const warningsCount =
|
|
1279
1322
|
warnings !== undefined ? countIterable(warnings) : 0;
|
|
1323
|
+
const { cacheable, notCacheableReasons } = /** @type {BuildInfo} */ (
|
|
1324
|
+
module.buildInfo
|
|
1325
|
+
);
|
|
1280
1326
|
/** @type {KnownStatsModule} */
|
|
1281
1327
|
const statsModule = {
|
|
1282
1328
|
identifier: module.identifier(),
|
|
@@ -1290,7 +1336,13 @@ const SIMPLE_EXTRACTORS = {
|
|
|
1290
1336
|
postOrderIndex: /** @type {number} */ (
|
|
1291
1337
|
moduleGraph.getPostOrderIndex(module)
|
|
1292
1338
|
),
|
|
1293
|
-
cacheable
|
|
1339
|
+
cacheable,
|
|
1340
|
+
notCacheableReasons:
|
|
1341
|
+
notCacheableReasons &&
|
|
1342
|
+
notCacheableReasons.map(
|
|
1343
|
+
(request) =>
|
|
1344
|
+
/** @type {string} */ (requestShortener.shorten(request))
|
|
1345
|
+
),
|
|
1294
1346
|
optional: module.isOptional(moduleGraph),
|
|
1295
1347
|
orphan:
|
|
1296
1348
|
!type.endsWith("module.modules[].module$visible") &&
|
|
@@ -1743,6 +1795,7 @@ const SORTERS = {
|
|
|
1743
1795
|
concatComparators(
|
|
1744
1796
|
compareSelect(
|
|
1745
1797
|
/**
|
|
1798
|
+
* Handles the callback for this hook.
|
|
1746
1799
|
* @param {Dependency} x dependency
|
|
1747
1800
|
* @returns {DependencyLocation} location
|
|
1748
1801
|
*/
|
|
@@ -1771,11 +1824,13 @@ const SORTERS = {
|
|
|
1771
1824
|
};
|
|
1772
1825
|
|
|
1773
1826
|
/**
|
|
1827
|
+
* Defines the children type used by this module.
|
|
1774
1828
|
* @template T
|
|
1775
1829
|
* @typedef {T & { children?: Children<T>[] | undefined, filteredChildren?: number }} Children
|
|
1776
1830
|
*/
|
|
1777
1831
|
|
|
1778
1832
|
/**
|
|
1833
|
+
* Returns item size.
|
|
1779
1834
|
* @template T
|
|
1780
1835
|
* @param {Children<T>} item item
|
|
1781
1836
|
* @returns {number} item size
|
|
@@ -1791,6 +1846,7 @@ const getItemSize = (item) =>
|
|
|
1791
1846
|
: 1 + getTotalSize(item.children);
|
|
1792
1847
|
|
|
1793
1848
|
/**
|
|
1849
|
+
* Returns total size.
|
|
1794
1850
|
* @template T
|
|
1795
1851
|
* @param {Children<T>[]} children children
|
|
1796
1852
|
* @returns {number} total size
|
|
@@ -1804,6 +1860,7 @@ const getTotalSize = (children) => {
|
|
|
1804
1860
|
};
|
|
1805
1861
|
|
|
1806
1862
|
/**
|
|
1863
|
+
* Returns total items.
|
|
1807
1864
|
* @template T
|
|
1808
1865
|
* @param {Children<T>[]} children children
|
|
1809
1866
|
* @returns {number} total items
|
|
@@ -1822,6 +1879,7 @@ const getTotalItems = (children) => {
|
|
|
1822
1879
|
};
|
|
1823
1880
|
|
|
1824
1881
|
/**
|
|
1882
|
+
* Returns collapsed children.
|
|
1825
1883
|
* @template T
|
|
1826
1884
|
* @param {Children<T>[]} children children
|
|
1827
1885
|
* @returns {Children<T>[]} collapsed children
|
|
@@ -1847,6 +1905,7 @@ const collapse = (children) => {
|
|
|
1847
1905
|
};
|
|
1848
1906
|
|
|
1849
1907
|
/**
|
|
1908
|
+
* Returns result.
|
|
1850
1909
|
* @template T
|
|
1851
1910
|
* @param {Children<T>[]} itemsAndGroups item and groups
|
|
1852
1911
|
* @param {number} max max
|
|
@@ -1976,6 +2035,7 @@ const spaceLimited = (
|
|
|
1976
2035
|
};
|
|
1977
2036
|
|
|
1978
2037
|
/**
|
|
2038
|
+
* Errors space limit.
|
|
1979
2039
|
* @param {StatsError[]} errors errors
|
|
1980
2040
|
* @param {number} max max
|
|
1981
2041
|
* @returns {[StatsError[], number]} error space limit
|
|
@@ -2019,7 +2079,7 @@ const errorsSpaceLimit = (errors, max) => {
|
|
|
2019
2079
|
for (; i < errors.length; i++) {
|
|
2020
2080
|
const error = errors[i];
|
|
2021
2081
|
if (typeof error === "string" || !error.details) result.push(error);
|
|
2022
|
-
result.push({ ...error, details: "" });
|
|
2082
|
+
else result.push({ ...error, details: "" });
|
|
2023
2083
|
}
|
|
2024
2084
|
break;
|
|
2025
2085
|
} else if (fullLength === max) {
|
|
@@ -2028,7 +2088,7 @@ const errorsSpaceLimit = (errors, max) => {
|
|
|
2028
2088
|
for (; i < errors.length; i++) {
|
|
2029
2089
|
const error = errors[i];
|
|
2030
2090
|
if (typeof error === "string" || !error.details) result.push(error);
|
|
2031
|
-
result.push({ ...error, details: "" });
|
|
2091
|
+
else result.push({ ...error, details: "" });
|
|
2032
2092
|
}
|
|
2033
2093
|
break;
|
|
2034
2094
|
}
|
|
@@ -2039,6 +2099,7 @@ const errorsSpaceLimit = (errors, max) => {
|
|
|
2039
2099
|
};
|
|
2040
2100
|
|
|
2041
2101
|
/**
|
|
2102
|
+
* Returns } asset size.
|
|
2042
2103
|
* @template {{ size: number }} T
|
|
2043
2104
|
* @param {T[]} children children
|
|
2044
2105
|
* @param {T[]} assets assets
|
|
@@ -2055,6 +2116,7 @@ const assetGroup = (children, assets) => {
|
|
|
2055
2116
|
/** @typedef {{ size: number, sizes: Record<string, number> }} ModuleGroupBySizeResult */
|
|
2056
2117
|
|
|
2057
2118
|
/**
|
|
2119
|
+
* Returns size and sizes.
|
|
2058
2120
|
* @template {ModuleGroupBySizeResult} T
|
|
2059
2121
|
* @param {Children<T>[]} children children
|
|
2060
2122
|
* @param {KnownStatsModule[]} modules modules
|
|
@@ -2077,6 +2139,7 @@ const moduleGroup = (children, modules) => {
|
|
|
2077
2139
|
};
|
|
2078
2140
|
|
|
2079
2141
|
/**
|
|
2142
|
+
* Returns } reason group.
|
|
2080
2143
|
* @template {{ active: boolean }} T
|
|
2081
2144
|
* @param {Children<T>[]} children children
|
|
2082
2145
|
* @param {KnownStatsModuleReason[]} reasons reasons
|
|
@@ -2098,6 +2161,7 @@ const GROUP_PATH_REGEXP = /(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;
|
|
|
2098
2161
|
/** @typedef {{ type: string }} BaseGroup */
|
|
2099
2162
|
|
|
2100
2163
|
/**
|
|
2164
|
+
* Defines the base group with children type used by this module.
|
|
2101
2165
|
* @template T
|
|
2102
2166
|
* @typedef {BaseGroup & { children: T[], size: number }} BaseGroupWithChildren
|
|
2103
2167
|
*/
|
|
@@ -2105,6 +2169,7 @@ const GROUP_PATH_REGEXP = /(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;
|
|
|
2105
2169
|
/** @typedef {(name: string, asset: StatsAsset) => boolean} AssetFilterItemFn */
|
|
2106
2170
|
|
|
2107
2171
|
/**
|
|
2172
|
+
* Describes the assets groupers shape.
|
|
2108
2173
|
* @typedef {{
|
|
2109
2174
|
* _: (groupConfigs: GroupConfig<KnownStatsAsset, BaseGroup & { filteredChildren: number, size: number } | BaseGroupWithChildren<KnownStatsAsset>>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
|
|
2110
2175
|
* groupAssetsByInfo: (groupConfigs: GroupConfig<KnownStatsAsset, BaseGroupWithChildren<KnownStatsAsset>>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
|
|
@@ -2117,6 +2182,7 @@ const GROUP_PATH_REGEXP = /(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;
|
|
|
2117
2182
|
const ASSETS_GROUPERS = {
|
|
2118
2183
|
_: (groupConfigs, context, options) => {
|
|
2119
2184
|
/**
|
|
2185
|
+
* Processes the provided name.
|
|
2120
2186
|
* @param {keyof KnownStatsAsset} name name
|
|
2121
2187
|
* @param {boolean=} exclude need exclude?
|
|
2122
2188
|
*/
|
|
@@ -2196,6 +2262,7 @@ const ASSETS_GROUPERS = {
|
|
|
2196
2262
|
},
|
|
2197
2263
|
groupAssetsByInfo: (groupConfigs, _context, _options) => {
|
|
2198
2264
|
/**
|
|
2265
|
+
* Group by asset info flag.
|
|
2199
2266
|
* @param {string} name name
|
|
2200
2267
|
*/
|
|
2201
2268
|
const groupByAssetInfoFlag = (name) => {
|
|
@@ -2218,6 +2285,7 @@ const ASSETS_GROUPERS = {
|
|
|
2218
2285
|
},
|
|
2219
2286
|
groupAssetsByChunk: (groupConfigs, _context, _options) => {
|
|
2220
2287
|
/**
|
|
2288
|
+
* Processes the provided name.
|
|
2221
2289
|
* @param {keyof KnownStatsAsset} name name
|
|
2222
2290
|
*/
|
|
2223
2291
|
const groupByNames = (name) => {
|
|
@@ -2257,6 +2325,7 @@ const ASSETS_GROUPERS = {
|
|
|
2257
2325
|
};
|
|
2258
2326
|
|
|
2259
2327
|
/**
|
|
2328
|
+
* Describes the modules groupers shape.
|
|
2260
2329
|
* @typedef {{
|
|
2261
2330
|
* _: (groupConfigs: GroupConfig<KnownStatsModule, BaseGroup & { filteredChildren?: number, children?: KnownStatsModule[], size: number, sizes: Record<string, number> }>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
|
|
2262
2331
|
* excludeModules: (groupConfigs: GroupConfig<KnownStatsModule, BaseGroup & { filteredChildren: number, size: number, sizes: Record<string, number> }>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
|
|
@@ -2271,6 +2340,7 @@ const ASSETS_GROUPERS = {
|
|
|
2271
2340
|
const MODULES_GROUPERS = (type) => ({
|
|
2272
2341
|
_: (groupConfigs, context, options) => {
|
|
2273
2342
|
/**
|
|
2343
|
+
* Processes the provided name.
|
|
2274
2344
|
* @param {keyof KnownStatsModule} name name
|
|
2275
2345
|
* @param {string} type type
|
|
2276
2346
|
* @param {boolean=} exclude need exclude?
|
|
@@ -2452,6 +2522,7 @@ const MODULES_GROUPERS = (type) => ({
|
|
|
2452
2522
|
});
|
|
2453
2523
|
|
|
2454
2524
|
/**
|
|
2525
|
+
* Defines the module reasons groupers type used by this module.
|
|
2455
2526
|
* @typedef {{ groupReasonsByOrigin: (groupConfigs: GroupConfig<KnownStatsModuleReason, BaseGroup & { module: string, children: KnownStatsModuleReason[], active: boolean }>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void }} ModuleReasonsGroupers
|
|
2456
2527
|
*/
|
|
2457
2528
|
|
|
@@ -2493,6 +2564,7 @@ const RESULT_GROUPERS = {
|
|
|
2493
2564
|
|
|
2494
2565
|
// remove a prefixed "!" that can be specified to reverse sort order
|
|
2495
2566
|
/**
|
|
2567
|
+
* Normalizes field key.
|
|
2496
2568
|
* @param {string} field a field name
|
|
2497
2569
|
* @returns {field} normalized field
|
|
2498
2570
|
*/
|
|
@@ -2505,6 +2577,7 @@ const normalizeFieldKey = (field) => {
|
|
|
2505
2577
|
|
|
2506
2578
|
// if a field is prefixed by a "!" reverse sort order
|
|
2507
2579
|
/**
|
|
2580
|
+
* Sorts order regular.
|
|
2508
2581
|
* @param {string} field a field name
|
|
2509
2582
|
* @returns {boolean} result
|
|
2510
2583
|
*/
|
|
@@ -2516,6 +2589,7 @@ const sortOrderRegular = (field) => {
|
|
|
2516
2589
|
};
|
|
2517
2590
|
|
|
2518
2591
|
/**
|
|
2592
|
+
* Returns comparators.
|
|
2519
2593
|
* @template T
|
|
2520
2594
|
* @param {string | false} field field name
|
|
2521
2595
|
* @returns {(a: T, b: T) => 0 | 1 | -1} comparators
|
|
@@ -2523,6 +2597,7 @@ const sortOrderRegular = (field) => {
|
|
|
2523
2597
|
const sortByField = (field) => {
|
|
2524
2598
|
if (!field) {
|
|
2525
2599
|
/**
|
|
2600
|
+
* Returns zero.
|
|
2526
2601
|
* @param {T} a first
|
|
2527
2602
|
* @param {T} b second
|
|
2528
2603
|
* @returns {-1 | 0 | 1} zero
|
|
@@ -2547,6 +2622,7 @@ const sortByField = (field) => {
|
|
|
2547
2622
|
};
|
|
2548
2623
|
|
|
2549
2624
|
/**
|
|
2625
|
+
* Describes the asset sorters shape.
|
|
2550
2626
|
* @typedef {{
|
|
2551
2627
|
* assetsSort: (comparators: Comparator<Asset>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
|
|
2552
2628
|
* _: (comparators: Comparator<Asset>[], context: StatsFactoryContext, options: NormalizedStatsOptions) => void,
|
|
@@ -2599,11 +2675,13 @@ const RESULT_SORTERS = {
|
|
|
2599
2675
|
};
|
|
2600
2676
|
|
|
2601
2677
|
/**
|
|
2678
|
+
* Defines the extract function type used by this module.
|
|
2602
2679
|
* @template T
|
|
2603
2680
|
* @typedef {T extends Record<string, Record<string, infer F>> ? F : never} ExtractFunction
|
|
2604
2681
|
*/
|
|
2605
2682
|
|
|
2606
2683
|
/**
|
|
2684
|
+
* Processes the provided config.
|
|
2607
2685
|
* @template {Record<string, Record<string, EXPECTED_ANY>>} T
|
|
2608
2686
|
* @param {T} config the config see above
|
|
2609
2687
|
* @param {NormalizedStatsOptions} options stats options
|
|
@@ -2658,11 +2736,13 @@ const ITEM_NAMES = {
|
|
|
2658
2736
|
};
|
|
2659
2737
|
|
|
2660
2738
|
/**
|
|
2739
|
+
* Defines the named object type used by this module.
|
|
2661
2740
|
* @template T
|
|
2662
2741
|
* @typedef {{ name: T }} NamedObject
|
|
2663
2742
|
*/
|
|
2664
2743
|
|
|
2665
2744
|
/**
|
|
2745
|
+
* Merges the provided values into a single result.
|
|
2666
2746
|
* @template {{ name: string }} T
|
|
2667
2747
|
* @param {T[]} items items to be merged
|
|
2668
2748
|
* @returns {NamedObject<T>} an object
|
|
@@ -2688,7 +2768,7 @@ const PLUGIN_NAME = "DefaultStatsFactoryPlugin";
|
|
|
2688
2768
|
|
|
2689
2769
|
class DefaultStatsFactoryPlugin {
|
|
2690
2770
|
/**
|
|
2691
|
-
*
|
|
2771
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
2692
2772
|
* @param {Compiler} compiler the compiler instance
|
|
2693
2773
|
* @returns {void}
|
|
2694
2774
|
*/
|
|
@@ -2697,6 +2777,7 @@ class DefaultStatsFactoryPlugin {
|
|
|
2697
2777
|
compilation.hooks.statsFactory.tap(
|
|
2698
2778
|
PLUGIN_NAME,
|
|
2699
2779
|
/**
|
|
2780
|
+
* Handles the callback logic for this hook.
|
|
2700
2781
|
* @param {StatsFactory} stats stats factory
|
|
2701
2782
|
* @param {NormalizedStatsOptions} options stats options
|
|
2702
2783
|
*/
|
|
@@ -2758,6 +2839,7 @@ class DefaultStatsFactoryPlugin {
|
|
|
2758
2839
|
.tap(
|
|
2759
2840
|
PLUGIN_NAME,
|
|
2760
2841
|
/**
|
|
2842
|
+
* Handles the callback logic for this hook.
|
|
2761
2843
|
* @param {Compilation} comp compilation
|
|
2762
2844
|
* @param {StatsFactoryContext} options options
|
|
2763
2845
|
* @returns {StatsFactory | undefined} stats factory
|
|
@@ -17,6 +17,7 @@ const RequestShortener = require("../RequestShortener");
|
|
|
17
17
|
/** @typedef {import("./DefaultStatsFactoryPlugin").StatsError} StatsError */
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Processes the provided normalized stats option.
|
|
20
21
|
* @param {Partial<NormalizedStatsOptions>} options options
|
|
21
22
|
* @param {StatsOptions} defaults default options
|
|
22
23
|
*/
|
|
@@ -30,7 +31,7 @@ const applyDefaults = (options, defaults) => {
|
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
|
|
33
|
-
/** @typedef {{ [Key in Exclude<StatsValue, boolean |
|
|
34
|
+
/** @typedef {{ [Key in Exclude<StatsValue, boolean | StatsOptions | "normal">]: StatsOptions }} NamedPresets */
|
|
34
35
|
|
|
35
36
|
/** @type {NamedPresets} */
|
|
36
37
|
const NAMED_PRESETS = {
|
|
@@ -40,6 +41,7 @@ const NAMED_PRESETS = {
|
|
|
40
41
|
relatedAssets: true,
|
|
41
42
|
entrypoints: true,
|
|
42
43
|
chunkGroups: true,
|
|
44
|
+
chunkGroupResourceHints: true,
|
|
43
45
|
ids: true,
|
|
44
46
|
modules: false,
|
|
45
47
|
chunks: true,
|
|
@@ -144,16 +146,19 @@ const NAMED_PRESETS = {
|
|
|
144
146
|
};
|
|
145
147
|
|
|
146
148
|
/**
|
|
149
|
+
* Returns true when enabled, otherwise false.
|
|
147
150
|
* @param {Partial<NormalizedStatsOptions>} all stats options
|
|
148
151
|
* @returns {boolean} true when enabled, otherwise false
|
|
149
152
|
*/
|
|
150
153
|
const NORMAL_ON = ({ all }) => all !== false;
|
|
151
154
|
/**
|
|
155
|
+
* Returns true when enabled, otherwise false.
|
|
152
156
|
* @param {Partial<NormalizedStatsOptions>} all stats options
|
|
153
157
|
* @returns {boolean} true when enabled, otherwise false
|
|
154
158
|
*/
|
|
155
159
|
const NORMAL_OFF = ({ all }) => all === true;
|
|
156
160
|
/**
|
|
161
|
+
* Returns true when enabled, otherwise false.
|
|
157
162
|
* @param {Partial<NormalizedStatsOptions>} all stats options
|
|
158
163
|
* @param {CreateStatsOptionsContext} forToString stats options context
|
|
159
164
|
* @returns {boolean} true when enabled, otherwise false
|
|
@@ -161,6 +166,7 @@ const NORMAL_OFF = ({ all }) => all === true;
|
|
|
161
166
|
const ON_FOR_TO_STRING = ({ all }, { forToString }) =>
|
|
162
167
|
forToString ? all !== false : all === true;
|
|
163
168
|
/**
|
|
169
|
+
* Returns true when enabled, otherwise false.
|
|
164
170
|
* @param {Partial<NormalizedStatsOptions>} all stats options
|
|
165
171
|
* @param {CreateStatsOptionsContext} forToString stats options context
|
|
166
172
|
* @returns {boolean} true when enabled, otherwise false
|
|
@@ -168,6 +174,7 @@ const ON_FOR_TO_STRING = ({ all }, { forToString }) =>
|
|
|
168
174
|
const OFF_FOR_TO_STRING = ({ all }, { forToString }) =>
|
|
169
175
|
forToString ? all === true : all !== false;
|
|
170
176
|
/**
|
|
177
|
+
* Auto for to string.
|
|
171
178
|
* @param {Partial<NormalizedStatsOptions>} all stats options
|
|
172
179
|
* @param {CreateStatsOptionsContext} forToString stats options context
|
|
173
180
|
* @returns {boolean | "auto"} true when enabled, otherwise false
|
|
@@ -204,6 +211,7 @@ const DEFAULTS = {
|
|
|
204
211
|
chunkGroups: OFF_FOR_TO_STRING,
|
|
205
212
|
chunkGroupAuxiliary: OFF_FOR_TO_STRING,
|
|
206
213
|
chunkGroupChildren: OFF_FOR_TO_STRING,
|
|
214
|
+
chunkGroupResourceHints: OFF_FOR_TO_STRING,
|
|
207
215
|
chunkGroupMaxAssets: (o, { forToString }) => (forToString ? 5 : Infinity),
|
|
208
216
|
chunks: OFF_FOR_TO_STRING,
|
|
209
217
|
chunkRelations: OFF_FOR_TO_STRING,
|
|
@@ -285,11 +293,13 @@ const DEFAULTS = {
|
|
|
285
293
|
};
|
|
286
294
|
|
|
287
295
|
/**
|
|
296
|
+
* Defines the normalize function type used by this module.
|
|
288
297
|
* @template T
|
|
289
298
|
* @typedef {(value: T, ...args: EXPECTED_ANY[]) => boolean} NormalizeFunction
|
|
290
299
|
*/
|
|
291
300
|
|
|
292
301
|
/**
|
|
302
|
+
* Returns normalize fn.
|
|
293
303
|
* @template {string} T
|
|
294
304
|
* @param {string | ({ test: (value: T) => boolean }) | NormalizeFunction<T> | boolean} item item to normalize
|
|
295
305
|
* @returns {NormalizeFunction<T>} normalize fn
|
|
@@ -315,6 +325,7 @@ const normalizeFilter = (item) => {
|
|
|
315
325
|
/** @typedef {{ [Key in NormalizerKeys]?: (value: StatsOptions[Key]) => KnownNormalizedStatsOptions[Key] }} Normalizers */
|
|
316
326
|
|
|
317
327
|
/**
|
|
328
|
+
* Defines the warning filter fn callback.
|
|
318
329
|
* @callback WarningFilterFn
|
|
319
330
|
* @param {StatsError} warning warning
|
|
320
331
|
* @param {string} warningString warning string
|
|
@@ -343,6 +354,7 @@ const NORMALIZER = {
|
|
|
343
354
|
}
|
|
344
355
|
return value.map(
|
|
345
356
|
/**
|
|
357
|
+
* Handles the warnings filter callback for this hook.
|
|
346
358
|
* @param {StatsOptions["warningsFilter"]} filter a warning filter
|
|
347
359
|
* @returns {WarningFilterFn} result
|
|
348
360
|
*/
|
|
@@ -380,7 +392,7 @@ const PLUGIN_NAME = "DefaultStatsPresetPlugin";
|
|
|
380
392
|
|
|
381
393
|
class DefaultStatsPresetPlugin {
|
|
382
394
|
/**
|
|
383
|
-
*
|
|
395
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
384
396
|
* @param {Compiler} compiler the compiler instance
|
|
385
397
|
* @returns {void}
|
|
386
398
|
*/
|