@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/ProvidePlugin.js
CHANGED
|
@@ -24,14 +24,16 @@ const PLUGIN_NAME = "ProvidePlugin";
|
|
|
24
24
|
|
|
25
25
|
class ProvidePlugin {
|
|
26
26
|
/**
|
|
27
|
+
* Creates an instance of ProvidePlugin.
|
|
27
28
|
* @param {Record<string, string | string[]>} definitions the provided identifiers
|
|
28
29
|
*/
|
|
29
30
|
constructor(definitions) {
|
|
31
|
+
/** @type {Record<string, string | string[]>} */
|
|
30
32
|
this.definitions = definitions;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/**
|
|
34
|
-
*
|
|
36
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
35
37
|
* @param {Compiler} compiler the compiler instance
|
|
36
38
|
* @returns {void}
|
|
37
39
|
*/
|
|
@@ -53,6 +55,7 @@ class ProvidePlugin {
|
|
|
53
55
|
new ProvidedDependency.Template()
|
|
54
56
|
);
|
|
55
57
|
/**
|
|
58
|
+
* Handles the hook callback for this code path.
|
|
56
59
|
* @param {JavascriptParser} parser the parser
|
|
57
60
|
* @param {JavascriptParserOptions} parserOptions options
|
|
58
61
|
* @returns {void}
|
|
@@ -82,7 +85,7 @@ class ProvidePlugin {
|
|
|
82
85
|
request.slice(1),
|
|
83
86
|
/** @type {Range} */ (expr.range)
|
|
84
87
|
);
|
|
85
|
-
dep.loc =
|
|
88
|
+
dep.loc = parser.getLocation(expr);
|
|
86
89
|
parser.state.module.addDependency(dep);
|
|
87
90
|
return true;
|
|
88
91
|
});
|
|
@@ -97,7 +100,7 @@ class ProvidePlugin {
|
|
|
97
100
|
request.slice(1),
|
|
98
101
|
/** @type {Range} */ (expr.callee.range)
|
|
99
102
|
);
|
|
100
|
-
dep.loc =
|
|
103
|
+
dep.loc = parser.getLocation(expr.callee);
|
|
101
104
|
parser.state.module.addDependency(dep);
|
|
102
105
|
parser.walkExpressions(expr.arguments);
|
|
103
106
|
return true;
|
package/lib/RawModule.js
CHANGED
|
@@ -29,13 +29,14 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
29
29
|
/** @typedef {import("./ModuleGraphConnection").ConnectionState} ConnectionState */
|
|
30
30
|
/** @typedef {import("./RequestShortener")} RequestShortener */
|
|
31
31
|
/** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
|
32
|
-
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
33
|
-
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
32
|
+
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext<[string, string, string, ReadOnlyRuntimeRequirements | null]>} ObjectDeserializerContext */
|
|
33
|
+
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext<[string, string, string, ReadOnlyRuntimeRequirements | null]>} ObjectSerializerContext */
|
|
34
34
|
/** @typedef {import("./util/Hash")} Hash */
|
|
35
35
|
/** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
|
|
36
36
|
|
|
37
37
|
class RawModule extends Module {
|
|
38
38
|
/**
|
|
39
|
+
* Creates an instance of RawModule.
|
|
39
40
|
* @param {string} source source code
|
|
40
41
|
* @param {string} identifier unique identifier
|
|
41
42
|
* @param {string=} readableIdentifier readable identifier
|
|
@@ -43,13 +44,18 @@ class RawModule extends Module {
|
|
|
43
44
|
*/
|
|
44
45
|
constructor(source, identifier, readableIdentifier, runtimeRequirements) {
|
|
45
46
|
super(JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
|
|
47
|
+
/** @type {string} */
|
|
46
48
|
this.sourceStr = source;
|
|
49
|
+
/** @type {string} */
|
|
47
50
|
this.identifierStr = identifier || this.sourceStr;
|
|
51
|
+
/** @type {string} */
|
|
48
52
|
this.readableIdentifierStr = readableIdentifier || this.identifierStr;
|
|
53
|
+
/** @type {ReadOnlyRuntimeRequirements | null} */
|
|
49
54
|
this.runtimeRequirements = runtimeRequirements || null;
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
/**
|
|
58
|
+
* Returns the source types this module can generate.
|
|
53
59
|
* @returns {SourceTypes} types available (do not mutate)
|
|
54
60
|
*/
|
|
55
61
|
getSourceTypes() {
|
|
@@ -57,6 +63,7 @@ class RawModule extends Module {
|
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
/**
|
|
66
|
+
* Returns the unique identifier used to reference this module.
|
|
60
67
|
* @returns {string} a unique identifier of the module
|
|
61
68
|
*/
|
|
62
69
|
identifier() {
|
|
@@ -64,6 +71,7 @@ class RawModule extends Module {
|
|
|
64
71
|
}
|
|
65
72
|
|
|
66
73
|
/**
|
|
74
|
+
* Returns the estimated size for the requested source type.
|
|
67
75
|
* @param {string=} type the source type for which the size should be estimated
|
|
68
76
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
69
77
|
*/
|
|
@@ -72,6 +80,7 @@ class RawModule extends Module {
|
|
|
72
80
|
}
|
|
73
81
|
|
|
74
82
|
/**
|
|
83
|
+
* Returns a human-readable identifier for this module.
|
|
75
84
|
* @param {RequestShortener} requestShortener the request shortener
|
|
76
85
|
* @returns {string} a user readable identifier of the module
|
|
77
86
|
*/
|
|
@@ -82,6 +91,7 @@ class RawModule extends Module {
|
|
|
82
91
|
}
|
|
83
92
|
|
|
84
93
|
/**
|
|
94
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
85
95
|
* @param {NeedBuildContext} context context info
|
|
86
96
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
87
97
|
* @returns {void}
|
|
@@ -91,6 +101,7 @@ class RawModule extends Module {
|
|
|
91
101
|
}
|
|
92
102
|
|
|
93
103
|
/**
|
|
104
|
+
* Builds the module using the provided compilation context.
|
|
94
105
|
* @param {WebpackOptions} options webpack options
|
|
95
106
|
* @param {Compilation} compilation the compilation
|
|
96
107
|
* @param {ResolverWithOptions} resolver the resolver
|
|
@@ -107,6 +118,7 @@ class RawModule extends Module {
|
|
|
107
118
|
}
|
|
108
119
|
|
|
109
120
|
/**
|
|
121
|
+
* Gets side effects connection state.
|
|
110
122
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
111
123
|
* @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
|
|
112
124
|
*/
|
|
@@ -119,6 +131,7 @@ class RawModule extends Module {
|
|
|
119
131
|
}
|
|
120
132
|
|
|
121
133
|
/**
|
|
134
|
+
* Generates code and runtime requirements for this module.
|
|
122
135
|
* @param {CodeGenerationContext} context context for code generation
|
|
123
136
|
* @returns {CodeGenerationResult} result
|
|
124
137
|
*/
|
|
@@ -137,6 +150,7 @@ class RawModule extends Module {
|
|
|
137
150
|
}
|
|
138
151
|
|
|
139
152
|
/**
|
|
153
|
+
* Updates the hash with the data contributed by this instance.
|
|
140
154
|
* @param {Hash} hash the hash used to track dependencies
|
|
141
155
|
* @param {UpdateHashContext} context context
|
|
142
156
|
* @returns {void}
|
|
@@ -147,31 +161,33 @@ class RawModule extends Module {
|
|
|
147
161
|
}
|
|
148
162
|
|
|
149
163
|
/**
|
|
164
|
+
* Serializes this instance into the provided serializer context.
|
|
150
165
|
* @param {ObjectSerializerContext} context context
|
|
151
166
|
*/
|
|
152
167
|
serialize(context) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
write(this.runtimeRequirements);
|
|
168
|
+
context
|
|
169
|
+
.write(this.sourceStr)
|
|
170
|
+
.write(this.identifierStr)
|
|
171
|
+
.write(this.readableIdentifierStr)
|
|
172
|
+
.write(this.runtimeRequirements);
|
|
159
173
|
|
|
160
174
|
super.serialize(context);
|
|
161
175
|
}
|
|
162
176
|
|
|
163
177
|
/**
|
|
178
|
+
* Restores this instance from the provided deserializer context.
|
|
164
179
|
* @param {ObjectDeserializerContext} context context
|
|
165
180
|
*/
|
|
166
181
|
deserialize(context) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
this.
|
|
170
|
-
|
|
171
|
-
this.readableIdentifierStr = read();
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
182
|
+
this.sourceStr = context.read();
|
|
183
|
+
const c1 = context.rest;
|
|
184
|
+
this.identifierStr = c1.read();
|
|
185
|
+
const c2 = c1.rest;
|
|
186
|
+
this.readableIdentifierStr = c2.read();
|
|
187
|
+
const c3 = c2.rest;
|
|
188
|
+
this.runtimeRequirements = c3.read();
|
|
189
|
+
|
|
190
|
+
super.deserialize(c3.rest);
|
|
175
191
|
}
|
|
176
192
|
}
|
|
177
193
|
|
package/lib/RecordIdsPlugin.js
CHANGED
|
@@ -13,6 +13,7 @@ const identifierUtils = require("./util/identifier");
|
|
|
13
13
|
/** @typedef {import("./Module")} Module */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Defines the records chunks type used by this module.
|
|
16
17
|
* @typedef {object} RecordsChunks
|
|
17
18
|
* @property {Record<string, number>=} byName
|
|
18
19
|
* @property {Record<string, number>=} bySource
|
|
@@ -20,18 +21,21 @@ const identifierUtils = require("./util/identifier");
|
|
|
20
21
|
*/
|
|
21
22
|
|
|
22
23
|
/**
|
|
24
|
+
* Defines the records modules type used by this module.
|
|
23
25
|
* @typedef {object} RecordsModules
|
|
24
26
|
* @property {Record<string, number>=} byIdentifier
|
|
25
27
|
* @property {number[]=} usedIds
|
|
26
28
|
*/
|
|
27
29
|
|
|
28
30
|
/**
|
|
31
|
+
* Defines the records type used by this module.
|
|
29
32
|
* @typedef {object} Records
|
|
30
33
|
* @property {RecordsChunks=} chunks
|
|
31
34
|
* @property {RecordsModules=} modules
|
|
32
35
|
*/
|
|
33
36
|
|
|
34
37
|
/**
|
|
38
|
+
* Defines the record ids plugin options type used by this module.
|
|
35
39
|
* @typedef {object} RecordIdsPluginOptions
|
|
36
40
|
* @property {boolean=} portableIds true, when ids need to be portable
|
|
37
41
|
*/
|
|
@@ -42,13 +46,16 @@ const PLUGIN_NAME = "RecordIdsPlugin";
|
|
|
42
46
|
|
|
43
47
|
class RecordIdsPlugin {
|
|
44
48
|
/**
|
|
49
|
+
* Creates an instance of RecordIdsPlugin.
|
|
45
50
|
* @param {RecordIdsPluginOptions=} options object
|
|
46
51
|
*/
|
|
47
52
|
constructor(options) {
|
|
53
|
+
/** @type {RecordIdsPluginOptions} */
|
|
48
54
|
this.options = options || {};
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
/**
|
|
58
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
52
59
|
* @param {Compiler} compiler the Compiler
|
|
53
60
|
* @returns {void}
|
|
54
61
|
*/
|
|
@@ -62,6 +69,7 @@ class RecordIdsPlugin {
|
|
|
62
69
|
);
|
|
63
70
|
|
|
64
71
|
/**
|
|
72
|
+
* Gets module identifier.
|
|
65
73
|
* @param {Module} module the module
|
|
66
74
|
* @returns {string} the (portable) identifier
|
|
67
75
|
*/
|
|
@@ -113,6 +121,7 @@ class RecordIdsPlugin {
|
|
|
113
121
|
/** @typedef {string[]} ChunkSources */
|
|
114
122
|
|
|
115
123
|
/**
|
|
124
|
+
* Gets chunk sources.
|
|
116
125
|
* @param {Chunk} chunk the chunk
|
|
117
126
|
* @returns {ChunkSources} sources of the chunk
|
|
118
127
|
*/
|
package/lib/RequestShortener.js
CHANGED
|
@@ -9,8 +9,14 @@ const { contextify } = require("./util/identifier");
|
|
|
9
9
|
|
|
10
10
|
/** @typedef {import("./util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Shortens absolute or verbose request strings so diagnostics and stats output
|
|
14
|
+
* can be rendered relative to a chosen base directory.
|
|
15
|
+
*/
|
|
12
16
|
class RequestShortener {
|
|
13
17
|
/**
|
|
18
|
+
* Binds a context-aware shortening function to the provided directory and
|
|
19
|
+
* optional cache owner.
|
|
14
20
|
* @param {string} dir the directory
|
|
15
21
|
* @param {AssociatedObjectForCache=} associatedObjectForCache an object to which the cache will be attached
|
|
16
22
|
*/
|
|
@@ -22,6 +28,8 @@ class RequestShortener {
|
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
/**
|
|
31
|
+
* Returns a request string rewritten relative to the configured directory
|
|
32
|
+
* when one is provided.
|
|
25
33
|
* @param {string | undefined | null} request the request to shorten
|
|
26
34
|
* @returns {string | undefined | null} the shortened request
|
|
27
35
|
*/
|
package/lib/ResolverFactory.js
CHANGED
|
@@ -20,6 +20,7 @@ const {
|
|
|
20
20
|
|
|
21
21
|
/** @typedef {WebpackResolveOptions & { dependencyType?: string, resolveToContext?: boolean }} ResolveOptionsWithDependencyType */
|
|
22
22
|
/**
|
|
23
|
+
* Defines the with options type used by this module.
|
|
23
24
|
* @typedef {object} WithOptions
|
|
24
25
|
* @property {(options: Partial<ResolveOptionsWithDependencyType>) => ResolverWithOptions} withOptions create a resolver with additional/different options
|
|
25
26
|
*/
|
|
@@ -31,6 +32,7 @@ const {
|
|
|
31
32
|
const EMPTY_RESOLVE_OPTIONS = {};
|
|
32
33
|
|
|
33
34
|
/**
|
|
35
|
+
* Convert to resolve options.
|
|
34
36
|
* @param {ResolveOptionsWithDependencyType} resolveOptionsWithDepType enhanced options
|
|
35
37
|
* @returns {ResolveOptions} merged options
|
|
36
38
|
*/
|
|
@@ -69,6 +71,7 @@ const convertToResolveOptions = (resolveOptionsWithDepType) => {
|
|
|
69
71
|
};
|
|
70
72
|
|
|
71
73
|
/**
|
|
74
|
+
* Represents the resolver factory runtime component.
|
|
72
75
|
* @typedef {object} ResolverCache
|
|
73
76
|
* @property {WeakMap<ResolveOptionsWithDependencyType, ResolverWithOptions>} direct
|
|
74
77
|
* @property {Map<string, ResolverWithOptions>} stringified
|
|
@@ -91,6 +94,7 @@ module.exports = class ResolverFactory {
|
|
|
91
94
|
}
|
|
92
95
|
|
|
93
96
|
/**
|
|
97
|
+
* Returns the resolver.
|
|
94
98
|
* @param {string} type type of resolver
|
|
95
99
|
* @param {ResolveOptionsWithDependencyType=} resolveOptions options
|
|
96
100
|
* @returns {ResolverWithOptions} the resolver
|
|
@@ -121,6 +125,7 @@ module.exports = class ResolverFactory {
|
|
|
121
125
|
}
|
|
122
126
|
|
|
123
127
|
/**
|
|
128
|
+
* Returns the resolver.
|
|
124
129
|
* @param {string} type type of resolver
|
|
125
130
|
* @param {ResolveOptionsWithDependencyType} resolveOptionsWithDepType options
|
|
126
131
|
* @returns {ResolverWithOptions} the resolver
|
package/lib/RuntimeGlobals.js
CHANGED
|
@@ -15,6 +15,13 @@ module.exports.amdDefine = "__webpack_require__.amdD";
|
|
|
15
15
|
*/
|
|
16
16
|
module.exports.amdOptions = "__webpack_require__.amdO";
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* analyzable single-chunk `import()` that keeps `ensureChunk` timing and deduplication:
|
|
20
|
+
* resolves immediately for an installed chunk, else runs the literal import and installs it
|
|
21
|
+
* Signature: (chunkId, () => Promise) => Promise
|
|
22
|
+
*/
|
|
23
|
+
module.exports.analyzableChunkImport = "__webpack_require__.ei";
|
|
24
|
+
|
|
18
25
|
/**
|
|
19
26
|
* Creates an async module. The body function must be a async function.
|
|
20
27
|
* "module.exports" will be decorated with an AsyncModulePromise.
|
|
@@ -39,6 +46,15 @@ module.exports.asyncModuleDoneSymbol = "__webpack_require__.aD";
|
|
|
39
46
|
*/
|
|
40
47
|
module.exports.asyncModuleExportSymbol = "__webpack_require__.aE";
|
|
41
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Drives an async module body written as a generator function (used when the
|
|
51
|
+
* target environment supports generators but not `async`/`await`).
|
|
52
|
+
* It runs the generator, resolving each `yield`ed dependency promise, so the
|
|
53
|
+
* body reads like a plain `async` function without emitting `async`/`await`.
|
|
54
|
+
* Signature: function(body: GeneratorFunction) => (handleDependencies, result) => void
|
|
55
|
+
*/
|
|
56
|
+
module.exports.asyncModuleGenerator = "__webpack_require__.aG";
|
|
57
|
+
|
|
42
58
|
/**
|
|
43
59
|
* the baseURI of current document
|
|
44
60
|
*/
|
|
@@ -54,6 +70,11 @@ module.exports.chunkCallback = "webpackChunk";
|
|
|
54
70
|
*/
|
|
55
71
|
module.exports.chunkName = "__webpack_require__.cn";
|
|
56
72
|
|
|
73
|
+
/**
|
|
74
|
+
* wrap and eagerly execute a CommonJS module body, returning its exports
|
|
75
|
+
*/
|
|
76
|
+
module.exports.commonJsWrap = "__webpack_require__.cjs";
|
|
77
|
+
|
|
57
78
|
/**
|
|
58
79
|
* compatibility get default export
|
|
59
80
|
*/
|
|
@@ -83,12 +104,7 @@ module.exports.createScript = "__webpack_require__.ts";
|
|
|
83
104
|
*/
|
|
84
105
|
module.exports.createScriptUrl = "__webpack_require__.tu";
|
|
85
106
|
|
|
86
|
-
/**
|
|
87
|
-
* merge multiple CSS stylesheets (CSSStyleSheet or string) into one CSS text string
|
|
88
|
-
* Arguments: (sheets: Array<CSSStyleSheet | string> | CSSStyleSheet | string) => string
|
|
89
|
-
*/
|
|
90
107
|
module.exports.cssInjectStyle = "__webpack_require__.is";
|
|
91
|
-
module.exports.cssMergeStyleSheets = "__webpack_require__.mcs";
|
|
92
108
|
|
|
93
109
|
/**
|
|
94
110
|
* The current scope when getting a module from a remote
|
|
@@ -200,6 +216,12 @@ module.exports.getTrustedTypesPolicy = "__webpack_require__.tt";
|
|
|
200
216
|
*/
|
|
201
217
|
module.exports.getUpdateManifestFilename = "__webpack_require__.hmrF";
|
|
202
218
|
|
|
219
|
+
/**
|
|
220
|
+
* the object url of the worklet bootstrap script (sets up `self`, `location` and
|
|
221
|
+
* a throwing `importScripts` before worklet chunks are added)
|
|
222
|
+
*/
|
|
223
|
+
module.exports.getWorkletBootstrap = "__webpack_require__.wb";
|
|
224
|
+
|
|
203
225
|
/**
|
|
204
226
|
* the global object
|
|
205
227
|
*/
|
|
@@ -336,6 +358,12 @@ module.exports.nodeModuleDecorator = "__webpack_require__.nmd";
|
|
|
336
358
|
*/
|
|
337
359
|
module.exports.onChunksLoaded = "__webpack_require__.O";
|
|
338
360
|
|
|
361
|
+
/**
|
|
362
|
+
* the asset prefetch function: injects a
|
|
363
|
+
* `<link rel="prefetch">` for an asset module URL
|
|
364
|
+
*/
|
|
365
|
+
module.exports.prefetchAsset = "__webpack_require__.PA";
|
|
366
|
+
|
|
339
367
|
/**
|
|
340
368
|
* the chunk prefetch function
|
|
341
369
|
*/
|
|
@@ -346,6 +374,12 @@ module.exports.prefetchChunk = "__webpack_require__.E";
|
|
|
346
374
|
*/
|
|
347
375
|
module.exports.prefetchChunkHandlers = "__webpack_require__.F";
|
|
348
376
|
|
|
377
|
+
/**
|
|
378
|
+
* the asset preload function: injects a
|
|
379
|
+
* `<link rel="preload">` for an asset module URL
|
|
380
|
+
*/
|
|
381
|
+
module.exports.preloadAsset = "__webpack_require__.LA";
|
|
382
|
+
|
|
349
383
|
/**
|
|
350
384
|
* the chunk preload function
|
|
351
385
|
*/
|
|
@@ -391,6 +425,11 @@ module.exports.runtimeId = "__webpack_require__.j";
|
|
|
391
425
|
*/
|
|
392
426
|
module.exports.scriptNonce = "__webpack_require__.nc";
|
|
393
427
|
|
|
428
|
+
/**
|
|
429
|
+
* set .name to "default" for anonymous default exports per ES spec
|
|
430
|
+
*/
|
|
431
|
+
module.exports.setAnonymousDefaultName = "__webpack_require__.dn";
|
|
432
|
+
|
|
394
433
|
/**
|
|
395
434
|
* an object with all share scopes
|
|
396
435
|
*/
|
|
@@ -402,6 +441,14 @@ module.exports.shareScopeMap = "__webpack_require__.S";
|
|
|
402
441
|
*/
|
|
403
442
|
module.exports.startup = "__webpack_require__.x";
|
|
404
443
|
|
|
444
|
+
/**
|
|
445
|
+
* marker requirement that adds the startup runtime module which fires
|
|
446
|
+
* `<link rel="prefetch|preload">` for `new URL(..., import.meta.url)`
|
|
447
|
+
* assets with `webpackPrefetch` / `webpackPreload` hints, before any
|
|
448
|
+
* chunk module evaluates
|
|
449
|
+
*/
|
|
450
|
+
module.exports.startupAssetHints = "__webpack_require__.SAH";
|
|
451
|
+
|
|
405
452
|
/**
|
|
406
453
|
* method to startup an entrypoint with needed chunks.
|
|
407
454
|
* Signature: (moduleId: Id, chunkIds: Id[]) => any.
|
|
@@ -410,6 +457,7 @@ module.exports.startup = "__webpack_require__.x";
|
|
|
410
457
|
module.exports.startupEntrypoint = "__webpack_require__.X";
|
|
411
458
|
|
|
412
459
|
/**
|
|
460
|
+
* Describes how this item operation behaves.
|
|
413
461
|
* @deprecated
|
|
414
462
|
* creating a default startup function with the entry modules
|
|
415
463
|
*/
|
|
@@ -454,3 +502,8 @@ module.exports.uncaughtErrorHandler = "__webpack_require__.oe";
|
|
|
454
502
|
* an object containing all installed WebAssembly.Instance export objects keyed by module id
|
|
455
503
|
*/
|
|
456
504
|
module.exports.wasmInstances = "__webpack_require__.w";
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* the Worker constructor for universal targets (global Worker or worker_threads)
|
|
508
|
+
*/
|
|
509
|
+
module.exports.worker = "__webpack_require__.wc";
|
package/lib/RuntimeModule.js
CHANGED
|
@@ -36,6 +36,7 @@ const { WEBPACK_MODULE_TYPE_RUNTIME } = require("./ModuleTypeConstants");
|
|
|
36
36
|
|
|
37
37
|
class RuntimeModule extends Module {
|
|
38
38
|
/**
|
|
39
|
+
* Creates an instance of RuntimeModule.
|
|
39
40
|
* @param {string} name a readable name
|
|
40
41
|
* @param {number=} stage an optional stage
|
|
41
42
|
*/
|
|
@@ -64,6 +65,7 @@ class RuntimeModule extends Module {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
/**
|
|
68
|
+
* Processes the provided compilation.
|
|
67
69
|
* @param {Compilation} compilation the compilation
|
|
68
70
|
* @param {Chunk} chunk the chunk
|
|
69
71
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
@@ -76,6 +78,7 @@ class RuntimeModule extends Module {
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
/**
|
|
81
|
+
* Returns the unique identifier used to reference this module.
|
|
79
82
|
* @returns {string} a unique identifier of the module
|
|
80
83
|
*/
|
|
81
84
|
identifier() {
|
|
@@ -83,6 +86,7 @@ class RuntimeModule extends Module {
|
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
/**
|
|
89
|
+
* Returns a human-readable identifier for this module.
|
|
86
90
|
* @param {RequestShortener} requestShortener the request shortener
|
|
87
91
|
* @returns {string} a user readable identifier of the module
|
|
88
92
|
*/
|
|
@@ -91,6 +95,7 @@ class RuntimeModule extends Module {
|
|
|
91
95
|
}
|
|
92
96
|
|
|
93
97
|
/**
|
|
98
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
94
99
|
* @param {NeedBuildContext} context context info
|
|
95
100
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
96
101
|
* @returns {void}
|
|
@@ -100,6 +105,7 @@ class RuntimeModule extends Module {
|
|
|
100
105
|
}
|
|
101
106
|
|
|
102
107
|
/**
|
|
108
|
+
* Builds the module using the provided compilation context.
|
|
103
109
|
* @param {WebpackOptions} options webpack options
|
|
104
110
|
* @param {Compilation} compilation the compilation
|
|
105
111
|
* @param {ResolverWithOptions} resolver the resolver
|
|
@@ -114,6 +120,7 @@ class RuntimeModule extends Module {
|
|
|
114
120
|
}
|
|
115
121
|
|
|
116
122
|
/**
|
|
123
|
+
* Updates the hash with the data contributed by this instance.
|
|
117
124
|
* @param {Hash} hash the hash used to track dependencies
|
|
118
125
|
* @param {UpdateHashContext} context context
|
|
119
126
|
* @returns {void}
|
|
@@ -122,12 +129,14 @@ class RuntimeModule extends Module {
|
|
|
122
129
|
hash.update(this.name);
|
|
123
130
|
hash.update(`${this.stage}`);
|
|
124
131
|
try {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
const code =
|
|
133
|
+
this.fullHash || this.dependentHash
|
|
134
|
+
? // Do not use getGeneratedCode here, because i. e. compilation hash might be not
|
|
135
|
+
// ready at this point. We will cache it later instead.
|
|
136
|
+
this.generate()
|
|
137
|
+
: this.getGeneratedCode();
|
|
138
|
+
if (code !== null && code !== undefined) {
|
|
139
|
+
hash.update(code);
|
|
131
140
|
}
|
|
132
141
|
} catch (err) {
|
|
133
142
|
hash.update(/** @type {Error} */ (err).message);
|
|
@@ -136,6 +145,7 @@ class RuntimeModule extends Module {
|
|
|
136
145
|
}
|
|
137
146
|
|
|
138
147
|
/**
|
|
148
|
+
* Returns the source types this module can generate.
|
|
139
149
|
* @returns {SourceTypes} types available (do not mutate)
|
|
140
150
|
*/
|
|
141
151
|
getSourceTypes() {
|
|
@@ -156,6 +166,7 @@ class RuntimeModule extends Module {
|
|
|
156
166
|
}
|
|
157
167
|
|
|
158
168
|
/**
|
|
169
|
+
* Generates code and runtime requirements for this module.
|
|
159
170
|
* @param {CodeGenerationContext} context context for code generation
|
|
160
171
|
* @returns {CodeGenerationResult} result
|
|
161
172
|
*/
|
|
@@ -178,6 +189,7 @@ class RuntimeModule extends Module {
|
|
|
178
189
|
}
|
|
179
190
|
|
|
180
191
|
/**
|
|
192
|
+
* Returns the estimated size for the requested source type.
|
|
181
193
|
* @param {string=} type the source type for which the size should be estimated
|
|
182
194
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
183
195
|
*/
|
|
@@ -192,16 +204,18 @@ class RuntimeModule extends Module {
|
|
|
192
204
|
|
|
193
205
|
/* istanbul ignore next */
|
|
194
206
|
/**
|
|
207
|
+
* Generates runtime code for this runtime module.
|
|
195
208
|
* @abstract
|
|
196
209
|
* @returns {string | null} runtime code
|
|
197
210
|
*/
|
|
198
211
|
generate() {
|
|
199
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
212
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
200
213
|
|
|
201
214
|
throw new AbstractMethodError();
|
|
202
215
|
}
|
|
203
216
|
|
|
204
217
|
/**
|
|
218
|
+
* Gets generated code.
|
|
205
219
|
* @returns {string | null} runtime code
|
|
206
220
|
*/
|
|
207
221
|
getGeneratedCode() {
|
|
@@ -212,6 +226,7 @@ class RuntimeModule extends Module {
|
|
|
212
226
|
}
|
|
213
227
|
|
|
214
228
|
/**
|
|
229
|
+
* Returns true, if the runtime module should get it's own scope.
|
|
215
230
|
* @returns {boolean} true, if the runtime module should get it's own scope
|
|
216
231
|
*/
|
|
217
232
|
shouldIsolate() {
|