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
|
@@ -14,6 +14,7 @@ const { getEntryRuntime, mergeRuntimeOwned } = require("./util/runtime");
|
|
|
14
14
|
const PLUGIN_NAME = "FlagAllModulesAsUsedPlugin";
|
|
15
15
|
class FlagAllModulesAsUsedPlugin {
|
|
16
16
|
/**
|
|
17
|
+
* Creates an instance of FlagAllModulesAsUsedPlugin.
|
|
17
18
|
* @param {string} explanation explanation
|
|
18
19
|
*/
|
|
19
20
|
constructor(explanation) {
|
|
@@ -21,7 +22,7 @@ class FlagAllModulesAsUsedPlugin {
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
|
-
*
|
|
25
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
25
26
|
* @param {Compiler} compiler the compiler instance
|
|
26
27
|
* @returns {void}
|
|
27
28
|
*/
|
|
@@ -24,7 +24,7 @@ const PLUGIN_LOGGER_NAME = `webpack.${PLUGIN_NAME}`;
|
|
|
24
24
|
|
|
25
25
|
class FlagDependencyExportsPlugin {
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
28
28
|
* @param {Compiler} compiler the compiler instance
|
|
29
29
|
* @returns {void}
|
|
30
30
|
*/
|
|
@@ -129,6 +129,7 @@ class FlagDependencyExportsPlugin {
|
|
|
129
129
|
let changed = false;
|
|
130
130
|
|
|
131
131
|
/**
|
|
132
|
+
* Process dependencies block.
|
|
132
133
|
* @param {DependenciesBlock} depBlock the dependencies block
|
|
133
134
|
* @returns {void}
|
|
134
135
|
*/
|
|
@@ -142,6 +143,7 @@ class FlagDependencyExportsPlugin {
|
|
|
142
143
|
};
|
|
143
144
|
|
|
144
145
|
/**
|
|
146
|
+
* Process dependency.
|
|
145
147
|
* @param {Dependency} dep the dependency
|
|
146
148
|
* @returns {void}
|
|
147
149
|
*/
|
|
@@ -152,6 +154,7 @@ class FlagDependencyExportsPlugin {
|
|
|
152
154
|
};
|
|
153
155
|
|
|
154
156
|
/**
|
|
157
|
+
* Process exports spec.
|
|
155
158
|
* @param {Dependency} dep dependency
|
|
156
159
|
* @param {ExportsSpec} exportDesc info
|
|
157
160
|
* @returns {void}
|
|
@@ -28,6 +28,7 @@ const PLUGIN_LOGGER_NAME = `webpack.${PLUGIN_NAME}`;
|
|
|
28
28
|
|
|
29
29
|
class FlagDependencyUsagePlugin {
|
|
30
30
|
/**
|
|
31
|
+
* Creates an instance of FlagDependencyUsagePlugin.
|
|
31
32
|
* @param {boolean} global do a global analysis instead of per runtime
|
|
32
33
|
*/
|
|
33
34
|
constructor(global) {
|
|
@@ -36,7 +37,7 @@ class FlagDependencyUsagePlugin {
|
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
40
41
|
* @param {Compiler} compiler the compiler instance
|
|
41
42
|
* @returns {void}
|
|
42
43
|
*/
|
|
@@ -60,6 +61,7 @@ class FlagDependencyUsagePlugin {
|
|
|
60
61
|
const queue = new TupleQueue();
|
|
61
62
|
|
|
62
63
|
/**
|
|
64
|
+
* Process referenced module.
|
|
63
65
|
* @param {Module} module module to process
|
|
64
66
|
* @param {ReferencedExports} usedExports list of used exports
|
|
65
67
|
* @param {RuntimeSpec} runtime part of which runtime
|
|
@@ -163,6 +165,7 @@ class FlagDependencyUsagePlugin {
|
|
|
163
165
|
};
|
|
164
166
|
|
|
165
167
|
/**
|
|
168
|
+
* Processes the provided module.
|
|
166
169
|
* @param {DependenciesBlock} module the module
|
|
167
170
|
* @param {RuntimeSpec} runtime part of which runtime
|
|
168
171
|
* @param {boolean} forceSideEffects always apply side effects
|
|
@@ -294,6 +297,7 @@ class FlagDependencyUsagePlugin {
|
|
|
294
297
|
logger.time("trace exports usage in graph");
|
|
295
298
|
|
|
296
299
|
/**
|
|
300
|
+
* Process entry dependency.
|
|
297
301
|
* @param {Dependency} dep dependency
|
|
298
302
|
* @param {RuntimeSpec} runtime runtime
|
|
299
303
|
*/
|
|
@@ -13,6 +13,7 @@ const PLUGIN_NAME = "FlagEntryExportAsUsedPlugin";
|
|
|
13
13
|
|
|
14
14
|
class FlagEntryExportAsUsedPlugin {
|
|
15
15
|
/**
|
|
16
|
+
* Creates an instance of FlagEntryExportAsUsedPlugin.
|
|
16
17
|
* @param {boolean} nsObjectUsed true, if the ns object is used
|
|
17
18
|
* @param {string} explanation explanation for the reason
|
|
18
19
|
*/
|
|
@@ -22,7 +23,7 @@ class FlagEntryExportAsUsedPlugin {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
|
-
*
|
|
26
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
26
27
|
* @param {Compiler} compiler the compiler instance
|
|
27
28
|
* @returns {void}
|
|
28
29
|
*/
|
package/lib/Generator.js
CHANGED
|
@@ -24,6 +24,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
|
|
|
24
24
|
/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
+
* Defines the generate context type used by this module.
|
|
27
28
|
* @typedef {object} GenerateContext
|
|
28
29
|
* @property {DependencyTemplates} dependencyTemplates mapping from dependencies to templates
|
|
29
30
|
* @property {RuntimeTemplate} runtimeTemplate the runtime template
|
|
@@ -38,6 +39,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
|
|
|
38
39
|
*/
|
|
39
40
|
|
|
40
41
|
/**
|
|
42
|
+
* Defines the generate error fn callback.
|
|
41
43
|
* @callback GenerateErrorFn
|
|
42
44
|
* @param {Error} error the error
|
|
43
45
|
* @param {NormalModule} module module for which the code should be generated
|
|
@@ -46,6 +48,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
|
|
|
46
48
|
*/
|
|
47
49
|
|
|
48
50
|
/**
|
|
51
|
+
* Represents the generator runtime component.
|
|
49
52
|
* @typedef {object} UpdateHashContext
|
|
50
53
|
* @property {NormalModule} module the module
|
|
51
54
|
* @property {ChunkGraph} chunkGraph
|
|
@@ -55,6 +58,7 @@ const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
|
|
|
55
58
|
|
|
56
59
|
class Generator {
|
|
57
60
|
/**
|
|
61
|
+
* Returns generator by type.
|
|
58
62
|
* @param {{ [key in SourceType]?: Generator }} map map of types
|
|
59
63
|
* @returns {ByTypeGenerator} generator by type
|
|
60
64
|
*/
|
|
@@ -64,31 +68,34 @@ class Generator {
|
|
|
64
68
|
|
|
65
69
|
/* istanbul ignore next */
|
|
66
70
|
/**
|
|
71
|
+
* Returns the source types available for this module.
|
|
67
72
|
* @abstract
|
|
68
73
|
* @param {NormalModule} module fresh module
|
|
69
74
|
* @returns {SourceTypes} available types (do not mutate)
|
|
70
75
|
*/
|
|
71
76
|
getTypes(module) {
|
|
72
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
77
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
73
78
|
|
|
74
79
|
throw new AbstractMethodError();
|
|
75
80
|
}
|
|
76
81
|
|
|
77
82
|
/* istanbul ignore next */
|
|
78
83
|
/**
|
|
84
|
+
* Returns the estimated size for the requested source type.
|
|
79
85
|
* @abstract
|
|
80
86
|
* @param {NormalModule} module the module
|
|
81
87
|
* @param {SourceType=} type source type
|
|
82
88
|
* @returns {number} estimate size of the module
|
|
83
89
|
*/
|
|
84
90
|
getSize(module, type) {
|
|
85
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
91
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
86
92
|
|
|
87
93
|
throw new AbstractMethodError();
|
|
88
94
|
}
|
|
89
95
|
|
|
90
96
|
/* istanbul ignore next */
|
|
91
97
|
/**
|
|
98
|
+
* Generates generated code for this runtime module.
|
|
92
99
|
* @abstract
|
|
93
100
|
* @param {NormalModule} module module for which the code should be generated
|
|
94
101
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -98,12 +105,13 @@ class Generator {
|
|
|
98
105
|
module,
|
|
99
106
|
{ dependencyTemplates, runtimeTemplate, moduleGraph, type }
|
|
100
107
|
) {
|
|
101
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
108
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
102
109
|
|
|
103
110
|
throw new AbstractMethodError();
|
|
104
111
|
}
|
|
105
112
|
|
|
106
113
|
/**
|
|
114
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
107
115
|
* @param {NormalModule} module module for which the bailout reason should be determined
|
|
108
116
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
109
117
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
@@ -113,6 +121,7 @@ class Generator {
|
|
|
113
121
|
}
|
|
114
122
|
|
|
115
123
|
/**
|
|
124
|
+
* Updates the hash with the data contributed by this instance.
|
|
116
125
|
* @param {Hash} hash hash that will be modified
|
|
117
126
|
* @param {UpdateHashContext} updateHashContext context for updating hash
|
|
118
127
|
*/
|
|
@@ -141,6 +150,7 @@ function generateError(error, module, generateContext) {
|
|
|
141
150
|
|
|
142
151
|
class ByTypeGenerator extends Generator {
|
|
143
152
|
/**
|
|
153
|
+
* Creates an instance of ByTypeGenerator.
|
|
144
154
|
* @param {{ [key in SourceType]?: Generator }} map map of types
|
|
145
155
|
*/
|
|
146
156
|
constructor(map) {
|
|
@@ -152,6 +162,7 @@ class ByTypeGenerator extends Generator {
|
|
|
152
162
|
}
|
|
153
163
|
|
|
154
164
|
/**
|
|
165
|
+
* Returns the source types available for this module.
|
|
155
166
|
* @param {NormalModule} module fresh module
|
|
156
167
|
* @returns {SourceTypes} available types (do not mutate)
|
|
157
168
|
*/
|
|
@@ -160,6 +171,7 @@ class ByTypeGenerator extends Generator {
|
|
|
160
171
|
}
|
|
161
172
|
|
|
162
173
|
/**
|
|
174
|
+
* Returns the estimated size for the requested source type.
|
|
163
175
|
* @param {NormalModule} module the module
|
|
164
176
|
* @param {SourceType=} type source type
|
|
165
177
|
* @returns {number} estimate size of the module
|
|
@@ -171,6 +183,7 @@ class ByTypeGenerator extends Generator {
|
|
|
171
183
|
}
|
|
172
184
|
|
|
173
185
|
/**
|
|
186
|
+
* Generates generated code for this runtime module.
|
|
174
187
|
* @param {NormalModule} module module for which the code should be generated
|
|
175
188
|
* @param {GenerateContext} generateContext context for generate
|
|
176
189
|
* @returns {Source | null} generated code
|
|
@@ -18,18 +18,19 @@ const {
|
|
|
18
18
|
} = require("./ModuleTypeConstants");
|
|
19
19
|
const NormalModule = require("./NormalModule");
|
|
20
20
|
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
21
|
-
const WebpackError = require("./WebpackError");
|
|
22
21
|
const { chunkHasCss } = require("./css/CssModulesPlugin");
|
|
23
22
|
const ConstDependency = require("./dependencies/ConstDependency");
|
|
24
23
|
const ImportMetaHotAcceptDependency = require("./dependencies/ImportMetaHotAcceptDependency");
|
|
25
24
|
const ImportMetaHotDeclineDependency = require("./dependencies/ImportMetaHotDeclineDependency");
|
|
26
25
|
const ModuleHotAcceptDependency = require("./dependencies/ModuleHotAcceptDependency");
|
|
27
26
|
const ModuleHotDeclineDependency = require("./dependencies/ModuleHotDeclineDependency");
|
|
27
|
+
const WebpackError = require("./errors/WebpackError");
|
|
28
28
|
const HotModuleReplacementRuntimeModule = require("./hmr/HotModuleReplacementRuntimeModule");
|
|
29
29
|
const JavascriptParser = require("./javascript/JavascriptParser");
|
|
30
30
|
const {
|
|
31
31
|
evaluateToIdentifier
|
|
32
32
|
} = require("./javascript/JavascriptParserHelpers");
|
|
33
|
+
const ConcatenatedModule = require("./optimize/ConcatenatedModule");
|
|
33
34
|
const { find, isSubset } = require("./util/SetHelpers");
|
|
34
35
|
const TupleSet = require("./util/TupleSet");
|
|
35
36
|
const { compareModulesById } = require("./util/comparators");
|
|
@@ -63,6 +64,7 @@ const {
|
|
|
63
64
|
/** @typedef {string[]} Requests */
|
|
64
65
|
|
|
65
66
|
/**
|
|
67
|
+
* Defines the hmr javascript parser hooks type used by this module.
|
|
66
68
|
* @typedef {object} HMRJavascriptParserHooks
|
|
67
69
|
* @property {SyncBailHook<[Expression | SpreadElement, Requests], void>} hotAcceptCallback
|
|
68
70
|
* @property {SyncBailHook<[CallExpression, Requests], void>} hotAcceptWithoutCallback
|
|
@@ -88,6 +90,7 @@ const PLUGIN_NAME = "HotModuleReplacementPlugin";
|
|
|
88
90
|
|
|
89
91
|
class HotModuleReplacementPlugin {
|
|
90
92
|
/**
|
|
93
|
+
* Returns the attached hooks.
|
|
91
94
|
* @param {JavascriptParser} parser the parser
|
|
92
95
|
* @returns {HMRJavascriptParserHooks} the attached hooks
|
|
93
96
|
*/
|
|
@@ -109,7 +112,7 @@ class HotModuleReplacementPlugin {
|
|
|
109
112
|
}
|
|
110
113
|
|
|
111
114
|
/**
|
|
112
|
-
*
|
|
115
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
113
116
|
* @param {Compiler} compiler the compiler instance
|
|
114
117
|
* @returns {void}
|
|
115
118
|
*/
|
|
@@ -121,6 +124,7 @@ class HotModuleReplacementPlugin {
|
|
|
121
124
|
const runtimeRequirements = [RuntimeGlobals.module];
|
|
122
125
|
|
|
123
126
|
/**
|
|
127
|
+
* Creates an accept handler.
|
|
124
128
|
* @param {JavascriptParser} parser the parser
|
|
125
129
|
* @param {typeof ModuleHotAcceptDependency} ParamDependency dependency
|
|
126
130
|
* @returns {(expr: CallExpression) => boolean | undefined} callback
|
|
@@ -187,6 +191,7 @@ class HotModuleReplacementPlugin {
|
|
|
187
191
|
};
|
|
188
192
|
|
|
189
193
|
/**
|
|
194
|
+
* Creates a decline handler.
|
|
190
195
|
* @param {JavascriptParser} parser the parser
|
|
191
196
|
* @param {typeof ModuleHotDeclineDependency} ParamDependency dependency
|
|
192
197
|
* @returns {(expr: CallExpression) => boolean | undefined} callback
|
|
@@ -228,6 +233,7 @@ class HotModuleReplacementPlugin {
|
|
|
228
233
|
};
|
|
229
234
|
|
|
230
235
|
/**
|
|
236
|
+
* Creates a hmr expression handler.
|
|
231
237
|
* @param {JavascriptParser} parser the parser
|
|
232
238
|
* @returns {(expr: Expression) => boolean | undefined} callback
|
|
233
239
|
*/
|
|
@@ -246,6 +252,7 @@ class HotModuleReplacementPlugin {
|
|
|
246
252
|
};
|
|
247
253
|
|
|
248
254
|
/**
|
|
255
|
+
* Processes the provided parser.
|
|
249
256
|
* @param {JavascriptParser} parser the parser
|
|
250
257
|
* @returns {void}
|
|
251
258
|
*/
|
|
@@ -281,6 +288,7 @@ class HotModuleReplacementPlugin {
|
|
|
281
288
|
};
|
|
282
289
|
|
|
283
290
|
/**
|
|
291
|
+
* Apply import meta hot.
|
|
284
292
|
* @param {JavascriptParser} parser the parser
|
|
285
293
|
* @returns {void}
|
|
286
294
|
*/
|
|
@@ -382,13 +390,30 @@ class HotModuleReplacementPlugin {
|
|
|
382
390
|
for (const chunk of compilation.chunks) {
|
|
383
391
|
const chunkId = /** @type {ChunkId} */ (chunk.id);
|
|
384
392
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
)
|
|
390
|
-
|
|
391
|
-
|
|
393
|
+
/** @type {ModuleId[]} */
|
|
394
|
+
const moduleIds = [];
|
|
395
|
+
for (const m of chunkGraph.getOrderedChunkModulesIterable(
|
|
396
|
+
chunk,
|
|
397
|
+
compareModulesById(chunkGraph)
|
|
398
|
+
)) {
|
|
399
|
+
moduleIds.push(
|
|
400
|
+
/** @type {ModuleId} */ (chunkGraph.getModuleId(m))
|
|
401
|
+
);
|
|
402
|
+
if (m instanceof ConcatenatedModule && m.modules) {
|
|
403
|
+
for (const innerModule of m.modules) {
|
|
404
|
+
if (
|
|
405
|
+
innerModule.buildMeta &&
|
|
406
|
+
innerModule.buildMeta.needIdInConcatenation
|
|
407
|
+
) {
|
|
408
|
+
const innerId = chunkGraph.getModuleId(innerModule);
|
|
409
|
+
if (innerId !== null) {
|
|
410
|
+
moduleIds.push(innerId);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
records.chunkModuleIds[chunkId] = moduleIds;
|
|
392
417
|
}
|
|
393
418
|
});
|
|
394
419
|
/** @type {TupleSet<Module, Chunk>} */
|
|
@@ -402,6 +427,7 @@ class HotModuleReplacementPlugin {
|
|
|
402
427
|
const records = /** @type {Records} */ (compilation.records);
|
|
403
428
|
for (const chunk of compilation.chunks) {
|
|
404
429
|
/**
|
|
430
|
+
* Returns module hash.
|
|
405
431
|
* @param {Module} module module
|
|
406
432
|
* @returns {string} module hash
|
|
407
433
|
*/
|
package/lib/IgnorePlugin.js
CHANGED
|
@@ -19,6 +19,7 @@ const PLUGIN_NAME = "IgnorePlugin";
|
|
|
19
19
|
|
|
20
20
|
class IgnorePlugin {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of IgnorePlugin.
|
|
22
23
|
* @param {IgnorePluginOptions} options IgnorePlugin options
|
|
23
24
|
*/
|
|
24
25
|
constructor(options) {
|
|
@@ -58,14 +59,15 @@ class IgnorePlugin {
|
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
/**
|
|
61
|
-
*
|
|
62
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
62
63
|
* @param {Compiler} compiler the compiler instance
|
|
63
64
|
* @returns {void}
|
|
64
65
|
*/
|
|
65
66
|
apply(compiler) {
|
|
66
67
|
compiler.hooks.validate.tap(PLUGIN_NAME, () => {
|
|
67
68
|
compiler.validate(
|
|
68
|
-
|
|
69
|
+
/** @type {EXPECTED_ANY} */
|
|
70
|
+
(require("../schemas/plugins/IgnorePlugin.json")),
|
|
69
71
|
this.options,
|
|
70
72
|
{
|
|
71
73
|
name: "Ignore Plugin",
|
|
@@ -14,6 +14,7 @@ const PLUGIN_NAME = "IgnoreWarningsPlugin";
|
|
|
14
14
|
|
|
15
15
|
class IgnoreWarningsPlugin {
|
|
16
16
|
/**
|
|
17
|
+
* Creates an instance of IgnoreWarningsPlugin.
|
|
17
18
|
* @param {IgnoreFn[]} ignoreWarnings conditions to ignore warnings
|
|
18
19
|
*/
|
|
19
20
|
constructor(ignoreWarnings) {
|
|
@@ -22,7 +23,7 @@ class IgnoreWarningsPlugin {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
|
-
*
|
|
26
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
26
27
|
* @param {Compiler} compiler the compiler instance
|
|
27
28
|
* @returns {void}
|
|
28
29
|
*/
|
package/lib/InitFragment.js
CHANGED
|
@@ -16,6 +16,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
16
16
|
/** @typedef {string} InitFragmentKey */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Defines the maybe mergeable init fragment type used by this module.
|
|
19
20
|
* @template GenerateContext
|
|
20
21
|
* @typedef {object} MaybeMergeableInitFragment
|
|
21
22
|
* @property {InitFragmentKey=} key
|
|
@@ -28,6 +29,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
28
29
|
*/
|
|
29
30
|
|
|
30
31
|
/**
|
|
32
|
+
* Extract fragment index.
|
|
31
33
|
* @template T
|
|
32
34
|
* @param {T} fragment the init fragment
|
|
33
35
|
* @param {number} index index
|
|
@@ -36,6 +38,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
36
38
|
const extractFragmentIndex = (fragment, index) => [fragment, index];
|
|
37
39
|
|
|
38
40
|
/**
|
|
41
|
+
* Sorts fragment with index.
|
|
39
42
|
* @template T
|
|
40
43
|
* @param {[MaybeMergeableInitFragment<T>, number]} a first pair
|
|
41
44
|
* @param {[MaybeMergeableInitFragment<T>, number]} b second pair
|
|
@@ -50,11 +53,13 @@ const sortFragmentWithIndex = ([a, i], [b, j]) => {
|
|
|
50
53
|
};
|
|
51
54
|
|
|
52
55
|
/**
|
|
56
|
+
* Represents InitFragment.
|
|
53
57
|
* @template GenerateContext
|
|
54
58
|
* @implements {MaybeMergeableInitFragment<GenerateContext>}
|
|
55
59
|
*/
|
|
56
60
|
class InitFragment {
|
|
57
61
|
/**
|
|
62
|
+
* Creates an instance of InitFragment.
|
|
58
63
|
* @param {string | Source | undefined} content the source code that will be included as initialization code
|
|
59
64
|
* @param {number} stage category of initialization code (contribute to order)
|
|
60
65
|
* @param {number} position position in the category (contribute to order)
|
|
@@ -70,6 +75,7 @@ class InitFragment {
|
|
|
70
75
|
}
|
|
71
76
|
|
|
72
77
|
/**
|
|
78
|
+
* Returns the source code that will be included as initialization code.
|
|
73
79
|
* @param {GenerateContext} context context
|
|
74
80
|
* @returns {string | Source | undefined} the source code that will be included as initialization code
|
|
75
81
|
*/
|
|
@@ -78,6 +84,7 @@ class InitFragment {
|
|
|
78
84
|
}
|
|
79
85
|
|
|
80
86
|
/**
|
|
87
|
+
* Returns the source code that will be included at the end of the module.
|
|
81
88
|
* @param {GenerateContext} context context
|
|
82
89
|
* @returns {string | Source | undefined} the source code that will be included at the end of the module
|
|
83
90
|
*/
|
|
@@ -86,6 +93,7 @@ class InitFragment {
|
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
/**
|
|
96
|
+
* Adds the provided source to the init fragment.
|
|
89
97
|
* @template Context
|
|
90
98
|
* @param {Source} source sources
|
|
91
99
|
* @param {MaybeMergeableInitFragment<Context>[]} initFragments init fragments
|
|
@@ -165,6 +173,7 @@ class InitFragment {
|
|
|
165
173
|
}
|
|
166
174
|
|
|
167
175
|
/**
|
|
176
|
+
* Serializes this instance into the provided serializer context.
|
|
168
177
|
* @param {ObjectSerializerContext} context context
|
|
169
178
|
*/
|
|
170
179
|
serialize(context) {
|
|
@@ -178,6 +187,7 @@ class InitFragment {
|
|
|
178
187
|
}
|
|
179
188
|
|
|
180
189
|
/**
|
|
190
|
+
* Restores this instance from the provided deserializer context.
|
|
181
191
|
* @param {ObjectDeserializerContext} context context
|
|
182
192
|
*/
|
|
183
193
|
deserialize(context) {
|
|
@@ -20,7 +20,7 @@ const PLUGIN_NAME = "JavascriptMetaInfoPlugin";
|
|
|
20
20
|
|
|
21
21
|
class JavascriptMetaInfoPlugin {
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
24
24
|
* @param {Compiler} compiler the compiler instance
|
|
25
25
|
* @returns {void}
|
|
26
26
|
*/
|
|
@@ -29,6 +29,7 @@ class JavascriptMetaInfoPlugin {
|
|
|
29
29
|
PLUGIN_NAME,
|
|
30
30
|
(compilation, { normalModuleFactory }) => {
|
|
31
31
|
/**
|
|
32
|
+
* Handles the hook callback for this code path.
|
|
32
33
|
* @param {JavascriptParser} parser the parser
|
|
33
34
|
* @returns {void}
|
|
34
35
|
*/
|
|
@@ -17,6 +17,7 @@ const EnableLibraryPlugin = require("./library/EnableLibraryPlugin");
|
|
|
17
17
|
// TODO webpack 6 remove
|
|
18
18
|
class LibraryTemplatePlugin {
|
|
19
19
|
/**
|
|
20
|
+
* Creates an instance of LibraryTemplatePlugin.
|
|
20
21
|
* @param {LibraryName} name name of library
|
|
21
22
|
* @param {LibraryType} target type of library
|
|
22
23
|
* @param {UmdNamedDefine} umdNamedDefine setting this to true will name the UMD module
|
|
@@ -34,7 +35,7 @@ class LibraryTemplatePlugin {
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
|
-
*
|
|
38
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
38
39
|
* @param {Compiler} compiler the compiler instance
|
|
39
40
|
* @returns {void}
|
|
40
41
|
*/
|
|
@@ -13,6 +13,7 @@ const NormalModule = require("./NormalModule");
|
|
|
13
13
|
/** @typedef {import("./ModuleFilenameHelpers").MatchObject} MatchObject */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Defines the loader context type used by this module.
|
|
16
17
|
* @template T
|
|
17
18
|
* @typedef {import("../declarations/LoaderContext").LoaderContext<T>} LoaderContext
|
|
18
19
|
*/
|
|
@@ -21,6 +22,7 @@ const PLUGIN_NAME = "LoaderOptionsPlugin";
|
|
|
21
22
|
|
|
22
23
|
class LoaderOptionsPlugin {
|
|
23
24
|
/**
|
|
25
|
+
* Creates an instance of LoaderOptionsPlugin.
|
|
24
26
|
* @param {LoaderOptionsPluginOptions & MatchObject} options options object
|
|
25
27
|
*/
|
|
26
28
|
constructor(options = {}) {
|
|
@@ -34,7 +36,7 @@ class LoaderOptionsPlugin {
|
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
/**
|
|
37
|
-
*
|
|
39
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
38
40
|
* @param {Compiler} compiler the compiler instance
|
|
39
41
|
* @returns {void}
|
|
40
42
|
*/
|
|
@@ -13,6 +13,7 @@ const PLUGIN_NAME = "LoaderTargetPlugin";
|
|
|
13
13
|
|
|
14
14
|
class LoaderTargetPlugin {
|
|
15
15
|
/**
|
|
16
|
+
* Creates an instance of LoaderTargetPlugin.
|
|
16
17
|
* @param {string} target the target
|
|
17
18
|
*/
|
|
18
19
|
constructor(target) {
|
|
@@ -20,7 +21,7 @@ class LoaderTargetPlugin {
|
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
24
25
|
* @param {Compiler} compiler the compiler instance
|
|
25
26
|
* @returns {void}
|
|
26
27
|
*/
|
package/lib/MainTemplate.js
CHANGED
|
@@ -26,6 +26,7 @@ const memoize = require("./util/memoize");
|
|
|
26
26
|
/** @typedef {import("./TemplatedPathPlugin").TemplatePath} TemplatePath */
|
|
27
27
|
/** @typedef {import("./TemplatedPathPlugin").PathData} PathData */
|
|
28
28
|
/**
|
|
29
|
+
* Defines the if set type used by this module.
|
|
29
30
|
* @template T
|
|
30
31
|
* @typedef {import("tapable").IfSet<T>} IfSet
|
|
31
32
|
*/
|
|
@@ -43,6 +44,7 @@ const getLoadScriptRuntimeModule = memoize(() =>
|
|
|
43
44
|
// TODO webpack 6 remove this class
|
|
44
45
|
class MainTemplate {
|
|
45
46
|
/**
|
|
47
|
+
* Creates an instance of MainTemplate.
|
|
46
48
|
* @param {OutputOptions} outputOptions output options for the MainTemplate
|
|
47
49
|
* @param {Compilation} compilation the compilation
|
|
48
50
|
*/
|
|
@@ -53,6 +55,7 @@ class MainTemplate {
|
|
|
53
55
|
renderManifest: {
|
|
54
56
|
tap: util.deprecate(
|
|
55
57
|
/**
|
|
58
|
+
* Handles the callback logic for this hook.
|
|
56
59
|
* @template AdditionalOptions
|
|
57
60
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
58
61
|
* @param {(renderManifestEntries: RenderManifestEntry[], renderManifestOptions: RenderManifestOptions) => RenderManifestEntry[]} fn fn
|
|
@@ -87,6 +90,7 @@ class MainTemplate {
|
|
|
87
90
|
require: {
|
|
88
91
|
tap: util.deprecate(
|
|
89
92
|
/**
|
|
93
|
+
* Handles the callback logic for this hook.
|
|
90
94
|
* @template AdditionalOptions
|
|
91
95
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
92
96
|
* @param {(value: string, renderBootstrapContext: RenderBootstrapContext) => string} fn fn
|
|
@@ -124,6 +128,7 @@ class MainTemplate {
|
|
|
124
128
|
render: {
|
|
125
129
|
tap: util.deprecate(
|
|
126
130
|
/**
|
|
131
|
+
* Handles the callback logic for this hook.
|
|
127
132
|
* @template AdditionalOptions
|
|
128
133
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
129
134
|
* @param {(source: Source, chunk: Chunk, hash: string | undefined, moduleTemplate: ModuleTemplate, dependencyTemplates: DependencyTemplates) => Source} fn fn
|
|
@@ -156,6 +161,7 @@ class MainTemplate {
|
|
|
156
161
|
renderWithEntry: {
|
|
157
162
|
tap: util.deprecate(
|
|
158
163
|
/**
|
|
164
|
+
* Handles the callback logic for this hook.
|
|
159
165
|
* @template AdditionalOptions
|
|
160
166
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
161
167
|
* @param {(source: Source, chunk: Chunk, hash: string | undefined) => Source} fn fn
|
|
@@ -182,6 +188,7 @@ class MainTemplate {
|
|
|
182
188
|
assetPath: {
|
|
183
189
|
tap: util.deprecate(
|
|
184
190
|
/**
|
|
191
|
+
* Handles the callback logic for this hook.
|
|
185
192
|
* @template AdditionalOptions
|
|
186
193
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
187
194
|
* @param {(value: string, path: PathData, assetInfo: AssetInfo | undefined) => string} fn fn
|
|
@@ -194,6 +201,7 @@ class MainTemplate {
|
|
|
194
201
|
),
|
|
195
202
|
call: util.deprecate(
|
|
196
203
|
/**
|
|
204
|
+
* Handles the call callback for this hook.
|
|
197
205
|
* @param {TemplatePath} filename used to get asset path with hash
|
|
198
206
|
* @param {PathData} options context data
|
|
199
207
|
* @returns {string} interpolated path
|
|
@@ -206,6 +214,7 @@ class MainTemplate {
|
|
|
206
214
|
hash: {
|
|
207
215
|
tap: util.deprecate(
|
|
208
216
|
/**
|
|
217
|
+
* Handles the callback logic for this hook.
|
|
209
218
|
* @template AdditionalOptions
|
|
210
219
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
211
220
|
* @param {(hash: Hash) => void} fn fn
|
|
@@ -220,6 +229,7 @@ class MainTemplate {
|
|
|
220
229
|
hashForChunk: {
|
|
221
230
|
tap: util.deprecate(
|
|
222
231
|
/**
|
|
232
|
+
* Handles the callback logic for this hook.
|
|
223
233
|
* @template AdditionalOptions
|
|
224
234
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
225
235
|
* @param {(hash: Hash, chunk: Chunk) => void} fn fn
|
|
@@ -295,6 +305,7 @@ class MainTemplate {
|
|
|
295
305
|
|
|
296
306
|
this.renderCurrentHashCode = util.deprecate(
|
|
297
307
|
/**
|
|
308
|
+
* Handles the require ensure callback for this hook.
|
|
298
309
|
* @deprecated
|
|
299
310
|
* @param {string} hash the hash
|
|
300
311
|
* @param {number=} length length of the hash
|
|
@@ -314,6 +325,7 @@ class MainTemplate {
|
|
|
314
325
|
|
|
315
326
|
this.getPublicPath = util.deprecate(
|
|
316
327
|
/**
|
|
328
|
+
* Handles the callback logic for this hook.
|
|
317
329
|
* @param {PathData} options context data
|
|
318
330
|
* @returns {string} interpolated path
|
|
319
331
|
*/ (options) =>
|
|
@@ -324,6 +336,7 @@ class MainTemplate {
|
|
|
324
336
|
|
|
325
337
|
this.getAssetPath = util.deprecate(
|
|
326
338
|
/**
|
|
339
|
+
* Handles the callback logic for this hook.
|
|
327
340
|
* @param {TemplatePath} path used to get asset path with hash
|
|
328
341
|
* @param {PathData} options context data
|
|
329
342
|
* @returns {string} interpolated path
|
|
@@ -335,6 +348,7 @@ class MainTemplate {
|
|
|
335
348
|
|
|
336
349
|
this.getAssetPathWithInfo = util.deprecate(
|
|
337
350
|
/**
|
|
351
|
+
* Handles the callback logic for this hook.
|
|
338
352
|
* @param {TemplatePath} path used to get asset path with hash
|
|
339
353
|
* @param {PathData} options context data
|
|
340
354
|
* @returns {InterpolatedPathAndAssetInfo} interpolated path and asset info
|
|
@@ -357,6 +371,7 @@ Object.defineProperty(MainTemplate.prototype, "requireFn", {
|
|
|
357
371
|
Object.defineProperty(MainTemplate.prototype, "outputOptions", {
|
|
358
372
|
get: util.deprecate(
|
|
359
373
|
/**
|
|
374
|
+
* Returns output options.
|
|
360
375
|
* @this {MainTemplate}
|
|
361
376
|
* @returns {OutputOptions} output options
|
|
362
377
|
*/
|