@depup/webpack 5.106.1-depup.0 → 5.109.2-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 +9 -11
- package/bin/webpack.js +12 -0
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +153 -19
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +27 -28
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +85 -37
- package/lib/Compilation.js +656 -112
- package/lib/Compiler.js +109 -35
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +537 -139
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +421 -113
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +381 -80
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +701 -175
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +115 -8
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +33 -30
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -57
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +18 -4
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +519 -206
- package/lib/NormalModuleFactory.js +156 -31
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +123 -118
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +52 -6
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +302 -12
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +612 -43
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/HoistContainerReferencesPlugin.js +47 -55
- package/lib/container/ModuleFederationPlugin.js +21 -29
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +540 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +173 -81
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +371 -208
- package/lib/css/CssParser.js +3538 -1963
- package/lib/css/syntax.js +4155 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +681 -367
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +60 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +427 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +53 -12
- package/lib/html/HtmlGenerator.js +1490 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1129 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9106 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +49 -12
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +628 -198
- package/lib/javascript/JavascriptParser.js +1334 -471
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +5037 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +22 -16
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +603 -130
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +229 -55
- package/lib/optimize/RealContentHashPlugin.js +130 -52
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +200 -50
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +687 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +427 -1006
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +345 -59
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
- package/lib/stats/StatsFactory.js +70 -27
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +118 -7
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1173 -80
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +11053 -3019
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
package/lib/ModuleFactory.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
/** @typedef {import("./Module")} Module */
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
+
* Defines the module factory result type used by this module.
|
|
13
14
|
* @typedef {object} ModuleFactoryResult
|
|
14
15
|
* @property {Module=} module the created module or unset if no module was created
|
|
15
16
|
* @property {Set<string>=} fileDependencies
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
/** @typedef {string | null} IssuerLayer */
|
|
22
23
|
|
|
23
24
|
/**
|
|
25
|
+
* Defines the module factory create data context info type used by this module.
|
|
24
26
|
* @typedef {object} ModuleFactoryCreateDataContextInfo
|
|
25
27
|
* @property {string} issuer
|
|
26
28
|
* @property {IssuerLayer} issuerLayer
|
|
@@ -28,6 +30,7 @@
|
|
|
28
30
|
*/
|
|
29
31
|
|
|
30
32
|
/**
|
|
33
|
+
* Defines the module factory create data type used by this module.
|
|
31
34
|
* @typedef {object} ModuleFactoryCreateData
|
|
32
35
|
* @property {ModuleFactoryCreateDataContextInfo} contextInfo
|
|
33
36
|
* @property {ResolveOptions=} resolveOptions
|
|
@@ -36,19 +39,21 @@
|
|
|
36
39
|
*/
|
|
37
40
|
|
|
38
41
|
/**
|
|
42
|
+
* Represents the module factory runtime component.
|
|
39
43
|
* @typedef {(err?: Error | null, result?: ModuleFactoryResult) => void} ModuleFactoryCallback
|
|
40
44
|
*/
|
|
41
45
|
|
|
42
46
|
class ModuleFactory {
|
|
43
47
|
/* istanbul ignore next */
|
|
44
48
|
/**
|
|
49
|
+
* Processes the provided data.
|
|
45
50
|
* @abstract
|
|
46
51
|
* @param {ModuleFactoryCreateData} data data object
|
|
47
52
|
* @param {ModuleFactoryCallback} callback callback
|
|
48
53
|
* @returns {void}
|
|
49
54
|
*/
|
|
50
55
|
create(data, callback) {
|
|
51
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
56
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
52
57
|
|
|
53
58
|
throw new AbstractMethodError();
|
|
54
59
|
}
|
|
@@ -90,6 +90,7 @@ const getHash =
|
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
+
* Returns the lazy access object.
|
|
93
94
|
* @template T
|
|
94
95
|
* Returns a lazy object. The object is lazy in the sense that the properties are
|
|
95
96
|
* only evaluated when they are accessed. This is only obtained by setting a function as the value for each key.
|
|
@@ -118,6 +119,7 @@ const lazyObject = (obj) => {
|
|
|
118
119
|
|
|
119
120
|
const SQUARE_BRACKET_TAG_REGEXP = /\[\\*([\w-]+)\\*\]/g;
|
|
120
121
|
/**
|
|
122
|
+
* Defines the module filename template context type used by this module.
|
|
121
123
|
* @typedef {object} ModuleFilenameTemplateContext
|
|
122
124
|
* @property {string} identifier the identifier of the module
|
|
123
125
|
* @property {string} shortIdentifier the shortened identifier of the module
|
|
@@ -135,6 +137,7 @@ const SQUARE_BRACKET_TAG_REGEXP = /\[\\*([\w-]+)\\*\]/g;
|
|
|
135
137
|
/** @typedef {string | ModuleFilenameTemplateFunction} ModuleFilenameTemplate */
|
|
136
138
|
|
|
137
139
|
/**
|
|
140
|
+
* Returns the filename.
|
|
138
141
|
* @param {Module | string} module the module
|
|
139
142
|
* @param {{ namespace?: string, moduleFilenameTemplate?: ModuleFilenameTemplate }} options options
|
|
140
143
|
* @param {{ requestShortener: RequestShortener, chunkGraph: ChunkGraph, hashFunction?: HashFunction }} contextInfo context info
|
|
@@ -166,11 +169,14 @@ ModuleFilenameHelpers.createFilename = (
|
|
|
166
169
|
let moduleId;
|
|
167
170
|
/** @type {ReturnStringCallback} */
|
|
168
171
|
let shortIdentifier;
|
|
172
|
+
/** @type {ReturnStringCallback} */
|
|
173
|
+
let resourceIdentifier;
|
|
169
174
|
if (typeof module === "string") {
|
|
170
175
|
shortIdentifier =
|
|
171
176
|
/** @type {ReturnStringCallback} */
|
|
172
177
|
(memoize(() => requestShortener.shorten(module)));
|
|
173
178
|
identifier = shortIdentifier;
|
|
179
|
+
resourceIdentifier = shortIdentifier;
|
|
174
180
|
moduleId = () => "";
|
|
175
181
|
absoluteResourcePath = () =>
|
|
176
182
|
/** @type {string} */ (module.split("!").pop());
|
|
@@ -179,6 +185,14 @@ ModuleFilenameHelpers.createFilename = (
|
|
|
179
185
|
shortIdentifier = memoize(() =>
|
|
180
186
|
module.readableIdentifier(requestShortener)
|
|
181
187
|
);
|
|
188
|
+
// `[resource]` and `[loaders]` must stay request paths: a subclass's
|
|
189
|
+
// readable identifier may carry display-only decorations (e.g. CssModule's
|
|
190
|
+
// `css ` prefix)
|
|
191
|
+
resourceIdentifier = memoize(() =>
|
|
192
|
+
module instanceof NormalModule
|
|
193
|
+
? /** @type {string} */ (requestShortener.shorten(module.userRequest))
|
|
194
|
+
: module.readableIdentifier(requestShortener)
|
|
195
|
+
);
|
|
182
196
|
identifier =
|
|
183
197
|
/** @type {ReturnStringCallback} */
|
|
184
198
|
(memoize(() => requestShortener.shorten(module.identifier())));
|
|
@@ -193,9 +207,9 @@ ModuleFilenameHelpers.createFilename = (
|
|
|
193
207
|
}
|
|
194
208
|
const resource =
|
|
195
209
|
/** @type {ReturnStringCallback} */
|
|
196
|
-
(memoize(() =>
|
|
210
|
+
(memoize(() => resourceIdentifier().split("!").pop()));
|
|
197
211
|
|
|
198
|
-
const loaders = getBefore(
|
|
212
|
+
const loaders = getBefore(resourceIdentifier, "!");
|
|
199
213
|
const allLoaders = getBefore(identifier, "!");
|
|
200
214
|
const query = getAfter(resource, "?");
|
|
201
215
|
const resourcePath = () => {
|
|
@@ -324,9 +338,9 @@ ModuleFilenameHelpers.replaceDuplicates = (array, fn, comparator) => {
|
|
|
324
338
|
* ```js
|
|
325
339
|
* ModuleFilenameHelpers.matchPart("foo.js", "foo"); // true
|
|
326
340
|
* ModuleFilenameHelpers.matchPart("foo.js", "foo.js"); // true
|
|
327
|
-
* ModuleFilenameHelpers.matchPart("foo.js", "foo."); //
|
|
341
|
+
* ModuleFilenameHelpers.matchPart("foo.js", "foo."); // true
|
|
328
342
|
* ModuleFilenameHelpers.matchPart("foo.js", "foo*"); // false
|
|
329
|
-
* ModuleFilenameHelpers.matchPart("foo.js", "foo.*"); //
|
|
343
|
+
* ModuleFilenameHelpers.matchPart("foo.js", "foo.*"); // false
|
|
330
344
|
* ModuleFilenameHelpers.matchPart("foo.js", /^foo/); // true
|
|
331
345
|
* ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, "bar"]); // true
|
|
332
346
|
* ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, "bar"]); // true
|
package/lib/ModuleGraph.js
CHANGED
|
@@ -28,6 +28,7 @@ const { sortWithSourceOrder } = require("./util/comparators");
|
|
|
28
28
|
/** @typedef {import("./util/comparators").DependencySourceOrder} DependencySourceOrder */
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
+
* Defines the optimization bailout function callback.
|
|
31
32
|
* @callback OptimizationBailoutFunction
|
|
32
33
|
* @param {RequestShortener} requestShortener
|
|
33
34
|
* @returns {string}
|
|
@@ -37,6 +38,7 @@ const { sortWithSourceOrder } = require("./util/comparators");
|
|
|
37
38
|
const EMPTY_SET = new Set();
|
|
38
39
|
|
|
39
40
|
/**
|
|
41
|
+
* Gets connections by key.
|
|
40
42
|
* @template {Module | null | undefined} T
|
|
41
43
|
* @param {SortableSet<ModuleGraphConnection>} set input
|
|
42
44
|
* @param {(connection: ModuleGraphConnection) => T} getKey function to extract key from connection
|
|
@@ -71,6 +73,7 @@ const getConnectionsByKey = (set, getKey) => {
|
|
|
71
73
|
};
|
|
72
74
|
|
|
73
75
|
/**
|
|
76
|
+
* Gets connections by origin module.
|
|
74
77
|
* @param {SortableSet<ModuleGraphConnection>} set input
|
|
75
78
|
* @returns {ReadonlyMap<Module | undefined | null, ReadonlyArray<ModuleGraphConnection>>} mapped by origin module
|
|
76
79
|
*/
|
|
@@ -78,6 +81,7 @@ const getConnectionsByOriginModule = (set) =>
|
|
|
78
81
|
getConnectionsByKey(set, (connection) => connection.originModule);
|
|
79
82
|
|
|
80
83
|
/**
|
|
84
|
+
* Gets connections by module.
|
|
81
85
|
* @param {SortableSet<ModuleGraphConnection>} set input
|
|
82
86
|
* @returns {ReadonlyMap<Module | undefined, ReadonlyArray<ModuleGraphConnection>>} mapped by module
|
|
83
87
|
*/
|
|
@@ -125,6 +129,7 @@ class ModuleGraphModule {
|
|
|
125
129
|
/** @typedef {import("./dependencies/HarmonyExportImportedSpecifierDependency").idsSymbol} HarmonyExportImportedSpecifierDependencyIDsSymbol */
|
|
126
130
|
|
|
127
131
|
/**
|
|
132
|
+
* Defines the known meta type used by this module.
|
|
128
133
|
* @typedef {object} KnownMeta
|
|
129
134
|
* @property {Map<Module, string>=} importVarMap
|
|
130
135
|
* @property {Map<Module, string>=} deferredImportVarMap
|
|
@@ -180,6 +185,7 @@ class ModuleGraph {
|
|
|
180
185
|
}
|
|
181
186
|
|
|
182
187
|
/**
|
|
188
|
+
* Get module graph module.
|
|
183
189
|
* @param {Module} module the module
|
|
184
190
|
* @returns {ModuleGraphModule} the internal module
|
|
185
191
|
*/
|
|
@@ -193,6 +199,7 @@ class ModuleGraph {
|
|
|
193
199
|
}
|
|
194
200
|
|
|
195
201
|
/**
|
|
202
|
+
* Updates parents using the provided dependency.
|
|
196
203
|
* @param {Dependency} dependency the dependency
|
|
197
204
|
* @param {DependenciesBlock} block parent block
|
|
198
205
|
* @param {Module} module parent module
|
|
@@ -206,6 +213,7 @@ class ModuleGraph {
|
|
|
206
213
|
}
|
|
207
214
|
|
|
208
215
|
/**
|
|
216
|
+
* Sets parent dependencies block index.
|
|
209
217
|
* @param {Dependency} dependency the dependency
|
|
210
218
|
* @param {number} index the index
|
|
211
219
|
* @returns {void}
|
|
@@ -215,6 +223,7 @@ class ModuleGraph {
|
|
|
215
223
|
}
|
|
216
224
|
|
|
217
225
|
/**
|
|
226
|
+
* Gets parent module.
|
|
218
227
|
* @param {Dependency} dependency the dependency
|
|
219
228
|
* @returns {Module | undefined} parent module
|
|
220
229
|
*/
|
|
@@ -223,6 +232,7 @@ class ModuleGraph {
|
|
|
223
232
|
}
|
|
224
233
|
|
|
225
234
|
/**
|
|
235
|
+
* Returns parent block.
|
|
226
236
|
* @param {Dependency} dependency the dependency
|
|
227
237
|
* @returns {DependenciesBlock | undefined} parent block
|
|
228
238
|
*/
|
|
@@ -231,6 +241,7 @@ class ModuleGraph {
|
|
|
231
241
|
}
|
|
232
242
|
|
|
233
243
|
/**
|
|
244
|
+
* Gets parent block index.
|
|
234
245
|
* @param {Dependency} dependency the dependency
|
|
235
246
|
* @returns {number} index
|
|
236
247
|
*/
|
|
@@ -239,6 +250,7 @@ class ModuleGraph {
|
|
|
239
250
|
}
|
|
240
251
|
|
|
241
252
|
/**
|
|
253
|
+
* Sets resolved module.
|
|
242
254
|
* @param {Module | null} originModule the referencing module
|
|
243
255
|
* @param {Dependency} dependency the referencing dependency
|
|
244
256
|
* @param {Module} module the referenced module
|
|
@@ -250,7 +262,8 @@ class ModuleGraph {
|
|
|
250
262
|
dependency,
|
|
251
263
|
module,
|
|
252
264
|
undefined,
|
|
253
|
-
dependency
|
|
265
|
+
// weak is defined on ModuleDependency; undefined for other dependency kinds
|
|
266
|
+
/** @type {{ weak?: boolean }} */ (dependency).weak,
|
|
254
267
|
dependency.getCondition(this)
|
|
255
268
|
);
|
|
256
269
|
const connections = this._getModuleGraphModule(module).incomingConnections;
|
|
@@ -271,6 +284,7 @@ class ModuleGraph {
|
|
|
271
284
|
}
|
|
272
285
|
|
|
273
286
|
/**
|
|
287
|
+
* Updates module using the provided dependency.
|
|
274
288
|
* @param {Dependency} dependency the referencing dependency
|
|
275
289
|
* @param {Module} module the referenced module
|
|
276
290
|
* @returns {void}
|
|
@@ -294,6 +308,7 @@ class ModuleGraph {
|
|
|
294
308
|
}
|
|
295
309
|
|
|
296
310
|
/**
|
|
311
|
+
* Updates parent using the provided dependency.
|
|
297
312
|
* @param {Dependency} dependency the need update dependency
|
|
298
313
|
* @param {ModuleGraphConnection=} connection the target connection
|
|
299
314
|
* @param {Module=} parentModule the parent module
|
|
@@ -342,6 +357,7 @@ class ModuleGraph {
|
|
|
342
357
|
}
|
|
343
358
|
|
|
344
359
|
/**
|
|
360
|
+
* Finish update parent.
|
|
345
361
|
* @returns {void}
|
|
346
362
|
*/
|
|
347
363
|
finishUpdateParent() {
|
|
@@ -361,6 +377,7 @@ class ModuleGraph {
|
|
|
361
377
|
}
|
|
362
378
|
|
|
363
379
|
/**
|
|
380
|
+
* Removes connection.
|
|
364
381
|
* @param {Dependency} dependency the referencing dependency
|
|
365
382
|
* @returns {void}
|
|
366
383
|
*/
|
|
@@ -379,6 +396,7 @@ class ModuleGraph {
|
|
|
379
396
|
}
|
|
380
397
|
|
|
381
398
|
/**
|
|
399
|
+
* Adds the provided dependency to the module graph.
|
|
382
400
|
* @param {Dependency} dependency the referencing dependency
|
|
383
401
|
* @param {string} explanation an explanation
|
|
384
402
|
* @returns {void}
|
|
@@ -391,6 +409,7 @@ class ModuleGraph {
|
|
|
391
409
|
}
|
|
392
410
|
|
|
393
411
|
/**
|
|
412
|
+
* Clones module attributes.
|
|
394
413
|
* @param {Module} sourceModule the source module
|
|
395
414
|
* @param {Module} targetModule the target module
|
|
396
415
|
* @returns {void}
|
|
@@ -406,6 +425,7 @@ class ModuleGraph {
|
|
|
406
425
|
}
|
|
407
426
|
|
|
408
427
|
/**
|
|
428
|
+
* Removes module attributes.
|
|
409
429
|
* @param {Module} module the module
|
|
410
430
|
* @returns {void}
|
|
411
431
|
*/
|
|
@@ -418,6 +438,7 @@ class ModuleGraph {
|
|
|
418
438
|
}
|
|
419
439
|
|
|
420
440
|
/**
|
|
441
|
+
* Removes all module attributes.
|
|
421
442
|
* @returns {void}
|
|
422
443
|
*/
|
|
423
444
|
removeAllModuleAttributes() {
|
|
@@ -430,6 +451,7 @@ class ModuleGraph {
|
|
|
430
451
|
}
|
|
431
452
|
|
|
432
453
|
/**
|
|
454
|
+
* Move module connections.
|
|
433
455
|
* @param {Module} oldModule the old referencing module
|
|
434
456
|
* @param {Module} newModule the new referencing module
|
|
435
457
|
* @param {FilterConnection} filterConnection filter predicate for replacement
|
|
@@ -467,6 +489,7 @@ class ModuleGraph {
|
|
|
467
489
|
}
|
|
468
490
|
|
|
469
491
|
/**
|
|
492
|
+
* Copies outgoing module connections.
|
|
470
493
|
* @param {Module} oldModule the old referencing module
|
|
471
494
|
* @param {Module} newModule the new referencing module
|
|
472
495
|
* @param {FilterConnection} filterConnection filter predicate for replacement
|
|
@@ -498,6 +521,7 @@ class ModuleGraph {
|
|
|
498
521
|
}
|
|
499
522
|
|
|
500
523
|
/**
|
|
524
|
+
* Adds the provided module to the module graph.
|
|
501
525
|
* @param {Module} module the referenced module
|
|
502
526
|
* @param {string} explanation an explanation why it's referenced
|
|
503
527
|
* @returns {void}
|
|
@@ -508,6 +532,7 @@ class ModuleGraph {
|
|
|
508
532
|
}
|
|
509
533
|
|
|
510
534
|
/**
|
|
535
|
+
* Gets resolved module.
|
|
511
536
|
* @param {Dependency} dependency the dependency to look for a referenced module
|
|
512
537
|
* @returns {Module | null} the referenced module
|
|
513
538
|
*/
|
|
@@ -517,6 +542,7 @@ class ModuleGraph {
|
|
|
517
542
|
}
|
|
518
543
|
|
|
519
544
|
/**
|
|
545
|
+
* Returns the connection.
|
|
520
546
|
* @param {Dependency} dependency the dependency to look for a referenced module
|
|
521
547
|
* @returns {ModuleGraphConnection | undefined} the connection
|
|
522
548
|
*/
|
|
@@ -554,6 +580,7 @@ class ModuleGraph {
|
|
|
554
580
|
}
|
|
555
581
|
|
|
556
582
|
/**
|
|
583
|
+
* Returns the referenced module.
|
|
557
584
|
* @param {Dependency} dependency the dependency to look for a referenced module
|
|
558
585
|
* @returns {Module | null} the referenced module
|
|
559
586
|
*/
|
|
@@ -563,6 +590,7 @@ class ModuleGraph {
|
|
|
563
590
|
}
|
|
564
591
|
|
|
565
592
|
/**
|
|
593
|
+
* Returns the referencing module.
|
|
566
594
|
* @param {Dependency} dependency the dependency to look for a referencing module
|
|
567
595
|
* @returns {Module | null} the referencing module
|
|
568
596
|
*/
|
|
@@ -572,6 +600,7 @@ class ModuleGraph {
|
|
|
572
600
|
}
|
|
573
601
|
|
|
574
602
|
/**
|
|
603
|
+
* Gets resolved origin.
|
|
575
604
|
* @param {Dependency} dependency the dependency to look for a referencing module
|
|
576
605
|
* @returns {Module | null} the original referencing module
|
|
577
606
|
*/
|
|
@@ -581,6 +610,7 @@ class ModuleGraph {
|
|
|
581
610
|
}
|
|
582
611
|
|
|
583
612
|
/**
|
|
613
|
+
* Gets incoming connections.
|
|
584
614
|
* @param {Module} module the module
|
|
585
615
|
* @returns {Iterable<ModuleGraphConnection>} reasons why a module is included
|
|
586
616
|
*/
|
|
@@ -590,6 +620,7 @@ class ModuleGraph {
|
|
|
590
620
|
}
|
|
591
621
|
|
|
592
622
|
/**
|
|
623
|
+
* Gets outgoing connections.
|
|
593
624
|
* @param {Module} module the module
|
|
594
625
|
* @returns {Iterable<ModuleGraphConnection>} list of outgoing connections
|
|
595
626
|
*/
|
|
@@ -599,6 +630,7 @@ class ModuleGraph {
|
|
|
599
630
|
}
|
|
600
631
|
|
|
601
632
|
/**
|
|
633
|
+
* Gets incoming connections by origin module.
|
|
602
634
|
* @param {Module} module the module
|
|
603
635
|
* @returns {ReadonlyMap<Module | undefined | null, ReadonlyArray<ModuleGraphConnection>>} reasons why a module is included, in a map by source module
|
|
604
636
|
*/
|
|
@@ -608,6 +640,7 @@ class ModuleGraph {
|
|
|
608
640
|
}
|
|
609
641
|
|
|
610
642
|
/**
|
|
643
|
+
* Gets outgoing connections by module.
|
|
611
644
|
* @param {Module} module the module
|
|
612
645
|
* @returns {ReadonlyMap<Module | undefined, ReadonlyArray<ModuleGraphConnection>> | undefined} connections to modules, in a map by module
|
|
613
646
|
*/
|
|
@@ -619,6 +652,7 @@ class ModuleGraph {
|
|
|
619
652
|
}
|
|
620
653
|
|
|
621
654
|
/**
|
|
655
|
+
* Returns the module profile.
|
|
622
656
|
* @param {Module} module the module
|
|
623
657
|
* @returns {ModuleProfile | undefined} the module profile
|
|
624
658
|
*/
|
|
@@ -628,6 +662,7 @@ class ModuleGraph {
|
|
|
628
662
|
}
|
|
629
663
|
|
|
630
664
|
/**
|
|
665
|
+
* Updates profile using the provided module.
|
|
631
666
|
* @param {Module} module the module
|
|
632
667
|
* @param {ModuleProfile | undefined} profile the module profile
|
|
633
668
|
* @returns {void}
|
|
@@ -638,6 +673,7 @@ class ModuleGraph {
|
|
|
638
673
|
}
|
|
639
674
|
|
|
640
675
|
/**
|
|
676
|
+
* Returns the issuer module.
|
|
641
677
|
* @param {Module} module the module
|
|
642
678
|
* @returns {Issuer} the issuer module
|
|
643
679
|
*/
|
|
@@ -647,6 +683,7 @@ class ModuleGraph {
|
|
|
647
683
|
}
|
|
648
684
|
|
|
649
685
|
/**
|
|
686
|
+
* Updates issuer using the provided module.
|
|
650
687
|
* @param {Module} module the module
|
|
651
688
|
* @param {Module | null} issuer the issuer module
|
|
652
689
|
* @returns {void}
|
|
@@ -657,6 +694,7 @@ class ModuleGraph {
|
|
|
657
694
|
}
|
|
658
695
|
|
|
659
696
|
/**
|
|
697
|
+
* Sets issuer if unset.
|
|
660
698
|
* @param {Module} module the module
|
|
661
699
|
* @param {Module | null} issuer the issuer module
|
|
662
700
|
* @returns {void}
|
|
@@ -667,6 +705,7 @@ class ModuleGraph {
|
|
|
667
705
|
}
|
|
668
706
|
|
|
669
707
|
/**
|
|
708
|
+
* Gets optimization bailout.
|
|
670
709
|
* @param {Module} module the module
|
|
671
710
|
* @returns {OptimizationBailouts} optimization bailouts
|
|
672
711
|
*/
|
|
@@ -676,6 +715,7 @@ class ModuleGraph {
|
|
|
676
715
|
}
|
|
677
716
|
|
|
678
717
|
/**
|
|
718
|
+
* Gets provided exports.
|
|
679
719
|
* @param {Module} module the module
|
|
680
720
|
* @returns {null | true | ExportInfoName[]} the provided exports
|
|
681
721
|
*/
|
|
@@ -685,6 +725,7 @@ class ModuleGraph {
|
|
|
685
725
|
}
|
|
686
726
|
|
|
687
727
|
/**
|
|
728
|
+
* Checks whether this module graph is export provided.
|
|
688
729
|
* @param {Module} module the module
|
|
689
730
|
* @param {ExportInfoName | ExportInfoName[]} exportName a name of an export
|
|
690
731
|
* @returns {boolean | null} true, if the export is provided by the module.
|
|
@@ -698,6 +739,7 @@ class ModuleGraph {
|
|
|
698
739
|
}
|
|
699
740
|
|
|
700
741
|
/**
|
|
742
|
+
* Returns info about the exports.
|
|
701
743
|
* @param {Module} module the module
|
|
702
744
|
* @returns {ExportsInfo} info about the exports
|
|
703
745
|
*/
|
|
@@ -707,6 +749,7 @@ class ModuleGraph {
|
|
|
707
749
|
}
|
|
708
750
|
|
|
709
751
|
/**
|
|
752
|
+
* Returns info about the export.
|
|
710
753
|
* @param {Module} module the module
|
|
711
754
|
* @param {string} exportName the export
|
|
712
755
|
* @returns {ExportInfo} info about the export
|
|
@@ -717,6 +760,7 @@ class ModuleGraph {
|
|
|
717
760
|
}
|
|
718
761
|
|
|
719
762
|
/**
|
|
763
|
+
* Gets read only export info.
|
|
720
764
|
* @param {Module} module the module
|
|
721
765
|
* @param {string} exportName the export
|
|
722
766
|
* @returns {ExportInfo} info about the export (do not modify)
|
|
@@ -727,6 +771,7 @@ class ModuleGraph {
|
|
|
727
771
|
}
|
|
728
772
|
|
|
729
773
|
/**
|
|
774
|
+
* Returns the used exports.
|
|
730
775
|
* @param {Module} module the module
|
|
731
776
|
* @param {RuntimeSpec} runtime the runtime
|
|
732
777
|
* @returns {false | true | SortableSet<string> | null} the used exports
|
|
@@ -742,6 +787,7 @@ class ModuleGraph {
|
|
|
742
787
|
}
|
|
743
788
|
|
|
744
789
|
/**
|
|
790
|
+
* Gets pre order index.
|
|
745
791
|
* @param {Module} module the module
|
|
746
792
|
* @returns {number | null} the index of the module
|
|
747
793
|
*/
|
|
@@ -751,6 +797,7 @@ class ModuleGraph {
|
|
|
751
797
|
}
|
|
752
798
|
|
|
753
799
|
/**
|
|
800
|
+
* Gets post order index.
|
|
754
801
|
* @param {Module} module the module
|
|
755
802
|
* @returns {number | null} the index of the module
|
|
756
803
|
*/
|
|
@@ -760,6 +807,7 @@ class ModuleGraph {
|
|
|
760
807
|
}
|
|
761
808
|
|
|
762
809
|
/**
|
|
810
|
+
* Sets pre order index.
|
|
763
811
|
* @param {Module} module the module
|
|
764
812
|
* @param {number} index the index of the module
|
|
765
813
|
* @returns {void}
|
|
@@ -770,6 +818,7 @@ class ModuleGraph {
|
|
|
770
818
|
}
|
|
771
819
|
|
|
772
820
|
/**
|
|
821
|
+
* Sets pre order index if unset.
|
|
773
822
|
* @param {Module} module the module
|
|
774
823
|
* @param {number} index the index of the module
|
|
775
824
|
* @returns {boolean} true, if the index was set
|
|
@@ -784,6 +833,7 @@ class ModuleGraph {
|
|
|
784
833
|
}
|
|
785
834
|
|
|
786
835
|
/**
|
|
836
|
+
* Sets post order index.
|
|
787
837
|
* @param {Module} module the module
|
|
788
838
|
* @param {number} index the index of the module
|
|
789
839
|
* @returns {void}
|
|
@@ -794,6 +844,7 @@ class ModuleGraph {
|
|
|
794
844
|
}
|
|
795
845
|
|
|
796
846
|
/**
|
|
847
|
+
* Sets post order index if unset.
|
|
797
848
|
* @param {Module} module the module
|
|
798
849
|
* @param {number} index the index of the module
|
|
799
850
|
* @returns {boolean} true, if the index was set
|
|
@@ -808,6 +859,7 @@ class ModuleGraph {
|
|
|
808
859
|
}
|
|
809
860
|
|
|
810
861
|
/**
|
|
862
|
+
* Returns the depth of the module.
|
|
811
863
|
* @param {Module} module the module
|
|
812
864
|
* @returns {number | null} the depth of the module
|
|
813
865
|
*/
|
|
@@ -817,6 +869,7 @@ class ModuleGraph {
|
|
|
817
869
|
}
|
|
818
870
|
|
|
819
871
|
/**
|
|
872
|
+
* Updates depth using the provided module.
|
|
820
873
|
* @param {Module} module the module
|
|
821
874
|
* @param {number} depth the depth of the module
|
|
822
875
|
* @returns {void}
|
|
@@ -827,6 +880,7 @@ class ModuleGraph {
|
|
|
827
880
|
}
|
|
828
881
|
|
|
829
882
|
/**
|
|
883
|
+
* Sets depth if lower.
|
|
830
884
|
* @param {Module} module the module
|
|
831
885
|
* @param {number} depth the depth of the module
|
|
832
886
|
* @returns {boolean} true, if the depth was set
|
|
@@ -841,6 +895,7 @@ class ModuleGraph {
|
|
|
841
895
|
}
|
|
842
896
|
|
|
843
897
|
/**
|
|
898
|
+
* Checks whether this module graph is async.
|
|
844
899
|
* @param {Module} module the module
|
|
845
900
|
* @returns {boolean} true, if the module is async
|
|
846
901
|
*/
|
|
@@ -850,6 +905,7 @@ class ModuleGraph {
|
|
|
850
905
|
}
|
|
851
906
|
|
|
852
907
|
/**
|
|
908
|
+
* Checks whether this module graph is deferred.
|
|
853
909
|
* @param {Module} module the module
|
|
854
910
|
* @returns {boolean} true, if the module is used as a deferred module at least once
|
|
855
911
|
*/
|
|
@@ -869,6 +925,7 @@ class ModuleGraph {
|
|
|
869
925
|
}
|
|
870
926
|
|
|
871
927
|
/**
|
|
928
|
+
* Updates async using the provided module.
|
|
872
929
|
* @param {Module} module the module
|
|
873
930
|
* @returns {void}
|
|
874
931
|
*/
|
|
@@ -878,6 +935,7 @@ class ModuleGraph {
|
|
|
878
935
|
}
|
|
879
936
|
|
|
880
937
|
/**
|
|
938
|
+
* Returns metadata.
|
|
881
939
|
* @param {MetaKey} thing any thing
|
|
882
940
|
* @returns {Meta} metadata
|
|
883
941
|
*/
|
|
@@ -891,6 +949,7 @@ class ModuleGraph {
|
|
|
891
949
|
}
|
|
892
950
|
|
|
893
951
|
/**
|
|
952
|
+
* Gets meta if existing.
|
|
894
953
|
* @param {MetaKey} thing any thing
|
|
895
954
|
* @returns {Meta | undefined} metadata
|
|
896
955
|
*/
|
|
@@ -899,6 +958,7 @@ class ModuleGraph {
|
|
|
899
958
|
}
|
|
900
959
|
|
|
901
960
|
/**
|
|
961
|
+
* Processes the provided cache stage.
|
|
902
962
|
* @param {string=} cacheStage a persistent stage name for caching
|
|
903
963
|
*/
|
|
904
964
|
freeze(cacheStage) {
|
|
@@ -912,6 +972,7 @@ class ModuleGraph {
|
|
|
912
972
|
}
|
|
913
973
|
|
|
914
974
|
/**
|
|
975
|
+
* Returns computed value or cached.
|
|
915
976
|
* @template {EXPECTED_ANY[]} T
|
|
916
977
|
* @template R
|
|
917
978
|
* @param {(moduleGraph: ModuleGraph, ...args: T) => R} fn computer
|
|
@@ -920,10 +981,11 @@ class ModuleGraph {
|
|
|
920
981
|
*/
|
|
921
982
|
cached(fn, ...args) {
|
|
922
983
|
if (this._cache === undefined) return fn(this, ...args);
|
|
923
|
-
return this._cache.
|
|
984
|
+
return this._cache.cachedProvide(fn, this, args);
|
|
924
985
|
}
|
|
925
986
|
|
|
926
987
|
/**
|
|
988
|
+
* Sets module mem caches.
|
|
927
989
|
* @param {ModuleMemCaches} moduleMemCaches mem caches for modules for better caching
|
|
928
990
|
*/
|
|
929
991
|
setModuleMemCaches(moduleMemCaches) {
|
|
@@ -931,6 +993,7 @@ class ModuleGraph {
|
|
|
931
993
|
}
|
|
932
994
|
|
|
933
995
|
/**
|
|
996
|
+
* Dependency cache provide.
|
|
934
997
|
* @template {Dependency} D
|
|
935
998
|
* @template {EXPECTED_ANY[]} ARGS
|
|
936
999
|
* @template R
|
|
@@ -961,6 +1024,7 @@ class ModuleGraph {
|
|
|
961
1024
|
|
|
962
1025
|
// TODO remove in webpack 6
|
|
963
1026
|
/**
|
|
1027
|
+
* Gets module graph for module.
|
|
964
1028
|
* @deprecated
|
|
965
1029
|
* @param {Module} module the module
|
|
966
1030
|
* @param {string} deprecateMessage message for the deprecation message
|
|
@@ -972,6 +1036,7 @@ class ModuleGraph {
|
|
|
972
1036
|
if (fn) return fn(module);
|
|
973
1037
|
const newFn = util.deprecate(
|
|
974
1038
|
/**
|
|
1039
|
+
* Handles the callback logic for this hook.
|
|
975
1040
|
* @param {Module} module the module
|
|
976
1041
|
* @returns {ModuleGraph} the module graph
|
|
977
1042
|
*/
|
|
@@ -995,6 +1060,7 @@ class ModuleGraph {
|
|
|
995
1060
|
|
|
996
1061
|
// TODO remove in webpack 6
|
|
997
1062
|
/**
|
|
1063
|
+
* Sets module graph for module.
|
|
998
1064
|
* @deprecated
|
|
999
1065
|
* @param {Module} module the module
|
|
1000
1066
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
@@ -1006,6 +1072,7 @@ class ModuleGraph {
|
|
|
1006
1072
|
|
|
1007
1073
|
// TODO remove in webpack 6
|
|
1008
1074
|
/**
|
|
1075
|
+
* Clear module graph for module.
|
|
1009
1076
|
* @deprecated
|
|
1010
1077
|
* @param {Module} module the module
|
|
1011
1078
|
* @returns {void}
|
|
@@ -23,6 +23,7 @@ const CIRCULAR_CONNECTION = Symbol("circular connection");
|
|
|
23
23
|
/** @typedef {boolean | typeof TRANSITIVE_ONLY | typeof CIRCULAR_CONNECTION} ConnectionState */
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
+
* Adds connection states.
|
|
26
27
|
* @param {ConnectionState} a first
|
|
27
28
|
* @param {ConnectionState} b second
|
|
28
29
|
* @returns {ConnectionState} merged
|
|
@@ -37,6 +38,7 @@ const addConnectionStates = (a, b) => {
|
|
|
37
38
|
};
|
|
38
39
|
|
|
39
40
|
/**
|
|
41
|
+
* Intersect connection states.
|
|
40
42
|
* @param {ConnectionState} a first
|
|
41
43
|
* @param {ConnectionState} b second
|
|
42
44
|
* @returns {ConnectionState} intersected
|
|
@@ -52,6 +54,7 @@ const intersectConnectionStates = (a, b) => {
|
|
|
52
54
|
|
|
53
55
|
class ModuleGraphConnection {
|
|
54
56
|
/**
|
|
57
|
+
* Creates an instance of ModuleGraphConnection.
|
|
55
58
|
* @param {Module | null} originModule the referencing module
|
|
56
59
|
* @param {Dependency | null} dependency the referencing dependency
|
|
57
60
|
* @param {Module} module the referenced module
|
|
@@ -111,6 +114,7 @@ class ModuleGraphConnection {
|
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
/**
|
|
117
|
+
* Adds the provided condition to the module graph connection.
|
|
114
118
|
* @param {GetConditionFn} condition condition for the connection
|
|
115
119
|
* @returns {void}
|
|
116
120
|
*/
|
|
@@ -129,6 +133,7 @@ class ModuleGraphConnection {
|
|
|
129
133
|
}
|
|
130
134
|
|
|
131
135
|
/**
|
|
136
|
+
* Adds the provided explanation to the module graph connection.
|
|
132
137
|
* @param {string} explanation the explanation to add
|
|
133
138
|
* @returns {void}
|
|
134
139
|
*/
|
|
@@ -145,6 +150,7 @@ class ModuleGraphConnection {
|
|
|
145
150
|
}
|
|
146
151
|
|
|
147
152
|
/**
|
|
153
|
+
* Checks whether this module graph connection is active.
|
|
148
154
|
* @param {RuntimeSpec} runtime the runtime
|
|
149
155
|
* @returns {boolean} true, if the connection is active
|
|
150
156
|
*/
|
|
@@ -157,6 +163,7 @@ class ModuleGraphConnection {
|
|
|
157
163
|
}
|
|
158
164
|
|
|
159
165
|
/**
|
|
166
|
+
* Checks whether this module graph connection is target active.
|
|
160
167
|
* @param {RuntimeSpec} runtime the runtime
|
|
161
168
|
* @returns {boolean} true, if the connection is active
|
|
162
169
|
*/
|
|
@@ -168,6 +175,7 @@ class ModuleGraphConnection {
|
|
|
168
175
|
}
|
|
169
176
|
|
|
170
177
|
/**
|
|
178
|
+
* Returns true: fully active, false: inactive, TRANSITIVE: direct module inactive, but transitive connection maybe active.
|
|
171
179
|
* @param {RuntimeSpec} runtime the runtime
|
|
172
180
|
* @returns {ConnectionState} true: fully active, false: inactive, TRANSITIVE: direct module inactive, but transitive connection maybe active
|
|
173
181
|
*/
|
|
@@ -177,6 +185,7 @@ class ModuleGraphConnection {
|
|
|
177
185
|
}
|
|
178
186
|
|
|
179
187
|
/**
|
|
188
|
+
* Updates active using the provided value.
|
|
180
189
|
* @param {boolean} value active or not
|
|
181
190
|
* @returns {void}
|
|
182
191
|
*/
|