webpack 5.59.0 → 5.94.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 +48 -38
- package/bin/webpack.js +34 -10
- package/hot/dev-server.js +19 -5
- package/hot/lazy-compilation-node.js +13 -1
- package/hot/lazy-compilation-web.js +9 -0
- package/hot/log-apply-result.js +5 -0
- package/hot/log.js +23 -4
- package/hot/only-dev-server.js +3 -2
- package/hot/poll.js +5 -2
- package/hot/signal.js +6 -2
- package/lib/APIPlugin.js +226 -122
- package/lib/AbstractMethodError.js +10 -5
- package/lib/AsyncDependenciesBlock.js +13 -5
- package/lib/AutomaticPrefetchPlugin.js +2 -1
- package/lib/BannerPlugin.js +33 -12
- package/lib/Cache.js +16 -12
- package/lib/CacheFacade.js +13 -16
- package/lib/CaseSensitiveModulesWarning.js +8 -8
- package/lib/Chunk.js +60 -33
- package/lib/ChunkGraph.js +207 -72
- package/lib/ChunkGroup.js +40 -20
- package/lib/ChunkTemplate.js +43 -0
- package/lib/CleanPlugin.js +117 -32
- package/lib/CodeGenerationResults.js +8 -7
- package/lib/CommentCompilationWarning.js +0 -1
- package/lib/CompatibilityPlugin.js +85 -46
- package/lib/Compilation.js +712 -392
- package/lib/Compiler.js +393 -172
- package/lib/ConcatenationScope.js +10 -13
- package/lib/ConditionalInitFragment.js +22 -14
- package/lib/ConstPlugin.js +104 -64
- package/lib/ContextExclusionPlugin.js +3 -3
- package/lib/ContextModule.js +283 -108
- package/lib/ContextModuleFactory.js +151 -63
- package/lib/ContextReplacementPlugin.js +25 -10
- package/lib/CssModule.js +166 -0
- package/lib/DefinePlugin.js +254 -148
- package/lib/DelegatedModule.js +29 -6
- package/lib/DelegatedModuleFactoryPlugin.js +42 -22
- package/lib/DelegatedPlugin.js +4 -0
- package/lib/DependenciesBlock.js +17 -2
- package/lib/Dependency.js +58 -29
- package/lib/DependencyTemplate.js +24 -3
- package/lib/DependencyTemplates.js +2 -2
- package/lib/DllEntryPlugin.js +18 -1
- package/lib/DllModule.js +21 -4
- package/lib/DllModuleFactory.js +2 -1
- package/lib/DllPlugin.js +9 -7
- package/lib/DllReferencePlugin.js +50 -19
- package/lib/EntryOptionPlugin.js +6 -1
- package/lib/EntryPlugin.js +7 -4
- package/lib/Entrypoint.js +2 -2
- package/lib/EnvironmentNotSupportAsyncWarning.js +52 -0
- package/lib/EnvironmentPlugin.js +5 -2
- package/lib/ErrorHelpers.js +65 -26
- package/lib/EvalDevToolModulePlugin.js +37 -13
- package/lib/EvalSourceMapDevToolPlugin.js +50 -20
- package/lib/ExportsInfo.js +234 -133
- package/lib/ExportsInfoApiPlugin.js +31 -15
- package/lib/ExternalModule.js +391 -129
- package/lib/ExternalModuleFactoryPlugin.js +65 -17
- package/lib/FileSystemInfo.js +1038 -523
- package/lib/FlagAllModulesAsUsedPlugin.js +27 -27
- package/lib/FlagDependencyExportsPlugin.js +352 -349
- package/lib/FlagDependencyUsagePlugin.js +10 -10
- package/lib/FlagEntryExportAsUsedPlugin.js +26 -23
- package/lib/Generator.js +16 -8
- package/lib/GraphHelpers.js +3 -2
- package/lib/HookWebpackError.js +11 -13
- package/lib/HotModuleReplacementPlugin.js +221 -128
- package/lib/IgnoreErrorModuleFactory.js +4 -4
- package/lib/IgnorePlugin.js +5 -4
- package/lib/IgnoreWarningsPlugin.js +6 -9
- package/lib/InitFragment.js +39 -15
- package/lib/JavascriptMetaInfoPlugin.js +27 -15
- package/lib/LibManifestPlugin.js +45 -16
- package/lib/LoaderOptionsPlugin.js +13 -3
- package/lib/MainTemplate.js +74 -21
- package/lib/Module.js +155 -34
- package/lib/ModuleBuildError.js +13 -11
- package/lib/ModuleDependencyError.js +6 -4
- package/lib/ModuleDependencyWarning.js +6 -4
- package/lib/ModuleError.js +10 -5
- package/lib/ModuleFactory.js +4 -4
- package/lib/ModuleFilenameHelpers.js +164 -54
- package/lib/ModuleGraph.js +93 -53
- package/lib/ModuleGraphConnection.js +27 -13
- package/lib/ModuleHashingError.js +29 -0
- package/lib/ModuleInfoHeaderPlugin.js +92 -33
- package/lib/ModuleNotFoundError.js +5 -2
- package/lib/ModuleParseError.js +17 -9
- package/lib/ModuleProfile.js +1 -0
- package/lib/ModuleRestoreError.js +3 -1
- package/lib/ModuleStoreError.js +3 -2
- package/lib/ModuleTemplate.js +33 -1
- package/lib/ModuleTypeConstants.js +168 -0
- package/lib/ModuleWarning.js +10 -5
- package/lib/MultiCompiler.js +115 -38
- package/lib/MultiStats.js +75 -33
- package/lib/MultiWatching.js +6 -2
- package/lib/NodeStuffPlugin.js +136 -37
- package/lib/NormalModule.js +437 -194
- package/lib/NormalModuleFactory.js +313 -116
- package/lib/NormalModuleReplacementPlugin.js +10 -4
- package/lib/NullFactory.js +1 -1
- package/lib/OptimizationStages.js +3 -3
- package/lib/Parser.js +1 -1
- package/lib/PlatformPlugin.js +39 -0
- package/lib/PrefetchPlugin.js +4 -0
- package/lib/ProgressPlugin.js +83 -28
- package/lib/ProvidePlugin.js +37 -19
- package/lib/RawModule.js +18 -5
- package/lib/RecordIdsPlugin.js +8 -8
- package/lib/RequireJsStuffPlugin.js +22 -15
- package/lib/ResolverFactory.js +8 -4
- package/lib/RuntimeGlobals.js +99 -65
- package/lib/RuntimeModule.js +17 -15
- package/lib/RuntimePlugin.js +116 -13
- package/lib/RuntimeTemplate.js +304 -102
- package/lib/SelfModuleFactory.js +12 -0
- package/lib/SizeFormatHelpers.js +2 -4
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +4 -0
- package/lib/SourceMapDevToolPlugin.js +89 -42
- package/lib/Stats.js +12 -7
- package/lib/Template.js +30 -33
- package/lib/TemplatedPathPlugin.js +102 -34
- package/lib/UseStrictPlugin.js +37 -12
- package/lib/WarnCaseSensitiveModulesPlugin.js +12 -0
- package/lib/WarnDeprecatedOptionPlugin.js +6 -0
- package/lib/WatchIgnorePlugin.js +46 -13
- package/lib/Watching.js +139 -76
- package/lib/WebpackError.js +14 -5
- package/lib/WebpackIsIncludedPlugin.js +22 -13
- package/lib/WebpackOptionsApply.js +162 -56
- package/lib/WebpackOptionsDefaulter.js +10 -3
- package/lib/asset/AssetGenerator.js +351 -99
- package/lib/asset/AssetModulesPlugin.js +57 -33
- package/lib/asset/AssetParser.js +15 -6
- package/lib/asset/AssetSourceGenerator.js +30 -10
- package/lib/asset/AssetSourceParser.js +8 -2
- package/lib/asset/RawDataUrlModule.js +162 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +16 -13
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/buildChunkGraph.js +376 -420
- package/lib/cache/AddManagedPathsPlugin.js +6 -1
- package/lib/cache/IdleFileCachePlugin.js +26 -13
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +13 -7
- package/lib/cache/PackFileCacheStrategy.js +172 -94
- package/lib/cache/ResolverCachePlugin.js +115 -43
- package/lib/cache/getLazyHashedEtag.js +2 -2
- package/lib/cache/mergeEtags.js +16 -21
- package/lib/cli.js +195 -110
- package/lib/config/browserslistTargetHandler.js +106 -41
- package/lib/config/defaults.js +572 -154
- package/lib/config/normalization.js +361 -322
- package/lib/config/target.js +105 -66
- package/lib/container/ContainerEntryDependency.js +2 -1
- package/lib/container/ContainerEntryModule.js +27 -11
- package/lib/container/ContainerEntryModuleFactory.js +1 -1
- package/lib/container/ContainerExposedDependency.js +9 -0
- package/lib/container/ContainerPlugin.js +18 -12
- package/lib/container/ContainerReferencePlugin.js +1 -1
- package/lib/container/FallbackDependency.js +13 -0
- package/lib/container/FallbackItemDependency.js +3 -0
- package/lib/container/FallbackModule.js +19 -8
- package/lib/container/FallbackModuleFactory.js +1 -1
- package/lib/container/ModuleFederationPlugin.js +2 -0
- package/lib/container/RemoteModule.js +17 -4
- package/lib/container/RemoteRuntimeModule.js +31 -17
- package/lib/container/RemoteToExternalDependency.js +3 -0
- package/lib/container/options.js +18 -4
- package/lib/css/CssExportsGenerator.js +203 -0
- package/lib/css/CssGenerator.js +151 -0
- package/lib/css/CssLoadingRuntimeModule.js +592 -0
- package/lib/css/CssModulesPlugin.js +888 -0
- package/lib/css/CssParser.js +1049 -0
- package/lib/css/walkCssTokens.js +775 -0
- package/lib/debug/ProfilingPlugin.js +102 -54
- package/lib/dependencies/AMDDefineDependency.js +54 -10
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +204 -61
- package/lib/dependencies/AMDPlugin.js +44 -24
- package/lib/dependencies/AMDRequireArrayDependency.js +34 -10
- package/lib/dependencies/AMDRequireContextDependency.js +15 -0
- package/lib/dependencies/AMDRequireDependenciesBlock.js +6 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +185 -54
- package/lib/dependencies/AMDRequireDependency.js +21 -6
- package/lib/dependencies/AMDRequireItemDependency.js +6 -0
- package/lib/dependencies/AMDRuntimeModules.js +4 -4
- package/lib/dependencies/CachedConstDependency.js +22 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +16 -2
- package/lib/dependencies/CommonJsExportRequireDependency.js +77 -47
- package/lib/dependencies/CommonJsExportsDependency.js +28 -5
- package/lib/dependencies/CommonJsExportsParserPlugin.js +111 -39
- package/lib/dependencies/CommonJsFullRequireDependency.js +42 -8
- package/lib/dependencies/CommonJsImportsParserPlugin.js +530 -130
- package/lib/dependencies/CommonJsPlugin.js +51 -26
- package/lib/dependencies/CommonJsRequireContextDependency.js +23 -2
- package/lib/dependencies/CommonJsRequireDependency.js +9 -1
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +22 -8
- package/lib/dependencies/ConstDependency.js +12 -3
- package/lib/dependencies/ContextDependency.js +32 -5
- package/lib/dependencies/ContextDependencyHelpers.js +92 -62
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +4 -1
- package/lib/dependencies/ContextElementDependency.js +41 -4
- package/lib/dependencies/CreateScriptUrlDependency.js +22 -1
- package/lib/dependencies/CriticalDependencyWarning.js +4 -1
- package/lib/dependencies/CssExportDependency.js +156 -0
- package/lib/dependencies/CssImportDependency.js +125 -0
- package/lib/dependencies/CssLocalIdentifierDependency.js +245 -0
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +111 -0
- package/lib/dependencies/CssUrlDependency.js +164 -0
- package/lib/dependencies/DelegatedSourceDependency.js +3 -0
- package/lib/dependencies/DllEntryDependency.js +14 -0
- package/lib/dependencies/DynamicExports.js +15 -11
- package/lib/dependencies/ExportsInfoDependency.js +26 -5
- package/lib/dependencies/ExternalModuleDependency.js +109 -0
- package/lib/dependencies/ExternalModuleInitFragment.js +133 -0
- package/lib/dependencies/HarmonyAcceptDependency.js +11 -2
- package/lib/dependencies/HarmonyAcceptImportDependency.js +9 -4
- package/lib/dependencies/HarmonyCompatibilityDependency.js +6 -5
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +29 -3
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +152 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +96 -51
- package/lib/dependencies/HarmonyExportExpressionDependency.js +21 -4
- package/lib/dependencies/HarmonyExportHeaderDependency.js +13 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +216 -108
- package/lib/dependencies/HarmonyExportInitFragment.js +21 -9
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +12 -0
- package/lib/dependencies/HarmonyExports.js +13 -7
- package/lib/dependencies/HarmonyImportDependency.js +65 -19
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +268 -74
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +11 -5
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +180 -36
- package/lib/dependencies/HarmonyModulesPlugin.js +33 -5
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +15 -3
- package/lib/dependencies/ImportContextDependency.js +15 -2
- package/lib/dependencies/ImportDependency.js +50 -12
- package/lib/dependencies/ImportEagerDependency.js +11 -6
- package/lib/dependencies/ImportMetaContextDependency.js +42 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +301 -0
- package/lib/dependencies/ImportMetaContextPlugin.js +72 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +6 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +6 -0
- package/lib/dependencies/ImportMetaPlugin.js +128 -59
- package/lib/dependencies/ImportParserPlugin.js +153 -83
- package/lib/dependencies/ImportPlugin.js +21 -7
- package/lib/dependencies/ImportWeakDependency.js +11 -6
- package/lib/dependencies/JsonExportsDependency.js +38 -30
- package/lib/dependencies/LoaderDependency.js +14 -0
- package/lib/dependencies/LoaderImportDependency.js +14 -0
- package/lib/dependencies/LoaderPlugin.js +54 -40
- package/lib/dependencies/LocalModule.js +17 -1
- package/lib/dependencies/LocalModuleDependency.js +15 -0
- package/lib/dependencies/LocalModulesHelpers.js +22 -4
- package/lib/dependencies/ModuleDecoratorDependency.js +9 -1
- package/lib/dependencies/ModuleDependency.js +24 -7
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ModuleHotAcceptDependency.js +6 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +6 -0
- package/lib/dependencies/PrefetchDependency.js +3 -0
- package/lib/dependencies/ProvidedDependency.js +43 -8
- package/lib/dependencies/PureExpressionDependency.js +73 -39
- package/lib/dependencies/RequireContextDependency.js +6 -16
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +14 -6
- package/lib/dependencies/RequireContextPlugin.js +20 -7
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +7 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +29 -12
- package/lib/dependencies/RequireEnsureDependency.js +16 -2
- package/lib/dependencies/RequireEnsureItemDependency.js +3 -0
- package/lib/dependencies/RequireEnsurePlugin.js +27 -7
- package/lib/dependencies/RequireHeaderDependency.js +14 -1
- package/lib/dependencies/RequireIncludeDependency.js +6 -1
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +29 -5
- package/lib/dependencies/RequireIncludePlugin.js +25 -5
- package/lib/dependencies/RequireResolveContextDependency.js +19 -2
- package/lib/dependencies/RequireResolveDependency.js +8 -1
- package/lib/dependencies/RequireResolveHeaderDependency.js +18 -0
- package/lib/dependencies/RuntimeRequirementsDependency.js +9 -1
- package/lib/dependencies/StaticExportsDependency.js +8 -0
- package/lib/dependencies/SystemPlugin.js +49 -22
- package/lib/dependencies/SystemRuntimeModule.js +1 -1
- package/lib/dependencies/URLDependency.js +20 -13
- package/lib/dependencies/URLPlugin.js +115 -27
- package/lib/dependencies/UnsupportedDependency.js +13 -0
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +14 -0
- package/lib/dependencies/WebAssemblyImportDependency.js +9 -1
- package/lib/dependencies/WebpackIsIncludedDependency.js +6 -1
- package/lib/dependencies/WorkerDependency.js +47 -3
- package/lib/dependencies/WorkerPlugin.js +143 -59
- package/lib/dependencies/getFunctionExpression.js +9 -0
- package/lib/dependencies/processExportInfo.js +3 -1
- package/lib/electron/ElectronTargetPlugin.js +1 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +3 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +92 -55
- package/lib/esm/ModuleChunkLoadingPlugin.js +12 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +141 -25
- package/lib/formatLocation.js +1 -2
- package/lib/hmr/HotModuleReplacement.runtime.js +37 -25
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +2 -1
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +13 -15
- package/lib/hmr/LazyCompilationPlugin.js +94 -41
- package/lib/hmr/lazyCompilationBackend.js +107 -44
- package/lib/ids/ChunkModuleIdRangePlugin.js +12 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +13 -6
- package/lib/ids/DeterministicModuleIdsPlugin.js +59 -35
- package/lib/ids/HashedModuleIdsPlugin.js +24 -16
- package/lib/ids/IdHelpers.js +59 -49
- package/lib/ids/NamedChunkIdsPlugin.js +13 -1
- package/lib/ids/NamedModuleIdsPlugin.js +20 -12
- package/lib/ids/NaturalModuleIdsPlugin.js +10 -13
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -2
- package/lib/ids/OccurrenceModuleIdsPlugin.js +14 -11
- package/lib/ids/SyncModuleIdsPlugin.js +146 -0
- package/lib/index.js +44 -5
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +9 -7
- package/lib/javascript/BasicEvaluatedExpression.js +133 -19
- package/lib/javascript/ChunkHelpers.js +33 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +18 -15
- package/lib/javascript/EnableChunkLoadingPlugin.js +11 -6
- package/lib/javascript/JavascriptGenerator.js +37 -6
- package/lib/javascript/JavascriptModulesPlugin.js +523 -295
- package/lib/javascript/JavascriptParser.js +1591 -574
- package/lib/javascript/JavascriptParserHelpers.js +58 -37
- package/lib/javascript/StartupHelpers.js +69 -47
- package/lib/json/JsonData.js +33 -0
- package/lib/json/JsonGenerator.js +29 -21
- package/lib/json/JsonModulesPlugin.js +13 -7
- package/lib/json/JsonParser.js +30 -16
- package/lib/library/AbstractLibraryPlugin.js +6 -2
- package/lib/library/AmdLibraryPlugin.js +34 -18
- package/lib/library/AssignLibraryPlugin.js +68 -32
- package/lib/library/EnableLibraryPlugin.js +39 -14
- package/lib/library/ExportPropertyLibraryPlugin.js +14 -5
- package/lib/library/JsonpLibraryPlugin.js +4 -3
- package/lib/library/ModernModuleLibraryPlugin.js +144 -0
- package/lib/library/ModuleLibraryPlugin.js +12 -7
- package/lib/library/SystemLibraryPlugin.js +6 -4
- package/lib/library/UmdLibraryPlugin.js +119 -100
- package/lib/logging/Logger.js +59 -6
- package/lib/logging/createConsoleLogger.js +25 -40
- package/lib/logging/runtime.js +8 -9
- package/lib/logging/truncateArgs.js +9 -8
- package/lib/node/CommonJsChunkLoadingPlugin.js +18 -2
- package/lib/node/NodeEnvironmentPlugin.js +14 -8
- package/lib/node/NodeTargetPlugin.js +7 -0
- package/lib/node/NodeTemplatePlugin.js +10 -2
- package/lib/node/NodeWatchFileSystem.js +100 -50
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +51 -26
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +13 -2
- package/lib/node/ReadFileCompileWasmPlugin.js +21 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +49 -26
- package/lib/node/nodeConsole.js +48 -31
- package/lib/optimize/AggressiveMergingPlugin.js +10 -4
- package/lib/optimize/AggressiveSplittingPlugin.js +26 -21
- package/lib/optimize/ConcatenatedModule.js +353 -212
- package/lib/optimize/EnsureChunkConditionsPlugin.js +4 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +14 -8
- package/lib/optimize/InnerGraph.js +30 -25
- package/lib/optimize/InnerGraphPlugin.js +105 -64
- package/lib/optimize/LimitChunkCountPlugin.js +32 -9
- package/lib/optimize/MangleExportsPlugin.js +7 -2
- package/lib/optimize/MinMaxSizeWarning.js +6 -1
- package/lib/optimize/ModuleConcatenationPlugin.js +150 -83
- package/lib/optimize/RealContentHashPlugin.js +99 -43
- package/lib/optimize/RemoveParentModulesPlugin.js +131 -48
- package/lib/optimize/RuntimeChunkPlugin.js +15 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +119 -63
- package/lib/optimize/SplitChunksPlugin.js +129 -78
- package/lib/performance/SizeLimitsPlugin.js +22 -8
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +4 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +4 -1
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +8 -5
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -3
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +5 -3
- package/lib/rules/BasicEffectRulePlugin.js +7 -1
- package/lib/rules/BasicMatcherRulePlugin.js +8 -1
- package/lib/rules/ObjectMatcherRulePlugin.js +19 -2
- package/lib/rules/RuleSetCompiler.js +53 -32
- package/lib/rules/UseEffectRulePlugin.js +42 -36
- package/lib/runtime/AsyncModuleRuntimeModule.js +56 -69
- package/lib/runtime/AutoPublicPathRuntimeModule.js +25 -9
- package/lib/runtime/BaseUriRuntimeModule.js +35 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -1
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +5 -2
- package/lib/runtime/CompatRuntimeModule.js +7 -2
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +38 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +13 -36
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -3
- package/lib/runtime/EnsureChunkRuntimeModule.js +29 -15
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +56 -43
- package/lib/runtime/GetFullHashRuntimeModule.js +4 -3
- package/lib/runtime/GetMainFilenameRuntimeModule.js +5 -2
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +98 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -1
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +5 -2
- package/lib/runtime/LoadScriptRuntimeModule.js +61 -45
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +5 -2
- package/lib/runtime/NonceRuntimeModule.js +24 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -2
- package/lib/runtime/PublicPathRuntimeModule.js +9 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +5 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +6 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +15 -0
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +36 -28
- package/lib/runtime/StartupEntrypointRuntimeModule.js +13 -9
- package/lib/runtime/SystemContextRuntimeModule.js +1 -1
- package/lib/schemes/DataUriPlugin.js +16 -3
- package/lib/schemes/HttpUriPlugin.js +336 -120
- package/lib/serialization/ArraySerializer.js +22 -6
- package/lib/serialization/BinaryMiddleware.js +212 -33
- package/lib/serialization/DateObjectSerializer.js +16 -4
- package/lib/serialization/ErrorObjectSerializer.js +23 -6
- package/lib/serialization/FileMiddleware.js +187 -86
- package/lib/serialization/MapObjectSerializer.js +25 -8
- package/lib/serialization/NullPrototypeObjectSerializer.js +26 -8
- package/lib/serialization/ObjectMiddleware.js +96 -66
- package/lib/serialization/PlainObjectSerializer.js +51 -14
- package/lib/serialization/RegExpObjectSerializer.js +17 -5
- package/lib/serialization/Serializer.js +23 -5
- package/lib/serialization/SerializerMiddleware.js +8 -8
- package/lib/serialization/SetObjectSerializer.js +22 -6
- package/lib/serialization/SingleItemMiddleware.js +2 -2
- package/lib/serialization/types.js +2 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +3 -0
- package/lib/sharing/ConsumeSharedModule.js +40 -17
- package/lib/sharing/ConsumeSharedPlugin.js +139 -102
- package/lib/sharing/ConsumeSharedRuntimeModule.js +144 -130
- package/lib/sharing/ProvideForSharedDependency.js +0 -1
- package/lib/sharing/ProvideSharedDependency.js +17 -0
- package/lib/sharing/ProvideSharedModule.js +19 -6
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -1
- package/lib/sharing/ProvideSharedPlugin.js +37 -30
- package/lib/sharing/SharePlugin.js +2 -2
- package/lib/sharing/ShareRuntimeModule.js +20 -10
- package/lib/sharing/resolveMatchedConfigs.js +6 -5
- package/lib/sharing/utils.js +338 -34
- package/lib/stats/DefaultStatsFactoryPlugin.js +660 -396
- package/lib/stats/DefaultStatsPresetPlugin.js +85 -25
- package/lib/stats/DefaultStatsPrinterPlugin.js +525 -145
- package/lib/stats/StatsFactory.js +128 -57
- package/lib/stats/StatsPrinter.js +77 -46
- package/lib/util/ArrayHelpers.js +35 -1
- package/lib/util/ArrayQueue.js +15 -22
- package/lib/util/AsyncQueue.js +37 -16
- package/lib/util/IterableHelpers.js +3 -4
- package/lib/util/LazyBucketSortedSet.js +60 -44
- package/lib/util/LazySet.js +11 -2
- package/lib/util/MapHelpers.js +17 -5
- package/lib/util/ParallelismFactorCalculator.js +11 -1
- package/lib/util/Queue.js +9 -3
- package/lib/util/Semaphore.js +4 -7
- package/lib/util/SetHelpers.js +5 -5
- package/lib/util/SortableSet.js +19 -6
- package/lib/util/StackedCacheMap.js +33 -3
- package/lib/util/StackedMap.js +1 -3
- package/lib/util/StringXor.js +46 -0
- package/lib/util/TupleQueue.js +9 -3
- package/lib/util/TupleSet.js +15 -5
- package/lib/util/URLAbsoluteSpecifier.js +8 -8
- package/lib/util/WeakTupleMap.js +70 -28
- package/lib/util/binarySearchBounds.js +51 -9
- package/lib/util/chainedImports.js +97 -0
- package/lib/util/cleverMerge.js +51 -36
- package/lib/util/comparators.js +146 -83
- package/lib/util/compileBooleanMatcher.js +35 -7
- package/lib/util/conventions.js +126 -0
- package/lib/util/create-schema-validation.js +9 -2
- package/lib/util/createHash.js +49 -14
- package/lib/util/deprecation.js +48 -15
- package/lib/util/deterministicGrouping.js +71 -39
- package/lib/util/extractUrlAndGlobal.js +3 -0
- package/lib/util/findGraphRoots.js +7 -5
- package/lib/util/fs.js +419 -94
- package/lib/util/hash/BatchedHash.js +10 -4
- package/lib/util/hash/md4.js +20 -0
- package/lib/util/hash/wasm-hash.js +163 -0
- package/lib/util/hash/xxhash64.js +7 -141
- package/lib/util/identifier.js +140 -93
- package/lib/util/internalSerializables.js +22 -0
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +10 -10
- package/lib/util/mergeScope.js +76 -0
- package/lib/util/nonNumericOnlyHash.js +22 -0
- package/lib/util/numberHash.js +84 -34
- package/lib/util/objectToMap.js +0 -1
- package/lib/util/processAsyncTree.js +7 -1
- package/lib/util/propertyAccess.js +7 -55
- package/lib/util/propertyName.js +77 -0
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/runtime.js +188 -133
- package/lib/util/semver.js +64 -56
- package/lib/util/serialization.js +26 -1
- package/lib/util/smartGrouping.js +10 -10
- package/lib/util/source.js +1 -1
- package/lib/validateSchema.js +6 -2
- package/lib/wasm/EnableWasmLoadingPlugin.js +9 -4
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +70 -30
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +9 -1
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +34 -16
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +32 -12
- package/lib/wasm-async/AsyncWebAssemblyParser.js +17 -4
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +72 -31
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +17 -6
- package/lib/wasm-sync/WebAssemblyGenerator.js +72 -52
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +5 -4
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +53 -43
- package/lib/wasm-sync/WebAssemblyParser.js +23 -9
- package/lib/wasm-sync/WebAssemblyUtils.js +5 -4
- package/lib/web/FetchCompileAsyncWasmPlugin.js +11 -1
- package/lib/web/FetchCompileWasmPlugin.js +59 -42
- package/lib/web/JsonpChunkLoadingPlugin.js +9 -0
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +71 -41
- package/lib/webpack.js +43 -12
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +15 -12
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +55 -40
- package/module.d.ts +233 -0
- package/package.json +85 -139
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +679 -47
- package/schemas/plugins/BannerPlugin.check.js +1 -1
- package/schemas/plugins/BannerPlugin.json +9 -1
- package/schemas/plugins/DllReferencePlugin.check.js +1 -1
- package/schemas/plugins/HashedModuleIdsPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +1 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +4 -0
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -1
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -1
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -1
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.json +10 -1
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +12 -1
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoGeneratorOptions.json +3 -0
- package/schemas/plugins/css/CssAutoParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoParserOptions.json +3 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +6 -0
- package/schemas/plugins/css/CssGeneratorOptions.json +3 -0
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.js +6 -0
- package/schemas/plugins/css/CssGlobalGeneratorOptions.json +3 -0
- package/schemas/plugins/css/CssGlobalParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssGlobalParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssGlobalParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +6 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssParserOptions.json +3 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -1
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -1
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -1
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -1
- package/schemas/plugins/schemes/HttpUriPlugin.json +4 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +1 -1
- package/types.d.ts +5026 -1756
@@ -5,13 +5,21 @@
|
|
5
5
|
|
6
6
|
"use strict";
|
7
7
|
|
8
|
+
const {
|
9
|
+
JAVASCRIPT_MODULE_TYPE_AUTO,
|
10
|
+
JAVASCRIPT_MODULE_TYPE_DYNAMIC
|
11
|
+
} = require("./ModuleTypeConstants");
|
8
12
|
const RuntimeGlobals = require("./RuntimeGlobals");
|
9
13
|
const ConstDependency = require("./dependencies/ConstDependency");
|
10
14
|
const {
|
11
15
|
toConstantDependency
|
12
16
|
} = require("./javascript/JavascriptParserHelpers");
|
13
17
|
|
18
|
+
/** @typedef {import("../declarations/WebpackOptions").JavascriptParserOptions} JavascriptParserOptions */
|
14
19
|
/** @typedef {import("./Compiler")} Compiler */
|
20
|
+
/** @typedef {import("./javascript/JavascriptParser")} JavascriptParser */
|
21
|
+
|
22
|
+
const PLUGIN_NAME = "RequireJsStuffPlugin";
|
15
23
|
|
16
24
|
module.exports = class RequireJsStuffPlugin {
|
17
25
|
/**
|
@@ -21,12 +29,17 @@ module.exports = class RequireJsStuffPlugin {
|
|
21
29
|
*/
|
22
30
|
apply(compiler) {
|
23
31
|
compiler.hooks.compilation.tap(
|
24
|
-
|
32
|
+
PLUGIN_NAME,
|
25
33
|
(compilation, { normalModuleFactory }) => {
|
26
34
|
compilation.dependencyTemplates.set(
|
27
35
|
ConstDependency,
|
28
36
|
new ConstDependency.Template()
|
29
37
|
);
|
38
|
+
/**
|
39
|
+
* @param {JavascriptParser} parser the parser
|
40
|
+
* @param {JavascriptParserOptions} parserOptions options
|
41
|
+
* @returns {void}
|
42
|
+
*/
|
30
43
|
const handler = (parser, parserOptions) => {
|
31
44
|
if (
|
32
45
|
parserOptions.requireJs === undefined ||
|
@@ -37,27 +50,21 @@ module.exports = class RequireJsStuffPlugin {
|
|
37
50
|
|
38
51
|
parser.hooks.call
|
39
52
|
.for("require.config")
|
40
|
-
.tap(
|
41
|
-
"RequireJsStuffPlugin",
|
42
|
-
toConstantDependency(parser, "undefined")
|
43
|
-
);
|
53
|
+
.tap(PLUGIN_NAME, toConstantDependency(parser, "undefined"));
|
44
54
|
parser.hooks.call
|
45
55
|
.for("requirejs.config")
|
46
|
-
.tap(
|
47
|
-
"RequireJsStuffPlugin",
|
48
|
-
toConstantDependency(parser, "undefined")
|
49
|
-
);
|
56
|
+
.tap(PLUGIN_NAME, toConstantDependency(parser, "undefined"));
|
50
57
|
|
51
58
|
parser.hooks.expression
|
52
59
|
.for("require.version")
|
53
60
|
.tap(
|
54
|
-
|
61
|
+
PLUGIN_NAME,
|
55
62
|
toConstantDependency(parser, JSON.stringify("0.0.0"))
|
56
63
|
);
|
57
64
|
parser.hooks.expression
|
58
65
|
.for("requirejs.onError")
|
59
66
|
.tap(
|
60
|
-
|
67
|
+
PLUGIN_NAME,
|
61
68
|
toConstantDependency(
|
62
69
|
parser,
|
63
70
|
RuntimeGlobals.uncaughtErrorHandler,
|
@@ -66,11 +73,11 @@ module.exports = class RequireJsStuffPlugin {
|
|
66
73
|
);
|
67
74
|
};
|
68
75
|
normalModuleFactory.hooks.parser
|
69
|
-
.for(
|
70
|
-
.tap(
|
76
|
+
.for(JAVASCRIPT_MODULE_TYPE_AUTO)
|
77
|
+
.tap(PLUGIN_NAME, handler);
|
71
78
|
normalModuleFactory.hooks.parser
|
72
|
-
.for(
|
73
|
-
.tap(
|
79
|
+
.for(JAVASCRIPT_MODULE_TYPE_DYNAMIC)
|
80
|
+
.tap(PLUGIN_NAME, handler);
|
74
81
|
}
|
75
82
|
);
|
76
83
|
}
|
package/lib/ResolverFactory.js
CHANGED
@@ -13,14 +13,16 @@ const {
|
|
13
13
|
resolveByProperty
|
14
14
|
} = require("./util/cleverMerge");
|
15
15
|
|
16
|
+
/** @typedef {import("enhanced-resolve").ResolveContext} ResolveContext */
|
16
17
|
/** @typedef {import("enhanced-resolve").ResolveOptions} ResolveOptions */
|
18
|
+
/** @typedef {import("enhanced-resolve").ResolveRequest} ResolveRequest */
|
17
19
|
/** @typedef {import("enhanced-resolve").Resolver} Resolver */
|
18
20
|
/** @typedef {import("../declarations/WebpackOptions").ResolveOptions} WebpackResolveOptions */
|
19
21
|
/** @typedef {import("../declarations/WebpackOptions").ResolvePluginInstance} ResolvePluginInstance */
|
20
22
|
|
21
23
|
/** @typedef {WebpackResolveOptions & {dependencyType?: string, resolveToContext?: boolean }} ResolveOptionsWithDependencyType */
|
22
24
|
/**
|
23
|
-
* @typedef {
|
25
|
+
* @typedef {object} WithOptions
|
24
26
|
* @property {function(Partial<ResolveOptionsWithDependencyType>): ResolverWithOptions} withOptions create a resolver with additional/different options
|
25
27
|
*/
|
26
28
|
|
@@ -59,13 +61,15 @@ const convertToResolveOptions = resolveOptionsWithDepType => {
|
|
59
61
|
);
|
60
62
|
|
61
63
|
return removeOperations(
|
62
|
-
resolveByProperty(options, "byDependency", dependencyType)
|
64
|
+
resolveByProperty(options, "byDependency", dependencyType),
|
65
|
+
// Keep the `unsafeCache` because it can be a `Proxy`
|
66
|
+
["unsafeCache"]
|
63
67
|
);
|
64
68
|
};
|
65
69
|
|
66
70
|
/**
|
67
|
-
* @typedef {
|
68
|
-
* @property {WeakMap<
|
71
|
+
* @typedef {object} ResolverCache
|
72
|
+
* @property {WeakMap<object, ResolverWithOptions>} direct
|
69
73
|
* @property {Map<string, ResolverWithOptions>} stringified
|
70
74
|
*/
|
71
75
|
|
package/lib/RuntimeGlobals.js
CHANGED
@@ -8,226 +8,260 @@
|
|
8
8
|
/**
|
9
9
|
* the internal require function
|
10
10
|
*/
|
11
|
-
exports.require = "__webpack_require__";
|
11
|
+
module.exports.require = "__webpack_require__";
|
12
12
|
|
13
13
|
/**
|
14
14
|
* access to properties of the internal require function/object
|
15
15
|
*/
|
16
|
-
exports.requireScope = "__webpack_require__.*";
|
16
|
+
module.exports.requireScope = "__webpack_require__.*";
|
17
17
|
|
18
18
|
/**
|
19
19
|
* the internal exports object
|
20
20
|
*/
|
21
|
-
exports.exports = "__webpack_exports__";
|
21
|
+
module.exports.exports = "__webpack_exports__";
|
22
22
|
|
23
23
|
/**
|
24
24
|
* top-level this need to be the exports object
|
25
25
|
*/
|
26
|
-
exports.thisAsExports = "top-level-this-exports";
|
26
|
+
module.exports.thisAsExports = "top-level-this-exports";
|
27
27
|
|
28
28
|
/**
|
29
29
|
* runtime need to return the exports of the last entry module
|
30
30
|
*/
|
31
|
-
exports.returnExportsFromRuntime = "return-exports-from-runtime";
|
31
|
+
module.exports.returnExportsFromRuntime = "return-exports-from-runtime";
|
32
32
|
|
33
33
|
/**
|
34
34
|
* the internal module object
|
35
35
|
*/
|
36
|
-
exports.module = "module";
|
36
|
+
module.exports.module = "module";
|
37
37
|
|
38
38
|
/**
|
39
39
|
* the internal module object
|
40
40
|
*/
|
41
|
-
exports.moduleId = "module.id";
|
41
|
+
module.exports.moduleId = "module.id";
|
42
42
|
|
43
43
|
/**
|
44
44
|
* the internal module object
|
45
45
|
*/
|
46
|
-
exports.moduleLoaded = "module.loaded";
|
46
|
+
module.exports.moduleLoaded = "module.loaded";
|
47
47
|
|
48
48
|
/**
|
49
49
|
* the bundle public path
|
50
50
|
*/
|
51
|
-
exports.publicPath = "__webpack_require__.p";
|
51
|
+
module.exports.publicPath = "__webpack_require__.p";
|
52
52
|
|
53
53
|
/**
|
54
54
|
* the module id of the entry point
|
55
55
|
*/
|
56
|
-
exports.entryModuleId = "__webpack_require__.s";
|
56
|
+
module.exports.entryModuleId = "__webpack_require__.s";
|
57
57
|
|
58
58
|
/**
|
59
59
|
* the module cache
|
60
60
|
*/
|
61
|
-
exports.moduleCache = "__webpack_require__.c";
|
61
|
+
module.exports.moduleCache = "__webpack_require__.c";
|
62
62
|
|
63
63
|
/**
|
64
64
|
* the module functions
|
65
65
|
*/
|
66
|
-
exports.moduleFactories = "__webpack_require__.m";
|
66
|
+
module.exports.moduleFactories = "__webpack_require__.m";
|
67
67
|
|
68
68
|
/**
|
69
69
|
* the module functions, with only write access
|
70
70
|
*/
|
71
|
-
exports.moduleFactoriesAddOnly = "__webpack_require__.m (add only)";
|
71
|
+
module.exports.moduleFactoriesAddOnly = "__webpack_require__.m (add only)";
|
72
72
|
|
73
73
|
/**
|
74
74
|
* the chunk ensure function
|
75
75
|
*/
|
76
|
-
exports.ensureChunk = "__webpack_require__.e";
|
76
|
+
module.exports.ensureChunk = "__webpack_require__.e";
|
77
77
|
|
78
78
|
/**
|
79
79
|
* an object with handlers to ensure a chunk
|
80
80
|
*/
|
81
|
-
exports.ensureChunkHandlers = "__webpack_require__.f";
|
81
|
+
module.exports.ensureChunkHandlers = "__webpack_require__.f";
|
82
82
|
|
83
83
|
/**
|
84
84
|
* a runtime requirement if ensureChunkHandlers should include loading of chunk needed for entries
|
85
85
|
*/
|
86
|
-
exports.ensureChunkIncludeEntries =
|
86
|
+
module.exports.ensureChunkIncludeEntries =
|
87
|
+
"__webpack_require__.f (include entries)";
|
87
88
|
|
88
89
|
/**
|
89
90
|
* the chunk prefetch function
|
90
91
|
*/
|
91
|
-
exports.prefetchChunk = "__webpack_require__.E";
|
92
|
+
module.exports.prefetchChunk = "__webpack_require__.E";
|
92
93
|
|
93
94
|
/**
|
94
95
|
* an object with handlers to prefetch a chunk
|
95
96
|
*/
|
96
|
-
exports.prefetchChunkHandlers = "__webpack_require__.F";
|
97
|
+
module.exports.prefetchChunkHandlers = "__webpack_require__.F";
|
97
98
|
|
98
99
|
/**
|
99
100
|
* the chunk preload function
|
100
101
|
*/
|
101
|
-
exports.preloadChunk = "__webpack_require__.G";
|
102
|
+
module.exports.preloadChunk = "__webpack_require__.G";
|
102
103
|
|
103
104
|
/**
|
104
105
|
* an object with handlers to preload a chunk
|
105
106
|
*/
|
106
|
-
exports.preloadChunkHandlers = "__webpack_require__.H";
|
107
|
+
module.exports.preloadChunkHandlers = "__webpack_require__.H";
|
107
108
|
|
108
109
|
/**
|
109
110
|
* the exported property define getters function
|
110
111
|
*/
|
111
|
-
exports.definePropertyGetters = "__webpack_require__.d";
|
112
|
+
module.exports.definePropertyGetters = "__webpack_require__.d";
|
112
113
|
|
113
114
|
/**
|
114
115
|
* define compatibility on export
|
115
116
|
*/
|
116
|
-
exports.makeNamespaceObject = "__webpack_require__.r";
|
117
|
+
module.exports.makeNamespaceObject = "__webpack_require__.r";
|
117
118
|
|
118
119
|
/**
|
119
120
|
* create a fake namespace object
|
120
121
|
*/
|
121
|
-
exports.createFakeNamespaceObject = "__webpack_require__.t";
|
122
|
+
module.exports.createFakeNamespaceObject = "__webpack_require__.t";
|
122
123
|
|
123
124
|
/**
|
124
125
|
* compatibility get default export
|
125
126
|
*/
|
126
|
-
exports.compatGetDefaultExport = "__webpack_require__.n";
|
127
|
+
module.exports.compatGetDefaultExport = "__webpack_require__.n";
|
127
128
|
|
128
129
|
/**
|
129
130
|
* harmony module decorator
|
130
131
|
*/
|
131
|
-
exports.harmonyModuleDecorator = "__webpack_require__.hmd";
|
132
|
+
module.exports.harmonyModuleDecorator = "__webpack_require__.hmd";
|
132
133
|
|
133
134
|
/**
|
134
135
|
* node.js module decorator
|
135
136
|
*/
|
136
|
-
exports.nodeModuleDecorator = "__webpack_require__.nmd";
|
137
|
+
module.exports.nodeModuleDecorator = "__webpack_require__.nmd";
|
137
138
|
|
138
139
|
/**
|
139
140
|
* the webpack hash
|
140
141
|
*/
|
141
|
-
exports.getFullHash = "__webpack_require__.h";
|
142
|
+
module.exports.getFullHash = "__webpack_require__.h";
|
142
143
|
|
143
144
|
/**
|
144
145
|
* an object containing all installed WebAssembly.Instance export objects keyed by module id
|
145
146
|
*/
|
146
|
-
exports.wasmInstances = "__webpack_require__.w";
|
147
|
+
module.exports.wasmInstances = "__webpack_require__.w";
|
147
148
|
|
148
149
|
/**
|
149
150
|
* instantiate a wasm instance from module exports object, id, hash and importsObject
|
150
151
|
*/
|
151
|
-
exports.instantiateWasm = "__webpack_require__.v";
|
152
|
+
module.exports.instantiateWasm = "__webpack_require__.v";
|
152
153
|
|
153
154
|
/**
|
154
155
|
* the uncaught error handler for the webpack runtime
|
155
156
|
*/
|
156
|
-
exports.uncaughtErrorHandler = "__webpack_require__.oe";
|
157
|
+
module.exports.uncaughtErrorHandler = "__webpack_require__.oe";
|
157
158
|
|
158
159
|
/**
|
159
160
|
* the script nonce
|
160
161
|
*/
|
161
|
-
exports.scriptNonce = "__webpack_require__.nc";
|
162
|
+
module.exports.scriptNonce = "__webpack_require__.nc";
|
162
163
|
|
163
164
|
/**
|
164
165
|
* function to load a script tag.
|
165
166
|
* Arguments: (url: string, done: (event) => void), key?: string | number, chunkId?: string | number) => void
|
166
167
|
* done function is called when loading has finished or timeout occurred.
|
167
|
-
* It will attach to existing script tags with data-webpack == key or src == url.
|
168
|
+
* It will attach to existing script tags with data-webpack == uniqueName + ":" + key or src == url.
|
168
169
|
*/
|
169
|
-
exports.loadScript = "__webpack_require__.l";
|
170
|
+
module.exports.loadScript = "__webpack_require__.l";
|
171
|
+
|
172
|
+
/**
|
173
|
+
* function to promote a string to a TrustedScript using webpack's Trusted
|
174
|
+
* Types policy
|
175
|
+
* Arguments: (script: string) => TrustedScript
|
176
|
+
*/
|
177
|
+
module.exports.createScript = "__webpack_require__.ts";
|
170
178
|
|
171
179
|
/**
|
172
180
|
* function to promote a string to a TrustedScriptURL using webpack's Trusted
|
173
181
|
* Types policy
|
174
182
|
* Arguments: (url: string) => TrustedScriptURL
|
175
183
|
*/
|
176
|
-
exports.createScriptUrl = "__webpack_require__.tu";
|
184
|
+
module.exports.createScriptUrl = "__webpack_require__.tu";
|
185
|
+
|
186
|
+
/**
|
187
|
+
* function to return webpack's Trusted Types policy
|
188
|
+
* Arguments: () => TrustedTypePolicy
|
189
|
+
*/
|
190
|
+
module.exports.getTrustedTypesPolicy = "__webpack_require__.tt";
|
191
|
+
|
192
|
+
/**
|
193
|
+
* a flag when a chunk has a fetch priority
|
194
|
+
*/
|
195
|
+
module.exports.hasFetchPriority = "has fetch priority";
|
177
196
|
|
178
197
|
/**
|
179
198
|
* the chunk name of the chunk with the runtime
|
180
199
|
*/
|
181
|
-
exports.chunkName = "__webpack_require__.cn";
|
200
|
+
module.exports.chunkName = "__webpack_require__.cn";
|
182
201
|
|
183
202
|
/**
|
184
203
|
* the runtime id of the current runtime
|
185
204
|
*/
|
186
|
-
exports.runtimeId = "__webpack_require__.j";
|
205
|
+
module.exports.runtimeId = "__webpack_require__.j";
|
187
206
|
|
188
207
|
/**
|
189
208
|
* the filename of the script part of the chunk
|
190
209
|
*/
|
191
|
-
exports.getChunkScriptFilename = "__webpack_require__.u";
|
210
|
+
module.exports.getChunkScriptFilename = "__webpack_require__.u";
|
211
|
+
|
212
|
+
/**
|
213
|
+
* the filename of the css part of the chunk
|
214
|
+
*/
|
215
|
+
module.exports.getChunkCssFilename = "__webpack_require__.k";
|
216
|
+
|
217
|
+
/**
|
218
|
+
* a flag when a module/chunk/tree has css modules
|
219
|
+
*/
|
220
|
+
module.exports.hasCssModules = "has css modules";
|
192
221
|
|
193
222
|
/**
|
194
223
|
* the filename of the script part of the hot update chunk
|
195
224
|
*/
|
196
|
-
exports.getChunkUpdateScriptFilename = "__webpack_require__.hu";
|
225
|
+
module.exports.getChunkUpdateScriptFilename = "__webpack_require__.hu";
|
226
|
+
|
227
|
+
/**
|
228
|
+
* the filename of the css part of the hot update chunk
|
229
|
+
*/
|
230
|
+
module.exports.getChunkUpdateCssFilename = "__webpack_require__.hk";
|
197
231
|
|
198
232
|
/**
|
199
233
|
* startup signal from runtime
|
200
234
|
* This will be called when the runtime chunk has been loaded.
|
201
235
|
*/
|
202
|
-
exports.startup = "__webpack_require__.x";
|
236
|
+
module.exports.startup = "__webpack_require__.x";
|
203
237
|
|
204
238
|
/**
|
205
239
|
* @deprecated
|
206
240
|
* creating a default startup function with the entry modules
|
207
241
|
*/
|
208
|
-
exports.startupNoDefault = "__webpack_require__.x (no default handler)";
|
242
|
+
module.exports.startupNoDefault = "__webpack_require__.x (no default handler)";
|
209
243
|
|
210
244
|
/**
|
211
245
|
* startup signal from runtime but only used to add logic after the startup
|
212
246
|
*/
|
213
|
-
exports.startupOnlyAfter = "__webpack_require__.x (only after)";
|
247
|
+
module.exports.startupOnlyAfter = "__webpack_require__.x (only after)";
|
214
248
|
|
215
249
|
/**
|
216
250
|
* startup signal from runtime but only used to add sync logic before the startup
|
217
251
|
*/
|
218
|
-
exports.startupOnlyBefore = "__webpack_require__.x (only before)";
|
252
|
+
module.exports.startupOnlyBefore = "__webpack_require__.x (only before)";
|
219
253
|
|
220
254
|
/**
|
221
255
|
* global callback functions for installing chunks
|
222
256
|
*/
|
223
|
-
exports.chunkCallback = "webpackChunk";
|
257
|
+
module.exports.chunkCallback = "webpackChunk";
|
224
258
|
|
225
259
|
/**
|
226
260
|
* method to startup an entrypoint with needed chunks.
|
227
261
|
* Signature: (moduleId: Id, chunkIds: Id[]) => any.
|
228
262
|
* Returns the exports of the module or a Promise
|
229
263
|
*/
|
230
|
-
exports.startupEntrypoint = "__webpack_require__.X";
|
264
|
+
module.exports.startupEntrypoint = "__webpack_require__.X";
|
231
265
|
|
232
266
|
/**
|
233
267
|
* register deferred code, which will run when certain
|
@@ -237,106 +271,106 @@ exports.startupEntrypoint = "__webpack_require__.X";
|
|
237
271
|
* When (priority & 1) it will wait for all other handlers with lower priority to
|
238
272
|
* be executed before itself is executed
|
239
273
|
*/
|
240
|
-
exports.onChunksLoaded = "__webpack_require__.O";
|
274
|
+
module.exports.onChunksLoaded = "__webpack_require__.O";
|
241
275
|
|
242
276
|
/**
|
243
277
|
* method to install a chunk that was loaded somehow
|
244
278
|
* Signature: ({ id, ids, modules, runtime }) => void
|
245
279
|
*/
|
246
|
-
exports.externalInstallChunk = "__webpack_require__.C";
|
280
|
+
module.exports.externalInstallChunk = "__webpack_require__.C";
|
247
281
|
|
248
282
|
/**
|
249
283
|
* interceptor for module executions
|
250
284
|
*/
|
251
|
-
exports.interceptModuleExecution = "__webpack_require__.i";
|
285
|
+
module.exports.interceptModuleExecution = "__webpack_require__.i";
|
252
286
|
|
253
287
|
/**
|
254
288
|
* the global object
|
255
289
|
*/
|
256
|
-
exports.global = "__webpack_require__.g";
|
290
|
+
module.exports.global = "__webpack_require__.g";
|
257
291
|
|
258
292
|
/**
|
259
293
|
* an object with all share scopes
|
260
294
|
*/
|
261
|
-
exports.shareScopeMap = "__webpack_require__.S";
|
295
|
+
module.exports.shareScopeMap = "__webpack_require__.S";
|
262
296
|
|
263
297
|
/**
|
264
298
|
* The sharing init sequence function (only runs once per share scope).
|
265
299
|
* Has one argument, the name of the share scope.
|
266
300
|
* Creates a share scope if not existing
|
267
301
|
*/
|
268
|
-
exports.initializeSharing = "__webpack_require__.I";
|
302
|
+
module.exports.initializeSharing = "__webpack_require__.I";
|
269
303
|
|
270
304
|
/**
|
271
305
|
* The current scope when getting a module from a remote
|
272
306
|
*/
|
273
|
-
exports.currentRemoteGetScope = "__webpack_require__.R";
|
307
|
+
module.exports.currentRemoteGetScope = "__webpack_require__.R";
|
274
308
|
|
275
309
|
/**
|
276
310
|
* the filename of the HMR manifest
|
277
311
|
*/
|
278
|
-
exports.getUpdateManifestFilename = "__webpack_require__.hmrF";
|
312
|
+
module.exports.getUpdateManifestFilename = "__webpack_require__.hmrF";
|
279
313
|
|
280
314
|
/**
|
281
315
|
* function downloading the update manifest
|
282
316
|
*/
|
283
|
-
exports.hmrDownloadManifest = "__webpack_require__.hmrM";
|
317
|
+
module.exports.hmrDownloadManifest = "__webpack_require__.hmrM";
|
284
318
|
|
285
319
|
/**
|
286
320
|
* array with handler functions to download chunk updates
|
287
321
|
*/
|
288
|
-
exports.hmrDownloadUpdateHandlers = "__webpack_require__.hmrC";
|
322
|
+
module.exports.hmrDownloadUpdateHandlers = "__webpack_require__.hmrC";
|
289
323
|
|
290
324
|
/**
|
291
325
|
* object with all hmr module data for all modules
|
292
326
|
*/
|
293
|
-
exports.hmrModuleData = "__webpack_require__.hmrD";
|
327
|
+
module.exports.hmrModuleData = "__webpack_require__.hmrD";
|
294
328
|
|
295
329
|
/**
|
296
330
|
* array with handler functions when a module should be invalidated
|
297
331
|
*/
|
298
|
-
exports.hmrInvalidateModuleHandlers = "__webpack_require__.hmrI";
|
332
|
+
module.exports.hmrInvalidateModuleHandlers = "__webpack_require__.hmrI";
|
299
333
|
|
300
334
|
/**
|
301
335
|
* the prefix for storing state of runtime modules when hmr is enabled
|
302
336
|
*/
|
303
|
-
exports.hmrRuntimeStatePrefix = "__webpack_require__.hmrS";
|
337
|
+
module.exports.hmrRuntimeStatePrefix = "__webpack_require__.hmrS";
|
304
338
|
|
305
339
|
/**
|
306
340
|
* the AMD define function
|
307
341
|
*/
|
308
|
-
exports.amdDefine = "__webpack_require__.amdD";
|
342
|
+
module.exports.amdDefine = "__webpack_require__.amdD";
|
309
343
|
|
310
344
|
/**
|
311
345
|
* the AMD options
|
312
346
|
*/
|
313
|
-
exports.amdOptions = "__webpack_require__.amdO";
|
347
|
+
module.exports.amdOptions = "__webpack_require__.amdO";
|
314
348
|
|
315
349
|
/**
|
316
350
|
* the System polyfill object
|
317
351
|
*/
|
318
|
-
exports.system = "__webpack_require__.System";
|
352
|
+
module.exports.system = "__webpack_require__.System";
|
319
353
|
|
320
354
|
/**
|
321
355
|
* the shorthand for Object.prototype.hasOwnProperty
|
322
356
|
* using of it decreases the compiled bundle size
|
323
357
|
*/
|
324
|
-
exports.hasOwnProperty = "__webpack_require__.o";
|
358
|
+
module.exports.hasOwnProperty = "__webpack_require__.o";
|
325
359
|
|
326
360
|
/**
|
327
361
|
* the System.register context object
|
328
362
|
*/
|
329
|
-
exports.systemContext = "__webpack_require__.y";
|
363
|
+
module.exports.systemContext = "__webpack_require__.y";
|
330
364
|
|
331
365
|
/**
|
332
366
|
* the baseURI of current document
|
333
367
|
*/
|
334
|
-
exports.baseURI = "__webpack_require__.b";
|
368
|
+
module.exports.baseURI = "__webpack_require__.b";
|
335
369
|
|
336
370
|
/**
|
337
371
|
* a RelativeURL class when relative URLs are used
|
338
372
|
*/
|
339
|
-
exports.relativeUrl = "__webpack_require__.U";
|
373
|
+
module.exports.relativeUrl = "__webpack_require__.U";
|
340
374
|
|
341
375
|
/**
|
342
376
|
* Creates an async module. The body function must be a async function.
|
@@ -350,4 +384,4 @@ exports.relativeUrl = "__webpack_require__.U";
|
|
350
384
|
* hasAwaitAfterDependencies?: boolean
|
351
385
|
* ) => void
|
352
386
|
*/
|
353
|
-
exports.asyncModule = "__webpack_require__.a";
|
387
|
+
module.exports.asyncModule = "__webpack_require__.a";
|
package/lib/RuntimeModule.js
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
const { RawSource } = require("webpack-sources");
|
9
9
|
const OriginalSource = require("webpack-sources").OriginalSource;
|
10
10
|
const Module = require("./Module");
|
11
|
+
const { WEBPACK_MODULE_TYPE_RUNTIME } = require("./ModuleTypeConstants");
|
11
12
|
|
12
13
|
/** @typedef {import("webpack-sources").Source} Source */
|
13
14
|
/** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
@@ -18,13 +19,14 @@ const Module = require("./Module");
|
|
18
19
|
/** @typedef {import("./Module").CodeGenerationContext} CodeGenerationContext */
|
19
20
|
/** @typedef {import("./Module").CodeGenerationResult} CodeGenerationResult */
|
20
21
|
/** @typedef {import("./Module").NeedBuildContext} NeedBuildContext */
|
22
|
+
/** @typedef {import("./Module").SourceTypes} SourceTypes */
|
21
23
|
/** @typedef {import("./RequestShortener")} RequestShortener */
|
22
24
|
/** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
23
25
|
/** @typedef {import("./WebpackError")} WebpackError */
|
24
26
|
/** @typedef {import("./util/Hash")} Hash */
|
25
27
|
/** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
|
26
28
|
|
27
|
-
const TYPES = new Set([
|
29
|
+
const TYPES = new Set([WEBPACK_MODULE_TYPE_RUNTIME]);
|
28
30
|
|
29
31
|
class RuntimeModule extends Module {
|
30
32
|
/**
|
@@ -32,20 +34,20 @@ class RuntimeModule extends Module {
|
|
32
34
|
* @param {number=} stage an optional stage
|
33
35
|
*/
|
34
36
|
constructor(name, stage = 0) {
|
35
|
-
super(
|
37
|
+
super(WEBPACK_MODULE_TYPE_RUNTIME);
|
36
38
|
this.name = name;
|
37
39
|
this.stage = stage;
|
38
40
|
this.buildMeta = {};
|
39
41
|
this.buildInfo = {};
|
40
|
-
/** @type {Compilation} */
|
42
|
+
/** @type {Compilation | undefined} */
|
41
43
|
this.compilation = undefined;
|
42
|
-
/** @type {Chunk} */
|
44
|
+
/** @type {Chunk | undefined} */
|
43
45
|
this.chunk = undefined;
|
44
|
-
/** @type {ChunkGraph} */
|
46
|
+
/** @type {ChunkGraph | undefined} */
|
45
47
|
this.chunkGraph = undefined;
|
46
48
|
this.fullHash = false;
|
47
49
|
this.dependentHash = false;
|
48
|
-
/** @type {string} */
|
50
|
+
/** @type {string | undefined | null} */
|
49
51
|
this._cachedGeneratedCode = undefined;
|
50
52
|
}
|
51
53
|
|
@@ -78,7 +80,7 @@ class RuntimeModule extends Module {
|
|
78
80
|
|
79
81
|
/**
|
80
82
|
* @param {NeedBuildContext} context context info
|
81
|
-
* @param {function(WebpackError=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
|
83
|
+
* @param {function((WebpackError | null)=, boolean=): void} callback callback function, returns true, if the module needs a rebuild
|
82
84
|
* @returns {void}
|
83
85
|
*/
|
84
86
|
needBuild(context, callback) {
|
@@ -111,18 +113,18 @@ class RuntimeModule extends Module {
|
|
111
113
|
if (this.fullHash || this.dependentHash) {
|
112
114
|
// Do not use getGeneratedCode here, because i. e. compilation hash might be not
|
113
115
|
// ready at this point. We will cache it later instead.
|
114
|
-
hash.update(this.generate());
|
116
|
+
hash.update(/** @type {string} */ (this.generate()));
|
115
117
|
} else {
|
116
|
-
hash.update(this.getGeneratedCode());
|
118
|
+
hash.update(/** @type {string} */ (this.getGeneratedCode()));
|
117
119
|
}
|
118
120
|
} catch (err) {
|
119
|
-
hash.update(err.message);
|
121
|
+
hash.update(/** @type {Error} */ (err).message);
|
120
122
|
}
|
121
123
|
super.updateHash(hash, context);
|
122
124
|
}
|
123
125
|
|
124
126
|
/**
|
125
|
-
* @returns {
|
127
|
+
* @returns {SourceTypes} types available (do not mutate)
|
126
128
|
*/
|
127
129
|
getSourceTypes() {
|
128
130
|
return TYPES;
|
@@ -137,7 +139,7 @@ class RuntimeModule extends Module {
|
|
137
139
|
const generatedCode = this.getGeneratedCode();
|
138
140
|
if (generatedCode) {
|
139
141
|
sources.set(
|
140
|
-
|
142
|
+
WEBPACK_MODULE_TYPE_RUNTIME,
|
141
143
|
this.useSourceMap || this.useSimpleSourceMap
|
142
144
|
? new OriginalSource(generatedCode, this.identifier())
|
143
145
|
: new RawSource(generatedCode)
|
@@ -157,7 +159,7 @@ class RuntimeModule extends Module {
|
|
157
159
|
try {
|
158
160
|
const source = this.getGeneratedCode();
|
159
161
|
return source ? source.length : 0;
|
160
|
-
} catch (
|
162
|
+
} catch (_err) {
|
161
163
|
return 0;
|
162
164
|
}
|
163
165
|
}
|
@@ -165,7 +167,7 @@ class RuntimeModule extends Module {
|
|
165
167
|
/* istanbul ignore next */
|
166
168
|
/**
|
167
169
|
* @abstract
|
168
|
-
* @returns {string} runtime code
|
170
|
+
* @returns {string | null} runtime code
|
169
171
|
*/
|
170
172
|
generate() {
|
171
173
|
const AbstractMethodError = require("./AbstractMethodError");
|
@@ -173,7 +175,7 @@ class RuntimeModule extends Module {
|
|
173
175
|
}
|
174
176
|
|
175
177
|
/**
|
176
|
-
* @returns {string} runtime code
|
178
|
+
* @returns {string | null} runtime code
|
177
179
|
*/
|
178
180
|
getGeneratedCode() {
|
179
181
|
if (this._cachedGeneratedCode) {
|