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
|
@@ -17,6 +17,7 @@ const {
|
|
|
17
17
|
CSS_TYPE,
|
|
18
18
|
CSS_URL_TYPE,
|
|
19
19
|
CSS_URL_TYPES,
|
|
20
|
+
HTML_TYPE,
|
|
20
21
|
JAVASCRIPT_AND_CSS_URL_TYPES,
|
|
21
22
|
JAVASCRIPT_TYPE,
|
|
22
23
|
JAVASCRIPT_TYPES,
|
|
@@ -29,8 +30,9 @@ const createHash = require("../util/createHash");
|
|
|
29
30
|
const { makePathsRelative } = require("../util/identifier");
|
|
30
31
|
const memoize = require("../util/memoize");
|
|
31
32
|
const nonNumericOnlyHash = require("../util/nonNumericOnlyHash");
|
|
33
|
+
const { updateHashFromSource } = require("../util/source");
|
|
32
34
|
|
|
33
|
-
const getMimeTypes = memoize(() => require("
|
|
35
|
+
const getMimeTypes = memoize(() => require("../util/mimeTypes"));
|
|
34
36
|
|
|
35
37
|
/** @typedef {import("webpack-sources").Source} Source */
|
|
36
38
|
/** @typedef {import("../../declarations/WebpackOptions").AssetGeneratorDataUrlOptions} AssetGeneratorDataUrlOptions */
|
|
@@ -58,6 +60,7 @@ const getMimeTypes = memoize(() => require("mime-types"));
|
|
|
58
60
|
/** @typedef {(source: string | Buffer, context: { filename: string, module: Module }) => string} DataUrlFunction */
|
|
59
61
|
|
|
60
62
|
/**
|
|
63
|
+
* Merges maybe arrays.
|
|
61
64
|
* @template T
|
|
62
65
|
* @template U
|
|
63
66
|
* @param {null | string | T[] | Set<T> | undefined} a a
|
|
@@ -75,6 +78,7 @@ const mergeMaybeArrays = (a, b) => {
|
|
|
75
78
|
};
|
|
76
79
|
|
|
77
80
|
/**
|
|
81
|
+
* Merges the provided values into a single result.
|
|
78
82
|
* @param {AssetInfo} a a
|
|
79
83
|
* @param {AssetInfo} b b
|
|
80
84
|
* @returns {AssetInfo} object
|
|
@@ -115,6 +119,7 @@ const mergeAssetInfo = (a, b) => {
|
|
|
115
119
|
};
|
|
116
120
|
|
|
117
121
|
/**
|
|
122
|
+
* Merges related info.
|
|
118
123
|
* @param {NonNullable<AssetInfo["related"]>} a a
|
|
119
124
|
* @param {NonNullable<AssetInfo["related"]>} b b
|
|
120
125
|
* @returns {NonNullable<AssetInfo["related"]>} object
|
|
@@ -131,6 +136,7 @@ const mergeRelatedInfo = (a, b) => {
|
|
|
131
136
|
};
|
|
132
137
|
|
|
133
138
|
/**
|
|
139
|
+
* Encodes the provided encoding.
|
|
134
140
|
* @param {"base64" | false} encoding encoding
|
|
135
141
|
* @param {Source} source source
|
|
136
142
|
* @returns {string} encoded data
|
|
@@ -169,6 +175,7 @@ const encodeDataUri = (encoding, source) => {
|
|
|
169
175
|
};
|
|
170
176
|
|
|
171
177
|
/**
|
|
178
|
+
* Decodes data uri content.
|
|
172
179
|
* @param {"base64" | false} encoding encoding
|
|
173
180
|
* @param {string} content content
|
|
174
181
|
* @returns {Buffer} decoded content
|
|
@@ -192,6 +199,7 @@ const DEFAULT_ENCODING = "base64";
|
|
|
192
199
|
|
|
193
200
|
class AssetGenerator extends Generator {
|
|
194
201
|
/**
|
|
202
|
+
* Creates an instance of AssetGenerator.
|
|
195
203
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
196
204
|
* @param {AssetGeneratorOptions["dataUrl"]=} dataUrlOptions the options for the data url
|
|
197
205
|
* @param {AssetModuleFilename=} filename override for output.assetModuleFilename
|
|
@@ -223,6 +231,7 @@ class AssetGenerator extends Generator {
|
|
|
223
231
|
}
|
|
224
232
|
|
|
225
233
|
/**
|
|
234
|
+
* Gets source file name.
|
|
226
235
|
* @param {NormalModule} module module
|
|
227
236
|
* @param {RuntimeTemplate} runtimeTemplate runtime template
|
|
228
237
|
* @returns {string} source file name
|
|
@@ -237,6 +246,7 @@ class AssetGenerator extends Generator {
|
|
|
237
246
|
}
|
|
238
247
|
|
|
239
248
|
/**
|
|
249
|
+
* Gets full content hash.
|
|
240
250
|
* @param {NormalModule} module module
|
|
241
251
|
* @param {RuntimeTemplate} runtimeTemplate runtime template
|
|
242
252
|
* @returns {[string, string]} return full hash and non-numeric full hash
|
|
@@ -251,7 +261,7 @@ class AssetGenerator extends Generator {
|
|
|
251
261
|
const source = module.originalSource();
|
|
252
262
|
|
|
253
263
|
if (source) {
|
|
254
|
-
hash
|
|
264
|
+
updateHashFromSource(hash, source);
|
|
255
265
|
}
|
|
256
266
|
|
|
257
267
|
if (module.error) {
|
|
@@ -271,6 +281,7 @@ class AssetGenerator extends Generator {
|
|
|
271
281
|
}
|
|
272
282
|
|
|
273
283
|
/**
|
|
284
|
+
* Gets filename with info.
|
|
274
285
|
* @param {NormalModule} module module for which the code should be generated
|
|
275
286
|
* @param {Pick<AssetResourceGeneratorOptions, "filename" | "outputPath">} generatorOptions generator options
|
|
276
287
|
* @param {{ runtime: RuntimeSpec, runtimeTemplate: RuntimeTemplate, chunkGraph: ChunkGraph }} generateContext context for generate
|
|
@@ -322,6 +333,7 @@ class AssetGenerator extends Generator {
|
|
|
322
333
|
}
|
|
323
334
|
|
|
324
335
|
/**
|
|
336
|
+
* Gets asset path with info.
|
|
325
337
|
* @param {NormalModule} module module for which the code should be generated
|
|
326
338
|
* @param {Pick<AssetResourceGeneratorOptions, "publicPath">} generatorOptions generator options
|
|
327
339
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -388,7 +400,13 @@ class AssetGenerator extends Generator {
|
|
|
388
400
|
compilation.outputOptions.publicPath === "auto"
|
|
389
401
|
? CssUrlDependency.PUBLIC_PATH_AUTO
|
|
390
402
|
: compilation.getAssetPath(compilation.outputOptions.publicPath, {
|
|
391
|
-
hash:
|
|
403
|
+
hash:
|
|
404
|
+
compilation.hash ||
|
|
405
|
+
`${CssUrlDependency.PUBLIC_PATH_FULL_HASH}0__`,
|
|
406
|
+
hashWithLength: (length) =>
|
|
407
|
+
compilation.hash
|
|
408
|
+
? compilation.hash.slice(0, length)
|
|
409
|
+
: `${CssUrlDependency.PUBLIC_PATH_FULL_HASH}${length}__`
|
|
392
410
|
});
|
|
393
411
|
|
|
394
412
|
assetPath = path + filename;
|
|
@@ -401,6 +419,7 @@ class AssetGenerator extends Generator {
|
|
|
401
419
|
}
|
|
402
420
|
|
|
403
421
|
/**
|
|
422
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
404
423
|
* @param {NormalModule} module module for which the bailout reason should be determined
|
|
405
424
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
406
425
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
@@ -410,6 +429,7 @@ class AssetGenerator extends Generator {
|
|
|
410
429
|
}
|
|
411
430
|
|
|
412
431
|
/**
|
|
432
|
+
* Returns mime type.
|
|
413
433
|
* @param {NormalModule} module module
|
|
414
434
|
* @returns {string} mime type
|
|
415
435
|
*/
|
|
@@ -420,7 +440,7 @@ class AssetGenerator extends Generator {
|
|
|
420
440
|
);
|
|
421
441
|
}
|
|
422
442
|
|
|
423
|
-
/** @type {string |
|
|
443
|
+
/** @type {string | undefined} */
|
|
424
444
|
let mimeType =
|
|
425
445
|
/** @type {AssetGeneratorDataUrlOptions} */
|
|
426
446
|
(this.dataUrlOptions).mimetype;
|
|
@@ -462,6 +482,7 @@ class AssetGenerator extends Generator {
|
|
|
462
482
|
}
|
|
463
483
|
|
|
464
484
|
/**
|
|
485
|
+
* Generates data uri.
|
|
465
486
|
* @param {NormalModule} module module for which the code should be generated
|
|
466
487
|
* @returns {string} DataURI
|
|
467
488
|
*/
|
|
@@ -522,6 +543,7 @@ class AssetGenerator extends Generator {
|
|
|
522
543
|
}
|
|
523
544
|
|
|
524
545
|
/**
|
|
546
|
+
* Generates generated code for this runtime module.
|
|
525
547
|
* @param {NormalModule} module module for which the code should be generated
|
|
526
548
|
* @param {GenerateContext} generateContext context for generate
|
|
527
549
|
* @returns {Source | null} generated code
|
|
@@ -553,7 +575,7 @@ class AssetGenerator extends Generator {
|
|
|
553
575
|
: encodedSource;
|
|
554
576
|
|
|
555
577
|
if (data) {
|
|
556
|
-
data.set("url", {
|
|
578
|
+
data.set("url", { ...data.get("url"), [type]: content });
|
|
557
579
|
}
|
|
558
580
|
} else {
|
|
559
581
|
const [fullContentHash, contentHash] = AssetGenerator.getFullContentHash(
|
|
@@ -592,7 +614,7 @@ class AssetGenerator extends Generator {
|
|
|
592
614
|
);
|
|
593
615
|
|
|
594
616
|
if (data && (type === JAVASCRIPT_TYPE || type === CSS_URL_TYPE)) {
|
|
595
|
-
data.set("url", {
|
|
617
|
+
data.set("url", { ...data.get("url"), [type]: assetPath });
|
|
596
618
|
}
|
|
597
619
|
|
|
598
620
|
if (data) {
|
|
@@ -643,6 +665,7 @@ class AssetGenerator extends Generator {
|
|
|
643
665
|
}
|
|
644
666
|
|
|
645
667
|
/**
|
|
668
|
+
* Generates fallback output for the provided error condition.
|
|
646
669
|
* @param {Error} error the error
|
|
647
670
|
* @param {NormalModule} module module for which the code should be generated
|
|
648
671
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -664,6 +687,7 @@ class AssetGenerator extends Generator {
|
|
|
664
687
|
}
|
|
665
688
|
|
|
666
689
|
/**
|
|
690
|
+
* Returns the source types available for this module.
|
|
667
691
|
* @param {NormalModule} module fresh module
|
|
668
692
|
* @returns {SourceTypes} available types (do not mutate)
|
|
669
693
|
*/
|
|
@@ -682,9 +706,12 @@ class AssetGenerator extends Generator {
|
|
|
682
706
|
|
|
683
707
|
if ((module.buildInfo && module.buildInfo.dataUrl) || this.emit === false) {
|
|
684
708
|
if (sourceTypes.size > 0) {
|
|
685
|
-
if (
|
|
709
|
+
if (
|
|
710
|
+
sourceTypes.has(JAVASCRIPT_TYPE) &&
|
|
711
|
+
(sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE))
|
|
712
|
+
) {
|
|
686
713
|
return JAVASCRIPT_AND_CSS_URL_TYPES;
|
|
687
|
-
} else if (sourceTypes.has(CSS_TYPE)) {
|
|
714
|
+
} else if (sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE)) {
|
|
688
715
|
return CSS_URL_TYPES;
|
|
689
716
|
}
|
|
690
717
|
return JAVASCRIPT_TYPES;
|
|
@@ -694,9 +721,12 @@ class AssetGenerator extends Generator {
|
|
|
694
721
|
}
|
|
695
722
|
|
|
696
723
|
if (sourceTypes.size > 0) {
|
|
697
|
-
if (
|
|
724
|
+
if (
|
|
725
|
+
sourceTypes.has(JAVASCRIPT_TYPE) &&
|
|
726
|
+
(sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE))
|
|
727
|
+
) {
|
|
698
728
|
return ASSET_AND_JAVASCRIPT_AND_CSS_URL_TYPES;
|
|
699
|
-
} else if (sourceTypes.has(CSS_TYPE)) {
|
|
729
|
+
} else if (sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE)) {
|
|
700
730
|
return ASSET_AND_CSS_URL_TYPES;
|
|
701
731
|
}
|
|
702
732
|
return ASSET_AND_JAVASCRIPT_TYPES;
|
|
@@ -706,6 +736,7 @@ class AssetGenerator extends Generator {
|
|
|
706
736
|
}
|
|
707
737
|
|
|
708
738
|
/**
|
|
739
|
+
* Returns the estimated size for the requested source type.
|
|
709
740
|
* @param {NormalModule} module the module
|
|
710
741
|
* @param {SourceType=} type source type
|
|
711
742
|
* @returns {number} estimate size of the module
|
|
@@ -742,6 +773,7 @@ class AssetGenerator extends Generator {
|
|
|
742
773
|
}
|
|
743
774
|
|
|
744
775
|
/**
|
|
776
|
+
* Updates the hash with the data contributed by this instance.
|
|
745
777
|
* @param {Hash} hash hash that will be modified
|
|
746
778
|
* @param {UpdateHashContext} updateHashContext context for updating hash
|
|
747
779
|
*/
|
|
@@ -29,11 +29,14 @@ const memoize = require("../util/memoize");
|
|
|
29
29
|
/** @typedef {import("../NormalModule").NormalModuleCreateData} NormalModuleCreateData */
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
+
* Returns definition.
|
|
32
33
|
* @param {string} name name of definitions
|
|
33
34
|
* @returns {Schema} definition
|
|
34
35
|
*/
|
|
35
36
|
const getSchema = (name) => {
|
|
36
|
-
const { definitions } =
|
|
37
|
+
const { definitions } =
|
|
38
|
+
/** @type {EXPECTED_ANY} */
|
|
39
|
+
(require("../../schemas/WebpackOptions.json"));
|
|
37
40
|
|
|
38
41
|
return {
|
|
39
42
|
definitions,
|
|
@@ -60,12 +63,14 @@ const type = ASSET_MODULE_TYPE;
|
|
|
60
63
|
const PLUGIN_NAME = "AssetModulesPlugin";
|
|
61
64
|
|
|
62
65
|
/**
|
|
66
|
+
* Represents the asset modules plugin runtime component.
|
|
63
67
|
* @typedef {object} AssetModulesPluginOptions
|
|
64
68
|
* @property {boolean=} sideEffectFree
|
|
65
69
|
*/
|
|
66
70
|
|
|
67
71
|
class AssetModulesPlugin {
|
|
68
72
|
/**
|
|
73
|
+
* Creates an instance of AssetModulesPlugin.
|
|
69
74
|
* @param {AssetModulesPluginOptions} options options
|
|
70
75
|
*/
|
|
71
76
|
constructor(options) {
|
|
@@ -73,7 +78,7 @@ class AssetModulesPlugin {
|
|
|
73
78
|
}
|
|
74
79
|
|
|
75
80
|
/**
|
|
76
|
-
*
|
|
81
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
77
82
|
* @param {Compiler} compiler the compiler instance
|
|
78
83
|
* @returns {void}
|
|
79
84
|
*/
|
package/lib/asset/AssetParser.js
CHANGED
|
@@ -19,6 +19,7 @@ const Parser = require("../Parser");
|
|
|
19
19
|
|
|
20
20
|
class AssetParser extends Parser {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of AssetParser.
|
|
22
23
|
* @param {AssetParserOptions["dataUrlCondition"] | boolean} dataUrlCondition condition for inlining as DataUrl
|
|
23
24
|
*/
|
|
24
25
|
constructor(dataUrlCondition) {
|
|
@@ -28,6 +29,7 @@ class AssetParser extends Parser {
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
/**
|
|
32
|
+
* Parses the provided source and updates the parser state.
|
|
31
33
|
* @param {string | Buffer | PreparsedAst} source the source to parse
|
|
32
34
|
* @param {ParserState} state the parser state
|
|
33
35
|
* @returns {ParserState} the parser state
|
|
@@ -12,6 +12,7 @@ const {
|
|
|
12
12
|
CSS_TYPE,
|
|
13
13
|
CSS_URL_TYPE,
|
|
14
14
|
CSS_URL_TYPES,
|
|
15
|
+
HTML_TYPE,
|
|
15
16
|
JAVASCRIPT_AND_CSS_URL_TYPES,
|
|
16
17
|
JAVASCRIPT_TYPE,
|
|
17
18
|
JAVASCRIPT_TYPES,
|
|
@@ -29,6 +30,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
|
|
29
30
|
|
|
30
31
|
class AssetSourceGenerator extends Generator {
|
|
31
32
|
/**
|
|
33
|
+
* Creates an instance of AssetSourceGenerator.
|
|
32
34
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
33
35
|
*/
|
|
34
36
|
constructor(moduleGraph) {
|
|
@@ -38,6 +40,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
/**
|
|
43
|
+
* Generates generated code for this runtime module.
|
|
41
44
|
* @param {NormalModule} module module for which the code should be generated
|
|
42
45
|
* @param {GenerateContext} generateContext context for generate
|
|
43
46
|
* @returns {Source | null} generated code
|
|
@@ -96,6 +99,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
/**
|
|
102
|
+
* Generates fallback output for the provided error condition.
|
|
99
103
|
* @param {Error} error the error
|
|
100
104
|
* @param {NormalModule} module module for which the code should be generated
|
|
101
105
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -114,6 +118,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
/**
|
|
121
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
117
122
|
* @param {NormalModule} module module for which the bailout reason should be determined
|
|
118
123
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
119
124
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
@@ -123,6 +128,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
123
128
|
}
|
|
124
129
|
|
|
125
130
|
/**
|
|
131
|
+
* Returns the source types available for this module.
|
|
126
132
|
* @param {NormalModule} module fresh module
|
|
127
133
|
* @returns {SourceTypes} available types (do not mutate)
|
|
128
134
|
*/
|
|
@@ -140,9 +146,12 @@ class AssetSourceGenerator extends Generator {
|
|
|
140
146
|
}
|
|
141
147
|
|
|
142
148
|
if (sourceTypes.size > 0) {
|
|
143
|
-
if (
|
|
149
|
+
if (
|
|
150
|
+
sourceTypes.has(JAVASCRIPT_TYPE) &&
|
|
151
|
+
(sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE))
|
|
152
|
+
) {
|
|
144
153
|
return JAVASCRIPT_AND_CSS_URL_TYPES;
|
|
145
|
-
} else if (sourceTypes.has(CSS_TYPE)) {
|
|
154
|
+
} else if (sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE)) {
|
|
146
155
|
return CSS_URL_TYPES;
|
|
147
156
|
}
|
|
148
157
|
return JAVASCRIPT_TYPES;
|
|
@@ -152,6 +161,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
152
161
|
}
|
|
153
162
|
|
|
154
163
|
/**
|
|
164
|
+
* Returns the estimated size for the requested source type.
|
|
155
165
|
* @param {NormalModule} module the module
|
|
156
166
|
* @param {SourceType=} type source type
|
|
157
167
|
* @returns {number} estimate size of the module
|
|
@@ -14,6 +14,7 @@ const Parser = require("../Parser");
|
|
|
14
14
|
|
|
15
15
|
class AssetSourceParser extends Parser {
|
|
16
16
|
/**
|
|
17
|
+
* Parses the provided source and updates the parser state.
|
|
17
18
|
* @param {string | Buffer | PreparsedAst} source the source to parse
|
|
18
19
|
* @param {ParserState} state the parser state
|
|
19
20
|
* @returns {ParserState} the parser state
|
|
@@ -36,6 +36,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
36
36
|
|
|
37
37
|
class RawDataUrlModule extends Module {
|
|
38
38
|
/**
|
|
39
|
+
* Creates an instance of RawDataUrlModule.
|
|
39
40
|
* @param {string} url raw url
|
|
40
41
|
* @param {string} identifier unique identifier
|
|
41
42
|
* @param {string=} readableIdentifier readable identifier
|
|
@@ -53,6 +54,7 @@ class RawDataUrlModule extends Module {
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
/**
|
|
57
|
+
* Returns the source types this module can generate.
|
|
56
58
|
* @returns {SourceTypes} types available (do not mutate)
|
|
57
59
|
*/
|
|
58
60
|
getSourceTypes() {
|
|
@@ -60,6 +62,7 @@ class RawDataUrlModule extends Module {
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
/**
|
|
65
|
+
* Returns the unique identifier used to reference this module.
|
|
63
66
|
* @returns {string} a unique identifier of the module
|
|
64
67
|
*/
|
|
65
68
|
identifier() {
|
|
@@ -67,6 +70,7 @@ class RawDataUrlModule extends Module {
|
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
/**
|
|
73
|
+
* Returns the estimated size for the requested source type.
|
|
70
74
|
* @param {string=} type the source type for which the size should be estimated
|
|
71
75
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
72
76
|
*/
|
|
@@ -78,6 +82,7 @@ class RawDataUrlModule extends Module {
|
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
/**
|
|
85
|
+
* Returns a human-readable identifier for this module.
|
|
81
86
|
* @param {RequestShortener} requestShortener the request shortener
|
|
82
87
|
* @returns {string} a user readable identifier of the module
|
|
83
88
|
*/
|
|
@@ -88,6 +93,7 @@ class RawDataUrlModule extends Module {
|
|
|
88
93
|
}
|
|
89
94
|
|
|
90
95
|
/**
|
|
96
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
91
97
|
* @param {NeedBuildContext} context context info
|
|
92
98
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
93
99
|
* @returns {void}
|
|
@@ -97,6 +103,7 @@ class RawDataUrlModule extends Module {
|
|
|
97
103
|
}
|
|
98
104
|
|
|
99
105
|
/**
|
|
106
|
+
* Builds the module using the provided compilation context.
|
|
100
107
|
* @param {WebpackOptions} options webpack options
|
|
101
108
|
* @param {Compilation} compilation the compilation
|
|
102
109
|
* @param {ResolverWithOptions} resolver the resolver
|
|
@@ -113,6 +120,7 @@ class RawDataUrlModule extends Module {
|
|
|
113
120
|
}
|
|
114
121
|
|
|
115
122
|
/**
|
|
123
|
+
* Generates code and runtime requirements for this module.
|
|
116
124
|
* @param {CodeGenerationContext} context context for code generation
|
|
117
125
|
* @returns {CodeGenerationResult} result
|
|
118
126
|
*/
|
|
@@ -138,6 +146,7 @@ class RawDataUrlModule extends Module {
|
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
/**
|
|
149
|
+
* Updates the hash with the data contributed by this instance.
|
|
141
150
|
* @param {Hash} hash the hash used to track dependencies
|
|
142
151
|
* @param {UpdateHashContext} context context
|
|
143
152
|
* @returns {void}
|
|
@@ -148,6 +157,7 @@ class RawDataUrlModule extends Module {
|
|
|
148
157
|
}
|
|
149
158
|
|
|
150
159
|
/**
|
|
160
|
+
* Serializes this instance into the provided serializer context.
|
|
151
161
|
* @param {ObjectSerializerContext} context context
|
|
152
162
|
*/
|
|
153
163
|
serialize(context) {
|
|
@@ -161,6 +171,7 @@ class RawDataUrlModule extends Module {
|
|
|
161
171
|
}
|
|
162
172
|
|
|
163
173
|
/**
|
|
174
|
+
* Restores this instance from the provided deserializer context.
|
|
164
175
|
* @param {ObjectDeserializerContext} context context
|
|
165
176
|
*/
|
|
166
177
|
deserialize(context) {
|
|
@@ -13,6 +13,7 @@ const HarmonyImportDependency = require("../dependencies/HarmonyImportDependency
|
|
|
13
13
|
/** @typedef {Set<Module>} Modules */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Gets outgoing async modules.
|
|
16
17
|
* @param {ModuleGraph} moduleGraph module graph
|
|
17
18
|
* @param {Module} module module
|
|
18
19
|
* @returns {Modules} set of modules
|
|
@@ -15,10 +15,12 @@ const Template = require("../Template");
|
|
|
15
15
|
/** @typedef {Map<string, string>} Dependencies */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
+
* Represents AwaitDependenciesInitFragment.
|
|
18
19
|
* @extends {InitFragment<GenerateContext>}
|
|
19
20
|
*/
|
|
20
21
|
class AwaitDependenciesInitFragment extends InitFragment {
|
|
21
22
|
/**
|
|
23
|
+
* Creates an instance of AwaitDependenciesInitFragment.
|
|
22
24
|
* @param {Dependencies} dependencies maps an import var to an async module that needs to be awaited
|
|
23
25
|
*/
|
|
24
26
|
constructor(dependencies) {
|
|
@@ -33,6 +35,7 @@ class AwaitDependenciesInitFragment extends InitFragment {
|
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
/**
|
|
38
|
+
* Merges another await-dependencies fragment into this fragment.
|
|
36
39
|
* @param {AwaitDependenciesInitFragment} other other AwaitDependenciesInitFragment
|
|
37
40
|
* @returns {AwaitDependenciesInitFragment} AwaitDependenciesInitFragment
|
|
38
41
|
*/
|
|
@@ -45,6 +48,7 @@ class AwaitDependenciesInitFragment extends InitFragment {
|
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
/**
|
|
51
|
+
* Returns the source code that will be included as initialization code.
|
|
48
52
|
* @param {GenerateContext} context context
|
|
49
53
|
* @returns {string | Source | undefined} the source code that will be included as initialization code
|
|
50
54
|
*/
|
|
@@ -14,7 +14,7 @@ const PLUGIN_NAME = "InferAsyncModulesPlugin";
|
|
|
14
14
|
|
|
15
15
|
class InferAsyncModulesPlugin {
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
18
18
|
* @param {Compiler} compiler the compiler instance
|
|
19
19
|
* @returns {void}
|
|
20
20
|
*/
|
package/lib/buildChunkGraph.js
CHANGED
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const AsyncDependencyToInitialChunkError = require("./AsyncDependencyToInitialChunkError");
|
|
9
|
-
const { connectChunkGroupParentAndChild } = require("./GraphHelpers");
|
|
10
8
|
const ModuleGraphConnection = require("./ModuleGraphConnection");
|
|
9
|
+
const AsyncDependencyToInitialChunkError = require("./errors/AsyncDependencyToInitialChunkError");
|
|
11
10
|
const { getEntryRuntime, mergeRuntime } = require("./util/runtime");
|
|
12
11
|
|
|
13
12
|
/** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */
|
|
@@ -24,6 +23,7 @@ const { getEntryRuntime, mergeRuntime } = require("./util/runtime");
|
|
|
24
23
|
/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
|
|
25
24
|
|
|
26
25
|
/**
|
|
26
|
+
* Defines the queue item type used by this module.
|
|
27
27
|
* @typedef {object} QueueItem
|
|
28
28
|
* @property {number} action
|
|
29
29
|
* @property {DependenciesBlock} block
|
|
@@ -34,6 +34,7 @@ const { getEntryRuntime, mergeRuntime } = require("./util/runtime");
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
+
* Defines the chunk group info type used by this module.
|
|
37
38
|
* @typedef {object} ChunkGroupInfo
|
|
38
39
|
* @property {ChunkGroup} chunkGroup the chunk group
|
|
39
40
|
* @property {RuntimeSpec} runtime the runtimes
|
|
@@ -55,6 +56,7 @@ const { getEntryRuntime, mergeRuntime } = require("./util/runtime");
|
|
|
55
56
|
*/
|
|
56
57
|
|
|
57
58
|
/**
|
|
59
|
+
* Defines the block chunk group connection type used by this module.
|
|
58
60
|
* @typedef {object} BlockChunkGroupConnection
|
|
59
61
|
* @property {ChunkGroupInfo} originChunkGroupInfo origin chunk group
|
|
60
62
|
* @property {ChunkGroup} chunkGroup referenced chunk group
|
|
@@ -74,6 +76,7 @@ const ZERO_BIGINT = BigInt(0);
|
|
|
74
76
|
const ONE_BIGINT = BigInt(1);
|
|
75
77
|
|
|
76
78
|
/**
|
|
79
|
+
* Checks whether this object is ordinal set in mask.
|
|
77
80
|
* @param {bigint} mask The mask to test
|
|
78
81
|
* @param {number} ordinal The ordinal of the bit to test
|
|
79
82
|
* @returns {boolean} If the ordinal-th bit is set in the mask
|
|
@@ -82,6 +85,7 @@ const isOrdinalSetInMask = (mask, ordinal) =>
|
|
|
82
85
|
BigInt.asUintN(1, mask >> BigInt(ordinal)) !== ZERO_BIGINT;
|
|
83
86
|
|
|
84
87
|
/**
|
|
88
|
+
* Gets active state of connections.
|
|
85
89
|
* @param {ModuleGraphConnection[]} connections list of connections
|
|
86
90
|
* @param {RuntimeSpec} runtime for which runtime
|
|
87
91
|
* @returns {ConnectionState} connection state
|
|
@@ -101,6 +105,7 @@ const getActiveStateOfConnections = (connections, runtime) => {
|
|
|
101
105
|
};
|
|
102
106
|
|
|
103
107
|
/**
|
|
108
|
+
* Extract block modules.
|
|
104
109
|
* @param {Module} module module
|
|
105
110
|
* @param {ModuleGraph} moduleGraph module graph
|
|
106
111
|
* @param {RuntimeSpec} runtime runtime
|
|
@@ -237,6 +242,7 @@ const extractBlockModules = (module, moduleGraph, runtime, blockModulesMap) => {
|
|
|
237
242
|
};
|
|
238
243
|
|
|
239
244
|
/**
|
|
245
|
+
* Processes the provided logger.
|
|
240
246
|
* @param {Logger} logger a logger
|
|
241
247
|
* @param {Compilation} compilation the compilation
|
|
242
248
|
* @param {InputEntrypointsAndModules} inputEntrypointsAndModules chunk groups which are processed with the modules
|
|
@@ -268,6 +274,7 @@ const visitModules = (
|
|
|
268
274
|
const ordinalByModule = new Map();
|
|
269
275
|
|
|
270
276
|
/**
|
|
277
|
+
* Gets module ordinal.
|
|
271
278
|
* @param {Module} module The module to look up
|
|
272
279
|
* @returns {number} The ordinal of the module in masks
|
|
273
280
|
*/
|
|
@@ -289,6 +296,7 @@ const visitModules = (
|
|
|
289
296
|
}
|
|
290
297
|
|
|
291
298
|
/**
|
|
299
|
+
* Gets block modules.
|
|
292
300
|
* @param {DependenciesBlock} block block
|
|
293
301
|
* @param {RuntimeSpec} runtime runtime
|
|
294
302
|
* @returns {BlockModulesInFlattenTuples | undefined} block modules in flatten tuples
|
|
@@ -493,6 +501,7 @@ const visitModules = (
|
|
|
493
501
|
|
|
494
502
|
// For each async Block in graph
|
|
495
503
|
/**
|
|
504
|
+
* Processes the provided b.
|
|
496
505
|
* @param {AsyncDependenciesBlock} b iterating over each Async DepBlock
|
|
497
506
|
* @returns {void}
|
|
498
507
|
*/
|
|
@@ -699,6 +708,7 @@ const visitModules = (
|
|
|
699
708
|
};
|
|
700
709
|
|
|
701
710
|
/**
|
|
711
|
+
* Processes the provided block.
|
|
702
712
|
* @param {DependenciesBlock} block the block
|
|
703
713
|
* @returns {void}
|
|
704
714
|
*/
|
|
@@ -791,6 +801,7 @@ const visitModules = (
|
|
|
791
801
|
};
|
|
792
802
|
|
|
793
803
|
/**
|
|
804
|
+
* Process entry block.
|
|
794
805
|
* @param {DependenciesBlock} block the block
|
|
795
806
|
* @returns {void}
|
|
796
807
|
*/
|
|
@@ -918,6 +929,7 @@ const visitModules = (
|
|
|
918
929
|
};
|
|
919
930
|
|
|
920
931
|
/**
|
|
932
|
+
* Calculate resulting available modules.
|
|
921
933
|
* @param {ChunkGroupInfo} chunkGroupInfo The info object for the chunk group
|
|
922
934
|
* @returns {bigint} The mask of available modules after the chunk group
|
|
923
935
|
*/
|
|
@@ -1193,6 +1205,7 @@ const visitModules = (
|
|
|
1193
1205
|
let preOrderIndex = 0;
|
|
1194
1206
|
let postOrderIndex = 0;
|
|
1195
1207
|
/**
|
|
1208
|
+
* Processes the provided current.
|
|
1196
1209
|
* @param {DependenciesBlock} current current
|
|
1197
1210
|
* @param {BlocksWithNestedBlocks} visited visited dependencies blocks
|
|
1198
1211
|
*/
|
|
@@ -1240,6 +1253,7 @@ const visitModules = (
|
|
|
1240
1253
|
};
|
|
1241
1254
|
|
|
1242
1255
|
/**
|
|
1256
|
+
* Connects chunk groups.
|
|
1243
1257
|
* @param {Compilation} compilation the compilation
|
|
1244
1258
|
* @param {BlocksWithNestedBlocks} blocksWithNestedBlocks flag for blocks that have nested blocks
|
|
1245
1259
|
* @param {BlockConnections} blockConnections connection for blocks
|
|
@@ -1296,10 +1310,9 @@ const connectChunkGroups = (
|
|
|
1296
1310
|
chunkGraph.connectBlockAndChunkGroup(block, chunkGroup);
|
|
1297
1311
|
|
|
1298
1312
|
// 4. Connect chunk with parent
|
|
1299
|
-
|
|
1300
|
-
originChunkGroupInfo.chunkGroup
|
|
1301
|
-
|
|
1302
|
-
);
|
|
1313
|
+
if (originChunkGroupInfo.chunkGroup.addChild(chunkGroup)) {
|
|
1314
|
+
chunkGroup.addParent(originChunkGroupInfo.chunkGroup);
|
|
1315
|
+
}
|
|
1303
1316
|
}
|
|
1304
1317
|
}
|
|
1305
1318
|
};
|
|
@@ -11,6 +11,7 @@ const PLUGIN_NAME = "AddBuildDependenciesPlugin";
|
|
|
11
11
|
|
|
12
12
|
class AddBuildDependenciesPlugin {
|
|
13
13
|
/**
|
|
14
|
+
* Creates an instance of AddBuildDependenciesPlugin.
|
|
14
15
|
* @param {Iterable<string>} buildDependencies list of build dependencies
|
|
15
16
|
*/
|
|
16
17
|
constructor(buildDependencies) {
|
|
@@ -18,7 +19,7 @@ class AddBuildDependenciesPlugin {
|
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
|
-
*
|
|
22
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
22
23
|
* @param {Compiler} compiler the compiler instance
|
|
23
24
|
* @returns {void}
|
|
24
25
|
*/
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
class AddManagedPathsPlugin {
|
|
11
11
|
/**
|
|
12
|
+
* Creates an instance of AddManagedPathsPlugin.
|
|
12
13
|
* @param {Iterable<string | RegExp>} managedPaths list of managed paths
|
|
13
14
|
* @param {Iterable<string | RegExp>} immutablePaths list of immutable paths
|
|
14
15
|
* @param {Iterable<string | RegExp>} unmanagedPaths list of unmanaged paths
|
|
@@ -20,7 +21,7 @@ class AddManagedPathsPlugin {
|
|
|
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
|
*/
|
|
@@ -16,6 +16,7 @@ const PLUGIN_NAME = "IdleFileCachePlugin";
|
|
|
16
16
|
|
|
17
17
|
class IdleFileCachePlugin {
|
|
18
18
|
/**
|
|
19
|
+
* Creates an instance of IdleFileCachePlugin.
|
|
19
20
|
* @param {PackFileCacheStrategy} strategy cache strategy
|
|
20
21
|
* @param {number} idleTimeout timeout
|
|
21
22
|
* @param {number} idleTimeoutForInitialStore initial timeout
|
|
@@ -34,7 +35,7 @@ class IdleFileCachePlugin {
|
|
|
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
|
*/
|