@depup/webpack 5.109.2-depup.0 → 5.110.3-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 +46 -35
- 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 +107 -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 +91 -26
- 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 +111 -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 +40 -49
- 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 +152 -103
- 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 +335 -169
- package/lib/RuntimeTemplate.js +2761 -316
- 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 +12 -6
- 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 +270 -78
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +46 -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 +84 -32
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +172 -100
- 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 +5334 -0
- package/lib/css/syntax.js +9647 -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 +170 -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 +24 -11
- 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 +23 -14
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +80 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +286 -80
- 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 +121 -60
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +124 -38
- package/lib/dependencies/HarmonyImportGuard.js +20 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +152 -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 +49 -31
- 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 +45 -5
- package/lib/dependencies/ImportDependency.js +33 -50
- 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 +73 -49
- 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 +50 -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 +47 -28
- package/lib/dependencies/WorkerDependency.js +22 -22
- package/lib/dependencies/WorkletDependency.js +18 -21
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/importOptionsCheck.js +47 -0
- 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/DotenvFileError.js +29 -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/ImportedBindingAssignmentError.js +30 -0
- 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 +86 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +161 -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 +366 -200
- 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 +6034 -1384
- 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 +103 -123
- 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 +47 -6
- 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 +65 -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 +1030 -476
- package/lib/optimize/ConstExportsPlugin.js +16 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +130 -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 +121 -41
- 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 -79
- 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 +6 -2
- 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 +34 -7
- 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 +46 -20
- 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 +22 -9
- 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 +20 -24
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/ArrayQueue.js +3 -3
- 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 +1066 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/URLAbsoluteSpecifier.js +3 -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 +10 -2
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/createMappings.js +25 -3
- 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 +8 -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/removeBOM.js +82 -1
- 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 +43 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +45 -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 +29 -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 +105 -19
- package/lib/web/FetchCompileWasmPlugin.js +48 -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 +667 -34
- 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 +3223 -465
- 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 = {
|
|
@@ -108,6 +189,9 @@ const TREE_DEPENDENCIES = {
|
|
|
108
189
|
RuntimeGlobals.makeNamespaceObject,
|
|
109
190
|
RuntimeGlobals.require
|
|
110
191
|
],
|
|
192
|
+
[RuntimeGlobals.deferredModuleAsyncTransitiveDependencies]: [
|
|
193
|
+
RuntimeGlobals.asyncModule
|
|
194
|
+
],
|
|
111
195
|
[RuntimeGlobals.makeOptimizedDeferredNamespaceObject]: [
|
|
112
196
|
RuntimeGlobals.require
|
|
113
197
|
],
|
|
@@ -116,34 +200,38 @@ const TREE_DEPENDENCIES = {
|
|
|
116
200
|
RuntimeGlobals.require
|
|
117
201
|
],
|
|
118
202
|
[RuntimeGlobals.initializeSharing]: [RuntimeGlobals.shareScopeMap],
|
|
119
|
-
[RuntimeGlobals.shareScopeMap]: [RuntimeGlobals.hasOwnProperty]
|
|
203
|
+
[RuntimeGlobals.shareScopeMap]: [RuntimeGlobals.hasOwnProperty],
|
|
204
|
+
[RuntimeGlobals.constructRequire]: [RuntimeGlobals.require]
|
|
120
205
|
};
|
|
121
206
|
|
|
122
207
|
// Tree runtime requirements whose only effect is attaching a zero-arg runtime
|
|
123
208
|
// module to the chunk. Conditional / argument-taking ones stay as explicit taps.
|
|
124
|
-
/** @type {[string, (new () =>
|
|
209
|
+
/** @type {[string, () => Promise<new () => RuntimeModule>][]} */
|
|
125
210
|
const SIMPLE_TREE_RUNTIME_MODULES = [
|
|
126
|
-
[RuntimeGlobals.
|
|
127
|
-
[RuntimeGlobals.makeNamespaceObject, MakeNamespaceObjectRuntimeModule],
|
|
211
|
+
[RuntimeGlobals.makeNamespaceObject, getMakeNamespaceObjectRuntimeModule],
|
|
128
212
|
[
|
|
129
213
|
RuntimeGlobals.createFakeNamespaceObject,
|
|
130
|
-
|
|
214
|
+
getCreateFakeNamespaceObjectRuntimeModule
|
|
215
|
+
],
|
|
216
|
+
[RuntimeGlobals.hasOwnProperty, getHasOwnPropertyRuntimeModule],
|
|
217
|
+
[
|
|
218
|
+
RuntimeGlobals.compatGetDefaultExport,
|
|
219
|
+
getCompatGetDefaultExportRuntimeModule
|
|
131
220
|
],
|
|
132
|
-
[RuntimeGlobals.
|
|
133
|
-
[RuntimeGlobals.
|
|
134
|
-
[RuntimeGlobals.commonJsWrap, CommonJsWrapRuntimeModule],
|
|
221
|
+
[RuntimeGlobals.concatenationWrap, getConcatenationWrapRuntimeModule],
|
|
222
|
+
[RuntimeGlobals.constructRequire, getConstructRequireRuntimeModule],
|
|
135
223
|
[
|
|
136
224
|
RuntimeGlobals.setAnonymousDefaultName,
|
|
137
|
-
|
|
225
|
+
getSetAnonymousDefaultNameRuntimeModule
|
|
138
226
|
],
|
|
139
|
-
[RuntimeGlobals.runtimeId,
|
|
140
|
-
[RuntimeGlobals.global,
|
|
141
|
-
[RuntimeGlobals.shareScopeMap,
|
|
142
|
-
[RuntimeGlobals.relativeUrl,
|
|
143
|
-
[RuntimeGlobals.worker,
|
|
144
|
-
[RuntimeGlobals.onChunksLoaded,
|
|
145
|
-
[RuntimeGlobals.scriptNonce,
|
|
146
|
-
[RuntimeGlobals.toBinary,
|
|
227
|
+
[RuntimeGlobals.runtimeId, getRuntimeIdRuntimeModule],
|
|
228
|
+
[RuntimeGlobals.global, getGlobalRuntimeModule],
|
|
229
|
+
[RuntimeGlobals.shareScopeMap, getShareRuntimeModule],
|
|
230
|
+
[RuntimeGlobals.relativeUrl, getRelativeUrlRuntimeModule],
|
|
231
|
+
[RuntimeGlobals.worker, getWorkerRuntimeModule],
|
|
232
|
+
[RuntimeGlobals.onChunksLoaded, getOnChunksLoadedRuntimeModule],
|
|
233
|
+
[RuntimeGlobals.scriptNonce, getNonceRuntimeModule],
|
|
234
|
+
[RuntimeGlobals.toBinary, getToBinaryRuntimeModule]
|
|
147
235
|
];
|
|
148
236
|
|
|
149
237
|
/**
|
|
@@ -155,18 +243,6 @@ const usesFullHash = (template) => {
|
|
|
155
243
|
return kinds.has("fullhash") || kinds.has("hash");
|
|
156
244
|
};
|
|
157
245
|
|
|
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
246
|
const PLUGIN_NAME = "RuntimePlugin";
|
|
171
247
|
|
|
172
248
|
class RuntimePlugin {
|
|
@@ -227,34 +303,52 @@ class RuntimePlugin {
|
|
|
227
303
|
}
|
|
228
304
|
for (const [
|
|
229
305
|
runtimeGlobal,
|
|
230
|
-
|
|
306
|
+
getRuntimeModule
|
|
231
307
|
] of SIMPLE_TREE_RUNTIME_MODULES) {
|
|
232
308
|
compilation.hooks.runtimeRequirementInTree
|
|
233
309
|
.for(runtimeGlobal)
|
|
234
310
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
235
|
-
compilation.
|
|
311
|
+
compilation.addLazyRuntimeModule(
|
|
312
|
+
chunk,
|
|
313
|
+
getRuntimeModule,
|
|
314
|
+
(Ctor) => new Ctor()
|
|
315
|
+
);
|
|
236
316
|
return true;
|
|
237
317
|
});
|
|
238
318
|
}
|
|
319
|
+
compilation.hooks.runtimeRequirementInTree
|
|
320
|
+
.for(RuntimeGlobals.definePropertyGetters)
|
|
321
|
+
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
322
|
+
compilation.addLazyRuntimeModule(
|
|
323
|
+
chunk,
|
|
324
|
+
getDefinePropertyGettersRuntimeModule,
|
|
325
|
+
(Ctor) => new Ctor(runtimeRequirement)
|
|
326
|
+
);
|
|
327
|
+
return true;
|
|
328
|
+
});
|
|
239
329
|
compilation.hooks.runtimeRequirementInTree
|
|
240
330
|
.for(RuntimeGlobals.makeOptimizedDeferredNamespaceObject)
|
|
241
331
|
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
242
|
-
|
|
332
|
+
const asyncModule = runtimeRequirement.has(
|
|
333
|
+
RuntimeGlobals.asyncModule
|
|
334
|
+
);
|
|
335
|
+
compilation.addLazyRuntimeModule(
|
|
243
336
|
chunk,
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
)
|
|
337
|
+
getMakeOptimizedDeferredNamespaceObjectRuntimeModule,
|
|
338
|
+
(Ctor) => new Ctor(asyncModule)
|
|
247
339
|
);
|
|
248
340
|
return true;
|
|
249
341
|
});
|
|
250
342
|
compilation.hooks.runtimeRequirementInTree
|
|
251
343
|
.for(RuntimeGlobals.makeDeferredNamespaceObject)
|
|
252
344
|
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
253
|
-
|
|
345
|
+
const asyncModule = runtimeRequirement.has(
|
|
346
|
+
RuntimeGlobals.asyncModule
|
|
347
|
+
);
|
|
348
|
+
compilation.addLazyRuntimeModule(
|
|
254
349
|
chunk,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
)
|
|
350
|
+
getMakeDeferredNamespaceObjectRuntimeModule,
|
|
351
|
+
(Ctor) => new Ctor(asyncModule)
|
|
258
352
|
);
|
|
259
353
|
return true;
|
|
260
354
|
});
|
|
@@ -270,7 +364,6 @@ class RuntimePlugin {
|
|
|
270
364
|
: globalPublicPath;
|
|
271
365
|
|
|
272
366
|
if (publicPath === "auto") {
|
|
273
|
-
const module = new AutoPublicPathRuntimeModule();
|
|
274
367
|
// A worklet chunk reads `import.meta.url`, so it needs neither the
|
|
275
368
|
// worker-scope detection nor the `globalThis` polyfill.
|
|
276
369
|
if (
|
|
@@ -281,15 +374,24 @@ class RuntimePlugin {
|
|
|
281
374
|
set.add(RuntimeGlobals.global);
|
|
282
375
|
}
|
|
283
376
|
|
|
284
|
-
compilation.
|
|
377
|
+
compilation.addLazyRuntimeModule(
|
|
378
|
+
chunk,
|
|
379
|
+
getAutoPublicPathRuntimeModule,
|
|
380
|
+
(Ctor) => new Ctor()
|
|
381
|
+
);
|
|
285
382
|
} else {
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
if (typeof publicPath !== "string" || usesFullHash(publicPath)) {
|
|
289
|
-
module.fullHash = true;
|
|
290
|
-
}
|
|
383
|
+
const fullHash =
|
|
384
|
+
typeof publicPath !== "string" || usesFullHash(publicPath);
|
|
291
385
|
|
|
292
|
-
compilation.
|
|
386
|
+
compilation.addLazyRuntimeModule(
|
|
387
|
+
chunk,
|
|
388
|
+
getPublicPathRuntimeModule,
|
|
389
|
+
(Ctor) => {
|
|
390
|
+
const module = new Ctor(publicPath);
|
|
391
|
+
if (fullHash) module.fullHash = true;
|
|
392
|
+
return module;
|
|
393
|
+
}
|
|
394
|
+
);
|
|
293
395
|
}
|
|
294
396
|
return true;
|
|
295
397
|
});
|
|
@@ -297,9 +399,10 @@ class RuntimePlugin {
|
|
|
297
399
|
.for(RuntimeGlobals.asyncModule)
|
|
298
400
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
299
401
|
const experiments = compilation.options.experiments;
|
|
300
|
-
compilation.
|
|
402
|
+
compilation.addLazyRuntimeModule(
|
|
301
403
|
chunk,
|
|
302
|
-
|
|
404
|
+
getAsyncModuleRuntimeModule,
|
|
405
|
+
(Ctor) => new Ctor(experiments.deferImport)
|
|
303
406
|
);
|
|
304
407
|
return true;
|
|
305
408
|
});
|
|
@@ -307,9 +410,10 @@ class RuntimePlugin {
|
|
|
307
410
|
.for(RuntimeGlobals.asyncModuleGenerator)
|
|
308
411
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
309
412
|
set.add(RuntimeGlobals.asyncModule);
|
|
310
|
-
compilation.
|
|
413
|
+
compilation.addLazyRuntimeModule(
|
|
311
414
|
chunk,
|
|
312
|
-
|
|
415
|
+
getAsyncModuleGeneratorRuntimeModule,
|
|
416
|
+
(Ctor) => new Ctor()
|
|
313
417
|
);
|
|
314
418
|
return true;
|
|
315
419
|
});
|
|
@@ -324,9 +428,10 @@ class RuntimePlugin {
|
|
|
324
428
|
(compilation.outputOptions.library).type;
|
|
325
429
|
|
|
326
430
|
if (libraryType === "system") {
|
|
327
|
-
compilation.
|
|
431
|
+
compilation.addLazyRuntimeModule(
|
|
328
432
|
chunk,
|
|
329
|
-
|
|
433
|
+
getSystemContextRuntimeModule,
|
|
434
|
+
(Ctor) => new Ctor()
|
|
330
435
|
);
|
|
331
436
|
}
|
|
332
437
|
return true;
|
|
@@ -340,27 +445,27 @@ class RuntimePlugin {
|
|
|
340
445
|
) {
|
|
341
446
|
set.add(RuntimeGlobals.getFullHash);
|
|
342
447
|
}
|
|
343
|
-
|
|
448
|
+
const hmr = set.has(RuntimeGlobals.hmrDownloadUpdateHandlers);
|
|
449
|
+
const fullHashDigest =
|
|
450
|
+
typeof compilation.outputOptions.chunkFilename === "string" &&
|
|
451
|
+
usesFullHashDigest(compilation.outputOptions.chunkFilename);
|
|
452
|
+
compilation.addLazyRuntimeModule(
|
|
344
453
|
chunk,
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
javascriptModulesPlugin.getChunkFilenameTemplate(
|
|
454
|
+
getGetChunkFilenameRuntimeModule,
|
|
455
|
+
(Ctor) =>
|
|
456
|
+
new Ctor(
|
|
457
|
+
"javascript",
|
|
458
|
+
"javascript",
|
|
459
|
+
RuntimeGlobals.getChunkScriptFilename,
|
|
460
|
+
(/** @type {Chunk} */ chunk) =>
|
|
461
|
+
JavascriptModulesPlugin.chunkHasJs(chunk, chunkGraph) &&
|
|
462
|
+
JavascriptModulesPlugin.getChunkFilenameTemplate(
|
|
355
463
|
chunk,
|
|
356
464
|
compilation.outputOptions
|
|
357
|
-
)
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
typeof compilation.outputOptions.chunkFilename === "string" &&
|
|
362
|
-
usesFullHashWithDigest(compilation.outputOptions.chunkFilename)
|
|
363
|
-
)
|
|
465
|
+
),
|
|
466
|
+
hmr,
|
|
467
|
+
fullHashDigest
|
|
468
|
+
)
|
|
364
469
|
);
|
|
365
470
|
return true;
|
|
366
471
|
});
|
|
@@ -368,9 +473,10 @@ class RuntimePlugin {
|
|
|
368
473
|
.for(RuntimeGlobals.getWorkletBootstrap)
|
|
369
474
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
370
475
|
set.add(RuntimeGlobals.baseURI);
|
|
371
|
-
compilation.
|
|
476
|
+
compilation.addLazyRuntimeModule(
|
|
372
477
|
chunk,
|
|
373
|
-
|
|
478
|
+
getGetWorkletBootstrapRuntimeModule,
|
|
479
|
+
(Ctor) => new Ctor()
|
|
374
480
|
);
|
|
375
481
|
return true;
|
|
376
482
|
});
|
|
@@ -383,29 +489,32 @@ class RuntimePlugin {
|
|
|
383
489
|
) {
|
|
384
490
|
set.add(RuntimeGlobals.getFullHash);
|
|
385
491
|
}
|
|
386
|
-
|
|
492
|
+
const hmr = set.has(RuntimeGlobals.hmrDownloadUpdateHandlers);
|
|
493
|
+
const fullHashDigest =
|
|
494
|
+
typeof compilation.outputOptions.cssChunkFilename === "string" &&
|
|
495
|
+
usesFullHashDigest(compilation.outputOptions.cssChunkFilename);
|
|
496
|
+
compilation.addLazyRuntimeModule(
|
|
387
497
|
chunk,
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
498
|
+
getGetChunkFilenameRuntimeModule,
|
|
499
|
+
(Ctor) =>
|
|
500
|
+
new Ctor(
|
|
501
|
+
"css",
|
|
502
|
+
"css",
|
|
503
|
+
RuntimeGlobals.getChunkCssFilename,
|
|
504
|
+
(/** @type {Chunk} */ chunk) => {
|
|
505
|
+
const cssModulePlugin = CssModulesPlugin;
|
|
394
506
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
compilation.outputOptions.cssChunkFilename
|
|
407
|
-
)
|
|
408
|
-
)
|
|
507
|
+
return (
|
|
508
|
+
cssModulePlugin.chunkHasCss(chunk, chunkGraph) &&
|
|
509
|
+
cssModulePlugin.getChunkFilenameTemplate(
|
|
510
|
+
chunk,
|
|
511
|
+
compilation.outputOptions
|
|
512
|
+
)
|
|
513
|
+
);
|
|
514
|
+
},
|
|
515
|
+
hmr,
|
|
516
|
+
fullHashDigest
|
|
517
|
+
)
|
|
409
518
|
);
|
|
410
519
|
return true;
|
|
411
520
|
});
|
|
@@ -415,20 +524,40 @@ class RuntimePlugin {
|
|
|
415
524
|
if (usesFullHash(compilation.outputOptions.hotUpdateChunkFilename)) {
|
|
416
525
|
set.add(RuntimeGlobals.getFullHash);
|
|
417
526
|
}
|
|
418
|
-
|
|
527
|
+
const fullHashDigest =
|
|
528
|
+
typeof compilation.outputOptions.hotUpdateChunkFilename ===
|
|
529
|
+
"string" &&
|
|
530
|
+
usesFullHashDigest(
|
|
531
|
+
compilation.outputOptions.hotUpdateChunkFilename
|
|
532
|
+
);
|
|
533
|
+
compilation.addLazyRuntimeModule(
|
|
419
534
|
chunk,
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
535
|
+
getGetChunkFilenameRuntimeModule,
|
|
536
|
+
(Ctor) =>
|
|
537
|
+
new Ctor(
|
|
538
|
+
"javascript",
|
|
539
|
+
"javascript update",
|
|
540
|
+
RuntimeGlobals.getChunkUpdateScriptFilename,
|
|
541
|
+
(/** @type {Chunk} */ _chunk) =>
|
|
542
|
+
compilation.outputOptions.hotUpdateChunkFilename,
|
|
543
|
+
true,
|
|
544
|
+
fullHashDigest
|
|
545
|
+
)
|
|
546
|
+
);
|
|
547
|
+
return true;
|
|
548
|
+
});
|
|
549
|
+
compilation.hooks.runtimeRequirementInTree
|
|
550
|
+
.for(RuntimeGlobals.getCssServerStyles)
|
|
551
|
+
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
552
|
+
// The registry lives on the global, reached via the polyfill when
|
|
553
|
+
// the target has no `globalThis`.
|
|
554
|
+
if (!compilation.outputOptions.environment.globalThis) {
|
|
555
|
+
set.add(RuntimeGlobals.global);
|
|
556
|
+
}
|
|
557
|
+
compilation.addLazyRuntimeModule(
|
|
558
|
+
chunk,
|
|
559
|
+
getCssServerStylesRuntimeModule,
|
|
560
|
+
(Ctor) => new Ctor()
|
|
432
561
|
);
|
|
433
562
|
return true;
|
|
434
563
|
});
|
|
@@ -438,16 +567,35 @@ class RuntimePlugin {
|
|
|
438
567
|
if (usesFullHash(compilation.outputOptions.hotUpdateMainFilename)) {
|
|
439
568
|
set.add(RuntimeGlobals.getFullHash);
|
|
440
569
|
}
|
|
441
|
-
compilation.
|
|
570
|
+
compilation.addLazyRuntimeModule(
|
|
442
571
|
chunk,
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
572
|
+
getGetMainFilenameRuntimeModule,
|
|
573
|
+
(Ctor) =>
|
|
574
|
+
new Ctor(
|
|
575
|
+
"update manifest",
|
|
576
|
+
RuntimeGlobals.getUpdateManifestFilename,
|
|
577
|
+
compilation.outputOptions.hotUpdateMainFilename
|
|
578
|
+
)
|
|
448
579
|
);
|
|
449
580
|
return true;
|
|
450
581
|
});
|
|
582
|
+
/** @type {WeakSet<Chunk>} */
|
|
583
|
+
const ensureChunkModuleAdded = new WeakSet();
|
|
584
|
+
/**
|
|
585
|
+
* The module carries the handler map as well as `ensureChunk`, and an
|
|
586
|
+
* analyzable `import()` needs the map without the function around it.
|
|
587
|
+
* @param {Chunk} chunk the chunk
|
|
588
|
+
* @param {RuntimeRequirements} set the tree's requirements, filled in place
|
|
589
|
+
*/
|
|
590
|
+
const addEnsureChunkRuntimeModule = (chunk, set) => {
|
|
591
|
+
if (ensureChunkModuleAdded.has(chunk)) return;
|
|
592
|
+
ensureChunkModuleAdded.add(chunk);
|
|
593
|
+
compilation.addLazyRuntimeModule(
|
|
594
|
+
chunk,
|
|
595
|
+
getEnsureChunkRuntimeModule,
|
|
596
|
+
(Ctor) => new Ctor(set)
|
|
597
|
+
);
|
|
598
|
+
};
|
|
451
599
|
compilation.hooks.runtimeRequirementInTree
|
|
452
600
|
.for(RuntimeGlobals.ensureChunk)
|
|
453
601
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
@@ -455,12 +603,15 @@ class RuntimePlugin {
|
|
|
455
603
|
if (hasAsyncChunks) {
|
|
456
604
|
set.add(RuntimeGlobals.ensureChunkHandlers);
|
|
457
605
|
}
|
|
458
|
-
|
|
459
|
-
chunk,
|
|
460
|
-
new EnsureChunkRuntimeModule(set)
|
|
461
|
-
);
|
|
606
|
+
addEnsureChunkRuntimeModule(chunk, set);
|
|
462
607
|
return true;
|
|
463
608
|
});
|
|
609
|
+
compilation.hooks.runtimeRequirementInTree
|
|
610
|
+
.for(RuntimeGlobals.ensureChunkHandlers)
|
|
611
|
+
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
612
|
+
// No bail: every other plugin attaching a handler taps this same key.
|
|
613
|
+
addEnsureChunkRuntimeModule(chunk, set);
|
|
614
|
+
});
|
|
464
615
|
compilation.hooks.runtimeRequirementInTree
|
|
465
616
|
.for(RuntimeGlobals.ensureChunkIncludeEntries)
|
|
466
617
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
@@ -476,9 +627,10 @@ class RuntimePlugin {
|
|
|
476
627
|
set.add(RuntimeGlobals.createScriptUrl);
|
|
477
628
|
}
|
|
478
629
|
const withFetchPriority = set.has(RuntimeGlobals.hasFetchPriority);
|
|
479
|
-
compilation.
|
|
630
|
+
compilation.addLazyRuntimeModule(
|
|
480
631
|
chunk,
|
|
481
|
-
|
|
632
|
+
getLoadScriptRuntimeModule,
|
|
633
|
+
(Ctor) => new Ctor(withCreateScriptUrl, withFetchPriority)
|
|
482
634
|
);
|
|
483
635
|
return true;
|
|
484
636
|
});
|
|
@@ -488,7 +640,11 @@ class RuntimePlugin {
|
|
|
488
640
|
if (compilation.outputOptions.trustedTypes) {
|
|
489
641
|
set.add(RuntimeGlobals.getTrustedTypesPolicy);
|
|
490
642
|
}
|
|
491
|
-
compilation.
|
|
643
|
+
compilation.addLazyRuntimeModule(
|
|
644
|
+
chunk,
|
|
645
|
+
getCreateScriptRuntimeModule,
|
|
646
|
+
(Ctor) => new Ctor()
|
|
647
|
+
);
|
|
492
648
|
return true;
|
|
493
649
|
});
|
|
494
650
|
compilation.hooks.runtimeRequirementInTree
|
|
@@ -497,18 +653,20 @@ class RuntimePlugin {
|
|
|
497
653
|
if (compilation.outputOptions.trustedTypes) {
|
|
498
654
|
set.add(RuntimeGlobals.getTrustedTypesPolicy);
|
|
499
655
|
}
|
|
500
|
-
compilation.
|
|
656
|
+
compilation.addLazyRuntimeModule(
|
|
501
657
|
chunk,
|
|
502
|
-
|
|
658
|
+
getCreateScriptUrlRuntimeModule,
|
|
659
|
+
(Ctor) => new Ctor()
|
|
503
660
|
);
|
|
504
661
|
return true;
|
|
505
662
|
});
|
|
506
663
|
compilation.hooks.runtimeRequirementInTree
|
|
507
664
|
.for(RuntimeGlobals.getTrustedTypesPolicy)
|
|
508
665
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
509
|
-
compilation.
|
|
666
|
+
compilation.addLazyRuntimeModule(
|
|
510
667
|
chunk,
|
|
511
|
-
|
|
668
|
+
getGetTrustedTypesPolicyRuntimeModule,
|
|
669
|
+
(Ctor) => new Ctor(set)
|
|
512
670
|
);
|
|
513
671
|
return true;
|
|
514
672
|
});
|
|
@@ -516,7 +674,11 @@ class RuntimePlugin {
|
|
|
516
674
|
.for(RuntimeGlobals.baseURI)
|
|
517
675
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
518
676
|
if (isChunkLoadingDisabledForChunk(chunk)) {
|
|
519
|
-
compilation.
|
|
677
|
+
compilation.addLazyRuntimeModule(
|
|
678
|
+
chunk,
|
|
679
|
+
getBaseUriRuntimeModule,
|
|
680
|
+
(Ctor) => new Ctor()
|
|
681
|
+
);
|
|
520
682
|
return true;
|
|
521
683
|
}
|
|
522
684
|
});
|
|
@@ -531,7 +693,11 @@ class RuntimePlugin {
|
|
|
531
693
|
mainTemplate.hooks.requireEnsure.isUsed() ||
|
|
532
694
|
mainTemplate.hooks.requireExtensions.isUsed()
|
|
533
695
|
) {
|
|
534
|
-
compilation.
|
|
696
|
+
compilation.addLazyRuntimeModule(
|
|
697
|
+
chunk,
|
|
698
|
+
getCompatRuntimeModule,
|
|
699
|
+
(Ctor) => new Ctor()
|
|
700
|
+
);
|
|
535
701
|
}
|
|
536
702
|
}
|
|
537
703
|
);
|