webpack 5.106.1 → 5.107.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 +2 -2
- package/lib/APIPlugin.js +4 -2
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +10 -1
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +26 -0
- package/lib/Chunk.js +46 -0
- package/lib/ChunkGraph.js +111 -0
- package/lib/ChunkGroup.js +57 -13
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CleanPlugin.js +14 -1
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +23 -8
- package/lib/Compilation.js +161 -27
- package/lib/Compiler.js +41 -17
- package/lib/ConcatenationScope.js +24 -1
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +4 -1
- package/lib/ContextExclusionPlugin.js +2 -1
- package/lib/ContextModule.js +14 -2
- package/lib/ContextModuleFactory.js +10 -0
- package/lib/ContextReplacementPlugin.js +4 -1
- package/lib/DefinePlugin.js +22 -9
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +48 -4
- 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 +3 -0
- package/lib/EntryPlugin.js +2 -1
- package/lib/Entrypoint.js +4 -0
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -10
- package/lib/ExportsInfo.js +56 -2
- package/lib/ExportsInfoApiPlugin.js +2 -1
- package/lib/ExternalModule.js +114 -15
- package/lib/ExternalModuleFactoryPlugin.js +15 -0
- package/lib/ExternalsPlugin.js +2 -1
- package/lib/FileSystemInfo.js +291 -71
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
- package/lib/FlagDependencyExportsPlugin.js +4 -1
- package/lib/FlagDependencyUsagePlugin.js +5 -1
- package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
- package/lib/Generator.js +16 -3
- package/lib/HotModuleReplacementPlugin.js +35 -9
- package/lib/IgnorePlugin.js +4 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +10 -0
- package/lib/JavascriptMetaInfoPlugin.js +2 -1
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +2 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +101 -19
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +3 -0
- package/lib/ModuleGraph.js +66 -0
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleSourceTypeConstants.js +32 -1
- package/lib/ModuleTemplate.js +8 -0
- package/lib/ModuleTypeConstants.js +12 -3
- package/lib/MultiCompiler.js +30 -2
- package/lib/MultiStats.js +8 -0
- package/lib/MultiWatching.js +3 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +11 -2
- package/lib/NormalModule.js +43 -33
- package/lib/NormalModuleFactory.js +35 -2
- package/lib/NormalModuleReplacementPlugin.js +1 -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 +2 -1
- package/lib/ProgressPlugin.js +158 -68
- package/lib/ProvidePlugin.js +3 -1
- package/lib/RawModule.js +12 -0
- package/lib/RecordIdsPlugin.js +8 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +6 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +13 -0
- package/lib/RuntimeTemplate.js +35 -1
- package/lib/SelfModuleFactory.js +2 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +3 -1
- package/lib/Stats.js +5 -0
- package/lib/Template.js +20 -0
- package/lib/TemplatedPathPlugin.js +10 -3
- package/lib/UseStrictPlugin.js +2 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +71 -3
- package/lib/WarnDeprecatedOptionPlugin.js +2 -2
- package/lib/WarnNoModeSetPlugin.js +17 -2
- package/lib/WatchIgnorePlugin.js +4 -1
- package/lib/Watching.js +16 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +3 -1
- package/lib/WebpackOptionsApply.js +14 -1
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +12 -2
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +42 -10
- package/lib/asset/AssetModulesPlugin.js +7 -2
- package/lib/asset/AssetParser.js +2 -0
- package/lib/asset/AssetSourceGenerator.js +12 -2
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +11 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/buildChunkGraph.js +19 -6
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
- package/lib/cache/AddManagedPathsPlugin.js +2 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
- package/lib/cache/PackFileCacheStrategy.js +33 -4
- package/lib/cache/ResolverCachePlugin.js +10 -1
- package/lib/cache/getLazyHashedEtag.js +4 -0
- package/lib/cache/mergeEtags.js +2 -0
- package/lib/cli.js +33 -1
- package/lib/config/browserslistTargetHandler.js +2 -0
- package/lib/config/defaults.js +232 -12
- package/lib/config/normalization.js +15 -1
- package/lib/config/target.js +11 -0
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +12 -0
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +4 -0
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +2 -1
- package/lib/container/FallbackDependency.js +4 -0
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +12 -0
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +3 -1
- package/lib/container/RemoteModule.js +13 -0
- package/lib/container/RemoteRuntimeModule.js +1 -0
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +336 -100
- package/lib/css/CssInjectStyleRuntimeModule.js +45 -42
- package/lib/css/CssLoadingRuntimeModule.js +23 -4
- package/lib/{CssModule.js → css/CssModule.js} +21 -15
- package/lib/css/CssModulesPlugin.js +235 -89
- package/lib/css/CssParser.js +616 -261
- package/lib/css/walkCssTokens.js +179 -2
- package/lib/debug/ProfilingPlugin.js +19 -1
- package/lib/dependencies/AMDDefineDependency.js +7 -0
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
- package/lib/dependencies/AMDPlugin.js +4 -1
- package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
- package/lib/dependencies/AMDRequireContextDependency.js +3 -0
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +14 -1
- package/lib/dependencies/AMDRequireDependency.js +4 -0
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +6 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +64 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +62 -10
- package/lib/dependencies/CommonJsExportsDependency.js +4 -0
- package/lib/dependencies/CommonJsExportsParserPlugin.js +9 -1
- package/lib/dependencies/CommonJsFullRequireDependency.js +36 -9
- package/lib/dependencies/CommonJsImportsParserPlugin.js +24 -3
- package/lib/dependencies/CommonJsPlugin.js +4 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
- package/lib/dependencies/CommonJsRequireDependency.js +70 -4
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
- package/lib/dependencies/ConstDependency.js +6 -1
- package/lib/dependencies/ContextDependency.js +9 -2
- package/lib/dependencies/ContextDependencyHelpers.js +4 -1
- package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +4 -0
- package/lib/dependencies/CreateRequireParserPlugin.js +7 -1
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
- package/lib/dependencies/CriticalDependencyWarning.js +2 -1
- package/lib/dependencies/CssIcssExportDependency.js +339 -66
- package/lib/dependencies/CssIcssImportDependency.js +53 -8
- package/lib/dependencies/CssIcssSymbolDependency.js +16 -4
- package/lib/dependencies/CssImportDependency.js +12 -0
- package/lib/dependencies/CssUrlDependency.js +32 -0
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +3 -0
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportsInfoDependency.js +6 -0
- package/lib/dependencies/ExternalModuleDependency.js +5 -0
- package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +4 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +10 -7
- package/lib/dependencies/HarmonyExportExpressionDependency.js +27 -14
- package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -5
- package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
- package/lib/dependencies/HarmonyExports.js +2 -0
- package/lib/dependencies/HarmonyImportDependency.js +21 -2
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -1
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +18 -3
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +5 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +133 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +101 -0
- package/lib/dependencies/HtmlScriptSrcDependency.js +318 -0
- package/lib/dependencies/HtmlSourceDependency.js +127 -0
- package/lib/dependencies/ImportContextDependency.js +4 -0
- package/lib/dependencies/ImportDependency.js +5 -0
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -1
- package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
- package/lib/dependencies/ImportMetaPlugin.js +6 -0
- package/lib/dependencies/ImportParserPlugin.js +9 -2
- package/lib/dependencies/ImportPhase.js +7 -3
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +2 -0
- package/lib/dependencies/JsonExportsDependency.js +6 -1
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +2 -0
- package/lib/dependencies/LoaderPlugin.js +4 -1
- package/lib/dependencies/LocalModule.js +4 -0
- package/lib/dependencies/LocalModuleDependency.js +4 -0
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
- package/lib/dependencies/ModuleDependency.js +7 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +6 -1
- package/lib/dependencies/PureExpressionDependency.js +7 -1
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
- package/lib/dependencies/RequireEnsureDependency.js +4 -0
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +4 -0
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +4 -1
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +3 -0
- package/lib/dependencies/RequireResolveDependency.js +1 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
- package/lib/dependencies/StaticExportsDependency.js +3 -0
- package/lib/dependencies/SystemPlugin.js +5 -2
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/URLContextDependency.js +3 -0
- package/lib/dependencies/URLDependency.js +6 -0
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -2
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
- package/lib/dependencies/WorkerDependency.js +6 -1
- package/lib/dependencies/WorkerPlugin.js +11 -3
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +1 -0
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +44 -31
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +7 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +4 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +6 -5
- package/lib/{DllModule.js → dll/DllModule.js} +35 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +8 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +23 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +13 -10
- package/lib/electron/ElectronTargetPlugin.js +2 -1
- 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} +4 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +4 -4
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +11 -5
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +6 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +4 -3
- package/lib/errors/JSONParseError.js +114 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +8 -5
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +2 -2
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +5 -4
- package/lib/{ModuleError.js → errors/ModuleError.js} +7 -5
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +1 -1
- package/lib/{ModuleNotFoundError.js → errors/ModuleNotFoundError.js} +3 -2
- package/lib/{ModuleParseError.js → errors/ModuleParseError.js} +11 -6
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +2 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +2 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +8 -5
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +5 -4
- package/lib/errors/NonErrorEmittedError.js +28 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +8 -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 +5 -1
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +20 -1
- package/lib/hmr/lazyCompilationBackend.js +2 -0
- package/lib/html/HtmlGenerator.js +379 -0
- package/lib/html/HtmlModulesPlugin.js +433 -0
- package/lib/html/HtmlParser.js +1489 -0
- package/lib/html/walkHtmlTokens.js +2733 -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 +22 -1
- 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 +39 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
- package/lib/javascript/BasicEvaluatedExpression.js +4 -2
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +5 -1
- package/lib/javascript/JavascriptGenerator.js +10 -0
- package/lib/javascript/JavascriptModulesPlugin.js +112 -9
- package/lib/javascript/JavascriptParser.js +360 -16
- package/lib/javascript/JavascriptParserHelpers.js +7 -1
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +14 -25
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +16 -0
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +1 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +86 -1
- package/lib/library/SystemLibraryPlugin.js +8 -0
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +2 -1
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +2 -0
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +62 -6
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
- package/lib/optimize/InnerGraph.js +16 -1
- package/lib/optimize/InnerGraphPlugin.js +14 -2
- 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 +36 -8
- package/lib/optimize/RealContentHashPlugin.js +104 -26
- 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 +118 -4
- package/lib/optimize/SplitChunksPlugin.js +50 -2
- 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 +6 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +18 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
- package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +121 -13
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +35 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
- package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +43 -1
- package/lib/schemes/VirtualUrlPlugin.js +7 -2
- package/lib/serialization/AggregateErrorSerializer.js +2 -0
- package/lib/serialization/ArraySerializer.js +2 -0
- package/lib/serialization/BinaryMiddleware.js +20 -1
- package/lib/serialization/DateObjectSerializer.js +2 -0
- package/lib/serialization/ErrorObjectSerializer.js +3 -0
- package/lib/serialization/FileMiddleware.js +21 -0
- package/lib/serialization/MapObjectSerializer.js +2 -0
- package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
- package/lib/serialization/ObjectMiddleware.js +23 -0
- package/lib/serialization/PlainObjectSerializer.js +7 -0
- package/lib/serialization/RegExpObjectSerializer.js +2 -0
- package/lib/serialization/Serializer.js +5 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +2 -0
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +15 -0
- package/lib/sharing/ConsumeSharedPlugin.js +8 -3
- package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -4
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +4 -0
- package/lib/sharing/ProvideSharedModule.js +12 -1
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +5 -2
- package/lib/sharing/SharePlugin.js +2 -1
- package/lib/sharing/ShareRuntimeModule.js +1 -0
- package/lib/sharing/resolveMatchedConfigs.js +4 -1
- package/lib/sharing/utils.js +8 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +58 -3
- package/lib/stats/DefaultStatsPresetPlugin.js +12 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +38 -2
- package/lib/stats/StatsFactory.js +13 -1
- package/lib/stats/StatsPrinter.js +7 -0
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +8 -2
- package/lib/util/AppendOnlyStackedSet.js +15 -0
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +22 -2
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +21 -0
- package/lib/util/LazySet.js +39 -0
- package/lib/util/LocConverter.js +53 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +14 -1
- package/lib/util/SetHelpers.js +3 -0
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +45 -0
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +13 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +33 -0
- package/lib/util/binarySearchBounds.js +1 -0
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +34 -3
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +9 -3
- package/lib/util/conventions.js +46 -1
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +1 -0
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +20 -0
- package/lib/util/extractSourceMap.js +1 -0
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +5 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +4 -1
- package/lib/util/fs.js +71 -8
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/hash-digest.js +8 -0
- package/lib/util/hash/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 +67 -0
- package/lib/util/internalSerializables.js +35 -19
- package/lib/util/magicComment.js +10 -6
- package/lib/util/makeSerializable.js +6 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +1 -0
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +1 -0
- package/lib/util/registerExternalSerializer.js +20 -0
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +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 +1 -0
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +12 -3
- package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +6 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
- package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +7 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
- package/lib/wasm-sync/WebAssemblyParser.js +2 -0
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
- package/lib/web/FetchCompileWasmPlugin.js +13 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +13 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/package.json +31 -31
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +161 -57
- 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/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +22 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → css/CssAutoOrModuleParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +5325 -353
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- /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
|
@@ -21,25 +21,30 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
21
21
|
/** @typedef {import("../Module").RuntimeRequirements} RuntimeRequirements */
|
|
22
22
|
/** @typedef {import("../javascript/JavascriptModulesPlugin").StartupRenderContext} StartupRenderContext */
|
|
23
23
|
/**
|
|
24
|
+
* Defines the shared type used by this module.
|
|
24
25
|
* @template T
|
|
25
26
|
* @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T>
|
|
26
27
|
*/
|
|
27
28
|
|
|
28
29
|
/**
|
|
30
|
+
* Defines the export property library plugin parsed type used by this module.
|
|
29
31
|
* @typedef {object} ExportPropertyLibraryPluginParsed
|
|
30
32
|
* @property {LibraryExport=} export
|
|
31
33
|
*/
|
|
32
34
|
|
|
33
35
|
/**
|
|
36
|
+
* Defines the export property library plugin options type used by this module.
|
|
34
37
|
* @typedef {object} ExportPropertyLibraryPluginOptions
|
|
35
38
|
* @property {LibraryType} type
|
|
36
39
|
*/
|
|
37
40
|
/**
|
|
41
|
+
* Represents the export property library plugin runtime component.
|
|
38
42
|
* @typedef {ExportPropertyLibraryPluginParsed} T
|
|
39
43
|
* @extends {AbstractLibraryPlugin<ExportPropertyLibraryPluginParsed>}
|
|
40
44
|
*/
|
|
41
45
|
class ExportPropertyLibraryPlugin extends AbstractLibraryPlugin {
|
|
42
46
|
/**
|
|
47
|
+
* Creates an instance of ExportPropertyLibraryPlugin.
|
|
43
48
|
* @param {ExportPropertyLibraryPluginOptions} options options
|
|
44
49
|
*/
|
|
45
50
|
constructor({ type }) {
|
|
@@ -50,6 +55,7 @@ class ExportPropertyLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
/**
|
|
58
|
+
* Returns preprocess as needed by overriding.
|
|
53
59
|
* @param {LibraryOptions} library normalized library option
|
|
54
60
|
* @returns {T} preprocess as needed by overriding
|
|
55
61
|
*/
|
|
@@ -60,6 +66,7 @@ class ExportPropertyLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
60
66
|
}
|
|
61
67
|
|
|
62
68
|
/**
|
|
69
|
+
* Finish entry module.
|
|
63
70
|
* @param {Module} module the exporting entry module
|
|
64
71
|
* @param {string} entryName the name of the entrypoint
|
|
65
72
|
* @param {LibraryContext<T>} libraryContext context
|
|
@@ -86,6 +93,7 @@ class ExportPropertyLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
/**
|
|
96
|
+
* Processes the provided chunk.
|
|
89
97
|
* @param {Chunk} chunk the chunk
|
|
90
98
|
* @param {RuntimeRequirements} set runtime requirements
|
|
91
99
|
* @param {LibraryContext<T>} libraryContext context
|
|
@@ -96,6 +104,7 @@ class ExportPropertyLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
96
104
|
}
|
|
97
105
|
|
|
98
106
|
/**
|
|
107
|
+
* Renders source with library export.
|
|
99
108
|
* @param {Source} source source
|
|
100
109
|
* @param {Module} module module
|
|
101
110
|
* @param {StartupRenderContext} renderContext render context
|
|
@@ -17,26 +17,31 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
17
17
|
/** @typedef {import("../util/Hash")} Hash */
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Defines the shared type used by this module.
|
|
20
21
|
* @template T
|
|
21
22
|
* @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T>
|
|
22
23
|
*/
|
|
23
24
|
|
|
24
25
|
/**
|
|
26
|
+
* Defines the jsonp library plugin options type used by this module.
|
|
25
27
|
* @typedef {object} JsonpLibraryPluginOptions
|
|
26
28
|
* @property {LibraryType} type
|
|
27
29
|
*/
|
|
28
30
|
|
|
29
31
|
/**
|
|
32
|
+
* Defines the jsonp library plugin parsed type used by this module.
|
|
30
33
|
* @typedef {object} JsonpLibraryPluginParsed
|
|
31
34
|
* @property {string} name
|
|
32
35
|
*/
|
|
33
36
|
|
|
34
37
|
/**
|
|
38
|
+
* Represents the jsonp library plugin runtime component.
|
|
35
39
|
* @typedef {JsonpLibraryPluginParsed} T
|
|
36
40
|
* @extends {AbstractLibraryPlugin<JsonpLibraryPluginParsed>}
|
|
37
41
|
*/
|
|
38
42
|
class JsonpLibraryPlugin extends AbstractLibraryPlugin {
|
|
39
43
|
/**
|
|
44
|
+
* Creates an instance of JsonpLibraryPlugin.
|
|
40
45
|
* @param {JsonpLibraryPluginOptions} options the plugin options
|
|
41
46
|
*/
|
|
42
47
|
constructor(options) {
|
|
@@ -47,6 +52,7 @@ class JsonpLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
/**
|
|
55
|
+
* Returns preprocess as needed by overriding.
|
|
50
56
|
* @param {LibraryOptions} library normalized library option
|
|
51
57
|
* @returns {T} preprocess as needed by overriding
|
|
52
58
|
*/
|
|
@@ -64,6 +70,7 @@ class JsonpLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
/**
|
|
73
|
+
* Returns source with library export.
|
|
67
74
|
* @param {Source} source source
|
|
68
75
|
* @param {RenderContext} renderContext render context
|
|
69
76
|
* @param {LibraryContext<T>} libraryContext context
|
|
@@ -77,6 +84,7 @@ class JsonpLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
77
84
|
}
|
|
78
85
|
|
|
79
86
|
/**
|
|
87
|
+
* Processes the provided chunk.
|
|
80
88
|
* @param {Chunk} chunk the chunk
|
|
81
89
|
* @param {Hash} hash hash
|
|
82
90
|
* @param {ChunkHashContext} chunkHashContext chunk hash context
|
|
@@ -11,6 +11,7 @@ const ExternalModule = require("../ExternalModule");
|
|
|
11
11
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
12
12
|
const Template = require("../Template");
|
|
13
13
|
const HarmonyExportImportedSpecifierDependency = require("../dependencies/HarmonyExportImportedSpecifierDependency");
|
|
14
|
+
const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
|
|
14
15
|
const ConcatenatedModule = require("../optimize/ConcatenatedModule");
|
|
15
16
|
const { propertyAccess } = require("../util/property");
|
|
16
17
|
const { getEntryRuntime, getRuntimeKey } = require("../util/runtime");
|
|
@@ -32,16 +33,19 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
32
33
|
/** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
|
|
33
34
|
|
|
34
35
|
/**
|
|
36
|
+
* Defines the shared type used by this module.
|
|
35
37
|
* @template T
|
|
36
38
|
* @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T>
|
|
37
39
|
*/
|
|
38
40
|
|
|
39
41
|
/**
|
|
42
|
+
* Defines the module library plugin options type used by this module.
|
|
40
43
|
* @typedef {object} ModuleLibraryPluginOptions
|
|
41
44
|
* @property {LibraryType} type
|
|
42
45
|
*/
|
|
43
46
|
|
|
44
47
|
/**
|
|
48
|
+
* Defines the module library plugin parsed type used by this module.
|
|
45
49
|
* @typedef {object} ModuleLibraryPluginParsed
|
|
46
50
|
* @property {string} name
|
|
47
51
|
* @property {LibraryExport=} export
|
|
@@ -50,11 +54,13 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
50
54
|
const PLUGIN_NAME = "ModuleLibraryPlugin";
|
|
51
55
|
|
|
52
56
|
/**
|
|
57
|
+
* Represents the module library plugin runtime component.
|
|
53
58
|
* @typedef {ModuleLibraryPluginParsed} T
|
|
54
59
|
* @extends {AbstractLibraryPlugin<ModuleLibraryPluginParsed>}
|
|
55
60
|
*/
|
|
56
61
|
class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
57
62
|
/**
|
|
63
|
+
* Creates an instance of ModuleLibraryPlugin.
|
|
58
64
|
* @param {ModuleLibraryPluginOptions} options the plugin options
|
|
59
65
|
*/
|
|
60
66
|
constructor(options) {
|
|
@@ -65,7 +71,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
/**
|
|
68
|
-
*
|
|
74
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
69
75
|
* @param {Compiler} compiler the compiler instance
|
|
70
76
|
* @returns {void}
|
|
71
77
|
*/
|
|
@@ -75,6 +81,8 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
75
81
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
76
82
|
const { onDemandExportsGeneration } =
|
|
77
83
|
ConcatenatedModule.getCompilationHooks(compilation);
|
|
84
|
+
const javascriptHooks =
|
|
85
|
+
JavascriptModulesPlugin.getCompilationHooks(compilation);
|
|
78
86
|
onDemandExportsGeneration.tap(
|
|
79
87
|
PLUGIN_NAME,
|
|
80
88
|
(module, runtimes, source, finalName) => {
|
|
@@ -100,10 +108,82 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
100
108
|
return true;
|
|
101
109
|
}
|
|
102
110
|
);
|
|
111
|
+
|
|
112
|
+
// `ModuleLibraryPlugin` stashes the on-demand exports source via
|
|
113
|
+
// `onDemandExportsGeneration` and only re-emits it when the
|
|
114
|
+
// module is wrapped in an IIFE/factory. When a single concatenated
|
|
115
|
+
// entry is inlined directly, the stashed source — and the
|
|
116
|
+
// `definePropertyGetters` / `requireScope` runtime helpers it
|
|
117
|
+
// pulled in — never make it into the output. Drop those helpers
|
|
118
|
+
// from the chunk's set in that simple shape so the bundle stays
|
|
119
|
+
// clean.
|
|
120
|
+
compilation.hooks.additionalChunkRuntimeRequirements.tap(
|
|
121
|
+
PLUGIN_NAME,
|
|
122
|
+
(chunk, set, { chunkGraph, codeGenerationResults }) => {
|
|
123
|
+
if (!set.has(RuntimeGlobals.definePropertyGetters)) return;
|
|
124
|
+
|
|
125
|
+
// Only handle the simple "single concatenated entry"
|
|
126
|
+
// shape. Anything else (additional modules, multiple
|
|
127
|
+
// entries, sibling runtime chunks, or chunk-level
|
|
128
|
+
// requirements that disable inline startup) forces the
|
|
129
|
+
// module through factory/IIFE rendering, which re-emits
|
|
130
|
+
// the source.
|
|
131
|
+
if (chunkGraph.getNumberOfChunkModules(chunk) !== 1) return;
|
|
132
|
+
if (chunkGraph.getNumberOfEntryModules(chunk) !== 1) return;
|
|
133
|
+
if (chunkGraph.hasChunkEntryDependentChunks(chunk)) return;
|
|
134
|
+
if (
|
|
135
|
+
set.has(RuntimeGlobals.moduleFactories) ||
|
|
136
|
+
set.has(RuntimeGlobals.moduleCache) ||
|
|
137
|
+
set.has(RuntimeGlobals.interceptModuleExecution) ||
|
|
138
|
+
set.has(RuntimeGlobals.module) ||
|
|
139
|
+
set.has(RuntimeGlobals.thisAsExports)
|
|
140
|
+
) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
// Anyone tapping `inlineInRuntimeBailout` may force factory
|
|
144
|
+
// rendering at render time, so conservatively bail out.
|
|
145
|
+
if (javascriptHooks.inlineInRuntimeBailout.isUsed()) return;
|
|
146
|
+
|
|
147
|
+
const [module] = chunkGraph.getChunkEntryModulesIterable(chunk);
|
|
148
|
+
const exportsSourceByRuntime =
|
|
149
|
+
module.buildMeta && module.buildMeta.exportsSourceByRuntime;
|
|
150
|
+
if (
|
|
151
|
+
!exportsSourceByRuntime ||
|
|
152
|
+
!exportsSourceByRuntime.has(getRuntimeKey(chunk.runtime))
|
|
153
|
+
) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
// If the generated source references any
|
|
157
|
+
// `__webpack_require__.<helper>` (the on-demand `.d(...)`
|
|
158
|
+
// is stashed, but `.r(__webpack_exports__)` from the ESM
|
|
159
|
+
// compat flag, namespace objects, deferred externals, ...
|
|
160
|
+
// stay in the result) the helpers and the require scope
|
|
161
|
+
// they live in are still needed. The dot in the substring
|
|
162
|
+
// avoids matching the bare `"__webpack_require__"` string
|
|
163
|
+
// literals that some test fixtures include.
|
|
164
|
+
const codeGenResult = codeGenerationResults.get(
|
|
165
|
+
module,
|
|
166
|
+
chunk.runtime
|
|
167
|
+
);
|
|
168
|
+
const jsSource =
|
|
169
|
+
codeGenResult && codeGenResult.sources.get("javascript");
|
|
170
|
+
if (
|
|
171
|
+
jsSource &&
|
|
172
|
+
String(jsSource.source()).includes(`${RuntimeGlobals.require}.`)
|
|
173
|
+
) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
set.delete(RuntimeGlobals.definePropertyGetters);
|
|
178
|
+
set.delete(RuntimeGlobals.exports);
|
|
179
|
+
set.delete(RuntimeGlobals.requireScope);
|
|
180
|
+
}
|
|
181
|
+
);
|
|
103
182
|
});
|
|
104
183
|
}
|
|
105
184
|
|
|
106
185
|
/**
|
|
186
|
+
* Finish entry module.
|
|
107
187
|
* @param {Module} module the exporting entry module
|
|
108
188
|
* @param {string} entryName the name of the entrypoint
|
|
109
189
|
* @param {LibraryContext<T>} libraryContext context
|
|
@@ -140,6 +220,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
140
220
|
}
|
|
141
221
|
|
|
142
222
|
/**
|
|
223
|
+
* Returns preprocess as needed by overriding.
|
|
143
224
|
* @param {LibraryOptions} library normalized library option
|
|
144
225
|
* @returns {T} preprocess as needed by overriding
|
|
145
226
|
*/
|
|
@@ -158,6 +239,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
158
239
|
}
|
|
159
240
|
|
|
160
241
|
/**
|
|
242
|
+
* Analyze unknown provided exports.
|
|
161
243
|
* @param {Source} source source
|
|
162
244
|
* @param {Module} module module
|
|
163
245
|
* @param {ModuleGraph} moduleGraph moduleGraph
|
|
@@ -181,6 +263,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
181
263
|
const unknownProvidedExports = new Map();
|
|
182
264
|
|
|
183
265
|
/**
|
|
266
|
+
* Resolves dynamic star reexport.
|
|
184
267
|
* @param {Module} module the module
|
|
185
268
|
* @param {boolean} isDynamicReexport if module is dynamic reexported
|
|
186
269
|
*/
|
|
@@ -246,6 +329,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
246
329
|
}
|
|
247
330
|
|
|
248
331
|
/**
|
|
332
|
+
* Renders source with library export.
|
|
249
333
|
* @param {Source} source source
|
|
250
334
|
* @param {Module} module module
|
|
251
335
|
* @param {StartupRenderContext} renderContext render context
|
|
@@ -431,6 +515,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
431
515
|
}
|
|
432
516
|
|
|
433
517
|
/**
|
|
518
|
+
* Renders module content.
|
|
434
519
|
* @param {Source} source source
|
|
435
520
|
* @param {Module} module module
|
|
436
521
|
* @param {ModuleRenderContext} renderContext render context
|
|
@@ -21,26 +21,31 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
21
21
|
/** @typedef {import("../javascript/JavascriptModulesPlugin").RenderContext} RenderContext */
|
|
22
22
|
/** @typedef {import("../util/Hash")} Hash */
|
|
23
23
|
/**
|
|
24
|
+
* Defines the shared type used by this module.
|
|
24
25
|
* @template T
|
|
25
26
|
* @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T>
|
|
26
27
|
*/
|
|
27
28
|
|
|
28
29
|
/**
|
|
30
|
+
* Defines the system library plugin options type used by this module.
|
|
29
31
|
* @typedef {object} SystemLibraryPluginOptions
|
|
30
32
|
* @property {LibraryType} type
|
|
31
33
|
*/
|
|
32
34
|
|
|
33
35
|
/**
|
|
36
|
+
* Defines the system library plugin parsed type used by this module.
|
|
34
37
|
* @typedef {object} SystemLibraryPluginParsed
|
|
35
38
|
* @property {string} name
|
|
36
39
|
*/
|
|
37
40
|
|
|
38
41
|
/**
|
|
42
|
+
* Represents the system library plugin runtime component.
|
|
39
43
|
* @typedef {SystemLibraryPluginParsed} T
|
|
40
44
|
* @extends {AbstractLibraryPlugin<SystemLibraryPluginParsed>}
|
|
41
45
|
*/
|
|
42
46
|
class SystemLibraryPlugin extends AbstractLibraryPlugin {
|
|
43
47
|
/**
|
|
48
|
+
* Creates an instance of SystemLibraryPlugin.
|
|
44
49
|
* @param {SystemLibraryPluginOptions} options the plugin options
|
|
45
50
|
*/
|
|
46
51
|
constructor(options) {
|
|
@@ -51,6 +56,7 @@ class SystemLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
51
56
|
}
|
|
52
57
|
|
|
53
58
|
/**
|
|
59
|
+
* Returns preprocess as needed by overriding.
|
|
54
60
|
* @param {LibraryOptions} library normalized library option
|
|
55
61
|
* @returns {T} preprocess as needed by overriding
|
|
56
62
|
*/
|
|
@@ -68,6 +74,7 @@ class SystemLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
68
74
|
}
|
|
69
75
|
|
|
70
76
|
/**
|
|
77
|
+
* Returns source with library export.
|
|
71
78
|
* @param {Source} source source
|
|
72
79
|
* @param {RenderContext} renderContext render context
|
|
73
80
|
* @param {LibraryContext<T>} libraryContext context
|
|
@@ -239,6 +246,7 @@ class SystemLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
239
246
|
}
|
|
240
247
|
|
|
241
248
|
/**
|
|
249
|
+
* Processes the provided chunk.
|
|
242
250
|
* @param {Chunk} chunk the chunk
|
|
243
251
|
* @param {Hash} hash hash
|
|
244
252
|
* @param {ChunkHashContext} chunkHashContext chunk hash context
|
|
@@ -20,11 +20,13 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
20
20
|
/** @typedef {import("../ExternalModule").RequestRecord} RequestRecord */
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
+
* Defines the shared type used by this module.
|
|
23
24
|
* @template T
|
|
24
25
|
* @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T>
|
|
25
26
|
*/
|
|
26
27
|
|
|
27
28
|
/**
|
|
29
|
+
* Accessor to object access.
|
|
28
30
|
* @param {string[]} accessor the accessor to convert to path
|
|
29
31
|
* @returns {string} the path
|
|
30
32
|
*/
|
|
@@ -34,6 +36,7 @@ const accessorToObjectAccess = (accessor) =>
|
|
|
34
36
|
/** @typedef {string | string[]} Accessor */
|
|
35
37
|
|
|
36
38
|
/**
|
|
39
|
+
* Returns the path.
|
|
37
40
|
* @param {string | undefined} base the path prefix
|
|
38
41
|
* @param {Accessor} accessor the accessor
|
|
39
42
|
* @param {string=} joinWith the element separator
|
|
@@ -56,12 +59,14 @@ const accessorAccess = (base, accessor, joinWith = ", ") => {
|
|
|
56
59
|
};
|
|
57
60
|
|
|
58
61
|
/**
|
|
62
|
+
* Defines the umd library plugin options type used by this module.
|
|
59
63
|
* @typedef {object} UmdLibraryPluginOptions
|
|
60
64
|
* @property {LibraryType} type
|
|
61
65
|
* @property {boolean=} optionalAmdExternalAsGlobal
|
|
62
66
|
*/
|
|
63
67
|
|
|
64
68
|
/**
|
|
69
|
+
* Defines the umd library plugin parsed type used by this module.
|
|
65
70
|
* @typedef {object} UmdLibraryPluginParsed
|
|
66
71
|
* @property {string | string[] | undefined} name
|
|
67
72
|
* @property {LibraryCustomUmdObject} names
|
|
@@ -70,11 +75,13 @@ const accessorAccess = (base, accessor, joinWith = ", ") => {
|
|
|
70
75
|
*/
|
|
71
76
|
|
|
72
77
|
/**
|
|
78
|
+
* Represents the umd library plugin runtime component.
|
|
73
79
|
* @typedef {UmdLibraryPluginParsed} T
|
|
74
80
|
* @extends {AbstractLibraryPlugin<UmdLibraryPluginParsed>}
|
|
75
81
|
*/
|
|
76
82
|
class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
77
83
|
/**
|
|
84
|
+
* Creates an instance of UmdLibraryPlugin.
|
|
78
85
|
* @param {UmdLibraryPluginOptions} options the plugin option
|
|
79
86
|
*/
|
|
80
87
|
constructor(options) {
|
|
@@ -88,6 +95,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
88
95
|
}
|
|
89
96
|
|
|
90
97
|
/**
|
|
98
|
+
* Returns preprocess as needed by overriding.
|
|
91
99
|
* @param {LibraryOptions} library normalized library option
|
|
92
100
|
* @returns {T} preprocess as needed by overriding
|
|
93
101
|
*/
|
|
@@ -117,6 +125,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
117
125
|
}
|
|
118
126
|
|
|
119
127
|
/**
|
|
128
|
+
* Returns source with library export.
|
|
120
129
|
* @param {Source} source source
|
|
121
130
|
* @param {RenderContext} renderContext render context
|
|
122
131
|
* @param {LibraryContext<T>} libraryContext context
|
|
@@ -153,6 +162,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
153
162
|
}
|
|
154
163
|
|
|
155
164
|
/**
|
|
165
|
+
* Returns the replaced keys.
|
|
156
166
|
* @param {string} str the string to replace
|
|
157
167
|
* @returns {string} the replaced keys
|
|
158
168
|
*/
|
|
@@ -162,6 +172,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
162
172
|
});
|
|
163
173
|
|
|
164
174
|
/**
|
|
175
|
+
* Externals deps array.
|
|
165
176
|
* @param {ExternalModule[]} modules external modules
|
|
166
177
|
* @returns {string} result
|
|
167
178
|
*/
|
|
@@ -180,6 +191,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
180
191
|
)}]`;
|
|
181
192
|
|
|
182
193
|
/**
|
|
194
|
+
* Externals root array.
|
|
183
195
|
* @param {ExternalModule[]} modules external modules
|
|
184
196
|
* @returns {string} result
|
|
185
197
|
*/
|
|
@@ -201,6 +213,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
201
213
|
);
|
|
202
214
|
|
|
203
215
|
/**
|
|
216
|
+
* Externals require array.
|
|
204
217
|
* @param {string} type the type
|
|
205
218
|
* @returns {string} external require array
|
|
206
219
|
*/
|
|
@@ -233,6 +246,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
233
246
|
);
|
|
234
247
|
|
|
235
248
|
/**
|
|
249
|
+
* Externals arguments.
|
|
236
250
|
* @param {ExternalModule[]} modules external modules
|
|
237
251
|
* @returns {string} arguments
|
|
238
252
|
*/
|
|
@@ -247,6 +261,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
247
261
|
.join(", ");
|
|
248
262
|
|
|
249
263
|
/**
|
|
264
|
+
* Returns stringified library name.
|
|
250
265
|
* @param {Accessor} library library name
|
|
251
266
|
* @returns {string} stringified library name
|
|
252
267
|
*/
|
|
@@ -279,6 +294,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
279
294
|
const { auxiliaryComment, namedDefine, names } = options;
|
|
280
295
|
|
|
281
296
|
/**
|
|
297
|
+
* Gets auxiliary comment.
|
|
282
298
|
* @param {keyof LibraryCustomUmdCommentObject} type type
|
|
283
299
|
* @returns {string} comment
|
|
284
300
|
*/
|
package/lib/logging/Logger.js
CHANGED
|
@@ -42,6 +42,7 @@ const TIMERS_AGGREGATES_SYMBOL = Symbol("webpack logger aggregated times");
|
|
|
42
42
|
|
|
43
43
|
class WebpackLogger {
|
|
44
44
|
/**
|
|
45
|
+
* Creates an instance of WebpackLogger.
|
|
45
46
|
* @param {LogFn} log log function
|
|
46
47
|
* @param {GetChildLogger} getChildLogger function to create child logger
|
|
47
48
|
*/
|
|
@@ -53,6 +54,7 @@ class WebpackLogger {
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
/**
|
|
57
|
+
* Processes the provided arg.
|
|
56
58
|
* @param {Args} args args
|
|
57
59
|
*/
|
|
58
60
|
error(...args) {
|
|
@@ -60,6 +62,7 @@ class WebpackLogger {
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
/**
|
|
65
|
+
* Processes the provided arg.
|
|
63
66
|
* @param {Args} args args
|
|
64
67
|
*/
|
|
65
68
|
warn(...args) {
|
|
@@ -67,6 +70,7 @@ class WebpackLogger {
|
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
/**
|
|
73
|
+
* Processes the provided arg.
|
|
70
74
|
* @param {Args} args args
|
|
71
75
|
*/
|
|
72
76
|
info(...args) {
|
|
@@ -74,6 +78,7 @@ class WebpackLogger {
|
|
|
74
78
|
}
|
|
75
79
|
|
|
76
80
|
/**
|
|
81
|
+
* Processes the provided arg.
|
|
77
82
|
* @param {Args} args args
|
|
78
83
|
*/
|
|
79
84
|
log(...args) {
|
|
@@ -81,6 +86,7 @@ class WebpackLogger {
|
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
/**
|
|
89
|
+
* Processes the provided arg.
|
|
84
90
|
* @param {Args} args args
|
|
85
91
|
*/
|
|
86
92
|
debug(...args) {
|
|
@@ -88,6 +94,7 @@ class WebpackLogger {
|
|
|
88
94
|
}
|
|
89
95
|
|
|
90
96
|
/**
|
|
97
|
+
* Processes the provided condition.
|
|
91
98
|
* @param {boolean=} condition condition
|
|
92
99
|
* @param {Args} args args
|
|
93
100
|
*/
|
|
@@ -106,6 +113,7 @@ class WebpackLogger {
|
|
|
106
113
|
}
|
|
107
114
|
|
|
108
115
|
/**
|
|
116
|
+
* Processes the provided arg.
|
|
109
117
|
* @param {Args} args args
|
|
110
118
|
*/
|
|
111
119
|
status(...args) {
|
|
@@ -113,6 +121,7 @@ class WebpackLogger {
|
|
|
113
121
|
}
|
|
114
122
|
|
|
115
123
|
/**
|
|
124
|
+
* Processes the provided arg.
|
|
116
125
|
* @param {Args} args args
|
|
117
126
|
*/
|
|
118
127
|
group(...args) {
|
|
@@ -120,6 +129,7 @@ class WebpackLogger {
|
|
|
120
129
|
}
|
|
121
130
|
|
|
122
131
|
/**
|
|
132
|
+
* Processes the provided arg.
|
|
123
133
|
* @param {Args} args args
|
|
124
134
|
*/
|
|
125
135
|
groupCollapsed(...args) {
|
|
@@ -131,6 +141,7 @@ class WebpackLogger {
|
|
|
131
141
|
}
|
|
132
142
|
|
|
133
143
|
/**
|
|
144
|
+
* Processes the provided label.
|
|
134
145
|
* @param {string=} label label
|
|
135
146
|
*/
|
|
136
147
|
profile(label) {
|
|
@@ -138,6 +149,7 @@ class WebpackLogger {
|
|
|
138
149
|
}
|
|
139
150
|
|
|
140
151
|
/**
|
|
152
|
+
* Processes the provided label.
|
|
141
153
|
* @param {string=} label label
|
|
142
154
|
*/
|
|
143
155
|
profileEnd(label) {
|
|
@@ -145,6 +157,7 @@ class WebpackLogger {
|
|
|
145
157
|
}
|
|
146
158
|
|
|
147
159
|
/**
|
|
160
|
+
* Processes the provided label.
|
|
148
161
|
* @param {string} label label
|
|
149
162
|
*/
|
|
150
163
|
time(label) {
|
|
@@ -154,6 +167,7 @@ class WebpackLogger {
|
|
|
154
167
|
}
|
|
155
168
|
|
|
156
169
|
/**
|
|
170
|
+
* Processes the provided label.
|
|
157
171
|
* @param {string=} label label
|
|
158
172
|
*/
|
|
159
173
|
timeLog(label) {
|
|
@@ -166,6 +180,7 @@ class WebpackLogger {
|
|
|
166
180
|
}
|
|
167
181
|
|
|
168
182
|
/**
|
|
183
|
+
* Processes the provided label.
|
|
169
184
|
* @param {string=} label label
|
|
170
185
|
*/
|
|
171
186
|
timeEnd(label) {
|
|
@@ -180,6 +195,7 @@ class WebpackLogger {
|
|
|
180
195
|
}
|
|
181
196
|
|
|
182
197
|
/**
|
|
198
|
+
* Processes the provided label.
|
|
183
199
|
* @param {string=} label label
|
|
184
200
|
*/
|
|
185
201
|
timeAggregate(label) {
|
|
@@ -209,6 +225,7 @@ class WebpackLogger {
|
|
|
209
225
|
}
|
|
210
226
|
|
|
211
227
|
/**
|
|
228
|
+
* Time aggregate end.
|
|
212
229
|
* @param {string=} label label
|
|
213
230
|
*/
|
|
214
231
|
timeAggregateEnd(label) {
|
|
@@ -16,6 +16,7 @@ const { LogType } = require("./Logger");
|
|
|
16
16
|
/** @typedef {(value: string, type: LogTypeEnum, args?: Args) => void} LoggingFunction */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Defines the logger console type used by this module.
|
|
19
20
|
* @typedef {object} LoggerConsole
|
|
20
21
|
* @property {() => void} clear
|
|
21
22
|
* @property {() => void} trace
|
|
@@ -34,6 +35,7 @@ const { LogType } = require("./Logger");
|
|
|
34
35
|
*/
|
|
35
36
|
|
|
36
37
|
/**
|
|
38
|
+
* Defines the logger options type used by this module.
|
|
37
39
|
* @typedef {object} LoggerOptions
|
|
38
40
|
* @property {false | true | "none" | "error" | "warn" | "info" | "log" | "verbose"} level loglevel
|
|
39
41
|
* @property {FilterTypes | boolean} debug filter for debug logging
|
|
@@ -41,6 +43,7 @@ const { LogType } = require("./Logger");
|
|
|
41
43
|
*/
|
|
42
44
|
|
|
43
45
|
/**
|
|
46
|
+
* Filter to function.
|
|
44
47
|
* @param {FilterItemTypes} item an input item
|
|
45
48
|
* @returns {FilterFunction | undefined} filter function
|
|
46
49
|
*/
|
|
@@ -63,6 +66,7 @@ const filterToFunction = (item) => {
|
|
|
63
66
|
};
|
|
64
67
|
|
|
65
68
|
/**
|
|
69
|
+
* Enumerates the available values.
|
|
66
70
|
* @enum {number}
|
|
67
71
|
*/
|
|
68
72
|
const LogLevel = {
|
|
@@ -77,6 +81,7 @@ const LogLevel = {
|
|
|
77
81
|
};
|
|
78
82
|
|
|
79
83
|
/**
|
|
84
|
+
* Returns logging function.
|
|
80
85
|
* @param {LoggerOptions} options options object
|
|
81
86
|
* @returns {LoggingFunction} logging function
|
|
82
87
|
*/
|
|
@@ -93,6 +98,7 @@ module.exports = ({ level = "info", debug = false, console }) => {
|
|
|
93
98
|
const loglevel = LogLevel[`${level}`] || 0;
|
|
94
99
|
|
|
95
100
|
/**
|
|
101
|
+
* Processes the provided name.
|
|
96
102
|
* @param {string} name name of the logger
|
|
97
103
|
* @param {LogTypeEnum} type type of the log entry
|
|
98
104
|
* @param {Args=} args arguments of the log entry
|
|
@@ -100,6 +106,7 @@ module.exports = ({ level = "info", debug = false, console }) => {
|
|
|
100
106
|
*/
|
|
101
107
|
const logger = (name, type, args) => {
|
|
102
108
|
/**
|
|
109
|
+
* Returns labeled args.
|
|
103
110
|
* @template T
|
|
104
111
|
* @returns {[string?, ...T[]]} labeled args
|
|
105
112
|
*/
|
package/lib/logging/runtime.js
CHANGED
|
@@ -18,6 +18,7 @@ const currentDefaultLoggerOptions = {
|
|
|
18
18
|
let currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
+
* Processes the provided create console logger.logger option.
|
|
21
22
|
* @param {createConsoleLogger.LoggerOptions} options new options, merge with old options
|
|
22
23
|
* @returns {void}
|
|
23
24
|
*/
|
|
@@ -27,6 +28,7 @@ module.exports.configureDefaultLogger = (options) => {
|
|
|
27
28
|
};
|
|
28
29
|
|
|
29
30
|
/**
|
|
31
|
+
* Returns a logger.
|
|
30
32
|
* @param {string} name name of the logger
|
|
31
33
|
* @returns {Logger} a logger
|
|
32
34
|
*/
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
+
* Returns sum of all numbers in array.
|
|
9
10
|
* @param {number[]} array array of numbers
|
|
10
11
|
* @returns {number} sum of all numbers in array
|
|
11
12
|
*/
|
|
@@ -16,6 +17,7 @@ const arraySum = (array) => {
|
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
/**
|
|
20
|
+
* Returns truncated args.
|
|
19
21
|
* @param {string[]} args items to be truncated
|
|
20
22
|
* @param {number} maxLength maximum length of args including spaces between
|
|
21
23
|
* @returns {string[]} truncated args
|