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
|
@@ -12,6 +12,7 @@ const Cache = require("../Cache");
|
|
|
12
12
|
/** @typedef {import("../Compiler")} Compiler */
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
+
* Defines the memory with gc cache plugin options type used by this module.
|
|
15
16
|
* @typedef {object} MemoryWithGcCachePluginOptions
|
|
16
17
|
* @property {number} maxGenerations max generations
|
|
17
18
|
*/
|
|
@@ -20,6 +21,7 @@ const PLUGIN_NAME = "MemoryWithGcCachePlugin";
|
|
|
20
21
|
|
|
21
22
|
class MemoryWithGcCachePlugin {
|
|
22
23
|
/**
|
|
24
|
+
* Creates an instance of MemoryWithGcCachePlugin.
|
|
23
25
|
* @param {MemoryWithGcCachePluginOptions} options options
|
|
24
26
|
*/
|
|
25
27
|
constructor({ maxGenerations }) {
|
|
@@ -27,7 +29,7 @@ class MemoryWithGcCachePlugin {
|
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
/**
|
|
30
|
-
*
|
|
32
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
31
33
|
* @param {Compiler} compiler the compiler instance
|
|
32
34
|
* @returns {void}
|
|
33
35
|
*/
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
const FileSystemInfo = require("../FileSystemInfo");
|
|
9
9
|
const ProgressPlugin = require("../ProgressPlugin");
|
|
10
|
-
const { formatSize } = require("../SizeFormatHelpers");
|
|
11
10
|
const SerializerMiddleware = require("../serialization/SerializerMiddleware");
|
|
12
11
|
const LazySet = require("../util/LazySet");
|
|
12
|
+
const formatSize = require("../util/formatSize");
|
|
13
13
|
const makeSerializable = require("../util/makeSerializable");
|
|
14
14
|
const memoize = require("../util/memoize");
|
|
15
15
|
const {
|
|
@@ -37,6 +37,7 @@ const {
|
|
|
37
37
|
|
|
38
38
|
class PackContainer {
|
|
39
39
|
/**
|
|
40
|
+
* Creates an instance of PackContainer.
|
|
40
41
|
* @param {Pack} data stored data
|
|
41
42
|
* @param {string} version version identifier
|
|
42
43
|
* @param {Snapshot} buildSnapshot snapshot of all build dependencies
|
|
@@ -67,6 +68,7 @@ class PackContainer {
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
/**
|
|
71
|
+
* Serializes this instance into the provided serializer context.
|
|
70
72
|
* @param {ObjectSerializerContext} context context
|
|
71
73
|
*/
|
|
72
74
|
serialize({ write, writeLazy }) {
|
|
@@ -80,6 +82,7 @@ class PackContainer {
|
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
/**
|
|
85
|
+
* Restores this instance from the provided deserializer context.
|
|
83
86
|
* @param {ObjectDeserializerContext} context context
|
|
84
87
|
*/
|
|
85
88
|
deserialize({ read }) {
|
|
@@ -102,10 +105,11 @@ const MIN_CONTENT_SIZE = 1024 * 1024; // 1 MB
|
|
|
102
105
|
const CONTENT_COUNT_TO_MERGE = 10;
|
|
103
106
|
const MIN_ITEMS_IN_FRESH_PACK = 100;
|
|
104
107
|
const MAX_ITEMS_IN_FRESH_PACK = 50000;
|
|
105
|
-
const MAX_TIME_IN_FRESH_PACK =
|
|
108
|
+
const MAX_TIME_IN_FRESH_PACK = 60 * 1000; // 1 min
|
|
106
109
|
|
|
107
110
|
class PackItemInfo {
|
|
108
111
|
/**
|
|
112
|
+
* Creates an instance of PackItemInfo.
|
|
109
113
|
* @param {string} identifier identifier of item
|
|
110
114
|
* @param {string | null | undefined} etag etag of item
|
|
111
115
|
* @param {Data} value fresh value of item
|
|
@@ -126,6 +130,7 @@ class PackItemInfo {
|
|
|
126
130
|
|
|
127
131
|
class Pack {
|
|
128
132
|
/**
|
|
133
|
+
* Creates an instance of Pack.
|
|
129
134
|
* @param {Logger} logger a logger
|
|
130
135
|
* @param {number} maxAge max age of cache items
|
|
131
136
|
*/
|
|
@@ -149,6 +154,7 @@ class Pack {
|
|
|
149
154
|
}
|
|
150
155
|
|
|
151
156
|
/**
|
|
157
|
+
* Adds the provided identifier to the pack.
|
|
152
158
|
* @param {string} identifier identifier
|
|
153
159
|
*/
|
|
154
160
|
_addRequest(identifier) {
|
|
@@ -170,6 +176,7 @@ class Pack {
|
|
|
170
176
|
}
|
|
171
177
|
|
|
172
178
|
/**
|
|
179
|
+
* Returns cached content.
|
|
173
180
|
* @param {string} identifier unique name for the resource
|
|
174
181
|
* @param {string | null} etag etag of the resource
|
|
175
182
|
* @returns {Data} cached content
|
|
@@ -193,6 +200,7 @@ class Pack {
|
|
|
193
200
|
}
|
|
194
201
|
|
|
195
202
|
/**
|
|
203
|
+
* Updates value using the provided identifier.
|
|
196
204
|
* @param {string} identifier unique name for the resource
|
|
197
205
|
* @param {string | null} etag etag of the resource
|
|
198
206
|
* @param {Data} data cached content
|
|
@@ -244,6 +252,7 @@ class Pack {
|
|
|
244
252
|
}
|
|
245
253
|
|
|
246
254
|
/**
|
|
255
|
+
* Returns new location of data entries.
|
|
247
256
|
* @returns {number} new location of data entries
|
|
248
257
|
*/
|
|
249
258
|
_findLocation() {
|
|
@@ -254,6 +263,7 @@ class Pack {
|
|
|
254
263
|
}
|
|
255
264
|
|
|
256
265
|
/**
|
|
266
|
+
* Gc and update location.
|
|
257
267
|
* @private
|
|
258
268
|
* @param {Items} items items
|
|
259
269
|
* @param {Items} usedItems used items
|
|
@@ -604,6 +614,7 @@ class Pack {
|
|
|
604
614
|
}
|
|
605
615
|
|
|
606
616
|
/**
|
|
617
|
+
* Serializes this instance into the provided serializer context.
|
|
607
618
|
* @param {ObjectSerializerContext} context context
|
|
608
619
|
*/
|
|
609
620
|
serialize({ write, writeSeparate }) {
|
|
@@ -637,6 +648,7 @@ class Pack {
|
|
|
637
648
|
}
|
|
638
649
|
|
|
639
650
|
/**
|
|
651
|
+
* Restores this instance from the provided deserializer context.
|
|
640
652
|
* @param {ObjectDeserializerContext & { logger: Logger }} context context
|
|
641
653
|
*/
|
|
642
654
|
deserialize({ read, logger }) {
|
|
@@ -694,6 +706,7 @@ makeSerializable(Pack, "webpack/lib/cache/PackFileCacheStrategy", "Pack");
|
|
|
694
706
|
|
|
695
707
|
class PackContentItems {
|
|
696
708
|
/**
|
|
709
|
+
* Creates an instance of PackContentItems.
|
|
697
710
|
* @param {Content} map items
|
|
698
711
|
*/
|
|
699
712
|
constructor(map) {
|
|
@@ -701,6 +714,7 @@ class PackContentItems {
|
|
|
701
714
|
}
|
|
702
715
|
|
|
703
716
|
/**
|
|
717
|
+
* Serializes this instance into the provided serializer context.
|
|
704
718
|
* @param {ObjectSerializerContext & { logger: Logger, profile: boolean | undefined }} context context
|
|
705
719
|
*/
|
|
706
720
|
serialize({ write, snapshot, rollback, logger, profile }) {
|
|
@@ -778,13 +792,14 @@ class PackContentItems {
|
|
|
778
792
|
}
|
|
779
793
|
|
|
780
794
|
/**
|
|
795
|
+
* Restores this instance from the provided deserializer context.
|
|
781
796
|
* @param {ObjectDeserializerContext & { logger: Logger, profile: boolean | undefined }} context context
|
|
782
797
|
*/
|
|
783
798
|
deserialize({ read, logger, profile }) {
|
|
784
799
|
if (read()) {
|
|
785
800
|
this.map = read();
|
|
786
801
|
} else if (profile) {
|
|
787
|
-
/** @type {
|
|
802
|
+
/** @type {Content} */
|
|
788
803
|
const map = new Map();
|
|
789
804
|
let key = read();
|
|
790
805
|
while (key !== null) {
|
|
@@ -810,7 +825,7 @@ class PackContentItems {
|
|
|
810
825
|
}
|
|
811
826
|
this.map = map;
|
|
812
827
|
} else {
|
|
813
|
-
/** @type {
|
|
828
|
+
/** @type {Content} */
|
|
814
829
|
const map = new Map();
|
|
815
830
|
let key = read();
|
|
816
831
|
while (key !== null) {
|
|
@@ -851,6 +866,7 @@ class PackContent {
|
|
|
851
866
|
*/
|
|
852
867
|
|
|
853
868
|
/**
|
|
869
|
+
* Creates an instance of PackContent.
|
|
854
870
|
* @param {Items} items keys
|
|
855
871
|
* @param {Items} usedItems used keys
|
|
856
872
|
* @param {PackContentItems | (() => Promise<PackContentItems>)} dataOrFn sync or async content
|
|
@@ -875,6 +891,7 @@ class PackContent {
|
|
|
875
891
|
}
|
|
876
892
|
|
|
877
893
|
/**
|
|
894
|
+
* Returns result.
|
|
878
895
|
* @param {string} identifier identifier
|
|
879
896
|
* @returns {string | Promise<string>} result
|
|
880
897
|
*/
|
|
@@ -927,6 +944,7 @@ class PackContent {
|
|
|
927
944
|
}
|
|
928
945
|
|
|
929
946
|
/**
|
|
947
|
+
* Returns maybe a promise if lazy.
|
|
930
948
|
* @param {string} reason explanation why unpack is necessary
|
|
931
949
|
* @returns {void | Promise<void>} maybe a promise if lazy
|
|
932
950
|
*/
|
|
@@ -971,6 +989,7 @@ class PackContent {
|
|
|
971
989
|
}
|
|
972
990
|
|
|
973
991
|
/**
|
|
992
|
+
* Returns the estimated size for the requested source type.
|
|
974
993
|
* @returns {number} size of the content or -1 if not known
|
|
975
994
|
*/
|
|
976
995
|
getSize() {
|
|
@@ -985,6 +1004,7 @@ class PackContent {
|
|
|
985
1004
|
}
|
|
986
1005
|
|
|
987
1006
|
/**
|
|
1007
|
+
* Processes the provided identifier.
|
|
988
1008
|
* @param {string} identifier identifier
|
|
989
1009
|
*/
|
|
990
1010
|
delete(identifier) {
|
|
@@ -994,6 +1014,7 @@ class PackContent {
|
|
|
994
1014
|
}
|
|
995
1015
|
|
|
996
1016
|
/**
|
|
1017
|
+
* Processes the provided write.
|
|
997
1018
|
* @param {(lazy: LazyFunction) => (() => PackContentItems | Promise<PackContentItems>)} write write function
|
|
998
1019
|
* @returns {void}
|
|
999
1020
|
*/
|
|
@@ -1086,6 +1107,7 @@ class PackContent {
|
|
|
1086
1107
|
}
|
|
1087
1108
|
|
|
1088
1109
|
/**
|
|
1110
|
+
* Allow collecting memory.
|
|
1089
1111
|
* @param {Buffer} buf buffer
|
|
1090
1112
|
* @returns {Buffer} buffer that can be collected
|
|
1091
1113
|
*/
|
|
@@ -1099,6 +1121,7 @@ const allowCollectingMemory = (buf) => {
|
|
|
1099
1121
|
|
|
1100
1122
|
class PackFileCacheStrategy {
|
|
1101
1123
|
/**
|
|
1124
|
+
* Creates an instance of PackFileCacheStrategy.
|
|
1102
1125
|
* @param {object} options options
|
|
1103
1126
|
* @param {Compiler} options.compiler the compiler
|
|
1104
1127
|
* @param {IntermediateFileSystem} options.fs the filesystem
|
|
@@ -1186,6 +1209,7 @@ class PackFileCacheStrategy {
|
|
|
1186
1209
|
}
|
|
1187
1210
|
|
|
1188
1211
|
/**
|
|
1212
|
+
* Returns pack.
|
|
1189
1213
|
* @returns {Promise<Pack>} pack
|
|
1190
1214
|
*/
|
|
1191
1215
|
_getPack() {
|
|
@@ -1196,6 +1220,7 @@ class PackFileCacheStrategy {
|
|
|
1196
1220
|
}
|
|
1197
1221
|
|
|
1198
1222
|
/**
|
|
1223
|
+
* Returns the pack.
|
|
1199
1224
|
* @returns {Promise<Pack>} the pack
|
|
1200
1225
|
*/
|
|
1201
1226
|
_openPack() {
|
|
@@ -1362,6 +1387,7 @@ class PackFileCacheStrategy {
|
|
|
1362
1387
|
}
|
|
1363
1388
|
|
|
1364
1389
|
/**
|
|
1390
|
+
* Returns promise.
|
|
1365
1391
|
* @param {string} identifier unique name for the resource
|
|
1366
1392
|
* @param {Etag | null} etag etag of the resource
|
|
1367
1393
|
* @param {Data} data cached content
|
|
@@ -1376,6 +1402,7 @@ class PackFileCacheStrategy {
|
|
|
1376
1402
|
}
|
|
1377
1403
|
|
|
1378
1404
|
/**
|
|
1405
|
+
* Returns promise to the cached content.
|
|
1379
1406
|
* @param {string} identifier unique name for the resource
|
|
1380
1407
|
* @param {Etag | null} etag etag of the resource
|
|
1381
1408
|
* @returns {Promise<Data>} promise to the cached content
|
|
@@ -1396,6 +1423,7 @@ class PackFileCacheStrategy {
|
|
|
1396
1423
|
}
|
|
1397
1424
|
|
|
1398
1425
|
/**
|
|
1426
|
+
* Stores build dependencies.
|
|
1399
1427
|
* @param {FileSystemDependencies | Iterable<string>} dependencies dependencies to store
|
|
1400
1428
|
*/
|
|
1401
1429
|
storeBuildDependencies(dependencies) {
|
|
@@ -1429,6 +1457,7 @@ class PackFileCacheStrategy {
|
|
|
1429
1457
|
);
|
|
1430
1458
|
promise = new Promise(
|
|
1431
1459
|
/**
|
|
1460
|
+
* Handles the callback logic for this hook.
|
|
1432
1461
|
* @param {(value?: undefined) => void} resolve resolve
|
|
1433
1462
|
* @param {(reason?: Error) => void} reject reject
|
|
1434
1463
|
*/
|
|
@@ -22,6 +22,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
22
22
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
+
* Defines the sync hook type used by this module.
|
|
25
26
|
* @template T
|
|
26
27
|
* @typedef {import("tapable").SyncHook<T>} SyncHook
|
|
27
28
|
*/
|
|
@@ -30,6 +31,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
30
31
|
|
|
31
32
|
class CacheEntry {
|
|
32
33
|
/**
|
|
34
|
+
* Creates an instance of CacheEntry.
|
|
33
35
|
* @param {ResolveRequest} result result
|
|
34
36
|
* @param {Snapshot} snapshot snapshot
|
|
35
37
|
*/
|
|
@@ -39,6 +41,7 @@ class CacheEntry {
|
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
/**
|
|
44
|
+
* Serializes this instance into the provided serializer context.
|
|
42
45
|
* @param {ObjectSerializerContext} context context
|
|
43
46
|
*/
|
|
44
47
|
serialize({ write }) {
|
|
@@ -47,6 +50,7 @@ class CacheEntry {
|
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
/**
|
|
53
|
+
* Restores this instance from the provided deserializer context.
|
|
50
54
|
* @param {ObjectDeserializerContext} context context
|
|
51
55
|
*/
|
|
52
56
|
deserialize({ read }) {
|
|
@@ -58,6 +62,7 @@ class CacheEntry {
|
|
|
58
62
|
makeSerializable(CacheEntry, "webpack/lib/cache/ResolverCachePlugin");
|
|
59
63
|
|
|
60
64
|
/**
|
|
65
|
+
* Adds the provided set to the cache entry.
|
|
61
66
|
* @template T
|
|
62
67
|
* @param {Set<T> | LazySet<T>} set set to add items to
|
|
63
68
|
* @param {Set<T> | LazySet<T> | Iterable<T>} otherSet set to add items from
|
|
@@ -74,6 +79,7 @@ const addAllToSet = (set, otherSet) => {
|
|
|
74
79
|
};
|
|
75
80
|
|
|
76
81
|
/**
|
|
82
|
+
* Returns stringified version.
|
|
77
83
|
* @template {object} T
|
|
78
84
|
* @param {T} object an object
|
|
79
85
|
* @param {boolean} excludeContext if true, context is not included in string
|
|
@@ -98,7 +104,7 @@ const PLUGIN_NAME = "ResolverCachePlugin";
|
|
|
98
104
|
|
|
99
105
|
class ResolverCachePlugin {
|
|
100
106
|
/**
|
|
101
|
-
*
|
|
107
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
102
108
|
* @param {Compiler} compiler the compiler instance
|
|
103
109
|
* @returns {void}
|
|
104
110
|
*/
|
|
@@ -135,6 +141,7 @@ class ResolverCachePlugin {
|
|
|
135
141
|
/** @typedef {ResolveRequest & { _ResolverCachePluginCacheMiss: true }} ResolveRequestWithCacheMiss */
|
|
136
142
|
|
|
137
143
|
/**
|
|
144
|
+
* Processes the provided item cache.
|
|
138
145
|
* @param {ItemCacheFacade} itemCache cache
|
|
139
146
|
* @param {Resolver} resolver the resolver
|
|
140
147
|
* @param {ResolveContext} resolveContext context for resolving meta info
|
|
@@ -175,6 +182,7 @@ class ResolverCachePlugin {
|
|
|
175
182
|
(yieldResult).push(obj);
|
|
176
183
|
}
|
|
177
184
|
/**
|
|
185
|
+
* Processes the provided key.
|
|
178
186
|
* @param {"fileDependencies" | "contextDependencies" | "missingDependencies"} key key
|
|
179
187
|
*/
|
|
180
188
|
const propagate = (key) => {
|
|
@@ -375,6 +383,7 @@ class ResolverCachePlugin {
|
|
|
375
383
|
}
|
|
376
384
|
};
|
|
377
385
|
/**
|
|
386
|
+
* Process cache result.
|
|
378
387
|
* @param {(Error | null)=} err error if any
|
|
379
388
|
* @param {(CacheEntry | null)=} cacheEntry cache entry
|
|
380
389
|
* @returns {void}
|
|
@@ -13,12 +13,14 @@ const createHash = require("../util/createHash");
|
|
|
13
13
|
/** @typedef {import("../util/Hash").HashFunction} HashFunction */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Represents the lazy hashed etag runtime component.
|
|
16
17
|
* @typedef {object} HashableObject
|
|
17
18
|
* @property {(hash: Hash) => void} updateHash
|
|
18
19
|
*/
|
|
19
20
|
|
|
20
21
|
class LazyHashedEtag {
|
|
21
22
|
/**
|
|
23
|
+
* Creates an instance of LazyHashedEtag.
|
|
22
24
|
* @param {HashableObject} obj object with updateHash method
|
|
23
25
|
* @param {HashFunction} hashFunction the hash function to use
|
|
24
26
|
*/
|
|
@@ -32,6 +34,7 @@ class LazyHashedEtag {
|
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
/**
|
|
37
|
+
* Returns a string representation.
|
|
35
38
|
* @returns {string} hash of object
|
|
36
39
|
*/
|
|
37
40
|
toString() {
|
|
@@ -53,6 +56,7 @@ const mapStrings = new Map();
|
|
|
53
56
|
const mapObjects = new WeakMap();
|
|
54
57
|
|
|
55
58
|
/**
|
|
59
|
+
* Returns etag.
|
|
56
60
|
* @param {HashableObject} obj object with updateHash method
|
|
57
61
|
* @param {HashFunction=} hashFunction the hash function to use
|
|
58
62
|
* @returns {LazyHashedEtag} etag
|
package/lib/cache/mergeEtags.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
class MergedEtag {
|
|
11
11
|
/**
|
|
12
|
+
* Creates an instance of MergedEtag.
|
|
12
13
|
* @param {Etag} a first
|
|
13
14
|
* @param {Etag} b second
|
|
14
15
|
*/
|
|
@@ -28,6 +29,7 @@ const dualObjectMap = new WeakMap();
|
|
|
28
29
|
const objectStringMap = new WeakMap();
|
|
29
30
|
|
|
30
31
|
/**
|
|
32
|
+
* Merges the provided values into a single result.
|
|
31
33
|
* @param {Etag} a first
|
|
32
34
|
* @param {Etag} b second
|
|
33
35
|
* @returns {string | MergedEtag} result
|
package/lib/cli.js
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
const path = require("path");
|
|
9
9
|
const tty = require("tty");
|
|
10
|
-
const webpackSchema =
|
|
10
|
+
const webpackSchema =
|
|
11
|
+
/** @type {EXPECTED_ANY} */
|
|
12
|
+
(require("../schemas/WebpackOptions.json"));
|
|
11
13
|
|
|
12
14
|
/** @typedef {import("json-schema").JSONSchema4} JSONSchema4 */
|
|
13
15
|
/** @typedef {import("json-schema").JSONSchema6} JSONSchema6 */
|
|
@@ -17,6 +19,7 @@ const webpackSchema = require("../schemas/WebpackOptions.json");
|
|
|
17
19
|
|
|
18
20
|
// TODO add originPath to PathItem for better errors
|
|
19
21
|
/**
|
|
22
|
+
* Defines the path item type used by this module.
|
|
20
23
|
* @typedef {object} PathItem
|
|
21
24
|
* @property {Schema} schema the part of the schema
|
|
22
25
|
* @property {string} path the path in the config
|
|
@@ -27,6 +30,7 @@ const webpackSchema = require("../schemas/WebpackOptions.json");
|
|
|
27
30
|
/** @typedef {string | number | boolean | RegExp} Value */
|
|
28
31
|
|
|
29
32
|
/**
|
|
33
|
+
* Defines the problem type used by this module.
|
|
30
34
|
* @typedef {object} Problem
|
|
31
35
|
* @property {ProblemType} type
|
|
32
36
|
* @property {string} path
|
|
@@ -37,6 +41,7 @@ const webpackSchema = require("../schemas/WebpackOptions.json");
|
|
|
37
41
|
*/
|
|
38
42
|
|
|
39
43
|
/**
|
|
44
|
+
* Defines the local problem type used by this module.
|
|
40
45
|
* @typedef {object} LocalProblem
|
|
41
46
|
* @property {ProblemType} type
|
|
42
47
|
* @property {string} path
|
|
@@ -48,6 +53,7 @@ const webpackSchema = require("../schemas/WebpackOptions.json");
|
|
|
48
53
|
/** @typedef {string | number | boolean | EnumValueObject | EnumValueArray | null} EnumValue */
|
|
49
54
|
|
|
50
55
|
/**
|
|
56
|
+
* Defines the argument config type used by this module.
|
|
51
57
|
* @typedef {object} ArgumentConfig
|
|
52
58
|
* @property {string=} description
|
|
53
59
|
* @property {string=} negatedDescription
|
|
@@ -60,6 +66,7 @@ const webpackSchema = require("../schemas/WebpackOptions.json");
|
|
|
60
66
|
/** @typedef {"string" | "number" | "boolean"} SimpleType */
|
|
61
67
|
|
|
62
68
|
/**
|
|
69
|
+
* Defines the argument type used by this module.
|
|
63
70
|
* @typedef {object} Argument
|
|
64
71
|
* @property {string | undefined} description
|
|
65
72
|
* @property {SimpleType} simpleType
|
|
@@ -72,6 +79,7 @@ const webpackSchema = require("../schemas/WebpackOptions.json");
|
|
|
72
79
|
/** @typedef {Record<string, EXPECTED_ANY>} ObjectConfiguration */
|
|
73
80
|
|
|
74
81
|
/**
|
|
82
|
+
* Returns object of arguments.
|
|
75
83
|
* @param {Schema=} schema a json schema to create arguments for (by default webpack schema is used)
|
|
76
84
|
* @returns {Flags} object of arguments
|
|
77
85
|
*/
|
|
@@ -80,6 +88,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
80
88
|
const flags = {};
|
|
81
89
|
|
|
82
90
|
/**
|
|
91
|
+
* Path to argument name.
|
|
83
92
|
* @param {string} input input
|
|
84
93
|
* @returns {string} result
|
|
85
94
|
*/
|
|
@@ -95,6 +104,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
95
104
|
.toLowerCase();
|
|
96
105
|
|
|
97
106
|
/**
|
|
107
|
+
* Returns schema part.
|
|
98
108
|
* @param {string} path path
|
|
99
109
|
* @returns {Schema} schema part
|
|
100
110
|
*/
|
|
@@ -117,6 +127,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
117
127
|
};
|
|
118
128
|
|
|
119
129
|
/**
|
|
130
|
+
* Returns description.
|
|
120
131
|
* @param {PathItem[]} path path in the schema
|
|
121
132
|
* @returns {string | undefined} description
|
|
122
133
|
*/
|
|
@@ -131,6 +142,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
131
142
|
};
|
|
132
143
|
|
|
133
144
|
/**
|
|
145
|
+
* Gets negated description.
|
|
134
146
|
* @param {PathItem[]} path path in the schema
|
|
135
147
|
* @returns {string | undefined} negative description
|
|
136
148
|
*/
|
|
@@ -144,6 +156,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
144
156
|
};
|
|
145
157
|
|
|
146
158
|
/**
|
|
159
|
+
* Gets reset description.
|
|
147
160
|
* @param {PathItem[]} path path in the schema
|
|
148
161
|
* @returns {string | undefined} reset description
|
|
149
162
|
*/
|
|
@@ -157,6 +170,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
157
170
|
};
|
|
158
171
|
|
|
159
172
|
/**
|
|
173
|
+
* Schema to argument config.
|
|
160
174
|
* @param {Schema} schemaPart schema
|
|
161
175
|
* @returns {Pick<ArgumentConfig, "type" | "values"> | undefined} partial argument config
|
|
162
176
|
*/
|
|
@@ -190,6 +204,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
190
204
|
};
|
|
191
205
|
|
|
192
206
|
/**
|
|
207
|
+
* Adds the provided path to this object.
|
|
193
208
|
* @param {PathItem[]} path path in the schema
|
|
194
209
|
* @returns {void}
|
|
195
210
|
*/
|
|
@@ -219,6 +234,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
219
234
|
};
|
|
220
235
|
|
|
221
236
|
/**
|
|
237
|
+
* Adds the provided path to this object.
|
|
222
238
|
* @param {PathItem[]} path full path in schema
|
|
223
239
|
* @param {boolean} multiple inside of an array
|
|
224
240
|
* @returns {number} number of arguments added
|
|
@@ -281,6 +297,7 @@ const getArguments = (schema = webpackSchema) => {
|
|
|
281
297
|
// TODO support `not` and `if/then/else`
|
|
282
298
|
// TODO support `const`, but we don't use it on our schema
|
|
283
299
|
/**
|
|
300
|
+
* Returns added arguments.
|
|
284
301
|
* @param {Schema} schemaPart the current schema
|
|
285
302
|
* @param {string} schemaPath the current path in the schema
|
|
286
303
|
* @param {PathItem[]} path all previous visited schemaParts
|
|
@@ -433,6 +450,7 @@ const cliAddedItems = new WeakMap();
|
|
|
433
450
|
/** @typedef {string | number} Property */
|
|
434
451
|
|
|
435
452
|
/**
|
|
453
|
+
* Gets object and property.
|
|
436
454
|
* @param {ObjectConfiguration} config configuration
|
|
437
455
|
* @param {string} schemaPath path in the config
|
|
438
456
|
* @param {number | undefined} index index of value when multiple values are provided, otherwise undefined
|
|
@@ -533,6 +551,7 @@ const getObjectAndProperty = (config, schemaPath, index = 0) => {
|
|
|
533
551
|
};
|
|
534
552
|
|
|
535
553
|
/**
|
|
554
|
+
* Updates value using the provided config.
|
|
536
555
|
* @param {ObjectConfiguration} config configuration
|
|
537
556
|
* @param {string} schemaPath path in the config
|
|
538
557
|
* @param {ParsedValue} value parsed value
|
|
@@ -552,6 +571,7 @@ const setValue = (config, schemaPath, value, index) => {
|
|
|
552
571
|
};
|
|
553
572
|
|
|
554
573
|
/**
|
|
574
|
+
* Process argument config.
|
|
555
575
|
* @param {ArgumentConfig} argConfig processing instructions
|
|
556
576
|
* @param {ObjectConfiguration} config configuration
|
|
557
577
|
* @param {Value} value the value
|
|
@@ -579,6 +599,7 @@ const processArgumentConfig = (argConfig, config, value, index) => {
|
|
|
579
599
|
};
|
|
580
600
|
|
|
581
601
|
/**
|
|
602
|
+
* Gets expected value.
|
|
582
603
|
* @param {ArgumentConfig} argConfig processing instructions
|
|
583
604
|
* @returns {string | undefined} expected message
|
|
584
605
|
*/
|
|
@@ -606,6 +627,7 @@ const getExpectedValue = (argConfig) => {
|
|
|
606
627
|
const DECIMAL_NUMBER_REGEXP = /^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?$/i;
|
|
607
628
|
|
|
608
629
|
/**
|
|
630
|
+
* Parses value for argument config.
|
|
609
631
|
* @param {ArgumentConfig} argConfig processing instructions
|
|
610
632
|
* @param {Value} value the value
|
|
611
633
|
* @returns {ParsedValue | undefined} parsed value
|
|
@@ -665,6 +687,7 @@ const parseValueForArgumentConfig = (argConfig, value) => {
|
|
|
665
687
|
/** @typedef {Record<string, Value[]>} Values */
|
|
666
688
|
|
|
667
689
|
/**
|
|
690
|
+
* Processes the provided arg.
|
|
668
691
|
* @param {Flags} args object of arguments
|
|
669
692
|
* @param {ObjectConfiguration} config configuration
|
|
670
693
|
* @param {Values} values object with values
|
|
@@ -684,6 +707,7 @@ const processArguments = (args, config, values) => {
|
|
|
684
707
|
continue;
|
|
685
708
|
}
|
|
686
709
|
/**
|
|
710
|
+
* Processes the provided value.
|
|
687
711
|
* @param {Value} value value
|
|
688
712
|
* @param {number | undefined} i index
|
|
689
713
|
*/
|
|
@@ -718,6 +742,7 @@ const processArguments = (args, config, values) => {
|
|
|
718
742
|
};
|
|
719
743
|
|
|
720
744
|
/**
|
|
745
|
+
* Checks whether this object is color supported.
|
|
721
746
|
* @returns {boolean} true when colors supported, otherwise false
|
|
722
747
|
*/
|
|
723
748
|
const isColorSupported = () => {
|
|
@@ -741,6 +766,7 @@ const isColorSupported = () => {
|
|
|
741
766
|
};
|
|
742
767
|
|
|
743
768
|
/**
|
|
769
|
+
* Returns result.
|
|
744
770
|
* @param {number} index index
|
|
745
771
|
* @param {string} string string
|
|
746
772
|
* @param {string} close close
|
|
@@ -761,6 +787,7 @@ const replaceClose = (
|
|
|
761
787
|
) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
|
|
762
788
|
|
|
763
789
|
/**
|
|
790
|
+
* Returns result.
|
|
764
791
|
* @param {number} index index to replace
|
|
765
792
|
* @param {string} string string
|
|
766
793
|
* @param {string} open open string
|
|
@@ -776,6 +803,7 @@ const clearBleed = (index, string, open, close, replace) =>
|
|
|
776
803
|
/** @typedef {(value: EXPECTED_ANY) => string} PrintFunction */
|
|
777
804
|
|
|
778
805
|
/**
|
|
806
|
+
* Returns function to create color.
|
|
779
807
|
* @param {string} open open string
|
|
780
808
|
* @param {string} close close string
|
|
781
809
|
* @param {string=} replace extra replace
|
|
@@ -790,6 +818,7 @@ const filterEmpty =
|
|
|
790
818
|
: "";
|
|
791
819
|
|
|
792
820
|
/**
|
|
821
|
+
* Returns result.
|
|
793
822
|
* @param {number} open open code
|
|
794
823
|
* @param {number} close close code
|
|
795
824
|
* @param {string=} replace extra replace
|
|
@@ -799,15 +828,18 @@ const init = (open, close, replace) =>
|
|
|
799
828
|
filterEmpty(`\u001B[${open}m`, `\u001B[${close}m`, replace);
|
|
800
829
|
|
|
801
830
|
/**
|
|
831
|
+
* Defines the colors type used by this module.
|
|
802
832
|
* @typedef {{ reset: PrintFunction, bold: PrintFunction, dim: PrintFunction, italic: PrintFunction, underline: PrintFunction, inverse: PrintFunction, hidden: PrintFunction, strikethrough: PrintFunction, black: PrintFunction, red: PrintFunction, green: PrintFunction, yellow: PrintFunction, blue: PrintFunction, magenta: PrintFunction, cyan: PrintFunction, white: PrintFunction, gray: PrintFunction, bgBlack: PrintFunction, bgRed: PrintFunction, bgGreen: PrintFunction, bgYellow: PrintFunction, bgBlue: PrintFunction, bgMagenta: PrintFunction, bgCyan: PrintFunction, bgWhite: PrintFunction, blackBright: PrintFunction, redBright: PrintFunction, greenBright: PrintFunction, yellowBright: PrintFunction, blueBright: PrintFunction, magentaBright: PrintFunction, cyanBright: PrintFunction, whiteBright: PrintFunction, bgBlackBright: PrintFunction, bgRedBright: PrintFunction, bgGreenBright: PrintFunction, bgYellowBright: PrintFunction, bgBlueBright: PrintFunction, bgMagentaBright: PrintFunction, bgCyanBright: PrintFunction, bgWhiteBright: PrintFunction }} Colors
|
|
803
833
|
*/
|
|
804
834
|
|
|
805
835
|
/**
|
|
836
|
+
* Defines the colors options type used by this module.
|
|
806
837
|
* @typedef {object} ColorsOptions
|
|
807
838
|
* @property {boolean=} useColor force use colors
|
|
808
839
|
*/
|
|
809
840
|
|
|
810
841
|
/**
|
|
842
|
+
* Creates a colors from the provided colors option.
|
|
811
843
|
* @param {ColorsOptions=} options options
|
|
812
844
|
* @returns {Colors} colors
|
|
813
845
|
*/
|
|
@@ -16,6 +16,7 @@ const browserslist = require("browserslist");
|
|
|
16
16
|
const inputRx = /^(?:((?:[A-Z]:)?[/\\].*?))?(?::(.+?))?$/i;
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Returns selected browsers.
|
|
19
20
|
* @param {string | null | undefined} input input string
|
|
20
21
|
* @param {string} context the context directory
|
|
21
22
|
* @returns {string[] | undefined} selected browsers
|
|
@@ -58,6 +59,7 @@ const load = (input, context) => {
|
|
|
58
59
|
};
|
|
59
60
|
|
|
60
61
|
/**
|
|
62
|
+
* Returns target properties.
|
|
61
63
|
* @param {string[]} browsers supported browsers list
|
|
62
64
|
* @returns {EcmaTargetProperties & PlatformTargetProperties & ApiTargetProperties} target properties
|
|
63
65
|
*/
|