@depup/webpack 5.111.1-depup.1 → 5.112.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/changes.json +3 -15
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +224 -106
- package/lib/Compiler.js +19 -19
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -70
- 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 +37 -8
- package/lib/NormalModule.js +3 -2242
- 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 +8 -8
- package/lib/asset/AssetBytesParser.js +3 -3
- package/lib/asset/AssetGenerator.js +36 -22
- 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 +8 -8
- 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 +2 -2
- package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
- package/lib/cache/PackFileCacheStrategy.js +8 -10
- package/lib/cache/ResolverCachePlugin.js +8 -4
- 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 +1 -1
- package/lib/{cli.js → config/cli.js} +5 -158
- package/lib/config/defaults.js +144 -48
- package/lib/config/getClaimedAssetTypes.js +21 -13
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +10 -0
- 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/context/ContextModule.js +36 -25
- package/lib/context/ContextModuleFactory.js +13 -10
- package/lib/context/ContextReplacementPlugin.js +3 -3
- package/lib/css/CssGenerator.js +38 -31
- 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 +682 -291
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/css/cssMinify.js +110 -37
- package/lib/css/data.js +6985 -5125
- package/lib/css/syntax-parser.js +19873 -0
- package/lib/css/syntax-printer.js +6037 -0
- package/lib/css/syntax.js +37 -18686
- package/lib/debug/ProfilingPlugin.js +52 -19
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +9 -9
- 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} +166 -33
- 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} +35 -30
- 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} +17 -16
- 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} +31 -9
- 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} +369 -92
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +23 -16
- 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} +23 -16
- 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} +29 -21
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +19 -17
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
- 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} +133 -118
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +60 -36
- 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} +99 -84
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +94 -59
- 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 +5 -5
- 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} +51 -141
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -19
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -15
- 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} +119 -98
- 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} +28 -20
- package/lib/{url → dependencies/url}/URLParserPlugin.js +16 -18
- 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} +31 -33
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
- 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} +154 -26
- 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/{ErrorHelpers.js → errors/ErrorHelpers.js} +7 -5
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +4 -4
- 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} +79 -55
- 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} +130 -82
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +30 -30
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +152 -57
- package/lib/{util → graph}/findGraphRoots.js +14 -8
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +47 -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 +31 -21
- package/lib/html/HtmlGenerator.js +107 -43
- package/lib/html/HtmlModule.js +6 -2
- package/lib/html/HtmlModulesPlugin.js +172 -76
- package/lib/html/HtmlParser.js +503 -153
- package/lib/html/builtinEmbeddedRenderer.js +60 -13
- package/lib/html/data.js +2 -1
- package/lib/html/htmlMinify.js +111 -41
- package/lib/html/syntax-parser.js +15796 -0
- package/lib/html/syntax-printer.js +1034 -0
- package/lib/html/syntax.js +37 -13952
- 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 +303 -97
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +25 -25
- 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} +7 -7
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +74 -7
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +17 -17
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
- package/lib/javascript/JavascriptModule.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +440 -211
- package/lib/javascript/JavascriptParser.js +220 -134
- 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 -11274
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +10 -10
- 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 +160 -166
- 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 +2 -2
- package/lib/loaders/LoaderRunner.js +31 -21
- 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} +16 -14
- package/lib/{Module.js → module/Module.js} +119 -51
- 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 +58 -6
- 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 +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
- package/lib/optimize/ConcatenatedModule.js +229 -214
- 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} +17 -17
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +17 -17
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
- package/lib/optimize/InlineExports.js +11 -3
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +10 -10
- package/lib/optimize/LazyBarrels.js +584 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +16 -7
- package/lib/optimize/MangleExportsPlugin.js +5 -5
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +20 -12
- 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 +18 -18
- package/lib/optimize/SplitChunksPlugin.js +713 -155
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +17 -17
- 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 +2 -3
- 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 +11 -12
- 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 +1 -1
- 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 +65 -44
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
- 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 +7 -4
- 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 +6 -6
- 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 +3 -3
- 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 +80 -17
- 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 +1 -1
- package/lib/schemes/HttpUriPlugin.js +67 -11
- package/lib/schemes/VirtualUrlPlugin.js +50 -16
- package/lib/serialization/AggregateErrorSerializer.js +2 -2
- package/lib/serialization/FileMiddleware.js +3 -3
- package/lib/serialization/ObjectMiddleware.js +47 -16
- 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 +14 -16
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +22 -19
- 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} +145 -63
- package/lib/{Template.js → template/Template.js} +13 -11
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
- package/lib/typescript/TypeScriptPlugin.js +3 -3
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +349 -44
- 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 +28 -147
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +94 -15
- 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/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +294 -102
- 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 +5 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +11 -10
- 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 +8 -8
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +9 -8
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +14 -15
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +6 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
- 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 +49 -38
- 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 +19355 -13873
- 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 -72
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1500
- 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,39 +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
|
-
|
|
31
|
-
const { toError } = ErrorHelpers;
|
|
32
|
-
|
|
33
|
-
const FileSystemInfo = require("./FileSystemInfo");
|
|
34
|
-
const LazyBarrelController = require("./LazyBarrel");
|
|
35
|
-
const MainTemplate = require("./MainTemplate");
|
|
36
|
-
const Module = require("./Module");
|
|
37
|
-
const ModuleGraph = require("./ModuleGraph");
|
|
38
|
-
const ModuleProfile = require("./ModuleProfile");
|
|
39
|
-
const ModuleTemplate = require("./ModuleTemplate");
|
|
40
|
-
const { WEBPACK_MODULE_TYPE_RUNTIME } = require("./ModuleTypeConstants");
|
|
41
|
-
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
42
|
-
const RuntimeTemplate = require("./RuntimeTemplate");
|
|
43
|
-
const Stats = require("./Stats");
|
|
44
|
-
const buildChunkGraph = require("./buildChunkGraph");
|
|
20
|
+
const { MultiItemCache } = require("./cache/CacheFacade");
|
|
21
|
+
const ErrorHelpers = require("./errors/ErrorHelpers");
|
|
45
22
|
const {
|
|
46
23
|
makeWebpackError,
|
|
47
24
|
tryRunOrWebpackError
|
|
48
25
|
} = require("./errors/HookWebpackError");
|
|
49
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");
|
|
50
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");
|
|
51
42
|
const StatsFactory = require("./stats/StatsFactory");
|
|
52
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");
|
|
53
49
|
const { equals: arrayEquals } = require("./util/ArrayHelpers");
|
|
54
50
|
const AsyncQueue = require("./util/AsyncQueue");
|
|
55
51
|
const LazySet = require("./util/LazySet");
|
|
@@ -106,6 +102,8 @@ const getChunkRenderError = memoize(() => require("./errors/ChunkRenderError"));
|
|
|
106
102
|
|
|
107
103
|
const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
108
104
|
|
|
105
|
+
const { toError } = ErrorHelpers;
|
|
106
|
+
|
|
109
107
|
/** @import { Source } from "webpack-sources" */
|
|
110
108
|
/**
|
|
111
109
|
* @import {
|
|
@@ -124,11 +122,11 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
124
122
|
* OutputNormalizedWithDefaults as OutputOptionsWithDefaults
|
|
125
123
|
* } from "./config/defaults"
|
|
126
124
|
*/
|
|
127
|
-
/** @import AsyncDependenciesBlock from "./AsyncDependenciesBlock" */
|
|
128
|
-
/** @import Cache from "./Cache" */
|
|
129
|
-
/** @import CacheFacade from "./CacheFacade" */
|
|
130
|
-
/** @import { ChunkName, ChunkId } from "./Chunk" */
|
|
131
|
-
/** @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" */
|
|
132
130
|
/**
|
|
133
131
|
* @import Compiler, {
|
|
134
132
|
* CompilationParams,
|
|
@@ -138,9 +136,9 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
138
136
|
* Records
|
|
139
137
|
* } from "./Compiler"
|
|
140
138
|
*/
|
|
141
|
-
/** @import DependenciesBlock from "./DependenciesBlock" */
|
|
142
|
-
/** @import { DependencyLocation, ReferencedExports } from "./Dependency" */
|
|
143
|
-
/** @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 */
|
|
144
142
|
/**
|
|
145
143
|
* @import {
|
|
146
144
|
* NameForCondition,
|
|
@@ -151,7 +149,7 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
151
149
|
* SourceType,
|
|
152
150
|
* FactoryMeta,
|
|
153
151
|
* CodeGenerationResult
|
|
154
|
-
* } from "./Module"
|
|
152
|
+
* } from "./module/Module"
|
|
155
153
|
*/
|
|
156
154
|
/**
|
|
157
155
|
* @import NormalModule, {
|
|
@@ -159,19 +157,25 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
159
157
|
* AnyLoaderContext,
|
|
160
158
|
* ParserOptions,
|
|
161
159
|
* GeneratorOptions
|
|
162
|
-
* } from "./NormalModule"
|
|
160
|
+
* } from "./module/NormalModule"
|
|
163
161
|
*/
|
|
164
162
|
/**
|
|
165
163
|
* @import ModuleFactory, {
|
|
166
164
|
* ModuleFactoryCreateDataContextInfo,
|
|
167
165
|
* ModuleFactoryResult
|
|
168
|
-
* } 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"
|
|
169
178
|
*/
|
|
170
|
-
/** @import { ModuleId } from "./ChunkGraph" */
|
|
171
|
-
/** @import ModuleGraphConnection from "./ModuleGraphConnection" */
|
|
172
|
-
/** @import RequestShortener from "./RequestShortener" */
|
|
173
|
-
/** @import RuntimeModule from "./RuntimeModule" */
|
|
174
|
-
/** @import { RenderManifestEntry, RenderManifestOptions } from "./Template" */
|
|
175
179
|
|
|
176
180
|
/**
|
|
177
181
|
* One language's source embedded in another's output.
|
|
@@ -202,7 +206,7 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
202
206
|
* @typedef {import("./util/deprecation").FakeHook<T>} FakeHook<T>
|
|
203
207
|
*/
|
|
204
208
|
/** @import { RuntimeSpec } from "./util/runtime" */
|
|
205
|
-
/** @import { InputFileSystem } from "./
|
|
209
|
+
/** @import { InputFileSystem } from "./fs/fs" */
|
|
206
210
|
|
|
207
211
|
/**
|
|
208
212
|
* Defines the callback callback.
|
|
@@ -547,9 +551,7 @@ const getBuildCycleError = memoize(() => require("./errors/BuildCycleError"));
|
|
|
547
551
|
/** @type {AssetInfo} */
|
|
548
552
|
const EMPTY_ASSET_INFO = Object.freeze({});
|
|
549
553
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
// TODO webpack 6: remove
|
|
554
|
+
// TODO in the next major release: remove
|
|
553
555
|
const deprecatedNormalModuleLoaderHook = util.deprecate(
|
|
554
556
|
/**
|
|
555
557
|
* Handles the callback logic for this hook.
|
|
@@ -557,12 +559,12 @@ const deprecatedNormalModuleLoaderHook = util.deprecate(
|
|
|
557
559
|
* @returns {NormalModuleCompilationHooks["loader"]} hooks
|
|
558
560
|
*/
|
|
559
561
|
(compilation) =>
|
|
560
|
-
require("./NormalModule").getCompilationHooks(compilation).loader,
|
|
562
|
+
require("./module/NormalModule").getCompilationHooks(compilation).loader,
|
|
561
563
|
"Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader",
|
|
562
564
|
"DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK"
|
|
563
565
|
);
|
|
564
566
|
|
|
565
|
-
// TODO
|
|
567
|
+
// TODO in the next major release: remove
|
|
566
568
|
/**
|
|
567
569
|
* Define removed module templates.
|
|
568
570
|
* @param {ModuleTemplates | undefined} moduleTemplates module templates
|
|
@@ -653,7 +655,7 @@ const reduceAffectType = (connections) => {
|
|
|
653
655
|
return affected;
|
|
654
656
|
};
|
|
655
657
|
|
|
656
|
-
/** @typedef {{ id: ModuleId, modules?: Map<Module,
|
|
658
|
+
/** @typedef {{ id: ModuleId, modules?: Map<Module, string>, blocks?: (ChunkId | null)[], sourceTypes?: SourceTypes }} References */
|
|
657
659
|
/** @typedef {Map<Module, WeakTupleMap<EXPECTED_ANY[], EXPECTED_ANY>>} ModuleMemCaches */
|
|
658
660
|
/** @typedef {{ chunk: Chunk, load: () => Promise<EXPECTED_ANY>, create: (loaded: EXPECTED_ANY) => RuntimeModule, chunkGraph: ChunkGraph }} PendingRuntimeModule */
|
|
659
661
|
|
|
@@ -1101,7 +1103,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1101
1103
|
shouldGenerateChunkAssets: new SyncBailHook([]),
|
|
1102
1104
|
/** @type {SyncHook<[]>} */
|
|
1103
1105
|
beforeChunkAssets: new SyncHook([]),
|
|
1104
|
-
// TODO
|
|
1106
|
+
// TODO in the next major release: remove
|
|
1105
1107
|
/** @deprecated */
|
|
1106
1108
|
additionalChunkAssets:
|
|
1107
1109
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[Chunks]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1114,7 +1116,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1114
1116
|
)
|
|
1115
1117
|
),
|
|
1116
1118
|
|
|
1117
|
-
// TODO
|
|
1119
|
+
// TODO in the next major release: deprecate
|
|
1118
1120
|
/** @deprecated */
|
|
1119
1121
|
additionalAssets:
|
|
1120
1122
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1125,7 +1127,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1125
1127
|
() => []
|
|
1126
1128
|
)
|
|
1127
1129
|
),
|
|
1128
|
-
// TODO
|
|
1130
|
+
// TODO in the next major release: remove
|
|
1129
1131
|
/** @deprecated */
|
|
1130
1132
|
optimizeChunkAssets:
|
|
1131
1133
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[Chunks]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1137,7 +1139,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1137
1139
|
"DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS"
|
|
1138
1140
|
)
|
|
1139
1141
|
),
|
|
1140
|
-
// TODO
|
|
1142
|
+
// TODO in the next major release: remove
|
|
1141
1143
|
/** @deprecated */
|
|
1142
1144
|
afterOptimizeChunkAssets:
|
|
1143
1145
|
/** @type {FakeHook<Pick<AsyncSeriesHook<[Chunks]>, "tap" | "tapAsync" | "tapPromise" | "name">>} */
|
|
@@ -1149,10 +1151,10 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1149
1151
|
"DEP_WEBPACK_COMPILATION_AFTER_OPTIMIZE_CHUNK_ASSETS"
|
|
1150
1152
|
)
|
|
1151
1153
|
),
|
|
1152
|
-
// TODO
|
|
1154
|
+
// TODO in the next major release: deprecate
|
|
1153
1155
|
/** @deprecated */
|
|
1154
1156
|
optimizeAssets: processAssetsHook,
|
|
1155
|
-
// TODO
|
|
1157
|
+
// TODO in the next major release: deprecate
|
|
1156
1158
|
/** @deprecated */
|
|
1157
1159
|
afterOptimizeAssets: afterProcessAssetsHook,
|
|
1158
1160
|
|
|
@@ -1464,6 +1466,10 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1464
1466
|
this._restoredUnsafeCacheEntries = new Map();
|
|
1465
1467
|
/** @type {WeakSet<Module>} */
|
|
1466
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();
|
|
1467
1473
|
/** @type {WeakSet<Module>} */
|
|
1468
1474
|
this.codeGeneratedModules = new WeakSet();
|
|
1469
1475
|
/** @type {WeakSet<Module>} */
|
|
@@ -1482,7 +1488,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1482
1488
|
this.buildDependencies = new LazySet();
|
|
1483
1489
|
/** @type {FileSystemDependencies} */
|
|
1484
1490
|
this.optionalBuildDependencies = new LazySet();
|
|
1485
|
-
// TODO
|
|
1491
|
+
// TODO in the next major release: remove
|
|
1486
1492
|
/**
|
|
1487
1493
|
* @deprecated
|
|
1488
1494
|
* @type {{ add: (item: string) => FileSystemDependencies }}
|
|
@@ -1516,8 +1522,8 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1516
1522
|
this._unsafeCachePredicate =
|
|
1517
1523
|
typeof unsafeCache === "function" ? unsafeCache : () => true;
|
|
1518
1524
|
|
|
1519
|
-
/** @type {
|
|
1520
|
-
this.
|
|
1525
|
+
/** @type {LazyBarrels} */
|
|
1526
|
+
this._lazyBarrels = new LazyBarrels(this);
|
|
1521
1527
|
}
|
|
1522
1528
|
|
|
1523
1529
|
getStats() {
|
|
@@ -1930,7 +1936,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
1930
1936
|
);
|
|
1931
1937
|
|
|
1932
1938
|
// lazy barrel: defer re-export targets of side-effect-free modules
|
|
1933
|
-
const hasLazyBarrel = this.
|
|
1939
|
+
const hasLazyBarrel = this._lazyBarrels.classify(module);
|
|
1934
1940
|
|
|
1935
1941
|
/** @type {DependenciesBlock} */
|
|
1936
1942
|
let currentBlock;
|
|
@@ -2011,15 +2017,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2011
2017
|
*/
|
|
2012
2018
|
const processDependency = (dep, index) => {
|
|
2013
2019
|
this.moduleGraph.setParents(dep, currentBlock, module, index);
|
|
2014
|
-
if (
|
|
2015
|
-
hasLazyBarrel &&
|
|
2016
|
-
// TODO remove in webpack 6
|
|
2017
|
-
// It may be missing on custom dependency types not extending the base Dependency
|
|
2018
|
-
"isLazy" in dep &&
|
|
2019
|
-
dep.isLazy()
|
|
2020
|
-
) {
|
|
2021
|
-
return;
|
|
2022
|
-
}
|
|
2020
|
+
if (hasLazyBarrel && this._lazyBarrels.isLazy(dep)) return;
|
|
2023
2021
|
|
|
2024
2022
|
if (this._unsafeCache) {
|
|
2025
2023
|
try {
|
|
@@ -2034,7 +2032,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2034
2032
|
dep,
|
|
2035
2033
|
unsafeCachedModule
|
|
2036
2034
|
);
|
|
2037
|
-
this.
|
|
2035
|
+
this._lazyBarrels.unlazyForDependency(
|
|
2038
2036
|
unsafeCachedModule,
|
|
2039
2037
|
dep,
|
|
2040
2038
|
sortedDependencies
|
|
@@ -2052,7 +2050,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2052
2050
|
dep,
|
|
2053
2051
|
cachedModule
|
|
2054
2052
|
);
|
|
2055
|
-
this.
|
|
2053
|
+
this._lazyBarrels.unlazyForDependency(
|
|
2056
2054
|
cachedModule,
|
|
2057
2055
|
dep,
|
|
2058
2056
|
sortedDependencies
|
|
@@ -2117,7 +2115,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2117
2115
|
dep,
|
|
2118
2116
|
cachedModule
|
|
2119
2117
|
); // a3
|
|
2120
|
-
this.
|
|
2118
|
+
this._lazyBarrels.unlazyForDependency(
|
|
2121
2119
|
cachedModule,
|
|
2122
2120
|
dep,
|
|
2123
2121
|
sortedDependencies
|
|
@@ -2198,7 +2196,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2198
2196
|
// mostly esm dependencies would be used
|
|
2199
2197
|
// so we don't allocate extra string for them
|
|
2200
2198
|
const cacheKey =
|
|
2201
|
-
category ===
|
|
2199
|
+
category === Dependency.ESM_CATEGORY
|
|
2202
2200
|
? resourceIdent
|
|
2203
2201
|
: `${category}${resourceIdent}`;
|
|
2204
2202
|
let list = /** @type {FactoryCacheValue} */ (factoryCacheValue).get(
|
|
@@ -2347,7 +2345,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2347
2345
|
},
|
|
2348
2346
|
(err, result) => {
|
|
2349
2347
|
if (result) {
|
|
2350
|
-
// TODO
|
|
2348
|
+
// TODO in the next major release: remove
|
|
2351
2349
|
// For backward-compat
|
|
2352
2350
|
if (result.module === undefined && result instanceof Module) {
|
|
2353
2351
|
result = {
|
|
@@ -2467,6 +2465,30 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2467
2465
|
context
|
|
2468
2466
|
},
|
|
2469
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
|
+
}
|
|
2470
2492
|
const applyFactoryResultDependencies = () => {
|
|
2471
2493
|
const { fileDependencies, contextDependencies, missingDependencies } =
|
|
2472
2494
|
/** @type {ModuleFactoryResult} */ (factoryResult);
|
|
@@ -2482,6 +2504,9 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2482
2504
|
};
|
|
2483
2505
|
if (err) {
|
|
2484
2506
|
if (factoryResult) applyFactoryResultDependencies();
|
|
2507
|
+
if (originModule) {
|
|
2508
|
+
this._modulesWithUnresolvedDependencies.add(originModule);
|
|
2509
|
+
}
|
|
2485
2510
|
if (dependencies.every((d) => d.optional)) {
|
|
2486
2511
|
this.warnings.push(err);
|
|
2487
2512
|
return callback();
|
|
@@ -2662,10 +2687,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
|
|
|
2662
2687
|
// lazy barrel: on the first call the module is unclassified, so this only
|
|
2663
2688
|
// records the ids and `processModuleDependencies` replays them. Later the
|
|
2664
2689
|
// module is built and never re-walked, so the targets are built here.
|
|
2665
|
-
const unlazyItems = this.
|
|
2666
|
-
module,
|
|
2667
|
-
dependencies
|
|
2668
|
-
);
|
|
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 =
|
|
@@ -4621,9 +4734,10 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4621
4734
|
* is over. `runtimeRequirementInTree` is a sync hook, so a tap cannot await
|
|
4622
4735
|
* the load itself; anything the tap reads off the requirement set must be
|
|
4623
4736
|
* captured before queueing, since `create` runs later.
|
|
4737
|
+
* @template T
|
|
4624
4738
|
* @param {Chunk} chunk target chunk
|
|
4625
|
-
* @param {() => Promise<
|
|
4626
|
-
* @param {(loaded:
|
|
4739
|
+
* @param {() => Promise<T>} load resolves the runtime module implementation
|
|
4740
|
+
* @param {(loaded: T) => RuntimeModule} create builds the runtime module from it
|
|
4627
4741
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
4628
4742
|
* @returns {void}
|
|
4629
4743
|
*/
|
|
@@ -4655,7 +4769,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4655
4769
|
.then(() => this._attachPendingRuntimeModules(callback), callback);
|
|
4656
4770
|
}
|
|
4657
4771
|
|
|
4658
|
-
// TODO
|
|
4772
|
+
// TODO in the next major release: make chunkGraph argument non-optional
|
|
4659
4773
|
/**
|
|
4660
4774
|
* Adds runtime module.
|
|
4661
4775
|
* @param {Chunk} chunk target chunk
|
|
@@ -4773,7 +4887,7 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
4773
4887
|
const name = options.name;
|
|
4774
4888
|
if (name) {
|
|
4775
4889
|
const entrypoint = this.namedChunkGroups.get(name);
|
|
4776
|
-
if (entrypoint
|
|
4890
|
+
if (entrypoint !== undefined && entrypoint.isEntrypoint()) {
|
|
4777
4891
|
if (module) {
|
|
4778
4892
|
entrypoint.addOrigin(module, loc, request);
|
|
4779
4893
|
}
|
|
@@ -5154,8 +5268,12 @@ Or do you want to use the entrypoints '${name}' and '${runtime}' independently o
|
|
|
5154
5268
|
});
|
|
5155
5269
|
moduleHashDigest = moduleHash.digest(hashDigest);
|
|
5156
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.
|
|
5157
5273
|
errors.push(
|
|
5158
|
-
|
|
5274
|
+
WebpackError.isWebpackError(err) && err.module
|
|
5275
|
+
? err
|
|
5276
|
+
: new (getModuleHashingError())(module, /** @type {Error} */ (err))
|
|
5159
5277
|
);
|
|
5160
5278
|
moduleHashDigest = "XXXXXX";
|
|
5161
5279
|
}
|
|
@@ -5923,7 +6041,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
5923
6041
|
);
|
|
5924
6042
|
|
|
5925
6043
|
assetCacheItem.get((err, sourceFromCache) => {
|
|
5926
|
-
/** @type {
|
|
6044
|
+
/** @type {RenderManifestEntryTemplated["filenameTemplate"]} */
|
|
5927
6045
|
let filenameTemplate;
|
|
5928
6046
|
/** @type {string} */
|
|
5929
6047
|
let file;
|
|
@@ -6044,7 +6162,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6044
6162
|
/**
|
|
6045
6163
|
* Returns interpolated path.
|
|
6046
6164
|
* @template {PathData} [T=PathData]
|
|
6047
|
-
* @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
|
|
6048
6166
|
* @param {T=} data context data
|
|
6049
6167
|
* @returns {string} interpolated path
|
|
6050
6168
|
*/
|
|
@@ -6061,7 +6179,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6061
6179
|
/**
|
|
6062
6180
|
* Gets path with info.
|
|
6063
6181
|
* @template {PathData} [T=PathData]
|
|
6064
|
-
* @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
|
|
6065
6183
|
* @param {T=} data context data
|
|
6066
6184
|
* @returns {InterpolatedPathAndAssetInfo} interpolated path and asset info
|
|
6067
6185
|
*/
|
|
@@ -6078,7 +6196,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6078
6196
|
/**
|
|
6079
6197
|
* Returns interpolated path.
|
|
6080
6198
|
* @template {PathData} [T=PathData]
|
|
6081
|
-
* @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
|
|
6082
6200
|
* @param {T} data context data
|
|
6083
6201
|
* @returns {string} interpolated path
|
|
6084
6202
|
*/
|
|
@@ -6093,7 +6211,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6093
6211
|
/**
|
|
6094
6212
|
* Gets asset path with info.
|
|
6095
6213
|
* @template {PathData} [T=PathData]
|
|
6096
|
-
* @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
|
|
6097
6215
|
* @param {T} data context data
|
|
6098
6216
|
* @returns {InterpolatedPathAndAssetInfo} interpolated path and asset info
|
|
6099
6217
|
*/
|
|
@@ -6267,7 +6385,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6267
6385
|
reportErrors();
|
|
6268
6386
|
|
|
6269
6387
|
// for backward-compat temporary set the chunk graph
|
|
6270
|
-
// TODO
|
|
6388
|
+
// TODO in the next major release: drop it
|
|
6271
6389
|
const old = this.chunkGraph;
|
|
6272
6390
|
this.chunkGraph = chunkGraph;
|
|
6273
6391
|
this.processRuntimeRequirements({
|
|
@@ -6542,7 +6660,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6542
6660
|
const usedIds = new Set();
|
|
6543
6661
|
|
|
6544
6662
|
for (const module of this.modules) {
|
|
6545
|
-
if (module.
|
|
6663
|
+
if (module.is("runtime")) continue;
|
|
6546
6664
|
const moduleId = chunkGraph.getModuleId(module);
|
|
6547
6665
|
if (moduleId === null) continue;
|
|
6548
6666
|
if (usedIds.has(moduleId)) {
|
|
@@ -6598,7 +6716,7 @@ This prevents using hashes of each other and should be avoided.`);
|
|
|
6598
6716
|
// Hide from typescript
|
|
6599
6717
|
const compilationPrototype = Compilation.prototype;
|
|
6600
6718
|
|
|
6601
|
-
// TODO
|
|
6719
|
+
// TODO in the next major release: remove
|
|
6602
6720
|
Object.defineProperty(compilationPrototype, "modifyHash", {
|
|
6603
6721
|
writable: false,
|
|
6604
6722
|
enumerable: false,
|
|
@@ -6610,7 +6728,7 @@ Object.defineProperty(compilationPrototype, "modifyHash", {
|
|
|
6610
6728
|
}
|
|
6611
6729
|
});
|
|
6612
6730
|
|
|
6613
|
-
// TODO
|
|
6731
|
+
// TODO in the next major release: remove
|
|
6614
6732
|
Object.defineProperty(compilationPrototype, "cache", {
|
|
6615
6733
|
enumerable: false,
|
|
6616
6734
|
configurable: false,
|
|
@@ -6629,7 +6747,7 @@ Object.defineProperty(compilationPrototype, "cache", {
|
|
|
6629
6747
|
set: util.deprecate(
|
|
6630
6748
|
/**
|
|
6631
6749
|
* Handles the value callback for this hook.
|
|
6632
|
-
* @param {
|
|
6750
|
+
* @param {Cache} _v value
|
|
6633
6751
|
*/
|
|
6634
6752
|
(_v) => {},
|
|
6635
6753
|
"Compilation.cache was removed in favor of Compilation.getCache()",
|