@depup/webpack 5.106.1-depup.0 → 5.109.2-depup.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 +9 -11
- package/bin/webpack.js +12 -0
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +153 -19
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +27 -28
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +85 -37
- package/lib/Compilation.js +656 -112
- package/lib/Compiler.js +109 -35
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +537 -139
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- 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 +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +421 -113
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +381 -80
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +701 -175
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +115 -8
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +33 -30
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -57
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +18 -4
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +519 -206
- package/lib/NormalModuleFactory.js +156 -31
- package/lib/NormalModuleReplacementPlugin.js +3 -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 +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +123 -118
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +52 -6
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +302 -12
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +612 -43
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/HoistContainerReferencesPlugin.js +47 -55
- package/lib/container/ModuleFederationPlugin.js +21 -29
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +540 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +173 -81
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +371 -208
- package/lib/css/CssParser.js +3538 -1963
- package/lib/css/syntax.js +4155 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +681 -367
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +60 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +427 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- 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} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -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 +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +53 -12
- package/lib/html/HtmlGenerator.js +1490 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1129 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9106 -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 +49 -12
- 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 +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- 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 +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +628 -198
- package/lib/javascript/JavascriptParser.js +1334 -471
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +5037 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -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 +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +22 -16
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +603 -130
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- 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 +229 -55
- package/lib/optimize/RealContentHashPlugin.js +130 -52
- 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 +381 -55
- package/lib/optimize/SplitChunksPlugin.js +200 -50
- 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 +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +687 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -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 +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +427 -1006
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +345 -59
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
- package/lib/stats/StatsFactory.js +70 -27
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- 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 +118 -7
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- 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 +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1173 -80
- 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/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +11053 -3019
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /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
package/lib/MultiCompiler.js
CHANGED
|
@@ -8,17 +8,19 @@
|
|
|
8
8
|
const asyncLib = require("neo-async");
|
|
9
9
|
const { MultiHook, SyncHook } = require("tapable");
|
|
10
10
|
|
|
11
|
-
const ConcurrentCompilationError = require("./ConcurrentCompilationError");
|
|
12
11
|
const MultiStats = require("./MultiStats");
|
|
13
12
|
const MultiWatching = require("./MultiWatching");
|
|
14
|
-
const
|
|
13
|
+
const ConcurrentCompilationError = require("./errors/ConcurrentCompilationError");
|
|
14
|
+
const WebpackError = require("./errors/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
|
*/
|
|
@@ -86,6 +92,7 @@ module.exports = class MultiCompiler {
|
|
|
86
92
|
compilers.map((c) => c.hooks.infrastructureLog)
|
|
87
93
|
)
|
|
88
94
|
});
|
|
95
|
+
/** @type {Compiler[]} */
|
|
89
96
|
this.compilers = compilers;
|
|
90
97
|
/** @type {MultiCompilerOptions} */
|
|
91
98
|
this._options = {
|
|
@@ -93,7 +100,10 @@ module.exports = class MultiCompiler {
|
|
|
93
100
|
};
|
|
94
101
|
/** @type {WeakMap<Compiler, string[]>} */
|
|
95
102
|
this.dependencies = new WeakMap();
|
|
103
|
+
/** @type {boolean} */
|
|
96
104
|
this.running = false;
|
|
105
|
+
/** @type {MultiWatching | undefined} */
|
|
106
|
+
this.watching = undefined;
|
|
97
107
|
|
|
98
108
|
/** @type {(Stats | null)[]} */
|
|
99
109
|
const compilerStats = this.compilers.map(() => null);
|
|
@@ -122,6 +132,20 @@ module.exports = class MultiCompiler {
|
|
|
122
132
|
doneCompilers--;
|
|
123
133
|
}
|
|
124
134
|
});
|
|
135
|
+
// Release fields on this child's Compilation once it's done. The
|
|
136
|
+
// stage: Infinity tap runs after every afterDone tap at a lower
|
|
137
|
+
// stage, so plugins observing compilation state in afterDone still
|
|
138
|
+
// see it intact. Stats remains usable; only fields Stats never reads
|
|
139
|
+
// (and that the persistent cache never serializes) are dropped.
|
|
140
|
+
|
|
141
|
+
compiler.hooks.afterDone.tap(
|
|
142
|
+
{ name: CLASS_NAME, stage: Infinity },
|
|
143
|
+
(stats) => {
|
|
144
|
+
if (stats !== undefined) {
|
|
145
|
+
compiler._releaseUnusedCompilationData(stats.compilation);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
);
|
|
125
149
|
}
|
|
126
150
|
this._validateCompilersOptions();
|
|
127
151
|
}
|
|
@@ -129,6 +153,7 @@ module.exports = class MultiCompiler {
|
|
|
129
153
|
_validateCompilersOptions() {
|
|
130
154
|
if (this.compilers.length < 2) return;
|
|
131
155
|
/**
|
|
156
|
+
* Adds the provided compiler to the multi compiler.
|
|
132
157
|
* @param {Compiler} compiler compiler
|
|
133
158
|
* @param {WebpackError} warning warning
|
|
134
159
|
*/
|
|
@@ -187,6 +212,7 @@ module.exports = class MultiCompiler {
|
|
|
187
212
|
}
|
|
188
213
|
|
|
189
214
|
/**
|
|
215
|
+
* Sets input file system.
|
|
190
216
|
* @param {InputFileSystem} value the new input file system
|
|
191
217
|
*/
|
|
192
218
|
set inputFileSystem(value) {
|
|
@@ -200,6 +226,7 @@ module.exports = class MultiCompiler {
|
|
|
200
226
|
}
|
|
201
227
|
|
|
202
228
|
/**
|
|
229
|
+
* Sets output file system.
|
|
203
230
|
* @param {OutputFileSystem} value the new output file system
|
|
204
231
|
*/
|
|
205
232
|
set outputFileSystem(value) {
|
|
@@ -213,6 +240,7 @@ module.exports = class MultiCompiler {
|
|
|
213
240
|
}
|
|
214
241
|
|
|
215
242
|
/**
|
|
243
|
+
* Sets watch file system.
|
|
216
244
|
* @param {WatchFileSystem} value the new watch file system
|
|
217
245
|
*/
|
|
218
246
|
set watchFileSystem(value) {
|
|
@@ -222,6 +250,7 @@ module.exports = class MultiCompiler {
|
|
|
222
250
|
}
|
|
223
251
|
|
|
224
252
|
/**
|
|
253
|
+
* Sets intermediate file system.
|
|
225
254
|
* @param {IntermediateFileSystem} value the new intermediate file system
|
|
226
255
|
*/
|
|
227
256
|
set intermediateFileSystem(value) {
|
|
@@ -235,6 +264,7 @@ module.exports = class MultiCompiler {
|
|
|
235
264
|
}
|
|
236
265
|
|
|
237
266
|
/**
|
|
267
|
+
* Gets infrastructure logger.
|
|
238
268
|
* @param {string | (() => string)} name name of the logger, or function called once to get the logger name
|
|
239
269
|
* @returns {Logger} a logger with that name
|
|
240
270
|
*/
|
|
@@ -243,6 +273,7 @@ module.exports = class MultiCompiler {
|
|
|
243
273
|
}
|
|
244
274
|
|
|
245
275
|
/**
|
|
276
|
+
* Updates dependencies using the provided compiler.
|
|
246
277
|
* @param {Compiler} compiler the child compiler
|
|
247
278
|
* @param {string[]} dependencies its dependencies
|
|
248
279
|
* @returns {void}
|
|
@@ -252,6 +283,7 @@ module.exports = class MultiCompiler {
|
|
|
252
283
|
}
|
|
253
284
|
|
|
254
285
|
/**
|
|
286
|
+
* Validate dependencies.
|
|
255
287
|
* @param {Callback<MultiStats>} callback signals when the validation is complete
|
|
256
288
|
* @returns {boolean} true if the dependencies are valid
|
|
257
289
|
*/
|
|
@@ -261,6 +293,7 @@ module.exports = class MultiCompiler {
|
|
|
261
293
|
/** @type {string[]} */
|
|
262
294
|
const missing = [];
|
|
263
295
|
/**
|
|
296
|
+
* Returns target was found.
|
|
264
297
|
* @param {Compiler} compiler compiler
|
|
265
298
|
* @returns {boolean} target was found
|
|
266
299
|
*/
|
|
@@ -273,6 +306,7 @@ module.exports = class MultiCompiler {
|
|
|
273
306
|
return false;
|
|
274
307
|
};
|
|
275
308
|
/**
|
|
309
|
+
* Returns result.
|
|
276
310
|
* @param {{ source: Compiler, target: Compiler }} e1 edge 1
|
|
277
311
|
* @param {{ source: Compiler, target: Compiler }} e2 edge 2
|
|
278
312
|
* @returns {number} result
|
|
@@ -333,6 +367,7 @@ module.exports = class MultiCompiler {
|
|
|
333
367
|
|
|
334
368
|
// TODO webpack 6 remove
|
|
335
369
|
/**
|
|
370
|
+
* Run with dependencies.
|
|
336
371
|
* @deprecated This method should have been private
|
|
337
372
|
* @param {Compiler[]} compilers the child compilers
|
|
338
373
|
* @param {RunWithDependenciesHandler} fn a handler to run for each compiler
|
|
@@ -344,11 +379,13 @@ module.exports = class MultiCompiler {
|
|
|
344
379
|
const fulfilledNames = new Set();
|
|
345
380
|
let remainingCompilers = compilers;
|
|
346
381
|
/**
|
|
382
|
+
* Checks whether this multi compiler is dependency fulfilled.
|
|
347
383
|
* @param {string} d dependency
|
|
348
384
|
* @returns {boolean} when dependency was fulfilled
|
|
349
385
|
*/
|
|
350
386
|
const isDependencyFulfilled = (d) => fulfilledNames.has(d);
|
|
351
387
|
/**
|
|
388
|
+
* Gets ready compilers.
|
|
352
389
|
* @returns {Compiler[]} compilers
|
|
353
390
|
*/
|
|
354
391
|
const getReadyCompilers = () => {
|
|
@@ -369,6 +406,7 @@ module.exports = class MultiCompiler {
|
|
|
369
406
|
return readyCompilers;
|
|
370
407
|
};
|
|
371
408
|
/**
|
|
409
|
+
* Processes the provided stat.
|
|
372
410
|
* @param {Callback<Stats[]>} callback callback
|
|
373
411
|
* @returns {void}
|
|
374
412
|
*/
|
|
@@ -392,6 +430,7 @@ module.exports = class MultiCompiler {
|
|
|
392
430
|
}
|
|
393
431
|
|
|
394
432
|
/**
|
|
433
|
+
* Returns result of setup.
|
|
395
434
|
* @template SetupResult
|
|
396
435
|
* @param {(compiler: Compiler, index: number, doneCallback: Callback<Stats>, isBlocked: () => boolean, setChanged: () => void, setInvalid: () => void) => SetupResult} setup setup a single compiler
|
|
397
436
|
* @param {(compiler: Compiler, setupResult: SetupResult, callback: Callback<Stats>) => void} run run/continue a single compiler
|
|
@@ -448,6 +487,7 @@ module.exports = class MultiCompiler {
|
|
|
448
487
|
let running = 0;
|
|
449
488
|
const parallelism = /** @type {number} */ (this._options.parallelism);
|
|
450
489
|
/**
|
|
490
|
+
* Processes the provided node.
|
|
451
491
|
* @param {Node} node node
|
|
452
492
|
* @param {(Error | null)=} err error
|
|
453
493
|
* @param {Stats=} stats result
|
|
@@ -483,6 +523,7 @@ module.exports = class MultiCompiler {
|
|
|
483
523
|
processQueue();
|
|
484
524
|
};
|
|
485
525
|
/**
|
|
526
|
+
* Node invalid from parent.
|
|
486
527
|
* @param {Node} node node
|
|
487
528
|
* @returns {void}
|
|
488
529
|
*/
|
|
@@ -497,6 +538,7 @@ module.exports = class MultiCompiler {
|
|
|
497
538
|
}
|
|
498
539
|
};
|
|
499
540
|
/**
|
|
541
|
+
* Processes the provided node.
|
|
500
542
|
* @param {Node} node node
|
|
501
543
|
* @returns {void}
|
|
502
544
|
*/
|
|
@@ -511,6 +553,7 @@ module.exports = class MultiCompiler {
|
|
|
511
553
|
}
|
|
512
554
|
};
|
|
513
555
|
/**
|
|
556
|
+
* Processes the provided node.
|
|
514
557
|
* @param {Node} node node
|
|
515
558
|
* @returns {void}
|
|
516
559
|
*/
|
|
@@ -589,6 +632,7 @@ module.exports = class MultiCompiler {
|
|
|
589
632
|
}
|
|
590
633
|
|
|
591
634
|
/**
|
|
635
|
+
* Returns a compiler watcher.
|
|
592
636
|
* @param {WatchOptions | WatchOptions[]} watchOptions the watcher's options
|
|
593
637
|
* @param {Callback<MultiStats>} handler signals when the call finishes
|
|
594
638
|
* @returns {MultiWatching | undefined} a compiler watcher
|
|
@@ -620,13 +664,16 @@ module.exports = class MultiCompiler {
|
|
|
620
664
|
},
|
|
621
665
|
handler
|
|
622
666
|
);
|
|
623
|
-
|
|
667
|
+
this.watching = new MultiWatching(watchings, this);
|
|
668
|
+
return this.watching;
|
|
624
669
|
}
|
|
625
670
|
|
|
626
|
-
|
|
671
|
+
this.watching = new MultiWatching([], this);
|
|
672
|
+
return this.watching;
|
|
627
673
|
}
|
|
628
674
|
|
|
629
675
|
/**
|
|
676
|
+
* Processes the provided multi stat.
|
|
630
677
|
* @param {Callback<MultiStats>} callback signals when the call finishes
|
|
631
678
|
* @returns {void}
|
|
632
679
|
*/
|
|
@@ -661,10 +708,18 @@ module.exports = class MultiCompiler {
|
|
|
661
708
|
}
|
|
662
709
|
|
|
663
710
|
/**
|
|
711
|
+
* Processes the provided error callback.
|
|
664
712
|
* @param {ErrorCallback} callback signals when the compiler closes
|
|
665
713
|
* @returns {void}
|
|
666
714
|
*/
|
|
667
715
|
close(callback) {
|
|
716
|
+
if (this.watching) {
|
|
717
|
+
// When there is still an active watching, close this first
|
|
718
|
+
this.watching.close((_err) => {
|
|
719
|
+
this.close(callback);
|
|
720
|
+
});
|
|
721
|
+
return;
|
|
722
|
+
}
|
|
668
723
|
asyncLib.each(
|
|
669
724
|
this.compilers,
|
|
670
725
|
(compiler, callback) => {
|
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,9 +32,11 @@ 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) {
|
|
39
|
+
/** @type {Stats[]} */
|
|
37
40
|
this.stats = stats;
|
|
38
41
|
}
|
|
39
42
|
|
|
@@ -42,6 +45,7 @@ class MultiStats {
|
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
/**
|
|
48
|
+
* Checks whether this multi stats has errors.
|
|
45
49
|
* @returns {boolean} true if a child compilation encountered an error
|
|
46
50
|
*/
|
|
47
51
|
hasErrors() {
|
|
@@ -49,6 +53,7 @@ class MultiStats {
|
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
/**
|
|
56
|
+
* Checks whether this multi stats has warnings.
|
|
52
57
|
* @returns {boolean} true if a child compilation had a warning
|
|
53
58
|
*/
|
|
54
59
|
hasWarnings() {
|
|
@@ -56,6 +61,7 @@ class MultiStats {
|
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
/**
|
|
64
|
+
* Create child options.
|
|
59
65
|
* @param {undefined | StatsValue} options stats options
|
|
60
66
|
* @param {CreateStatsOptionsContext} context context
|
|
61
67
|
* @returns {ChildOptions} context context
|
|
@@ -109,6 +115,7 @@ class MultiStats {
|
|
|
109
115
|
}
|
|
110
116
|
|
|
111
117
|
/**
|
|
118
|
+
* Returns json output.
|
|
112
119
|
* @param {StatsValue=} options stats options
|
|
113
120
|
* @returns {StatsCompilation} json output
|
|
114
121
|
*/
|
|
@@ -138,6 +145,7 @@ class MultiStats {
|
|
|
138
145
|
obj.hash = obj.children.map((j) => j.hash).join("");
|
|
139
146
|
}
|
|
140
147
|
/**
|
|
148
|
+
* Returns result.
|
|
141
149
|
* @param {StatsCompilation} j stats error
|
|
142
150
|
* @param {StatsError} obj Stats error
|
|
143
151
|
* @returns {StatsError} result
|
|
@@ -184,6 +192,7 @@ class MultiStats {
|
|
|
184
192
|
}
|
|
185
193
|
|
|
186
194
|
/**
|
|
195
|
+
* Returns a string representation.
|
|
187
196
|
* @param {StatsValue=} options stats options
|
|
188
197
|
* @returns {string} string output
|
|
189
198
|
*/
|
package/lib/MultiWatching.js
CHANGED
|
@@ -13,15 +13,19 @@ 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
|
*/
|
|
19
20
|
constructor(watchings, compiler) {
|
|
21
|
+
/** @type {Watching[]} */
|
|
20
22
|
this.watchings = watchings;
|
|
23
|
+
/** @type {MultiCompiler} */
|
|
21
24
|
this.compiler = compiler;
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
/**
|
|
28
|
+
* Processes the provided error callback.
|
|
25
29
|
* @param {ErrorCallback=} callback signals when the build has completed again
|
|
26
30
|
* @returns {void}
|
|
27
31
|
*/
|
|
@@ -54,6 +58,7 @@ class MultiWatching {
|
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
/**
|
|
61
|
+
* Processes the provided error callback.
|
|
57
62
|
* @param {ErrorCallback} callback signals when the watcher is closed
|
|
58
63
|
* @returns {void}
|
|
59
64
|
*/
|
|
@@ -64,6 +69,7 @@ class MultiWatching {
|
|
|
64
69
|
watching.close(finishedCallback);
|
|
65
70
|
},
|
|
66
71
|
(err) => {
|
|
72
|
+
if (this.compiler.watching === this) this.compiler.watching = undefined;
|
|
67
73
|
this.compiler.hooks.watchClose.call();
|
|
68
74
|
if (typeof callback === "function") {
|
|
69
75
|
this.compiler.running = false;
|