@depup/webpack 5.109.0-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 +7 -7
- package/bin/webpack.js +12 -0
- package/changes.json +10 -10
- 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 +43 -32
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +15 -16
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +38 -7
- package/lib/Compilation.js +709 -414
- package/lib/Compiler.js +69 -42
- 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 +168 -57
- 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 +123 -19
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +242 -84
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +116 -42
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +63 -57
- 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 +28 -36
- 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 +22 -6
- 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 +221 -156
- package/lib/NormalModuleFactory.js +563 -112
- 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 +346 -256
- 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 +55 -25
- 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 +289 -28
- 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 +282 -81
- 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 +53 -66
- package/lib/container/ModuleFederationPlugin.js +7 -18
- 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 +178 -44
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +82 -36
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +197 -106
- package/lib/css/CssParser.js +1248 -618
- 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 +10396 -952
- 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 +140 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +140 -26
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -48
- 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 +15 -11
- 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 +159 -71
- 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 +28 -20
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -24
- package/lib/dependencies/HarmonyImportGuard.js +21 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +38 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +106 -55
- 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 +170 -71
- 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 +28 -10
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +299 -79
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +312 -174
- 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 +7819 -3331
- 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 +31 -18
- 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 +181 -162
- package/lib/javascript/JavascriptParser.js +291 -112
- 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 +3403 -300
- 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 +81 -20
- package/lib/node/ReadFileCompileWasmPlugin.js +37 -17
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +21 -17
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +996 -477
- 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 +124 -59
- package/lib/optimize/RealContentHashPlugin.js +20 -13
- 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 +232 -68
- 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 +377 -136
- 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 +274 -942
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +305 -66
- 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 +253 -226
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +60 -192
- package/lib/stats/StatsFactory.js +56 -35
- 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 +25 -1
- 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 +37 -30
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +780 -91
- 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 +4013 -738
- 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,9 +197,40 @@ 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
|
|
|
204
|
+
// Tree runtime requirements whose only effect is attaching a zero-arg runtime
|
|
205
|
+
// module to the chunk. Conditional / argument-taking ones stay as explicit taps.
|
|
206
|
+
/** @type {[string, () => Promise<new () => RuntimeModule>][]} */
|
|
207
|
+
const SIMPLE_TREE_RUNTIME_MODULES = [
|
|
208
|
+
[RuntimeGlobals.makeNamespaceObject, getMakeNamespaceObjectRuntimeModule],
|
|
209
|
+
[
|
|
210
|
+
RuntimeGlobals.createFakeNamespaceObject,
|
|
211
|
+
getCreateFakeNamespaceObjectRuntimeModule
|
|
212
|
+
],
|
|
213
|
+
[RuntimeGlobals.hasOwnProperty, getHasOwnPropertyRuntimeModule],
|
|
214
|
+
[
|
|
215
|
+
RuntimeGlobals.compatGetDefaultExport,
|
|
216
|
+
getCompatGetDefaultExportRuntimeModule
|
|
217
|
+
],
|
|
218
|
+
[RuntimeGlobals.concatenationWrap, getConcatenationWrapRuntimeModule],
|
|
219
|
+
[RuntimeGlobals.constructRequire, getConstructRequireRuntimeModule],
|
|
220
|
+
[
|
|
221
|
+
RuntimeGlobals.setAnonymousDefaultName,
|
|
222
|
+
getSetAnonymousDefaultNameRuntimeModule
|
|
223
|
+
],
|
|
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]
|
|
232
|
+
];
|
|
233
|
+
|
|
122
234
|
/**
|
|
123
235
|
* @param {string} template path template
|
|
124
236
|
* @returns {boolean} true when it references the compilation `[fullhash]`/`[hash]`
|
|
@@ -128,18 +240,6 @@ const usesFullHash = (template) => {
|
|
|
128
240
|
return kinds.has("fullhash") || kinds.has("hash");
|
|
129
241
|
};
|
|
130
242
|
|
|
131
|
-
// `[fullhash:<digest>]`/`[hash:<digest>]` — a non-numeric first arg is a digest (a
|
|
132
|
-
// numeric one is just a length). The re-encoded full hash must be inlined post-hash
|
|
133
|
-
// rather than read from the runtime `getFullHash()` expression.
|
|
134
|
-
const FULLHASH_DIGEST_REGEXP = /\[(?:fullhash|hash):(?!\d+\])\w/;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* @param {string} template path template
|
|
138
|
-
* @returns {boolean} true when it references `[fullhash:<digest>]`/`[hash:<digest>]`
|
|
139
|
-
*/
|
|
140
|
-
const usesFullHashWithDigest = (template) =>
|
|
141
|
-
FULLHASH_DIGEST_REGEXP.test(template);
|
|
142
|
-
|
|
143
243
|
const PLUGIN_NAME = "RuntimePlugin";
|
|
144
244
|
|
|
145
245
|
class RuntimePlugin {
|
|
@@ -198,94 +298,57 @@ class RuntimePlugin {
|
|
|
198
298
|
for (const dep of deps) set.add(dep);
|
|
199
299
|
});
|
|
200
300
|
}
|
|
301
|
+
for (const [
|
|
302
|
+
runtimeGlobal,
|
|
303
|
+
getRuntimeModule
|
|
304
|
+
] of SIMPLE_TREE_RUNTIME_MODULES) {
|
|
305
|
+
compilation.hooks.runtimeRequirementInTree
|
|
306
|
+
.for(runtimeGlobal)
|
|
307
|
+
.tap(PLUGIN_NAME, (chunk) => {
|
|
308
|
+
compilation.addLazyRuntimeModule(
|
|
309
|
+
chunk,
|
|
310
|
+
getRuntimeModule,
|
|
311
|
+
(Ctor) => new Ctor()
|
|
312
|
+
);
|
|
313
|
+
return true;
|
|
314
|
+
});
|
|
315
|
+
}
|
|
201
316
|
compilation.hooks.runtimeRequirementInTree
|
|
202
317
|
.for(RuntimeGlobals.definePropertyGetters)
|
|
203
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
204
|
-
compilation.
|
|
318
|
+
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
319
|
+
compilation.addLazyRuntimeModule(
|
|
205
320
|
chunk,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
return true;
|
|
209
|
-
});
|
|
210
|
-
compilation.hooks.runtimeRequirementInTree
|
|
211
|
-
.for(RuntimeGlobals.makeNamespaceObject)
|
|
212
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
213
|
-
compilation.addRuntimeModule(
|
|
214
|
-
chunk,
|
|
215
|
-
new MakeNamespaceObjectRuntimeModule()
|
|
216
|
-
);
|
|
217
|
-
return true;
|
|
218
|
-
});
|
|
219
|
-
compilation.hooks.runtimeRequirementInTree
|
|
220
|
-
.for(RuntimeGlobals.createFakeNamespaceObject)
|
|
221
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
222
|
-
compilation.addRuntimeModule(
|
|
223
|
-
chunk,
|
|
224
|
-
new CreateFakeNamespaceObjectRuntimeModule()
|
|
321
|
+
getDefinePropertyGettersRuntimeModule,
|
|
322
|
+
(Ctor) => new Ctor(runtimeRequirement)
|
|
225
323
|
);
|
|
226
324
|
return true;
|
|
227
325
|
});
|
|
228
326
|
compilation.hooks.runtimeRequirementInTree
|
|
229
327
|
.for(RuntimeGlobals.makeOptimizedDeferredNamespaceObject)
|
|
230
|
-
.tap(
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
new MakeOptimizedDeferredNamespaceObjectRuntimeModule(
|
|
234
|
-
runtimeRequirement.has(RuntimeGlobals.asyncModule)
|
|
235
|
-
)
|
|
328
|
+
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
329
|
+
const asyncModule = runtimeRequirement.has(
|
|
330
|
+
RuntimeGlobals.asyncModule
|
|
236
331
|
);
|
|
237
|
-
|
|
238
|
-
});
|
|
239
|
-
compilation.hooks.runtimeRequirementInTree
|
|
240
|
-
.for(RuntimeGlobals.makeDeferredNamespaceObject)
|
|
241
|
-
.tap("RuntimePlugin", (chunk, runtimeRequirement) => {
|
|
242
|
-
compilation.addRuntimeModule(
|
|
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
|
-
.for(RuntimeGlobals.
|
|
252
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
new HasOwnPropertyRuntimeModule()
|
|
256
|
-
);
|
|
257
|
-
return true;
|
|
258
|
-
});
|
|
259
|
-
compilation.hooks.runtimeRequirementInTree
|
|
260
|
-
.for(RuntimeGlobals.compatGetDefaultExport)
|
|
261
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
262
|
-
compilation.addRuntimeModule(
|
|
263
|
-
chunk,
|
|
264
|
-
new CompatGetDefaultExportRuntimeModule()
|
|
340
|
+
.for(RuntimeGlobals.makeDeferredNamespaceObject)
|
|
341
|
+
.tap(PLUGIN_NAME, (chunk, runtimeRequirement) => {
|
|
342
|
+
const asyncModule = runtimeRequirement.has(
|
|
343
|
+
RuntimeGlobals.asyncModule
|
|
265
344
|
);
|
|
266
|
-
|
|
267
|
-
});
|
|
268
|
-
compilation.hooks.runtimeRequirementInTree
|
|
269
|
-
.for(RuntimeGlobals.commonJsWrap)
|
|
270
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
271
|
-
compilation.addRuntimeModule(chunk, new CommonJsWrapRuntimeModule());
|
|
272
|
-
return true;
|
|
273
|
-
});
|
|
274
|
-
compilation.hooks.runtimeRequirementInTree
|
|
275
|
-
.for(RuntimeGlobals.setAnonymousDefaultName)
|
|
276
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
277
|
-
compilation.addRuntimeModule(
|
|
345
|
+
compilation.addLazyRuntimeModule(
|
|
278
346
|
chunk,
|
|
279
|
-
|
|
347
|
+
getMakeDeferredNamespaceObjectRuntimeModule,
|
|
348
|
+
(Ctor) => new Ctor(asyncModule)
|
|
280
349
|
);
|
|
281
350
|
return true;
|
|
282
351
|
});
|
|
283
|
-
compilation.hooks.runtimeRequirementInTree
|
|
284
|
-
.for(RuntimeGlobals.runtimeId)
|
|
285
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
286
|
-
compilation.addRuntimeModule(chunk, new RuntimeIdRuntimeModule());
|
|
287
|
-
return true;
|
|
288
|
-
});
|
|
289
352
|
compilation.hooks.runtimeRequirementInTree
|
|
290
353
|
.for(RuntimeGlobals.publicPath)
|
|
291
354
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
@@ -298,7 +361,6 @@ class RuntimePlugin {
|
|
|
298
361
|
: globalPublicPath;
|
|
299
362
|
|
|
300
363
|
if (publicPath === "auto") {
|
|
301
|
-
const module = new AutoPublicPathRuntimeModule();
|
|
302
364
|
// A worklet chunk reads `import.meta.url`, so it needs neither the
|
|
303
365
|
// worker-scope detection nor the `globalThis` polyfill.
|
|
304
366
|
if (
|
|
@@ -309,31 +371,35 @@ class RuntimePlugin {
|
|
|
309
371
|
set.add(RuntimeGlobals.global);
|
|
310
372
|
}
|
|
311
373
|
|
|
312
|
-
compilation.
|
|
374
|
+
compilation.addLazyRuntimeModule(
|
|
375
|
+
chunk,
|
|
376
|
+
getAutoPublicPathRuntimeModule,
|
|
377
|
+
(Ctor) => new Ctor()
|
|
378
|
+
);
|
|
313
379
|
} else {
|
|
314
|
-
const
|
|
380
|
+
const fullHash =
|
|
381
|
+
typeof publicPath !== "string" || usesFullHash(publicPath);
|
|
315
382
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
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
|
+
);
|
|
321
392
|
}
|
|
322
393
|
return true;
|
|
323
394
|
});
|
|
324
|
-
compilation.hooks.runtimeRequirementInTree
|
|
325
|
-
.for(RuntimeGlobals.global)
|
|
326
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
327
|
-
compilation.addRuntimeModule(chunk, new GlobalRuntimeModule());
|
|
328
|
-
return true;
|
|
329
|
-
});
|
|
330
395
|
compilation.hooks.runtimeRequirementInTree
|
|
331
396
|
.for(RuntimeGlobals.asyncModule)
|
|
332
397
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
333
398
|
const experiments = compilation.options.experiments;
|
|
334
|
-
compilation.
|
|
399
|
+
compilation.addLazyRuntimeModule(
|
|
335
400
|
chunk,
|
|
336
|
-
|
|
401
|
+
getAsyncModuleRuntimeModule,
|
|
402
|
+
(Ctor) => new Ctor(experiments.deferImport)
|
|
337
403
|
);
|
|
338
404
|
return true;
|
|
339
405
|
});
|
|
@@ -341,9 +407,10 @@ class RuntimePlugin {
|
|
|
341
407
|
.for(RuntimeGlobals.asyncModuleGenerator)
|
|
342
408
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
343
409
|
set.add(RuntimeGlobals.asyncModule);
|
|
344
|
-
compilation.
|
|
410
|
+
compilation.addLazyRuntimeModule(
|
|
345
411
|
chunk,
|
|
346
|
-
|
|
412
|
+
getAsyncModuleGeneratorRuntimeModule,
|
|
413
|
+
(Ctor) => new Ctor()
|
|
347
414
|
);
|
|
348
415
|
return true;
|
|
349
416
|
});
|
|
@@ -358,9 +425,10 @@ class RuntimePlugin {
|
|
|
358
425
|
(compilation.outputOptions.library).type;
|
|
359
426
|
|
|
360
427
|
if (libraryType === "system") {
|
|
361
|
-
compilation.
|
|
428
|
+
compilation.addLazyRuntimeModule(
|
|
362
429
|
chunk,
|
|
363
|
-
|
|
430
|
+
getSystemContextRuntimeModule,
|
|
431
|
+
(Ctor) => new Ctor()
|
|
364
432
|
);
|
|
365
433
|
}
|
|
366
434
|
return true;
|
|
@@ -374,27 +442,27 @@ class RuntimePlugin {
|
|
|
374
442
|
) {
|
|
375
443
|
set.add(RuntimeGlobals.getFullHash);
|
|
376
444
|
}
|
|
377
|
-
|
|
445
|
+
const hmr = set.has(RuntimeGlobals.hmrDownloadUpdateHandlers);
|
|
446
|
+
const fullHashDigest =
|
|
447
|
+
typeof compilation.outputOptions.chunkFilename === "string" &&
|
|
448
|
+
usesFullHashDigest(compilation.outputOptions.chunkFilename);
|
|
449
|
+
compilation.addLazyRuntimeModule(
|
|
378
450
|
chunk,
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
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(
|
|
389
460
|
chunk,
|
|
390
461
|
compilation.outputOptions
|
|
391
|
-
)
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
typeof compilation.outputOptions.chunkFilename === "string" &&
|
|
396
|
-
usesFullHashWithDigest(compilation.outputOptions.chunkFilename)
|
|
397
|
-
)
|
|
462
|
+
),
|
|
463
|
+
hmr,
|
|
464
|
+
fullHashDigest
|
|
465
|
+
)
|
|
398
466
|
);
|
|
399
467
|
return true;
|
|
400
468
|
});
|
|
@@ -402,9 +470,10 @@ class RuntimePlugin {
|
|
|
402
470
|
.for(RuntimeGlobals.getWorkletBootstrap)
|
|
403
471
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
404
472
|
set.add(RuntimeGlobals.baseURI);
|
|
405
|
-
compilation.
|
|
473
|
+
compilation.addLazyRuntimeModule(
|
|
406
474
|
chunk,
|
|
407
|
-
|
|
475
|
+
getGetWorkletBootstrapRuntimeModule,
|
|
476
|
+
(Ctor) => new Ctor()
|
|
408
477
|
);
|
|
409
478
|
return true;
|
|
410
479
|
});
|
|
@@ -417,29 +486,32 @@ class RuntimePlugin {
|
|
|
417
486
|
) {
|
|
418
487
|
set.add(RuntimeGlobals.getFullHash);
|
|
419
488
|
}
|
|
420
|
-
|
|
489
|
+
const hmr = set.has(RuntimeGlobals.hmrDownloadUpdateHandlers);
|
|
490
|
+
const fullHashDigest =
|
|
491
|
+
typeof compilation.outputOptions.cssChunkFilename === "string" &&
|
|
492
|
+
usesFullHashDigest(compilation.outputOptions.cssChunkFilename);
|
|
493
|
+
compilation.addLazyRuntimeModule(
|
|
421
494
|
chunk,
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
495
|
+
getGetChunkFilenameRuntimeModule,
|
|
496
|
+
(Ctor) =>
|
|
497
|
+
new Ctor(
|
|
498
|
+
"css",
|
|
499
|
+
"css",
|
|
500
|
+
RuntimeGlobals.getChunkCssFilename,
|
|
501
|
+
(/** @type {Chunk} */ chunk) => {
|
|
502
|
+
const cssModulePlugin = CssModulesPlugin;
|
|
428
503
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
compilation.outputOptions.cssChunkFilename
|
|
441
|
-
)
|
|
442
|
-
)
|
|
504
|
+
return (
|
|
505
|
+
cssModulePlugin.chunkHasCss(chunk, chunkGraph) &&
|
|
506
|
+
cssModulePlugin.getChunkFilenameTemplate(
|
|
507
|
+
chunk,
|
|
508
|
+
compilation.outputOptions
|
|
509
|
+
)
|
|
510
|
+
);
|
|
511
|
+
},
|
|
512
|
+
hmr,
|
|
513
|
+
fullHashDigest
|
|
514
|
+
)
|
|
443
515
|
);
|
|
444
516
|
return true;
|
|
445
517
|
});
|
|
@@ -449,20 +521,40 @@ class RuntimePlugin {
|
|
|
449
521
|
if (usesFullHash(compilation.outputOptions.hotUpdateChunkFilename)) {
|
|
450
522
|
set.add(RuntimeGlobals.getFullHash);
|
|
451
523
|
}
|
|
452
|
-
|
|
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(
|
|
453
555
|
chunk,
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
"javascript update",
|
|
457
|
-
RuntimeGlobals.getChunkUpdateScriptFilename,
|
|
458
|
-
(_chunk) => compilation.outputOptions.hotUpdateChunkFilename,
|
|
459
|
-
true,
|
|
460
|
-
typeof compilation.outputOptions.hotUpdateChunkFilename ===
|
|
461
|
-
"string" &&
|
|
462
|
-
usesFullHashWithDigest(
|
|
463
|
-
compilation.outputOptions.hotUpdateChunkFilename
|
|
464
|
-
)
|
|
465
|
-
)
|
|
556
|
+
getCssServerStylesRuntimeModule,
|
|
557
|
+
(Ctor) => new Ctor()
|
|
466
558
|
);
|
|
467
559
|
return true;
|
|
468
560
|
});
|
|
@@ -472,16 +564,35 @@ class RuntimePlugin {
|
|
|
472
564
|
if (usesFullHash(compilation.outputOptions.hotUpdateMainFilename)) {
|
|
473
565
|
set.add(RuntimeGlobals.getFullHash);
|
|
474
566
|
}
|
|
475
|
-
compilation.
|
|
567
|
+
compilation.addLazyRuntimeModule(
|
|
476
568
|
chunk,
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
569
|
+
getGetMainFilenameRuntimeModule,
|
|
570
|
+
(Ctor) =>
|
|
571
|
+
new Ctor(
|
|
572
|
+
"update manifest",
|
|
573
|
+
RuntimeGlobals.getUpdateManifestFilename,
|
|
574
|
+
compilation.outputOptions.hotUpdateMainFilename
|
|
575
|
+
)
|
|
482
576
|
);
|
|
483
577
|
return true;
|
|
484
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
|
+
};
|
|
485
596
|
compilation.hooks.runtimeRequirementInTree
|
|
486
597
|
.for(RuntimeGlobals.ensureChunk)
|
|
487
598
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
@@ -489,22 +600,19 @@ class RuntimePlugin {
|
|
|
489
600
|
if (hasAsyncChunks) {
|
|
490
601
|
set.add(RuntimeGlobals.ensureChunkHandlers);
|
|
491
602
|
}
|
|
492
|
-
|
|
493
|
-
chunk,
|
|
494
|
-
new EnsureChunkRuntimeModule(set)
|
|
495
|
-
);
|
|
603
|
+
addEnsureChunkRuntimeModule(chunk, set);
|
|
496
604
|
return true;
|
|
497
605
|
});
|
|
498
606
|
compilation.hooks.runtimeRequirementInTree
|
|
499
|
-
.for(RuntimeGlobals.
|
|
607
|
+
.for(RuntimeGlobals.ensureChunkHandlers)
|
|
500
608
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
501
|
-
|
|
609
|
+
// No bail: every other plugin attaching a handler taps this same key.
|
|
610
|
+
addEnsureChunkRuntimeModule(chunk, set);
|
|
502
611
|
});
|
|
503
612
|
compilation.hooks.runtimeRequirementInTree
|
|
504
|
-
.for(RuntimeGlobals.
|
|
613
|
+
.for(RuntimeGlobals.ensureChunkIncludeEntries)
|
|
505
614
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
506
|
-
|
|
507
|
-
return true;
|
|
615
|
+
set.add(RuntimeGlobals.ensureChunkHandlers);
|
|
508
616
|
});
|
|
509
617
|
compilation.hooks.runtimeRequirementInTree
|
|
510
618
|
.for(RuntimeGlobals.loadScript)
|
|
@@ -516,9 +624,10 @@ class RuntimePlugin {
|
|
|
516
624
|
set.add(RuntimeGlobals.createScriptUrl);
|
|
517
625
|
}
|
|
518
626
|
const withFetchPriority = set.has(RuntimeGlobals.hasFetchPriority);
|
|
519
|
-
compilation.
|
|
627
|
+
compilation.addLazyRuntimeModule(
|
|
520
628
|
chunk,
|
|
521
|
-
|
|
629
|
+
getLoadScriptRuntimeModule,
|
|
630
|
+
(Ctor) => new Ctor(withCreateScriptUrl, withFetchPriority)
|
|
522
631
|
);
|
|
523
632
|
return true;
|
|
524
633
|
});
|
|
@@ -528,7 +637,11 @@ class RuntimePlugin {
|
|
|
528
637
|
if (compilation.outputOptions.trustedTypes) {
|
|
529
638
|
set.add(RuntimeGlobals.getTrustedTypesPolicy);
|
|
530
639
|
}
|
|
531
|
-
compilation.
|
|
640
|
+
compilation.addLazyRuntimeModule(
|
|
641
|
+
chunk,
|
|
642
|
+
getCreateScriptRuntimeModule,
|
|
643
|
+
(Ctor) => new Ctor()
|
|
644
|
+
);
|
|
532
645
|
return true;
|
|
533
646
|
});
|
|
534
647
|
compilation.hooks.runtimeRequirementInTree
|
|
@@ -537,39 +650,20 @@ class RuntimePlugin {
|
|
|
537
650
|
if (compilation.outputOptions.trustedTypes) {
|
|
538
651
|
set.add(RuntimeGlobals.getTrustedTypesPolicy);
|
|
539
652
|
}
|
|
540
|
-
compilation.
|
|
653
|
+
compilation.addLazyRuntimeModule(
|
|
541
654
|
chunk,
|
|
542
|
-
|
|
655
|
+
getCreateScriptUrlRuntimeModule,
|
|
656
|
+
(Ctor) => new Ctor()
|
|
543
657
|
);
|
|
544
658
|
return true;
|
|
545
659
|
});
|
|
546
660
|
compilation.hooks.runtimeRequirementInTree
|
|
547
661
|
.for(RuntimeGlobals.getTrustedTypesPolicy)
|
|
548
662
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
549
|
-
compilation.
|
|
663
|
+
compilation.addLazyRuntimeModule(
|
|
550
664
|
chunk,
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
return true;
|
|
554
|
-
});
|
|
555
|
-
compilation.hooks.runtimeRequirementInTree
|
|
556
|
-
.for(RuntimeGlobals.relativeUrl)
|
|
557
|
-
.tap(PLUGIN_NAME, (chunk, _set) => {
|
|
558
|
-
compilation.addRuntimeModule(chunk, new RelativeUrlRuntimeModule());
|
|
559
|
-
return true;
|
|
560
|
-
});
|
|
561
|
-
compilation.hooks.runtimeRequirementInTree
|
|
562
|
-
.for(RuntimeGlobals.worker)
|
|
563
|
-
.tap(PLUGIN_NAME, (chunk, _set) => {
|
|
564
|
-
compilation.addRuntimeModule(chunk, new WorkerRuntimeModule());
|
|
565
|
-
return true;
|
|
566
|
-
});
|
|
567
|
-
compilation.hooks.runtimeRequirementInTree
|
|
568
|
-
.for(RuntimeGlobals.onChunksLoaded)
|
|
569
|
-
.tap(PLUGIN_NAME, (chunk, _set) => {
|
|
570
|
-
compilation.addRuntimeModule(
|
|
571
|
-
chunk,
|
|
572
|
-
new OnChunksLoadedRuntimeModule()
|
|
665
|
+
getGetTrustedTypesPolicyRuntimeModule,
|
|
666
|
+
(Ctor) => new Ctor(set)
|
|
573
667
|
);
|
|
574
668
|
return true;
|
|
575
669
|
});
|
|
@@ -577,22 +671,14 @@ class RuntimePlugin {
|
|
|
577
671
|
.for(RuntimeGlobals.baseURI)
|
|
578
672
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
579
673
|
if (isChunkLoadingDisabledForChunk(chunk)) {
|
|
580
|
-
compilation.
|
|
674
|
+
compilation.addLazyRuntimeModule(
|
|
675
|
+
chunk,
|
|
676
|
+
getBaseUriRuntimeModule,
|
|
677
|
+
(Ctor) => new Ctor()
|
|
678
|
+
);
|
|
581
679
|
return true;
|
|
582
680
|
}
|
|
583
681
|
});
|
|
584
|
-
compilation.hooks.runtimeRequirementInTree
|
|
585
|
-
.for(RuntimeGlobals.scriptNonce)
|
|
586
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
587
|
-
compilation.addRuntimeModule(chunk, new NonceRuntimeModule());
|
|
588
|
-
return true;
|
|
589
|
-
});
|
|
590
|
-
compilation.hooks.runtimeRequirementInTree
|
|
591
|
-
.for(RuntimeGlobals.toBinary)
|
|
592
|
-
.tap(PLUGIN_NAME, (chunk) => {
|
|
593
|
-
compilation.addRuntimeModule(chunk, new ToBinaryRuntimeModule());
|
|
594
|
-
return true;
|
|
595
|
-
});
|
|
596
682
|
// TODO webpack 6: remove CompatRuntimeModule
|
|
597
683
|
compilation.hooks.additionalTreeRuntimeRequirements.tap(
|
|
598
684
|
PLUGIN_NAME,
|
|
@@ -604,7 +690,11 @@ class RuntimePlugin {
|
|
|
604
690
|
mainTemplate.hooks.requireEnsure.isUsed() ||
|
|
605
691
|
mainTemplate.hooks.requireExtensions.isUsed()
|
|
606
692
|
) {
|
|
607
|
-
compilation.
|
|
693
|
+
compilation.addLazyRuntimeModule(
|
|
694
|
+
chunk,
|
|
695
|
+
getCompatRuntimeModule,
|
|
696
|
+
(Ctor) => new Ctor()
|
|
697
|
+
);
|
|
608
698
|
}
|
|
609
699
|
}
|
|
610
700
|
);
|