@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/Module.js
CHANGED
|
@@ -33,11 +33,9 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
33
33
|
/** @typedef {import("./ConcatenationScope")} ConcatenationScope */
|
|
34
34
|
/** @typedef {import("./Dependency")} Dependency */
|
|
35
35
|
/** @typedef {import("./Dependency").UpdateHashContext} UpdateHashContext */
|
|
36
|
-
/** @typedef {import("./DependencyTemplate").CssData} CssData */
|
|
37
36
|
/** @typedef {import("./DependencyTemplates")} DependencyTemplates */
|
|
38
37
|
/** @typedef {import("./ModuleSourceTypeConstants").AllTypes} AllTypes */
|
|
39
38
|
/** @typedef {import("./FileSystemInfo")} FileSystemInfo */
|
|
40
|
-
/** @typedef {import("./FileSystemInfo").Snapshot} Snapshot */
|
|
41
39
|
/** @typedef {import("./ModuleGraphConnection").ConnectionState} ConnectionState */
|
|
42
40
|
/** @typedef {import("./ModuleTypeConstants").ModuleTypes} ModuleTypes */
|
|
43
41
|
/** @typedef {import("./ModuleGraph").OptimizationBailouts} OptimizationBailouts */
|
|
@@ -47,11 +45,11 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
47
45
|
/** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
|
48
46
|
/** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
|
|
49
47
|
/**
|
|
48
|
+
* Defines the init fragment type used by this module.
|
|
50
49
|
* @template T
|
|
51
50
|
* @typedef {import("./InitFragment")<T>} InitFragment
|
|
52
51
|
*/
|
|
53
|
-
/** @typedef {import("./WebpackError")} WebpackError */
|
|
54
|
-
/** @typedef {import("./json/JsonData")} JsonData */
|
|
52
|
+
/** @typedef {import("./errors/WebpackError")} WebpackError */
|
|
55
53
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
56
54
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
57
55
|
/** @typedef {import("./util/Hash")} Hash */
|
|
@@ -65,11 +63,13 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
65
63
|
/** @typedef {"namespace" | "default-only" | "default-with-named" | "dynamic"} ExportsType */
|
|
66
64
|
|
|
67
65
|
/**
|
|
66
|
+
* Defines the shared type used by this module.
|
|
68
67
|
* @template T
|
|
69
68
|
* @typedef {import("./util/LazySet")<T>} LazySet<T>
|
|
70
69
|
*/
|
|
71
70
|
|
|
72
71
|
/**
|
|
72
|
+
* Defines the source context type used by this module.
|
|
73
73
|
* @typedef {object} SourceContext
|
|
74
74
|
* @property {DependencyTemplates} dependencyTemplates the dependency templates
|
|
75
75
|
* @property {RuntimeTemplate} runtimeTemplate the runtime template
|
|
@@ -87,6 +87,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
87
87
|
|
|
88
88
|
// TODO webpack 6: compilation will be required in CodeGenerationContext
|
|
89
89
|
/**
|
|
90
|
+
* Defines the code generation context type used by this module.
|
|
90
91
|
* @typedef {object} CodeGenerationContext
|
|
91
92
|
* @property {DependencyTemplates} dependencyTemplates the dependency templates
|
|
92
93
|
* @property {RuntimeTemplate} runtimeTemplate the runtime template
|
|
@@ -101,19 +102,23 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
101
102
|
*/
|
|
102
103
|
|
|
103
104
|
/**
|
|
105
|
+
* Defines the concatenation bailout reason context type used by this module.
|
|
104
106
|
* @typedef {object} ConcatenationBailoutReasonContext
|
|
105
107
|
* @property {ModuleGraph} moduleGraph the module graph
|
|
106
108
|
* @property {ChunkGraph} chunkGraph the chunk graph
|
|
109
|
+
* @property {boolean=} concatenateCommonJsModules whether eligible CommonJS modules may be concatenated
|
|
107
110
|
*/
|
|
108
111
|
|
|
109
112
|
/** @typedef {Set<string>} RuntimeRequirements */
|
|
110
113
|
/** @typedef {ReadonlySet<string>} ReadOnlyRuntimeRequirements */
|
|
111
114
|
|
|
112
115
|
/**
|
|
116
|
+
* Defines the all code generation schemas type used by this module.
|
|
113
117
|
* @typedef {object} AllCodeGenerationSchemas
|
|
114
118
|
* @property {Set<string>} topLevelDeclarations top level declarations for javascript modules
|
|
119
|
+
* @property {Set<string>} freeNames free identifier names in the rendered source for javascript modules
|
|
115
120
|
* @property {InitFragment<EXPECTED_ANY>[]} chunkInitFragments chunk init fragments for javascript modules
|
|
116
|
-
* @property {{ javascript?: string, ["
|
|
121
|
+
* @property {{ javascript?: string, ["asset-url"]?: string }} url url for asset modules
|
|
117
122
|
* @property {string} filename a filename for asset modules
|
|
118
123
|
* @property {AssetInfo} assetInfo an asset info for asset modules
|
|
119
124
|
* @property {string} fullContentHash a full content hash for asset modules
|
|
@@ -121,11 +126,13 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
121
126
|
*/
|
|
122
127
|
|
|
123
128
|
/**
|
|
129
|
+
* Defines the code gen value type used by this module.
|
|
124
130
|
* @template {string} K
|
|
125
|
-
* @typedef {K extends keyof AllCodeGenerationSchemas ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
|
|
131
|
+
* @typedef {K extends (keyof AllCodeGenerationSchemas) ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
|
|
126
132
|
*/
|
|
127
133
|
|
|
128
134
|
/**
|
|
135
|
+
* Defines the code gen map overloads type used by this module.
|
|
129
136
|
* @typedef {object} CodeGenMapOverloads
|
|
130
137
|
* @property {<K extends string>(key: K) => CodeGenValue<K> | undefined} get
|
|
131
138
|
* @property {<K extends string>(key: K, value: CodeGenValue<K>) => CodeGenerationResultData} set
|
|
@@ -134,12 +141,14 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
134
141
|
*/
|
|
135
142
|
|
|
136
143
|
/**
|
|
144
|
+
* Defines the code generation result data type used by this module.
|
|
137
145
|
* @typedef {Omit<Map<string, EXPECTED_ANY>, "get" | "set" | "has" | "delete"> & CodeGenMapOverloads} CodeGenerationResultData
|
|
138
146
|
*/
|
|
139
147
|
|
|
140
148
|
/** @typedef {Map<SourceType, Source>} Sources */
|
|
141
149
|
|
|
142
150
|
/**
|
|
151
|
+
* Defines the code generation result type used by this module.
|
|
143
152
|
* @typedef {object} CodeGenerationResult
|
|
144
153
|
* @property {Sources} sources the resulting sources for all source types
|
|
145
154
|
* @property {CodeGenerationResultData=} data the resulting data for all source types
|
|
@@ -148,59 +157,45 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
148
157
|
*/
|
|
149
158
|
|
|
150
159
|
/**
|
|
160
|
+
* Defines the lib ident options type used by this module.
|
|
151
161
|
* @typedef {object} LibIdentOptions
|
|
152
162
|
* @property {string} context absolute context path to which lib ident is relative to
|
|
153
163
|
* @property {AssociatedObjectForCache=} associatedObjectForCache object for caching
|
|
154
164
|
*/
|
|
155
165
|
|
|
156
166
|
/**
|
|
167
|
+
* Defines the build meta properties common to all module types.
|
|
168
|
+
* Module type specific properties live in the `Known*BuildMeta` typedef of the dedicated module class.
|
|
157
169
|
* @typedef {object} KnownBuildMeta
|
|
158
170
|
* @property {("default" | "namespace" | "flagged" | "dynamic")=} exportsType
|
|
159
171
|
* @property {(false | "redirect" | "redirect-warn")=} defaultObject
|
|
160
|
-
* @property {boolean=} strictHarmonyModule
|
|
161
|
-
* @property {boolean=} treatAsCommonJs
|
|
162
172
|
* @property {boolean=} async
|
|
163
173
|
* @property {boolean=} sideEffectFree
|
|
164
|
-
* @property {
|
|
165
|
-
* @property {
|
|
166
|
-
* @property {Map<string, Record<string, string>>=} exportsFinalNameByRuntime
|
|
167
|
-
* @property {Map<string, string>=} exportsSourceByRuntime
|
|
174
|
+
* @property {Map<string, Record<string, string>>=} exportsFinalNameByRuntime using in ModuleLibraryPlugin
|
|
175
|
+
* @property {Map<string, string>=} exportsSourceByRuntime using in ModuleLibraryPlugin
|
|
168
176
|
*/
|
|
169
177
|
|
|
170
178
|
/**
|
|
179
|
+
* Defines the build info properties common to all module types.
|
|
180
|
+
* Module type specific properties live in the `Known*BuildInfo` typedef of the dedicated module class.
|
|
171
181
|
* @typedef {object} KnownBuildInfo
|
|
172
182
|
* @property {boolean=} cacheable
|
|
173
|
-
* @property {
|
|
183
|
+
* @property {string[]=} notCacheableReasons reasons why the module is not cacheable (e.g. paths of loaders that marked it)
|
|
174
184
|
* @property {boolean=} strict
|
|
175
|
-
* @property {string=} moduleArgument
|
|
176
|
-
* @property {string=} exportsArgument
|
|
177
|
-
* @property {string
|
|
178
|
-
* @property {
|
|
179
|
-
* @property {string=} resourceIntegrity using in HttpUriPlugin
|
|
180
|
-
* @property {FileSystemDependencies=} fileDependencies using in NormalModule
|
|
181
|
-
* @property {FileSystemDependencies=} contextDependencies using in NormalModule
|
|
182
|
-
* @property {FileSystemDependencies=} missingDependencies using in NormalModule
|
|
183
|
-
* @property {FileSystemDependencies=} buildDependencies using in NormalModule
|
|
184
|
-
* @property {ValueCacheVersions=} valueDependencies using in NormalModule
|
|
185
|
-
* @property {Record<string, Source>=} assets using in NormalModule
|
|
186
|
-
* @property {Map<string, AssetInfo | undefined>=} assetsInfo using in NormalModule
|
|
187
|
-
* @property {string=} hash using in NormalModule
|
|
188
|
-
* @property {(Snapshot | null)=} snapshot using in ContextModule
|
|
189
|
-
* @property {string=} fullContentHash for assets modules
|
|
190
|
-
* @property {string=} filename for assets modules
|
|
191
|
-
* @property {boolean=} dataUrl for assets modules
|
|
192
|
-
* @property {AssetInfo=} assetInfo for assets modules
|
|
193
|
-
* @property {boolean=} javascriptModule for external modules
|
|
194
|
-
* @property {boolean=} active for lazy compilation modules
|
|
195
|
-
* @property {CssData=} cssData for css modules
|
|
196
|
-
* @property {JsonData=} jsonData for json modules
|
|
185
|
+
* @property {string=} moduleArgument
|
|
186
|
+
* @property {string=} exportsArgument
|
|
187
|
+
* @property {Record<string, Source>=} assets assets added by loaders or plugins
|
|
188
|
+
* @property {Map<string, AssetInfo | undefined>=} assetsInfo
|
|
197
189
|
* @property {Set<string>=} topLevelDeclarations top level declaration names
|
|
190
|
+
* @property {boolean=} isCircular true when the module is part of a circular dependency chain
|
|
191
|
+
* @property {boolean=} usesTopLevelAwaitForOf module uses top-level `for await…of`, which can't be lowered to a generator
|
|
198
192
|
*/
|
|
199
193
|
|
|
200
194
|
/** @typedef {string | Set<string>} ValueCacheVersion */
|
|
201
195
|
/** @typedef {Map<string, ValueCacheVersion>} ValueCacheVersions */
|
|
202
196
|
|
|
203
197
|
/**
|
|
198
|
+
* Defines the need build context type used by this module.
|
|
204
199
|
* @typedef {object} NeedBuildContext
|
|
205
200
|
* @property {Compilation} compilation
|
|
206
201
|
* @property {FileSystemInfo} fileSystemInfo
|
|
@@ -215,6 +210,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
215
210
|
/** @typedef {KnownBuildInfo & Record<string, EXPECTED_ANY>} BuildInfo */
|
|
216
211
|
|
|
217
212
|
/**
|
|
213
|
+
* Defines the factory meta type used by this module.
|
|
218
214
|
* @typedef {object} FactoryMeta
|
|
219
215
|
* @property {boolean=} sideEffectFree
|
|
220
216
|
*/
|
|
@@ -228,6 +224,7 @@ const DEFAULT_TYPES_UNKNOWN = new Set([UNKNOWN_TYPE]);
|
|
|
228
224
|
|
|
229
225
|
const deprecatedNeedRebuild = util.deprecate(
|
|
230
226
|
/**
|
|
227
|
+
* Handles the callback logic for this hook.
|
|
231
228
|
* @param {Module} module the module
|
|
232
229
|
* @param {NeedBuildContext} context context info
|
|
233
230
|
* @returns {boolean} true, when rebuild is needed
|
|
@@ -248,6 +245,7 @@ const deprecatedNeedRebuild = util.deprecate(
|
|
|
248
245
|
|
|
249
246
|
class Module extends DependenciesBlock {
|
|
250
247
|
/**
|
|
248
|
+
* Creates an instance of Module.
|
|
251
249
|
* @param {ModuleTypes | ""} type the module type, when deserializing the type is not known and is an empty string
|
|
252
250
|
* @param {(string | null)=} context an optional context
|
|
253
251
|
* @param {(string | null)=} layer an optional layer in which the module is
|
|
@@ -280,15 +278,12 @@ class Module extends DependenciesBlock {
|
|
|
280
278
|
/** @type {boolean} */
|
|
281
279
|
this.useSimpleSourceMap = false;
|
|
282
280
|
|
|
283
|
-
// Is in hot context, i.e. HotModuleReplacementPlugin.js enabled
|
|
284
|
-
// TODO do we need hot here?
|
|
285
|
-
/** @type {boolean} */
|
|
286
|
-
this.hot = false;
|
|
287
281
|
// Info from Build
|
|
288
|
-
/** @type {
|
|
282
|
+
/** @type {Error[] | undefined} */
|
|
289
283
|
this._warnings = undefined;
|
|
290
|
-
/** @type {
|
|
284
|
+
/** @type {Error[] | undefined} */
|
|
291
285
|
this._errors = undefined;
|
|
286
|
+
// Subclasses with type specific build info/meta redeclare these with a narrowed type
|
|
292
287
|
/** @type {BuildMeta | undefined} */
|
|
293
288
|
this.buildMeta = undefined;
|
|
294
289
|
/** @type {BuildInfo | undefined} */
|
|
@@ -302,6 +297,7 @@ class Module extends DependenciesBlock {
|
|
|
302
297
|
// TODO remove in webpack 6
|
|
303
298
|
// BACKWARD-COMPAT START
|
|
304
299
|
/**
|
|
300
|
+
* Returns the module id assigned by the chunk graph.
|
|
305
301
|
* @deprecated
|
|
306
302
|
* @returns {ModuleId | null} module id
|
|
307
303
|
*/
|
|
@@ -314,6 +310,7 @@ class Module extends DependenciesBlock {
|
|
|
314
310
|
}
|
|
315
311
|
|
|
316
312
|
/**
|
|
313
|
+
* Updates the module id using the provided value.
|
|
317
314
|
* @deprecated
|
|
318
315
|
* @param {ModuleId} value value
|
|
319
316
|
*/
|
|
@@ -330,6 +327,7 @@ class Module extends DependenciesBlock {
|
|
|
330
327
|
}
|
|
331
328
|
|
|
332
329
|
/**
|
|
330
|
+
* Returns the hash of the module.
|
|
333
331
|
* @deprecated
|
|
334
332
|
* @returns {string} the hash of the module
|
|
335
333
|
*/
|
|
@@ -342,6 +340,7 @@ class Module extends DependenciesBlock {
|
|
|
342
340
|
}
|
|
343
341
|
|
|
344
342
|
/**
|
|
343
|
+
* Returns the rendered hash of the module.
|
|
345
344
|
* @deprecated
|
|
346
345
|
* @returns {string} the shortened hash of the module
|
|
347
346
|
*/
|
|
@@ -378,6 +377,7 @@ class Module extends DependenciesBlock {
|
|
|
378
377
|
}
|
|
379
378
|
|
|
380
379
|
/**
|
|
380
|
+
* Returns the pre-order index.
|
|
381
381
|
* @deprecated
|
|
382
382
|
* @returns {number | null} the pre order index
|
|
383
383
|
*/
|
|
@@ -390,6 +390,7 @@ class Module extends DependenciesBlock {
|
|
|
390
390
|
}
|
|
391
391
|
|
|
392
392
|
/**
|
|
393
|
+
* Updates the pre-order index using the provided value.
|
|
393
394
|
* @deprecated
|
|
394
395
|
* @param {number} value the pre order index
|
|
395
396
|
*/
|
|
@@ -402,6 +403,7 @@ class Module extends DependenciesBlock {
|
|
|
402
403
|
}
|
|
403
404
|
|
|
404
405
|
/**
|
|
406
|
+
* Returns the post-order index.
|
|
405
407
|
* @deprecated
|
|
406
408
|
* @returns {number | null} the post order index
|
|
407
409
|
*/
|
|
@@ -414,6 +416,7 @@ class Module extends DependenciesBlock {
|
|
|
414
416
|
}
|
|
415
417
|
|
|
416
418
|
/**
|
|
419
|
+
* Updates the post-order index using the provided value.
|
|
417
420
|
* @deprecated
|
|
418
421
|
* @param {number} value the post order index
|
|
419
422
|
*/
|
|
@@ -426,6 +429,7 @@ class Module extends DependenciesBlock {
|
|
|
426
429
|
}
|
|
427
430
|
|
|
428
431
|
/**
|
|
432
|
+
* Returns the depth.
|
|
429
433
|
* @deprecated
|
|
430
434
|
* @returns {number | null} the depth
|
|
431
435
|
*/
|
|
@@ -438,6 +442,7 @@ class Module extends DependenciesBlock {
|
|
|
438
442
|
}
|
|
439
443
|
|
|
440
444
|
/**
|
|
445
|
+
* Updates the depth using the provided value.
|
|
441
446
|
* @deprecated
|
|
442
447
|
* @param {number} value the depth
|
|
443
448
|
*/
|
|
@@ -450,6 +455,7 @@ class Module extends DependenciesBlock {
|
|
|
450
455
|
}
|
|
451
456
|
|
|
452
457
|
/**
|
|
458
|
+
* Returns the issuer.
|
|
453
459
|
* @deprecated
|
|
454
460
|
* @returns {Module | null | undefined} issuer
|
|
455
461
|
*/
|
|
@@ -462,6 +468,7 @@ class Module extends DependenciesBlock {
|
|
|
462
468
|
}
|
|
463
469
|
|
|
464
470
|
/**
|
|
471
|
+
* Updates the issuer using the provided value.
|
|
465
472
|
* @deprecated
|
|
466
473
|
* @param {Module | null} value issuer
|
|
467
474
|
*/
|
|
@@ -486,6 +493,7 @@ class Module extends DependenciesBlock {
|
|
|
486
493
|
}
|
|
487
494
|
|
|
488
495
|
/**
|
|
496
|
+
* Gets optimization bailout.
|
|
489
497
|
* @deprecated
|
|
490
498
|
* @returns {OptimizationBailouts} list
|
|
491
499
|
*/
|
|
@@ -512,6 +520,7 @@ class Module extends DependenciesBlock {
|
|
|
512
520
|
}
|
|
513
521
|
|
|
514
522
|
/**
|
|
523
|
+
* Adds the provided chunk to the module.
|
|
515
524
|
* @deprecated
|
|
516
525
|
* @param {Chunk} chunk the chunk
|
|
517
526
|
* @returns {boolean} true, when the module was added
|
|
@@ -528,6 +537,7 @@ class Module extends DependenciesBlock {
|
|
|
528
537
|
}
|
|
529
538
|
|
|
530
539
|
/**
|
|
540
|
+
* Removes the provided chunk from the module.
|
|
531
541
|
* @deprecated
|
|
532
542
|
* @param {Chunk} chunk the chunk
|
|
533
543
|
* @returns {void}
|
|
@@ -541,6 +551,7 @@ class Module extends DependenciesBlock {
|
|
|
541
551
|
}
|
|
542
552
|
|
|
543
553
|
/**
|
|
554
|
+
* Checks whether this module is in the provided chunk.
|
|
544
555
|
* @deprecated
|
|
545
556
|
* @param {Chunk} chunk the chunk
|
|
546
557
|
* @returns {boolean} true, when the module is in the chunk
|
|
@@ -602,6 +613,7 @@ class Module extends DependenciesBlock {
|
|
|
602
613
|
}
|
|
603
614
|
|
|
604
615
|
/**
|
|
616
|
+
* Checks whether this module provides the specified export.
|
|
605
617
|
* @deprecated
|
|
606
618
|
* @param {string} exportName a name of an export
|
|
607
619
|
* @returns {boolean | null} true, if the export is provided why the module.
|
|
@@ -618,6 +630,7 @@ class Module extends DependenciesBlock {
|
|
|
618
630
|
// BACKWARD-COMPAT END
|
|
619
631
|
|
|
620
632
|
/**
|
|
633
|
+
* Gets exports argument.
|
|
621
634
|
* @returns {string} name of the exports argument
|
|
622
635
|
*/
|
|
623
636
|
get exportsArgument() {
|
|
@@ -625,6 +638,7 @@ class Module extends DependenciesBlock {
|
|
|
625
638
|
}
|
|
626
639
|
|
|
627
640
|
/**
|
|
641
|
+
* Gets module argument.
|
|
628
642
|
* @returns {string} name of the module argument
|
|
629
643
|
*/
|
|
630
644
|
get moduleArgument() {
|
|
@@ -632,6 +646,7 @@ class Module extends DependenciesBlock {
|
|
|
632
646
|
}
|
|
633
647
|
|
|
634
648
|
/**
|
|
649
|
+
* Returns export type.
|
|
635
650
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
636
651
|
* @param {boolean | undefined} strict the importing module is strict
|
|
637
652
|
* @returns {ExportsType} export type
|
|
@@ -702,6 +717,7 @@ class Module extends DependenciesBlock {
|
|
|
702
717
|
}
|
|
703
718
|
|
|
704
719
|
/**
|
|
720
|
+
* Adds presentational dependency.
|
|
705
721
|
* @param {Dependency} presentationalDependency dependency being tied to module.
|
|
706
722
|
* This is a Dependency without edge in the module graph. It's only for presentation.
|
|
707
723
|
* @returns {void}
|
|
@@ -714,6 +730,7 @@ class Module extends DependenciesBlock {
|
|
|
714
730
|
}
|
|
715
731
|
|
|
716
732
|
/**
|
|
733
|
+
* Adds code generation dependency.
|
|
717
734
|
* @param {Dependency} codeGenerationDependency dependency being tied to module.
|
|
718
735
|
* This is a Dependency where the code generation result of the referenced module is needed during code generation.
|
|
719
736
|
* The Dependency should also be added to normal dependencies via addDependency.
|
|
@@ -727,7 +744,7 @@ class Module extends DependenciesBlock {
|
|
|
727
744
|
}
|
|
728
745
|
|
|
729
746
|
/**
|
|
730
|
-
*
|
|
747
|
+
* Clear dependencies and blocks.
|
|
731
748
|
* @returns {void}
|
|
732
749
|
*/
|
|
733
750
|
clearDependenciesAndBlocks() {
|
|
@@ -741,7 +758,8 @@ class Module extends DependenciesBlock {
|
|
|
741
758
|
}
|
|
742
759
|
|
|
743
760
|
/**
|
|
744
|
-
*
|
|
761
|
+
* Adds the provided warning to the module.
|
|
762
|
+
* @param {Error} warning the warning
|
|
745
763
|
* @returns {void}
|
|
746
764
|
*/
|
|
747
765
|
addWarning(warning) {
|
|
@@ -752,13 +770,15 @@ class Module extends DependenciesBlock {
|
|
|
752
770
|
}
|
|
753
771
|
|
|
754
772
|
/**
|
|
755
|
-
*
|
|
773
|
+
* Returns list of warnings if any.
|
|
774
|
+
* @returns {Error[] | undefined} list of warnings if any
|
|
756
775
|
*/
|
|
757
776
|
getWarnings() {
|
|
758
777
|
return this._warnings;
|
|
759
778
|
}
|
|
760
779
|
|
|
761
780
|
/**
|
|
781
|
+
* Gets number of warnings.
|
|
762
782
|
* @returns {number} number of warnings
|
|
763
783
|
*/
|
|
764
784
|
getNumberOfWarnings() {
|
|
@@ -766,7 +786,8 @@ class Module extends DependenciesBlock {
|
|
|
766
786
|
}
|
|
767
787
|
|
|
768
788
|
/**
|
|
769
|
-
*
|
|
789
|
+
* Adds the provided error to the module.
|
|
790
|
+
* @param {Error} error the error
|
|
770
791
|
* @returns {void}
|
|
771
792
|
*/
|
|
772
793
|
addError(error) {
|
|
@@ -777,13 +798,15 @@ class Module extends DependenciesBlock {
|
|
|
777
798
|
}
|
|
778
799
|
|
|
779
800
|
/**
|
|
780
|
-
*
|
|
801
|
+
* Returns list of errors if any.
|
|
802
|
+
* @returns {Error[] | undefined} list of errors if any
|
|
781
803
|
*/
|
|
782
804
|
getErrors() {
|
|
783
805
|
return this._errors;
|
|
784
806
|
}
|
|
785
807
|
|
|
786
808
|
/**
|
|
809
|
+
* Gets number of errors.
|
|
787
810
|
* @returns {number} number of errors
|
|
788
811
|
*/
|
|
789
812
|
getNumberOfErrors() {
|
|
@@ -804,6 +827,7 @@ class Module extends DependenciesBlock {
|
|
|
804
827
|
}
|
|
805
828
|
|
|
806
829
|
/**
|
|
830
|
+
* Checks whether this module is optional.
|
|
807
831
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
808
832
|
* @returns {boolean} true, if the module is optional
|
|
809
833
|
*/
|
|
@@ -823,6 +847,7 @@ class Module extends DependenciesBlock {
|
|
|
823
847
|
}
|
|
824
848
|
|
|
825
849
|
/**
|
|
850
|
+
* Checks whether this module is accessible in chunk.
|
|
826
851
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
827
852
|
* @param {Chunk} chunk a chunk
|
|
828
853
|
* @param {Chunk=} ignoreChunk chunk to be ignored
|
|
@@ -837,6 +862,7 @@ class Module extends DependenciesBlock {
|
|
|
837
862
|
}
|
|
838
863
|
|
|
839
864
|
/**
|
|
865
|
+
* Checks whether this module is accessible in chunk group.
|
|
840
866
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
841
867
|
* @param {ChunkGroup} chunkGroup a chunk group
|
|
842
868
|
* @param {Chunk=} ignoreChunk chunk to be ignored
|
|
@@ -864,6 +890,7 @@ class Module extends DependenciesBlock {
|
|
|
864
890
|
}
|
|
865
891
|
|
|
866
892
|
/**
|
|
893
|
+
* Checks whether this module contains the chunk.
|
|
867
894
|
* @param {Chunk} chunk a chunk
|
|
868
895
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
869
896
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
@@ -889,6 +916,7 @@ class Module extends DependenciesBlock {
|
|
|
889
916
|
}
|
|
890
917
|
|
|
891
918
|
/**
|
|
919
|
+
* Checks whether this module contains the module graph.
|
|
892
920
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
893
921
|
* @param {RuntimeSpec} runtime the runtime
|
|
894
922
|
* @returns {boolean} true if at least one other module depends on this module
|
|
@@ -901,6 +929,7 @@ class Module extends DependenciesBlock {
|
|
|
901
929
|
}
|
|
902
930
|
|
|
903
931
|
/**
|
|
932
|
+
* Returns a string representation.
|
|
904
933
|
* @returns {string} for debugging
|
|
905
934
|
*/
|
|
906
935
|
toString() {
|
|
@@ -908,6 +937,7 @@ class Module extends DependenciesBlock {
|
|
|
908
937
|
}
|
|
909
938
|
|
|
910
939
|
/**
|
|
940
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
911
941
|
* @param {NeedBuildContext} context context info
|
|
912
942
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
913
943
|
* @returns {void}
|
|
@@ -922,6 +952,7 @@ class Module extends DependenciesBlock {
|
|
|
922
952
|
}
|
|
923
953
|
|
|
924
954
|
/**
|
|
955
|
+
* Checks whether it needs rebuild.
|
|
925
956
|
* @deprecated Use needBuild instead
|
|
926
957
|
* @param {Map<string, number | null>} fileTimestamps timestamps of files
|
|
927
958
|
* @param {Map<string, number | null>} contextTimestamps timestamps of directories
|
|
@@ -932,6 +963,7 @@ class Module extends DependenciesBlock {
|
|
|
932
963
|
}
|
|
933
964
|
|
|
934
965
|
/**
|
|
966
|
+
* Updates the hash with the data contributed by this instance.
|
|
935
967
|
* @param {Hash} hash the hash used to track dependencies
|
|
936
968
|
* @param {UpdateHashContext} context context
|
|
937
969
|
* @returns {void}
|
|
@@ -958,6 +990,7 @@ class Module extends DependenciesBlock {
|
|
|
958
990
|
}
|
|
959
991
|
|
|
960
992
|
/**
|
|
993
|
+
* Invalidates the cached state associated with this value.
|
|
961
994
|
* @returns {void}
|
|
962
995
|
*/
|
|
963
996
|
invalidateBuild() {
|
|
@@ -966,29 +999,32 @@ class Module extends DependenciesBlock {
|
|
|
966
999
|
|
|
967
1000
|
/* istanbul ignore next */
|
|
968
1001
|
/**
|
|
1002
|
+
* Returns the unique identifier used to reference this module.
|
|
969
1003
|
* @abstract
|
|
970
1004
|
* @returns {string} a unique identifier of the module
|
|
971
1005
|
*/
|
|
972
1006
|
identifier() {
|
|
973
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1007
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
974
1008
|
|
|
975
1009
|
throw new AbstractMethodError();
|
|
976
1010
|
}
|
|
977
1011
|
|
|
978
1012
|
/* istanbul ignore next */
|
|
979
1013
|
/**
|
|
1014
|
+
* Returns a human-readable identifier for this module.
|
|
980
1015
|
* @abstract
|
|
981
1016
|
* @param {RequestShortener} requestShortener the request shortener
|
|
982
1017
|
* @returns {string} a user readable identifier of the module
|
|
983
1018
|
*/
|
|
984
1019
|
readableIdentifier(requestShortener) {
|
|
985
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1020
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
986
1021
|
|
|
987
1022
|
throw new AbstractMethodError();
|
|
988
1023
|
}
|
|
989
1024
|
|
|
990
1025
|
/* istanbul ignore next */
|
|
991
1026
|
/**
|
|
1027
|
+
* Builds the module using the provided compilation context.
|
|
992
1028
|
* @abstract
|
|
993
1029
|
* @param {WebpackOptions} options webpack options
|
|
994
1030
|
* @param {Compilation} compilation the compilation
|
|
@@ -998,12 +1034,13 @@ class Module extends DependenciesBlock {
|
|
|
998
1034
|
* @returns {void}
|
|
999
1035
|
*/
|
|
1000
1036
|
build(options, compilation, resolver, fs, callback) {
|
|
1001
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1037
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
1002
1038
|
|
|
1003
1039
|
throw new AbstractMethodError();
|
|
1004
1040
|
}
|
|
1005
1041
|
|
|
1006
1042
|
/**
|
|
1043
|
+
* Returns the source types this module can generate.
|
|
1007
1044
|
* @abstract
|
|
1008
1045
|
* @returns {SourceTypes} types available (do not mutate)
|
|
1009
1046
|
*/
|
|
@@ -1015,6 +1052,14 @@ class Module extends DependenciesBlock {
|
|
|
1015
1052
|
return JAVASCRIPT_TYPES;
|
|
1016
1053
|
}
|
|
1017
1054
|
|
|
1055
|
+
/**
|
|
1056
|
+
* Freshly recomputed source types when they depend on incoming connections, for chunk-graph cache invalidation; undefined otherwise. #20800
|
|
1057
|
+
* @returns {SourceTypes | undefined} source types or undefined
|
|
1058
|
+
*/
|
|
1059
|
+
getReferencedSourceTypes() {
|
|
1060
|
+
return undefined;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1018
1063
|
/**
|
|
1019
1064
|
* Basic source types are high-level categories like javascript, css, webassembly, etc.
|
|
1020
1065
|
* We only have built-in knowledge about the javascript basic type here; other basic types may be
|
|
@@ -1029,6 +1074,7 @@ class Module extends DependenciesBlock {
|
|
|
1029
1074
|
}
|
|
1030
1075
|
|
|
1031
1076
|
/**
|
|
1077
|
+
* Returns generated source.
|
|
1032
1078
|
* @abstract
|
|
1033
1079
|
* @deprecated Use codeGeneration() instead
|
|
1034
1080
|
* @param {DependencyTemplates} dependencyTemplates the dependency templates
|
|
@@ -1038,7 +1084,7 @@ class Module extends DependenciesBlock {
|
|
|
1038
1084
|
*/
|
|
1039
1085
|
source(dependencyTemplates, runtimeTemplate, type = JAVASCRIPT_TYPE) {
|
|
1040
1086
|
if (this.codeGeneration === Module.prototype.codeGeneration) {
|
|
1041
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1087
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
1042
1088
|
|
|
1043
1089
|
throw new AbstractMethodError();
|
|
1044
1090
|
}
|
|
@@ -1068,17 +1114,19 @@ class Module extends DependenciesBlock {
|
|
|
1068
1114
|
|
|
1069
1115
|
/* istanbul ignore next */
|
|
1070
1116
|
/**
|
|
1117
|
+
* Returns the estimated size for the requested source type.
|
|
1071
1118
|
* @abstract
|
|
1072
1119
|
* @param {string=} type the source type for which the size should be estimated
|
|
1073
1120
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
1074
1121
|
*/
|
|
1075
1122
|
size(type) {
|
|
1076
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1123
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
1077
1124
|
|
|
1078
1125
|
throw new AbstractMethodError();
|
|
1079
1126
|
}
|
|
1080
1127
|
|
|
1081
1128
|
/**
|
|
1129
|
+
* Gets the library identifier.
|
|
1082
1130
|
* @param {LibIdentOptions} options options
|
|
1083
1131
|
* @returns {LibIdent | null} an identifier for library inclusion
|
|
1084
1132
|
*/
|
|
@@ -1087,6 +1135,7 @@ class Module extends DependenciesBlock {
|
|
|
1087
1135
|
}
|
|
1088
1136
|
|
|
1089
1137
|
/**
|
|
1138
|
+
* Returns the path used when matching this module against rule conditions.
|
|
1090
1139
|
* @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
|
|
1091
1140
|
*/
|
|
1092
1141
|
nameForCondition() {
|
|
@@ -1094,6 +1143,7 @@ class Module extends DependenciesBlock {
|
|
|
1094
1143
|
}
|
|
1095
1144
|
|
|
1096
1145
|
/**
|
|
1146
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
1097
1147
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
1098
1148
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
1099
1149
|
*/
|
|
@@ -1102,6 +1152,7 @@ class Module extends DependenciesBlock {
|
|
|
1102
1152
|
}
|
|
1103
1153
|
|
|
1104
1154
|
/**
|
|
1155
|
+
* Gets side effects connection state.
|
|
1105
1156
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
1106
1157
|
* @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
|
|
1107
1158
|
*/
|
|
@@ -1110,6 +1161,7 @@ class Module extends DependenciesBlock {
|
|
|
1110
1161
|
}
|
|
1111
1162
|
|
|
1112
1163
|
/**
|
|
1164
|
+
* Generates code and runtime requirements for this module.
|
|
1113
1165
|
* @param {CodeGenerationContext} context context for code generation
|
|
1114
1166
|
* @returns {CodeGenerationResult} result
|
|
1115
1167
|
*/
|
|
@@ -1140,6 +1192,7 @@ class Module extends DependenciesBlock {
|
|
|
1140
1192
|
}
|
|
1141
1193
|
|
|
1142
1194
|
/**
|
|
1195
|
+
* Returns true if the module can be placed in the chunk.
|
|
1143
1196
|
* @param {Chunk} chunk the chunk which condition should be checked
|
|
1144
1197
|
* @param {Compilation} compilation the compilation
|
|
1145
1198
|
* @returns {boolean} true if the module can be placed in the chunk
|
|
@@ -1198,6 +1251,7 @@ class Module extends DependenciesBlock {
|
|
|
1198
1251
|
}
|
|
1199
1252
|
|
|
1200
1253
|
/**
|
|
1254
|
+
* Gets the original source.
|
|
1201
1255
|
* @returns {Source | null} the original source for the module before webpack transformation
|
|
1202
1256
|
*/
|
|
1203
1257
|
originalSource() {
|
|
@@ -1205,6 +1259,7 @@ class Module extends DependenciesBlock {
|
|
|
1205
1259
|
}
|
|
1206
1260
|
|
|
1207
1261
|
/**
|
|
1262
|
+
* Adds the provided file dependencies to the module.
|
|
1208
1263
|
* @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
|
|
1209
1264
|
* @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
|
|
1210
1265
|
* @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
|
|
@@ -1218,6 +1273,7 @@ class Module extends DependenciesBlock {
|
|
|
1218
1273
|
) {}
|
|
1219
1274
|
|
|
1220
1275
|
/**
|
|
1276
|
+
* Serializes this instance into the provided serializer context.
|
|
1221
1277
|
* @param {ObjectSerializerContext} context context
|
|
1222
1278
|
*/
|
|
1223
1279
|
serialize(context) {
|
|
@@ -1229,7 +1285,6 @@ class Module extends DependenciesBlock {
|
|
|
1229
1285
|
write(this.factoryMeta);
|
|
1230
1286
|
write(this.useSourceMap);
|
|
1231
1287
|
write(this.useSimpleSourceMap);
|
|
1232
|
-
write(this.hot);
|
|
1233
1288
|
write(
|
|
1234
1289
|
this._warnings !== undefined && this._warnings.length === 0
|
|
1235
1290
|
? undefined
|
|
@@ -1248,6 +1303,7 @@ class Module extends DependenciesBlock {
|
|
|
1248
1303
|
}
|
|
1249
1304
|
|
|
1250
1305
|
/**
|
|
1306
|
+
* Restores this instance from the provided deserializer context.
|
|
1251
1307
|
* @param {ObjectDeserializerContext} context context
|
|
1252
1308
|
*/
|
|
1253
1309
|
deserialize(context) {
|
|
@@ -1259,7 +1315,6 @@ class Module extends DependenciesBlock {
|
|
|
1259
1315
|
this.factoryMeta = read();
|
|
1260
1316
|
this.useSourceMap = read();
|
|
1261
1317
|
this.useSimpleSourceMap = read();
|
|
1262
|
-
this.hot = read();
|
|
1263
1318
|
this._warnings = read();
|
|
1264
1319
|
this._errors = read();
|
|
1265
1320
|
this.buildMeta = read();
|
|
@@ -1271,6 +1326,7 @@ class Module extends DependenciesBlock {
|
|
|
1271
1326
|
|
|
1272
1327
|
// TODO remove in webpack 6
|
|
1273
1328
|
/**
|
|
1329
|
+
* Gets source basic types.
|
|
1274
1330
|
* @deprecated In webpack 6, call getSourceBasicTypes() directly on the module instance instead of using this static method.
|
|
1275
1331
|
* @param {Module} module the module
|
|
1276
1332
|
* @returns {ReturnType<Module["getSourceBasicTypes"]>} the source types of the module
|
|
@@ -1290,6 +1346,7 @@ makeSerializable(Module, "webpack/lib/Module");
|
|
|
1290
1346
|
// TODO remove in webpack 6
|
|
1291
1347
|
Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
1292
1348
|
/**
|
|
1349
|
+
* Gets has equals chunks.
|
|
1293
1350
|
* @deprecated
|
|
1294
1351
|
* @returns {EXPECTED_ANY} throw an error
|
|
1295
1352
|
*/
|
|
@@ -1303,6 +1360,7 @@ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
|
1303
1360
|
// TODO remove in webpack 6
|
|
1304
1361
|
Object.defineProperty(Module.prototype, "isUsed", {
|
|
1305
1362
|
/**
|
|
1363
|
+
* Returns throw an error.
|
|
1306
1364
|
* @deprecated
|
|
1307
1365
|
* @returns {EXPECTED_ANY} throw an error
|
|
1308
1366
|
*/
|
|
@@ -1316,13 +1374,15 @@ Object.defineProperty(Module.prototype, "isUsed", {
|
|
|
1316
1374
|
// TODO remove in webpack 6
|
|
1317
1375
|
Object.defineProperty(Module.prototype, "errors", {
|
|
1318
1376
|
/**
|
|
1377
|
+
* Returns errors.
|
|
1319
1378
|
* @deprecated
|
|
1320
|
-
* @returns {
|
|
1379
|
+
* @returns {Error[]} errors
|
|
1321
1380
|
*/
|
|
1322
1381
|
get: util.deprecate(
|
|
1323
1382
|
/**
|
|
1383
|
+
* Returns errors.
|
|
1324
1384
|
* @this {Module}
|
|
1325
|
-
* @returns {
|
|
1385
|
+
* @returns {Error[]} errors
|
|
1326
1386
|
*/
|
|
1327
1387
|
function errors() {
|
|
1328
1388
|
if (this._errors === undefined) {
|
|
@@ -1338,13 +1398,15 @@ Object.defineProperty(Module.prototype, "errors", {
|
|
|
1338
1398
|
// TODO remove in webpack 6
|
|
1339
1399
|
Object.defineProperty(Module.prototype, "warnings", {
|
|
1340
1400
|
/**
|
|
1401
|
+
* Returns warnings.
|
|
1341
1402
|
* @deprecated
|
|
1342
|
-
* @returns {
|
|
1403
|
+
* @returns {Error[]} warnings
|
|
1343
1404
|
*/
|
|
1344
1405
|
get: util.deprecate(
|
|
1345
1406
|
/**
|
|
1407
|
+
* Returns warnings.
|
|
1346
1408
|
* @this {Module}
|
|
1347
|
-
* @returns {
|
|
1409
|
+
* @returns {Error[]} warnings
|
|
1348
1410
|
*/
|
|
1349
1411
|
function warnings() {
|
|
1350
1412
|
if (this._warnings === undefined) {
|
|
@@ -1360,6 +1422,7 @@ Object.defineProperty(Module.prototype, "warnings", {
|
|
|
1360
1422
|
// TODO remove in webpack 6
|
|
1361
1423
|
Object.defineProperty(Module.prototype, "used", {
|
|
1362
1424
|
/**
|
|
1425
|
+
* Returns throw an error.
|
|
1363
1426
|
* @deprecated
|
|
1364
1427
|
* @returns {EXPECTED_ANY} throw an error
|
|
1365
1428
|
*/
|
|
@@ -1369,6 +1432,7 @@ Object.defineProperty(Module.prototype, "used", {
|
|
|
1369
1432
|
);
|
|
1370
1433
|
},
|
|
1371
1434
|
/**
|
|
1435
|
+
* Updates used using the provided value.
|
|
1372
1436
|
* @param {EXPECTED_ANY} value value
|
|
1373
1437
|
*/
|
|
1374
1438
|
set(value) {
|