@depup/webpack 5.111.1-depup.2 → 5.112.0-depup.1
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 +6 -8
- package/changes.json +8 -16
- 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 +55 -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 +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
|
@@ -6,25 +6,98 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { RawSource } = require("webpack-sources");
|
|
9
|
-
const Compilation = require("
|
|
10
|
-
const HotUpdateChunk = require("./HotUpdateChunk");
|
|
9
|
+
const Compilation = require("../Compilation");
|
|
11
10
|
|
|
12
|
-
/** @import Compiler from "
|
|
13
|
-
/** @import Chunk, { ChunkName, ChunkId } from "
|
|
14
|
-
/** @import { AssetInfo } from "
|
|
11
|
+
/** @import Compiler from "../Compiler" */
|
|
12
|
+
/** @import Chunk, { ChunkName, ChunkId } from "../graph/Chunk" */
|
|
13
|
+
/** @import { AssetInfo } from "../Compilation" */
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
|
-
* @
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* ManifestEntrypoint,
|
|
21
|
-
* ManifestItem
|
|
22
|
-
* } from "../declarations/plugins/ManifestPlugin"
|
|
16
|
+
* @inline
|
|
17
|
+
* @minLength 1
|
|
18
|
+
* @typedef {string} NonEmptyString
|
|
23
19
|
*/
|
|
24
20
|
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
/**
|
|
22
|
+
* @inline
|
|
23
|
+
* @minLength 1
|
|
24
|
+
* @absolutePath false
|
|
25
|
+
* @typedef {string} NonEmptyRelativePath
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The name of file.
|
|
30
|
+
* @inline
|
|
31
|
+
* @typedef {NonEmptyString} ManifestImportName
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The entrypoint name.
|
|
36
|
+
* @inline
|
|
37
|
+
* @typedef {NonEmptyString} ManifestParentName
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Describes a manifest entrypoint.
|
|
42
|
+
* @definition
|
|
43
|
+
* @typedef {object} ManifestEntrypoint
|
|
44
|
+
* @property {ManifestImportName[]} imports Contains the names of entrypoints.
|
|
45
|
+
* @property {ManifestParentName[]=} parents Contains the names of parent entrypoints.
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Describes a manifest asset that links the emitted path to the producing asset.
|
|
50
|
+
* @definition
|
|
51
|
+
* @typedef {object} ManifestItem
|
|
52
|
+
* @property {string} file The path absolute URL (this indicates that the path is absolute from the server's root directory) to file.
|
|
53
|
+
* @property {string=} src The source path relative to the context.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The manifest object.
|
|
58
|
+
* @typedef {object} ManifestObjectKnown
|
|
59
|
+
* @property {Record<string, ManifestItem>} assets Contains the names of assets.
|
|
60
|
+
* @property {Record<string, ManifestEntrypoint>} entrypoints Contains the names of entrypoints.
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @additionalProperties
|
|
65
|
+
* @typedef {Record<string, EXPECTED_ANY>} ManifestObjectUnknown
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @definition
|
|
70
|
+
* @typedef {ManifestObjectKnown & ManifestObjectUnknown} ManifestObject
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @schema plugins/ManifestPlugin
|
|
75
|
+
* @typedef {object} ManifestPluginOptions
|
|
76
|
+
* @property {boolean=} entrypoints Enables/disables generation of the entrypoints manifest section.
|
|
77
|
+
* @property {NonEmptyRelativePath=} filename Specifies the filename of the output file on disk. By default the plugin will emit `manifest.json` inside the 'output.path' directory.
|
|
78
|
+
* @property {import("./ManifestPlugin").Filter=} filter Allows filtering the files which make up the manifest.
|
|
79
|
+
* @property {import("./ManifestPlugin").Generate=} generate A function that receives the manifest object, modifies it, and returns the modified manifest.
|
|
80
|
+
* @property {string=} prefix Specifies a path prefix for all keys in the manifest.
|
|
81
|
+
* @property {import("./ManifestPlugin").Serialize=} serialize A function that receives the manifest object and returns the manifest string.
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @inline
|
|
86
|
+
* @tsType import('./ManifestPlugin').Filter
|
|
87
|
+
* @typedef {(item: ManifestItem) => boolean} Filter
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @inline
|
|
92
|
+
* @tsType import('./ManifestPlugin').Generate
|
|
93
|
+
* @typedef {(manifest: ManifestObject) => ManifestObject} Generate
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @inline
|
|
98
|
+
* @tsType import('./ManifestPlugin').Serialize
|
|
99
|
+
* @typedef {(manifest: ManifestObject) => string} Serialize
|
|
100
|
+
*/
|
|
28
101
|
|
|
29
102
|
const PLUGIN_NAME = "ManifestPlugin";
|
|
30
103
|
|
|
@@ -64,13 +137,14 @@ class ManifestPlugin {
|
|
|
64
137
|
apply(compiler) {
|
|
65
138
|
compiler.hooks.validate.tap(PLUGIN_NAME, () => {
|
|
66
139
|
compiler.validate(
|
|
67
|
-
() => require("
|
|
140
|
+
() => require("../../schemas/plugins/ManifestPlugin.json"),
|
|
68
141
|
this.options,
|
|
69
142
|
{
|
|
70
143
|
name: "ManifestPlugin",
|
|
71
144
|
baseDataPath: "options"
|
|
72
145
|
},
|
|
73
|
-
(options) =>
|
|
146
|
+
(options) =>
|
|
147
|
+
require("../../schemas/plugins/ManifestPlugin.check")(options)
|
|
74
148
|
);
|
|
75
149
|
});
|
|
76
150
|
|
|
@@ -211,7 +285,7 @@ class ManifestPlugin {
|
|
|
211
285
|
};
|
|
212
286
|
|
|
213
287
|
for (const chunk of compilation.chunks) {
|
|
214
|
-
if (chunk
|
|
288
|
+
if (chunk.isHotUpdate()) continue;
|
|
215
289
|
|
|
216
290
|
for (const auxiliaryFile of chunk.auxiliaryFiles) {
|
|
217
291
|
handleFile(auxiliaryFile);
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Alexander Akait @alexander-akait
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const { RawSource } = require("webpack-sources");
|
|
9
|
+
const Compilation = require("../Compilation");
|
|
10
|
+
const CssModulesPlugin = require("../css/CssModulesPlugin");
|
|
11
|
+
const SSRManifestAutoPublicPathWarning = require("../errors/SSRManifestAutoPublicPathWarning");
|
|
12
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
13
|
+
const { first } = require("../util/SetHelpers");
|
|
14
|
+
const { makePathsRelative } = require("../util/identifier");
|
|
15
|
+
|
|
16
|
+
/** @import CompilationType from "../Compilation" */
|
|
17
|
+
/** @import Compiler from "../Compiler" */
|
|
18
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
19
|
+
/** @import ChunkGraph from "../graph/ChunkGraph" */
|
|
20
|
+
/** @import ChunkGroup from "../graph/ChunkGroup" */
|
|
21
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
22
|
+
/** @import Module from "../module/Module" */
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @inline
|
|
26
|
+
* @minLength 1
|
|
27
|
+
* @absolutePath false
|
|
28
|
+
* @typedef {string} NonEmptyRelativePath
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @inline
|
|
33
|
+
* @absolutePath true
|
|
34
|
+
* @typedef {string} AbsolutePath
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The base directory used to compute the source-module keys (defaults to the compiler context).
|
|
39
|
+
* @since 5.111.0
|
|
40
|
+
* @inline
|
|
41
|
+
* @typedef {AbsolutePath} SSRManifestContext
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Specifies the filename of the emitted manifest on disk. By default the plugin will emit `ssr-manifest.json` inside the 'output.path' directory.
|
|
46
|
+
* @since 5.111.0
|
|
47
|
+
* @inline
|
|
48
|
+
* @typedef {NonEmptyRelativePath} SSRManifestFilename
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @schema plugins/SSRManifestPlugin
|
|
53
|
+
* @typedef {object} SSRManifestPluginOptions
|
|
54
|
+
* @property {SSRManifestContext=} context
|
|
55
|
+
* @property {SSRManifestFilename=} filename
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
const PLUGIN_NAME = "SSRManifestPlugin";
|
|
59
|
+
const DEFAULT_FILENAME = "ssr-manifest.json";
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Whether two chunks are fetched together, i.e. one is a split-out part of the
|
|
63
|
+
* other rather than something it lazily loads later.
|
|
64
|
+
* @param {Chunk} a a chunk
|
|
65
|
+
* @param {Chunk} b another chunk
|
|
66
|
+
* @returns {boolean} true when both belong to a common chunk group
|
|
67
|
+
*/
|
|
68
|
+
const areLoadedTogether = (a, b) => {
|
|
69
|
+
for (const group of a.groupsIterable) {
|
|
70
|
+
if (b.isInGroup(group)) return true;
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Reduces the module graph to edges between chunks fetched together, walking
|
|
77
|
+
* each module's connections once rather than once per chunk containing it.
|
|
78
|
+
* @param {Iterable<Module>} modules the compilation's modules
|
|
79
|
+
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
80
|
+
* @param {ModuleGraph} moduleGraph the module graph
|
|
81
|
+
* @returns {Map<Chunk, Set<Chunk>>} the chunks each chunk depends on
|
|
82
|
+
*/
|
|
83
|
+
const getChunkDependencies = (modules, chunkGraph, moduleGraph) => {
|
|
84
|
+
/** @type {Map<Chunk, Set<Chunk>>} */
|
|
85
|
+
const dependencies = new Map();
|
|
86
|
+
/** @type {Set<Chunk>} */
|
|
87
|
+
const targets = new Set();
|
|
88
|
+
|
|
89
|
+
for (const module of modules) {
|
|
90
|
+
targets.clear();
|
|
91
|
+
for (const connection of moduleGraph.getOutgoingConnections(module)) {
|
|
92
|
+
const dependency = connection.module;
|
|
93
|
+
if (dependency === null) continue;
|
|
94
|
+
for (const target of chunkGraph.getModuleChunksIterable(dependency)) {
|
|
95
|
+
targets.add(target);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (targets.size === 0) continue;
|
|
99
|
+
|
|
100
|
+
for (const chunk of chunkGraph.getModuleChunksIterable(module)) {
|
|
101
|
+
/** @type {Set<Chunk> | undefined} */
|
|
102
|
+
let edges;
|
|
103
|
+
for (const target of targets) {
|
|
104
|
+
if (target === chunk) continue;
|
|
105
|
+
if (!areLoadedTogether(target, chunk)) continue;
|
|
106
|
+
if (edges === undefined) {
|
|
107
|
+
edges = dependencies.get(chunk);
|
|
108
|
+
if (edges === undefined) dependencies.set(chunk, (edges = new Set()));
|
|
109
|
+
}
|
|
110
|
+
edges.add(target);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return dependencies;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Collects the chunks the browser needs before a chunk's modules can run: the
|
|
120
|
+
* split-out chunks it depends on, and any async ancestor it is reached through.
|
|
121
|
+
* Without them a consumer preloading a rendered module would still waterfall.
|
|
122
|
+
* Only follows dependencies, never importers, so a shared chunk does not drag
|
|
123
|
+
* in the routes that happen to use it.
|
|
124
|
+
* @param {Chunk} chunk the chunk a rendered module lives in
|
|
125
|
+
* @param {Map<Chunk, Set<Chunk>>} dependencies the precomputed chunk edges
|
|
126
|
+
* @returns {Set<Chunk>} the chunks to list for that module
|
|
127
|
+
*/
|
|
128
|
+
const getRequiredChunks = (chunk, dependencies) => {
|
|
129
|
+
/** @type {Set<Chunk>} */
|
|
130
|
+
const chunks = new Set([chunk]);
|
|
131
|
+
|
|
132
|
+
for (const current of chunks) {
|
|
133
|
+
const edges = dependencies.get(current);
|
|
134
|
+
if (edges === undefined) continue;
|
|
135
|
+
for (const target of edges) chunks.add(target);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** @type {Set<ChunkGroup>} */
|
|
139
|
+
const ancestors = new Set(chunk.groupsIterable);
|
|
140
|
+
for (const group of ancestors) {
|
|
141
|
+
const isEntrypoint = group.isEntrypoint();
|
|
142
|
+
if (isEntrypoint) {
|
|
143
|
+
// `entry.runtime` and `optimization.runtimeChunk` put the runtime that
|
|
144
|
+
// loads this chunk in a chunk of its own, which is needed to run it
|
|
145
|
+
const runtimeChunk = group.getRuntimeChunk();
|
|
146
|
+
if (runtimeChunk) chunks.add(runtimeChunk);
|
|
147
|
+
}
|
|
148
|
+
for (const parent of group.parentsIterable) {
|
|
149
|
+
// an initial parent is served with the document already, except under
|
|
150
|
+
// `dependOn`, where it carries what this entry needs to run
|
|
151
|
+
if (parent.isInitial() && !isEntrypoint) continue;
|
|
152
|
+
for (const parentChunk of parent.chunks) chunks.add(parentChunk);
|
|
153
|
+
ancestors.add(parent);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return chunks;
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Whether a chunk file is a stylesheet, asked of what webpack recorded when it
|
|
162
|
+
* emitted the asset rather than of the file's extension, which is configurable.
|
|
163
|
+
* @param {CompilationType} compilation the compilation
|
|
164
|
+
* @param {string} file a file of a chunk that carries css
|
|
165
|
+
* @returns {boolean} true when the file is that chunk's stylesheet
|
|
166
|
+
*/
|
|
167
|
+
const isStylesheet = (compilation, file) => {
|
|
168
|
+
const info = compilation.assetsInfo.get(file);
|
|
169
|
+
// every javascript chunk asset carries `javascriptModule`, whichever way it
|
|
170
|
+
// is set; the stylesheet of a css-carrying chunk is the one that does not
|
|
171
|
+
return info !== undefined && info.javascriptModule === undefined;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* The required chunks with the stylesheet-carrying ones first, in the order
|
|
176
|
+
* their rules cascade — the rest keep theirs, because a preload does not care.
|
|
177
|
+
* The cascade is read from the group the rendered module is reached through,
|
|
178
|
+
* the same rule the extracted HTML writes its `<link>` tags with.
|
|
179
|
+
* @param {Set<Chunk>} required the chunks a rendered module needs
|
|
180
|
+
* @param {Chunk} chunk the chunk the module lives in
|
|
181
|
+
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
182
|
+
* @returns {Iterable<Chunk>} the chunks, stylesheet-carrying ones first
|
|
183
|
+
*/
|
|
184
|
+
const orderByCascade = (required, chunk, chunkGraph) => {
|
|
185
|
+
const group = first(chunk.groupsIterable);
|
|
186
|
+
if (group === undefined) return required;
|
|
187
|
+
const stylesheets = CssModulesPlugin.getCssChunksInCascadeOrder(
|
|
188
|
+
required,
|
|
189
|
+
group,
|
|
190
|
+
chunkGraph
|
|
191
|
+
);
|
|
192
|
+
if (stylesheets.length < 2) return required;
|
|
193
|
+
const ordered = new Set(stylesheets);
|
|
194
|
+
for (const other of required) ordered.add(other);
|
|
195
|
+
return ordered;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
class SSRManifestPlugin {
|
|
199
|
+
/**
|
|
200
|
+
* Creates an instance of SSRManifestPlugin.
|
|
201
|
+
* @param {SSRManifestPluginOptions=} options options
|
|
202
|
+
*/
|
|
203
|
+
constructor(options = {}) {
|
|
204
|
+
/** @type {SSRManifestPluginOptions} */
|
|
205
|
+
this.options = options;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
210
|
+
* @param {Compiler} compiler the compiler instance
|
|
211
|
+
* @returns {void}
|
|
212
|
+
*/
|
|
213
|
+
apply(compiler) {
|
|
214
|
+
compiler.hooks.validate.tap(PLUGIN_NAME, () => {
|
|
215
|
+
compiler.validate(
|
|
216
|
+
() => require("../../schemas/plugins/SSRManifestPlugin.json"),
|
|
217
|
+
this.options,
|
|
218
|
+
{ name: PLUGIN_NAME, baseDataPath: "options" },
|
|
219
|
+
(options) =>
|
|
220
|
+
require("../../schemas/plugins/SSRManifestPlugin.check")(options)
|
|
221
|
+
);
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
const context = this.options.context || compiler.context;
|
|
225
|
+
const filename = this.options.filename || DEFAULT_FILENAME;
|
|
226
|
+
|
|
227
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
228
|
+
// The manifest is what a server renders its `<link>` tags from, so this
|
|
229
|
+
// is the build whose css runtime meets stylesheets it did not create.
|
|
230
|
+
compilation.hooks.additionalTreeRuntimeRequirements.tap(
|
|
231
|
+
PLUGIN_NAME,
|
|
232
|
+
(chunk, set) => {
|
|
233
|
+
set.add(RuntimeGlobals.hasServerRenderedStylesheets);
|
|
234
|
+
}
|
|
235
|
+
);
|
|
236
|
+
|
|
237
|
+
compilation.hooks.processAssets.tap(
|
|
238
|
+
{
|
|
239
|
+
name: PLUGIN_NAME,
|
|
240
|
+
// After RealContentHashPlugin so filenames are final and the emitted
|
|
241
|
+
// manifest is not rewritten (which would invalidate the cache pack).
|
|
242
|
+
stage: Compilation.PROCESS_ASSETS_STAGE_REPORT
|
|
243
|
+
},
|
|
244
|
+
() => {
|
|
245
|
+
const { chunkGraph, moduleGraph } = compilation;
|
|
246
|
+
const publicPath = compilation.getPath(
|
|
247
|
+
compilation.outputOptions.publicPath || ""
|
|
248
|
+
);
|
|
249
|
+
// "auto" is resolved from the script url, which a manifest cannot
|
|
250
|
+
// do; root-absolute paths inject from any route instead.
|
|
251
|
+
let base = publicPath;
|
|
252
|
+
if (publicPath === "auto") {
|
|
253
|
+
base = "/";
|
|
254
|
+
compilation.warnings.push(new SSRManifestAutoPublicPathWarning());
|
|
255
|
+
}
|
|
256
|
+
const dependencies = getChunkDependencies(
|
|
257
|
+
compilation.modules,
|
|
258
|
+
chunkGraph,
|
|
259
|
+
moduleGraph
|
|
260
|
+
);
|
|
261
|
+
// A source map is named by the asset it belongs to, so it needs no
|
|
262
|
+
// guess at the extension either.
|
|
263
|
+
/** @type {Set<string>} */
|
|
264
|
+
const sourceMaps = new Set();
|
|
265
|
+
for (const [, info] of compilation.assetsInfo) {
|
|
266
|
+
const related = info.related && info.related.sourceMap;
|
|
267
|
+
if (typeof related === "string") {
|
|
268
|
+
sourceMaps.add(related);
|
|
269
|
+
} else if (Array.isArray(related)) {
|
|
270
|
+
for (const map of related) sourceMaps.add(map);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/** @type {Map<string, { files: Set<string>, stylesheets: Set<string> }>} */
|
|
275
|
+
const manifest = new Map();
|
|
276
|
+
|
|
277
|
+
for (const chunk of compilation.chunks) {
|
|
278
|
+
if (chunk.isHotUpdate()) continue;
|
|
279
|
+
|
|
280
|
+
/** @type {string[]} */
|
|
281
|
+
const files = [];
|
|
282
|
+
/** @type {string[]} */
|
|
283
|
+
const stylesheets = [];
|
|
284
|
+
const requiredChunks = getRequiredChunks(chunk, dependencies);
|
|
285
|
+
for (const required of orderByCascade(
|
|
286
|
+
requiredChunks,
|
|
287
|
+
chunk,
|
|
288
|
+
chunkGraph
|
|
289
|
+
)) {
|
|
290
|
+
const hasCss = CssModulesPlugin.chunkHasCss(required, chunkGraph);
|
|
291
|
+
for (const file of required.files) {
|
|
292
|
+
// A stylesheet is kept apart: its place is in the cascade,
|
|
293
|
+
// which the sort below would undo.
|
|
294
|
+
if (hasCss && isStylesheet(compilation, file)) {
|
|
295
|
+
stylesheets.push(base + file);
|
|
296
|
+
} else {
|
|
297
|
+
files.push(base + file);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// Source maps are debug-only; keep them out of the preload manifest.
|
|
301
|
+
for (const file of required.auxiliaryFiles) {
|
|
302
|
+
if (!sourceMaps.has(file)) files.push(base + file);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
if (files.length === 0 && stylesheets.length === 0) continue;
|
|
306
|
+
|
|
307
|
+
for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
|
|
308
|
+
for (const source of module.getSourceModules()) {
|
|
309
|
+
if (!source.is("normal")) continue;
|
|
310
|
+
const path = makePathsRelative(context, source.resource);
|
|
311
|
+
// the same file in two layers is two modules emitting into
|
|
312
|
+
// different chunks, so the layer belongs in the key
|
|
313
|
+
const key = source.layer ? `(${source.layer})${path}` : path;
|
|
314
|
+
let entry = manifest.get(key);
|
|
315
|
+
if (entry === undefined) {
|
|
316
|
+
manifest.set(
|
|
317
|
+
key,
|
|
318
|
+
(entry = { files: new Set(), stylesheets: new Set() })
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
for (const file of files) entry.files.add(file);
|
|
322
|
+
for (const file of stylesheets) entry.stylesheets.add(file);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/** @type {Record<string, string[]>} */
|
|
328
|
+
const result = {};
|
|
329
|
+
for (const key of [...manifest.keys()].sort()) {
|
|
330
|
+
const entry =
|
|
331
|
+
/** @type {{ files: Set<string>, stylesheets: Set<string> }} */
|
|
332
|
+
(manifest.get(key));
|
|
333
|
+
// Order-insensitive files sort for a stable manifest; the
|
|
334
|
+
// stylesheets keep the cascade they were collected in.
|
|
335
|
+
result[key] = [...[...entry.files].sort(), ...entry.stylesheets];
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
compilation.emitAsset(
|
|
339
|
+
filename,
|
|
340
|
+
new RawSource(JSON.stringify(result, null, 2)),
|
|
341
|
+
{ manifest: true }
|
|
342
|
+
);
|
|
343
|
+
}
|
|
344
|
+
);
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
module.exports = SSRManifestPlugin;
|
|
@@ -9,7 +9,7 @@ const AnalyzableBailoutsWarning = require("../errors/AnalyzableBailoutsWarning")
|
|
|
9
9
|
|
|
10
10
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
11
11
|
/** @import Compiler from "../Compiler" */
|
|
12
|
-
/** @import Module from "../Module" */
|
|
12
|
+
/** @import Module from "../module/Module" */
|
|
13
13
|
/** @import { BailoutDetails } from "../errors/AnalyzableBailoutsWarning" */
|
|
14
14
|
|
|
15
15
|
const PLUGIN_NAME = "AnalyzableBailoutsPlugin";
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
const AsyncChunkWaterfallWarning = require("../errors/AsyncChunkWaterfallWarning");
|
|
9
9
|
|
|
10
10
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
11
|
-
/** @import ChunkGroup from "../ChunkGroup" */
|
|
11
|
+
/** @import ChunkGroup from "../graph/ChunkGroup" */
|
|
12
12
|
/** @import Compiler from "../Compiler" */
|
|
13
13
|
/** @import { WaterfallDetails } from "../errors/AsyncChunkWaterfallWarning" */
|
|
14
14
|
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const ContextModule = require("../context/ContextModule");
|
|
9
8
|
const BroadContextsWarning = require("../errors/BroadContextsWarning");
|
|
10
9
|
const { compareStrings } = require("../util/comparators");
|
|
11
10
|
const getModuleSize = require("./getModuleSize");
|
|
12
11
|
|
|
13
12
|
/** @typedef {import("../../declarations/WebpackOptions").PerformanceOptions} PerformanceOptions */
|
|
14
13
|
/** @typedef {import("../Compiler")} Compiler */
|
|
15
|
-
/** @typedef {import("../Dependency")} Dependency */
|
|
16
|
-
/** @typedef {import("../
|
|
14
|
+
/** @typedef {import("../graph/Dependency")} Dependency */
|
|
15
|
+
/** @typedef {import("../context/ContextModule")} ContextModule */
|
|
16
|
+
/** @typedef {import("../module/Module")} Module */
|
|
17
17
|
/** @typedef {import("../errors/BroadContextsWarning").BroadContextDetails} BroadContextDetails */
|
|
18
18
|
|
|
19
19
|
const PLUGIN_NAME = "BroadContextsPlugin";
|
|
@@ -76,7 +76,7 @@ class BroadContextsPlugin {
|
|
|
76
76
|
const broad = [];
|
|
77
77
|
|
|
78
78
|
for (const module of compilation.modules) {
|
|
79
|
-
if (!(
|
|
79
|
+
if (!module.is("context")) continue;
|
|
80
80
|
if (!isBroad(module)) continue;
|
|
81
81
|
|
|
82
82
|
// One file is reached under several requests — with and without its
|
|
@@ -5,12 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const RuntimeModule = require("../RuntimeModule");
|
|
9
8
|
const CacheEffectivenessWarning = require("../errors/CacheEffectivenessWarning");
|
|
10
9
|
|
|
11
10
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
12
11
|
/** @import Compiler from "../Compiler" */
|
|
13
|
-
/** @import { BuildInfo } from "../Module" */
|
|
12
|
+
/** @import { BuildInfo } from "../module/Module" */
|
|
14
13
|
|
|
15
14
|
const PLUGIN_NAME = "CacheEffectivenessPlugin";
|
|
16
15
|
|
|
@@ -51,7 +50,7 @@ class CacheEffectivenessPlugin {
|
|
|
51
50
|
for (const module of compilation.modules) {
|
|
52
51
|
// Runtime modules are generated per compilation, never built and
|
|
53
52
|
// never cached, so counting them makes a cold build look warm.
|
|
54
|
-
if (module
|
|
53
|
+
if (module.is("runtime")) continue;
|
|
55
54
|
|
|
56
55
|
total++;
|
|
57
56
|
|
|
@@ -9,7 +9,7 @@ const ConflictingResourceHintsWarning = require("../errors/ConflictingResourceHi
|
|
|
9
9
|
const { compareStrings } = require("../util/comparators");
|
|
10
10
|
|
|
11
11
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
12
|
-
/** @import ChunkGroup from "../ChunkGroup" */
|
|
12
|
+
/** @import ChunkGroup from "../graph/ChunkGroup" */
|
|
13
13
|
/** @import Compiler from "../Compiler" */
|
|
14
14
|
/**
|
|
15
15
|
* @import {
|
|
@@ -8,12 +8,11 @@
|
|
|
8
8
|
const DuplicateModulesWarning = require("../errors/DuplicateModulesWarning");
|
|
9
9
|
const { compareStrings } = require("../util/comparators");
|
|
10
10
|
const getModuleSize = require("./getModuleSize");
|
|
11
|
-
const getSourceModules = require("./getSourceModules");
|
|
12
11
|
|
|
13
12
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
14
|
-
/** @import Chunk from "../Chunk" */
|
|
13
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
15
14
|
/** @import Compiler from "../Compiler" */
|
|
16
|
-
/** @import Module from "../Module" */
|
|
15
|
+
/** @import Module from "../module/Module" */
|
|
17
16
|
/** @import { DuplicateModuleDetails } from "../errors/DuplicateModulesWarning" */
|
|
18
17
|
|
|
19
18
|
const PLUGIN_NAME = "DuplicateModulesPlugin";
|
|
@@ -71,7 +70,7 @@ class DuplicateModulesPlugin {
|
|
|
71
70
|
for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
|
|
72
71
|
// Scope hoisting makes several modules into one, so a module
|
|
73
72
|
// concatenated into two chunks is in neither on its own.
|
|
74
|
-
for (const inner of getSourceModules(
|
|
73
|
+
for (const inner of module.getSourceModules()) {
|
|
75
74
|
let entry = copies.get(inner);
|
|
76
75
|
|
|
77
76
|
if (entry === undefined) {
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const DuplicatePackagesWarning = require("
|
|
8
|
+
const DuplicatePackagesWarning = require("../errors/DuplicatePackagesWarning");
|
|
9
9
|
|
|
10
10
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
11
11
|
/** @import Compiler from "../Compiler" */
|
|
12
|
-
/** @import Module from "../Module" */
|
|
13
|
-
/** @import NormalModule from "../NormalModule" */
|
|
12
|
+
/** @import Module from "../module/Module" */
|
|
13
|
+
/** @import NormalModule from "../module/NormalModule" */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* One copy of a package, identified by the directory its description file
|
|
@@ -11,8 +11,8 @@ const getModuleSize = require("./getModuleSize");
|
|
|
11
11
|
|
|
12
12
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
13
13
|
/** @import Compiler from "../Compiler" */
|
|
14
|
-
/** @import Module from "../Module" */
|
|
15
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
14
|
+
/** @import Module from "../module/Module" */
|
|
15
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
16
16
|
/** @import { DynamicExportsDetails } from "../errors/DynamicExportsWarning" */
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const EvalUsageWarning = require("../errors/EvalUsageWarning");
|
|
8
9
|
const {
|
|
9
10
|
JAVASCRIPT_MODULE_TYPE_AUTO,
|
|
10
11
|
JAVASCRIPT_MODULE_TYPE_DYNAMIC,
|
|
11
12
|
JAVASCRIPT_MODULE_TYPE_ESM
|
|
12
|
-
} = require("../ModuleTypeConstants");
|
|
13
|
-
const EvalUsageWarning = require("../errors/EvalUsageWarning");
|
|
13
|
+
} = require("../module/ModuleTypeConstants");
|
|
14
14
|
const { getBuildDiagnostics } = require("../util/buildDiagnostics");
|
|
15
15
|
const { compareStrings } = require("../util/comparators");
|
|
16
16
|
|
|
17
17
|
/** @import { PerformanceOptions } from "../../declarations/WebpackOptions" */
|
|
18
18
|
/** @import Compiler from "../Compiler" */
|
|
19
|
-
/** @import { BuildInfo } from "../Module" */
|
|
19
|
+
/** @import { BuildInfo } from "../module/Module" */
|
|
20
20
|
/** @import JavascriptParser from "../javascript/JavascriptParser" */
|
|
21
21
|
|
|
22
22
|
const PLUGIN_NAME = "EvalUsagePlugin";
|