webpack 5.111.0 → 5.112.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 +1 -1
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +237 -138
- package/lib/Compiler.js +23 -24
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -69
- package/lib/EntryPlugin.js +3 -68
- package/lib/Entrypoint.js +3 -121
- package/lib/ExternalsPlugin.js +3 -92
- package/lib/FileSystemInfo.js +3 -4629
- package/lib/InitFragment.js +3 -204
- package/lib/LibraryTemplatePlugin.js +3 -46
- package/lib/ModuleFilenameHelpers.js +3 -400
- package/lib/ModuleNotFoundError.js +2 -2
- package/lib/MultiCompiler.js +43 -24
- package/lib/NormalModule.js +3 -2190
- package/lib/NullFactory.js +3 -22
- package/lib/ProgressPlugin.js +3 -908
- package/lib/RawModule.js +3 -197
- package/lib/RequestShortener.js +3 -37
- package/lib/SingleEntryPlugin.js +1 -1
- package/lib/WebpackError.js +2 -2
- package/lib/asset/AssetBytesGenerator.js +15 -9
- package/lib/asset/AssetBytesParser.js +3 -3
- package/lib/asset/AssetGenerator.js +61 -38
- package/lib/asset/AssetModule.js +2 -2
- package/lib/asset/AssetModulesPlugin.js +6 -9
- package/lib/asset/AssetParser.js +3 -3
- package/lib/asset/AssetSourceGenerator.js +15 -9
- package/lib/asset/AssetSourceParser.js +3 -3
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +7 -7
- package/lib/asset/WebManifestParser.js +5 -5
- package/lib/async-modules/AsyncModuleHelpers.js +6 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +4 -3
- package/lib/async-modules/isGeneratorLowered.js +3 -3
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
- package/lib/{Cache.js → cache/Cache.js} +1 -1
- package/lib/{CacheFacade.js → cache/CacheFacade.js} +5 -5
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +6 -6
- package/lib/cache/MemoryWithGcCachePlugin.js +9 -10
- package/lib/cache/PackFileCacheStrategy.js +11 -28
- package/lib/cache/ResolverCachePlugin.js +8 -4
- package/lib/cache/getLazyHashedEtag.js +3 -5
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
- package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
- package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +217 -200
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +3 -9
- package/lib/{cli.js → config/cli.js} +5 -158
- package/lib/config/defaults.js +192 -122
- package/lib/config/getClaimedAssetTypes.js +28 -21
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +13 -4
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +13 -11
- package/lib/container/ContainerEntryModuleFactory.js +2 -2
- package/lib/container/ContainerExposedDependency.js +1 -1
- package/lib/container/ContainerPlugin.js +178 -5
- package/lib/container/ContainerReferencePlugin.js +75 -14
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackItemDependency.js +1 -1
- package/lib/container/FallbackModule.js +12 -10
- package/lib/container/FallbackModuleFactory.js +2 -2
- package/lib/container/HoistContainerReferencesPlugin.js +10 -11
- package/lib/container/ModuleFederationPlugin.js +306 -7
- package/lib/container/RemoteModule.js +14 -10
- package/lib/container/RemoteRuntimeModule.js +5 -5
- package/lib/container/RemoteToExternalDependency.js +1 -1
- package/lib/container/moduleFederationHooks.js +1 -1
- package/lib/{ContextExclusionPlugin.js → context/ContextExclusionPlugin.js} +1 -1
- package/lib/{ContextModule.js → context/ContextModule.js} +50 -36
- package/lib/{ContextModuleFactory.js → context/ContextModuleFactory.js} +25 -24
- package/lib/{ContextReplacementPlugin.js → context/ContextReplacementPlugin.js} +4 -4
- package/lib/css/CssGenerator.js +57 -42
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +27 -29
- package/lib/css/CssModulesPlugin.js +128 -44
- package/lib/css/CssParser.js +700 -311
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/css/cssMinify.js +130 -54
- package/lib/css/data.js +7017 -4648
- package/lib/css/syntax-parser.js +19873 -0
- package/lib/css/syntax-printer.js +6037 -0
- package/lib/css/syntax.js +37 -17370
- package/lib/debug/ProfilingPlugin.js +55 -23
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +25 -29
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/ConstDependency.js +3 -120
- package/lib/dependencies/ContextElementDependency.js +5 -172
- package/lib/dependencies/NullDependency.js +3 -37
- package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
- package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
- package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
- package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
- package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
- package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
- package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
- package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
- package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
- package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
- package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
- package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
- package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
- package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
- package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +176 -44
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +39 -35
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
- package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
- package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
- package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +19 -20
- package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
- package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
- package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +5 -5
- package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
- package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
- package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
- package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
- package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
- package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
- package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
- package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
- package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
- package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
- package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
- package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
- package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +34 -18
- package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
- package/lib/dependencies/context/ContextElementDependency.js +198 -0
- package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +9 -9
- package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
- package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +4 -4
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
- package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
- package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
- package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
- package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +12 -11
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -100
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +26 -22
- package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
- package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
- package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +26 -21
- package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
- package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
- package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
- package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +40 -41
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +22 -21
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +62 -93
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +83 -49
- package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
- package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
- package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +136 -122
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +68 -43
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +68 -65
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +199 -97
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +86 -43
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +110 -61
- package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
- package/lib/{util → dependencies/helpers}/chainedImports.js +8 -9
- package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
- package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
- package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +125 -243
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +72 -23
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +53 -19
- package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
- package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
- package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
- package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
- package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +20 -20
- package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
- package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
- package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
- package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +126 -107
- package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
- package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
- package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
- package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
- package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +34 -25
- package/lib/{url → dependencies/url}/URLParserPlugin.js +22 -26
- package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
- package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
- package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
- package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
- package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +46 -54
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +28 -20
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +25 -27
- package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
- package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
- package/lib/devtool/ModuleFilenameHelpers.js +413 -0
- package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
- package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +207 -129
- package/lib/{util → devtool}/generateDebugId.js +1 -1
- package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
- package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
- package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
- package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
- package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
- package/lib/dll/DelegatedModule.js +20 -18
- package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
- package/lib/dll/DelegatedPlugin.js +1 -1
- package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
- package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
- package/lib/dll/DllEntryPlugin.js +3 -3
- package/lib/dll/DllModule.js +11 -9
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +102 -26
- package/lib/dll/LibManifestPlugin.js +9 -7
- package/lib/electron/ElectronTargetPlugin.js +2 -2
- package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
- package/lib/{dependencies → entry}/EntryDependency.js +11 -2
- package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
- package/lib/entry/EntryPlugin.js +75 -0
- package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
- package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
- package/lib/errors/DeprecatedOptionWarning.js +30 -0
- package/lib/errors/DllManifestError.js +26 -0
- package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
- package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
- package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/ErrorHelpers.js +222 -0
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +6 -5
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
- package/lib/errors/ModuleBuildError.js +1 -1
- package/lib/errors/ModuleDependencyError.js +2 -2
- package/lib/errors/ModuleDependencyWarning.js +2 -2
- package/lib/errors/ModuleError.js +1 -1
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +3 -3
- package/lib/errors/ModuleParseError.js +1 -1
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/ModuleWarning.js +1 -1
- package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
- package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
- package/lib/errors/NodeStuffInWebError.js +7 -2
- package/lib/errors/PathVariableError.js +31 -0
- package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
- package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
- package/lib/errors/RuntimeModuleGenerationError.js +51 -0
- package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
- package/lib/errors/SystemImportDeprecationWarning.js +43 -0
- package/lib/errors/UnmergeableEntryExportsError.js +34 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
- package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
- package/lib/errors/WebpackError.js +12 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +85 -63
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
- package/lib/externals/ExternalsPlugin.js +99 -0
- package/lib/fs/FileSystemInfo.js +4642 -0
- package/lib/{util → fs}/fs.js +22 -9
- package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
- package/lib/graph/Chunk.js +985 -0
- package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +187 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +628 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +151 -99
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +36 -39
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +163 -72
- package/lib/{util → graph}/findGraphRoots.js +20 -21
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +49 -47
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +34 -26
- package/lib/html/HtmlGenerator.js +168 -125
- package/lib/html/HtmlModule.js +6 -2
- package/lib/html/HtmlModulesPlugin.js +260 -215
- package/lib/html/HtmlParser.js +598 -292
- package/lib/html/builtinEmbeddedRenderer.js +60 -13
- package/lib/html/data.js +23 -1
- package/lib/html/htmlMinify.js +120 -51
- package/lib/html/syntax-parser.js +15796 -0
- package/lib/html/syntax-printer.js +1034 -0
- package/lib/html/syntax.js +37 -14062
- package/lib/html/xmlMinify.js +67 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +31 -4
- package/lib/ids/IdHelpers.js +4 -4
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
- package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
- package/lib/ids/SyncModuleIdsPlugin.js +3 -3
- package/lib/{util → ids}/numberHash.js +1 -1
- package/lib/index.js +348 -99
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +29 -30
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +4 -4
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +10 -11
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +90 -139
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +25 -18
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
- package/lib/javascript/JavascriptModule.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +458 -256
- package/lib/javascript/JavascriptParser.js +916 -287
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3840 -5
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
- package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
- package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
- package/lib/javascript/data.js +533 -122
- package/lib/javascript/jsMinify.js +272 -0
- package/lib/javascript/regexp.js +67 -32
- package/lib/javascript/syntax-parser.js +18561 -0
- package/lib/javascript/syntax-printer-data.js +933 -0
- package/lib/javascript/syntax-printer.js +47106 -0
- package/lib/javascript/syntax.js +20 -10946
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +17 -11
- package/lib/json/JsonModule.js +2 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -5
- package/lib/json/jsonMinify.js +69 -0
- package/lib/library/AbstractLibraryPlugin.js +28 -15
- package/lib/library/AmdLibraryPlugin.js +4 -4
- package/lib/library/AssignLibraryPlugin.js +27 -11
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +1 -1
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +207 -285
- package/lib/library/SystemLibraryPlugin.js +6 -8
- package/lib/library/UmdLibraryPlugin.js +3 -4
- package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
- package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
- package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
- package/lib/{dependencies → loaders}/LoaderPlugin.js +27 -2
- package/lib/loaders/LoaderRunner.js +160 -22
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/logging/Logger.js +7 -9
- package/lib/logging/ProgressPlugin.js +957 -0
- package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
- package/lib/{Generator.js → module/Generator.js} +38 -14
- package/lib/{Module.js → module/Module.js} +122 -54
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2348 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +3 -3
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +2 -2
- package/lib/{util → module}/findCaseMismatch.js +2 -2
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
- package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
- package/lib/node/NodeEnvironmentPlugin.js +11 -1
- package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
- package/lib/node/NodeTargetPlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +61 -15
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
- package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +2 -4
- package/lib/optimize/AggressiveMergingPlugin.js +5 -7
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
- package/lib/optimize/ConcatenatedModule.js +305 -309
- package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
- package/lib/optimize/ConstExportsPlugin.js +7 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
- package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +25 -30
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +26 -30
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +5 -13
- package/lib/optimize/InlineExports.js +11 -3
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +17 -23
- package/lib/optimize/LazyBarrels.js +584 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +21 -15
- package/lib/optimize/MangleExportsPlugin.js +8 -9
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +23 -16
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +16 -7
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +25 -37
- package/lib/optimize/SplitChunksPlugin.js +715 -159
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +25 -30
- package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
- package/lib/{CleanPlugin.js → output/CleanPlugin.js} +66 -24
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
- package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
- package/lib/output/SSRManifestPlugin.js +349 -0
- package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
- package/lib/performance/BroadContextsPlugin.js +4 -4
- package/lib/performance/CacheEffectivenessPlugin.js +5 -7
- package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
- package/lib/performance/DuplicateModulesPlugin.js +3 -4
- package/lib/performance/DuplicatePackagesPlugin.js +3 -3
- package/lib/performance/DynamicExportsPlugin.js +2 -2
- package/lib/performance/EvalUsagePlugin.js +3 -3
- package/lib/performance/HotspotsPlugin.js +11 -10
- package/lib/performance/LargeModulesPlugin.js +2 -3
- package/lib/performance/LegacyJavascriptPlugin.js +1 -2
- package/lib/performance/MissingSideEffectsPlugin.js +2 -3
- package/lib/performance/MissingSourceMapsPlugin.js +5 -6
- package/lib/performance/PureAnnotationsPlugin.js +3 -3
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +13 -16
- package/lib/performance/TopLevelThisPlugin.js +8 -7
- package/lib/performance/UnsplitVendorsPlugin.js +1 -2
- package/lib/performance/UnusedAliasesPlugin.js +6 -7
- package/lib/performance/UnusedAssetsPlugin.js +5 -5
- package/lib/performance/UnusedDefinesPlugin.js +2 -2
- package/lib/performance/UnusedExternalsPlugin.js +3 -4
- package/lib/performance/UnusedFederationPlugin.js +2 -4
- package/lib/performance/UnusedModulesPlugin.js +5 -4
- package/lib/performance/getModuleSize.js +1 -1
- package/lib/performance/hasOnlyUnusedExports.js +4 -4
- package/lib/performance/isOnlyReexported.js +7 -6
- package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +7 -9
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
- package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
- package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +82 -65
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -13
- package/lib/prefetch/parseResourceHintOptions.js +4 -3
- package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
- package/lib/{dependencies → provide}/ProvidedDependency.js +14 -13
- package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
- package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
- package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
- package/lib/resolve/getResolveOptionsKey.js +59 -0
- package/lib/rules/RuleSetCompiler.js +27 -46
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +10 -9
- package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
- package/lib/runtime/BaseUriRuntimeModule.js +3 -3
- package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +4 -4
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
- package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
- package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +9 -10
- package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
- package/lib/runtime/GlobalRuntimeModule.js +5 -7
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
- package/lib/runtime/HelperRuntimeModule.js +16 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +135 -102
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/NonceRuntimeModule.js +2 -2
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
- package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +18 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -50
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
- package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
- package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
- package/lib/runtime/SystemContextRuntimeModule.js +2 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
- package/lib/runtime/WorkerRuntimeModule.js +1 -1
- package/lib/runtime/baseUri.js +1 -1
- package/lib/schemes/DataUriPlugin.js +4 -7
- package/lib/schemes/HttpUriPlugin.js +67 -11
- package/lib/schemes/VirtualUrlPlugin.js +50 -16
- package/lib/serialization/AggregateErrorSerializer.js +2 -2
- package/lib/serialization/BinaryMiddleware.js +9 -9
- package/lib/serialization/FileMiddleware.js +19 -19
- package/lib/serialization/ObjectMiddleware.js +77 -49
- package/lib/serialization/SerializerMiddleware.js +2 -2
- package/lib/serialization/SingleItemMiddleware.js +4 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
- package/lib/sharing/ConsumeSharedModule.js +18 -14
- package/lib/sharing/ConsumeSharedPlugin.js +148 -42
- package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
- package/lib/sharing/ProvideForSharedDependency.js +9 -1
- package/lib/sharing/ProvideSharedDependency.js +1 -1
- package/lib/sharing/ProvideSharedModule.js +11 -9
- package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
- package/lib/sharing/ProvideSharedPlugin.js +111 -20
- package/lib/sharing/SharePlugin.js +102 -9
- package/lib/sharing/ShareRuntimeModule.js +6 -6
- package/lib/sharing/resolveMatchedConfigs.js +1 -1
- package/lib/{util → sharing}/semver.js +19 -19
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +25 -23
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +14 -13
- package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
- package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
- package/lib/template/DependencyTemplate.js +77 -0
- package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
- package/lib/template/InitFragment.js +223 -0
- package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
- package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
- package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
- package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +178 -106
- package/lib/{Template.js → template/Template.js} +13 -11
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +35 -82
- package/lib/typescript/TypeScriptPlugin.js +5 -6
- package/lib/util/LocConverter.js +4 -7
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +364 -66
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +10 -12
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/comparators.js +10 -10
- package/lib/util/concatenate.js +32 -151
- package/lib/util/createHooksRegistry.js +1 -2
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +96 -18
- package/lib/util/deprecation.js +1 -1
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +197 -16
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/hash/wasm-hash.js +3 -4
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +295 -103
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +23 -4
- package/lib/util/parseJson.js +1 -1
- package/lib/util/preloadModuleType.js +5 -2
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/removeBOM.js +1 -1
- package/lib/util/runtime.js +1 -1
- package/lib/util/serialization.js +4 -1
- package/lib/util/source.js +2 -2
- package/lib/util/terminalColors.js +161 -0
- package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmModule.js +9 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +11 -6
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +16 -11
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +11 -12
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +15 -9
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +19 -16
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +6 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +8 -9
- package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
- package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
- package/lib/{Watching.js → watch/Watching.js} +8 -8
- package/lib/web/FetchCompileAsyncWasmPlugin.js +8 -6
- package/lib/web/FetchCompileWasmPlugin.js +6 -4
- package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
- package/lib/web/JsonpTemplatePlugin.js +1 -1
- package/lib/webpack.js +27 -17
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
- package/package.json +70 -40
- package/schemas/WebpackOptions.check.js +2 -1
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +294 -74
- package/schemas/plugins/BannerPlugin.check.js +2 -1
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
- package/schemas/plugins/HtmlParserOptions.check.js +2 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -0
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +2 -1
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
- package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssParserOptions.check.js +1 -0
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +13915 -8414
- package/lib/ErrorHelpers.js +0 -107
- package/lib/LazyBarrel.js +0 -388
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
- package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
- package/lib/javascript/ChunkFormatHelpers.js +0 -71
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1494
- package/lib/javascript/regexpData.js +0 -51
- package/lib/performance/getSourceModules.js +0 -22
- package/lib/util/Semaphore.js +0 -65
- package/lib/util/objectToMap.js +0 -15
- package/schemas/WebpackOptions.check.d.ts +0 -7
- package/schemas/_container.json +0 -155
- package/schemas/_sharing.json +0 -118
- package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
- package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
- package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
- /package/lib/{util → css}/conventions.js +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
package/lib/Compilation.js
CHANGED
|
@@ -17,36 +17,35 @@ const {
|
|
|
17
17
|
SyncWaterfallHook
|
|
18
18
|
} = require("tapable");
|
|
19
19
|
const { CachedSource } = require("webpack-sources");
|
|
20
|
-
const { MultiItemCache } = require("./CacheFacade");
|
|
21
|
-
const
|
|
22
|
-
const ChunkGraph = require("./ChunkGraph");
|
|
23
|
-
const ChunkGroup = require("./ChunkGroup");
|
|
24
|
-
const ChunkTemplate = require("./ChunkTemplate");
|
|
25
|
-
const CodeGenerationResults = require("./CodeGenerationResults");
|
|
26
|
-
const Dependency = require("./Dependency");
|
|
27
|
-
const DependencyTemplates = require("./DependencyTemplates");
|
|
28
|
-
const Entrypoint = require("./Entrypoint");
|
|
29
|
-
const ErrorHelpers = require("./ErrorHelpers");
|
|
30
|
-
const FileSystemInfo = require("./FileSystemInfo");
|
|
31
|
-
const LazyBarrelController = require("./LazyBarrel");
|
|
32
|
-
const MainTemplate = require("./MainTemplate");
|
|
33
|
-
const Module = require("./Module");
|
|
34
|
-
const ModuleGraph = require("./ModuleGraph");
|
|
35
|
-
const ModuleProfile = require("./ModuleProfile");
|
|
36
|
-
const ModuleTemplate = require("./ModuleTemplate");
|
|
37
|
-
const { WEBPACK_MODULE_TYPE_RUNTIME } = require("./ModuleTypeConstants");
|
|
38
|
-
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
39
|
-
const RuntimeTemplate = require("./RuntimeTemplate");
|
|
40
|
-
const Stats = require("./Stats");
|
|
41
|
-
const buildChunkGraph = require("./buildChunkGraph");
|
|
20
|
+
const { MultiItemCache } = require("./cache/CacheFacade");
|
|
21
|
+
const ErrorHelpers = require("./errors/ErrorHelpers");
|
|
42
22
|
const {
|
|
43
23
|
makeWebpackError,
|
|
44
24
|
tryRunOrWebpackError
|
|
45
25
|
} = require("./errors/HookWebpackError");
|
|
46
26
|
const WebpackError = require("./errors/WebpackError");
|
|
27
|
+
const FileSystemInfo = require("./fs/FileSystemInfo");
|
|
28
|
+
const Chunk = require("./graph/Chunk");
|
|
29
|
+
const ChunkGraph = require("./graph/ChunkGraph");
|
|
30
|
+
const ChunkGroup = require("./graph/ChunkGroup");
|
|
31
|
+
const Dependency = require("./graph/Dependency");
|
|
32
|
+
const Entrypoint = require("./graph/Entrypoint");
|
|
33
|
+
const ModuleGraph = require("./graph/ModuleGraph");
|
|
34
|
+
const buildChunkGraph = require("./graph/buildChunkGraph");
|
|
47
35
|
const { LogType, Logger } = require("./logging/Logger");
|
|
36
|
+
const CodeGenerationResults = require("./module/CodeGenerationResults");
|
|
37
|
+
const Module = require("./module/Module");
|
|
38
|
+
const ModuleProfile = require("./module/ModuleProfile");
|
|
39
|
+
const LazyBarrels = require("./optimize/LazyBarrels");
|
|
40
|
+
const RuntimeGlobals = require("./runtime/RuntimeGlobals");
|
|
41
|
+
const Stats = require("./stats/Stats");
|
|
48
42
|
const StatsFactory = require("./stats/StatsFactory");
|
|
49
43
|
const StatsPrinter = require("./stats/StatsPrinter");
|
|
44
|
+
const ChunkTemplate = require("./template/ChunkTemplate");
|
|
45
|
+
const DependencyTemplates = require("./template/DependencyTemplates");
|
|
46
|
+
const MainTemplate = require("./template/MainTemplate");
|
|
47
|
+
const ModuleTemplate = require("./template/ModuleTemplate");
|
|
48
|
+
const RuntimeTemplate = require("./template/RuntimeTemplate");
|
|
50
49
|
const { equals: arrayEquals } = require("./util/ArrayHelpers");
|
|
51
50
|
const AsyncQueue = require("./util/AsyncQueue");
|
|
52
51
|
const LazySet = require("./util/LazySet");
|
|
@@ -103,6 +102,8 @@ const getChunkRenderError = memoize(() => require("./errors/ChunkRenderError"));
|
|
|
103
102
|
|
|
104
103
|
const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
105
104
|
|
|
105
|
+
const { toError } = ErrorHelpers;
|
|
106
|
+
|
|
106
107
|
/** @import { Source } from "webpack-sources" */
|
|
107
108
|
/**
|
|
108
109
|
* @import {
|
|
@@ -121,11 +122,11 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
121
122
|
* OutputNormalizedWithDefaults as OutputOptionsWithDefaults
|
|
122
123
|
* } from "./config/defaults"
|
|
123
124
|
*/
|
|
124
|
-
/** @import AsyncDependenciesBlock from "./AsyncDependenciesBlock" */
|
|
125
|
-
/** @import Cache from "./Cache" */
|
|
126
|
-
/** @import CacheFacade from "./CacheFacade" */
|
|
127
|
-
/** @import { ChunkName, ChunkId } from "./Chunk" */
|
|
128
|
-
/** @import { ChunkGroupOptions } from "./ChunkGroup" */
|
|
125
|
+
/** @import AsyncDependenciesBlock from "./graph/AsyncDependenciesBlock" */
|
|
126
|
+
/** @import Cache from "./cache/Cache" */
|
|
127
|
+
/** @import CacheFacade from "./cache/CacheFacade" */
|
|
128
|
+
/** @import { ChunkName, ChunkId } from "./graph/Chunk" */
|
|
129
|
+
/** @import { ChunkGroupOptions } from "./graph/ChunkGroup" */
|
|
129
130
|
/**
|
|
130
131
|
* @import Compiler, {
|
|
131
132
|
* CompilationParams,
|
|
@@ -135,9 +136,9 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
135
136
|
* Records
|
|
136
137
|
* } from "./Compiler"
|
|
137
138
|
*/
|
|
138
|
-
/** @import DependenciesBlock from "./DependenciesBlock" */
|
|
139
|
-
/** @import { DependencyLocation, ReferencedExports } from "./Dependency" */
|
|
140
|
-
/** @typedef {import("./Entrypoint").EntryOptions} EntryOptions */
|
|
139
|
+
/** @import DependenciesBlock from "./graph/DependenciesBlock" */
|
|
140
|
+
/** @import { DependencyLocation, ReferencedExports } from "./graph/Dependency" */
|
|
141
|
+
/** @typedef {import("./graph/Entrypoint").EntryOptions} EntryOptions */
|
|
141
142
|
/**
|
|
142
143
|
* @import {
|
|
143
144
|
* NameForCondition,
|
|
@@ -148,7 +149,7 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
148
149
|
* SourceType,
|
|
149
150
|
* FactoryMeta,
|
|
150
151
|
* CodeGenerationResult
|
|
151
|
-
* } from "./Module"
|
|
152
|
+
* } from "./module/Module"
|
|
152
153
|
*/
|
|
153
154
|
/**
|
|
154
155
|
* @import NormalModule, {
|
|
@@ -156,19 +157,25 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
156
157
|
* AnyLoaderContext,
|
|
157
158
|
* ParserOptions,
|
|
158
159
|
* GeneratorOptions
|
|
159
|
-
* } from "./NormalModule"
|
|
160
|
+
* } from "./module/NormalModule"
|
|
160
161
|
*/
|
|
161
162
|
/**
|
|
162
163
|
* @import ModuleFactory, {
|
|
163
164
|
* ModuleFactoryCreateDataContextInfo,
|
|
164
165
|
* ModuleFactoryResult
|
|
165
|
-
* } from "./ModuleFactory"
|
|
166
|
+
* } from "./module/ModuleFactory"
|
|
167
|
+
*/
|
|
168
|
+
/** @import { ModuleId } from "./graph/ChunkGraph" */
|
|
169
|
+
/** @import ModuleGraphConnection from "./graph/ModuleGraphConnection" */
|
|
170
|
+
/** @import RequestShortener from "./util/RequestShortener" */
|
|
171
|
+
/** @import RuntimeModule from "./runtime/RuntimeModule" */
|
|
172
|
+
/**
|
|
173
|
+
* @import {
|
|
174
|
+
* RenderManifestEntry,
|
|
175
|
+
* RenderManifestEntryTemplated,
|
|
176
|
+
* RenderManifestOptions
|
|
177
|
+
* } from "./template/Template"
|
|
166
178
|
*/
|
|
167
|
-
/** @import { ModuleId } from "./ChunkGraph" */
|
|
168
|
-
/** @import ModuleGraphConnection from "./ModuleGraphConnection" */
|
|
169
|
-
/** @import RequestShortener from "./RequestShortener" */
|
|
170
|
-
/** @import RuntimeModule from "./RuntimeModule" */
|
|
171
|
-
/** @import { RenderManifestEntry, RenderManifestOptions } from "./Template" */
|
|
172
179
|
|
|
173
180
|
/**
|
|
174
181
|
* One language's source embedded in another's output.
|
|
@@ -199,7 +206,7 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
199
206
|
* @typedef {import("./util/deprecation").FakeHook<T>} FakeHook<T>
|
|
200
207
|
*/
|
|
201
208
|
/** @import { RuntimeSpec } from "./util/runtime" */
|
|
202
|
-
/** @import { InputFileSystem } from "./
|
|
209
|
+
/** @import { InputFileSystem } from "./fs/fs" */
|
|
203
210
|
|
|
204
211
|
/**
|
|
205
212
|
* Defines the callback callback.
|
|
@@ -544,9 +551,7 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
544
551
|
/** @type {AssetInfo} */
|
|
545
552
|
const EMPTY_ASSET_INFO = Object.freeze({});
|
|
546
553
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
// TODO webpack 6: remove
|
|
554
|
+
// TODO in the next major release: remove
|
|
550
555
|
const deprecatedNormalModuleLoaderHook = util.deprecate(
|
|
551
556
|
/**
|
|
552
557
|
* Handles the callback logic for this hook.
|
|
@@ -554,12 +559,12 @@ const deprecatedNormalModuleLoaderHook = util.deprecate(
|
|
|
554
559
|
* @returns {NormalModuleCompilationHooks["loader"]} hooks
|
|
555
560
|
*/
|
|
556
561
|
(compilation) =>
|
|
557
|
-
require("./NormalModule").getCompilationHooks(compilation).loader,
|
|
562
|
+
require("./module/NormalModule").getCompilationHooks(compilation).loader,
|
|
558
563
|
"Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader",
|
|
559
564
|
"DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK"
|
|
560
565
|
);
|
|
561
566
|
|
|
562
|
-
// TODO
|
|
567
|
+
// TODO in the next major release: remove
|
|
563
568
|
/**
|
|
564
569
|
* Define removed module templates.
|
|
565
570
|
* @param {ModuleTemplates | undefined} moduleTemplates module templates
|
|
@@ -650,7 +655,7 @@ const reduceAffectType = (connections) => {
|
|
|
650
655
|
return affected;
|
|
651
656
|
};
|
|
652
657
|
|
|
653
|
-
/** @typedef {{ id: ModuleId, modules?: Map<Module,
|
|
658
|
+
/** @typedef {{ id: ModuleId, modules?: Map<Module, string>, blocks?: (ChunkId | null)[], sourceTypes?: SourceTypes }} References */
|
|
654
659
|
/** @typedef {Map<Module, WeakTupleMap<EXPECTED_ANY[], EXPECTED_ANY>>} ModuleMemCaches */
|
|
655
660
|
/** @typedef {{ chunk: Chunk, load: () => Promise<EXPECTED_ANY>, create: (loaded: EXPECTED_ANY) => RuntimeModule, chunkGraph: ChunkGraph }} PendingRuntimeModule */
|
|
656
661
|
|
|
@@ -1098,7 +1103,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1098
1103
|
shouldGenerateChunkAssets: new SyncBailHook([]),
|
|
1099
1104
|
/** @type {SyncHook<[]>} */
|
|
1100
1105
|
beforeChunkAssets: new SyncHook([]),
|
|
1101
|
-
// TODO
|
|
1106
|
+
// TODO in the next major release: remove
|
|
1102
1107
|
/** @deprecated */
|
|
1103
1108
|
additionalChunkAssets:
|
|
1104
1109
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[Chunks]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1111,7 +1116,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1111
1116
|
)
|
|
1112
1117
|
),
|
|
1113
1118
|
|
|
1114
|
-
// TODO
|
|
1119
|
+
// TODO in the next major release: deprecate
|
|
1115
1120
|
/** @deprecated */
|
|
1116
1121
|
additionalAssets:
|
|
1117
1122
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1122,7 +1127,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1122
1127
|
() => []
|
|
1123
1128
|
)
|
|
1124
1129
|
),
|
|
1125
|
-
// TODO
|
|
1130
|
+
// TODO in the next major release: remove
|
|
1126
1131
|
/** @deprecated */
|
|
1127
1132
|
optimizeChunkAssets:
|
|
1128
1133
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[Chunks]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1134,7 +1139,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1134
1139
|
"DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS"
|
|
1135
1140
|
)
|
|
1136
1141
|
),
|
|
1137
|
-
// TODO
|
|
1142
|
+
// TODO in the next major release: remove
|
|
1138
1143
|
/** @deprecated */
|
|
1139
1144
|
afterOptimizeChunkAssets:
|
|
1140
1145
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[Chunks]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1146,10 +1151,10 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1146
1151
|
"DEP_WEBPACK_COMPILATION_AFTER_OPTIMIZE_CHUNK_ASSETS"
|
|
1147
1152
|
)
|
|
1148
1153
|
),
|
|
1149
|
-
// TODO
|
|
1154
|
+
// TODO in the next major release: deprecate
|
|
1150
1155
|
/** @deprecated */
|
|
1151
1156
|
optimizeAssets: processAssetsHook,
|
|
1152
|
-
// TODO
|
|
1157
|
+
// TODO in the next major release: deprecate
|
|
1153
1158
|
/** @deprecated */
|
|
1154
1159
|
afterOptimizeAssets: afterProcessAssetsHook,
|
|
1155
1160
|
|
|
@@ -1461,6 +1466,10 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1461
1466
|
this._restoredUnsafeCacheEntries = new Map();
|
|
1462
1467
|
/** @type {WeakSet<Module>} */
|
|
1463
1468
|
this.builtModules = new WeakSet();
|
|
1469
|
+
// a module whose dependency failed to resolve reports nothing for it now,
|
|
1470
|
+
// but will once the target exists, which needs no module to be rebuilt
|
|
1471
|
+
/** @type {Set<Module>} */
|
|
1472
|
+
this._modulesWithUnresolvedDependencies = new Set();
|
|
1464
1473
|
/** @type {WeakSet<Module>} */
|
|
1465
1474
|
this.codeGeneratedModules = new WeakSet();
|
|
1466
1475
|
/** @type {WeakSet<Module>} */
|
|
@@ -1479,7 +1488,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1479
1488
|
this.buildDependencies = new LazySet();
|
|
1480
1489
|
/** @type {FileSystemDependencies} */
|
|
1481
1490
|
this.optionalBuildDependencies = new LazySet();
|
|
1482
|
-
// TODO
|
|
1491
|
+
// TODO in the next major release: remove
|
|
1483
1492
|
/**
|
|
1484
1493
|
* @deprecated
|
|
1485
1494
|
* @type {{ add: (item: string) => FileSystemDependencies }}
|
|
@@ -1513,8 +1522,8 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1513
1522
|
this._unsafeCachePredicate =
|
|
1514
1523
|
typeof unsafeCache === "function" ? unsafeCache : () => true;
|
|
1515
1524
|
|
|
1516
|
-
/** @type {
|
|
1517
|
-
this.
|
|
1525
|
+
/** @type {LazyBarrels} */
|
|
1526
|
+
this._lazyBarrels = new LazyBarrels(this);
|
|
1518
1527
|
}
|
|
1519
1528
|
|
|
1520
1529
|
getStats() {
|
|
@@ -1927,7 +1936,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1927
1936
|
);
|
|
1928
1937
|
|
|
1929
1938
|
// lazy barrel: defer re-export targets of side-effect-free modules
|
|
1930
|
-
const hasLazyBarrel = this.
|
|
1939
|
+
const hasLazyBarrel = this._lazyBarrels.classify(module);
|
|
1931
1940
|
|
|
1932
1941
|
/** @type {DependenciesBlock} */
|
|
1933
1942
|
let currentBlock;
|
|
@@ -2008,15 +2017,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2008
2017
|
*/
|
|
2009
2018
|
const processDependency = (dep, index) => {
|
|
2010
2019
|
this.moduleGraph.setParents(dep, currentBlock, module, index);
|
|
2011
|
-
if (
|
|
2012
|
-
hasLazyBarrel &&
|
|
2013
|
-
// TODO remove in webpack 6
|
|
2014
|
-
// It may be missing on custom dependency types not extending the base Dependency
|
|
2015
|
-
"isLazy" in dep &&
|
|
2016
|
-
dep.isLazy()
|
|
2017
|
-
) {
|
|
2018
|
-
return;
|
|
2019
|
-
}
|
|
2020
|
+
if (hasLazyBarrel && this._lazyBarrels.isLazy(dep)) return;
|
|
2020
2021
|
|
|
2021
2022
|
if (this._unsafeCache) {
|
|
2022
2023
|
try {
|
|
@@ -2031,7 +2032,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2031
2032
|
dep,
|
|
2032
2033
|
unsafeCachedModule
|
|
2033
2034
|
);
|
|
2034
|
-
this.
|
|
2035
|
+
this._lazyBarrels.unlazyForDependency(
|
|
2035
2036
|
unsafeCachedModule,
|
|
2036
2037
|
dep,
|
|
2037
2038
|
sortedDependencies
|
|
@@ -2049,7 +2050,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2049
2050
|
dep,
|
|
2050
2051
|
cachedModule
|
|
2051
2052
|
);
|
|
2052
|
-
this.
|
|
2053
|
+
this._lazyBarrels.unlazyForDependency(
|
|
2053
2054
|
cachedModule,
|
|
2054
2055
|
dep,
|
|
2055
2056
|
sortedDependencies
|
|
@@ -2114,7 +2115,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2114
2115
|
dep,
|
|
2115
2116
|
cachedModule
|
|
2116
2117
|
); // a3
|
|
2117
|
-
this.
|
|
2118
|
+
this._lazyBarrels.unlazyForDependency(
|
|
2118
2119
|
cachedModule,
|
|
2119
2120
|
dep,
|
|
2120
2121
|
sortedDependencies
|
|
@@ -2195,7 +2196,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2195
2196
|
// mostly esm dependencies would be used
|
|
2196
2197
|
// so we don't allocate extra string for them
|
|
2197
2198
|
const cacheKey =
|
|
2198
|
-
category ===
|
|
2199
|
+
category === Dependency.ESM_CATEGORY
|
|
2199
2200
|
? resourceIdent
|
|
2200
2201
|
: `${category}${resourceIdent}`;
|
|
2201
2202
|
let list = /** @type {FactoryCacheValue} */ (factoryCacheValue).get(
|
|
@@ -2344,7 +2345,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2344
2345
|
},
|
|
2345
2346
|
(err, result) => {
|
|
2346
2347
|
if (result) {
|
|
2347
|
-
// TODO
|
|
2348
|
+
// TODO in the next major release: remove
|
|
2348
2349
|
// For backward-compat
|
|
2349
2350
|
if (result.module === undefined && result instanceof Module) {
|
|
2350
2351
|
result = {
|
|
@@ -2371,7 +2372,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2371
2372
|
if (err) {
|
|
2372
2373
|
const notFoundError = new (getModuleNotFoundError())(
|
|
2373
2374
|
originModule,
|
|
2374
|
-
err,
|
|
2375
|
+
toError(err),
|
|
2375
2376
|
/** @type {DependencyLocation} */
|
|
2376
2377
|
(dependencies.map((d) => d.loc).find(Boolean))
|
|
2377
2378
|
);
|
|
@@ -2464,6 +2465,30 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2464
2465
|
context
|
|
2465
2466
|
},
|
|
2466
2467
|
(err, factoryResult) => {
|
|
2468
|
+
// Loader-created modules have no origin connection to resolve again.
|
|
2469
|
+
// Preserve their resolution dependencies in the caller's build snapshot.
|
|
2470
|
+
if (
|
|
2471
|
+
factoryResult &&
|
|
2472
|
+
!connectOrigin &&
|
|
2473
|
+
originModule &&
|
|
2474
|
+
originModule.buildInfo &&
|
|
2475
|
+
this.buildQueue.isProcessing(originModule)
|
|
2476
|
+
) {
|
|
2477
|
+
for (const key of /** @type {const} */ ([
|
|
2478
|
+
"fileDependencies",
|
|
2479
|
+
"contextDependencies",
|
|
2480
|
+
"missingDependencies"
|
|
2481
|
+
])) {
|
|
2482
|
+
const dependencies = factoryResult[key];
|
|
2483
|
+
if (dependencies) {
|
|
2484
|
+
let target = originModule.buildInfo[key];
|
|
2485
|
+
if (target === undefined) {
|
|
2486
|
+
originModule.buildInfo[key] = target = new LazySet();
|
|
2487
|
+
}
|
|
2488
|
+
target.addAll(dependencies);
|
|
2489
|
+
}
|
|
2490
|
+
}
|
|
2491
|
+
}
|
|
2467
2492
|
const applyFactoryResultDependencies = () => {
|
|
2468
2493
|
const { fileDependencies, contextDependencies, missingDependencies } =
|
|
2469
2494
|
/** @type {ModuleFactoryResult} */ (factoryResult);
|
|
@@ -2479,6 +2504,9 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2479
2504
|
};
|
|
2480
2505
|
if (err) {
|
|
2481
2506
|
if (factoryResult) applyFactoryResultDependencies();
|
|
2507
|
+
if (originModule) {
|
|
2508
|
+
this._modulesWithUnresolvedDependencies.add(originModule);
|
|
2509
|
+
}
|
|
2482
2510
|
if (dependencies.every((d) => d.optional)) {
|
|
2483
2511
|
this.warnings.push(err);
|
|
2484
2512
|
return callback();
|
|
@@ -2656,16 +2684,10 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2656
2684
|
return;
|
|
2657
2685
|
}
|
|
2658
2686
|
|
|
2659
|
-
// lazy barrel:
|
|
2660
|
-
//
|
|
2661
|
-
//
|
|
2662
|
-
|
|
2663
|
-
// 2. later call: barrel module is already built, so `processModuleDependencies` won't
|
|
2664
|
-
// re-walk it; the newly requested targets must be built here.
|
|
2665
|
-
const unlazyItems = this._lazyBarrelController.request(
|
|
2666
|
-
module,
|
|
2667
|
-
dependencies
|
|
2668
|
-
);
|
|
2687
|
+
// lazy barrel: on the first call the module is unclassified, so this only
|
|
2688
|
+
// records the ids and `processModuleDependencies` replays them. Later the
|
|
2689
|
+
// module is built and never re-walked, so the targets are built here.
|
|
2690
|
+
const unlazyItems = this._lazyBarrels.request(module, dependencies);
|
|
2669
2691
|
|
|
2670
2692
|
if (unlazyItems !== undefined) {
|
|
2671
2693
|
let inProgress = unlazyItems.length + 1; // +1 = the module's own dep processing
|
|
@@ -2783,7 +2805,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2783
2805
|
* @returns {void} returns
|
|
2784
2806
|
*/
|
|
2785
2807
|
addEntry(context, entry, optionsOrName, callback) {
|
|
2786
|
-
// TODO
|
|
2808
|
+
// TODO in the next major release: remove
|
|
2787
2809
|
const options =
|
|
2788
2810
|
typeof optionsOrName === "object"
|
|
2789
2811
|
? optionsOrName
|
|
@@ -3132,6 +3154,20 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3132
3154
|
let statUnchanged = 0;
|
|
3133
3155
|
let statChanged = 0;
|
|
3134
3156
|
let statNew = 0;
|
|
3157
|
+
/**
|
|
3158
|
+
* Include async state and connection activity, which can change without changing module ids.
|
|
3159
|
+
* @param {Module} module connected module
|
|
3160
|
+
* @param {readonly ModuleGraphConnection[]} connections connections to it
|
|
3161
|
+
* @returns {string} reference key
|
|
3162
|
+
*/
|
|
3163
|
+
const referenceKey = (module, connections) => {
|
|
3164
|
+
let key = `${chunkGraph.getModuleId(module)}${moduleGraph.isAsync(module)}`;
|
|
3165
|
+
for (const connection of connections) {
|
|
3166
|
+
const state = connection.getActiveState(undefined);
|
|
3167
|
+
key += state === true ? "T" : state === false ? "F" : "O";
|
|
3168
|
+
}
|
|
3169
|
+
return key;
|
|
3170
|
+
};
|
|
3135
3171
|
/**
|
|
3136
3172
|
* Compute references.
|
|
3137
3173
|
* @param {Module} module module
|
|
@@ -3139,16 +3175,19 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3139
3175
|
*/
|
|
3140
3176
|
const computeReferences = (module) => {
|
|
3141
3177
|
const id = /** @type {ModuleId} */ (chunkGraph.getModuleId(module));
|
|
3142
|
-
/** @type {Map<Module,
|
|
3178
|
+
/** @type {Map<Module, string> | undefined} */
|
|
3143
3179
|
let modules;
|
|
3144
3180
|
/** @type {(ChunkId | null)[] | undefined} */
|
|
3145
3181
|
let blocks;
|
|
3146
3182
|
const outgoing = moduleGraph.getOutgoingConnectionsByModule(module);
|
|
3147
3183
|
if (outgoing !== undefined) {
|
|
3148
|
-
for (const
|
|
3149
|
-
if (!
|
|
3184
|
+
for (const [referencedModule, connections] of outgoing) {
|
|
3185
|
+
if (!referencedModule) continue;
|
|
3150
3186
|
if (modules === undefined) modules = new Map();
|
|
3151
|
-
modules.set(
|
|
3187
|
+
modules.set(
|
|
3188
|
+
referencedModule,
|
|
3189
|
+
referenceKey(referencedModule, connections)
|
|
3190
|
+
);
|
|
3152
3191
|
}
|
|
3153
3192
|
}
|
|
3154
3193
|
if (module.blocks.length > 0) {
|
|
@@ -3179,7 +3218,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3179
3218
|
* @param {Module} module module
|
|
3180
3219
|
* @param {object} references references
|
|
3181
3220
|
* @param {string | number} references.id id
|
|
3182
|
-
* @param {Map<Module, string
|
|
3221
|
+
* @param {Map<Module, string>=} references.modules modules
|
|
3183
3222
|
* @param {(string | number | null)[]=} references.blocks blocks
|
|
3184
3223
|
* @param {SourceTypes=} references.sourceTypes connection-dependent source types
|
|
3185
3224
|
* @returns {boolean} ok?
|
|
@@ -3190,8 +3229,15 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3190
3229
|
) => {
|
|
3191
3230
|
if (id !== chunkGraph.getModuleId(module)) return false;
|
|
3192
3231
|
if (modules !== undefined) {
|
|
3193
|
-
|
|
3194
|
-
|
|
3232
|
+
const outgoing = moduleGraph.getOutgoingConnectionsByModule(module);
|
|
3233
|
+
for (const [referencedModule, key] of modules) {
|
|
3234
|
+
const connections = outgoing && outgoing.get(referencedModule);
|
|
3235
|
+
if (
|
|
3236
|
+
connections === undefined ||
|
|
3237
|
+
referenceKey(referencedModule, connections) !== key
|
|
3238
|
+
) {
|
|
3239
|
+
return false;
|
|
3240
|
+
}
|
|
3195
3241
|
}
|
|
3196
3242
|
}
|
|
3197
3243
|
if (blocks !== undefined) {
|
|
@@ -3253,6 +3299,35 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3253
3299
|
);
|
|
3254
3300
|
}
|
|
3255
3301
|
|
|
3302
|
+
/**
|
|
3303
|
+
* Returns the modules whose dependency report depends on a dependency that
|
|
3304
|
+
* failed to resolve: they must not be remembered as clean, as the target can
|
|
3305
|
+
* appear without any of them being rebuilt.
|
|
3306
|
+
* @private
|
|
3307
|
+
* @returns {Set<Module>} the modules with such a dependency and their parents
|
|
3308
|
+
*/
|
|
3309
|
+
_modulesReportingUnresolved() {
|
|
3310
|
+
const result = new Set(this._modulesWithUnresolvedDependencies);
|
|
3311
|
+
if (result.size === 0) return result;
|
|
3312
|
+
const { moduleGraph } = this;
|
|
3313
|
+
// as the token walk does, only a transitive connection reaches further up;
|
|
3314
|
+
// a parent first reached directly may still be reached transitively later
|
|
3315
|
+
const queued = new Set(result);
|
|
3316
|
+
for (const module of queued) {
|
|
3317
|
+
for (const [
|
|
3318
|
+
referencingModule,
|
|
3319
|
+
connections
|
|
3320
|
+
] of moduleGraph.getIncomingConnectionsByOriginModule(module)) {
|
|
3321
|
+
if (!referencingModule) continue;
|
|
3322
|
+
result.add(referencingModule);
|
|
3323
|
+
if (reduceAffectType(connections) === Dependency.TRANSITIVE) {
|
|
3324
|
+
queued.add(referencingModule);
|
|
3325
|
+
}
|
|
3326
|
+
}
|
|
3327
|
+
}
|
|
3328
|
+
return result;
|
|
3329
|
+
}
|
|
3330
|
+
|
|
3256
3331
|
/**
|
|
3257
3332
|
* Assigns a fresh dependency report cache token to every module whose
|
|
3258
3333
|
* dependency errors/warnings could have changed since the previous
|
|
@@ -3531,16 +3606,26 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3531
3606
|
if (useReportCacheTokens) {
|
|
3532
3607
|
this._flagModulesForDependencyReporting(modules);
|
|
3533
3608
|
}
|
|
3609
|
+
const reportsUnresolved = this._modulesReportingUnresolved();
|
|
3534
3610
|
for (const module of modules) {
|
|
3611
|
+
const unresolved = reportsUnresolved.has(module);
|
|
3535
3612
|
const memCache = moduleMemCaches && moduleMemCaches.get(module);
|
|
3536
|
-
if (memCache && memCache.get("noWarningsOrErrors"))
|
|
3613
|
+
if (!unresolved && memCache && memCache.get("noWarningsOrErrors")) {
|
|
3614
|
+
continue;
|
|
3615
|
+
}
|
|
3537
3616
|
let token;
|
|
3538
3617
|
if (useReportCacheTokens) {
|
|
3539
3618
|
token = dependencyReportCacheTokens.get(module);
|
|
3540
3619
|
const cleanModules = modulesWithoutProblems.get(
|
|
3541
3620
|
/** @type {DependencyReportCacheToken} */ (token)
|
|
3542
3621
|
);
|
|
3543
|
-
if (
|
|
3622
|
+
if (
|
|
3623
|
+
!unresolved &&
|
|
3624
|
+
cleanModules !== undefined &&
|
|
3625
|
+
cleanModules.has(module)
|
|
3626
|
+
) {
|
|
3627
|
+
continue;
|
|
3628
|
+
}
|
|
3544
3629
|
}
|
|
3545
3630
|
let hasProblems = this.reportDependencyErrorsAndWarnings(module, [
|
|
3546
3631
|
module
|
|
@@ -3565,7 +3650,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3565
3650
|
hasProblems = true;
|
|
3566
3651
|
}
|
|
3567
3652
|
}
|
|
3568
|
-
if (!hasProblems) {
|
|
3653
|
+
if (!hasProblems && !unresolved) {
|
|
3569
3654
|
if (memCache) memCache.set("noWarningsOrErrors", true);
|
|
3570
3655
|
if (useReportCacheTokens) {
|
|
3571
3656
|
let cleanModules = modulesWithoutProblems.get(
|
|
@@ -3623,7 +3708,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
3623
3708
|
this.processDependenciesQueue.clear();
|
|
3624
3709
|
this.addModuleQueue.clear();
|
|
3625
3710
|
// lazy barrel only acts during make; release its bookkeeping now
|
|
3626
|
-
this.
|
|
3711
|
+
this._lazyBarrels.clear();
|
|
3627
3712
|
// unsafe-cache restore tables are only read during make; release them
|
|
3628
3713
|
// so they stop pinning restored modules for the rest of the compilation
|
|
3629
3714
|
this._restoredUnsafeCacheModuleEntries.clear();
|
|
@@ -4026,7 +4111,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4026
4111
|
const warning = new (getModuleDependencyWarning())(
|
|
4027
4112
|
module,
|
|
4028
4113
|
w,
|
|
4029
|
-
|
|
4114
|
+
w.loc || d.loc
|
|
4030
4115
|
);
|
|
4031
4116
|
this.warnings.push(warning);
|
|
4032
4117
|
hasProblems = true;
|
|
@@ -4038,7 +4123,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4038
4123
|
const error = new (getModuleDependencyError())(
|
|
4039
4124
|
module,
|
|
4040
4125
|
e,
|
|
4041
|
-
|
|
4126
|
+
e.loc || d.loc
|
|
4042
4127
|
);
|
|
4043
4128
|
this.errors.push(error);
|
|
4044
4129
|
hasProblems = true;
|
|
@@ -4162,7 +4247,35 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4162
4247
|
(err) => {
|
|
4163
4248
|
if (err) return callback(/** @type {WebpackError} */ (err));
|
|
4164
4249
|
const affected = new Set(pending.map(({ jobModule }) => jobModule));
|
|
4165
|
-
|
|
4250
|
+
// A module referencing one of these may have copied what it generated
|
|
4251
|
+
// into its own code (an analyzable `new URL`), so it goes again after.
|
|
4252
|
+
/** @type {Set<Module>} */
|
|
4253
|
+
const referencing = new Set();
|
|
4254
|
+
for (const { info } of pending) {
|
|
4255
|
+
for (const connection of this.moduleGraph.getIncomingConnections(
|
|
4256
|
+
info.module
|
|
4257
|
+
)) {
|
|
4258
|
+
const { originModule } = connection;
|
|
4259
|
+
if (originModule !== null && !affected.has(originModule)) {
|
|
4260
|
+
referencing.add(originModule);
|
|
4261
|
+
}
|
|
4262
|
+
}
|
|
4263
|
+
}
|
|
4264
|
+
|
|
4265
|
+
const redo = [
|
|
4266
|
+
...jobs.filter(({ module }) => affected.has(module)),
|
|
4267
|
+
// A referencing module concatenated into another is generated as
|
|
4268
|
+
// part of it, so the job to redo is the concatenated module's.
|
|
4269
|
+
...jobs.filter(({ module }) => {
|
|
4270
|
+
if (affected.has(module)) return false;
|
|
4271
|
+
if (referencing.has(module)) return true;
|
|
4272
|
+
if (module.getRootModule() === module) return false;
|
|
4273
|
+
for (const inner of module.getSourceModules()) {
|
|
4274
|
+
if (referencing.has(inner)) return true;
|
|
4275
|
+
}
|
|
4276
|
+
return false;
|
|
4277
|
+
})
|
|
4278
|
+
];
|
|
4166
4279
|
// Generated directly rather than through the codegen cache: the module
|
|
4167
4280
|
// hash is unchanged, so the cache would hand back the first pass again.
|
|
4168
4281
|
const results =
|
|
@@ -4187,7 +4300,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4187
4300
|
// Reported and carried on with, as the first pass does: a throw
|
|
4188
4301
|
// here would leave the build with no error to show for it.
|
|
4189
4302
|
this.errors.push(
|
|
4190
|
-
new (getCodeGenerationError())(module,
|
|
4303
|
+
new (getCodeGenerationError())(module, toError(err))
|
|
4191
4304
|
);
|
|
4192
4305
|
result = {
|
|
4193
4306
|
sources: new Map(),
|
|
@@ -4377,9 +4490,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4377
4490
|
compilation: this
|
|
4378
4491
|
});
|
|
4379
4492
|
} catch (err) {
|
|
4380
|
-
errors.push(
|
|
4381
|
-
new (getCodeGenerationError())(module, /** @type {Error} */ (err))
|
|
4382
|
-
);
|
|
4493
|
+
errors.push(new (getCodeGenerationError())(module, toError(err)));
|
|
4383
4494
|
result = {
|
|
4384
4495
|
sources: new Map(),
|
|
4385
4496
|
runtimeRequirements: null,
|
|
@@ -4430,9 +4541,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4430
4541
|
result.data.set("analyzableBailouts", bailouts);
|
|
4431
4542
|
}
|
|
4432
4543
|
} catch (err) {
|
|
4433
|
-
errors.push(
|
|
4434
|
-
new (getCodeGenerationError())(module, /** @type {Error} */ (err))
|
|
4435
|
-
);
|
|
4544
|
+
errors.push(new (getCodeGenerationError())(module, toError(err)));
|
|
4436
4545
|
result = cachedResult = {
|
|
4437
4546
|
sources: new Map(),
|
|
4438
4547
|
runtimeRequirements: null,
|
|
@@ -4625,9 +4734,10 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4625
4734
|
* is over. `runtimeRequirementInTree` is a sync hook, so a tap cannot await
|
|
4626
4735
|
* the load itself; anything the tap reads off the requirement set must be
|
|
4627
4736
|
* captured before queueing, since `create` runs later.
|
|
4737
|
+
* @template T
|
|
4628
4738
|
* @param {Chunk} chunk target chunk
|
|
4629
|
-
* @param {() => Promise<
|
|
4630
|
-
* @param {(loaded:
|
|
4739
|
+
* @param {() => Promise<T>} load resolves the runtime module implementation
|
|
4740
|
+
* @param {(loaded: T) => RuntimeModule} create builds the runtime module from it
|
|
4631
4741
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
4632
4742
|
* @returns {void}
|
|
4633
4743
|
*/
|
|
@@ -4659,7 +4769,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4659
4769
|
.then(() => this._attachPendingRuntimeModules(callback), callback);
|
|
4660
4770
|
}
|
|
4661
4771
|
|
|
4662
|
-
// TODO
|
|
4772
|
+
// TODO in the next major release: make chunkGraph argument non-optional
|
|
4663
4773
|
/**
|
|
4664
4774
|
* Adds runtime module.
|
|
4665
4775
|
* @param {Chunk} chunk target chunk
|
|
@@ -4777,7 +4887,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4777
4887
|
const name = options.name;
|
|
4778
4888
|
if (name) {
|
|
4779
4889
|
const entrypoint = this.namedChunkGroups.get(name);
|
|
4780
|
-
if (entrypoint
|
|
4890
|
+
if (entrypoint !== undefined && entrypoint.isEntrypoint()) {
|
|
4781
4891
|
if (module) {
|
|
4782
4892
|
entrypoint.addOrigin(module, loc, request);
|
|
4783
4893
|
}
|
|
@@ -5158,8 +5268,12 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
5158
5268
|
});
|
|
5159
5269
|
moduleHashDigest = moduleHash.digest(hashDigest);
|
|
5160
5270
|
} catch (err) {
|
|
5271
|
+
// A diagnostic that already names its module says more than this wrapper
|
|
5272
|
+
// would, e.g. which runtime module's `generate()` threw.
|
|
5161
5273
|
errors.push(
|
|
5162
|
-
|
|
5274
|
+
WebpackError.isWebpackError(err) && err.module
|
|
5275
|
+
? err
|
|
5276
|
+
: new (getModuleHashingError())(module, /** @type {Error} */ (err))
|
|
5163
5277
|
);
|
|
5164
5278
|
moduleHashDigest = "XXXXXX";
|
|
5165
5279
|
}
|
|
@@ -5208,22 +5322,9 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
5208
5322
|
}
|
|
5209
5323
|
|
|
5210
5324
|
this.logger.time("hashing: sort chunks");
|
|
5211
|
-
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
* 2. Non-entry initial chunks (e.g. shared split chunks) - no hash
|
|
5215
|
-
* dependencies on other chunks, but runtime chunks may read their
|
|
5216
|
-
* hashes via GetChunkFilenameRuntimeModule (dependentHash)
|
|
5217
|
-
* 3. Runtime chunks - may use hashes of async and non-entry initial
|
|
5218
|
-
* chunks (via GetChunkFilenameRuntimeModule). Ordered by references
|
|
5219
|
-
* between each other (for async entrypoints)
|
|
5220
|
-
* 4. Entry chunks - may depend on runtimeChunk.hash (via
|
|
5221
|
-
* createChunkHashHandler for ESM/CJS entry importing runtime)
|
|
5222
|
-
*
|
|
5223
|
-
* This ordering ensures all hash dependencies flow in one direction:
|
|
5224
|
-
* async/initial → runtime → entry, with no circular dependencies.
|
|
5225
|
-
* Chunks within each category are sorted by id for determinism.
|
|
5226
|
-
*/
|
|
5325
|
+
// Hashed as async, then non-entry initial, then runtime, then entry chunks,
|
|
5326
|
+
// so hash dependencies flow one way between those groups. A cycle among the
|
|
5327
|
+
// runtime chunks is still possible, and is warned about below.
|
|
5227
5328
|
/** @type {Chunk[]} */
|
|
5228
5329
|
const unorderedRuntimeChunks = [];
|
|
5229
5330
|
/** @type {Chunk[]} */
|
|
@@ -5410,9 +5511,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
5410
5511
|
this.hooks.contentHash.call(chunk);
|
|
5411
5512
|
}
|
|
5412
5513
|
} catch (err) {
|
|
5413
|
-
this.errors.push(
|
|
5414
|
-
new (getChunkRenderError())(chunk, "", /** @type {Error} */ (err))
|
|
5415
|
-
);
|
|
5514
|
+
this.errors.push(new (getChunkRenderError())(chunk, "", toError(err)));
|
|
5416
5515
|
}
|
|
5417
5516
|
this.logger.timeAggregate("hashing: hash chunks");
|
|
5418
5517
|
};
|
|
@@ -5926,7 +6025,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
5926
6025
|
});
|
|
5927
6026
|
} catch (err) {
|
|
5928
6027
|
this.errors.push(
|
|
5929
|
-
new (getChunkRenderError())(chunk, "",
|
|
6028
|
+
new (getChunkRenderError())(chunk, "", toError(err))
|
|
5930
6029
|
);
|
|
5931
6030
|
return callback();
|
|
5932
6031
|
}
|
|
@@ -5942,7 +6041,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
5942
6041
|
);
|
|
5943
6042
|
|
|
5944
6043
|
assetCacheItem.get((err, sourceFromCache) => {
|
|
5945
|
-
/** @type {
|
|
6044
|
+
/** @type {RenderManifestEntryTemplated["filenameTemplate"]} */
|
|
5946
6045
|
let filenameTemplate;
|
|
5947
6046
|
/** @type {string} */
|
|
5948
6047
|
let file;
|
|
@@ -5965,7 +6064,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
5965
6064
|
: "");
|
|
5966
6065
|
|
|
5967
6066
|
this.errors.push(
|
|
5968
|
-
new (getChunkRenderError())(chunk, filename, err)
|
|
6067
|
+
new (getChunkRenderError())(chunk, filename, toError(err))
|
|
5969
6068
|
);
|
|
5970
6069
|
inTry = false;
|
|
5971
6070
|
return callback();
|
|
@@ -6063,7 +6162,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6063
6162
|
/**
|
|
6064
6163
|
* Returns interpolated path.
|
|
6065
6164
|
* @template {PathData} [T=PathData]
|
|
6066
|
-
* @param {string | import("./TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6165
|
+
* @param {string | import("./template/TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6067
6166
|
* @param {T=} data context data
|
|
6068
6167
|
* @returns {string} interpolated path
|
|
6069
6168
|
*/
|
|
@@ -6080,7 +6179,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6080
6179
|
/**
|
|
6081
6180
|
* Gets path with info.
|
|
6082
6181
|
* @template {PathData} [T=PathData]
|
|
6083
|
-
* @param {string | import("./TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6182
|
+
* @param {string | import("./template/TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6084
6183
|
* @param {T=} data context data
|
|
6085
6184
|
* @returns {InterpolatedPathAndAssetInfo} interpolated path and asset info
|
|
6086
6185
|
*/
|
|
@@ -6097,7 +6196,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6097
6196
|
/**
|
|
6098
6197
|
* Returns interpolated path.
|
|
6099
6198
|
* @template {PathData} [T=PathData]
|
|
6100
|
-
* @param {string | import("./TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6199
|
+
* @param {string | import("./template/TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6101
6200
|
* @param {T} data context data
|
|
6102
6201
|
* @returns {string} interpolated path
|
|
6103
6202
|
*/
|
|
@@ -6112,7 +6211,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6112
6211
|
/**
|
|
6113
6212
|
* Gets asset path with info.
|
|
6114
6213
|
* @template {PathData} [T=PathData]
|
|
6115
|
-
* @param {string | import("./TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6214
|
+
* @param {string | import("./template/TemplatedPathPlugin").TemplatePathFn<T>} filename used to get asset path with hash
|
|
6116
6215
|
* @param {T} data context data
|
|
6117
6216
|
* @returns {InterpolatedPathAndAssetInfo} interpolated path and asset info
|
|
6118
6217
|
*/
|
|
@@ -6286,7 +6385,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6286
6385
|
reportErrors();
|
|
6287
6386
|
|
|
6288
6387
|
// for backward-compat temporary set the chunk graph
|
|
6289
|
-
// TODO
|
|
6388
|
+
// TODO in the next major release: drop it
|
|
6290
6389
|
const old = this.chunkGraph;
|
|
6291
6390
|
this.chunkGraph = chunkGraph;
|
|
6292
6391
|
this.processRuntimeRequirements({
|
|
@@ -6561,7 +6660,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6561
6660
|
const usedIds = new Set();
|
|
6562
6661
|
|
|
6563
6662
|
for (const module of this.modules) {
|
|
6564
|
-
if (module.
|
|
6663
|
+
if (module.is("runtime")) continue;
|
|
6565
6664
|
const moduleId = chunkGraph.getModuleId(module);
|
|
6566
6665
|
if (moduleId === null) continue;
|
|
6567
6666
|
if (usedIds.has(moduleId)) {
|
|
@@ -6617,7 +6716,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6617
6716
|
// Hide from typescript
|
|
6618
6717
|
const compilationPrototype = Compilation.prototype;
|
|
6619
6718
|
|
|
6620
|
-
// TODO
|
|
6719
|
+
// TODO in the next major release: remove
|
|
6621
6720
|
Object.defineProperty(compilationPrototype, "modifyHash", {
|
|
6622
6721
|
writable: false,
|
|
6623
6722
|
enumerable: false,
|
|
@@ -6629,7 +6728,7 @@ Object.defineProperty(compilationPrototype, "modifyHash", {
|
|
|
6629
6728
|
}
|
|
6630
6729
|
});
|
|
6631
6730
|
|
|
6632
|
-
// TODO
|
|
6731
|
+
// TODO in the next major release: remove
|
|
6633
6732
|
Object.defineProperty(compilationPrototype, "cache", {
|
|
6634
6733
|
enumerable: false,
|
|
6635
6734
|
configurable: false,
|
|
@@ -6648,7 +6747,7 @@ Object.defineProperty(compilationPrototype, "cache", {
|
|
|
6648
6747
|
set: util.deprecate(
|
|
6649
6748
|
/**
|
|
6650
6749
|
* Handles the value callback for this hook.
|
|
6651
|
-
* @param {
|
|
6750
|
+
* @param {Cache} _v value
|
|
6652
6751
|
*/
|
|
6653
6752
|
(_v) => {},
|
|
6654
6753
|
"Compilation.cache was removed in favor of Compilation.getCache()",
|