@depup/webpack 5.111.1-depup.1 → 5.112.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/changes.json +3 -15
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +224 -106
- package/lib/Compiler.js +19 -19
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -70
- package/lib/EntryPlugin.js +3 -68
- package/lib/Entrypoint.js +3 -121
- package/lib/ExternalsPlugin.js +3 -92
- package/lib/FileSystemInfo.js +3 -4629
- package/lib/InitFragment.js +3 -204
- package/lib/LibraryTemplatePlugin.js +3 -46
- package/lib/ModuleFilenameHelpers.js +3 -400
- package/lib/ModuleNotFoundError.js +2 -2
- package/lib/MultiCompiler.js +37 -8
- package/lib/NormalModule.js +3 -2242
- package/lib/NullFactory.js +3 -22
- package/lib/ProgressPlugin.js +3 -908
- package/lib/RawModule.js +3 -197
- package/lib/RequestShortener.js +3 -37
- package/lib/SingleEntryPlugin.js +1 -1
- package/lib/WebpackError.js +2 -2
- package/lib/asset/AssetBytesGenerator.js +8 -8
- package/lib/asset/AssetBytesParser.js +3 -3
- package/lib/asset/AssetGenerator.js +36 -22
- package/lib/asset/AssetModule.js +2 -2
- package/lib/asset/AssetModulesPlugin.js +6 -9
- package/lib/asset/AssetParser.js +3 -3
- package/lib/asset/AssetSourceGenerator.js +8 -8
- package/lib/asset/AssetSourceParser.js +3 -3
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +7 -7
- package/lib/asset/WebManifestParser.js +5 -5
- package/lib/async-modules/AsyncModuleHelpers.js +6 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +4 -3
- package/lib/async-modules/isGeneratorLowered.js +3 -3
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
- package/lib/{Cache.js → cache/Cache.js} +1 -1
- package/lib/{CacheFacade.js → cache/CacheFacade.js} +5 -5
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +2 -2
- package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
- package/lib/cache/PackFileCacheStrategy.js +8 -10
- package/lib/cache/ResolverCachePlugin.js +8 -4
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
- package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
- package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +217 -200
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +1 -1
- package/lib/{cli.js → config/cli.js} +5 -158
- package/lib/config/defaults.js +144 -48
- package/lib/config/getClaimedAssetTypes.js +21 -13
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +10 -0
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +13 -11
- package/lib/container/ContainerEntryModuleFactory.js +2 -2
- package/lib/container/ContainerExposedDependency.js +1 -1
- package/lib/container/ContainerPlugin.js +178 -5
- package/lib/container/ContainerReferencePlugin.js +75 -14
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackItemDependency.js +1 -1
- package/lib/container/FallbackModule.js +12 -10
- package/lib/container/FallbackModuleFactory.js +2 -2
- package/lib/container/HoistContainerReferencesPlugin.js +10 -11
- package/lib/container/ModuleFederationPlugin.js +306 -7
- package/lib/container/RemoteModule.js +14 -10
- package/lib/container/RemoteRuntimeModule.js +5 -5
- package/lib/container/RemoteToExternalDependency.js +1 -1
- package/lib/container/moduleFederationHooks.js +1 -1
- package/lib/context/ContextModule.js +36 -25
- package/lib/context/ContextModuleFactory.js +13 -10
- package/lib/context/ContextReplacementPlugin.js +3 -3
- package/lib/css/CssGenerator.js +38 -31
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +27 -29
- package/lib/css/CssModulesPlugin.js +128 -44
- package/lib/css/CssParser.js +682 -291
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/css/cssMinify.js +110 -37
- package/lib/css/data.js +6985 -5125
- package/lib/css/syntax-parser.js +19873 -0
- package/lib/css/syntax-printer.js +6037 -0
- package/lib/css/syntax.js +37 -18686
- package/lib/debug/ProfilingPlugin.js +52 -19
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +9 -9
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/ConstDependency.js +3 -120
- package/lib/dependencies/ContextElementDependency.js +5 -172
- package/lib/dependencies/NullDependency.js +3 -37
- package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
- package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
- package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
- package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
- package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
- package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
- package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
- package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
- package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
- package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
- package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
- package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
- package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
- package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
- package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -33
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +35 -30
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
- package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
- package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
- package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
- package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
- package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
- package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +5 -5
- package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
- package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
- package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
- package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
- package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
- package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
- package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
- package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
- package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
- package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
- package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
- package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
- package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
- package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
- package/lib/dependencies/context/ContextElementDependency.js +198 -0
- package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +9 -9
- package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
- package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +4 -4
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
- package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
- package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
- package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
- package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +12 -11
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +369 -92
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +23 -16
- package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
- package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
- package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +23 -16
- package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
- package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
- package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
- package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +19 -17
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
- package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
- package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
- package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +133 -118
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +60 -36
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +99 -84
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +94 -59
- package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
- package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
- package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
- package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
- package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +51 -141
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -19
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -15
- package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
- package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
- package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
- package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
- package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +20 -20
- package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
- package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
- package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
- package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +119 -98
- package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
- package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
- package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
- package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
- package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
- package/lib/{url → dependencies/url}/URLParserPlugin.js +16 -18
- package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
- package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
- package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
- package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
- package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +31 -33
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
- package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
- package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
- package/lib/devtool/ModuleFilenameHelpers.js +413 -0
- package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
- package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +154 -26
- package/lib/{util → devtool}/generateDebugId.js +1 -1
- package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
- package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
- package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
- package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
- package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
- package/lib/dll/DelegatedModule.js +20 -18
- package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
- package/lib/dll/DelegatedPlugin.js +1 -1
- package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
- package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
- package/lib/dll/DllEntryPlugin.js +3 -3
- package/lib/dll/DllModule.js +11 -9
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +102 -26
- package/lib/dll/LibManifestPlugin.js +9 -7
- package/lib/electron/ElectronTargetPlugin.js +2 -2
- package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
- package/lib/{dependencies → entry}/EntryDependency.js +11 -2
- package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
- package/lib/entry/EntryPlugin.js +75 -0
- package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
- package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
- package/lib/errors/DeprecatedOptionWarning.js +30 -0
- package/lib/errors/DllManifestError.js +26 -0
- package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
- package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
- package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +7 -5
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +4 -4
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
- package/lib/errors/ModuleBuildError.js +1 -1
- package/lib/errors/ModuleDependencyError.js +2 -2
- package/lib/errors/ModuleDependencyWarning.js +2 -2
- package/lib/errors/ModuleError.js +1 -1
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +3 -3
- package/lib/errors/ModuleParseError.js +1 -1
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/ModuleWarning.js +1 -1
- package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
- package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
- package/lib/errors/NodeStuffInWebError.js +7 -2
- package/lib/errors/PathVariableError.js +31 -0
- package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
- package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
- package/lib/errors/RuntimeModuleGenerationError.js +51 -0
- package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
- package/lib/errors/SystemImportDeprecationWarning.js +43 -0
- package/lib/errors/UnmergeableEntryExportsError.js +34 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
- package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
- package/lib/errors/WebpackError.js +12 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +79 -55
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
- package/lib/externals/ExternalsPlugin.js +99 -0
- package/lib/fs/FileSystemInfo.js +4642 -0
- package/lib/{util → fs}/fs.js +22 -9
- package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
- package/lib/graph/Chunk.js +985 -0
- package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +187 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +628 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +130 -82
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +30 -30
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +152 -57
- package/lib/{util → graph}/findGraphRoots.js +14 -8
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +47 -47
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +31 -21
- package/lib/html/HtmlGenerator.js +107 -43
- package/lib/html/HtmlModule.js +6 -2
- package/lib/html/HtmlModulesPlugin.js +172 -76
- package/lib/html/HtmlParser.js +503 -153
- package/lib/html/builtinEmbeddedRenderer.js +60 -13
- package/lib/html/data.js +2 -1
- package/lib/html/htmlMinify.js +111 -41
- package/lib/html/syntax-parser.js +15796 -0
- package/lib/html/syntax-printer.js +1034 -0
- package/lib/html/syntax.js +37 -13952
- package/lib/html/xmlMinify.js +67 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +31 -4
- package/lib/ids/IdHelpers.js +4 -4
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
- package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
- package/lib/ids/SyncModuleIdsPlugin.js +3 -3
- package/lib/{util → ids}/numberHash.js +1 -1
- package/lib/index.js +303 -97
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +25 -25
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +4 -4
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +74 -7
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +17 -17
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
- package/lib/javascript/JavascriptModule.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +440 -211
- package/lib/javascript/JavascriptParser.js +220 -134
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3840 -5
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
- package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
- package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
- package/lib/javascript/data.js +533 -122
- package/lib/javascript/jsMinify.js +272 -0
- package/lib/javascript/regexp.js +67 -32
- package/lib/javascript/syntax-parser.js +18561 -0
- package/lib/javascript/syntax-printer-data.js +933 -0
- package/lib/javascript/syntax-printer.js +47106 -0
- package/lib/javascript/syntax.js +20 -11274
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +10 -10
- package/lib/json/JsonModule.js +2 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -5
- package/lib/json/jsonMinify.js +69 -0
- package/lib/library/AbstractLibraryPlugin.js +28 -15
- package/lib/library/AmdLibraryPlugin.js +4 -4
- package/lib/library/AssignLibraryPlugin.js +27 -11
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +1 -1
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +160 -166
- package/lib/library/SystemLibraryPlugin.js +6 -8
- package/lib/library/UmdLibraryPlugin.js +3 -4
- package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
- package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
- package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
- package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
- package/lib/loaders/LoaderRunner.js +31 -21
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/logging/Logger.js +7 -9
- package/lib/logging/ProgressPlugin.js +957 -0
- package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
- package/lib/{Generator.js → module/Generator.js} +16 -14
- package/lib/{Module.js → module/Module.js} +119 -51
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2348 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +3 -3
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +2 -2
- package/lib/{util → module}/findCaseMismatch.js +2 -2
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
- package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
- package/lib/node/NodeEnvironmentPlugin.js +11 -1
- package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
- package/lib/node/NodeTargetPlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +58 -6
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
- package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +2 -4
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
- package/lib/optimize/ConcatenatedModule.js +229 -214
- package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
- package/lib/optimize/ConstExportsPlugin.js +7 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
- package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +17 -17
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +17 -17
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
- package/lib/optimize/InlineExports.js +11 -3
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +10 -10
- package/lib/optimize/LazyBarrels.js +584 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +16 -7
- package/lib/optimize/MangleExportsPlugin.js +5 -5
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +20 -12
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +16 -7
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +18 -18
- package/lib/optimize/SplitChunksPlugin.js +713 -155
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +17 -17
- package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
- package/lib/{CleanPlugin.js → output/CleanPlugin.js} +66 -24
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
- package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
- package/lib/output/SSRManifestPlugin.js +349 -0
- package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
- package/lib/performance/BroadContextsPlugin.js +4 -4
- package/lib/performance/CacheEffectivenessPlugin.js +2 -3
- package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
- package/lib/performance/DuplicateModulesPlugin.js +3 -4
- package/lib/performance/DuplicatePackagesPlugin.js +3 -3
- package/lib/performance/DynamicExportsPlugin.js +2 -2
- package/lib/performance/EvalUsagePlugin.js +3 -3
- package/lib/performance/HotspotsPlugin.js +11 -10
- package/lib/performance/LargeModulesPlugin.js +2 -3
- package/lib/performance/LegacyJavascriptPlugin.js +1 -2
- package/lib/performance/MissingSideEffectsPlugin.js +2 -3
- package/lib/performance/MissingSourceMapsPlugin.js +5 -6
- package/lib/performance/PureAnnotationsPlugin.js +3 -3
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +11 -12
- package/lib/performance/TopLevelThisPlugin.js +8 -7
- package/lib/performance/UnsplitVendorsPlugin.js +1 -2
- package/lib/performance/UnusedAliasesPlugin.js +6 -7
- package/lib/performance/UnusedAssetsPlugin.js +5 -5
- package/lib/performance/UnusedDefinesPlugin.js +2 -2
- package/lib/performance/UnusedExternalsPlugin.js +3 -4
- package/lib/performance/UnusedFederationPlugin.js +2 -4
- package/lib/performance/UnusedModulesPlugin.js +5 -4
- package/lib/performance/getModuleSize.js +1 -1
- package/lib/performance/hasOnlyUnusedExports.js +4 -4
- package/lib/performance/isOnlyReexported.js +7 -6
- package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
- package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
- package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +65 -44
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
- package/lib/prefetch/parseResourceHintOptions.js +4 -3
- package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
- package/lib/{dependencies → provide}/ProvidedDependency.js +14 -13
- package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
- package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
- package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
- package/lib/resolve/getResolveOptionsKey.js +59 -0
- package/lib/rules/RuleSetCompiler.js +27 -46
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +7 -4
- package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
- package/lib/runtime/BaseUriRuntimeModule.js +3 -3
- package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +4 -4
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
- package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
- package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +6 -6
- package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
- package/lib/runtime/GlobalRuntimeModule.js +3 -3
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
- package/lib/runtime/HelperRuntimeModule.js +16 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/NonceRuntimeModule.js +2 -2
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
- package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +18 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -50
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
- package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
- package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
- package/lib/runtime/SystemContextRuntimeModule.js +2 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
- package/lib/runtime/WorkerRuntimeModule.js +1 -1
- package/lib/runtime/baseUri.js +1 -1
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +67 -11
- package/lib/schemes/VirtualUrlPlugin.js +50 -16
- package/lib/serialization/AggregateErrorSerializer.js +2 -2
- package/lib/serialization/FileMiddleware.js +3 -3
- package/lib/serialization/ObjectMiddleware.js +47 -16
- package/lib/serialization/SerializerMiddleware.js +2 -2
- package/lib/serialization/SingleItemMiddleware.js +4 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
- package/lib/sharing/ConsumeSharedModule.js +18 -14
- package/lib/sharing/ConsumeSharedPlugin.js +148 -42
- package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
- package/lib/sharing/ProvideForSharedDependency.js +9 -1
- package/lib/sharing/ProvideSharedDependency.js +1 -1
- package/lib/sharing/ProvideSharedModule.js +11 -9
- package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
- package/lib/sharing/ProvideSharedPlugin.js +111 -20
- package/lib/sharing/SharePlugin.js +102 -9
- package/lib/sharing/ShareRuntimeModule.js +6 -6
- package/lib/sharing/resolveMatchedConfigs.js +1 -1
- package/lib/{util → sharing}/semver.js +14 -16
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +22 -19
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +14 -13
- package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
- package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
- package/lib/template/DependencyTemplate.js +77 -0
- package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
- package/lib/template/InitFragment.js +223 -0
- package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
- package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
- package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
- package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +145 -63
- package/lib/{Template.js → template/Template.js} +13 -11
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
- package/lib/typescript/TypeScriptPlugin.js +3 -3
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +349 -44
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +10 -12
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/comparators.js +10 -10
- package/lib/util/concatenate.js +28 -147
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +94 -15
- package/lib/util/deprecation.js +1 -1
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +197 -16
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +294 -102
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +23 -4
- package/lib/util/parseJson.js +1 -1
- package/lib/util/preloadModuleType.js +5 -2
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/removeBOM.js +1 -1
- package/lib/util/runtime.js +1 -1
- package/lib/util/serialization.js +4 -1
- package/lib/util/source.js +2 -2
- package/lib/util/terminalColors.js +161 -0
- package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmModule.js +9 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +11 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +9 -8
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +14 -15
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +6 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
- package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
- package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
- package/lib/{Watching.js → watch/Watching.js} +8 -8
- package/lib/web/FetchCompileAsyncWasmPlugin.js +8 -6
- package/lib/web/FetchCompileWasmPlugin.js +6 -4
- package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
- package/lib/web/JsonpTemplatePlugin.js +1 -1
- package/lib/webpack.js +27 -17
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
- package/package.json +49 -38
- package/schemas/WebpackOptions.check.js +2 -1
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +294 -74
- package/schemas/plugins/BannerPlugin.check.js +2 -1
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
- package/schemas/plugins/HtmlParserOptions.check.js +2 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -0
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +2 -1
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
- package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssParserOptions.check.js +1 -0
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +19355 -13873
- package/lib/LazyBarrel.js +0 -388
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
- package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
- package/lib/javascript/ChunkFormatHelpers.js +0 -72
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1500
- package/lib/javascript/regexpData.js +0 -51
- package/lib/performance/getSourceModules.js +0 -22
- package/lib/util/Semaphore.js +0 -65
- package/lib/util/objectToMap.js +0 -15
- package/schemas/WebpackOptions.check.d.ts +0 -7
- package/schemas/_container.json +0 -155
- package/schemas/_sharing.json +0 -118
- package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
- package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
- package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
- /package/lib/{util → css}/conventions.js +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
|
@@ -13,20 +13,109 @@ const { isRequiredVersion } = require("./utils");
|
|
|
13
13
|
/**
|
|
14
14
|
* @import {
|
|
15
15
|
* ConsumesConfig
|
|
16
|
-
* } from "
|
|
16
|
+
* } from "./ConsumeSharedPlugin"
|
|
17
17
|
*/
|
|
18
18
|
/**
|
|
19
19
|
* @import {
|
|
20
20
|
* ProvidesConfig
|
|
21
|
-
* } from "
|
|
21
|
+
* } from "./ProvideSharedPlugin"
|
|
22
22
|
*/
|
|
23
|
+
/** @import Compiler from "../Compiler" */
|
|
24
|
+
|
|
23
25
|
/**
|
|
24
|
-
* @
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
|
|
26
|
+
* @inline
|
|
27
|
+
* @minLength 1
|
|
28
|
+
* @typedef {string} NonEmptyString
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Modules that should be shared in the share scope.
|
|
33
|
+
* @inline
|
|
34
|
+
* @typedef {SharedItem | SharedObject} SharedBranch1Item
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* No provided or fallback module.
|
|
39
|
+
* @inline
|
|
40
|
+
* @typedef {false} SharedConfigImportBranch1
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* No version requirement check.
|
|
45
|
+
* @inline
|
|
46
|
+
* @typedef {false} SharedConfigRequiredVersionBranch1
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Version as string. Can be prefixed with '^' or '~' for minimum matches. Each part of the version should be separated by a dot '.'.
|
|
51
|
+
* @inline
|
|
52
|
+
* @typedef {string} SharedConfigRequiredVersionBranch2
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Don't provide a version.
|
|
57
|
+
* @inline
|
|
58
|
+
* @typedef {false} SharedConfigVersionBranch1
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Version as string. Each part of the version should be separated by a dot '.'.
|
|
63
|
+
* @inline
|
|
64
|
+
* @typedef {string} SharedConfigVersionBranch2
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Modules that should be shared in the share scope.
|
|
69
|
+
* @inline
|
|
70
|
+
* @typedef {SharedConfig | SharedItem} SharedObjectValue
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Modules that should be shared in the share scope. When provided, property names are used to match requested modules in this compilation.
|
|
75
|
+
* @typedef {SharedBranch1Item[] | SharedObject} Shared
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Advanced configuration for modules that should be shared in the share scope.
|
|
80
|
+
* @typedef {object} SharedConfig
|
|
81
|
+
* @property {boolean=} eager Include the provided and fallback module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.
|
|
82
|
+
* @property {SharedModuleFilter=} exclude
|
|
83
|
+
* @property {SharedConfigImportBranch1 | SharedItem=} import Provided module that should be provided to share scope. Also acts as fallback module if no shared module is found in share scope or version isn't valid. Defaults to the property name.
|
|
84
|
+
* @property {SharedModuleFilter=} include
|
|
85
|
+
* @property {NonEmptyString=} packageName Package name to determine required version from description file. This is only needed when package name can't be automatically determined from request.
|
|
86
|
+
* @property {SharedConfigRequiredVersionBranch1 | SharedConfigRequiredVersionBranch2=} requiredVersion Version requirement from module in share scope.
|
|
87
|
+
* @property {NonEmptyString=} shareKey Module is looked up under this key from the share scope.
|
|
88
|
+
* @property {NonEmptyString=} shareScope Share scope name.
|
|
89
|
+
* @property {boolean=} singleton Allow only a single version of the shared module in share scope (disabled by default).
|
|
90
|
+
* @property {boolean=} strictVersion Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).
|
|
91
|
+
* @property {SharedConfigVersionBranch1 | SharedConfigVersionBranch2=} version Version of the provided module. Will replace lower matching versions, but not higher.
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* A module that should be shared in the share scope.
|
|
96
|
+
* @typedef {NonEmptyString} SharedItem
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Filters shared modules by version or request: with 'include' only matching modules are shared, with 'exclude' matching ones are not. A filtered-out module is resolved and bundled as if it wasn't shared.
|
|
101
|
+
* @since 5.112.0
|
|
102
|
+
* @typedef {object} SharedModuleFilter
|
|
103
|
+
* @property {RegExp | NonEmptyString=} request Request remainder after a key ending in a slash (e.g. 'get' for 'lodash/get' under 'lodash/'). Has no effect on other keys.
|
|
104
|
+
* @property {NonEmptyString=} version Version range the module's version (from its description file or the 'version' option) is tested against. A consumed module is tested through its fallback module, so this has no effect on consumes without one.
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Modules that should be shared in the share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.
|
|
109
|
+
* @typedef {{ [key: string]: SharedObjectValue }} SharedObject
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Options for shared modules.
|
|
114
|
+
* @schema plugins/sharing/SharePlugin
|
|
115
|
+
* @typedef {object} SharePluginOptions
|
|
116
|
+
* @property {NonEmptyString=} shareScope Share scope name used for all shared modules (defaults to 'default').
|
|
117
|
+
* @property {Shared} shared
|
|
28
118
|
*/
|
|
29
|
-
/** @import Compiler from "../Compiler" */
|
|
30
119
|
|
|
31
120
|
class SharePlugin {
|
|
32
121
|
/**
|
|
@@ -65,7 +154,9 @@ class SharePlugin {
|
|
|
65
154
|
strictVersion: options.strictVersion,
|
|
66
155
|
singleton: options.singleton,
|
|
67
156
|
packageName: options.packageName,
|
|
68
|
-
eager: options.eager
|
|
157
|
+
eager: options.eager,
|
|
158
|
+
include: options.include,
|
|
159
|
+
exclude: options.exclude
|
|
69
160
|
}
|
|
70
161
|
}));
|
|
71
162
|
/** @type {Record<string, ProvidesConfig>[]} */
|
|
@@ -76,7 +167,9 @@ class SharePlugin {
|
|
|
76
167
|
shareKey: options.shareKey || key,
|
|
77
168
|
shareScope: options.shareScope,
|
|
78
169
|
version: options.version,
|
|
79
|
-
eager: options.eager
|
|
170
|
+
eager: options.eager,
|
|
171
|
+
include: options.include,
|
|
172
|
+
exclude: options.exclude
|
|
80
173
|
}
|
|
81
174
|
}));
|
|
82
175
|
/** @type {string | undefined} */
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
9
|
-
const RuntimeModule = require("../RuntimeModule");
|
|
10
|
-
const Template = require("../Template");
|
|
8
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
9
|
+
const RuntimeModule = require("../runtime/RuntimeModule");
|
|
10
|
+
const Template = require("../template/Template");
|
|
11
11
|
const {
|
|
12
12
|
compareModulesByIdentifier,
|
|
13
13
|
compareStrings
|
|
14
14
|
} = require("../util/comparators");
|
|
15
15
|
|
|
16
|
-
/** @import Chunk from "../Chunk" */
|
|
17
|
-
/** @import ChunkGraph from "../ChunkGraph" */
|
|
16
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
17
|
+
/** @import ChunkGraph from "../graph/ChunkGraph" */
|
|
18
18
|
/** @import Compilation from "../Compilation" */
|
|
19
|
-
/** @import CodeGenerationResults from "../CodeGenerationResults" */
|
|
19
|
+
/** @import CodeGenerationResults from "../module/CodeGenerationResults" */
|
|
20
20
|
|
|
21
21
|
class ShareRuntimeModule extends RuntimeModule {
|
|
22
22
|
constructor() {
|
|
@@ -15,7 +15,7 @@ const getModuleNotFoundError = memoize(() =>
|
|
|
15
15
|
|
|
16
16
|
/** @import { ResolveContext } from "enhanced-resolve" */
|
|
17
17
|
/** @import Compilation, { FileSystemDependencies } from "../Compilation" */
|
|
18
|
-
/** @import { ResolveOptionsWithDependencyType } from "../ResolverFactory" */
|
|
18
|
+
/** @import { ResolveOptionsWithDependencyType } from "../resolve/ResolverFactory" */
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Defines the matched configs item type used by this module.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import RuntimeTemplate from "../RuntimeTemplate" */
|
|
8
|
+
/** @import RuntimeTemplate from "../template/RuntimeTemplate" */
|
|
9
9
|
/** @typedef {string | number} VersionValue */
|
|
10
10
|
/** @typedef {VersionValue | undefined} SemVerRangeItem */
|
|
11
11
|
/** @typedef {(SemVerRangeItem | SemVerRangeItem[])[]} SemVerRange */
|
|
@@ -199,18 +199,16 @@ module.exports.parseRange = (str) => {
|
|
|
199
199
|
|
|
200
200
|
switch (start) {
|
|
201
201
|
case "^":
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
// never fix more components than the partial wrote
|
|
203
|
+
if (remainder.length > 2 && remainder[1] === 0) {
|
|
204
|
+
if (remainder.length > 3 && remainder[2] === 0) {
|
|
204
205
|
return [3, ...remainder.slice(1)];
|
|
205
206
|
}
|
|
206
207
|
return [2, ...remainder.slice(1)];
|
|
207
208
|
}
|
|
208
|
-
return [1, ...remainder.slice(1)];
|
|
209
|
+
return [Math.min(1, remainder.length - 1), ...remainder.slice(1)];
|
|
209
210
|
case "~":
|
|
210
|
-
|
|
211
|
-
return [1, ...remainder.slice(1)];
|
|
212
|
-
}
|
|
213
|
-
return [2, ...remainder.slice(1)];
|
|
211
|
+
return [Math.min(2, remainder.length - 1), ...remainder.slice(1)];
|
|
214
212
|
case ">=":
|
|
215
213
|
return remainder;
|
|
216
214
|
case "=":
|
|
@@ -577,9 +575,9 @@ module.exports.stringifyHoley = (json) => {
|
|
|
577
575
|
* @param {RuntimeTemplate} runtimeTemplate
|
|
578
576
|
* @returns {string}
|
|
579
577
|
*/
|
|
580
|
-
exports.parseVersionRuntimeCode = (runtimeTemplate) =>
|
|
578
|
+
module.exports.parseVersionRuntimeCode = (runtimeTemplate) =>
|
|
581
579
|
`var parseVersion = ${runtimeTemplate.basicFunction("str", [
|
|
582
|
-
"// see webpack/lib/
|
|
580
|
+
"// see webpack/lib/sharing/semver.js for original code",
|
|
583
581
|
`var p=${runtimeTemplate.supportsArrowFunction() ? "p=>" : "function(p)"}{return p.split(".").map(${runtimeTemplate.supportsArrowFunction() ? "p=>" : "function(p)"}{return+p==p?+p:p})},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;`
|
|
584
582
|
])}`;
|
|
585
583
|
//#endregion
|
|
@@ -589,9 +587,9 @@ exports.parseVersionRuntimeCode = (runtimeTemplate) =>
|
|
|
589
587
|
* @param {RuntimeTemplate} runtimeTemplate
|
|
590
588
|
* @returns {string}
|
|
591
589
|
*/
|
|
592
|
-
exports.versionLtRuntimeCode = (runtimeTemplate) =>
|
|
590
|
+
module.exports.versionLtRuntimeCode = (runtimeTemplate) =>
|
|
593
591
|
`var versionLt = ${runtimeTemplate.basicFunction("a, b", [
|
|
594
|
-
"// see webpack/lib/
|
|
592
|
+
"// see webpack/lib/sharing/semver.js for original code",
|
|
595
593
|
'a=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r<b.length&&"u"!=(typeof b[r])[0];var e=a[r],n=(typeof e)[0];if(r>=b.length)return"u"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return"o"==n&&"n"==f||("s"==f||"u"==n);if("o"!=n&&"u"!=n&&e!=t)return e<t;r++}'
|
|
596
594
|
])}`;
|
|
597
595
|
//#endregion
|
|
@@ -601,9 +599,9 @@ exports.versionLtRuntimeCode = (runtimeTemplate) =>
|
|
|
601
599
|
* @param {RuntimeTemplate} runtimeTemplate
|
|
602
600
|
* @returns {string}
|
|
603
601
|
*/
|
|
604
|
-
exports.rangeToStringRuntimeCode = (runtimeTemplate) =>
|
|
602
|
+
module.exports.rangeToStringRuntimeCode = (runtimeTemplate) =>
|
|
605
603
|
`var rangeToString = ${runtimeTemplate.basicFunction("range", [
|
|
606
|
-
"// see webpack/lib/
|
|
604
|
+
"// see webpack/lib/sharing/semver.js for original code",
|
|
607
605
|
'var r=range[0],n="";if(1===range.length)return"*";if(r+.5){n+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var e=1,a=1;a<range.length;a++){e--,n+="u"==(typeof(t=range[a]))[0]?"-":(e>0?".":"")+(e=2,t)}return n}var g=[];for(a=1;a<range.length;a++){var t=range[a];g.push(0===t?"not("+o()+")":1===t?"("+o()+" || "+o()+")":2===t?g.pop()+" "+g.pop():rangeToString(t))}return o();function o(){return g.pop().replace(/^\\((.+)\\)$/,"$1")}'
|
|
608
606
|
])}`;
|
|
609
607
|
//#endregion
|
|
@@ -613,9 +611,9 @@ exports.rangeToStringRuntimeCode = (runtimeTemplate) =>
|
|
|
613
611
|
* @param {RuntimeTemplate} runtimeTemplate
|
|
614
612
|
* @returns {string}
|
|
615
613
|
*/
|
|
616
|
-
exports.satisfyRuntimeCode = (runtimeTemplate) =>
|
|
614
|
+
module.exports.satisfyRuntimeCode = (runtimeTemplate) =>
|
|
617
615
|
`var satisfy = ${runtimeTemplate.basicFunction("range, version", [
|
|
618
|
-
"// see webpack/lib/
|
|
616
|
+
"// see webpack/lib/sharing/semver.js for original code",
|
|
619
617
|
'if(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i<range.length?(typeof range[i])[0]:"";if(n>=version.length||"o"==(s=(typeof(f=version[n]))[0]))return!a||("u"==g?i>e&&!r:""==g!=r);if("u"==s){if(!a||"u"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f<range[i])return!1;f!=range[i]&&(a=!1)}else if("s"!=g&&"n"!=g){if(r||i<=e)return!1;a=!1,i--}else{if(i<=e||s<g!=r)return!1;a=!1}else"s"!=g&&"n"!=g&&(a=!1,i--)}}var t=[],o=t.pop.bind(t);for(n=1;n<range.length;n++){var u=range[n];t.push(1==u?o()|o():2==u?o()&o():u?satisfy(u,version):!o())}return!!o();'
|
|
620
618
|
])}`;
|
|
621
619
|
//#endregion
|
package/lib/sharing/utils.js
CHANGED
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const { dirname, join, readJson } = require("../
|
|
8
|
+
const { dirname, join, readJson } = require("../fs/fs");
|
|
9
|
+
const { parseRange, satisfy } = require("./semver");
|
|
9
10
|
|
|
10
|
-
/** @import { InputFileSystem, JsonObject, JsonPrimitive } from "../
|
|
11
|
+
/** @import { InputFileSystem, JsonObject, JsonPrimitive } from "../fs/fs" */
|
|
12
|
+
/** @import { SharedModuleFilter } from "./SharePlugin" */
|
|
11
13
|
|
|
12
14
|
// Extreme shorthand only for github. eg: foo/bar
|
|
13
15
|
const RE_URL_GITHUB_EXTREME_SHORT = /^[^/@:.\s][^/@:\s]*\/[^@:\s]*[^/@:\s]#\S+/;
|
|
@@ -425,3 +427,58 @@ function normalizeVersion(versionDesc) {
|
|
|
425
427
|
}
|
|
426
428
|
|
|
427
429
|
module.exports.normalizeVersion = normalizeVersion;
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Tests the request remainder under a prefix key against `include`/`exclude` request filters.
|
|
433
|
+
* @param {string} remainder request after the prefix
|
|
434
|
+
* @param {SharedModuleFilter=} include only share matching requests
|
|
435
|
+
* @param {SharedModuleFilter=} exclude don't share matching requests
|
|
436
|
+
* @returns {boolean} true, when the request should be shared
|
|
437
|
+
*/
|
|
438
|
+
const matchesRequestFilters = (remainder, include, exclude) => {
|
|
439
|
+
/**
|
|
440
|
+
* @param {string | RegExp} pattern request filter
|
|
441
|
+
* @returns {boolean} true, when the remainder matches
|
|
442
|
+
*/
|
|
443
|
+
const matches = (pattern) => {
|
|
444
|
+
if (typeof pattern === "string") return remainder === pattern;
|
|
445
|
+
// a global or sticky RegExp would resume from the previous match
|
|
446
|
+
pattern.lastIndex = 0;
|
|
447
|
+
return pattern.test(remainder);
|
|
448
|
+
};
|
|
449
|
+
if (include && include.request !== undefined && !matches(include.request)) {
|
|
450
|
+
return false;
|
|
451
|
+
}
|
|
452
|
+
return !(
|
|
453
|
+
exclude &&
|
|
454
|
+
exclude.request !== undefined &&
|
|
455
|
+
matches(exclude.request)
|
|
456
|
+
);
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
module.exports.matchesRequestFilters = matchesRequestFilters;
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* Tests a module version against `include`/`exclude` version filters; an unknown version fails `include`.
|
|
463
|
+
* @param {string | false | undefined} version version of the module
|
|
464
|
+
* @param {SharedModuleFilter=} include only share matching versions
|
|
465
|
+
* @param {SharedModuleFilter=} exclude don't share matching versions
|
|
466
|
+
* @returns {boolean} true, when the version should be shared
|
|
467
|
+
*/
|
|
468
|
+
const matchesVersionFilters = (version, include, exclude) => {
|
|
469
|
+
if (
|
|
470
|
+
include &&
|
|
471
|
+
include.version !== undefined &&
|
|
472
|
+
(!version || !satisfy(parseRange(include.version), version))
|
|
473
|
+
) {
|
|
474
|
+
return false;
|
|
475
|
+
}
|
|
476
|
+
return !(
|
|
477
|
+
exclude &&
|
|
478
|
+
exclude.version !== undefined &&
|
|
479
|
+
version &&
|
|
480
|
+
satisfy(parseRange(exclude.version), version)
|
|
481
|
+
);
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
module.exports.matchesVersionFilters = matchesVersionFilters;
|
|
@@ -7,9 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
const util = require("util");
|
|
9
9
|
const { version: WEBPACK_VERSION } = require("../../package.json");
|
|
10
|
-
const
|
|
11
|
-
const ModuleDependency = require("../dependencies/ModuleDependency");
|
|
10
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
12
11
|
const { LogType } = require("../logging/Logger");
|
|
12
|
+
const {
|
|
13
|
+
WEBPACK_MODULE_TYPE_RUNTIME
|
|
14
|
+
} = require("../module/ModuleTypeConstants");
|
|
13
15
|
const AggressiveSplittingPlugin = require("../optimize/AggressiveSplittingPlugin");
|
|
14
16
|
const SizeLimitsPlugin = require("../performance/SizeLimitsPlugin");
|
|
15
17
|
const { countIterable } = require("../util/IterableHelpers");
|
|
@@ -29,9 +31,9 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
29
31
|
/** @import { Source } from "webpack-sources" */
|
|
30
32
|
/** @import { StatsValue } from "../../declarations/WebpackOptions" */
|
|
31
33
|
/** @import StatsFactory, { StatsFactoryContext } from "./StatsFactory" */
|
|
32
|
-
/** @import Chunk, { ChunkId, ChunkName } from "../Chunk" */
|
|
33
|
-
/** @import { ModuleId } from "../ChunkGraph" */
|
|
34
|
-
/** @import ChunkGroup, { OriginRecord } from "../ChunkGroup" */
|
|
34
|
+
/** @import Chunk, { ChunkId, ChunkName } from "../graph/Chunk" */
|
|
35
|
+
/** @import { ModuleId } from "../graph/ChunkGraph" */
|
|
36
|
+
/** @import ChunkGroup, { OriginRecord } from "../graph/ChunkGroup" */
|
|
35
37
|
/**
|
|
36
38
|
* @import Compilation, {
|
|
37
39
|
* Asset,
|
|
@@ -46,12 +48,12 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
46
48
|
* @import Dependency, {
|
|
47
49
|
* DependencyLocation,
|
|
48
50
|
* ExportInfoName
|
|
49
|
-
* } from "../Dependency"
|
|
51
|
+
* } from "../graph/Dependency"
|
|
50
52
|
*/
|
|
51
|
-
/** @import Module, { NameForCondition, BuildInfo } from "../Module" */
|
|
52
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
53
|
-
/** @import ModuleGraphConnection from "../ModuleGraphConnection" */
|
|
54
|
-
/** @import ModuleProfile from "../ModuleProfile" */
|
|
53
|
+
/** @import Module, { NameForCondition, BuildInfo } from "../module/Module" */
|
|
54
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
55
|
+
/** @import ModuleGraphConnection from "../graph/ModuleGraphConnection" */
|
|
56
|
+
/** @import ModuleProfile from "../module/ModuleProfile" */
|
|
55
57
|
/** @import WebpackError from "../errors/WebpackError" */
|
|
56
58
|
/**
|
|
57
59
|
* @import {
|
|
@@ -69,7 +71,7 @@ const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
|
69
71
|
/**
|
|
70
72
|
* Defines the group config type used by this module.
|
|
71
73
|
* @template I, G
|
|
72
|
-
* @typedef {import("
|
|
74
|
+
* @typedef {import("./smartGrouping").GroupConfig<I, G>} GroupConfig
|
|
73
75
|
*/
|
|
74
76
|
|
|
75
77
|
/** @typedef {KnownStatsCompilation & Record<string, EXPECTED_ANY>} StatsCompilation */
|
|
@@ -445,7 +447,7 @@ const countWithChildren = (compilation, getItems) => {
|
|
|
445
447
|
/** @type {ExtractorsByOption<string | ErrorWithCause | AggregateError | WebpackError, StatsError>} */
|
|
446
448
|
const EXTRACT_ERROR = {
|
|
447
449
|
_: (object, error, context, { requestShortener }) => {
|
|
448
|
-
// TODO
|
|
450
|
+
// TODO in the next major release: disallow strings in the errors/warnings list
|
|
449
451
|
if (typeof error === "string") {
|
|
450
452
|
object.message = error;
|
|
451
453
|
} else {
|
|
@@ -1503,9 +1505,9 @@ const SIMPLE_EXTRACTORS = {
|
|
|
1503
1505
|
object.storing = profile.storing;
|
|
1504
1506
|
object.additionalResolving = profile.additionalFactories;
|
|
1505
1507
|
object.additionalIntegration = profile.additionalIntegration;
|
|
1506
|
-
// TODO
|
|
1508
|
+
// TODO in the next major release: remove this
|
|
1507
1509
|
object.factory = profile.factory;
|
|
1508
|
-
// TODO
|
|
1510
|
+
// TODO in the next major release: remove this
|
|
1509
1511
|
object.dependencies = profile.additionalFactories;
|
|
1510
1512
|
}
|
|
1511
1513
|
},
|
|
@@ -1530,7 +1532,7 @@ const SIMPLE_EXTRACTORS = {
|
|
|
1530
1532
|
_: (object, reason, { runtime }, { requestShortener }) => {
|
|
1531
1533
|
const dep = reason.dependency;
|
|
1532
1534
|
const moduleDep =
|
|
1533
|
-
dep && dep
|
|
1535
|
+
dep && isDependencyKind(dep, "module-dependency") ? dep : undefined;
|
|
1534
1536
|
const { originModule, resolvedOriginModule } = reason;
|
|
1535
1537
|
const originName = originModule
|
|
1536
1538
|
? originModule.readableIdentifier(requestShortener)
|
|
@@ -2608,8 +2610,9 @@ const sortOrderRegular = (field) => {
|
|
|
2608
2610
|
|
|
2609
2611
|
/**
|
|
2610
2612
|
* Returns zero.
|
|
2611
|
-
* @
|
|
2612
|
-
* @param {
|
|
2613
|
+
* @template T
|
|
2614
|
+
* @param {T} a first
|
|
2615
|
+
* @param {T} b second
|
|
2613
2616
|
* @returns {-1 | 0 | 1} zero
|
|
2614
2617
|
*/
|
|
2615
2618
|
const noSort = (a, b) => 0;
|
|
@@ -2709,7 +2712,7 @@ const RESULT_SORTERS = {
|
|
|
2709
2712
|
|
|
2710
2713
|
/**
|
|
2711
2714
|
* Processes the provided config.
|
|
2712
|
-
* @template {Record<string, Record<string,
|
|
2715
|
+
* @template {Record<string, Record<string, (...args: never[]) => void>>} T
|
|
2713
2716
|
* @param {T} config the config see above
|
|
2714
2717
|
* @param {NormalizedStatsOptions} options stats options
|
|
2715
2718
|
* @param {(hookFor: keyof T, fn: ExtractFunction<T>) => void} fn handler function called for every active line in config
|
|
@@ -2733,7 +2736,7 @@ const iterateConfig = (config, options, fn) => {
|
|
|
2733
2736
|
}
|
|
2734
2737
|
}
|
|
2735
2738
|
}
|
|
2736
|
-
fn(hookFor, subConfig[option]);
|
|
2739
|
+
fn(hookFor, /** @type {ExtractFunction<T>} */ (subConfig[option]));
|
|
2737
2740
|
}
|
|
2738
2741
|
}
|
|
2739
2742
|
};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import { ChunkId, ChunkName } from "../Chunk" */
|
|
8
|
+
/** @import { ChunkId, ChunkName } from "../graph/Chunk" */
|
|
9
9
|
/** @import Compiler from "../Compiler" */
|
|
10
10
|
/** @import { LogTypeEnum } from "../logging/Logger" */
|
|
11
11
|
/**
|
|
@@ -1508,8 +1508,8 @@ const AVAILABLE_COLORS = {
|
|
|
1508
1508
|
|
|
1509
1509
|
/**
|
|
1510
1510
|
* Defines the tail parameters type used by this module.
|
|
1511
|
-
* @template {(...args:
|
|
1512
|
-
* @typedef {T extends (firstArg:
|
|
1511
|
+
* @template {(...args: never[]) => string} T
|
|
1512
|
+
* @typedef {T extends (firstArg: never, ...rest: infer R) => string ? R : never} TailParameters
|
|
1513
1513
|
*/
|
|
1514
1514
|
|
|
1515
1515
|
/** @typedef {{ [Key in keyof KnownStatsPrinterFormatters]: (value: Parameters<NonNullable<KnownStatsPrinterFormatters[Key]>>[0], options: Required<KnownStatsPrinterColorFunctions> & StatsPrinterContextWithExtra, ...args: TailParameters<NonNullable<KnownStatsPrinterFormatters[Key]>>) => string }} AvailableFormats */
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const identifierUtils = require("
|
|
8
|
+
const identifierUtils = require("../util/identifier");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @import {
|
|
12
12
|
* StatsOptions,
|
|
13
13
|
* StatsValue
|
|
14
|
-
* } from "
|
|
14
|
+
* } from "../../declarations/WebpackOptions"
|
|
15
15
|
*/
|
|
16
16
|
/**
|
|
17
17
|
* @import {
|
|
18
18
|
* CreateStatsOptionsContext,
|
|
19
19
|
* NormalizedStatsOptions
|
|
20
|
-
* } from "
|
|
20
|
+
* } from "../Compilation"
|
|
21
21
|
*/
|
|
22
22
|
/** @import Stats from "./Stats" */
|
|
23
23
|
/**
|
|
@@ -25,7 +25,7 @@ const identifierUtils = require("./util/identifier");
|
|
|
25
25
|
* KnownStatsCompilation,
|
|
26
26
|
* StatsCompilation,
|
|
27
27
|
* StatsError
|
|
28
|
-
* } from "./
|
|
28
|
+
* } from "./DefaultStatsFactoryPlugin"
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import { StatsValue } from "
|
|
9
|
-
/** @import Compilation from "
|
|
10
|
-
/** @import { StatsCompilation } from "./
|
|
8
|
+
/** @import { StatsValue } from "../../declarations/WebpackOptions" */
|
|
9
|
+
/** @import Compilation from "../Compilation" */
|
|
10
|
+
/** @import { StatsCompilation } from "./DefaultStatsFactoryPlugin" */
|
|
11
11
|
|
|
12
12
|
class Stats {
|
|
13
13
|
/**
|
|
@@ -48,7 +48,7 @@ class Stats {
|
|
|
48
48
|
*/
|
|
49
49
|
hasErrors() {
|
|
50
50
|
return (
|
|
51
|
-
this.compilation.
|
|
51
|
+
this.compilation.getErrors().length > 0 ||
|
|
52
52
|
this.compilation.children.some((child) => child.getStats().hasErrors())
|
|
53
53
|
);
|
|
54
54
|
}
|
|
@@ -6,21 +6,21 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { HookMap, SyncBailHook, SyncWaterfallHook } = require("tapable");
|
|
9
|
-
const smartGrouping = require("
|
|
9
|
+
const smartGrouping = require("./smartGrouping");
|
|
10
10
|
|
|
11
|
-
/** @import Chunk from "../Chunk" */
|
|
12
|
-
/** @import { OriginRecord } from "../ChunkGroup" */
|
|
11
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
12
|
+
/** @import { OriginRecord } from "../graph/ChunkGroup" */
|
|
13
13
|
/** @import Compilation, { Asset } from "../Compilation" */
|
|
14
|
-
/** @import Dependency from "../Dependency" */
|
|
15
|
-
/** @import Module from "../Module" */
|
|
16
|
-
/** @import ModuleGraphConnection from "../ModuleGraphConnection" */
|
|
14
|
+
/** @import Dependency from "../graph/Dependency" */
|
|
15
|
+
/** @import Module from "../module/Module" */
|
|
16
|
+
/** @import ModuleGraphConnection from "../graph/ModuleGraphConnection" */
|
|
17
17
|
/** @typedef {import("../util/comparators").Comparator<EXPECTED_ANY>} Comparator */
|
|
18
|
-
/** @import ModuleProfile from "../ModuleProfile" */
|
|
18
|
+
/** @import ModuleProfile from "../module/ModuleProfile" */
|
|
19
19
|
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
20
20
|
/**
|
|
21
21
|
* Defines the group config type used by this module.
|
|
22
22
|
* @template T, R
|
|
23
|
-
* @typedef {import("
|
|
23
|
+
* @typedef {import("./smartGrouping").GroupConfig<T, R>} GroupConfig
|
|
24
24
|
*/
|
|
25
25
|
/**
|
|
26
26
|
* @import {
|
|
@@ -187,7 +187,7 @@ class StatsFactory {
|
|
|
187
187
|
* For each level waterfall.
|
|
188
188
|
* @template {StatsFactoryHooks[keyof StatsFactoryHooks]} HM
|
|
189
189
|
* @template {HM extends HookMap<infer H> ? H : never} H
|
|
190
|
-
* @template
|
|
190
|
+
* @template D
|
|
191
191
|
* @param {HM} hookMap hook map
|
|
192
192
|
* @param {Caches<H>} cache cache
|
|
193
193
|
* @param {string} type type
|
|
@@ -207,7 +207,7 @@ class StatsFactory {
|
|
|
207
207
|
* For each level filter.
|
|
208
208
|
* @template {StatsFactoryHooks[keyof StatsFactoryHooks]} T
|
|
209
209
|
* @template {T extends HookMap<infer H> ? H : never} H
|
|
210
|
-
* @template
|
|
210
|
+
* @template D
|
|
211
211
|
* @param {T} hookMap hook map
|
|
212
212
|
* @param {Caches<H>} cache cache
|
|
213
213
|
* @param {string} type type
|
|
@@ -421,13 +421,14 @@ class StatsFactory {
|
|
|
421
421
|
* for equal items. Inlined instead of `concatComparators(...c, keepOriginalOrder())`
|
|
422
422
|
* because that combination is single-use per sort and only thrashes the comparator
|
|
423
423
|
* caches (a fresh tiebreaker closure every call allocates a new cache entry).
|
|
424
|
-
* @
|
|
425
|
-
* @param {
|
|
424
|
+
* @template T
|
|
425
|
+
* @param {T[]} items items to sort in place
|
|
426
|
+
* @param {import("../util/comparators").Comparator<T>[]} comparators comparators applied in order
|
|
426
427
|
* @returns {void}
|
|
427
428
|
*/
|
|
428
429
|
const sortWithOriginalOrder = (items, comparators) => {
|
|
429
430
|
// original-index tiebreaker keeps the sort stable on engines without a stable Array.sort
|
|
430
|
-
/** @type {Map<
|
|
431
|
+
/** @type {Map<T, number>} */
|
|
431
432
|
const originalOrder = new Map();
|
|
432
433
|
for (let i = 0; i < items.length; i++) {
|
|
433
434
|
originalOrder.set(items[i], i);
|
|
@@ -6,28 +6,28 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const util = require("util");
|
|
9
|
-
const JavascriptModulesPlugin = require("
|
|
9
|
+
const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
|
|
10
10
|
|
|
11
11
|
/** @import { Tap } from "tapable" */
|
|
12
12
|
/** @import { Source } from "webpack-sources" */
|
|
13
13
|
/**
|
|
14
14
|
* @import {
|
|
15
15
|
* OutputNormalizedWithDefaults as OutputOptions
|
|
16
|
-
* } from "
|
|
16
|
+
* } from "../config/defaults"
|
|
17
17
|
*/
|
|
18
|
-
/** @import Chunk from "
|
|
19
|
-
/** @import Compilation, { ChunkHashContext } from "
|
|
18
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
19
|
+
/** @import Compilation, { ChunkHashContext } from "../Compilation" */
|
|
20
20
|
/** @import ModuleTemplate from "./ModuleTemplate" */
|
|
21
|
-
/** @import { RenderContext } from "
|
|
21
|
+
/** @import { RenderContext } from "../javascript/JavascriptModulesPlugin" */
|
|
22
22
|
/** @import { RenderManifestEntry, RenderManifestOptions } from "./Template" */
|
|
23
|
-
/** @import Hash from "
|
|
23
|
+
/** @import Hash from "../util/Hash" */
|
|
24
24
|
/**
|
|
25
25
|
* Defines the if set type used by this module.
|
|
26
26
|
* @template T
|
|
27
27
|
* @typedef {import("tapable").IfSet<T>} IfSet
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
// TODO
|
|
30
|
+
// TODO in the next major release: remove this class
|
|
31
31
|
class ChunkTemplate {
|
|
32
32
|
/**
|
|
33
33
|
* Creates an instance of ChunkTemplate.
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { ConcatSource, PrefixSource } = require("webpack-sources");
|
|
9
|
+
const { mergeRuntime } = require("../util/runtime");
|
|
9
10
|
const InitFragment = require("./InitFragment");
|
|
10
11
|
const Template = require("./Template");
|
|
11
|
-
const { mergeRuntime } = require("./util/runtime");
|
|
12
12
|
|
|
13
13
|
/** @import { Source } from "webpack-sources" */
|
|
14
|
-
/** @import { GenerateContext } from "
|
|
15
|
-
/** @import { RuntimeSpec } from "
|
|
14
|
+
/** @import { GenerateContext } from "../module/Generator" */
|
|
15
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Returns wrapped source.
|