webpack 5.111.1 → 5.112.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 +1 -1
- package/bin/webpack.js +13 -7
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +373 -163
- package/lib/Compiler.js +31 -44
- 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 +21 -13
- package/lib/asset/AssetBytesParser.js +12 -10
- package/lib/asset/AssetGenerator.js +71 -69
- package/lib/asset/AssetModule.js +13 -2
- package/lib/asset/AssetModulesPlugin.js +10 -12
- package/lib/asset/AssetParser.js +10 -10
- package/lib/asset/AssetSourceGenerator.js +23 -15
- package/lib/asset/AssetSourceParser.js +12 -10
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +17 -12
- package/lib/asset/WebManifestParser.js +8 -8
- package/lib/async-modules/AsyncModuleHelpers.js +12 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +9 -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} +6 -6
- 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 +13 -19
- package/lib/cache/ResolverCachePlugin.js +65 -11
- 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} +209 -212
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +1 -1
- package/lib/{cli.js → config/cli.js} +14 -164
- package/lib/config/defaults.js +166 -59
- package/lib/config/getClaimedAssetTypes.js +22 -14
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +11 -1
- 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 +37 -26
- package/lib/context/ContextModuleFactory.js +14 -11
- package/lib/context/ContextReplacementPlugin.js +6 -12
- package/lib/css/CssGenerator.js +78 -68
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +37 -29
- package/lib/css/CssModulesPlugin.js +129 -45
- package/lib/css/CssParser.js +714 -322
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/{util → css}/conventions.js +1 -1
- package/lib/css/cssMinify.js +110 -37
- package/lib/css/data.js +6990 -5125
- package/lib/css/syntax-parser.js +20734 -0
- package/lib/css/syntax-printer.js +6092 -0
- package/lib/css/syntax.js +37 -18686
- package/lib/debug/ProfilingPlugin.js +106 -51
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +416 -55
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +19 -15
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +6 -4
- 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 -11
- 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} +14 -11
- 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 -36
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +154 -92
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +36 -33
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +17 -16
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +48 -39
- 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} +9 -6
- 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} +10 -11
- 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} +7 -10
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +17 -19
- 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} +21 -17
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -99
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +24 -19
- 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} +25 -22
- 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} +20 -20
- 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} +146 -133
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +78 -37
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -12
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +86 -68
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +104 -100
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +36 -51
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +98 -60
- package/lib/dependencies/esm/ESMLiveExportDependency.js +311 -0
- package/lib/dependencies/esm/ESMLiveExportParserPlugin.js +862 -0
- package/lib/dependencies/esm/ESMModulesPlugin.js +205 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -18
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +5 -7
- 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} +52 -151
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -15
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -23
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -18
- 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} +22 -25
- 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} +122 -103
- 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 +17 -19
- 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} +82 -53
- 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} +155 -27
- 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 +23 -21
- 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 +14 -10
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +103 -30
- 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/errors/AbstractMethodError.js +1 -1
- 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} +9 -6
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +6 -5
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/JSONParseError.js +4 -4
- 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 +13 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +55 -20
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +90 -63
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +42 -41
- 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} +192 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +634 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +131 -83
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +44 -33
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +169 -76
- package/lib/{util → graph}/findGraphRoots.js +15 -9
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +12 -11
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +51 -57
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +25 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +32 -28
- package/lib/html/HtmlGenerator.js +132 -60
- package/lib/html/HtmlModule.js +16 -2
- package/lib/html/HtmlModulesPlugin.js +184 -87
- package/lib/html/HtmlParser.js +511 -160
- package/lib/html/builtinEmbeddedRenderer.js +70 -25
- package/lib/html/data.js +44 -22
- package/lib/html/htmlMinify.js +114 -41
- package/lib/html/syntax-parser.js +15795 -0
- package/lib/html/syntax-printer.js +1033 -0
- package/lib/html/syntax.js +37 -13952
- package/lib/html/xmlMinify.js +70 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +32 -5
- 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 +312 -105
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +31 -37
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +9 -9
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +5 -13
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +75 -8
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +32 -27
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +8 -20
- package/lib/javascript/JavascriptModule.js +14 -3
- package/lib/javascript/JavascriptModulesPlugin.js +441 -214
- package/lib/javascript/JavascriptParser.js +318 -144
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3924 -13
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +13 -19
- 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 +19169 -0
- package/lib/javascript/syntax-printer-data.js +1099 -0
- package/lib/javascript/syntax-printer.js +53878 -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 +24 -16
- package/lib/json/JsonModule.js +13 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +11 -10
- 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 +28 -12
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +2 -2
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +557 -187
- 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 +94 -46
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/loaders/loadLoader.js +16 -10
- 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} +33 -23
- package/lib/{Module.js → module/Module.js} +121 -53
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2350 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +64 -71
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +12 -5
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +71 -20
- package/lib/{util → module}/findCaseMismatch.js +4 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +7 -6
- 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 +13 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +9 -11
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +6 -7
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +14 -14
- package/lib/optimize/ConcatenatedModule.js +231 -220
- 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} +23 -28
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +44 -19
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
- package/lib/optimize/InlineExports.js +12 -7
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +10 -10
- package/lib/optimize/LazyBarrels.js +620 -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 +28 -22
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +18 -13
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +24 -38
- package/lib/optimize/SplitChunksPlugin.js +719 -174
- 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} +69 -25
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +144 -70
- 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 +4 -6
- package/lib/performance/HotspotsPlugin.js +39 -14
- 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 +19 -13
- 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 +22 -13
- 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 +66 -45
- 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 +50 -17
- 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/BasicEffectRulePlugin.js +1 -1
- package/lib/rules/RuleSetCompiler.js +42 -51
- package/lib/rules/UseEffectRulePlugin.js +1 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +14 -5
- 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 +7 -11
- 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} +24 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +50 -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 +68 -13
- package/lib/schemes/VirtualUrlPlugin.js +52 -16
- package/lib/serialization/AggregateErrorSerializer.js +4 -4
- package/lib/serialization/BinaryMiddleware.js +4 -1
- package/lib/serialization/ErrorObjectSerializer.js +2 -5
- package/lib/serialization/FileMiddleware.js +3 -3
- package/lib/serialization/ObjectMiddleware.js +62 -29
- package/lib/serialization/PlainObjectSerializer.js +3 -7
- package/lib/serialization/Serializer.js +21 -11
- package/lib/serialization/SerializerMiddleware.js +10 -8
- 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 +57 -54
- package/lib/stats/DefaultStatsPresetPlugin.js +3 -7
- package/lib/stats/DefaultStatsPrinterPlugin.js +15 -14
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +208 -37
- package/lib/stats/StatsPrinter.js +126 -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} +158 -95
- package/lib/{Template.js → template/Template.js} +14 -12
- 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 +439 -51
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +20 -16
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/cleverMerge.js +61 -33
- package/lib/util/comparators.js +19 -15
- package/lib/util/concatenate.js +28 -147
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +96 -15
- package/lib/util/deprecation.js +5 -4
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +198 -20
- 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 +296 -102
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +28 -7
- package/lib/util/memoize.js +1 -1
- package/lib/util/parseJson.js +2 -2
- 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 +35 -28
- 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 +19 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +17 -9
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +24 -15
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +14 -12
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +11 -13
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +18 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +22 -16
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +28 -21
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +15 -17
- 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 +12 -18
- package/lib/web/FetchCompileWasmPlugin.js +8 -10
- 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 +57 -36
- package/schemas/WebpackOptions.check.js +4 -3
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +295 -75
- package/schemas/plugins/BannerPlugin.check.js +4 -3
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +4 -3
- package/schemas/plugins/HtmlParserOptions.check.js +4 -3
- package/schemas/plugins/IgnorePlugin.check.js +4 -3
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +4 -3
- package/schemas/plugins/ManifestPlugin.check.js +4 -3
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +4 -3
- 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 +4 -3
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +4 -3
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetParserOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +4 -3
- package/schemas/plugins/container/ContainerPlugin.check.js +4 -3
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +4 -3
- package/schemas/plugins/container/ExternalsType.check.js +4 -3
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +4 -3
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +4 -3
- package/schemas/plugins/css/CssGeneratorOptions.check.js +4 -3
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +4 -3
- package/schemas/plugins/css/CssModuleParserOptions.check.js +4 -3
- package/schemas/plugins/css/CssParserOptions.check.js +4 -3
- package/schemas/plugins/debug/ProfilingPlugin.check.js +4 -3
- package/schemas/plugins/define/DotenvPluginOptions.check.js +7 -0
- package/schemas/plugins/define/DotenvPluginOptions.json +3 -0
- package/schemas/plugins/dll/DllPlugin.check.js +4 -3
- package/schemas/plugins/dll/DllReferencePlugin.check.js +4 -3
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +4 -3
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +4 -3
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +4 -3
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +4 -3
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +4 -3
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +4 -3
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +4 -3
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +4 -3
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +4 -3
- package/schemas/plugins/output/CleanOptions.check.js +7 -0
- package/schemas/plugins/output/CleanOptions.json +3 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +4 -3
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +4 -3
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +20780 -14174
- 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}/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
|
@@ -5,87 +5,70 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const
|
|
8
|
+
const AssetModulesPlugin = require("../asset/AssetModulesPlugin");
|
|
9
|
+
|
|
10
|
+
const InferAsyncModulesPlugin = require("../async-modules/InferAsyncModulesPlugin");
|
|
11
|
+
|
|
12
|
+
const ResolverCachePlugin = require("../cache/ResolverCachePlugin");
|
|
13
|
+
|
|
14
|
+
const CommonJsPlugin = require("../dependencies/commonjs/CommonJsPlugin");
|
|
15
|
+
const RequireEnsurePlugin = require("../dependencies/commonjs/RequireEnsurePlugin");
|
|
16
|
+
const RequireIncludePlugin = require("../dependencies/commonjs/RequireIncludePlugin");
|
|
17
|
+
const ImportMetaContextPlugin = require("../dependencies/context/ImportMetaContextPlugin");
|
|
18
|
+
const RequireContextPlugin = require("../dependencies/context/RequireContextPlugin");
|
|
19
|
+
const ESMModulesPlugin = require("../dependencies/esm/ESMModulesPlugin");
|
|
20
|
+
const ImportPlugin = require("../dependencies/import/ImportPlugin");
|
|
21
|
+
const ImportMetaPlugin = require("../dependencies/import-meta/ImportMetaPlugin");
|
|
22
|
+
|
|
23
|
+
const SystemPlugin = require("../dependencies/system/SystemPlugin");
|
|
24
|
+
const URLPlugin = require("../dependencies/url/URLPlugin");
|
|
25
|
+
|
|
26
|
+
const WorkerAndWorkletPlugin = require("../dependencies/worker/WorkerAndWorkletPlugin");
|
|
27
|
+
const WarnCaseSensitiveModulesPlugin = require("../diagnostics/WarnCaseSensitiveModulesPlugin");
|
|
28
|
+
const EntryOptionPlugin = require("../entry/EntryOptionPlugin");
|
|
29
|
+
const RecordIdsPlugin = require("../ids/RecordIdsPlugin");
|
|
30
|
+
const APIPlugin = require("../javascript/APIPlugin");
|
|
31
|
+
const CompatibilityPlugin = require("../javascript/CompatibilityPlugin");
|
|
32
|
+
const ConstPlugin = require("../javascript/ConstPlugin");
|
|
33
|
+
const ExportsInfoApiPlugin = require("../javascript/ExportsInfoApiPlugin");
|
|
34
|
+
const JavascriptMetaInfoPlugin = require("../javascript/JavascriptMetaInfoPlugin");
|
|
35
|
+
|
|
36
|
+
const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
|
|
37
|
+
const UseStrictPlugin = require("../javascript/UseStrictPlugin");
|
|
38
|
+
const WebpackIsIncludedPlugin = require("../javascript/WebpackIsIncludedPlugin");
|
|
39
|
+
|
|
40
|
+
const JsonModulesPlugin = require("../json/JsonModulesPlugin");
|
|
41
|
+
const LoaderPlugin = require("../loaders/LoaderPlugin");
|
|
42
|
+
const NodeStuffPlugin = require("../node/NodeStuffPlugin");
|
|
43
|
+
const FlagDependencyExportsPlugin = require("../optimize/FlagDependencyExportsPlugin");
|
|
44
|
+
|
|
45
|
+
const ChunkPrefetchPreloadPlugin = require("../prefetch/ChunkPrefetchPreloadPlugin");
|
|
46
|
+
const ResourceHintPlugin = require("../prefetch/ResourceHintPlugin");
|
|
47
|
+
const RuntimePlugin = require("../runtime/RuntimePlugin");
|
|
48
|
+
|
|
49
|
+
const DataUriPlugin = require("../schemes/DataUriPlugin");
|
|
50
|
+
const FileUriPlugin = require("../schemes/FileUriPlugin");
|
|
51
|
+
|
|
52
|
+
const DefaultStatsFactoryPlugin = require("../stats/DefaultStatsFactoryPlugin");
|
|
53
|
+
const DefaultStatsPresetPlugin = require("../stats/DefaultStatsPresetPlugin");
|
|
54
|
+
const DefaultStatsPrinterPlugin = require("../stats/DefaultStatsPrinterPlugin");
|
|
55
|
+
const TemplatedPathPlugin = require("../template/TemplatedPathPlugin");
|
|
56
|
+
|
|
57
|
+
const { cleverMerge } = require("../util/cleverMerge");
|
|
58
|
+
const { NODE_MODULES_REGEXP } = require("../util/identifier");
|
|
22
59
|
const OptionsApply = require("./OptionsApply");
|
|
23
60
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const RuntimePlugin = require("./RuntimePlugin");
|
|
27
|
-
|
|
28
|
-
const TemplatedPathPlugin = require("./TemplatedPathPlugin");
|
|
29
|
-
|
|
30
|
-
const UseStrictPlugin = require("./UseStrictPlugin");
|
|
31
|
-
|
|
32
|
-
const WarnCaseSensitiveModulesPlugin = require("./WarnCaseSensitiveModulesPlugin");
|
|
33
|
-
|
|
34
|
-
const WebpackIsIncludedPlugin = require("./WebpackIsIncludedPlugin");
|
|
35
|
-
|
|
36
|
-
const AssetModulesPlugin = require("./asset/AssetModulesPlugin");
|
|
37
|
-
|
|
38
|
-
const InferAsyncModulesPlugin = require("./async-modules/InferAsyncModulesPlugin");
|
|
39
|
-
|
|
40
|
-
const ResolverCachePlugin = require("./cache/ResolverCachePlugin");
|
|
41
|
-
|
|
42
|
-
const CommonJsPlugin = require("./dependencies/CommonJsPlugin");
|
|
43
|
-
|
|
44
|
-
const HarmonyModulesPlugin = require("./dependencies/HarmonyModulesPlugin");
|
|
45
|
-
|
|
46
|
-
const ImportMetaContextPlugin = require("./dependencies/ImportMetaContextPlugin");
|
|
47
|
-
const ImportMetaPlugin = require("./dependencies/ImportMetaPlugin");
|
|
48
|
-
|
|
49
|
-
const ImportPlugin = require("./dependencies/ImportPlugin");
|
|
50
|
-
const LoaderPlugin = require("./dependencies/LoaderPlugin");
|
|
51
|
-
|
|
52
|
-
const RequireContextPlugin = require("./dependencies/RequireContextPlugin");
|
|
53
|
-
const RequireEnsurePlugin = require("./dependencies/RequireEnsurePlugin");
|
|
54
|
-
const RequireIncludePlugin = require("./dependencies/RequireIncludePlugin");
|
|
55
|
-
|
|
56
|
-
const SystemPlugin = require("./dependencies/SystemPlugin");
|
|
57
|
-
|
|
58
|
-
const URLPlugin = require("./dependencies/URLPlugin");
|
|
59
|
-
|
|
60
|
-
const WorkerAndWorkletPlugin = require("./dependencies/WorkerAndWorkletPlugin");
|
|
61
|
-
|
|
62
|
-
const JavascriptModulesPlugin = require("./javascript/JavascriptModulesPlugin");
|
|
63
|
-
|
|
64
|
-
const JsonModulesPlugin = require("./json/JsonModulesPlugin");
|
|
65
|
-
|
|
66
|
-
const ChunkPrefetchPreloadPlugin = require("./prefetch/ChunkPrefetchPreloadPlugin");
|
|
67
|
-
const ResourceHintPlugin = require("./prefetch/ResourceHintPlugin");
|
|
68
|
-
|
|
69
|
-
const DataUriPlugin = require("./schemes/DataUriPlugin");
|
|
70
|
-
const FileUriPlugin = require("./schemes/FileUriPlugin");
|
|
71
|
-
|
|
72
|
-
const DefaultStatsFactoryPlugin = require("./stats/DefaultStatsFactoryPlugin");
|
|
73
|
-
const DefaultStatsPresetPlugin = require("./stats/DefaultStatsPresetPlugin");
|
|
74
|
-
const DefaultStatsPrinterPlugin = require("./stats/DefaultStatsPrinterPlugin");
|
|
75
|
-
|
|
76
|
-
const { cleverMerge } = require("./util/cleverMerge");
|
|
77
|
-
const { NODE_MODULES_REGEXP } = require("./util/identifier");
|
|
78
|
-
|
|
79
|
-
/** @import { WebpackPluginFunction } from "./webpack" */
|
|
61
|
+
/** @import { WebpackPluginFunction } from "../webpack" */
|
|
62
|
+
/** @import { NormalizedBuildDependencyItem } from "../cache/AddBuildDependenciesPlugin" */
|
|
80
63
|
/**
|
|
81
64
|
* @import {
|
|
82
65
|
* WebpackOptionsNormalizedWithDefaults as WebpackOptions
|
|
83
|
-
* } from "./
|
|
66
|
+
* } from "./defaults"
|
|
84
67
|
*/
|
|
85
|
-
/** @import { WebpackOptionsInterception } from "./
|
|
86
|
-
/** @import Compiler from "
|
|
87
|
-
/** @import { InputFileSystem, IntermediateFileSystem } from "
|
|
88
|
-
/** @import { ResolveOptionsWithDependencyType } from "
|
|
68
|
+
/** @import { WebpackOptionsInterception } from "./normalization" */
|
|
69
|
+
/** @import Compiler from "../Compiler" */
|
|
70
|
+
/** @import { InputFileSystem, IntermediateFileSystem } from "../fs/fs" */
|
|
71
|
+
/** @import { ResolveOptionsWithDependencyType } from "../resolve/ResolverFactory" */
|
|
89
72
|
|
|
90
73
|
const CLASS_NAME = "WebpackOptionsApply";
|
|
91
74
|
|
|
@@ -109,7 +92,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
109
92
|
|
|
110
93
|
if (options.externals) {
|
|
111
94
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
112
|
-
const ExternalsPlugin = require("
|
|
95
|
+
const ExternalsPlugin = require("../externals/ExternalsPlugin");
|
|
113
96
|
|
|
114
97
|
new ExternalsPlugin(options.externalsType, options.externals).apply(
|
|
115
98
|
compiler
|
|
@@ -117,7 +100,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
117
100
|
}
|
|
118
101
|
|
|
119
102
|
if (options.externalsPresets.node) {
|
|
120
|
-
const NodeTargetPlugin = require("
|
|
103
|
+
const NodeTargetPlugin = require("../node/NodeTargetPlugin");
|
|
121
104
|
|
|
122
105
|
// Some older versions of Node.js don't support all built-in modules via import, only via `require`,
|
|
123
106
|
// but it seems like there shouldn't be a warning here since these versions are rarely used in real applications
|
|
@@ -128,7 +111,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
128
111
|
// Handle external CSS `@import` and `url()`
|
|
129
112
|
if (options.experiments.css) {
|
|
130
113
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
131
|
-
const ExternalsPlugin = require("
|
|
114
|
+
const ExternalsPlugin = require("../externals/ExternalsPlugin");
|
|
132
115
|
|
|
133
116
|
new ExternalsPlugin(
|
|
134
117
|
"module",
|
|
@@ -156,7 +139,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
156
139
|
}
|
|
157
140
|
if (options.externalsPresets.nodeModules) {
|
|
158
141
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
159
|
-
const ExternalsPlugin = require("
|
|
142
|
+
const ExternalsPlugin = require("../externals/ExternalsPlugin");
|
|
160
143
|
|
|
161
144
|
const type = options.output.module ? "module-import" : "node-commonjs";
|
|
162
145
|
const preset = options.externalsPresets.nodeModules;
|
|
@@ -239,12 +222,12 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
239
222
|
).apply(compiler);
|
|
240
223
|
}
|
|
241
224
|
if (options.externalsPresets.deno) {
|
|
242
|
-
const DenoTargetPlugin = require("
|
|
225
|
+
const DenoTargetPlugin = require("../deno/DenoTargetPlugin");
|
|
243
226
|
|
|
244
227
|
new DenoTargetPlugin().apply(compiler);
|
|
245
228
|
}
|
|
246
229
|
if (options.externalsPresets.bun) {
|
|
247
|
-
const BunTargetPlugin = require("
|
|
230
|
+
const BunTargetPlugin = require("../bun/BunTargetPlugin");
|
|
248
231
|
|
|
249
232
|
new BunTargetPlugin().apply(compiler);
|
|
250
233
|
}
|
|
@@ -252,7 +235,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
252
235
|
const type = options.externalsPresets.webAsync ? "import" : "module";
|
|
253
236
|
|
|
254
237
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
255
|
-
const ExternalsPlugin = require("
|
|
238
|
+
const ExternalsPlugin = require("../externals/ExternalsPlugin");
|
|
256
239
|
|
|
257
240
|
new ExternalsPlugin(type, ({ request, dependencyType }, callback) => {
|
|
258
241
|
if (/^(?:\/\/|https?:\/\/|#|std:|jsr:|npm:)/.test(request)) {
|
|
@@ -282,7 +265,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
282
265
|
|
|
283
266
|
// Warn when ESM output is requested but the electron version lacks it (added in electron 28)
|
|
284
267
|
if (options.output.module && !options.output.environment.module) {
|
|
285
|
-
const WebpackError = require("
|
|
268
|
+
const WebpackError = require("../WebpackError");
|
|
286
269
|
|
|
287
270
|
compiler.hooks.thisCompilation.tap(CLASS_NAME, (compilation) => {
|
|
288
271
|
compilation.warnings.push(
|
|
@@ -295,19 +278,19 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
295
278
|
|
|
296
279
|
if (options.externalsPresets.electronMain) {
|
|
297
280
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
298
|
-
const ElectronTargetPlugin = require("
|
|
281
|
+
const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
|
|
299
282
|
|
|
300
283
|
new ElectronTargetPlugin("main", type).apply(compiler);
|
|
301
284
|
}
|
|
302
285
|
if (options.externalsPresets.electronPreload) {
|
|
303
286
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
304
|
-
const ElectronTargetPlugin = require("
|
|
287
|
+
const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
|
|
305
288
|
|
|
306
289
|
new ElectronTargetPlugin("preload", type).apply(compiler);
|
|
307
290
|
}
|
|
308
291
|
if (options.externalsPresets.electronRenderer) {
|
|
309
292
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
310
|
-
const ElectronTargetPlugin = require("
|
|
293
|
+
const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
|
|
311
294
|
|
|
312
295
|
new ElectronTargetPlugin("renderer", type).apply(compiler);
|
|
313
296
|
}
|
|
@@ -317,14 +300,14 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
317
300
|
!options.externalsPresets.electronRenderer
|
|
318
301
|
) {
|
|
319
302
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
320
|
-
const ElectronTargetPlugin = require("
|
|
303
|
+
const ElectronTargetPlugin = require("../electron/ElectronTargetPlugin");
|
|
321
304
|
|
|
322
305
|
new ElectronTargetPlugin(undefined, type).apply(compiler);
|
|
323
306
|
}
|
|
324
307
|
}
|
|
325
308
|
if (options.externalsPresets.nwjs) {
|
|
326
309
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
327
|
-
const ExternalsPlugin = require("
|
|
310
|
+
const ExternalsPlugin = require("../externals/ExternalsPlugin");
|
|
328
311
|
|
|
329
312
|
new ExternalsPlugin("node-commonjs", "nw.gui").apply(compiler);
|
|
330
313
|
}
|
|
@@ -335,19 +318,19 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
335
318
|
if (typeof options.output.chunkFormat === "string") {
|
|
336
319
|
switch (options.output.chunkFormat) {
|
|
337
320
|
case "array-push": {
|
|
338
|
-
const ArrayPushCallbackChunkFormatPlugin = require("
|
|
321
|
+
const ArrayPushCallbackChunkFormatPlugin = require("../javascript/ArrayPushCallbackChunkFormatPlugin");
|
|
339
322
|
|
|
340
323
|
new ArrayPushCallbackChunkFormatPlugin().apply(compiler);
|
|
341
324
|
break;
|
|
342
325
|
}
|
|
343
326
|
case "commonjs": {
|
|
344
|
-
const CommonJsChunkFormatPlugin = require("
|
|
327
|
+
const CommonJsChunkFormatPlugin = require("../javascript/CommonJsChunkFormatPlugin");
|
|
345
328
|
|
|
346
329
|
new CommonJsChunkFormatPlugin().apply(compiler);
|
|
347
330
|
break;
|
|
348
331
|
}
|
|
349
332
|
case "module": {
|
|
350
|
-
const ModuleChunkFormatPlugin = require("
|
|
333
|
+
const ModuleChunkFormatPlugin = require("../esm/ModuleChunkFormatPlugin");
|
|
351
334
|
|
|
352
335
|
new ModuleChunkFormatPlugin().apply(compiler);
|
|
353
336
|
break;
|
|
@@ -359,38 +342,32 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
359
342
|
}
|
|
360
343
|
}
|
|
361
344
|
|
|
362
|
-
const enabledChunkLoadingTypes =
|
|
363
|
-
/** @type {NonNullable<WebpackOptions["output"]["enabledChunkLoadingTypes"]>} */
|
|
364
|
-
(options.output.enabledChunkLoadingTypes);
|
|
345
|
+
const enabledChunkLoadingTypes = options.output.enabledChunkLoadingTypes;
|
|
365
346
|
|
|
366
347
|
if (enabledChunkLoadingTypes.length > 0) {
|
|
367
348
|
for (const type of enabledChunkLoadingTypes) {
|
|
368
|
-
const EnableChunkLoadingPlugin = require("
|
|
349
|
+
const EnableChunkLoadingPlugin = require("../javascript/EnableChunkLoadingPlugin");
|
|
369
350
|
|
|
370
351
|
new EnableChunkLoadingPlugin(type).apply(compiler);
|
|
371
352
|
}
|
|
372
353
|
}
|
|
373
354
|
|
|
374
|
-
const enabledWasmLoadingTypes =
|
|
375
|
-
/** @type {NonNullable<WebpackOptions["output"]["enabledWasmLoadingTypes"]>} */
|
|
376
|
-
(options.output.enabledWasmLoadingTypes);
|
|
355
|
+
const enabledWasmLoadingTypes = options.output.enabledWasmLoadingTypes;
|
|
377
356
|
|
|
378
357
|
if (enabledWasmLoadingTypes.length > 0) {
|
|
379
358
|
for (const type of enabledWasmLoadingTypes) {
|
|
380
|
-
const EnableWasmLoadingPlugin = require("
|
|
359
|
+
const EnableWasmLoadingPlugin = require("../wasm/EnableWasmLoadingPlugin");
|
|
381
360
|
|
|
382
361
|
new EnableWasmLoadingPlugin(type).apply(compiler);
|
|
383
362
|
}
|
|
384
363
|
}
|
|
385
364
|
|
|
386
|
-
const enabledLibraryTypes =
|
|
387
|
-
/** @type {NonNullable<WebpackOptions["output"]["enabledLibraryTypes"]>} */
|
|
388
|
-
(options.output.enabledLibraryTypes);
|
|
365
|
+
const enabledLibraryTypes = options.output.enabledLibraryTypes;
|
|
389
366
|
|
|
390
367
|
if (enabledLibraryTypes.length > 0) {
|
|
391
368
|
let once = true;
|
|
392
369
|
for (const type of enabledLibraryTypes) {
|
|
393
|
-
const EnableLibraryPlugin = require("
|
|
370
|
+
const EnableLibraryPlugin = require("../library/EnableLibraryPlugin");
|
|
394
371
|
|
|
395
372
|
new EnableLibraryPlugin(type, {
|
|
396
373
|
// eslint-disable-next-line no-loop-func
|
|
@@ -411,7 +388,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
411
388
|
}
|
|
412
389
|
|
|
413
390
|
if (options.output.pathinfo) {
|
|
414
|
-
const ModuleInfoHeaderPlugin = require("
|
|
391
|
+
const ModuleInfoHeaderPlugin = require("../template/ModuleInfoHeaderPlugin");
|
|
415
392
|
|
|
416
393
|
new ModuleInfoHeaderPlugin(options.output.pathinfo !== true).apply(
|
|
417
394
|
compiler
|
|
@@ -419,7 +396,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
419
396
|
}
|
|
420
397
|
|
|
421
398
|
if (options.output.clean) {
|
|
422
|
-
const CleanPlugin = require("
|
|
399
|
+
const CleanPlugin = require("../output/CleanPlugin");
|
|
423
400
|
|
|
424
401
|
new CleanPlugin(
|
|
425
402
|
options.output.clean === true ? {} : options.output.clean
|
|
@@ -427,13 +404,13 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
427
404
|
}
|
|
428
405
|
|
|
429
406
|
if (options.output.copy) {
|
|
430
|
-
const CopyPlugin = require("
|
|
407
|
+
const CopyPlugin = require("../output/CopyPlugin");
|
|
431
408
|
|
|
432
409
|
new CopyPlugin(options.output.copy).apply(compiler);
|
|
433
410
|
}
|
|
434
411
|
|
|
435
412
|
if (options.dotenv) {
|
|
436
|
-
const DotenvPlugin = require("
|
|
413
|
+
const DotenvPlugin = require("../define/DotenvPlugin");
|
|
437
414
|
|
|
438
415
|
new DotenvPlugin(
|
|
439
416
|
typeof options.dotenv === "boolean" ? {} : options.dotenv
|
|
@@ -460,9 +437,10 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
460
437
|
const moduleMaps = use.includes("module");
|
|
461
438
|
const noSources = use.includes("nosources");
|
|
462
439
|
const debugIds = use.includes("debugids");
|
|
440
|
+
const scopes = use.includes("scopes");
|
|
463
441
|
const Plugin = evalWrapped
|
|
464
|
-
? require("
|
|
465
|
-
: require("
|
|
442
|
+
? require("../devtool/EvalSourceMapDevToolPlugin")
|
|
443
|
+
: require("../devtool/SourceMapDevToolPlugin");
|
|
466
444
|
const assetExt =
|
|
467
445
|
type === "javascript"
|
|
468
446
|
? /\.((c|m)?js)($|\?)/i
|
|
@@ -482,10 +460,11 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
482
460
|
columns: !cheap,
|
|
483
461
|
noSources,
|
|
484
462
|
namespace: options.output.devtoolNamespace,
|
|
485
|
-
debugIds
|
|
463
|
+
debugIds,
|
|
464
|
+
scopes
|
|
486
465
|
}).apply(compiler);
|
|
487
466
|
} else if (use.includes("eval")) {
|
|
488
|
-
const EvalDevToolModulePlugin = require("
|
|
467
|
+
const EvalDevToolModulePlugin = require("../devtool/EvalDevToolModulePlugin");
|
|
489
468
|
|
|
490
469
|
new EvalDevToolModulePlugin({
|
|
491
470
|
moduleFilenameTemplate:
|
|
@@ -505,13 +484,13 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
505
484
|
|
|
506
485
|
if (options.output.module) {
|
|
507
486
|
// Analyzable output is ESM output, so this is every build that can reserve a name.
|
|
508
|
-
const RuntimeTemplate = require("
|
|
487
|
+
const RuntimeTemplate = require("../template/RuntimeTemplate");
|
|
509
488
|
|
|
510
489
|
RuntimeTemplate.fillReservedNames(compiler);
|
|
511
490
|
}
|
|
512
491
|
|
|
513
492
|
if (options.experiments.syncWebAssembly) {
|
|
514
|
-
const WebAssemblyModulesPlugin = require("
|
|
493
|
+
const WebAssemblyModulesPlugin = require("../wasm-sync/WebAssemblyModulesPlugin");
|
|
515
494
|
|
|
516
495
|
new WebAssemblyModulesPlugin({
|
|
517
496
|
mangleImports: options.optimization.mangleWasmImports
|
|
@@ -519,7 +498,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
519
498
|
}
|
|
520
499
|
|
|
521
500
|
if (options.experiments.asyncWebAssembly) {
|
|
522
|
-
const AsyncWebAssemblyModulesPlugin = require("
|
|
501
|
+
const AsyncWebAssemblyModulesPlugin = require("../wasm/AsyncWebAssemblyModulesPlugin");
|
|
523
502
|
|
|
524
503
|
new AsyncWebAssemblyModulesPlugin({
|
|
525
504
|
mangleImports: options.optimization.mangleWasmImports
|
|
@@ -527,25 +506,25 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
527
506
|
}
|
|
528
507
|
|
|
529
508
|
if (options.experiments.css) {
|
|
530
|
-
const CssModulesPlugin = require("
|
|
509
|
+
const CssModulesPlugin = require("../css/CssModulesPlugin");
|
|
531
510
|
|
|
532
511
|
new CssModulesPlugin().apply(compiler);
|
|
533
512
|
}
|
|
534
513
|
|
|
535
514
|
if (options.experiments.html) {
|
|
536
|
-
const HtmlModulesPlugin = require("
|
|
515
|
+
const HtmlModulesPlugin = require("../html/HtmlModulesPlugin");
|
|
537
516
|
|
|
538
517
|
new HtmlModulesPlugin().apply(compiler);
|
|
539
518
|
}
|
|
540
519
|
|
|
541
520
|
if (options.experiments.typescript) {
|
|
542
|
-
const TypeScriptPlugin = require("
|
|
521
|
+
const TypeScriptPlugin = require("../typescript/TypeScriptPlugin");
|
|
543
522
|
|
|
544
523
|
new TypeScriptPlugin().apply(compiler);
|
|
545
524
|
}
|
|
546
525
|
|
|
547
526
|
if (options.experiments.lazyCompilation) {
|
|
548
|
-
const LazyCompilationPlugin = require("
|
|
527
|
+
const LazyCompilationPlugin = require("../hmr/LazyCompilationPlugin");
|
|
549
528
|
|
|
550
529
|
const lazyOptions =
|
|
551
530
|
typeof options.experiments.lazyCompilation === "object"
|
|
@@ -557,12 +536,12 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
557
536
|
compiler.platform.web === null;
|
|
558
537
|
|
|
559
538
|
if (isUniversalTarget) {
|
|
560
|
-
const emitter = require.resolve("
|
|
539
|
+
const emitter = require.resolve("../../hot/emitter-event-target.js");
|
|
561
540
|
|
|
562
|
-
const NormalModuleReplacementPlugin = require("
|
|
541
|
+
const NormalModuleReplacementPlugin = require("../resolve/NormalModuleReplacementPlugin");
|
|
563
542
|
|
|
564
543
|
// Override emitter that using `EventEmitter` to `EventTarget`
|
|
565
|
-
// TODO
|
|
544
|
+
// TODO in the next major release: migrate to `EventTarget` by default
|
|
566
545
|
new NormalModuleReplacementPlugin(/emitter(\.js)?$/, (result) => {
|
|
567
546
|
if (
|
|
568
547
|
/webpack[/\\]hot|webpack-dev-server[/\\]client|webpack-hot-middleware[/\\]client/.test(
|
|
@@ -578,8 +557,8 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
578
557
|
|
|
579
558
|
const backend = require.resolve(
|
|
580
559
|
isUniversalTarget
|
|
581
|
-
? "
|
|
582
|
-
:
|
|
560
|
+
? "../../hot/lazy-compilation-universal.js"
|
|
561
|
+
: `../../hot/lazy-compilation-${
|
|
583
562
|
options.externalsPresets.node ? "node" : "web"
|
|
584
563
|
}.js`
|
|
585
564
|
);
|
|
@@ -588,7 +567,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
588
567
|
backend:
|
|
589
568
|
typeof lazyOptions.backend === "function"
|
|
590
569
|
? lazyOptions.backend
|
|
591
|
-
: require("
|
|
570
|
+
: require("../hmr/lazyCompilationBackend")({
|
|
592
571
|
...lazyOptions.backend,
|
|
593
572
|
client:
|
|
594
573
|
(lazyOptions.backend && lazyOptions.backend.client) || backend
|
|
@@ -600,7 +579,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
600
579
|
}
|
|
601
580
|
|
|
602
581
|
if (options.experiments.buildHttp) {
|
|
603
|
-
const HttpUriPlugin = require("
|
|
582
|
+
const HttpUriPlugin = require("../schemes/HttpUriPlugin");
|
|
604
583
|
|
|
605
584
|
const httpOptions = options.experiments.buildHttp;
|
|
606
585
|
new HttpUriPlugin(httpOptions).apply(compiler);
|
|
@@ -617,12 +596,12 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
617
596
|
new FileUriPlugin().apply(compiler);
|
|
618
597
|
|
|
619
598
|
new CompatibilityPlugin().apply(compiler);
|
|
620
|
-
new
|
|
599
|
+
new ESMModulesPlugin({
|
|
621
600
|
deferImport: options.experiments.deferImport
|
|
622
601
|
}).apply(compiler);
|
|
623
602
|
if (options.amd !== false) {
|
|
624
|
-
const AMDPlugin = require("
|
|
625
|
-
const RequireJsStuffPlugin = require("
|
|
603
|
+
const AMDPlugin = require("../dependencies/amd/AMDPlugin");
|
|
604
|
+
const RequireJsStuffPlugin = require("../dependencies/amd/RequireJsStuffPlugin");
|
|
626
605
|
|
|
627
606
|
new AMDPlugin(options.amd || {}).apply(compiler);
|
|
628
607
|
new RequireJsStuffPlugin().apply(compiler);
|
|
@@ -662,36 +641,36 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
662
641
|
new JavascriptMetaInfoPlugin().apply(compiler);
|
|
663
642
|
|
|
664
643
|
if (typeof options.mode !== "string") {
|
|
665
|
-
const WarnNoModeSetPlugin = require("
|
|
644
|
+
const WarnNoModeSetPlugin = require("../diagnostics/WarnNoModeSetPlugin");
|
|
666
645
|
|
|
667
646
|
new WarnNoModeSetPlugin().apply(compiler);
|
|
668
647
|
}
|
|
669
648
|
|
|
670
|
-
const EnsureChunkConditionsPlugin = require("
|
|
649
|
+
const EnsureChunkConditionsPlugin = require("../optimize/EnsureChunkConditionsPlugin");
|
|
671
650
|
|
|
672
651
|
new EnsureChunkConditionsPlugin().apply(compiler);
|
|
673
652
|
if (options.optimization.removeAvailableModules) {
|
|
674
|
-
const RemoveParentModulesPlugin = require("
|
|
653
|
+
const RemoveParentModulesPlugin = require("../optimize/RemoveParentModulesPlugin");
|
|
675
654
|
|
|
676
655
|
new RemoveParentModulesPlugin().apply(compiler);
|
|
677
656
|
}
|
|
678
657
|
if (options.optimization.removeEmptyChunks) {
|
|
679
|
-
const RemoveEmptyChunksPlugin = require("
|
|
658
|
+
const RemoveEmptyChunksPlugin = require("../optimize/RemoveEmptyChunksPlugin");
|
|
680
659
|
|
|
681
660
|
new RemoveEmptyChunksPlugin().apply(compiler);
|
|
682
661
|
}
|
|
683
662
|
if (options.optimization.mergeDuplicateChunks) {
|
|
684
|
-
const MergeDuplicateChunksPlugin = require("
|
|
663
|
+
const MergeDuplicateChunksPlugin = require("../optimize/MergeDuplicateChunksPlugin");
|
|
685
664
|
|
|
686
665
|
new MergeDuplicateChunksPlugin().apply(compiler);
|
|
687
666
|
}
|
|
688
667
|
if (options.optimization.flagIncludedChunks) {
|
|
689
|
-
const FlagIncludedChunksPlugin = require("
|
|
668
|
+
const FlagIncludedChunksPlugin = require("../optimize/FlagIncludedChunksPlugin");
|
|
690
669
|
|
|
691
670
|
new FlagIncludedChunksPlugin().apply(compiler);
|
|
692
671
|
}
|
|
693
672
|
if (options.optimization.sideEffects) {
|
|
694
|
-
const SideEffectsFlagPlugin = require("
|
|
673
|
+
const SideEffectsFlagPlugin = require("../optimize/SideEffectsFlagPlugin");
|
|
695
674
|
|
|
696
675
|
new SideEffectsFlagPlugin(
|
|
697
676
|
options.optimization.sideEffects === true
|
|
@@ -701,7 +680,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
701
680
|
new FlagDependencyExportsPlugin().apply(compiler);
|
|
702
681
|
}
|
|
703
682
|
if (options.optimization.usedExports) {
|
|
704
|
-
const FlagDependencyUsagePlugin = require("
|
|
683
|
+
const FlagDependencyUsagePlugin = require("../optimize/FlagDependencyUsagePlugin");
|
|
705
684
|
|
|
706
685
|
new FlagDependencyUsagePlugin(
|
|
707
686
|
options.optimization.usedExports === "global",
|
|
@@ -710,7 +689,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
710
689
|
).apply(compiler);
|
|
711
690
|
}
|
|
712
691
|
if (options.optimization.innerGraph) {
|
|
713
|
-
const InnerGraphPlugin = require("
|
|
692
|
+
const InnerGraphPlugin = require("../optimize/InnerGraphPlugin");
|
|
714
693
|
|
|
715
694
|
new InnerGraphPlugin().apply(compiler);
|
|
716
695
|
}
|
|
@@ -723,61 +702,59 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
723
702
|
const inlineExports = options.optimization.inlineExports;
|
|
724
703
|
|
|
725
704
|
if (options.mode === "production" || circularHints || inlineExports) {
|
|
726
|
-
const CircularModulesPlugin = require("
|
|
705
|
+
const CircularModulesPlugin = require("../optimize/CircularModulesPlugin");
|
|
727
706
|
|
|
728
707
|
new CircularModulesPlugin({ hints: circularHints }).apply(compiler);
|
|
729
708
|
}
|
|
730
709
|
|
|
731
|
-
const ConstExportsPlugin = require("
|
|
710
|
+
const ConstExportsPlugin = require("../optimize/ConstExportsPlugin");
|
|
732
711
|
|
|
733
712
|
new ConstExportsPlugin({
|
|
734
713
|
inlineExports
|
|
735
714
|
}).apply(compiler);
|
|
736
715
|
|
|
737
716
|
if (options.optimization.mangleExports) {
|
|
738
|
-
const MangleExportsPlugin = require("
|
|
717
|
+
const MangleExportsPlugin = require("../optimize/MangleExportsPlugin");
|
|
739
718
|
|
|
740
719
|
new MangleExportsPlugin(
|
|
741
720
|
options.optimization.mangleExports !== "size"
|
|
742
721
|
).apply(compiler);
|
|
743
722
|
}
|
|
744
723
|
if (options.optimization.concatenateModules) {
|
|
745
|
-
const ModuleConcatenationPlugin = require("
|
|
724
|
+
const ModuleConcatenationPlugin = require("../optimize/ModuleConcatenationPlugin");
|
|
746
725
|
|
|
747
726
|
new ModuleConcatenationPlugin().apply(compiler);
|
|
748
727
|
}
|
|
749
728
|
if (options.optimization.splitChunks) {
|
|
750
|
-
const SplitChunksPlugin = require("
|
|
729
|
+
const SplitChunksPlugin = require("../optimize/SplitChunksPlugin");
|
|
751
730
|
|
|
752
731
|
new SplitChunksPlugin(options.optimization.splitChunks).apply(compiler);
|
|
753
732
|
}
|
|
754
733
|
if (options.optimization.runtimeChunk) {
|
|
755
|
-
const RuntimeChunkPlugin = require("
|
|
734
|
+
const RuntimeChunkPlugin = require("../optimize/RuntimeChunkPlugin");
|
|
756
735
|
|
|
757
736
|
new RuntimeChunkPlugin(options.optimization.runtimeChunk).apply(compiler);
|
|
758
737
|
}
|
|
759
738
|
if (!options.optimization.emitOnErrors) {
|
|
760
|
-
const NoEmitOnErrorsPlugin = require("
|
|
739
|
+
const NoEmitOnErrorsPlugin = require("../diagnostics/NoEmitOnErrorsPlugin");
|
|
761
740
|
|
|
762
741
|
new NoEmitOnErrorsPlugin().apply(compiler);
|
|
763
742
|
}
|
|
764
743
|
// ESM output may bake a name into a chunk whose hashed name would then go stale;
|
|
765
744
|
// the repair runs for those alone where it was not asked for outright.
|
|
766
745
|
if (options.optimization.realContentHash || options.output.module) {
|
|
767
|
-
const RealContentHashPlugin = require("
|
|
746
|
+
const RealContentHashPlugin = require("../optimize/RealContentHashPlugin");
|
|
768
747
|
|
|
769
748
|
new RealContentHashPlugin({
|
|
770
749
|
hashFunction:
|
|
771
750
|
/** @type {NonNullable<WebpackOptions["output"]["hashFunction"]>} */
|
|
772
751
|
(options.output.hashFunction),
|
|
773
|
-
hashDigest:
|
|
774
|
-
/** @type {NonNullable<WebpackOptions["output"]["hashDigest"]>} */
|
|
775
|
-
(options.output.hashDigest),
|
|
752
|
+
hashDigest: options.output.hashDigest,
|
|
776
753
|
onDemand: !options.optimization.realContentHash
|
|
777
754
|
}).apply(compiler);
|
|
778
755
|
}
|
|
779
756
|
if (options.optimization.checkWasmTypes) {
|
|
780
|
-
const WasmFinalizeExportsPlugin = require("
|
|
757
|
+
const WasmFinalizeExportsPlugin = require("../wasm-sync/WasmFinalizeExportsPlugin");
|
|
781
758
|
|
|
782
759
|
new WasmFinalizeExportsPlugin().apply(compiler);
|
|
783
760
|
}
|
|
@@ -785,20 +762,20 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
785
762
|
if (moduleIds) {
|
|
786
763
|
switch (moduleIds) {
|
|
787
764
|
case "natural": {
|
|
788
|
-
const NaturalModuleIdsPlugin = require("
|
|
765
|
+
const NaturalModuleIdsPlugin = require("../ids/NaturalModuleIdsPlugin");
|
|
789
766
|
|
|
790
767
|
new NaturalModuleIdsPlugin().apply(compiler);
|
|
791
768
|
break;
|
|
792
769
|
}
|
|
793
770
|
case "named": {
|
|
794
|
-
const NamedModuleIdsPlugin = require("
|
|
771
|
+
const NamedModuleIdsPlugin = require("../ids/NamedModuleIdsPlugin");
|
|
795
772
|
|
|
796
773
|
new NamedModuleIdsPlugin().apply(compiler);
|
|
797
774
|
break;
|
|
798
775
|
}
|
|
799
776
|
case "hashed": {
|
|
800
|
-
const WarnDeprecatedOptionPlugin = require("
|
|
801
|
-
const HashedModuleIdsPlugin = require("
|
|
777
|
+
const WarnDeprecatedOptionPlugin = require("../diagnostics/WarnDeprecatedOptionPlugin");
|
|
778
|
+
const HashedModuleIdsPlugin = require("../ids/HashedModuleIdsPlugin");
|
|
802
779
|
|
|
803
780
|
new WarnDeprecatedOptionPlugin(
|
|
804
781
|
"optimization.moduleIds",
|
|
@@ -811,13 +788,13 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
811
788
|
break;
|
|
812
789
|
}
|
|
813
790
|
case "deterministic": {
|
|
814
|
-
const DeterministicModuleIdsPlugin = require("
|
|
791
|
+
const DeterministicModuleIdsPlugin = require("../ids/DeterministicModuleIdsPlugin");
|
|
815
792
|
|
|
816
793
|
new DeterministicModuleIdsPlugin().apply(compiler);
|
|
817
794
|
break;
|
|
818
795
|
}
|
|
819
796
|
case "size": {
|
|
820
|
-
const OccurrenceModuleIdsPlugin = require("
|
|
797
|
+
const OccurrenceModuleIdsPlugin = require("../ids/OccurrenceModuleIdsPlugin");
|
|
821
798
|
|
|
822
799
|
new OccurrenceModuleIdsPlugin({
|
|
823
800
|
prioritiseInitial: true
|
|
@@ -834,26 +811,26 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
834
811
|
if (chunkIds) {
|
|
835
812
|
switch (chunkIds) {
|
|
836
813
|
case "natural": {
|
|
837
|
-
const NaturalChunkIdsPlugin = require("
|
|
814
|
+
const NaturalChunkIdsPlugin = require("../ids/NaturalChunkIdsPlugin");
|
|
838
815
|
|
|
839
816
|
new NaturalChunkIdsPlugin().apply(compiler);
|
|
840
817
|
break;
|
|
841
818
|
}
|
|
842
819
|
case "named": {
|
|
843
|
-
const NamedChunkIdsPlugin = require("
|
|
820
|
+
const NamedChunkIdsPlugin = require("../ids/NamedChunkIdsPlugin");
|
|
844
821
|
|
|
845
822
|
new NamedChunkIdsPlugin().apply(compiler);
|
|
846
823
|
break;
|
|
847
824
|
}
|
|
848
825
|
case "deterministic": {
|
|
849
|
-
const DeterministicChunkIdsPlugin = require("
|
|
826
|
+
const DeterministicChunkIdsPlugin = require("../ids/DeterministicChunkIdsPlugin");
|
|
850
827
|
|
|
851
828
|
new DeterministicChunkIdsPlugin().apply(compiler);
|
|
852
829
|
break;
|
|
853
830
|
}
|
|
854
831
|
case "size": {
|
|
855
832
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
856
|
-
const OccurrenceChunkIdsPlugin = require("
|
|
833
|
+
const OccurrenceChunkIdsPlugin = require("../ids/OccurrenceChunkIdsPlugin");
|
|
857
834
|
|
|
858
835
|
new OccurrenceChunkIdsPlugin({
|
|
859
836
|
prioritiseInitial: true
|
|
@@ -862,7 +839,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
862
839
|
}
|
|
863
840
|
case "total-size": {
|
|
864
841
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
865
|
-
const OccurrenceChunkIdsPlugin = require("
|
|
842
|
+
const OccurrenceChunkIdsPlugin = require("../ids/OccurrenceChunkIdsPlugin");
|
|
866
843
|
|
|
867
844
|
new OccurrenceChunkIdsPlugin({
|
|
868
845
|
prioritiseInitial: false
|
|
@@ -876,7 +853,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
876
853
|
}
|
|
877
854
|
}
|
|
878
855
|
if (options.optimization.nodeEnv) {
|
|
879
|
-
const DefinePlugin = require("
|
|
856
|
+
const DefinePlugin = require("../define/DefinePlugin");
|
|
880
857
|
|
|
881
858
|
const defValue = JSON.stringify(options.optimization.nodeEnv);
|
|
882
859
|
const development = options.mode === "development";
|
|
@@ -919,131 +896,131 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
919
896
|
|
|
920
897
|
if (options.performance) {
|
|
921
898
|
if (options.performance.hotspots) {
|
|
922
|
-
const HotspotsPlugin = require("
|
|
899
|
+
const HotspotsPlugin = require("../performance/HotspotsPlugin");
|
|
923
900
|
|
|
924
901
|
new HotspotsPlugin(options.performance).apply(compiler);
|
|
925
902
|
}
|
|
926
903
|
|
|
927
|
-
const SizeLimitsPlugin = require("
|
|
904
|
+
const SizeLimitsPlugin = require("../performance/SizeLimitsPlugin");
|
|
928
905
|
|
|
929
906
|
new SizeLimitsPlugin(options.performance).apply(compiler);
|
|
930
907
|
|
|
931
908
|
if (options.performance.duplicatePackages) {
|
|
932
|
-
const DuplicatePackagesPlugin = require("
|
|
909
|
+
const DuplicatePackagesPlugin = require("../performance/DuplicatePackagesPlugin");
|
|
933
910
|
|
|
934
911
|
new DuplicatePackagesPlugin(options.performance).apply(compiler);
|
|
935
912
|
}
|
|
936
913
|
|
|
937
914
|
if (options.performance.cacheEffectiveness) {
|
|
938
|
-
const CacheEffectivenessPlugin = require("
|
|
915
|
+
const CacheEffectivenessPlugin = require("../performance/CacheEffectivenessPlugin");
|
|
939
916
|
|
|
940
917
|
new CacheEffectivenessPlugin(options.performance).apply(compiler);
|
|
941
918
|
}
|
|
942
919
|
|
|
943
920
|
if (options.performance.duplicateModules) {
|
|
944
|
-
const DuplicateModulesPlugin = require("
|
|
921
|
+
const DuplicateModulesPlugin = require("../performance/DuplicateModulesPlugin");
|
|
945
922
|
|
|
946
923
|
new DuplicateModulesPlugin(options.performance).apply(compiler);
|
|
947
924
|
}
|
|
948
925
|
|
|
949
926
|
if (options.performance.redundantDynamicImports) {
|
|
950
|
-
const RedundantDynamicImportsPlugin = require("
|
|
927
|
+
const RedundantDynamicImportsPlugin = require("../performance/RedundantDynamicImportsPlugin");
|
|
951
928
|
|
|
952
929
|
new RedundantDynamicImportsPlugin(options.performance).apply(compiler);
|
|
953
930
|
}
|
|
954
931
|
|
|
955
932
|
if (options.performance.largeModules) {
|
|
956
|
-
const LargeModulesPlugin = require("
|
|
933
|
+
const LargeModulesPlugin = require("../performance/LargeModulesPlugin");
|
|
957
934
|
|
|
958
935
|
new LargeModulesPlugin(options.performance).apply(compiler);
|
|
959
936
|
}
|
|
960
937
|
|
|
961
938
|
if (options.performance.analyzableBailouts) {
|
|
962
|
-
const AnalyzableBailoutsPlugin = require("
|
|
939
|
+
const AnalyzableBailoutsPlugin = require("../performance/AnalyzableBailoutsPlugin");
|
|
963
940
|
|
|
964
941
|
new AnalyzableBailoutsPlugin(options.performance).apply(compiler);
|
|
965
942
|
}
|
|
966
943
|
|
|
967
944
|
if (options.performance.asyncChunkWaterfalls) {
|
|
968
|
-
const AsyncChunkWaterfallsPlugin = require("
|
|
945
|
+
const AsyncChunkWaterfallsPlugin = require("../performance/AsyncChunkWaterfallsPlugin");
|
|
969
946
|
|
|
970
947
|
new AsyncChunkWaterfallsPlugin(options.performance).apply(compiler);
|
|
971
948
|
}
|
|
972
949
|
|
|
973
950
|
if (options.performance.broadContexts) {
|
|
974
|
-
const BroadContextsPlugin = require("
|
|
951
|
+
const BroadContextsPlugin = require("../performance/BroadContextsPlugin");
|
|
975
952
|
|
|
976
953
|
new BroadContextsPlugin(options.performance).apply(compiler);
|
|
977
954
|
}
|
|
978
955
|
|
|
979
956
|
if (options.performance.legacyJavascript) {
|
|
980
|
-
const LegacyJavascriptPlugin = require("
|
|
957
|
+
const LegacyJavascriptPlugin = require("../performance/LegacyJavascriptPlugin");
|
|
981
958
|
|
|
982
959
|
new LegacyJavascriptPlugin(options.performance).apply(compiler);
|
|
983
960
|
}
|
|
984
961
|
|
|
985
962
|
if (options.performance.mixedExports) {
|
|
986
|
-
const MixedExportsPlugin = require("
|
|
963
|
+
const MixedExportsPlugin = require("../performance/MixedExportsPlugin");
|
|
987
964
|
|
|
988
965
|
new MixedExportsPlugin(options.performance).apply(compiler);
|
|
989
966
|
}
|
|
990
967
|
|
|
991
968
|
if (options.performance.pureAnnotations) {
|
|
992
|
-
const PureAnnotationsPlugin = require("
|
|
969
|
+
const PureAnnotationsPlugin = require("../performance/PureAnnotationsPlugin");
|
|
993
970
|
|
|
994
971
|
new PureAnnotationsPlugin(options.performance).apply(compiler);
|
|
995
972
|
}
|
|
996
973
|
|
|
997
974
|
if (options.performance.evalUsage) {
|
|
998
|
-
const EvalUsagePlugin = require("
|
|
975
|
+
const EvalUsagePlugin = require("../performance/EvalUsagePlugin");
|
|
999
976
|
|
|
1000
977
|
new EvalUsagePlugin(options.performance).apply(compiler);
|
|
1001
978
|
}
|
|
1002
979
|
|
|
1003
980
|
if (options.performance.tinyChunks) {
|
|
1004
|
-
const TinyChunksPlugin = require("
|
|
981
|
+
const TinyChunksPlugin = require("../performance/TinyChunksPlugin");
|
|
1005
982
|
|
|
1006
983
|
new TinyChunksPlugin(options.performance).apply(compiler);
|
|
1007
984
|
}
|
|
1008
985
|
|
|
1009
986
|
if (options.performance.topLevelThis) {
|
|
1010
|
-
const TopLevelThisPlugin = require("
|
|
987
|
+
const TopLevelThisPlugin = require("../performance/TopLevelThisPlugin");
|
|
1011
988
|
|
|
1012
989
|
new TopLevelThisPlugin(options.performance).apply(compiler);
|
|
1013
990
|
}
|
|
1014
991
|
|
|
1015
992
|
if (options.performance.unsplitVendors) {
|
|
1016
|
-
const UnsplitVendorsPlugin = require("
|
|
993
|
+
const UnsplitVendorsPlugin = require("../performance/UnsplitVendorsPlugin");
|
|
1017
994
|
|
|
1018
995
|
new UnsplitVendorsPlugin(options.performance).apply(compiler);
|
|
1019
996
|
}
|
|
1020
997
|
|
|
1021
998
|
if (options.performance.splitChunksCapped) {
|
|
1022
|
-
const SplitChunksCappedPlugin = require("
|
|
999
|
+
const SplitChunksCappedPlugin = require("../performance/SplitChunksCappedPlugin");
|
|
1023
1000
|
|
|
1024
1001
|
new SplitChunksCappedPlugin(options.performance).apply(compiler);
|
|
1025
1002
|
}
|
|
1026
1003
|
|
|
1027
1004
|
if (options.performance.dynamicExports) {
|
|
1028
|
-
const DynamicExportsPlugin = require("
|
|
1005
|
+
const DynamicExportsPlugin = require("../performance/DynamicExportsPlugin");
|
|
1029
1006
|
|
|
1030
1007
|
new DynamicExportsPlugin(options.performance).apply(compiler);
|
|
1031
1008
|
}
|
|
1032
1009
|
|
|
1033
1010
|
if (options.performance.inlinedAssets) {
|
|
1034
|
-
const InlinedAssetsPlugin = require("
|
|
1011
|
+
const InlinedAssetsPlugin = require("../performance/InlinedAssetsPlugin");
|
|
1035
1012
|
|
|
1036
1013
|
new InlinedAssetsPlugin(options.performance).apply(compiler);
|
|
1037
1014
|
}
|
|
1038
1015
|
|
|
1039
1016
|
if (options.performance.missingSideEffects) {
|
|
1040
|
-
const MissingSideEffectsPlugin = require("
|
|
1017
|
+
const MissingSideEffectsPlugin = require("../performance/MissingSideEffectsPlugin");
|
|
1041
1018
|
|
|
1042
1019
|
new MissingSideEffectsPlugin(options.performance).apply(compiler);
|
|
1043
1020
|
}
|
|
1044
1021
|
|
|
1045
1022
|
if (options.performance.scopeHoistingBailouts) {
|
|
1046
|
-
const ScopeHoistingBailoutsPlugin = require("
|
|
1023
|
+
const ScopeHoistingBailoutsPlugin = require("../performance/ScopeHoistingBailoutsPlugin");
|
|
1047
1024
|
|
|
1048
1025
|
new ScopeHoistingBailoutsPlugin(options.performance).apply(compiler);
|
|
1049
1026
|
}
|
|
@@ -1051,8 +1028,8 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1051
1028
|
// One switch for source maps: a devtool that ships the map to everyone,
|
|
1052
1029
|
// and a loader that loses it, are both about the map being worth its cost.
|
|
1053
1030
|
if (options.performance.sourceMaps) {
|
|
1054
|
-
const EmbeddedSourceMapsPlugin = require("
|
|
1055
|
-
const MissingSourceMapsPlugin = require("
|
|
1031
|
+
const EmbeddedSourceMapsPlugin = require("../performance/EmbeddedSourceMapsPlugin");
|
|
1032
|
+
const MissingSourceMapsPlugin = require("../performance/MissingSourceMapsPlugin");
|
|
1056
1033
|
|
|
1057
1034
|
new EmbeddedSourceMapsPlugin(options.performance).apply(compiler);
|
|
1058
1035
|
new MissingSourceMapsPlugin(options.performance).apply(compiler);
|
|
@@ -1061,13 +1038,13 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1061
1038
|
// One switch for configuration that did nothing: the four read different
|
|
1062
1039
|
// parts of the config, but the finding and the fix are the same.
|
|
1063
1040
|
if (options.performance.unusedConfig) {
|
|
1064
|
-
const UnusedAliasesPlugin = require("
|
|
1065
|
-
const UnusedDefinesPlugin = require("
|
|
1066
|
-
const UnusedExternalsPlugin = require("
|
|
1067
|
-
const UnusedFederationPlugin = require("
|
|
1041
|
+
const UnusedAliasesPlugin = require("../performance/UnusedAliasesPlugin");
|
|
1042
|
+
const UnusedDefinesPlugin = require("../performance/UnusedDefinesPlugin");
|
|
1043
|
+
const UnusedExternalsPlugin = require("../performance/UnusedExternalsPlugin");
|
|
1044
|
+
const UnusedFederationPlugin = require("../performance/UnusedFederationPlugin");
|
|
1068
1045
|
// Reports even where size hints are off: a dead rule is a configuration
|
|
1069
1046
|
// mistake either way.
|
|
1070
|
-
const UnusedRuleWarningPlugin = require("
|
|
1047
|
+
const UnusedRuleWarningPlugin = require("../performance/UnusedRuleWarningPlugin");
|
|
1071
1048
|
|
|
1072
1049
|
new UnusedAliasesPlugin(options.performance).apply(compiler);
|
|
1073
1050
|
new UnusedDefinesPlugin(options.performance).apply(compiler);
|
|
@@ -1079,8 +1056,8 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1079
1056
|
// One switch for a module nothing uses: the two differ only in what kept
|
|
1080
1057
|
// it there, and each names the cause it knows about.
|
|
1081
1058
|
if (options.performance.unusedModules) {
|
|
1082
|
-
const UnusedModulesPlugin = require("
|
|
1083
|
-
const UnusedReexportsPlugin = require("
|
|
1059
|
+
const UnusedModulesPlugin = require("../performance/UnusedModulesPlugin");
|
|
1060
|
+
const UnusedReexportsPlugin = require("../performance/UnusedReexportsPlugin");
|
|
1084
1061
|
|
|
1085
1062
|
new UnusedModulesPlugin(options.performance).apply(compiler);
|
|
1086
1063
|
new UnusedReexportsPlugin(options.performance).apply(compiler);
|
|
@@ -1089,13 +1066,13 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1089
1066
|
// Deliberately not gated on `hints`, like `unusedConfig` above: a rule
|
|
1090
1067
|
// that only matches on one OS is a configuration mistake, not a size.
|
|
1091
1068
|
if (options.performance.osDependentRules) {
|
|
1092
|
-
const OsDependentRuleWarningPlugin = require("
|
|
1069
|
+
const OsDependentRuleWarningPlugin = require("../performance/OsDependentRuleWarningPlugin");
|
|
1093
1070
|
|
|
1094
1071
|
new OsDependentRuleWarningPlugin(options.performance).apply(compiler);
|
|
1095
1072
|
}
|
|
1096
1073
|
|
|
1097
1074
|
if (options.performance.unusedAssets) {
|
|
1098
|
-
const UnusedAssetsPlugin = require("
|
|
1075
|
+
const UnusedAssetsPlugin = require("../performance/UnusedAssetsPlugin");
|
|
1099
1076
|
|
|
1100
1077
|
new UnusedAssetsPlugin(options.performance).apply(compiler);
|
|
1101
1078
|
}
|
|
@@ -1103,7 +1080,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1103
1080
|
// Deliberately not gated on `hints`: asking for both directives on one
|
|
1104
1081
|
// import is a configuration mistake, not a size.
|
|
1105
1082
|
if (options.performance.conflictingResourceHints) {
|
|
1106
|
-
const ConflictingResourceHintsPlugin = require("
|
|
1083
|
+
const ConflictingResourceHintsPlugin = require("../performance/ConflictingResourceHintsPlugin");
|
|
1107
1084
|
|
|
1108
1085
|
new ConflictingResourceHintsPlugin(options.performance).apply(compiler);
|
|
1109
1086
|
}
|
|
@@ -1117,15 +1094,33 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1117
1094
|
|
|
1118
1095
|
new WarnCaseSensitiveModulesPlugin().apply(compiler);
|
|
1119
1096
|
|
|
1120
|
-
const AddManagedPathsPlugin = require("
|
|
1097
|
+
const AddManagedPathsPlugin = require("../cache/AddManagedPathsPlugin");
|
|
1098
|
+
|
|
1099
|
+
/**
|
|
1100
|
+
* @param {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} paths snapshot paths
|
|
1101
|
+
* @returns {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} paths with relative globs compiled
|
|
1102
|
+
*/
|
|
1103
|
+
const compileSnapshotPaths = (paths) => {
|
|
1104
|
+
const {
|
|
1105
|
+
compileRelativeGlobPaths,
|
|
1106
|
+
createPathGlobPrefixRegExp
|
|
1107
|
+
} = require("../util/globUtils");
|
|
1108
|
+
|
|
1109
|
+
return compileRelativeGlobPaths(paths, (pattern) =>
|
|
1110
|
+
createPathGlobPrefixRegExp(pattern, options.context)
|
|
1111
|
+
);
|
|
1112
|
+
};
|
|
1113
|
+
const snapshotOptions = {
|
|
1114
|
+
...options.snapshot,
|
|
1115
|
+
managedPaths: compileSnapshotPaths(options.snapshot.managedPaths),
|
|
1116
|
+
immutablePaths: compileSnapshotPaths(options.snapshot.immutablePaths),
|
|
1117
|
+
unmanagedPaths: compileSnapshotPaths(options.snapshot.unmanagedPaths)
|
|
1118
|
+
};
|
|
1121
1119
|
|
|
1122
1120
|
new AddManagedPathsPlugin(
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
(options.snapshot.immutablePaths),
|
|
1127
|
-
/** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */
|
|
1128
|
-
(options.snapshot.unmanagedPaths)
|
|
1121
|
+
snapshotOptions.managedPaths,
|
|
1122
|
+
snapshotOptions.immutablePaths,
|
|
1123
|
+
snapshotOptions.unmanagedPaths
|
|
1129
1124
|
).apply(compiler);
|
|
1130
1125
|
|
|
1131
1126
|
if (options.cache && typeof options.cache === "object") {
|
|
@@ -1134,7 +1129,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1134
1129
|
case "memory": {
|
|
1135
1130
|
if (Number.isFinite(cacheOptions.maxGenerations)) {
|
|
1136
1131
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
1137
|
-
const MemoryWithGcCachePlugin = require("
|
|
1132
|
+
const MemoryWithGcCachePlugin = require("../cache/MemoryWithGcCachePlugin");
|
|
1138
1133
|
|
|
1139
1134
|
new MemoryWithGcCachePlugin({
|
|
1140
1135
|
maxGenerations:
|
|
@@ -1143,7 +1138,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1143
1138
|
}).apply(compiler);
|
|
1144
1139
|
} else {
|
|
1145
1140
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
1146
|
-
const MemoryCachePlugin = require("
|
|
1141
|
+
const MemoryCachePlugin = require("../cache/MemoryCachePlugin");
|
|
1147
1142
|
|
|
1148
1143
|
new MemoryCachePlugin().apply(compiler);
|
|
1149
1144
|
}
|
|
@@ -1158,20 +1153,22 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1158
1153
|
break;
|
|
1159
1154
|
}
|
|
1160
1155
|
case "filesystem": {
|
|
1161
|
-
const AddBuildDependenciesPlugin = require("
|
|
1156
|
+
const AddBuildDependenciesPlugin = require("../cache/AddBuildDependenciesPlugin");
|
|
1162
1157
|
|
|
1163
1158
|
for (const key in cacheOptions.buildDependencies) {
|
|
1164
1159
|
const list = cacheOptions.buildDependencies[key];
|
|
1165
|
-
new AddBuildDependenciesPlugin(
|
|
1160
|
+
new AddBuildDependenciesPlugin(
|
|
1161
|
+
/** @type {NormalizedBuildDependencyItem[]} */ (list)
|
|
1162
|
+
).apply(compiler);
|
|
1166
1163
|
}
|
|
1167
1164
|
if (!Number.isFinite(cacheOptions.maxMemoryGenerations)) {
|
|
1168
1165
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
1169
|
-
const MemoryCachePlugin = require("
|
|
1166
|
+
const MemoryCachePlugin = require("../cache/MemoryCachePlugin");
|
|
1170
1167
|
|
|
1171
1168
|
new MemoryCachePlugin().apply(compiler);
|
|
1172
1169
|
} else if (cacheOptions.maxMemoryGenerations !== 0) {
|
|
1173
1170
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
1174
|
-
const MemoryWithGcCachePlugin = require("
|
|
1171
|
+
const MemoryWithGcCachePlugin = require("../cache/MemoryWithGcCachePlugin");
|
|
1175
1172
|
|
|
1176
1173
|
new MemoryWithGcCachePlugin({
|
|
1177
1174
|
maxGenerations:
|
|
@@ -1189,8 +1186,8 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1189
1186
|
}
|
|
1190
1187
|
switch (cacheOptions.store) {
|
|
1191
1188
|
case "pack": {
|
|
1192
|
-
const IdleFileCachePlugin = require("
|
|
1193
|
-
const PackFileCacheStrategy = require("
|
|
1189
|
+
const IdleFileCachePlugin = require("../cache/IdleFileCachePlugin");
|
|
1190
|
+
const PackFileCacheStrategy = require("../cache/PackFileCacheStrategy");
|
|
1194
1191
|
|
|
1195
1192
|
new IdleFileCachePlugin(
|
|
1196
1193
|
new PackFileCacheStrategy({
|
|
@@ -1206,7 +1203,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1206
1203
|
logger: compiler.getInfrastructureLogger(
|
|
1207
1204
|
"webpack.cache.PackFileCacheStrategy"
|
|
1208
1205
|
),
|
|
1209
|
-
snapshot:
|
|
1206
|
+
snapshot: snapshotOptions,
|
|
1210
1207
|
maxAge: /** @type {number} */ (cacheOptions.maxAge),
|
|
1211
1208
|
profile: cacheOptions.profile,
|
|
1212
1209
|
allowCollectingMemory: cacheOptions.allowCollectingMemory,
|
|
@@ -1235,7 +1232,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
1235
1232
|
new ResolverCachePlugin().apply(compiler);
|
|
1236
1233
|
|
|
1237
1234
|
if (options.ignoreWarnings && options.ignoreWarnings.length > 0) {
|
|
1238
|
-
const IgnoreWarningsPlugin = require("
|
|
1235
|
+
const IgnoreWarningsPlugin = require("../diagnostics/IgnoreWarningsPlugin");
|
|
1239
1236
|
|
|
1240
1237
|
new IgnoreWarningsPlugin(options.ignoreWarnings).apply(compiler);
|
|
1241
1238
|
}
|