@depup/webpack 5.109.2-depup.0 → 5.110.1-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 +5 -5
- package/changes.json +7 -7
- package/lib/APIPlugin.js +123 -17
- package/lib/AsyncDependenciesBlock.js +10 -7
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +10 -6
- package/lib/CacheFacade.js +6 -6
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +26 -17
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +4 -7
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +7 -7
- package/lib/Compilation.js +688 -409
- package/lib/Compiler.js +53 -38
- package/lib/ConcatenationScope.js +117 -8
- package/lib/ConditionalInitFragment.js +3 -3
- package/lib/ConstPlugin.js +13 -11
- package/lib/ContextExclusionPlugin.js +1 -1
- package/lib/ContextModule.js +146 -54
- package/lib/ContextModuleFactory.js +46 -14
- package/lib/ContextReplacementPlugin.js +12 -14
- package/lib/DefinePlugin.js +121 -37
- package/lib/DependenciesBlock.js +9 -6
- package/lib/Dependency.js +36 -16
- package/lib/DependencyTemplate.js +11 -12
- package/lib/DependencyTemplates.js +3 -3
- package/lib/DotenvPlugin.js +50 -13
- package/lib/DynamicEntryPlugin.js +8 -4
- package/lib/EntryOptionPlugin.js +8 -4
- package/lib/EntryPlugin.js +2 -2
- package/lib/Entrypoint.js +6 -2
- package/lib/EnvironmentPlugin.js +2 -2
- package/lib/EvalDevToolModulePlugin.js +8 -4
- package/lib/EvalSourceMapDevToolPlugin.js +15 -8
- package/lib/ExportsInfo.js +101 -14
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +232 -77
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +44 -70
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +32 -47
- package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
- package/lib/Generator.js +36 -15
- package/lib/HotModuleReplacementPlugin.js +16 -44
- package/lib/IgnorePlugin.js +8 -4
- package/lib/IgnoreWarningsPlugin.js +2 -2
- package/lib/InitFragment.js +8 -4
- package/lib/JavascriptMetaInfoPlugin.js +35 -4
- package/lib/LazyBarrel.js +3 -4
- package/lib/LibraryTemplatePlugin.js +10 -6
- package/lib/LoaderOptionsPlugin.js +7 -3
- package/lib/LoaderTargetPlugin.js +1 -1
- package/lib/MainTemplate.js +49 -42
- package/lib/ManifestPlugin.js +12 -11
- package/lib/Module.js +62 -33
- package/lib/ModuleFactory.js +3 -3
- package/lib/ModuleFilenameHelpers.js +9 -4
- package/lib/ModuleGraph.js +195 -21
- package/lib/ModuleGraphConnection.js +6 -13
- package/lib/ModuleInfoHeaderPlugin.js +8 -10
- package/lib/ModuleTemplate.js +62 -63
- package/lib/MultiCompiler.js +130 -64
- package/lib/MultiStats.js +40 -9
- package/lib/MultiWatching.js +3 -3
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +29 -19
- package/lib/NormalModule.js +141 -85
- package/lib/NormalModuleFactory.js +555 -110
- package/lib/NormalModuleReplacementPlugin.js +5 -8
- package/lib/NullFactory.js +6 -2
- package/lib/OptionsApply.js +7 -3
- package/lib/Parser.js +7 -3
- package/lib/PlatformPlugin.js +2 -2
- package/lib/PrefetchPlugin.js +1 -1
- package/lib/ProgressPlugin.js +16 -13
- package/lib/ProvidePlugin.js +3 -5
- package/lib/RawModule.js +25 -17
- package/lib/RecordIdsPlugin.js +3 -3
- package/lib/RequestShortener.js +1 -1
- package/lib/ResolverFactory.js +2 -2
- package/lib/RuntimeGlobals.js +22 -10
- package/lib/RuntimeModule.js +29 -19
- package/lib/RuntimePlugin.js +332 -169
- package/lib/RuntimeTemplate.js +2792 -352
- package/lib/SelfModuleFactory.js +7 -3
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +6 -2
- package/lib/SourceMapDevToolPlugin.js +30 -20
- package/lib/Stats.js +3 -4
- package/lib/Template.js +32 -22
- package/lib/TemplatedPathPlugin.js +96 -14
- package/lib/UseStrictPlugin.js +4 -6
- package/lib/WarnCaseSensitiveModulesPlugin.js +4 -4
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +8 -6
- package/lib/Watching.js +8 -8
- package/lib/WebpackIsIncludedPlugin.js +2 -4
- package/lib/WebpackOptionsApply.js +308 -18
- package/lib/WebpackOptionsDefaulter.js +6 -2
- package/lib/asset/AssetBytesGenerator.js +12 -10
- package/lib/asset/AssetBytesParser.js +2 -4
- package/lib/asset/AssetGenerator.js +188 -95
- package/lib/asset/AssetModule.js +7 -3
- package/lib/asset/AssetModulesPlugin.js +110 -38
- package/lib/asset/AssetParser.js +9 -7
- package/lib/asset/AssetSourceGenerator.js +60 -13
- package/lib/asset/AssetSourceParser.js +2 -4
- package/lib/asset/RawDataUrlModule.js +24 -16
- package/lib/asset/WebManifestGenerator.js +8 -10
- package/lib/asset/WebManifestParser.js +24 -10
- package/lib/async-modules/AsyncModuleHelpers.js +2 -2
- package/lib/async-modules/AwaitDependenciesInitFragment.js +2 -2
- package/lib/async-modules/InferAsyncModulesPlugin.js +2 -2
- package/lib/async-modules/isGeneratorLowered.js +4 -4
- package/lib/buildChunkGraph.js +36 -27
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +1 -1
- package/lib/cache/AddManagedPathsPlugin.js +1 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +18 -10
- package/lib/cache/MemoryWithGcCachePlugin.js +34 -22
- package/lib/cache/PackFileCacheStrategy.js +30 -23
- package/lib/cache/ResolverCachePlugin.js +38 -18
- package/lib/cache/getLazyHashedEtag.js +1 -2
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/cli.js +1 -3
- package/lib/config/browserslistTargetHandler.js +41 -5
- package/lib/config/defaults.js +261 -79
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +36 -16
- package/lib/config/target.js +46 -3
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +24 -15
- package/lib/container/ContainerEntryModuleFactory.js +7 -3
- package/lib/container/ContainerPlugin.js +9 -10
- package/lib/container/ContainerReferencePlugin.js +6 -2
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackModule.js +24 -17
- package/lib/container/FallbackModuleFactory.js +7 -3
- package/lib/container/HoistContainerReferencesPlugin.js +6 -11
- package/lib/container/ModuleFederationPlugin.js +7 -24
- package/lib/container/RemoteModule.js +27 -19
- package/lib/container/RemoteRuntimeModule.js +10 -8
- package/lib/container/moduleFederationHooks.js +32 -0
- package/lib/css/CssGenerator.js +171 -43
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +57 -24
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +168 -88
- package/lib/css/CssParser.js +1113 -568
- package/lib/css/CssServerStylesRuntimeModule.js +54 -0
- package/lib/css/cssMinify.js +168 -0
- package/lib/css/data.js +5324 -0
- package/lib/css/syntax.js +9579 -232
- package/lib/debug/ProfilingPlugin.js +14 -9
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/AMDDefineDependency.js +112 -87
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +30 -17
- package/lib/dependencies/AMDPlugin.js +9 -7
- package/lib/dependencies/AMDRequireArrayDependency.js +5 -5
- package/lib/dependencies/AMDRequireContextDependency.js +2 -2
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +25 -14
- package/lib/dependencies/AMDRequireDependency.js +8 -7
- package/lib/dependencies/AMDRequireItemDependency.js +1 -1
- package/lib/dependencies/AMDRuntimeModules.js +21 -1
- package/lib/dependencies/BuildTimeConstDependency.js +102 -0
- package/lib/dependencies/CachedConstDependency.js +11 -8
- package/lib/dependencies/CommonJsDependencyHelpers.js +67 -46
- package/lib/dependencies/CommonJsExportRequireDependency.js +121 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +119 -34
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -50
- package/lib/dependencies/CommonJsObjectExportDependency.js +188 -0
- package/lib/dependencies/CommonJsPlugin.js +35 -6
- package/lib/dependencies/CommonJsRequireContextDependency.js +5 -6
- package/lib/dependencies/CommonJsRequireDependency.js +156 -27
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +63 -38
- package/lib/dependencies/ConstDependency.js +8 -9
- package/lib/dependencies/ContextDependency.js +12 -8
- package/lib/dependencies/ContextDependencyHelpers.js +14 -9
- package/lib/dependencies/ContextDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +4 -4
- package/lib/dependencies/ContextElementDependency.js +31 -12
- package/lib/dependencies/CreateRequireParserPlugin.js +12 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -4
- package/lib/dependencies/CssIcssExportDependency.js +56 -28
- package/lib/dependencies/CssIcssImportDependency.js +17 -13
- package/lib/dependencies/CssIcssSymbolDependency.js +9 -10
- package/lib/dependencies/CssImportDependency.js +18 -9
- package/lib/dependencies/CssUrlDependency.js +17 -13
- package/lib/dependencies/DllEntryDependency.js +1 -1
- package/lib/dependencies/DynamicExports.js +2 -2
- package/lib/dependencies/ExportBindingInitFragment.js +36 -9
- package/lib/dependencies/ExportsInfoDependency.js +7 -8
- package/lib/dependencies/ExternalModuleDependency.js +9 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -2
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +8 -5
- package/lib/dependencies/HarmonyAcceptDependency.js +5 -5
- package/lib/dependencies/HarmonyCompatibilityDependency.js +52 -17
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +11 -7
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +13 -10
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +78 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -63
- package/lib/dependencies/HarmonyExportInitFragment.js +18 -6
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +51 -14
- package/lib/dependencies/HarmonyExports.js +7 -4
- package/lib/dependencies/HarmonyImportDependency.js +27 -19
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -24
- package/lib/dependencies/HarmonyImportGuard.js +20 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +38 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +97 -49
- package/lib/dependencies/HarmonyModulesPlugin.js +7 -3
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -3
- package/lib/dependencies/HtmlEntryDependency.js +37 -29
- package/lib/dependencies/HtmlInlineHtmlDependency.js +7 -8
- package/lib/dependencies/HtmlInlineScriptDependency.js +11 -8
- package/lib/dependencies/HtmlInlineStyleDependency.js +7 -10
- package/lib/dependencies/HtmlSourceDependency.js +22 -14
- package/lib/dependencies/ImportContextDependency.js +2 -2
- package/lib/dependencies/ImportDependency.js +24 -20
- package/lib/dependencies/ImportEagerDependency.js +6 -9
- package/lib/dependencies/ImportMetaContextDependency.js +2 -2
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +14 -13
- package/lib/dependencies/ImportMetaContextPlugin.js +7 -3
- package/lib/dependencies/ImportMetaGlobDependency.js +2 -2
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +2 -3
- package/lib/dependencies/ImportMetaGlobHelpers.js +19 -22
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -1
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +154 -71
- package/lib/dependencies/ImportMetaResolveDependency.js +3 -4
- package/lib/dependencies/ImportParserPlugin.js +49 -35
- package/lib/dependencies/ImportPhase.js +12 -5
- package/lib/dependencies/ImportPlugin.js +7 -3
- package/lib/dependencies/ImportWeakDependency.js +6 -9
- package/lib/dependencies/JsonExportsDependency.js +11 -7
- package/lib/dependencies/LoaderDependency.js +2 -2
- package/lib/dependencies/LoaderImportDependency.js +2 -2
- package/lib/dependencies/LoaderPlugin.js +11 -7
- package/lib/dependencies/LocalModuleDependency.js +5 -5
- package/lib/dependencies/LocalModulesHelpers.js +1 -1
- package/lib/dependencies/ModuleDecoratorDependency.js +6 -7
- package/lib/dependencies/ModuleDependency.js +9 -6
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +3 -3
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -1
- package/lib/dependencies/ModuleInitFragmentDependency.js +24 -10
- package/lib/dependencies/NullDependency.js +3 -3
- package/lib/dependencies/ProvidedDependency.js +14 -10
- package/lib/dependencies/PureExpressionDependency.js +9 -10
- package/lib/dependencies/RequireContextDependency.js +2 -2
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -4
- package/lib/dependencies/RequireContextPlugin.js +8 -4
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +2 -2
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +5 -8
- package/lib/dependencies/RequireEnsureDependency.js +8 -7
- package/lib/dependencies/RequireEnsurePlugin.js +7 -3
- package/lib/dependencies/RequireHeaderDependency.js +51 -12
- package/lib/dependencies/RequireIncludeDependency.js +6 -6
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +2 -3
- package/lib/dependencies/RequireIncludePlugin.js +7 -3
- package/lib/dependencies/RequireJsStuffPlugin.js +7 -3
- package/lib/dependencies/RequireResolveContextDependency.js +2 -2
- package/lib/dependencies/RequireResolveDependency.js +4 -4
- package/lib/dependencies/RequireResolveHeaderDependency.js +4 -4
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -6
- package/lib/dependencies/StaticExportsDependency.js +2 -2
- package/lib/dependencies/SystemPlugin.js +10 -6
- package/lib/dependencies/SystemRuntimeModule.js +10 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +11 -7
- package/lib/dependencies/URLContextDependency.js +2 -2
- package/lib/dependencies/URLDependency.js +110 -64
- package/lib/dependencies/URLPlugin.js +7 -3
- package/lib/dependencies/UnsupportedDependency.js +4 -4
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -4
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -5
- package/lib/dependencies/WebpackIsIncludedDependency.js +6 -6
- package/lib/dependencies/WorkerAndWorkletPlugin.js +46 -28
- package/lib/dependencies/WorkerDependency.js +28 -22
- package/lib/dependencies/WorkletDependency.js +15 -14
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/processExportInfo.js +5 -5
- package/lib/dll/DelegatedModule.js +34 -22
- package/lib/dll/DelegatedModuleFactoryPlugin.js +15 -7
- package/lib/dll/DelegatedPlugin.js +2 -2
- package/lib/dll/DllEntryPlugin.js +2 -2
- package/lib/dll/DllModule.js +22 -15
- package/lib/dll/DllModuleFactory.js +7 -3
- package/lib/dll/DllPlugin.js +7 -5
- package/lib/dll/DllReferencePlugin.js +10 -7
- package/lib/dll/LibManifestPlugin.js +5 -5
- package/lib/electron/ElectronTargetPlugin.js +53 -49
- package/lib/errors/AsyncChunkWaterfallWarning.js +36 -0
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BroadContextsWarning.js +43 -0
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/errors/CacheEffectivenessWarning.js +55 -0
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CircularDependenciesWarning.js +38 -0
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingResourceHintsWarning.js +35 -0
- package/lib/errors/DuplicateModulesWarning.js +45 -0
- package/lib/errors/DynamicExportsWarning.js +30 -0
- package/lib/errors/EmbeddedSourceMapsWarning.js +25 -0
- package/lib/errors/EntrypointOverlapWarning.js +45 -0
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/EvalUsageWarning.js +28 -0
- package/lib/errors/HookWebpackError.js +5 -5
- package/lib/errors/HotspotsWarning.js +57 -0
- package/lib/errors/IgnoreErrorModuleFactory.js +7 -3
- package/lib/errors/InlinedAssetsWarning.js +36 -0
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/LargeModulesWarning.js +45 -0
- package/lib/errors/LegacyJavascriptWarning.js +48 -0
- package/lib/errors/MissingSideEffectsWarning.js +36 -0
- package/lib/errors/MixedExportsWarning.js +41 -0
- package/lib/errors/ModuleDependencyError.js +13 -16
- package/lib/errors/ModuleDependencyWarning.js +5 -15
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +2 -2
- package/lib/errors/ModuleParseError.js +1 -2
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/NodeStuffInWebError.js +1 -1
- package/lib/errors/OsDependentRuleWarning.js +31 -0
- package/lib/errors/PureAnnotationsWarning.js +36 -0
- package/lib/errors/RedundantDynamicImportWarning.js +31 -0
- package/lib/errors/ScopeHoistingBailoutsWarning.js +41 -0
- package/lib/errors/SplitChunksCappedWarning.js +41 -0
- package/lib/errors/TinyChunksWarning.js +40 -0
- package/lib/errors/TopLevelThisWarning.js +34 -0
- package/lib/errors/UnsplitVendorsWarning.js +42 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/errors/UnusedAliasesWarning.js +29 -0
- package/lib/errors/UnusedDefinesWarning.js +29 -0
- package/lib/errors/UnusedExternalsWarning.js +29 -0
- package/lib/errors/UnusedReexportsWarning.js +42 -0
- package/lib/errors/UnusedRuleWarning.js +29 -0
- package/lib/errors/WebpackError.js +9 -5
- package/lib/errors/deriveStackFromNestedError.js +90 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +37 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +89 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +155 -62
- package/lib/hmr/HotModuleReplacement.runtime.js +24 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
- package/lib/hmr/LazyCompilationPlugin.js +45 -24
- package/lib/hmr/lazyCompilationBackend.js +9 -6
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +277 -77
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +282 -162
- package/lib/html/HtmlParser.js +31 -86
- package/lib/html/data.js +1928 -0
- package/lib/html/htmlMinify.js +288 -0
- package/lib/html/syntax.js +5557 -1155
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +1 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +2 -2
- package/lib/ids/HashedModuleIdsPlugin.js +6 -2
- package/lib/ids/IdHelpers.js +7 -8
- package/lib/ids/NamedChunkIdsPlugin.js +1 -1
- package/lib/ids/NamedModuleIdsPlugin.js +1 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +2 -2
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -3
- package/lib/ids/OccurrenceModuleIdsPlugin.js +7 -3
- package/lib/ids/SyncModuleIdsPlugin.js +4 -4
- package/lib/index.js +10 -0
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +3 -3
- package/lib/javascript/BasicEvaluatedExpression.js +18 -14
- package/lib/javascript/ChunkFormatHelpers.js +6 -6
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +11 -5
- package/lib/javascript/EnableChunkLoadingPlugin.js +2 -2
- package/lib/javascript/JavascriptGenerator.js +65 -165
- package/lib/javascript/JavascriptModule.js +9 -3
- package/lib/javascript/JavascriptModulesPlugin.js +98 -113
- package/lib/javascript/JavascriptParser.js +242 -99
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/ScopeAnalyzer.js +1094 -0
- package/lib/javascript/StartupHelpers.js +55 -9
- package/lib/javascript/syntax.js +2678 -232
- package/lib/json/JsonData.js +8 -4
- package/lib/json/JsonGenerator.js +38 -16
- package/lib/json/JsonModule.js +7 -3
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -6
- package/lib/library/AbstractLibraryPlugin.js +20 -14
- package/lib/library/AmdLibraryPlugin.js +11 -7
- package/lib/library/AssignLibraryPlugin.js +19 -13
- package/lib/library/EnableLibraryPlugin.js +2 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +15 -8
- package/lib/library/JsonpLibraryPlugin.js +11 -7
- package/lib/library/ModuleLibraryPlugin.js +256 -64
- package/lib/library/SystemLibraryPlugin.js +12 -8
- package/lib/library/UmdLibraryPlugin.js +62 -25
- package/lib/loaders/LoaderRunner.js +14 -1
- package/lib/loaders/loadLoader.js +8 -4
- package/lib/logging/createConsoleLogger.js +7 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +36 -22
- package/lib/node/NodeEnvironmentPlugin.js +17 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -3
- package/lib/node/NodeTemplatePlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +70 -9
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +72 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -16
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +985 -470
- package/lib/optimize/ConstExportsPlugin.js +11 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +9 -5
- package/lib/optimize/InnerGraph.js +28 -12
- package/lib/optimize/InnerGraphPlugin.js +23 -18
- package/lib/optimize/LimitChunkCountPlugin.js +7 -3
- package/lib/optimize/MangleExportsPlugin.js +7 -8
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -3
- package/lib/optimize/MinChunkSizePlugin.js +7 -3
- package/lib/optimize/ModuleConcatenationPlugin.js +51 -35
- package/lib/optimize/RealContentHashPlugin.js +10 -6
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/RuntimeChunkPlugin.js +2 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +262 -39
- package/lib/optimize/SplitChunksPlugin.js +86 -24
- package/lib/performance/AssetsOverSizeLimitWarning.js +10 -2
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +136 -0
- package/lib/performance/BroadContextsPlugin.js +142 -0
- package/lib/performance/CacheEffectivenessPlugin.js +125 -0
- package/lib/performance/ConflictingResourceHintsPlugin.js +99 -0
- package/lib/performance/DuplicateModulesPlugin.js +93 -0
- package/lib/performance/DuplicatePackagesPlugin.js +119 -0
- package/lib/performance/DuplicatePackagesWarning.js +84 -0
- package/lib/performance/DynamicExportsPlugin.js +120 -0
- package/lib/performance/EmbeddedSourceMapsPlugin.js +71 -0
- package/lib/performance/EntrypointOverlapPlugin.js +122 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -1
- package/lib/performance/EvalUsagePlugin.js +115 -0
- package/lib/performance/HotspotsPlugin.js +296 -0
- package/lib/performance/InlinedAssetsPlugin.js +99 -0
- package/lib/performance/LargeModulesPlugin.js +126 -0
- package/lib/performance/LegacyJavascriptPlugin.js +139 -0
- package/lib/performance/MissingSideEffectsPlugin.js +138 -0
- package/lib/performance/MixedExportsPlugin.js +136 -0
- package/lib/performance/OsDependentRuleWarningPlugin.js +178 -0
- package/lib/performance/PureAnnotationsPlugin.js +219 -0
- package/lib/performance/RedundantDynamicImportsPlugin.js +225 -0
- package/lib/performance/RuntimeInLargeChunkWarning.js +27 -0
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +164 -0
- package/lib/performance/SizeLimitsPlugin.js +139 -7
- package/lib/performance/SplitChunksCappedPlugin.js +99 -0
- package/lib/performance/TinyChunksPlugin.js +128 -0
- package/lib/performance/TopLevelThisPlugin.js +208 -0
- package/lib/performance/UnsplitVendorsPlugin.js +112 -0
- package/lib/performance/UnusedAliasesPlugin.js +253 -0
- package/lib/performance/UnusedDefinesPlugin.js +87 -0
- package/lib/performance/UnusedExternalsPlugin.js +110 -0
- package/lib/performance/UnusedReexportsPlugin.js +159 -0
- package/lib/performance/UnusedRuleWarningPlugin.js +105 -0
- package/lib/performance/getModuleSize.js +22 -0
- package/lib/performance/getSourceModules.js +22 -0
- package/lib/performance/hasOnlyUnusedExports.js +40 -0
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +24 -10
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +63 -46
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +2 -3
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +295 -78
- package/lib/prefetch/ResourceHintRuntimeModule.js +1 -21
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -133
- package/lib/prefetch/parseResourceHintOptions.js +31 -4
- package/lib/rules/BasicEffectRulePlugin.js +2 -2
- package/lib/rules/BasicMatcherRulePlugin.js +8 -4
- package/lib/rules/GlobMatcherRulePlugin.js +68 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +12 -5
- package/lib/rules/RuleSetCompiler.js +146 -12
- package/lib/rules/UseEffectRulePlugin.js +18 -11
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +11 -1
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +15 -20
- package/lib/runtime/BaseUriRuntimeModule.js +33 -7
- package/lib/runtime/ChunkNameRuntimeModule.js +10 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +11 -1
- package/lib/runtime/CompatRuntimeModule.js +5 -3
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +90 -0
- package/lib/runtime/ConstructRequireRuntimeModule.js +52 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +8 -6
- package/lib/runtime/CreateScriptRuntimeModule.js +11 -1
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +11 -1
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +56 -38
- package/lib/runtime/EnsureChunkRuntimeModule.js +18 -2
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +62 -37
- package/lib/runtime/GetFullHashRuntimeModule.js +12 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +12 -2
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -2
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +16 -3
- package/lib/runtime/GlobalRuntimeModule.js +18 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +12 -2
- package/lib/runtime/LoadScriptRuntimeModule.js +2 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +23 -6
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +22 -6
- package/lib/runtime/NonceRuntimeModule.js +10 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -3
- package/lib/runtime/PublicPathRuntimeModule.js +12 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +11 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +12 -2
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +11 -1
- package/lib/runtime/StartupChunkDependenciesPlugin.js +18 -9
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +3 -3
- package/lib/runtime/StartupEntrypointRuntimeModule.js +21 -4
- package/lib/runtime/SystemContextRuntimeModule.js +10 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -1
- package/lib/runtime/WorkerRuntimeModule.js +11 -1
- package/lib/runtime/baseUri.js +63 -0
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +24 -15
- package/lib/schemes/VirtualUrlPlugin.js +13 -7
- package/lib/serialization/AggregateErrorSerializer.js +1 -1
- package/lib/serialization/BinaryMiddleware.js +4 -4
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +7 -7
- package/lib/serialization/ObjectMiddleware.js +139 -114
- package/lib/serialization/PlainObjectSerializer.js +19 -16
- package/lib/sharing/ConsumeSharedModule.js +30 -21
- package/lib/sharing/ConsumeSharedPlugin.js +18 -10
- package/lib/sharing/ConsumeSharedRuntimeModule.js +6 -9
- package/lib/sharing/ProvideSharedModule.js +25 -16
- package/lib/sharing/ProvideSharedModuleFactory.js +7 -3
- package/lib/sharing/ProvideSharedPlugin.js +8 -4
- package/lib/sharing/SharePlugin.js +17 -5
- package/lib/sharing/ShareRuntimeModule.js +4 -4
- package/lib/sharing/resolveMatchedConfigs.js +9 -6
- package/lib/sharing/utils.js +1 -3
- package/lib/stats/DefaultStatsFactoryPlugin.js +50 -29
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +36 -26
- package/lib/stats/StatsFactory.js +25 -26
- package/lib/stats/StatsPrinter.js +16 -12
- package/lib/typescript/TypeScriptPlugin.js +12 -14
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/AsyncQueue.js +4 -3
- package/lib/util/Hash.js +5 -1
- package/lib/util/LazySet.js +35 -22
- package/lib/util/LocConverter.js +36 -13
- package/lib/util/SourceProcessor.js +1050 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/chainedImports.js +9 -5
- package/lib/util/cleverMerge.js +1 -1
- package/lib/util/comparators.js +45 -14
- package/lib/util/concatenate.js +203 -77
- package/lib/util/conventions.js +5 -1
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/dataURL.js +225 -1
- package/lib/util/extractSourceMap.js +4 -3
- package/lib/util/findCaseMismatch.js +139 -0
- package/lib/util/formatLocation.js +1 -2
- package/lib/util/fs.js +22 -5
- package/lib/util/globUtils.js +298 -24
- package/lib/util/hash/BatchedHash.js +5 -1
- package/lib/util/hash/BulkUpdateHash.js +5 -1
- package/lib/util/hash/DebugHash.js +5 -1
- package/lib/util/hash/hash-digest.js +6 -2
- package/lib/util/identifier.js +4 -0
- package/lib/util/implicitTypeLoaderFallback.js +1 -1
- package/lib/util/internalSerializables.js +6 -0
- package/lib/util/lazyModule.js +56 -0
- package/lib/util/makeSerializable.js +7 -3
- package/lib/util/matchAlias.js +25 -0
- package/lib/util/mimeTypes.js +11 -5
- package/lib/util/nonNumericOnlyHash.js +4 -3
- package/lib/util/parseJson.js +5 -3
- package/lib/util/preloadModuleType.js +32 -0
- package/lib/util/registerExternalSerializer.js +7 -5
- package/lib/util/runtime.js +2 -2
- package/lib/util/semver.js +1 -1
- package/lib/util/serialization.js +28 -28
- package/lib/util/source.js +2 -2
- package/lib/util/traverseDestructuringAssignmentProperties.js +6 -2
- package/lib/wasm/EnableWasmLoadingPlugin.js +10 -8
- package/lib/wasm/wasmModuleFilename.js +54 -0
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +41 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +43 -21
- package/lib/wasm-async/AsyncWasmModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +4 -5
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +57 -17
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +34 -18
- package/lib/wasm-async/AsyncWebAssemblyParser.js +9 -8
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +34 -8
- package/lib/wasm-sync/SyncWasmModule.js +2 -2
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +18 -13
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -5
- package/lib/wasm-sync/WebAssemblyGenerator.js +18 -17
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +4 -4
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +7 -7
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +24 -11
- package/lib/wasm-sync/WebAssemblyParser.js +4 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/FetchCompileAsyncWasmPlugin.js +101 -19
- package/lib/web/FetchCompileWasmPlugin.js +46 -16
- package/lib/web/JsonpChunkLoadingPlugin.js +47 -23
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +50 -20
- package/lib/web/JsonpTemplatePlugin.js +2 -2
- package/lib/webpack.js +22 -11
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +60 -26
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +30 -32
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +1 -0
- package/package.json +32 -25
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +670 -36
- package/schemas/plugins/HtmlParserOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.json +10 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +10 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/types.d.ts +3144 -454
- package/lib/runtime/CommonJsWrapRuntimeModule.js +0 -37
package/lib/RuntimePlugin.js
CHANGED
|
@@ -6,54 +6,130 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
9
|
-
const {
|
|
9
|
+
const {
|
|
10
|
+
getPresentKinds,
|
|
11
|
+
usesFullHashDigest
|
|
12
|
+
} = require("./TemplatedPathPlugin");
|
|
13
|
+
const CssModulesPlugin = require("./css/CssModulesPlugin");
|
|
10
14
|
const RuntimeRequirementsDependency = require("./dependencies/RuntimeRequirementsDependency");
|
|
11
15
|
const JavascriptModulesPlugin = require("./javascript/JavascriptModulesPlugin");
|
|
12
|
-
const AsyncModuleGeneratorRuntimeModule = require("./runtime/AsyncModuleGeneratorRuntimeModule");
|
|
13
|
-
const AsyncModuleRuntimeModule = require("./runtime/AsyncModuleRuntimeModule");
|
|
14
|
-
const AutoPublicPathRuntimeModule = require("./runtime/AutoPublicPathRuntimeModule");
|
|
15
|
-
const BaseUriRuntimeModule = require("./runtime/BaseUriRuntimeModule");
|
|
16
|
-
const CommonJsWrapRuntimeModule = require("./runtime/CommonJsWrapRuntimeModule");
|
|
17
|
-
const CompatGetDefaultExportRuntimeModule = require("./runtime/CompatGetDefaultExportRuntimeModule");
|
|
18
|
-
const CompatRuntimeModule = require("./runtime/CompatRuntimeModule");
|
|
19
|
-
const CreateFakeNamespaceObjectRuntimeModule = require("./runtime/CreateFakeNamespaceObjectRuntimeModule");
|
|
20
|
-
const CreateScriptRuntimeModule = require("./runtime/CreateScriptRuntimeModule");
|
|
21
|
-
const CreateScriptUrlRuntimeModule = require("./runtime/CreateScriptUrlRuntimeModule");
|
|
22
|
-
const DefinePropertyGettersRuntimeModule = require("./runtime/DefinePropertyGettersRuntimeModule");
|
|
23
|
-
const EnsureChunkRuntimeModule = require("./runtime/EnsureChunkRuntimeModule");
|
|
24
|
-
const GetChunkFilenameRuntimeModule = require("./runtime/GetChunkFilenameRuntimeModule");
|
|
25
|
-
const GetMainFilenameRuntimeModule = require("./runtime/GetMainFilenameRuntimeModule");
|
|
26
|
-
const GetTrustedTypesPolicyRuntimeModule = require("./runtime/GetTrustedTypesPolicyRuntimeModule");
|
|
27
|
-
const GetWorkletBootstrapRuntimeModule = require("./runtime/GetWorkletBootstrapRuntimeModule");
|
|
28
|
-
const GlobalRuntimeModule = require("./runtime/GlobalRuntimeModule");
|
|
29
|
-
const HasOwnPropertyRuntimeModule = require("./runtime/HasOwnPropertyRuntimeModule");
|
|
30
|
-
const LoadScriptRuntimeModule = require("./runtime/LoadScriptRuntimeModule");
|
|
31
|
-
const {
|
|
32
|
-
MakeDeferredNamespaceObjectRuntimeModule,
|
|
33
|
-
MakeOptimizedDeferredNamespaceObjectRuntimeModule
|
|
34
|
-
} = require("./runtime/MakeDeferredNamespaceObjectRuntime");
|
|
35
|
-
const MakeNamespaceObjectRuntimeModule = require("./runtime/MakeNamespaceObjectRuntimeModule");
|
|
36
|
-
const NonceRuntimeModule = require("./runtime/NonceRuntimeModule");
|
|
37
|
-
const OnChunksLoadedRuntimeModule = require("./runtime/OnChunksLoadedRuntimeModule");
|
|
38
|
-
const PublicPathRuntimeModule = require("./runtime/PublicPathRuntimeModule");
|
|
39
|
-
const RelativeUrlRuntimeModule = require("./runtime/RelativeUrlRuntimeModule");
|
|
40
|
-
const RuntimeIdRuntimeModule = require("./runtime/RuntimeIdRuntimeModule");
|
|
41
|
-
const SetAnonymousDefaultNameRuntimeModule = require("./runtime/SetAnonymousDefaultNameRuntimeModule");
|
|
42
|
-
const SystemContextRuntimeModule = require("./runtime/SystemContextRuntimeModule");
|
|
43
|
-
const ToBinaryRuntimeModule = require("./runtime/ToBinaryRuntimeModule");
|
|
44
|
-
const WorkerRuntimeModule = require("./runtime/WorkerRuntimeModule");
|
|
45
|
-
const ShareRuntimeModule = require("./sharing/ShareRuntimeModule");
|
|
46
16
|
const StringXor = require("./util/StringXor");
|
|
47
|
-
const
|
|
17
|
+
const lazyModule = require("./util/lazyModule");
|
|
48
18
|
|
|
49
|
-
/** @
|
|
50
|
-
/** @
|
|
51
|
-
/** @
|
|
19
|
+
/** @import { LibraryOptions } from "../declarations/WebpackOptions" */
|
|
20
|
+
/** @import Chunk from "./Chunk" */
|
|
21
|
+
/** @import { RuntimeRequirements } from "./Module" */
|
|
22
|
+
/** @import Compiler from "./Compiler" */
|
|
23
|
+
/** @import RuntimeModule from "./RuntimeModule" */
|
|
52
24
|
|
|
53
|
-
|
|
54
|
-
|
|
25
|
+
// Each runtime module below is loaded by `_attachPendingRuntimeModules`, so only
|
|
26
|
+
// the builds that emit one pay for it — most reach ~10 of these 30.
|
|
27
|
+
const getCssServerStylesRuntimeModule = lazyModule(() =>
|
|
28
|
+
require("./css/CssServerStylesRuntimeModule")
|
|
29
|
+
);
|
|
30
|
+
const getAsyncModuleGeneratorRuntimeModule = lazyModule(() =>
|
|
31
|
+
require("./runtime/AsyncModuleGeneratorRuntimeModule")
|
|
32
|
+
);
|
|
33
|
+
const getAsyncModuleRuntimeModule = lazyModule(() =>
|
|
34
|
+
require("./runtime/AsyncModuleRuntimeModule")
|
|
35
|
+
);
|
|
36
|
+
const getAutoPublicPathRuntimeModule = lazyModule(() =>
|
|
37
|
+
require("./runtime/AutoPublicPathRuntimeModule")
|
|
38
|
+
);
|
|
39
|
+
const getBaseUriRuntimeModule = lazyModule(() =>
|
|
40
|
+
require("./runtime/BaseUriRuntimeModule")
|
|
41
|
+
);
|
|
42
|
+
const getCompatGetDefaultExportRuntimeModule = lazyModule(() =>
|
|
43
|
+
require("./runtime/CompatGetDefaultExportRuntimeModule")
|
|
44
|
+
);
|
|
45
|
+
const getCompatRuntimeModule = lazyModule(() =>
|
|
46
|
+
require("./runtime/CompatRuntimeModule")
|
|
47
|
+
);
|
|
48
|
+
const getConcatenationWrapRuntimeModule = lazyModule(() =>
|
|
49
|
+
require("./runtime/ConcatenationWrapRuntimeModule")
|
|
50
|
+
);
|
|
51
|
+
const getConstructRequireRuntimeModule = lazyModule(() =>
|
|
52
|
+
require("./runtime/ConstructRequireRuntimeModule")
|
|
53
|
+
);
|
|
54
|
+
const getCreateFakeNamespaceObjectRuntimeModule = lazyModule(() =>
|
|
55
|
+
require("./runtime/CreateFakeNamespaceObjectRuntimeModule")
|
|
56
|
+
);
|
|
57
|
+
const getCreateScriptRuntimeModule = lazyModule(() =>
|
|
58
|
+
require("./runtime/CreateScriptRuntimeModule")
|
|
59
|
+
);
|
|
60
|
+
const getCreateScriptUrlRuntimeModule = lazyModule(() =>
|
|
61
|
+
require("./runtime/CreateScriptUrlRuntimeModule")
|
|
62
|
+
);
|
|
63
|
+
const getDefinePropertyGettersRuntimeModule = lazyModule(() =>
|
|
64
|
+
require("./runtime/DefinePropertyGettersRuntimeModule")
|
|
65
|
+
);
|
|
66
|
+
const getEnsureChunkRuntimeModule = lazyModule(() =>
|
|
67
|
+
require("./runtime/EnsureChunkRuntimeModule")
|
|
68
|
+
);
|
|
69
|
+
const getGetChunkFilenameRuntimeModule = lazyModule(() =>
|
|
70
|
+
require("./runtime/GetChunkFilenameRuntimeModule")
|
|
71
|
+
);
|
|
72
|
+
const getGetMainFilenameRuntimeModule = lazyModule(() =>
|
|
73
|
+
require("./runtime/GetMainFilenameRuntimeModule")
|
|
74
|
+
);
|
|
75
|
+
const getGetTrustedTypesPolicyRuntimeModule = lazyModule(() =>
|
|
76
|
+
require("./runtime/GetTrustedTypesPolicyRuntimeModule")
|
|
77
|
+
);
|
|
78
|
+
const getGetWorkletBootstrapRuntimeModule = lazyModule(() =>
|
|
79
|
+
require("./runtime/GetWorkletBootstrapRuntimeModule")
|
|
80
|
+
);
|
|
81
|
+
const getGlobalRuntimeModule = lazyModule(() =>
|
|
82
|
+
require("./runtime/GlobalRuntimeModule")
|
|
83
|
+
);
|
|
84
|
+
const getHasOwnPropertyRuntimeModule = lazyModule(() =>
|
|
85
|
+
require("./runtime/HasOwnPropertyRuntimeModule")
|
|
86
|
+
);
|
|
87
|
+
const getLoadScriptRuntimeModule = lazyModule(() =>
|
|
88
|
+
require("./runtime/LoadScriptRuntimeModule")
|
|
89
|
+
);
|
|
90
|
+
const getMakeDeferredNamespaceObjectRuntimeModule = lazyModule(
|
|
91
|
+
() =>
|
|
92
|
+
require("./runtime/MakeDeferredNamespaceObjectRuntime")
|
|
93
|
+
.MakeDeferredNamespaceObjectRuntimeModule
|
|
94
|
+
);
|
|
95
|
+
const getMakeOptimizedDeferredNamespaceObjectRuntimeModule = lazyModule(
|
|
96
|
+
() =>
|
|
97
|
+
require("./runtime/MakeDeferredNamespaceObjectRuntime")
|
|
98
|
+
.MakeOptimizedDeferredNamespaceObjectRuntimeModule
|
|
99
|
+
);
|
|
100
|
+
const getMakeNamespaceObjectRuntimeModule = lazyModule(() =>
|
|
101
|
+
require("./runtime/MakeNamespaceObjectRuntimeModule")
|
|
102
|
+
);
|
|
103
|
+
const getNonceRuntimeModule = lazyModule(() =>
|
|
104
|
+
require("./runtime/NonceRuntimeModule")
|
|
105
|
+
);
|
|
106
|
+
const getOnChunksLoadedRuntimeModule = lazyModule(() =>
|
|
107
|
+
require("./runtime/OnChunksLoadedRuntimeModule")
|
|
108
|
+
);
|
|
109
|
+
const getPublicPathRuntimeModule = lazyModule(() =>
|
|
110
|
+
require("./runtime/PublicPathRuntimeModule")
|
|
111
|
+
);
|
|
112
|
+
const getRelativeUrlRuntimeModule = lazyModule(() =>
|
|
113
|
+
require("./runtime/RelativeUrlRuntimeModule")
|
|
114
|
+
);
|
|
115
|
+
const getRuntimeIdRuntimeModule = lazyModule(() =>
|
|
116
|
+
require("./runtime/RuntimeIdRuntimeModule")
|
|
117
|
+
);
|
|
118
|
+
const getSetAnonymousDefaultNameRuntimeModule = lazyModule(() =>
|
|
119
|
+
require("./runtime/SetAnonymousDefaultNameRuntimeModule")
|
|
120
|
+
);
|
|
121
|
+
const getSystemContextRuntimeModule = lazyModule(() =>
|
|
122
|
+
require("./runtime/SystemContextRuntimeModule")
|
|
123
|
+
);
|
|
124
|
+
const getToBinaryRuntimeModule = lazyModule(() =>
|
|
125
|
+
require("./runtime/ToBinaryRuntimeModule")
|
|
126
|
+
);
|
|
127
|
+
const getWorkerRuntimeModule = lazyModule(() =>
|
|
128
|
+
require("./runtime/WorkerRuntimeModule")
|
|
129
|
+
);
|
|
130
|
+
const getShareRuntimeModule = lazyModule(() =>
|
|
131
|
+
require("./sharing/ShareRuntimeModule")
|
|
55
132
|
);
|
|
56
|
-
const getCssModulesPlugin = memoize(() => require("./css/CssModulesPlugin"));
|
|
57
133
|
|
|
58
134
|
const GLOBALS_ON_REQUIRE = [
|
|
59
135
|
RuntimeGlobals.chunkName,
|
|
@@ -66,6 +142,7 @@ const GLOBALS_ON_REQUIRE = [
|
|
|
66
142
|
RuntimeGlobals.definePropertyGetters,
|
|
67
143
|
RuntimeGlobals.ensureChunk,
|
|
68
144
|
RuntimeGlobals.entryModuleId,
|
|
145
|
+
RuntimeGlobals.getCssServerStyles,
|
|
69
146
|
RuntimeGlobals.getFullHash,
|
|
70
147
|
RuntimeGlobals.global,
|
|
71
148
|
RuntimeGlobals.makeNamespaceObject,
|
|
@@ -75,6 +152,8 @@ const GLOBALS_ON_REQUIRE = [
|
|
|
75
152
|
RuntimeGlobals.interceptModuleExecution,
|
|
76
153
|
RuntimeGlobals.publicPath,
|
|
77
154
|
RuntimeGlobals.baseURI,
|
|
155
|
+
RuntimeGlobals.prefetchAsset,
|
|
156
|
+
RuntimeGlobals.preloadAsset,
|
|
78
157
|
RuntimeGlobals.relativeUrl,
|
|
79
158
|
// TODO webpack 6 - rename to nonce, because we use it for CSS too
|
|
80
159
|
RuntimeGlobals.scriptNonce,
|
|
@@ -90,7 +169,9 @@ const GLOBALS_ON_REQUIRE = [
|
|
|
90
169
|
RuntimeGlobals.systemContext,
|
|
91
170
|
RuntimeGlobals.onChunksLoaded,
|
|
92
171
|
RuntimeGlobals.makeOptimizedDeferredNamespaceObject,
|
|
93
|
-
RuntimeGlobals.makeDeferredNamespaceObject
|
|
172
|
+
RuntimeGlobals.makeDeferredNamespaceObject,
|
|
173
|
+
RuntimeGlobals.concatenationWrap,
|
|
174
|
+
RuntimeGlobals.constructRequire
|
|
94
175
|
];
|
|
95
176
|
|
|
96
177
|
const MODULE_DEPENDENCIES = {
|
|
@@ -116,34 +197,38 @@ const TREE_DEPENDENCIES = {
|
|
|
116
197
|
RuntimeGlobals.require
|
|
117
198
|
],
|
|
118
199
|
[RuntimeGlobals.initializeSharing]: [RuntimeGlobals.shareScopeMap],
|
|
119
|
-
[RuntimeGlobals.shareScopeMap]: [RuntimeGlobals.hasOwnProperty]
|
|
200
|
+
[RuntimeGlobals.shareScopeMap]: [RuntimeGlobals.hasOwnProperty],
|
|
201
|
+
[RuntimeGlobals.constructRequire]: [RuntimeGlobals.require]
|
|
120
202
|
};
|
|
121
203
|
|
|
122
204
|
// Tree runtime requirements whose only effect is attaching a zero-arg runtime
|
|
123
205
|
// module to the chunk. Conditional / argument-taking ones stay as explicit taps.
|
|
124
|
-
/** @type {[string, (new () =>
|
|
206
|
+
/** @type {[string, () => Promise<new () => RuntimeModule>][]} */
|
|
125
207
|
const SIMPLE_TREE_RUNTIME_MODULES = [
|
|
126
|
-
[RuntimeGlobals.
|
|
127
|
-
[RuntimeGlobals.makeNamespaceObject, MakeNamespaceObjectRuntimeModule],
|
|
208
|
+
[RuntimeGlobals.makeNamespaceObject, getMakeNamespaceObjectRuntimeModule],
|
|
128
209
|
[
|
|
129
210
|
RuntimeGlobals.createFakeNamespaceObject,
|
|
130
|
-
|
|
211
|
+
getCreateFakeNamespaceObjectRuntimeModule
|
|
131
212
|
],
|
|
132
|
-
[RuntimeGlobals.hasOwnProperty,
|
|
133
|
-
[
|
|
134
|
-
|
|
213
|
+
[RuntimeGlobals.hasOwnProperty, getHasOwnPropertyRuntimeModule],
|
|
214
|
+
[
|
|
215
|
+
RuntimeGlobals.compatGetDefaultExport,
|
|
216
|
+
getCompatGetDefaultExportRuntimeModule
|
|
217
|
+
],
|
|
218
|
+
[RuntimeGlobals.concatenationWrap, getConcatenationWrapRuntimeModule],
|
|
219
|
+
[RuntimeGlobals.constructRequire, getConstructRequireRuntimeModule],
|
|
135
220
|
[
|
|
136
221
|
RuntimeGlobals.setAnonymousDefaultName,
|
|
137
|
-
|
|
222
|
+
getSetAnonymousDefaultNameRuntimeModule
|
|
138
223
|
],
|
|
139
|
-
[RuntimeGlobals.runtimeId,
|
|
140
|
-
[RuntimeGlobals.global,
|
|
141
|
-
[RuntimeGlobals.shareScopeMap,
|
|
142
|
-
[RuntimeGlobals.relativeUrl,
|
|
143
|
-
[RuntimeGlobals.worker,
|
|
144
|
-
[RuntimeGlobals.onChunksLoaded,
|
|
145
|
-
[RuntimeGlobals.scriptNonce,
|
|
146
|
-
[RuntimeGlobals.toBinary,
|
|
224
|
+
[RuntimeGlobals.runtimeId, getRuntimeIdRuntimeModule],
|
|
225
|
+
[RuntimeGlobals.global, getGlobalRuntimeModule],
|
|
226
|
+
[RuntimeGlobals.shareScopeMap, getShareRuntimeModule],
|
|
227
|
+
[RuntimeGlobals.relativeUrl, getRelativeUrlRuntimeModule],
|
|
228
|
+
[RuntimeGlobals.worker, getWorkerRuntimeModule],
|
|
229
|
+
[RuntimeGlobals.onChunksLoaded, getOnChunksLoadedRuntimeModule],
|
|
230
|
+
[RuntimeGlobals.scriptNonce, getNonceRuntimeModule],
|
|
231
|
+
[RuntimeGlobals.toBinary, getToBinaryRuntimeModule]
|
|
147
232
|
];
|
|
148
233
|
|
|
149
234
|
/**
|
|
@@ -155,18 +240,6 @@ const usesFullHash = (template) => {
|
|
|
155
240
|
return kinds.has("fullhash") || kinds.has("hash");
|
|
156
241
|
};
|
|
157
242
|
|
|
158
|
-
// `[fullhash:<digest>]`/`[hash:<digest>]` — a non-numeric first arg is a digest (a
|
|
159
|
-
// numeric one is just a length). The re-encoded full hash must be inlined post-hash
|
|
160
|
-
// rather than read from the runtime `getFullHash()` expression.
|
|
161
|
-
const FULLHASH_DIGEST_REGEXP = /\[(?:fullhash|hash):(?!\d+\])\w/;
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* @param {string} template path template
|
|
165
|
-
* @returns {boolean} true when it references `[fullhash:<digest>]`/`[hash:<digest>]`
|
|
166
|
-
*/
|
|
167
|
-
const usesFullHashWithDigest = (template) =>
|
|
168
|
-
FULLHASH_DIGEST_REGEXP.test(template);
|
|
169
|
-
|
|
170
243
|
const PLUGIN_NAME = "RuntimePlugin";
|
|
171
244
|
|
|
172
245
|
class RuntimePlugin {
|
|
@@ -227,34 +300,52 @@ class RuntimePlugin {
|
|
|
227
300
|
}
|
|
228
301
|
for (const [
|
|
229
302
|
runtimeGlobal,
|
|
230
|
-
|
|
303
|
+
getRuntimeModule
|
|
231
304
|
] of SIMPLE_TREE_RUNTIME_MODULES) {
|
|
232
305
|
compilation.hooks.runtimeRequirementInTree
|
|
233
306
|
.for(runtimeGlobal)
|
|
234
307
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
235
|
-
compilation.
|
|
308
|
+
compilation.addLazyRuntimeModule(
|
|
309
|
+
chunk,
|
|
310
|
+
getRuntimeModule,
|
|
311
|
+
(Ctor) => new Ctor()
|
|
312
|
+
);
|
|
236
313
|
return true;
|
|
237
314
|
});
|
|
238
315
|
}
|
|
316
|
+
compilation.hooks.runtimeRequirementInTree
|
|
317
|
+
.for(RuntimeGlobals.definePropertyGetters)
|
|
318
|
+
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
319
|
+
compilation.addLazyRuntimeModule(
|
|
320
|
+
chunk,
|
|
321
|
+
getDefinePropertyGettersRuntimeModule,
|
|
322
|
+
(Ctor) => new Ctor(runtimeRequirement)
|
|
323
|
+
);
|
|
324
|
+
return true;
|
|
325
|
+
});
|
|
239
326
|
compilation.hooks.runtimeRequirementInTree
|
|
240
327
|
.for(RuntimeGlobals.makeOptimizedDeferredNamespaceObject)
|
|
241
328
|
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
242
|
-
|
|
329
|
+
const asyncModule = runtimeRequirement.has(
|
|
330
|
+
RuntimeGlobals.asyncModule
|
|
331
|
+
);
|
|
332
|
+
compilation.addLazyRuntimeModule(
|
|
243
333
|
chunk,
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
)
|
|
334
|
+
getMakeOptimizedDeferredNamespaceObjectRuntimeModule,
|
|
335
|
+
(Ctor) => new Ctor(asyncModule)
|
|
247
336
|
);
|
|
248
337
|
return true;
|
|
249
338
|
});
|
|
250
339
|
compilation.hooks.runtimeRequirementInTree
|
|
251
340
|
.for(RuntimeGlobals.makeDeferredNamespaceObject)
|
|
252
341
|
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
253
|
-
|
|
342
|
+
const asyncModule = runtimeRequirement.has(
|
|
343
|
+
RuntimeGlobals.asyncModule
|
|
344
|
+
);
|
|
345
|
+
compilation.addLazyRuntimeModule(
|
|
254
346
|
chunk,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
)
|
|
347
|
+
getMakeDeferredNamespaceObjectRuntimeModule,
|
|
348
|
+
(Ctor) => new Ctor(asyncModule)
|
|
258
349
|
);
|
|
259
350
|
return true;
|
|
260
351
|
});
|
|
@@ -270,7 +361,6 @@ class RuntimePlugin {
|
|
|
270
361
|
: globalPublicPath;
|
|
271
362
|
|
|
272
363
|
if (publicPath === "auto") {
|
|
273
|
-
const module = new AutoPublicPathRuntimeModule();
|
|
274
364
|
// A worklet chunk reads `import.meta.url`, so it needs neither the
|
|
275
365
|
// worker-scope detection nor the `globalThis` polyfill.
|
|
276
366
|
if (
|
|
@@ -281,15 +371,24 @@ class RuntimePlugin {
|
|
|
281
371
|
set.add(RuntimeGlobals.global);
|
|
282
372
|
}
|
|
283
373
|
|
|
284
|
-
compilation.
|
|
374
|
+
compilation.addLazyRuntimeModule(
|
|
375
|
+
chunk,
|
|
376
|
+
getAutoPublicPathRuntimeModule,
|
|
377
|
+
(Ctor) => new Ctor()
|
|
378
|
+
);
|
|
285
379
|
} else {
|
|
286
|
-
const
|
|
380
|
+
const fullHash =
|
|
381
|
+
typeof publicPath !== "string" || usesFullHash(publicPath);
|
|
287
382
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
383
|
+
compilation.addLazyRuntimeModule(
|
|
384
|
+
chunk,
|
|
385
|
+
getPublicPathRuntimeModule,
|
|
386
|
+
(Ctor) => {
|
|
387
|
+
const module = new Ctor(publicPath);
|
|
388
|
+
if (fullHash) module.fullHash = true;
|
|
389
|
+
return module;
|
|
390
|
+
}
|
|
391
|
+
);
|
|
293
392
|
}
|
|
294
393
|
return true;
|
|
295
394
|
});
|
|
@@ -297,9 +396,10 @@ class RuntimePlugin {
|
|
|
297
396
|
.for(RuntimeGlobals.asyncModule)
|
|
298
397
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
299
398
|
const experiments = compilation.options.experiments;
|
|
300
|
-
compilation.
|
|
399
|
+
compilation.addLazyRuntimeModule(
|
|
301
400
|
chunk,
|
|
302
|
-
|
|
401
|
+
getAsyncModuleRuntimeModule,
|
|
402
|
+
(Ctor) => new Ctor(experiments.deferImport)
|
|
303
403
|
);
|
|
304
404
|
return true;
|
|
305
405
|
});
|
|
@@ -307,9 +407,10 @@ class RuntimePlugin {
|
|
|
307
407
|
.for(RuntimeGlobals.asyncModuleGenerator)
|
|
308
408
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
309
409
|
set.add(RuntimeGlobals.asyncModule);
|
|
310
|
-
compilation.
|
|
410
|
+
compilation.addLazyRuntimeModule(
|
|
311
411
|
chunk,
|
|
312
|
-
|
|
412
|
+
getAsyncModuleGeneratorRuntimeModule,
|
|
413
|
+
(Ctor) => new Ctor()
|
|
313
414
|
);
|
|
314
415
|
return true;
|
|
315
416
|
});
|
|
@@ -324,9 +425,10 @@ class RuntimePlugin {
|
|
|
324
425
|
(compilation.outputOptions.library).type;
|
|
325
426
|
|
|
326
427
|
if (libraryType === "system") {
|
|
327
|
-
compilation.
|
|
428
|
+
compilation.addLazyRuntimeModule(
|
|
328
429
|
chunk,
|
|
329
|
-
|
|
430
|
+
getSystemContextRuntimeModule,
|
|
431
|
+
(Ctor) => new Ctor()
|
|
330
432
|
);
|
|
331
433
|
}
|
|
332
434
|
return true;
|
|
@@ -340,27 +442,27 @@ class RuntimePlugin {
|
|
|
340
442
|
) {
|
|
341
443
|
set.add(RuntimeGlobals.getFullHash);
|
|
342
444
|
}
|
|
343
|
-
|
|
445
|
+
const hmr = set.has(RuntimeGlobals.hmrDownloadUpdateHandlers);
|
|
446
|
+
const fullHashDigest =
|
|
447
|
+
typeof compilation.outputOptions.chunkFilename === "string" &&
|
|
448
|
+
usesFullHashDigest(compilation.outputOptions.chunkFilename);
|
|
449
|
+
compilation.addLazyRuntimeModule(
|
|
344
450
|
chunk,
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
javascriptModulesPlugin.getChunkFilenameTemplate(
|
|
451
|
+
getGetChunkFilenameRuntimeModule,
|
|
452
|
+
(Ctor) =>
|
|
453
|
+
new Ctor(
|
|
454
|
+
"javascript",
|
|
455
|
+
"javascript",
|
|
456
|
+
RuntimeGlobals.getChunkScriptFilename,
|
|
457
|
+
(/** @type {Chunk} */ chunk) =>
|
|
458
|
+
JavascriptModulesPlugin.chunkHasJs(chunk, chunkGraph) &&
|
|
459
|
+
JavascriptModulesPlugin.getChunkFilenameTemplate(
|
|
355
460
|
chunk,
|
|
356
461
|
compilation.outputOptions
|
|
357
|
-
)
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
typeof compilation.outputOptions.chunkFilename === "string" &&
|
|
362
|
-
usesFullHashWithDigest(compilation.outputOptions.chunkFilename)
|
|
363
|
-
)
|
|
462
|
+
),
|
|
463
|
+
hmr,
|
|
464
|
+
fullHashDigest
|
|
465
|
+
)
|
|
364
466
|
);
|
|
365
467
|
return true;
|
|
366
468
|
});
|
|
@@ -368,9 +470,10 @@ class RuntimePlugin {
|
|
|
368
470
|
.for(RuntimeGlobals.getWorkletBootstrap)
|
|
369
471
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
370
472
|
set.add(RuntimeGlobals.baseURI);
|
|
371
|
-
compilation.
|
|
473
|
+
compilation.addLazyRuntimeModule(
|
|
372
474
|
chunk,
|
|
373
|
-
|
|
475
|
+
getGetWorkletBootstrapRuntimeModule,
|
|
476
|
+
(Ctor) => new Ctor()
|
|
374
477
|
);
|
|
375
478
|
return true;
|
|
376
479
|
});
|
|
@@ -383,29 +486,32 @@ class RuntimePlugin {
|
|
|
383
486
|
) {
|
|
384
487
|
set.add(RuntimeGlobals.getFullHash);
|
|
385
488
|
}
|
|
386
|
-
|
|
489
|
+
const hmr = set.has(RuntimeGlobals.hmrDownloadUpdateHandlers);
|
|
490
|
+
const fullHashDigest =
|
|
491
|
+
typeof compilation.outputOptions.cssChunkFilename === "string" &&
|
|
492
|
+
usesFullHashDigest(compilation.outputOptions.cssChunkFilename);
|
|
493
|
+
compilation.addLazyRuntimeModule(
|
|
387
494
|
chunk,
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
495
|
+
getGetChunkFilenameRuntimeModule,
|
|
496
|
+
(Ctor) =>
|
|
497
|
+
new Ctor(
|
|
498
|
+
"css",
|
|
499
|
+
"css",
|
|
500
|
+
RuntimeGlobals.getChunkCssFilename,
|
|
501
|
+
(/** @type {Chunk} */ chunk) => {
|
|
502
|
+
const cssModulePlugin = CssModulesPlugin;
|
|
394
503
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
compilation.outputOptions.cssChunkFilename
|
|
407
|
-
)
|
|
408
|
-
)
|
|
504
|
+
return (
|
|
505
|
+
cssModulePlugin.chunkHasCss(chunk, chunkGraph) &&
|
|
506
|
+
cssModulePlugin.getChunkFilenameTemplate(
|
|
507
|
+
chunk,
|
|
508
|
+
compilation.outputOptions
|
|
509
|
+
)
|
|
510
|
+
);
|
|
511
|
+
},
|
|
512
|
+
hmr,
|
|
513
|
+
fullHashDigest
|
|
514
|
+
)
|
|
409
515
|
);
|
|
410
516
|
return true;
|
|
411
517
|
});
|
|
@@ -415,20 +521,40 @@ class RuntimePlugin {
|
|
|
415
521
|
if (usesFullHash(compilation.outputOptions.hotUpdateChunkFilename)) {
|
|
416
522
|
set.add(RuntimeGlobals.getFullHash);
|
|
417
523
|
}
|
|
418
|
-
|
|
524
|
+
const fullHashDigest =
|
|
525
|
+
typeof compilation.outputOptions.hotUpdateChunkFilename ===
|
|
526
|
+
"string" &&
|
|
527
|
+
usesFullHashDigest(
|
|
528
|
+
compilation.outputOptions.hotUpdateChunkFilename
|
|
529
|
+
);
|
|
530
|
+
compilation.addLazyRuntimeModule(
|
|
531
|
+
chunk,
|
|
532
|
+
getGetChunkFilenameRuntimeModule,
|
|
533
|
+
(Ctor) =>
|
|
534
|
+
new Ctor(
|
|
535
|
+
"javascript",
|
|
536
|
+
"javascript update",
|
|
537
|
+
RuntimeGlobals.getChunkUpdateScriptFilename,
|
|
538
|
+
(/** @type {Chunk} */ _chunk) =>
|
|
539
|
+
compilation.outputOptions.hotUpdateChunkFilename,
|
|
540
|
+
true,
|
|
541
|
+
fullHashDigest
|
|
542
|
+
)
|
|
543
|
+
);
|
|
544
|
+
return true;
|
|
545
|
+
});
|
|
546
|
+
compilation.hooks.runtimeRequirementInTree
|
|
547
|
+
.for(RuntimeGlobals.getCssServerStyles)
|
|
548
|
+
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
549
|
+
// The registry lives on the global, reached via the polyfill when
|
|
550
|
+
// the target has no `globalThis`.
|
|
551
|
+
if (!compilation.outputOptions.environment.globalThis) {
|
|
552
|
+
set.add(RuntimeGlobals.global);
|
|
553
|
+
}
|
|
554
|
+
compilation.addLazyRuntimeModule(
|
|
419
555
|
chunk,
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
"javascript update",
|
|
423
|
-
RuntimeGlobals.getChunkUpdateScriptFilename,
|
|
424
|
-
(_chunk) => compilation.outputOptions.hotUpdateChunkFilename,
|
|
425
|
-
true,
|
|
426
|
-
typeof compilation.outputOptions.hotUpdateChunkFilename ===
|
|
427
|
-
"string" &&
|
|
428
|
-
usesFullHashWithDigest(
|
|
429
|
-
compilation.outputOptions.hotUpdateChunkFilename
|
|
430
|
-
)
|
|
431
|
-
)
|
|
556
|
+
getCssServerStylesRuntimeModule,
|
|
557
|
+
(Ctor) => new Ctor()
|
|
432
558
|
);
|
|
433
559
|
return true;
|
|
434
560
|
});
|
|
@@ -438,16 +564,35 @@ class RuntimePlugin {
|
|
|
438
564
|
if (usesFullHash(compilation.outputOptions.hotUpdateMainFilename)) {
|
|
439
565
|
set.add(RuntimeGlobals.getFullHash);
|
|
440
566
|
}
|
|
441
|
-
compilation.
|
|
567
|
+
compilation.addLazyRuntimeModule(
|
|
442
568
|
chunk,
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
569
|
+
getGetMainFilenameRuntimeModule,
|
|
570
|
+
(Ctor) =>
|
|
571
|
+
new Ctor(
|
|
572
|
+
"update manifest",
|
|
573
|
+
RuntimeGlobals.getUpdateManifestFilename,
|
|
574
|
+
compilation.outputOptions.hotUpdateMainFilename
|
|
575
|
+
)
|
|
448
576
|
);
|
|
449
577
|
return true;
|
|
450
578
|
});
|
|
579
|
+
/** @type {WeakSet<Chunk>} */
|
|
580
|
+
const ensureChunkModuleAdded = new WeakSet();
|
|
581
|
+
/**
|
|
582
|
+
* The module carries the handler map as well as `ensureChunk`, and an
|
|
583
|
+
* analyzable `import()` needs the map without the function around it.
|
|
584
|
+
* @param {Chunk} chunk the chunk
|
|
585
|
+
* @param {RuntimeRequirements} set the tree's requirements, filled in place
|
|
586
|
+
*/
|
|
587
|
+
const addEnsureChunkRuntimeModule = (chunk, set) => {
|
|
588
|
+
if (ensureChunkModuleAdded.has(chunk)) return;
|
|
589
|
+
ensureChunkModuleAdded.add(chunk);
|
|
590
|
+
compilation.addLazyRuntimeModule(
|
|
591
|
+
chunk,
|
|
592
|
+
getEnsureChunkRuntimeModule,
|
|
593
|
+
(Ctor) => new Ctor(set)
|
|
594
|
+
);
|
|
595
|
+
};
|
|
451
596
|
compilation.hooks.runtimeRequirementInTree
|
|
452
597
|
.for(RuntimeGlobals.ensureChunk)
|
|
453
598
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
@@ -455,12 +600,15 @@ class RuntimePlugin {
|
|
|
455
600
|
if (hasAsyncChunks) {
|
|
456
601
|
set.add(RuntimeGlobals.ensureChunkHandlers);
|
|
457
602
|
}
|
|
458
|
-
|
|
459
|
-
chunk,
|
|
460
|
-
new EnsureChunkRuntimeModule(set)
|
|
461
|
-
);
|
|
603
|
+
addEnsureChunkRuntimeModule(chunk, set);
|
|
462
604
|
return true;
|
|
463
605
|
});
|
|
606
|
+
compilation.hooks.runtimeRequirementInTree
|
|
607
|
+
.for(RuntimeGlobals.ensureChunkHandlers)
|
|
608
|
+
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
609
|
+
// No bail: every other plugin attaching a handler taps this same key.
|
|
610
|
+
addEnsureChunkRuntimeModule(chunk, set);
|
|
611
|
+
});
|
|
464
612
|
compilation.hooks.runtimeRequirementInTree
|
|
465
613
|
.for(RuntimeGlobals.ensureChunkIncludeEntries)
|
|
466
614
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
@@ -476,9 +624,10 @@ class RuntimePlugin {
|
|
|
476
624
|
set.add(RuntimeGlobals.createScriptUrl);
|
|
477
625
|
}
|
|
478
626
|
const withFetchPriority = set.has(RuntimeGlobals.hasFetchPriority);
|
|
479
|
-
compilation.
|
|
627
|
+
compilation.addLazyRuntimeModule(
|
|
480
628
|
chunk,
|
|
481
|
-
|
|
629
|
+
getLoadScriptRuntimeModule,
|
|
630
|
+
(Ctor) => new Ctor(withCreateScriptUrl, withFetchPriority)
|
|
482
631
|
);
|
|
483
632
|
return true;
|
|
484
633
|
});
|
|
@@ -488,7 +637,11 @@ class RuntimePlugin {
|
|
|
488
637
|
if (compilation.outputOptions.trustedTypes) {
|
|
489
638
|
set.add(RuntimeGlobals.getTrustedTypesPolicy);
|
|
490
639
|
}
|
|
491
|
-
compilation.
|
|
640
|
+
compilation.addLazyRuntimeModule(
|
|
641
|
+
chunk,
|
|
642
|
+
getCreateScriptRuntimeModule,
|
|
643
|
+
(Ctor) => new Ctor()
|
|
644
|
+
);
|
|
492
645
|
return true;
|
|
493
646
|
});
|
|
494
647
|
compilation.hooks.runtimeRequirementInTree
|
|
@@ -497,18 +650,20 @@ class RuntimePlugin {
|
|
|
497
650
|
if (compilation.outputOptions.trustedTypes) {
|
|
498
651
|
set.add(RuntimeGlobals.getTrustedTypesPolicy);
|
|
499
652
|
}
|
|
500
|
-
compilation.
|
|
653
|
+
compilation.addLazyRuntimeModule(
|
|
501
654
|
chunk,
|
|
502
|
-
|
|
655
|
+
getCreateScriptUrlRuntimeModule,
|
|
656
|
+
(Ctor) => new Ctor()
|
|
503
657
|
);
|
|
504
658
|
return true;
|
|
505
659
|
});
|
|
506
660
|
compilation.hooks.runtimeRequirementInTree
|
|
507
661
|
.for(RuntimeGlobals.getTrustedTypesPolicy)
|
|
508
662
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
509
|
-
compilation.
|
|
663
|
+
compilation.addLazyRuntimeModule(
|
|
510
664
|
chunk,
|
|
511
|
-
|
|
665
|
+
getGetTrustedTypesPolicyRuntimeModule,
|
|
666
|
+
(Ctor) => new Ctor(set)
|
|
512
667
|
);
|
|
513
668
|
return true;
|
|
514
669
|
});
|
|
@@ -516,7 +671,11 @@ class RuntimePlugin {
|
|
|
516
671
|
.for(RuntimeGlobals.baseURI)
|
|
517
672
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
518
673
|
if (isChunkLoadingDisabledForChunk(chunk)) {
|
|
519
|
-
compilation.
|
|
674
|
+
compilation.addLazyRuntimeModule(
|
|
675
|
+
chunk,
|
|
676
|
+
getBaseUriRuntimeModule,
|
|
677
|
+
(Ctor) => new Ctor()
|
|
678
|
+
);
|
|
520
679
|
return true;
|
|
521
680
|
}
|
|
522
681
|
});
|
|
@@ -531,7 +690,11 @@ class RuntimePlugin {
|
|
|
531
690
|
mainTemplate.hooks.requireEnsure.isUsed() ||
|
|
532
691
|
mainTemplate.hooks.requireExtensions.isUsed()
|
|
533
692
|
) {
|
|
534
|
-
compilation.
|
|
693
|
+
compilation.addLazyRuntimeModule(
|
|
694
|
+
chunk,
|
|
695
|
+
getCompatRuntimeModule,
|
|
696
|
+
(Ctor) => new Ctor()
|
|
697
|
+
);
|
|
535
698
|
}
|
|
536
699
|
}
|
|
537
700
|
);
|