webpack 5.106.1 → 5.106.2
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/lib/APIPlugin.js +3 -1
- package/lib/AbstractMethodError.js +10 -1
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AsyncDependencyToInitialChunkError.js +6 -1
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +10 -1
- package/lib/Cache.js +26 -1
- package/lib/CacheFacade.js +26 -0
- package/lib/CaseSensitiveModulesWarning.js +9 -1
- 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/CommentCompilationWarning.js +6 -0
- package/lib/CompatibilityPlugin.js +15 -1
- package/lib/Compilation.js +127 -1
- package/lib/Compiler.js +37 -4
- 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 +12 -0
- package/lib/ContextModuleFactory.js +10 -0
- package/lib/ContextReplacementPlugin.js +4 -1
- package/lib/CssModule.js +6 -0
- package/lib/DefinePlugin.js +20 -7
- package/lib/DelegatedModule.js +13 -0
- package/lib/DelegatedModuleFactoryPlugin.js +3 -0
- package/lib/DelegatedPlugin.js +2 -1
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +26 -3
- package/lib/DependencyTemplate.js +5 -0
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DllEntryPlugin.js +2 -1
- package/lib/DllModule.js +11 -0
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +2 -1
- package/lib/DllReferencePlugin.js +11 -6
- 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 +2 -1
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +3 -1
- package/lib/ExportsInfo.js +56 -2
- package/lib/ExportsInfoApiPlugin.js +2 -1
- package/lib/ExternalModule.js +38 -0
- package/lib/ExternalModuleFactoryPlugin.js +10 -0
- package/lib/ExternalsPlugin.js +2 -1
- package/lib/FileSystemInfo.js +105 -0
- 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 +13 -0
- package/lib/GraphHelpers.js +3 -0
- package/lib/HookWebpackError.js +6 -0
- package/lib/HotModuleReplacementPlugin.js +9 -1
- package/lib/IgnoreErrorModuleFactory.js +2 -0
- package/lib/IgnorePlugin.js +2 -1
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +10 -0
- package/lib/InvalidDependenciesModuleWarning.js +1 -0
- package/lib/JavascriptMetaInfoPlugin.js +2 -1
- package/lib/LibManifestPlugin.js +4 -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 +82 -1
- package/lib/ModuleBuildError.js +3 -0
- package/lib/ModuleDependencyWarning.js +1 -0
- package/lib/ModuleError.js +2 -0
- package/lib/ModuleFactory.js +5 -0
- 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/ModuleNotFoundError.js +1 -0
- package/lib/ModuleParseError.js +3 -0
- package/lib/ModuleRestoreError.js +1 -0
- package/lib/ModuleSourceTypeConstants.js +1 -0
- package/lib/ModuleStoreError.js +1 -0
- package/lib/ModuleTemplate.js +8 -0
- package/lib/ModuleWarning.js +3 -0
- package/lib/MultiCompiler.js +28 -0
- package/lib/MultiStats.js +8 -0
- package/lib/MultiWatching.js +3 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffInWebError.js +1 -0
- package/lib/NodeStuffPlugin.js +10 -1
- package/lib/NormalModule.js +30 -2
- package/lib/NormalModuleFactory.js +25 -0
- package/lib/NormalModuleReplacementPlugin.js +1 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +2 -0
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +2 -1
- package/lib/ProgressPlugin.js +29 -12
- 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/RequireJsStuffPlugin.js +2 -1
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +1 -0
- package/lib/RuntimeModule.js +13 -0
- package/lib/RuntimePlugin.js +2 -0
- package/lib/RuntimeTemplate.js +35 -1
- package/lib/SelfModuleFactory.js +2 -0
- package/lib/SizeFormatHelpers.js +1 -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/UnhandledSchemeError.js +6 -0
- package/lib/UnsupportedFeatureWarning.js +1 -0
- package/lib/UseStrictPlugin.js +2 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +4 -1
- package/lib/Watching.js +14 -0
- package/lib/WebpackError.js +3 -0
- package/lib/WebpackIsIncludedPlugin.js +2 -0
- package/lib/WebpackOptionsApply.js +1 -0
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +6 -0
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +20 -2
- package/lib/asset/AssetModulesPlugin.js +4 -1
- package/lib/asset/AssetParser.js +2 -0
- package/lib/asset/AssetSourceGenerator.js +6 -0
- 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 +15 -0
- 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 +29 -0
- 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 +30 -0
- package/lib/config/browserslistTargetHandler.js +2 -0
- package/lib/config/defaults.js +35 -2
- package/lib/config/normalization.js +12 -0
- 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 +35 -14
- package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
- package/lib/css/CssLoadingRuntimeModule.js +1 -0
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
- package/lib/css/CssModulesPlugin.js +69 -3
- package/lib/css/CssParser.js +59 -1
- package/lib/css/walkCssTokens.js +31 -0
- 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 +13 -0
- 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 +1 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
- package/lib/dependencies/CommonJsExportsDependency.js +4 -0
- package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
- package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
- package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
- package/lib/dependencies/CommonJsPlugin.js +4 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
- package/lib/dependencies/CommonJsRequireDependency.js +3 -0
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
- package/lib/dependencies/ConstDependency.js +6 -1
- package/lib/dependencies/ContextDependency.js +8 -1
- package/lib/dependencies/ContextDependencyHelpers.js +3 -0
- 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 +6 -0
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
- package/lib/dependencies/CriticalDependencyWarning.js +1 -0
- package/lib/dependencies/CssIcssExportDependency.js +10 -2
- package/lib/dependencies/CssIcssImportDependency.js +4 -1
- package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
- package/lib/dependencies/CssImportDependency.js +4 -0
- package/lib/dependencies/CssUrlDependency.js +7 -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 +3 -0
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
- package/lib/dependencies/HarmonyExportExpressionDependency.js +5 -0
- package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
- 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 +11 -0
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
- package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -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 +3 -0
- 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 +7 -0
- package/lib/dependencies/ImportPhase.js +6 -2
- 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 +3 -0
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- 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 +4 -1
- 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 +4 -1
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
- package/lib/dependencies/WorkerDependency.js +6 -1
- package/lib/dependencies/WorkerPlugin.js +9 -1
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +1 -0
- package/lib/electron/ElectronTargetPlugin.js +2 -1
- 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/formatLocation.js +2 -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/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 +20 -0
- 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 +5 -0
- 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 +23 -1
- package/lib/javascript/JavascriptParser.js +163 -0
- package/lib/javascript/JavascriptParserHelpers.js +6 -0
- 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 +8 -10
- package/lib/library/AbstractLibraryPlugin.js +16 -1
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +16 -0
- package/lib/library/EnableLibraryPlugin.js +7 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +12 -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 +3 -1
- 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 +3 -0
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +11 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
- package/lib/optimize/InnerGraph.js +15 -0
- package/lib/optimize/InnerGraphPlugin.js +3 -1
- 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 +1 -0
- package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
- package/lib/optimize/RealContentHashPlugin.js +16 -1
- 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 +7 -1
- package/lib/optimize/SplitChunksPlugin.js +49 -1
- package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
- package/lib/performance/SizeLimitsPlugin.js +7 -1
- 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 +1 -0
- 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 +6 -0
- 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 +2 -0
- 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/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 +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +43 -1
- package/lib/schemes/VirtualUrlPlugin.js +6 -1
- 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 +12 -0
- 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 +6 -1
- package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +4 -0
- package/lib/sharing/ProvideSharedModule.js +11 -0
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +4 -1
- package/lib/sharing/SharePlugin.js +2 -1
- package/lib/sharing/ShareRuntimeModule.js +1 -0
- package/lib/sharing/resolveMatchedConfigs.js +3 -0
- package/lib/sharing/utils.js +8 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
- package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
- package/lib/stats/StatsFactory.js +12 -0
- package/lib/stats/StatsPrinter.js +7 -0
- package/lib/url/URLParserPlugin.js +6 -0
- 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 +20 -0
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +21 -0
- package/lib/util/LazySet.js +39 -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 +6 -0
- 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 +17 -0
- package/lib/util/comparators.js +31 -0
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +6 -0
- package/lib/util/conventions.js +4 -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/util/fs.js +63 -0
- 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/wasm-hash.js +5 -0
- package/lib/util/identifier.js +19 -0
- package/lib/util/magicComment.js +1 -0
- 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 +112 -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 +2 -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 +10 -1
- package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
- package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
- 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 +10 -0
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/package.json +12 -14
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +44 -55
- package/types.d.ts +4594 -331
package/lib/ModuleTemplate.js
CHANGED
|
@@ -20,6 +20,7 @@ const memoize = require("./util/memoize");
|
|
|
20
20
|
/** @typedef {import("./util/Hash")} Hash */
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
+
* Defines the if set type used by this module.
|
|
23
24
|
* @template T
|
|
24
25
|
* @typedef {import("tapable").IfSet<T>} IfSet
|
|
25
26
|
*/
|
|
@@ -31,6 +32,7 @@ const getJavascriptModulesPlugin = memoize(() =>
|
|
|
31
32
|
// TODO webpack 6: remove this class
|
|
32
33
|
class ModuleTemplate {
|
|
33
34
|
/**
|
|
35
|
+
* Creates an instance of ModuleTemplate.
|
|
34
36
|
* @param {RuntimeTemplate} runtimeTemplate the runtime template
|
|
35
37
|
* @param {Compilation} compilation the compilation
|
|
36
38
|
*/
|
|
@@ -41,6 +43,7 @@ class ModuleTemplate {
|
|
|
41
43
|
content: {
|
|
42
44
|
tap: util.deprecate(
|
|
43
45
|
/**
|
|
46
|
+
* Handles the callback logic for this hook.
|
|
44
47
|
* @template AdditionalOptions
|
|
45
48
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
46
49
|
* @param {(source: Source, module: Module, moduleRenderContext: ModuleRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
|
|
@@ -66,6 +69,7 @@ class ModuleTemplate {
|
|
|
66
69
|
module: {
|
|
67
70
|
tap: util.deprecate(
|
|
68
71
|
/**
|
|
72
|
+
* Handles the callback logic for this hook.
|
|
69
73
|
* @template AdditionalOptions
|
|
70
74
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
71
75
|
* @param {(source: Source, module: Module, moduleRenderContext: ModuleRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
|
|
@@ -91,6 +95,7 @@ class ModuleTemplate {
|
|
|
91
95
|
render: {
|
|
92
96
|
tap: util.deprecate(
|
|
93
97
|
/**
|
|
98
|
+
* Handles the callback logic for this hook.
|
|
94
99
|
* @template AdditionalOptions
|
|
95
100
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
96
101
|
* @param {(source: Source, module: Module, chunkRenderContext: ChunkRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
|
|
@@ -116,6 +121,7 @@ class ModuleTemplate {
|
|
|
116
121
|
package: {
|
|
117
122
|
tap: util.deprecate(
|
|
118
123
|
/**
|
|
124
|
+
* Handles the callback logic for this hook.
|
|
119
125
|
* @template AdditionalOptions
|
|
120
126
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
121
127
|
* @param {(source: Source, module: Module, chunkRenderContext: ChunkRenderContext, dependencyTemplates: DependencyTemplates) => Source} fn fn
|
|
@@ -141,6 +147,7 @@ class ModuleTemplate {
|
|
|
141
147
|
hash: {
|
|
142
148
|
tap: util.deprecate(
|
|
143
149
|
/**
|
|
150
|
+
* Handles the callback logic for this hook.
|
|
144
151
|
* @template AdditionalOptions
|
|
145
152
|
* @param {string | Tap & IfSet<AdditionalOptions>} options options
|
|
146
153
|
* @param {(hash: Hash) => void} fn fn
|
|
@@ -159,6 +166,7 @@ class ModuleTemplate {
|
|
|
159
166
|
Object.defineProperty(ModuleTemplate.prototype, "runtimeTemplate", {
|
|
160
167
|
get: util.deprecate(
|
|
161
168
|
/**
|
|
169
|
+
* Returns output options.
|
|
162
170
|
* @this {ModuleTemplate}
|
|
163
171
|
* @returns {RuntimeTemplate} output options
|
|
164
172
|
*/
|
package/lib/ModuleWarning.js
CHANGED
|
@@ -14,6 +14,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
14
14
|
|
|
15
15
|
class ModuleWarning extends WebpackError {
|
|
16
16
|
/**
|
|
17
|
+
* Creates an instance of ModuleWarning.
|
|
17
18
|
* @param {Error} warning error thrown
|
|
18
19
|
* @param {{ from?: string | null }} info additional info
|
|
19
20
|
*/
|
|
@@ -40,6 +41,7 @@ class ModuleWarning extends WebpackError {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
/**
|
|
44
|
+
* Serializes this instance into the provided serializer context.
|
|
43
45
|
* @param {ObjectSerializerContext} context context
|
|
44
46
|
*/
|
|
45
47
|
serialize(context) {
|
|
@@ -51,6 +53,7 @@ class ModuleWarning extends WebpackError {
|
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
/**
|
|
56
|
+
* Restores this instance from the provided deserializer context.
|
|
54
57
|
* @param {ObjectDeserializerContext} context context
|
|
55
58
|
*/
|
|
56
59
|
deserialize(context) {
|
package/lib/MultiCompiler.js
CHANGED
|
@@ -15,10 +15,12 @@ const WebpackError = require("./WebpackError");
|
|
|
15
15
|
const ArrayQueue = require("./util/ArrayQueue");
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
+
* Defines the shared type used by this module.
|
|
18
19
|
* @template T
|
|
19
20
|
* @typedef {import("tapable").AsyncSeriesHook<T>} AsyncSeriesHook<T>
|
|
20
21
|
*/
|
|
21
22
|
/**
|
|
23
|
+
* Defines the shared type used by this module.
|
|
22
24
|
* @template T
|
|
23
25
|
* @template R
|
|
24
26
|
* @typedef {import("tapable").SyncBailHook<T, R>} SyncBailHook<T, R>
|
|
@@ -27,6 +29,7 @@ const ArrayQueue = require("./util/ArrayQueue");
|
|
|
27
29
|
/** @typedef {import("../declarations/WebpackOptions").WatchOptions} WatchOptions */
|
|
28
30
|
/** @typedef {import("./Compiler")} Compiler */
|
|
29
31
|
/**
|
|
32
|
+
* Defines the callback type used by this module.
|
|
30
33
|
* @template T
|
|
31
34
|
* @template [R=void]
|
|
32
35
|
* @typedef {import("./webpack").Callback<T, R>} Callback
|
|
@@ -40,6 +43,7 @@ const ArrayQueue = require("./util/ArrayQueue");
|
|
|
40
43
|
/** @typedef {import("./util/fs").WatchFileSystem} WatchFileSystem */
|
|
41
44
|
|
|
42
45
|
/**
|
|
46
|
+
* Defines the run with dependencies handler callback.
|
|
43
47
|
* @callback RunWithDependenciesHandler
|
|
44
48
|
* @param {Compiler} compiler
|
|
45
49
|
* @param {Callback<MultiStats>} callback
|
|
@@ -47,6 +51,7 @@ const ArrayQueue = require("./util/ArrayQueue");
|
|
|
47
51
|
*/
|
|
48
52
|
|
|
49
53
|
/**
|
|
54
|
+
* Defines the multi compiler options type used by this module.
|
|
50
55
|
* @typedef {object} MultiCompilerOptions
|
|
51
56
|
* @property {number=} parallelism how many Compilers are allows to run at the same time in parallel
|
|
52
57
|
*/
|
|
@@ -57,6 +62,7 @@ const CLASS_NAME = "MultiCompiler";
|
|
|
57
62
|
|
|
58
63
|
module.exports = class MultiCompiler {
|
|
59
64
|
/**
|
|
65
|
+
* Creates an instance of MultiCompiler.
|
|
60
66
|
* @param {Compiler[] | Record<string, Compiler>} compilers child compilers
|
|
61
67
|
* @param {MultiCompilerOptions} options options
|
|
62
68
|
*/
|
|
@@ -129,6 +135,7 @@ module.exports = class MultiCompiler {
|
|
|
129
135
|
_validateCompilersOptions() {
|
|
130
136
|
if (this.compilers.length < 2) return;
|
|
131
137
|
/**
|
|
138
|
+
* Adds the provided compiler to the multi compiler.
|
|
132
139
|
* @param {Compiler} compiler compiler
|
|
133
140
|
* @param {WebpackError} warning warning
|
|
134
141
|
*/
|
|
@@ -187,6 +194,7 @@ module.exports = class MultiCompiler {
|
|
|
187
194
|
}
|
|
188
195
|
|
|
189
196
|
/**
|
|
197
|
+
* Sets input file system.
|
|
190
198
|
* @param {InputFileSystem} value the new input file system
|
|
191
199
|
*/
|
|
192
200
|
set inputFileSystem(value) {
|
|
@@ -200,6 +208,7 @@ module.exports = class MultiCompiler {
|
|
|
200
208
|
}
|
|
201
209
|
|
|
202
210
|
/**
|
|
211
|
+
* Sets output file system.
|
|
203
212
|
* @param {OutputFileSystem} value the new output file system
|
|
204
213
|
*/
|
|
205
214
|
set outputFileSystem(value) {
|
|
@@ -213,6 +222,7 @@ module.exports = class MultiCompiler {
|
|
|
213
222
|
}
|
|
214
223
|
|
|
215
224
|
/**
|
|
225
|
+
* Sets watch file system.
|
|
216
226
|
* @param {WatchFileSystem} value the new watch file system
|
|
217
227
|
*/
|
|
218
228
|
set watchFileSystem(value) {
|
|
@@ -222,6 +232,7 @@ module.exports = class MultiCompiler {
|
|
|
222
232
|
}
|
|
223
233
|
|
|
224
234
|
/**
|
|
235
|
+
* Sets intermediate file system.
|
|
225
236
|
* @param {IntermediateFileSystem} value the new intermediate file system
|
|
226
237
|
*/
|
|
227
238
|
set intermediateFileSystem(value) {
|
|
@@ -235,6 +246,7 @@ module.exports = class MultiCompiler {
|
|
|
235
246
|
}
|
|
236
247
|
|
|
237
248
|
/**
|
|
249
|
+
* Gets infrastructure logger.
|
|
238
250
|
* @param {string | (() => string)} name name of the logger, or function called once to get the logger name
|
|
239
251
|
* @returns {Logger} a logger with that name
|
|
240
252
|
*/
|
|
@@ -243,6 +255,7 @@ module.exports = class MultiCompiler {
|
|
|
243
255
|
}
|
|
244
256
|
|
|
245
257
|
/**
|
|
258
|
+
* Updates dependencies using the provided compiler.
|
|
246
259
|
* @param {Compiler} compiler the child compiler
|
|
247
260
|
* @param {string[]} dependencies its dependencies
|
|
248
261
|
* @returns {void}
|
|
@@ -252,6 +265,7 @@ module.exports = class MultiCompiler {
|
|
|
252
265
|
}
|
|
253
266
|
|
|
254
267
|
/**
|
|
268
|
+
* Validate dependencies.
|
|
255
269
|
* @param {Callback<MultiStats>} callback signals when the validation is complete
|
|
256
270
|
* @returns {boolean} true if the dependencies are valid
|
|
257
271
|
*/
|
|
@@ -261,6 +275,7 @@ module.exports = class MultiCompiler {
|
|
|
261
275
|
/** @type {string[]} */
|
|
262
276
|
const missing = [];
|
|
263
277
|
/**
|
|
278
|
+
* Returns target was found.
|
|
264
279
|
* @param {Compiler} compiler compiler
|
|
265
280
|
* @returns {boolean} target was found
|
|
266
281
|
*/
|
|
@@ -273,6 +288,7 @@ module.exports = class MultiCompiler {
|
|
|
273
288
|
return false;
|
|
274
289
|
};
|
|
275
290
|
/**
|
|
291
|
+
* Returns result.
|
|
276
292
|
* @param {{ source: Compiler, target: Compiler }} e1 edge 1
|
|
277
293
|
* @param {{ source: Compiler, target: Compiler }} e2 edge 2
|
|
278
294
|
* @returns {number} result
|
|
@@ -333,6 +349,7 @@ module.exports = class MultiCompiler {
|
|
|
333
349
|
|
|
334
350
|
// TODO webpack 6 remove
|
|
335
351
|
/**
|
|
352
|
+
* Run with dependencies.
|
|
336
353
|
* @deprecated This method should have been private
|
|
337
354
|
* @param {Compiler[]} compilers the child compilers
|
|
338
355
|
* @param {RunWithDependenciesHandler} fn a handler to run for each compiler
|
|
@@ -344,11 +361,13 @@ module.exports = class MultiCompiler {
|
|
|
344
361
|
const fulfilledNames = new Set();
|
|
345
362
|
let remainingCompilers = compilers;
|
|
346
363
|
/**
|
|
364
|
+
* Checks whether this multi compiler is dependency fulfilled.
|
|
347
365
|
* @param {string} d dependency
|
|
348
366
|
* @returns {boolean} when dependency was fulfilled
|
|
349
367
|
*/
|
|
350
368
|
const isDependencyFulfilled = (d) => fulfilledNames.has(d);
|
|
351
369
|
/**
|
|
370
|
+
* Gets ready compilers.
|
|
352
371
|
* @returns {Compiler[]} compilers
|
|
353
372
|
*/
|
|
354
373
|
const getReadyCompilers = () => {
|
|
@@ -369,6 +388,7 @@ module.exports = class MultiCompiler {
|
|
|
369
388
|
return readyCompilers;
|
|
370
389
|
};
|
|
371
390
|
/**
|
|
391
|
+
* Processes the provided stat.
|
|
372
392
|
* @param {Callback<Stats[]>} callback callback
|
|
373
393
|
* @returns {void}
|
|
374
394
|
*/
|
|
@@ -392,6 +412,7 @@ module.exports = class MultiCompiler {
|
|
|
392
412
|
}
|
|
393
413
|
|
|
394
414
|
/**
|
|
415
|
+
* Returns result of setup.
|
|
395
416
|
* @template SetupResult
|
|
396
417
|
* @param {(compiler: Compiler, index: number, doneCallback: Callback<Stats>, isBlocked: () => boolean, setChanged: () => void, setInvalid: () => void) => SetupResult} setup setup a single compiler
|
|
397
418
|
* @param {(compiler: Compiler, setupResult: SetupResult, callback: Callback<Stats>) => void} run run/continue a single compiler
|
|
@@ -448,6 +469,7 @@ module.exports = class MultiCompiler {
|
|
|
448
469
|
let running = 0;
|
|
449
470
|
const parallelism = /** @type {number} */ (this._options.parallelism);
|
|
450
471
|
/**
|
|
472
|
+
* Processes the provided node.
|
|
451
473
|
* @param {Node} node node
|
|
452
474
|
* @param {(Error | null)=} err error
|
|
453
475
|
* @param {Stats=} stats result
|
|
@@ -483,6 +505,7 @@ module.exports = class MultiCompiler {
|
|
|
483
505
|
processQueue();
|
|
484
506
|
};
|
|
485
507
|
/**
|
|
508
|
+
* Node invalid from parent.
|
|
486
509
|
* @param {Node} node node
|
|
487
510
|
* @returns {void}
|
|
488
511
|
*/
|
|
@@ -497,6 +520,7 @@ module.exports = class MultiCompiler {
|
|
|
497
520
|
}
|
|
498
521
|
};
|
|
499
522
|
/**
|
|
523
|
+
* Processes the provided node.
|
|
500
524
|
* @param {Node} node node
|
|
501
525
|
* @returns {void}
|
|
502
526
|
*/
|
|
@@ -511,6 +535,7 @@ module.exports = class MultiCompiler {
|
|
|
511
535
|
}
|
|
512
536
|
};
|
|
513
537
|
/**
|
|
538
|
+
* Processes the provided node.
|
|
514
539
|
* @param {Node} node node
|
|
515
540
|
* @returns {void}
|
|
516
541
|
*/
|
|
@@ -589,6 +614,7 @@ module.exports = class MultiCompiler {
|
|
|
589
614
|
}
|
|
590
615
|
|
|
591
616
|
/**
|
|
617
|
+
* Returns a compiler watcher.
|
|
592
618
|
* @param {WatchOptions | WatchOptions[]} watchOptions the watcher's options
|
|
593
619
|
* @param {Callback<MultiStats>} handler signals when the call finishes
|
|
594
620
|
* @returns {MultiWatching | undefined} a compiler watcher
|
|
@@ -627,6 +653,7 @@ module.exports = class MultiCompiler {
|
|
|
627
653
|
}
|
|
628
654
|
|
|
629
655
|
/**
|
|
656
|
+
* Processes the provided multi stat.
|
|
630
657
|
* @param {Callback<MultiStats>} callback signals when the call finishes
|
|
631
658
|
* @returns {void}
|
|
632
659
|
*/
|
|
@@ -661,6 +688,7 @@ module.exports = class MultiCompiler {
|
|
|
661
688
|
}
|
|
662
689
|
|
|
663
690
|
/**
|
|
691
|
+
* Processes the provided error callback.
|
|
664
692
|
* @param {ErrorCallback} callback signals when the compiler closes
|
|
665
693
|
* @returns {void}
|
|
666
694
|
*/
|
package/lib/MultiStats.js
CHANGED
|
@@ -17,6 +17,7 @@ const identifierUtils = require("./util/identifier");
|
|
|
17
17
|
/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsError} StatsError */
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Returns indent.
|
|
20
21
|
* @param {string} str string
|
|
21
22
|
* @param {string} prefix pref
|
|
22
23
|
* @returns {string} indent
|
|
@@ -31,6 +32,7 @@ const indent = (str, prefix) => {
|
|
|
31
32
|
|
|
32
33
|
class MultiStats {
|
|
33
34
|
/**
|
|
35
|
+
* Creates an instance of MultiStats.
|
|
34
36
|
* @param {Stats[]} stats the child stats
|
|
35
37
|
*/
|
|
36
38
|
constructor(stats) {
|
|
@@ -42,6 +44,7 @@ class MultiStats {
|
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
/**
|
|
47
|
+
* Checks whether this multi stats has errors.
|
|
45
48
|
* @returns {boolean} true if a child compilation encountered an error
|
|
46
49
|
*/
|
|
47
50
|
hasErrors() {
|
|
@@ -49,6 +52,7 @@ class MultiStats {
|
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
/**
|
|
55
|
+
* Checks whether this multi stats has warnings.
|
|
52
56
|
* @returns {boolean} true if a child compilation had a warning
|
|
53
57
|
*/
|
|
54
58
|
hasWarnings() {
|
|
@@ -56,6 +60,7 @@ class MultiStats {
|
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
/**
|
|
63
|
+
* Create child options.
|
|
59
64
|
* @param {undefined | StatsValue} options stats options
|
|
60
65
|
* @param {CreateStatsOptionsContext} context context
|
|
61
66
|
* @returns {ChildOptions} context context
|
|
@@ -109,6 +114,7 @@ class MultiStats {
|
|
|
109
114
|
}
|
|
110
115
|
|
|
111
116
|
/**
|
|
117
|
+
* Returns json output.
|
|
112
118
|
* @param {StatsValue=} options stats options
|
|
113
119
|
* @returns {StatsCompilation} json output
|
|
114
120
|
*/
|
|
@@ -138,6 +144,7 @@ class MultiStats {
|
|
|
138
144
|
obj.hash = obj.children.map((j) => j.hash).join("");
|
|
139
145
|
}
|
|
140
146
|
/**
|
|
147
|
+
* Returns result.
|
|
141
148
|
* @param {StatsCompilation} j stats error
|
|
142
149
|
* @param {StatsError} obj Stats error
|
|
143
150
|
* @returns {StatsError} result
|
|
@@ -184,6 +191,7 @@ class MultiStats {
|
|
|
184
191
|
}
|
|
185
192
|
|
|
186
193
|
/**
|
|
194
|
+
* Returns a string representation.
|
|
187
195
|
* @param {StatsValue=} options stats options
|
|
188
196
|
* @returns {string} string output
|
|
189
197
|
*/
|
package/lib/MultiWatching.js
CHANGED
|
@@ -13,6 +13,7 @@ const asyncLib = require("neo-async");
|
|
|
13
13
|
|
|
14
14
|
class MultiWatching {
|
|
15
15
|
/**
|
|
16
|
+
* Creates an instance of MultiWatching.
|
|
16
17
|
* @param {Watching[]} watchings child compilers' watchers
|
|
17
18
|
* @param {MultiCompiler} compiler the compiler
|
|
18
19
|
*/
|
|
@@ -22,6 +23,7 @@ class MultiWatching {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
/**
|
|
26
|
+
* Processes the provided error callback.
|
|
25
27
|
* @param {ErrorCallback=} callback signals when the build has completed again
|
|
26
28
|
* @returns {void}
|
|
27
29
|
*/
|
|
@@ -54,6 +56,7 @@ class MultiWatching {
|
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
/**
|
|
59
|
+
* Processes the provided error callback.
|
|
57
60
|
* @param {ErrorCallback} callback signals when the watcher is closed
|
|
58
61
|
* @returns {void}
|
|
59
62
|
*/
|
|
@@ -12,6 +12,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
12
12
|
|
|
13
13
|
class NodeStuffInWebError extends WebpackError {
|
|
14
14
|
/**
|
|
15
|
+
* Creates an instance of NodeStuffInWebError.
|
|
15
16
|
* @param {DependencyLocation} loc loc
|
|
16
17
|
* @param {string} expression expression
|
|
17
18
|
* @param {string} description description
|
package/lib/NodeStuffPlugin.js
CHANGED
|
@@ -36,6 +36,7 @@ const URL_MODULE_CONSTANT_FUNCTION_NAME = "__webpack_fileURLToPath__";
|
|
|
36
36
|
|
|
37
37
|
class NodeStuffPlugin {
|
|
38
38
|
/**
|
|
39
|
+
* Creates an instance of NodeStuffPlugin.
|
|
39
40
|
* @param {NodeOptions} options options
|
|
40
41
|
*/
|
|
41
42
|
constructor(options) {
|
|
@@ -43,7 +44,7 @@ class NodeStuffPlugin {
|
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
/**
|
|
46
|
-
*
|
|
47
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
47
48
|
* @param {Compiler} compiler the compiler instance
|
|
48
49
|
* @returns {void}
|
|
49
50
|
*/
|
|
@@ -63,12 +64,14 @@ class NodeStuffPlugin {
|
|
|
63
64
|
);
|
|
64
65
|
|
|
65
66
|
/**
|
|
67
|
+
* Processes the provided parser.
|
|
66
68
|
* @param {JavascriptParser} parser the parser
|
|
67
69
|
* @param {NodeOptions} nodeOptions options
|
|
68
70
|
* @returns {void}
|
|
69
71
|
*/
|
|
70
72
|
const globalHandler = (parser, nodeOptions) => {
|
|
71
73
|
/**
|
|
74
|
+
* Returns const dependency.
|
|
72
75
|
* @param {Expression} expr expression
|
|
73
76
|
* @returns {ConstDependency} const dependency
|
|
74
77
|
*/
|
|
@@ -116,6 +119,7 @@ class NodeStuffPlugin {
|
|
|
116
119
|
const hooks = ImportMetaPlugin.getCompilationHooks(compilation);
|
|
117
120
|
|
|
118
121
|
/**
|
|
122
|
+
* Sets module constant.
|
|
119
123
|
* @param {JavascriptParser} parser the parser
|
|
120
124
|
* @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
|
|
121
125
|
* @param {(module: NormalModule) => string} fn function
|
|
@@ -149,6 +153,7 @@ class NodeStuffPlugin {
|
|
|
149
153
|
};
|
|
150
154
|
|
|
151
155
|
/**
|
|
156
|
+
* Sets cached module constant.
|
|
152
157
|
* @param {JavascriptParser} parser the parser
|
|
153
158
|
* @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
|
|
154
159
|
* @param {(module: NormalModule) => string} fn function
|
|
@@ -207,6 +212,7 @@ class NodeStuffPlugin {
|
|
|
207
212
|
};
|
|
208
213
|
|
|
209
214
|
/**
|
|
215
|
+
* Updates constant using the provided parser.
|
|
210
216
|
* @param {JavascriptParser} parser the parser
|
|
211
217
|
* @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
|
|
212
218
|
* @param {string} value value
|
|
@@ -230,6 +236,7 @@ class NodeStuffPlugin {
|
|
|
230
236
|
);
|
|
231
237
|
|
|
232
238
|
/**
|
|
239
|
+
* Sets url module constant.
|
|
233
240
|
* @param {JavascriptParser} parser the parser
|
|
234
241
|
* @param {"__filename" | "__dirname" | "import.meta.filename" | "import.meta.dirname"} expressionName expression name
|
|
235
242
|
* @param {"dirname" | "filename"} property property
|
|
@@ -344,6 +351,7 @@ class NodeStuffPlugin {
|
|
|
344
351
|
};
|
|
345
352
|
|
|
346
353
|
/**
|
|
354
|
+
* Dirname and filename handler.
|
|
347
355
|
* @param {JavascriptParser} parser the parser
|
|
348
356
|
* @param {NodeOptions} nodeOptions options
|
|
349
357
|
* @param {{ dirname: "__dirname" | "import.meta.dirname", filename: "__filename" | "import.meta.filename" }} identifiers options
|
|
@@ -516,6 +524,7 @@ class NodeStuffPlugin {
|
|
|
516
524
|
};
|
|
517
525
|
|
|
518
526
|
/**
|
|
527
|
+
* Handles the hook callback for this code path.
|
|
519
528
|
* @param {JavascriptParser} parser the parser
|
|
520
529
|
* @param {JavascriptParserOptions} parserOptions the javascript parser options
|
|
521
530
|
* @param {boolean} a true when we need to handle `__filename` and `__dirname`, otherwise false
|
package/lib/NormalModule.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const querystring = require("querystring");
|
|
9
|
-
const parseJson = require("json-parse-even-better-errors");
|
|
10
9
|
const { getContext, runLoaders } = require("loader-runner");
|
|
11
10
|
const {
|
|
12
11
|
AsyncSeriesBailHook,
|
|
@@ -53,6 +52,7 @@ const {
|
|
|
53
52
|
} = require("./util/identifier");
|
|
54
53
|
const makeSerializable = require("./util/makeSerializable");
|
|
55
54
|
const memoize = require("./util/memoize");
|
|
55
|
+
const parseJson = require("./util/parseJson");
|
|
56
56
|
|
|
57
57
|
/** @typedef {import("enhanced-resolve").ResolveContext} ResolveContext */
|
|
58
58
|
/** @typedef {import("enhanced-resolve").ResolveRequest} ResolveRequest */
|
|
@@ -440,6 +440,7 @@ class NormalModule extends Module {
|
|
|
440
440
|
}
|
|
441
441
|
|
|
442
442
|
/**
|
|
443
|
+
* Returns the unique identifier used to reference this module.
|
|
443
444
|
* @returns {string} a unique identifier of the module
|
|
444
445
|
*/
|
|
445
446
|
identifier() {
|
|
@@ -453,6 +454,7 @@ class NormalModule extends Module {
|
|
|
453
454
|
}
|
|
454
455
|
|
|
455
456
|
/**
|
|
457
|
+
* Returns a human-readable identifier for this module.
|
|
456
458
|
* @param {RequestShortener} requestShortener the request shortener
|
|
457
459
|
* @returns {string} a user readable identifier of the module
|
|
458
460
|
*/
|
|
@@ -468,6 +470,7 @@ class NormalModule extends Module {
|
|
|
468
470
|
}
|
|
469
471
|
|
|
470
472
|
/**
|
|
473
|
+
* Gets the library identifier.
|
|
471
474
|
* @param {LibIdentOptions} options options
|
|
472
475
|
* @returns {LibIdent | null} an identifier for library inclusion
|
|
473
476
|
*/
|
|
@@ -482,6 +485,7 @@ class NormalModule extends Module {
|
|
|
482
485
|
}
|
|
483
486
|
|
|
484
487
|
/**
|
|
488
|
+
* Returns the path used when matching this module against rule conditions.
|
|
485
489
|
* @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
|
|
486
490
|
*/
|
|
487
491
|
nameForCondition() {
|
|
@@ -722,7 +726,9 @@ class NormalModule extends Module {
|
|
|
722
726
|
if (typeof options === "string") {
|
|
723
727
|
if (options.startsWith("{") && options.endsWith("}")) {
|
|
724
728
|
try {
|
|
725
|
-
options =
|
|
729
|
+
options =
|
|
730
|
+
/** @type {LoaderItem["options"]} */
|
|
731
|
+
(parseJson(options));
|
|
726
732
|
} catch (err) {
|
|
727
733
|
throw new Error(
|
|
728
734
|
`Cannot parse string options: ${/** @type {Error} */ (err).message}`,
|
|
@@ -1245,6 +1251,7 @@ class NormalModule extends Module {
|
|
|
1245
1251
|
}
|
|
1246
1252
|
|
|
1247
1253
|
/**
|
|
1254
|
+
* Builds the module using the provided compilation context.
|
|
1248
1255
|
* @param {WebpackOptions} options webpack options
|
|
1249
1256
|
* @param {Compilation} compilation the compilation
|
|
1250
1257
|
* @param {ResolverWithOptions} resolver the resolver
|
|
@@ -1448,6 +1455,7 @@ class NormalModule extends Module {
|
|
|
1448
1455
|
}
|
|
1449
1456
|
|
|
1450
1457
|
/**
|
|
1458
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
1451
1459
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
1452
1460
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
1453
1461
|
*/
|
|
@@ -1458,6 +1466,7 @@ class NormalModule extends Module {
|
|
|
1458
1466
|
}
|
|
1459
1467
|
|
|
1460
1468
|
/**
|
|
1469
|
+
* Gets side effects connection state.
|
|
1461
1470
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
1462
1471
|
* @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
|
|
1463
1472
|
*/
|
|
@@ -1506,6 +1515,7 @@ class NormalModule extends Module {
|
|
|
1506
1515
|
}
|
|
1507
1516
|
|
|
1508
1517
|
/**
|
|
1518
|
+
* Returns the source types this module can generate.
|
|
1509
1519
|
* @returns {SourceTypes} types available (do not mutate)
|
|
1510
1520
|
*/
|
|
1511
1521
|
getSourceTypes() {
|
|
@@ -1518,6 +1528,7 @@ class NormalModule extends Module {
|
|
|
1518
1528
|
}
|
|
1519
1529
|
|
|
1520
1530
|
/**
|
|
1531
|
+
* Generates code and runtime requirements for this module.
|
|
1521
1532
|
* @param {CodeGenerationContext} context context for code generation
|
|
1522
1533
|
* @returns {CodeGenerationResult} result
|
|
1523
1534
|
*/
|
|
@@ -1596,6 +1607,7 @@ class NormalModule extends Module {
|
|
|
1596
1607
|
}
|
|
1597
1608
|
|
|
1598
1609
|
/**
|
|
1610
|
+
* Gets the original source.
|
|
1599
1611
|
* @returns {Source | null} the original source for the module before webpack transformation
|
|
1600
1612
|
*/
|
|
1601
1613
|
originalSource() {
|
|
@@ -1603,6 +1615,7 @@ class NormalModule extends Module {
|
|
|
1603
1615
|
}
|
|
1604
1616
|
|
|
1605
1617
|
/**
|
|
1618
|
+
* Invalidates the cached state associated with this value.
|
|
1606
1619
|
* @returns {void}
|
|
1607
1620
|
*/
|
|
1608
1621
|
invalidateBuild() {
|
|
@@ -1610,6 +1623,7 @@ class NormalModule extends Module {
|
|
|
1610
1623
|
}
|
|
1611
1624
|
|
|
1612
1625
|
/**
|
|
1626
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
1613
1627
|
* @param {NeedBuildContext} context context info
|
|
1614
1628
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
1615
1629
|
* @returns {void}
|
|
@@ -1669,6 +1683,7 @@ class NormalModule extends Module {
|
|
|
1669
1683
|
}
|
|
1670
1684
|
|
|
1671
1685
|
/**
|
|
1686
|
+
* Returns the estimated size for the requested source type.
|
|
1672
1687
|
* @param {string=} type the source type for which the size should be estimated
|
|
1673
1688
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
1674
1689
|
*/
|
|
@@ -1690,6 +1705,7 @@ class NormalModule extends Module {
|
|
|
1690
1705
|
}
|
|
1691
1706
|
|
|
1692
1707
|
/**
|
|
1708
|
+
* Adds the provided file dependencies to the module.
|
|
1693
1709
|
* @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
|
|
1694
1710
|
* @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
|
|
1695
1711
|
* @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
|
|
@@ -1723,6 +1739,7 @@ class NormalModule extends Module {
|
|
|
1723
1739
|
}
|
|
1724
1740
|
|
|
1725
1741
|
/**
|
|
1742
|
+
* Updates the hash with the data contributed by this instance.
|
|
1726
1743
|
* @param {Hash} hash the hash used to track dependencies
|
|
1727
1744
|
* @param {UpdateHashContext} context context
|
|
1728
1745
|
* @returns {void}
|
|
@@ -1733,6 +1750,15 @@ class NormalModule extends Module {
|
|
|
1733
1750
|
/** @type {string} */
|
|
1734
1751
|
(buildInfo.hash)
|
|
1735
1752
|
);
|
|
1753
|
+
// Clear cached source types and re-compute so that changes in incoming
|
|
1754
|
+
// connections (e.g. asset module newly referenced from JS via lazy
|
|
1755
|
+
// compilation) are reflected in the hash and trigger code generation
|
|
1756
|
+
// cache invalidation.
|
|
1757
|
+
// https://github.com/webpack/webpack/issues/20800
|
|
1758
|
+
this._sourceTypes = undefined;
|
|
1759
|
+
for (const type of this.getSourceTypes()) {
|
|
1760
|
+
hash.update(type);
|
|
1761
|
+
}
|
|
1736
1762
|
/** @type {Generator} */
|
|
1737
1763
|
(this.generator).updateHash(hash, {
|
|
1738
1764
|
module: this,
|
|
@@ -1742,6 +1768,7 @@ class NormalModule extends Module {
|
|
|
1742
1768
|
}
|
|
1743
1769
|
|
|
1744
1770
|
/**
|
|
1771
|
+
* Serializes this instance into the provided serializer context.
|
|
1745
1772
|
* @param {ObjectSerializerContext} context context
|
|
1746
1773
|
*/
|
|
1747
1774
|
serialize(context) {
|
|
@@ -1784,6 +1811,7 @@ class NormalModule extends Module {
|
|
|
1784
1811
|
}
|
|
1785
1812
|
|
|
1786
1813
|
/**
|
|
1814
|
+
* Restores this instance from the provided deserializer context.
|
|
1787
1815
|
* @param {ObjectDeserializerContext} context context
|
|
1788
1816
|
*/
|
|
1789
1817
|
deserialize(context) {
|