@depup/webpack 5.111.1-depup.2 → 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 -8
- package/changes.json +3 -19
- 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 +48 -41
- package/schemas/WebpackOptions.check.js +2 -1
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +294 -74
- package/schemas/plugins/BannerPlugin.check.js +2 -1
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
- package/schemas/plugins/HtmlParserOptions.check.js +2 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -0
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +2 -1
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
- package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssParserOptions.check.js +1 -0
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +19355 -13873
- package/lib/LazyBarrel.js +0 -388
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
- package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
- package/lib/javascript/ChunkFormatHelpers.js +0 -72
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1500
- package/lib/javascript/regexpData.js +0 -51
- package/lib/performance/getSourceModules.js +0 -22
- package/lib/util/Semaphore.js +0 -65
- package/lib/util/objectToMap.js +0 -15
- package/schemas/WebpackOptions.check.d.ts +0 -7
- package/schemas/_container.json +0 -155
- package/schemas/_sharing.json +0 -118
- package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
- package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
- package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
- /package/lib/{util → css}/conventions.js +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
|
@@ -6,27 +6,30 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { ConcatSource } = require("webpack-sources");
|
|
9
|
-
const { UsageState } = require("../ExportsInfo");
|
|
10
|
-
const ExternalModule = require("../ExternalModule");
|
|
11
|
-
const { JAVASCRIPT_TYPE } = require("../ModuleSourceTypeConstants");
|
|
12
|
-
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
13
|
-
const Template = require("../Template");
|
|
14
|
-
const HarmonyExportExpressionDependency = require("../dependencies/HarmonyExportExpressionDependency");
|
|
15
|
-
const HarmonyExportImportedSpecifierDependency = require("../dependencies/HarmonyExportImportedSpecifierDependency");
|
|
16
|
-
const HarmonyExportSpecifierDependency = require("../dependencies/HarmonyExportSpecifierDependency");
|
|
17
9
|
const ExternalStarReexportError = require("../errors/ExternalStarReexportError");
|
|
10
|
+
const { UsageState } = require("../graph/ExportsInfo");
|
|
11
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
18
12
|
const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
const {
|
|
14
|
+
getMergedExports,
|
|
15
|
+
mergedEntryModules
|
|
16
|
+
} = require("../javascript/MergedEntryExports");
|
|
17
|
+
const { JAVASCRIPT_TYPE } = require("../module/ModuleSourceTypeConstants");
|
|
18
|
+
const { isInlinedUsedName } = require("../optimize/InlineExports");
|
|
19
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
20
|
+
const Template = require("../template/Template");
|
|
21
|
+
const { someInIterable } = require("../util/IterableHelpers");
|
|
22
|
+
const { renameIdentifiers } = require("../util/concatenate");
|
|
22
23
|
const {
|
|
23
24
|
RESERVED_IDENTIFIER,
|
|
24
25
|
SAFE_IDENTIFIER,
|
|
25
26
|
propertyAccess
|
|
26
27
|
} = require("../util/property");
|
|
27
|
-
const { getEntryRuntime } = require("../util/runtime");
|
|
28
|
+
const { getEntryRuntime, intersectRuntime } = require("../util/runtime");
|
|
28
29
|
const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
29
30
|
|
|
31
|
+
/** @import ExternalModule from "../externals/ExternalModule" */
|
|
32
|
+
/** @import { InlinedUsedName } from "../optimize/InlineExports" */
|
|
30
33
|
/** @import { Source } from "webpack-sources" */
|
|
31
34
|
/**
|
|
32
35
|
* @import {
|
|
@@ -35,18 +38,17 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
35
38
|
* LibraryExport
|
|
36
39
|
* } from "../../declarations/WebpackOptions"
|
|
37
40
|
*/
|
|
38
|
-
/** @import
|
|
41
|
+
/** @import CodeGenerationResults from "../module/CodeGenerationResults" */
|
|
39
42
|
/** @import Compilation from "../Compilation" */
|
|
40
43
|
/** @import Compiler from "../Compiler" */
|
|
41
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
42
|
-
/** @import Module from "../Module" */
|
|
44
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
45
|
+
/** @import Module from "../module/Module" */
|
|
43
46
|
/**
|
|
44
47
|
* @import {
|
|
45
48
|
* StartupRenderContext,
|
|
46
49
|
* ModuleRenderContext
|
|
47
50
|
* } from "../javascript/JavascriptModulesPlugin"
|
|
48
51
|
*/
|
|
49
|
-
/** @import { ImportAttributes } from "../javascript/JavascriptParser" */
|
|
50
52
|
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
51
53
|
/**
|
|
52
54
|
* @import {
|
|
@@ -83,37 +85,19 @@ const PLUGIN_NAME = "ModuleLibraryPlugin";
|
|
|
83
85
|
const libraryEntryModules = new WeakMap();
|
|
84
86
|
|
|
85
87
|
/**
|
|
86
|
-
* Whether every export the
|
|
87
|
-
*
|
|
88
|
-
* A re-export or a renamed import is not: `renderStartup` reads those back off the
|
|
89
|
-
* object, and `treatAsCommonJs` hands the object out as the default export.
|
|
88
|
+
* Whether the library reads every export of the entry off its exports object, never
|
|
89
|
+
* binding one to a declaration of the inlined body, so no definition can be left out.
|
|
90
90
|
* @param {Module} module the entry module
|
|
91
91
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
92
|
-
* @returns {boolean} true when the
|
|
92
|
+
* @returns {boolean} true when the entry has no export the library exposes natively
|
|
93
93
|
*/
|
|
94
|
-
const
|
|
94
|
+
const noNativeExports = (module, moduleGraph) => {
|
|
95
95
|
const buildMeta = /** @type {JavascriptModuleBuildMeta} */ (module.buildMeta);
|
|
96
|
-
if (buildMeta && buildMeta.treatAsCommonJs) return
|
|
96
|
+
if (buildMeta && buildMeta.treatAsCommonJs) return true;
|
|
97
97
|
// A top-level `await` wraps the body in `__webpack_require__.a`, and the
|
|
98
98
|
// definitions read declarations inside that wrapper — re-emitting them after the
|
|
99
99
|
// module would put them out of scope.
|
|
100
|
-
|
|
101
|
-
const topLevelDeclarations =
|
|
102
|
-
module.buildInfo && module.buildInfo.topLevelDeclarations;
|
|
103
|
-
if (!topLevelDeclarations) return false;
|
|
104
|
-
for (const dep of module.dependencies) {
|
|
105
|
-
// A re-export or an `export default` has no declaration of its own to bind to,
|
|
106
|
-
// so `renderStartup` reads its value back off the exports object.
|
|
107
|
-
if (
|
|
108
|
-
dep instanceof HarmonyExportImportedSpecifierDependency ||
|
|
109
|
-
dep instanceof HarmonyExportExpressionDependency
|
|
110
|
-
) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
if (!(dep instanceof HarmonyExportSpecifierDependency)) continue;
|
|
114
|
-
if (!topLevelDeclarations.has(dep.id)) return false;
|
|
115
|
-
}
|
|
116
|
-
return true;
|
|
100
|
+
return moduleGraph.isAsync(module);
|
|
117
101
|
};
|
|
118
102
|
|
|
119
103
|
/**
|
|
@@ -125,18 +109,6 @@ const definesOnlyNativeExports = (module, moduleGraph) => {
|
|
|
125
109
|
const toExportName = (name) =>
|
|
126
110
|
SAFE_IDENTIFIER.test(name) ? name : JSON.stringify(name);
|
|
127
111
|
|
|
128
|
-
/**
|
|
129
|
-
* Renders the import attributes of a reexport in the syntax the author wrote,
|
|
130
|
-
* since a legacy `assert` clause and a `with` clause are not interchangeable.
|
|
131
|
-
* @param {ImportAttributes | undefined} attributes the import attributes
|
|
132
|
-
* @returns {string} the attributes clause, empty when there are none
|
|
133
|
-
*/
|
|
134
|
-
const toAttributesClause = (attributes) => {
|
|
135
|
-
if (!attributes) return "";
|
|
136
|
-
const { _isLegacyAssert: isLegacyAssert, ...values } = attributes;
|
|
137
|
-
return ` ${isLegacyAssert ? "assert" : "with"} ${JSON.stringify(values)}`;
|
|
138
|
-
};
|
|
139
|
-
|
|
140
112
|
/**
|
|
141
113
|
* Whether the export name can also be used as the declared binding name.
|
|
142
114
|
* @param {string} name export name
|
|
@@ -182,13 +154,9 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
182
154
|
for (const dep of dependencies) {
|
|
183
155
|
const module = dep && moduleGraph.getModule(dep);
|
|
184
156
|
if (!module) continue;
|
|
185
|
-
const root =
|
|
186
|
-
module instanceof ConcatenatedModule ? module.rootModule : module;
|
|
157
|
+
const root = module.getRootModule();
|
|
187
158
|
if (!entries.has(root)) continue;
|
|
188
|
-
if (
|
|
189
|
-
root === module &&
|
|
190
|
-
!definesOnlyNativeExports(module, moduleGraph)
|
|
191
|
-
) {
|
|
159
|
+
if (root === module && noNativeExports(module, moduleGraph)) {
|
|
192
160
|
continue;
|
|
193
161
|
}
|
|
194
162
|
moduleGraph.getMeta(module).onDemandExports = true;
|
|
@@ -201,6 +169,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
201
169
|
compilation.hooks.additionalChunkRuntimeRequirements.tap(
|
|
202
170
|
PLUGIN_NAME,
|
|
203
171
|
(chunk, set, { chunkGraph, codeGenerationResults }) => {
|
|
172
|
+
const { moduleGraph, runtimeTemplate } = compilation;
|
|
204
173
|
if (!set.has(RuntimeGlobals.definePropertyGetters)) return;
|
|
205
174
|
if (chunkGraph.getNumberOfEntryModules(chunk) !== 1) return;
|
|
206
175
|
if (
|
|
@@ -215,6 +184,48 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
215
184
|
if (javascriptHooks.inlineInRuntimeBailout.isUsed()) return;
|
|
216
185
|
|
|
217
186
|
const [module] = chunkGraph.getChunkEntryModulesIterable(chunk);
|
|
187
|
+
if (chunk.hasRuntime()) {
|
|
188
|
+
// The startup inlines the entry only where nothing else loads with
|
|
189
|
+
// it: another chunk of the entrypoint delays the execution, and a
|
|
190
|
+
// module reading the entry needs it in the registry.
|
|
191
|
+
for (const [
|
|
192
|
+
,
|
|
193
|
+
entrypoint
|
|
194
|
+
] of chunkGraph.getChunkEntryModulesWithChunkGroupIterable(chunk)) {
|
|
195
|
+
if (entrypoint && entrypoint.chunks.some((c) => c !== chunk)) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (
|
|
200
|
+
someInIterable(
|
|
201
|
+
moduleGraph.getIncomingConnectionsByOriginModule(module),
|
|
202
|
+
([originModule, connections]) =>
|
|
203
|
+
originModule &&
|
|
204
|
+
originModule !== module &&
|
|
205
|
+
connections.some((c) => c.isTargetActive(chunk.runtime)) &&
|
|
206
|
+
someInIterable(
|
|
207
|
+
chunkGraph.getModuleRuntimes(originModule),
|
|
208
|
+
(runtime) =>
|
|
209
|
+
intersectRuntime(runtime, chunk.runtime) !== undefined
|
|
210
|
+
)
|
|
211
|
+
)
|
|
212
|
+
) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
} else if (
|
|
216
|
+
// A chunk whose runtime is elsewhere lifts its entry to the top
|
|
217
|
+
// level under the same conditions, and renders it into the module
|
|
218
|
+
// registry otherwise.
|
|
219
|
+
JavascriptModulesPlugin._getEsmEntryModuleToInline({
|
|
220
|
+
chunk,
|
|
221
|
+
chunkGraph,
|
|
222
|
+
moduleGraph,
|
|
223
|
+
runtimeTemplate,
|
|
224
|
+
codeGenerationResults
|
|
225
|
+
}) !== module
|
|
226
|
+
) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
218
229
|
const codeGenResult = codeGenerationResults.get(
|
|
219
230
|
module,
|
|
220
231
|
chunk.runtime
|
|
@@ -243,45 +254,32 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
243
254
|
}
|
|
244
255
|
}
|
|
245
256
|
|
|
246
|
-
// The
|
|
247
|
-
//
|
|
248
|
-
// runtime chunk, and whatever `splitChunks` moved out of the entry.
|
|
249
|
-
/** @type {Set<Chunk>} */
|
|
250
|
-
const siblings = new Set([chunk]);
|
|
251
|
-
for (const [
|
|
252
|
-
,
|
|
253
|
-
entrypoint
|
|
254
|
-
] of chunkGraph.getChunkEntryModulesWithChunkGroupIterable(chunk)) {
|
|
255
|
-
if (!entrypoint) continue;
|
|
256
|
-
for (const sibling of entrypoint.chunks) siblings.add(sibling);
|
|
257
|
-
}
|
|
258
|
-
|
|
257
|
+
// The entrypoint loads as this chunk alone, so what still needs the
|
|
258
|
+
// helpers is whatever else it holds beside the entry.
|
|
259
259
|
let otherNeedsDefine = false;
|
|
260
260
|
let otherNeedsNamespaceObject = false;
|
|
261
261
|
let otherNeedsExports = false;
|
|
262
262
|
let otherNeedsRequireScope = false;
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
otherNeedsRequireScope = true;
|
|
282
|
-
}
|
|
283
|
-
if (otherNeedsDefine) break outer;
|
|
263
|
+
for (const m of chunkGraph.getChunkModulesIterable(chunk)) {
|
|
264
|
+
if (m === module) continue;
|
|
265
|
+
const requirements = chunkGraph.getModuleRuntimeRequirements(
|
|
266
|
+
m,
|
|
267
|
+
chunk.runtime
|
|
268
|
+
);
|
|
269
|
+
if (!requirements) continue;
|
|
270
|
+
if (requirements.has(RuntimeGlobals.definePropertyGetters)) {
|
|
271
|
+
otherNeedsDefine = true;
|
|
272
|
+
}
|
|
273
|
+
if (requirements.has(RuntimeGlobals.makeNamespaceObject)) {
|
|
274
|
+
otherNeedsNamespaceObject = true;
|
|
275
|
+
}
|
|
276
|
+
if (requirements.has(RuntimeGlobals.exports)) {
|
|
277
|
+
otherNeedsExports = true;
|
|
278
|
+
}
|
|
279
|
+
if (requirements.has(RuntimeGlobals.requireScope)) {
|
|
280
|
+
otherNeedsRequireScope = true;
|
|
284
281
|
}
|
|
282
|
+
if (otherNeedsDefine) break;
|
|
285
283
|
}
|
|
286
284
|
|
|
287
285
|
if (otherNeedsDefine) return;
|
|
@@ -368,7 +366,8 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
368
366
|
|
|
369
367
|
// Only handle star-reexport statement
|
|
370
368
|
if (
|
|
371
|
-
|
|
369
|
+
dep === null ||
|
|
370
|
+
!isDependencyKind(dep, "esm-reexport") ||
|
|
372
371
|
dep.name !== null
|
|
373
372
|
) {
|
|
374
373
|
continue;
|
|
@@ -382,7 +381,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
382
381
|
) {
|
|
383
382
|
continue;
|
|
384
383
|
}
|
|
385
|
-
if (importedModule
|
|
384
|
+
if (importedModule.is("external")) {
|
|
386
385
|
const request = importedModule.getResolvedRequest();
|
|
387
386
|
if (Array.isArray(request) && request.length > 1) {
|
|
388
387
|
unsupportedExternals.add(importedModule);
|
|
@@ -426,6 +425,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
426
425
|
* @param {Module} module module
|
|
427
426
|
* @param {ModuleGraph} moduleGraph moduleGraph
|
|
428
427
|
* @param {RuntimeSpec} runtime chunk runtime
|
|
428
|
+
* @param {CodeGenerationResults} codeGenerationResults the code generation results
|
|
429
429
|
* @param {[string, string][]} exports exports
|
|
430
430
|
* @param {Set<string>} alreadyRenderedExports already rendered exports
|
|
431
431
|
* @returns {ConcatSource} source with null provided exports
|
|
@@ -435,6 +435,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
435
435
|
module,
|
|
436
436
|
moduleGraph,
|
|
437
437
|
runtime,
|
|
438
|
+
codeGenerationResults,
|
|
438
439
|
exports,
|
|
439
440
|
alreadyRenderedExports
|
|
440
441
|
) {
|
|
@@ -458,7 +459,8 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
458
459
|
|
|
459
460
|
// Only handle star-reexport statement
|
|
460
461
|
if (
|
|
461
|
-
dep
|
|
462
|
+
dep !== null &&
|
|
463
|
+
isDependencyKind(dep, "esm-reexport") &&
|
|
462
464
|
dep.name === null
|
|
463
465
|
) {
|
|
464
466
|
const importedModule = connection.resolvedModule;
|
|
@@ -472,21 +474,15 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
472
474
|
importedModuleExportsInfo._otherExportsInfo.provided === null
|
|
473
475
|
) {
|
|
474
476
|
// Handle export * from 'external'
|
|
475
|
-
if (importedModule
|
|
476
|
-
const
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
: undefined;
|
|
485
|
-
if (specifier !== undefined) {
|
|
486
|
-
externalReexports.add(
|
|
487
|
-
`export * from ${toJsStringLiteral(specifier)}${toAttributesClause(dep.attributes)};\n`
|
|
488
|
-
);
|
|
489
|
-
}
|
|
477
|
+
if (importedModule.is("external")) {
|
|
478
|
+
const from = codeGenerationResults.has(importedModule, runtime)
|
|
479
|
+
? codeGenerationResults.getData(
|
|
480
|
+
importedModule,
|
|
481
|
+
runtime,
|
|
482
|
+
"externalReexport"
|
|
483
|
+
)
|
|
484
|
+
: undefined;
|
|
485
|
+
if (from) externalReexports.add(`export * ${from};\n`);
|
|
490
486
|
} else if (!visitedReexportModules.has(importedModule)) {
|
|
491
487
|
visitedReexportModules.add(importedModule);
|
|
492
488
|
resolveDynamicStarReexport(importedModule, true);
|
|
@@ -522,7 +518,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
522
518
|
for (const [origin, used] of unknownProvidedExports) {
|
|
523
519
|
exports.push([
|
|
524
520
|
origin,
|
|
525
|
-
used
|
|
521
|
+
isInlinedUsedName(used)
|
|
526
522
|
? used.render(
|
|
527
523
|
Template.toNormalComment(
|
|
528
524
|
`inlined export ${propertyAccess([origin])}`
|
|
@@ -547,12 +543,18 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
547
543
|
const {
|
|
548
544
|
moduleGraph,
|
|
549
545
|
chunk,
|
|
546
|
+
chunkGraph,
|
|
550
547
|
codeGenerationResults,
|
|
551
548
|
inlined,
|
|
552
549
|
inlinedInIIFE,
|
|
550
|
+
exportsAwaited,
|
|
553
551
|
runtimeTemplate
|
|
554
552
|
} = renderContext;
|
|
555
553
|
let result = new ConcatSource(source);
|
|
554
|
+
// A merged entry exposes what its modules expose together, so the ESM
|
|
555
|
+
// export list is theirs rather than the last module's alone.
|
|
556
|
+
const mergedModules = mergedEntryModules(chunk, chunkGraph, compilation);
|
|
557
|
+
const exportedModules = mergedModules || [module];
|
|
556
558
|
const exportInfos = options.export
|
|
557
559
|
? [
|
|
558
560
|
moduleGraph.getExportInfo(
|
|
@@ -560,15 +562,36 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
560
562
|
Array.isArray(options.export) ? options.export[0] : options.export
|
|
561
563
|
)
|
|
562
564
|
]
|
|
563
|
-
:
|
|
565
|
+
: mergedModules
|
|
566
|
+
? getMergedExports(
|
|
567
|
+
mergedModules,
|
|
568
|
+
moduleGraph,
|
|
569
|
+
chunk.runtime
|
|
570
|
+
).exports.map(({ name, module: from }) =>
|
|
571
|
+
moduleGraph.getExportInfo(from, name)
|
|
572
|
+
)
|
|
573
|
+
: moduleGraph.getExportsInfo(module).orderedExports;
|
|
564
574
|
|
|
565
575
|
const { data } = codeGenerationResults.get(module, chunk.runtime);
|
|
566
576
|
|
|
567
577
|
const isInlinedEntryWithoutIIFE = inlined && !inlinedInIIFE;
|
|
568
|
-
//
|
|
578
|
+
// The binding each export left out on demand reads, exported directly
|
|
569
579
|
/** @type {Record<string, string>} */
|
|
570
|
-
|
|
580
|
+
let definitions =
|
|
571
581
|
(isInlinedEntryWithoutIIFE && data && data.get("exportsFinalName")) || {};
|
|
582
|
+
// Inlined beside other modules, the entry's colliding declarations were renamed
|
|
583
|
+
const { renamedDeclarations } = renderContext;
|
|
584
|
+
if (renamedDeclarations) {
|
|
585
|
+
/** @type {Record<string, string>} */
|
|
586
|
+
const renamed = {};
|
|
587
|
+
for (const usedName of Object.keys(definitions)) {
|
|
588
|
+
renamed[usedName] = renameIdentifiers(
|
|
589
|
+
definitions[usedName],
|
|
590
|
+
renamedDeclarations
|
|
591
|
+
);
|
|
592
|
+
}
|
|
593
|
+
definitions = renamed;
|
|
594
|
+
}
|
|
572
595
|
|
|
573
596
|
/** @type {string[]} */
|
|
574
597
|
const shortHandedExports = [];
|
|
@@ -594,40 +617,17 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
594
617
|
return name;
|
|
595
618
|
};
|
|
596
619
|
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
const treatAsCommonJs =
|
|
600
|
-
module.buildMeta &&
|
|
601
|
-
/** @type {JavascriptModuleBuildMeta} */ (module.buildMeta)
|
|
602
|
-
.treatAsCommonJs;
|
|
603
|
-
const skipRenderDefaultExport = Boolean(treatAsCommonJs);
|
|
604
|
-
|
|
605
|
-
// A single inlined entry renders at the top level, so its declarations are
|
|
606
|
-
// bindings that can be exported directly, keeping ESM live bindings rather
|
|
607
|
-
// than snapshotting them into a `const`.
|
|
608
|
-
/** @type {Map<string, string> | undefined} */
|
|
609
|
-
let directBindings;
|
|
610
|
-
if (isInlinedEntryWithoutIIFE && !treatAsCommonJs) {
|
|
611
|
-
const topLevelDeclarations =
|
|
612
|
-
(data && data.get("topLevelDeclarations")) ||
|
|
613
|
-
(module.buildInfo && module.buildInfo.topLevelDeclarations);
|
|
614
|
-
if (topLevelDeclarations) {
|
|
615
|
-
for (const dep of module.dependencies) {
|
|
616
|
-
if (
|
|
617
|
-
dep instanceof HarmonyExportSpecifierDependency &&
|
|
618
|
-
topLevelDeclarations.has(dep.id)
|
|
619
|
-
) {
|
|
620
|
-
(directBindings || (directBindings = new Map())).set(
|
|
621
|
-
dep.name,
|
|
622
|
-
dep.id
|
|
623
|
-
);
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
}
|
|
620
|
+
// A merged entry is awaited in the bootstrap, so the object here is settled.
|
|
621
|
+
const isAsync = !mergedModules && moduleGraph.isAsync(module);
|
|
628
622
|
|
|
629
|
-
|
|
630
|
-
|
|
623
|
+
// One ES module among the merged ones still provides a real `default`, and
|
|
624
|
+
// the synthetic one below would then be a second export of that name.
|
|
625
|
+
const treatAsCommonJs = exportedModules.every((m) =>
|
|
626
|
+
Boolean(
|
|
627
|
+
m.buildMeta &&
|
|
628
|
+
/** @type {JavascriptModuleBuildMeta} */ (m.buildMeta).treatAsCommonJs
|
|
629
|
+
)
|
|
630
|
+
);
|
|
631
631
|
|
|
632
632
|
const moduleExportsInfo = moduleGraph.getExportsInfo(module);
|
|
633
633
|
|
|
@@ -642,7 +642,8 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
642
642
|
let needExportsDeclaration =
|
|
643
643
|
!isInlinedEntryWithoutIIFE || isAsync || needHarmonyCompatibilityFlag;
|
|
644
644
|
|
|
645
|
-
|
|
645
|
+
// The startup awaits the entry wherever top-level `await` reaches it.
|
|
646
|
+
if (isAsync && !exportsAwaited) {
|
|
646
647
|
result.add(
|
|
647
648
|
`${RuntimeGlobals.exports} = await ${RuntimeGlobals.exports};\n`
|
|
648
649
|
);
|
|
@@ -654,7 +655,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
654
655
|
|
|
655
656
|
const originalName = exportInfo.name;
|
|
656
657
|
// Skip rendering the default export in some cases
|
|
657
|
-
if (
|
|
658
|
+
if (treatAsCommonJs && originalName === "default") continue;
|
|
658
659
|
|
|
659
660
|
// Try to find all exports from the reexported modules
|
|
660
661
|
const target = exportInfo.getTarget(moduleGraph);
|
|
@@ -674,7 +675,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
674
675
|
|
|
675
676
|
if (
|
|
676
677
|
target &&
|
|
677
|
-
target.module
|
|
678
|
+
target.module.is("external") &&
|
|
678
679
|
target.export &&
|
|
679
680
|
target.export.length === 1 &&
|
|
680
681
|
codeGenerationResults.has(target.module, chunk.runtime)
|
|
@@ -685,7 +686,8 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
685
686
|
"externalReexport"
|
|
686
687
|
);
|
|
687
688
|
if (reexport) {
|
|
688
|
-
|
|
689
|
+
// The getter stays in the body, written into the object
|
|
690
|
+
needExportsDeclaration = true;
|
|
689
691
|
result.add(
|
|
690
692
|
`export { ${toExportName(target.export[0])} as ${toExportName(originalName)} } ${reexport};\n`
|
|
691
693
|
);
|
|
@@ -694,28 +696,19 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
694
696
|
}
|
|
695
697
|
}
|
|
696
698
|
|
|
697
|
-
// The exports of entry module are never inlined
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
699
|
+
// The exports of entry module are never inlined, and a merged exports
|
|
700
|
+
// object is keyed by the original names rather than the mangled ones.
|
|
701
|
+
const usedName = mergedModules
|
|
702
|
+
? originalName
|
|
703
|
+
: /** @type {string} */
|
|
704
|
+
(exportInfo.getUsedName(originalName, chunk.runtime));
|
|
701
705
|
/** @type {string | undefined} */
|
|
702
706
|
const definition = definitions[usedName];
|
|
703
707
|
/** @type {string | undefined} */
|
|
704
|
-
const directLocal =
|
|
705
|
-
definition === undefined && directBindings
|
|
706
|
-
? directBindings.get(originalName)
|
|
707
|
-
: undefined;
|
|
708
|
-
/** @type {string | undefined} */
|
|
709
708
|
let finalName;
|
|
710
709
|
|
|
711
710
|
if (definition) {
|
|
712
711
|
finalName = definition;
|
|
713
|
-
} else if (directLocal !== undefined) {
|
|
714
|
-
// Live binding to the inlined entry's own top-level declaration
|
|
715
|
-
finalName = directLocal;
|
|
716
|
-
// The declaration is only there for the definitions written into it; with
|
|
717
|
-
// those taken over (and not re-emitted here) nothing reads the object.
|
|
718
|
-
if (!bindingsTakenOver) needExportsDeclaration = true;
|
|
719
712
|
} else {
|
|
720
713
|
// Fallback to `__webpack_exports__` property access
|
|
721
714
|
// when no direct export binding was found
|
|
@@ -778,6 +771,7 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
778
771
|
module,
|
|
779
772
|
moduleGraph,
|
|
780
773
|
chunk.runtime,
|
|
774
|
+
codeGenerationResults,
|
|
781
775
|
exports,
|
|
782
776
|
alreadyRenderedExports
|
|
783
777
|
);
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { ConcatSource } = require("webpack-sources");
|
|
9
|
-
const { UsageState } = require("../ExportsInfo");
|
|
10
|
-
const
|
|
11
|
-
const Template = require("../Template");
|
|
9
|
+
const { UsageState } = require("../graph/ExportsInfo");
|
|
10
|
+
const Template = require("../template/Template");
|
|
12
11
|
const { propertyAccess } = require("../util/property");
|
|
13
12
|
const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
14
13
|
|
|
14
|
+
/** @import ExternalModule from "../externals/ExternalModule" */
|
|
15
15
|
/** @import { Source } from "webpack-sources" */
|
|
16
16
|
/**
|
|
17
17
|
* @import {
|
|
@@ -19,9 +19,9 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
19
19
|
* LibraryType
|
|
20
20
|
* } from "../../declarations/WebpackOptions"
|
|
21
21
|
*/
|
|
22
|
-
/** @import Chunk from "../Chunk" */
|
|
22
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
23
23
|
/** @import { ChunkHashContext } from "../Compilation" */
|
|
24
|
-
/** @import { ExportInfoName } from "../Dependency" */
|
|
24
|
+
/** @import { ExportInfoName } from "../graph/Dependency" */
|
|
25
25
|
/** @import { RenderContext } from "../javascript/JavascriptModulesPlugin" */
|
|
26
26
|
/** @import Hash from "../util/Hash" */
|
|
27
27
|
/**
|
|
@@ -87,9 +87,7 @@ class SystemLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
87
87
|
render(source, { chunkGraph, moduleGraph, chunk }, { options, compilation }) {
|
|
88
88
|
const modules = chunkGraph
|
|
89
89
|
.getChunkModules(chunk)
|
|
90
|
-
.filter(
|
|
91
|
-
(m) => m instanceof ExternalModule && m.externalType === "system"
|
|
92
|
-
);
|
|
90
|
+
.filter((m) => m.is("external") && m.externalType === "system");
|
|
93
91
|
const externals = /** @type {ExternalModule[]} */ (modules);
|
|
94
92
|
|
|
95
93
|
// The name this bundle should be registered as with System
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { ConcatSource, OriginalSource } = require("webpack-sources");
|
|
9
|
-
const
|
|
10
|
-
const Template = require("../Template");
|
|
9
|
+
const Template = require("../template/Template");
|
|
11
10
|
const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
12
11
|
|
|
13
12
|
/** @import { Source } from "webpack-sources" */
|
|
@@ -21,7 +20,7 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
|
21
20
|
* } from "../../declarations/WebpackOptions"
|
|
22
21
|
*/
|
|
23
22
|
/** @import { RenderContext } from "../javascript/JavascriptModulesPlugin" */
|
|
24
|
-
/** @import { RequestRecord } from "../ExternalModule" */
|
|
23
|
+
/** @import ExternalModule, { RequestRecord } from "../externals/ExternalModule" */
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
26
|
* Defines the shared type used by this module.
|
|
@@ -164,7 +163,7 @@ class UmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
|
164
163
|
.getChunkModules(chunk)
|
|
165
164
|
.filter(
|
|
166
165
|
(m) =>
|
|
167
|
-
m
|
|
166
|
+
m.is("external") &&
|
|
168
167
|
(m.externalType === "umd" || m.externalType === "umd2")
|
|
169
168
|
);
|
|
170
169
|
let externals = /** @type {ExternalModule[]} */ (modules);
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const ModuleDependency = require("
|
|
8
|
+
const ModuleDependency = require("../dependencies/core/ModuleDependency");
|
|
9
9
|
|
|
10
|
-
/** @import { GetConditionFn } from "../Dependency" */
|
|
11
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
10
|
+
/** @import { GetConditionFn } from "../graph/Dependency" */
|
|
11
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
12
12
|
|
|
13
13
|
class LoaderDependency extends ModuleDependency {
|
|
14
14
|
/**
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const ModuleDependency = require("
|
|
8
|
+
const ModuleDependency = require("../dependencies/core/ModuleDependency");
|
|
9
9
|
|
|
10
|
-
/** @import { GetConditionFn } from "../Dependency" */
|
|
11
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
10
|
+
/** @import { GetConditionFn, DependencyKinds } from "../graph/Dependency" */
|
|
11
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
12
12
|
|
|
13
13
|
class LoaderImportDependency extends ModuleDependency {
|
|
14
14
|
/**
|
|
@@ -39,4 +39,10 @@ class LoaderImportDependency extends ModuleDependency {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/** @type {Set<keyof DependencyKinds>} */
|
|
43
|
+
LoaderImportDependency.KINDS = new Set([
|
|
44
|
+
...ModuleDependency.KINDS,
|
|
45
|
+
"loader-import"
|
|
46
|
+
]);
|
|
47
|
+
|
|
42
48
|
module.exports = LoaderImportDependency;
|