webpack 5.107.1 → 5.108.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/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +8 -4
- package/lib/CacheFacade.js +7 -0
- package/lib/Chunk.js +4 -0
- package/lib/ChunkGraph.js +30 -9
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +2 -1
- package/lib/Compilation.js +396 -65
- package/lib/Compiler.js +52 -14
- package/lib/ConcatenationScope.js +10 -3
- package/lib/ContextExclusionPlugin.js +1 -0
- package/lib/ContextModule.js +92 -47
- package/lib/ContextModuleFactory.js +45 -38
- package/lib/ContextReplacementPlugin.js +4 -0
- package/lib/DefinePlugin.js +89 -15
- package/lib/Dependency.js +111 -7
- package/lib/EntryOptionPlugin.js +39 -2
- package/lib/EntryPlugin.js +2 -0
- package/lib/ExportsInfo.js +314 -73
- package/lib/ExternalModule.js +82 -34
- package/lib/ExternalModuleFactoryPlugin.js +1 -0
- package/lib/ExternalsPlugin.js +1 -0
- package/lib/FileSystemInfo.js +173 -23
- package/lib/FlagAllModulesAsUsedPlugin.js +1 -5
- package/lib/FlagDependencyExportsPlugin.js +23 -0
- package/lib/FlagDependencyUsagePlugin.js +87 -5
- package/lib/FlagEntryExportAsUsedPlugin.js +2 -0
- package/lib/Generator.js +8 -0
- package/lib/HotModuleReplacementPlugin.js +65 -28
- package/lib/IgnorePlugin.js +1 -0
- package/lib/InitFragment.js +5 -0
- package/lib/JavascriptMetaInfoPlugin.js +7 -5
- package/lib/LazyBarrel.js +361 -0
- package/lib/LoaderTargetPlugin.js +1 -0
- package/lib/Module.js +21 -42
- package/lib/ModuleGraph.js +3 -2
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleTemplate.js +2 -0
- package/lib/MultiCompiler.js +16 -0
- package/lib/MultiStats.js +1 -0
- package/lib/MultiWatching.js +2 -0
- package/lib/NodeStuffPlugin.js +22 -17
- package/lib/NormalModule.js +557 -77
- package/lib/NormalModuleReplacementPlugin.js +2 -0
- package/lib/PrefetchPlugin.js +2 -0
- package/lib/ProgressPlugin.js +9 -1
- package/lib/ProvidePlugin.js +1 -0
- package/lib/RawModule.js +20 -16
- package/lib/RecordIdsPlugin.js +1 -0
- package/lib/RuntimeGlobals.js +5 -0
- package/lib/RuntimePlugin.js +58 -26
- package/lib/RuntimeTemplate.js +278 -21
- package/lib/SelfModuleFactory.js +1 -0
- package/lib/SourceMapDevToolPlugin.js +105 -30
- package/lib/Stats.js +1 -0
- package/lib/Template.js +8 -2
- package/lib/TemplatedPathPlugin.js +473 -131
- package/lib/WarnCaseSensitiveModulesPlugin.js +1 -0
- package/lib/WarnDeprecatedOptionPlugin.js +4 -0
- package/lib/WarnNoModeSetPlugin.js +1 -0
- package/lib/WatchIgnorePlugin.js +1 -0
- package/lib/Watching.js +9 -0
- package/lib/WebpackOptionsApply.js +50 -5
- package/lib/asset/AssetBytesGenerator.js +11 -3
- package/lib/asset/AssetGenerator.js +47 -22
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +14 -14
- package/lib/asset/AssetParser.js +2 -2
- package/lib/asset/AssetSourceGenerator.js +8 -0
- package/lib/asset/RawDataUrlModule.js +12 -13
- package/lib/buildChunkGraph.js +88 -9
- package/lib/bun/BunTargetPlugin.js +48 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +1 -0
- package/lib/cache/AddManagedPathsPlugin.js +3 -0
- package/lib/cache/IdleFileCachePlugin.js +4 -0
- package/lib/cache/MemoryWithGcCachePlugin.js +1 -0
- package/lib/cache/PackFileCacheStrategy.js +1 -0
- package/lib/cache/ResolverCachePlugin.js +2 -0
- package/lib/cache/getLazyHashedEtag.js +9 -2
- package/lib/cache/mergeEtags.js +2 -0
- package/lib/cli.js +109 -19
- package/lib/config/browserslistTargetHandler.js +99 -0
- package/lib/config/defaults.js +147 -7
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +5 -0
- package/lib/config/target.js +181 -2
- package/lib/container/ContainerEntryModule.js +15 -14
- package/lib/container/ContainerExposedDependency.js +2 -2
- package/lib/container/ContainerReferencePlugin.js +1 -1
- package/lib/container/FallbackDependency.js +5 -7
- package/lib/container/FallbackModule.js +10 -9
- package/lib/container/RemoteModule.js +20 -10
- package/lib/container/RemoteRuntimeModule.js +14 -12
- package/lib/css/CssGenerator.js +353 -327
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -8
- package/lib/css/CssLoadingRuntimeModule.js +118 -47
- package/lib/css/CssModule.js +52 -23
- package/lib/css/CssModulesPlugin.js +107 -124
- package/lib/css/CssParser.js +2759 -2205
- package/lib/css/syntax.js +2859 -0
- package/lib/debug/ProfilingPlugin.js +2 -0
- package/lib/deno/DenoTargetPlugin.js +47 -0
- package/lib/dependencies/AMDDefineDependency.js +22 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +1 -0
- package/lib/dependencies/AMDRequireArrayDependency.js +7 -11
- package/lib/dependencies/AMDRequireContextDependency.js +7 -11
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +1 -0
- package/lib/dependencies/AMDRequireDependency.js +24 -20
- package/lib/dependencies/CachedConstDependency.js +3 -0
- package/lib/dependencies/CommonJsDependencyHelpers.js +1 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +79 -31
- package/lib/dependencies/CommonJsExportsDependency.js +21 -16
- package/lib/dependencies/CommonJsExportsParserPlugin.js +230 -7
- package/lib/dependencies/CommonJsFullRequireDependency.js +27 -19
- package/lib/dependencies/CommonJsImportsParserPlugin.js +51 -16
- package/lib/dependencies/CommonJsPlugin.js +1 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +10 -13
- package/lib/dependencies/CommonJsRequireDependency.js +42 -11
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +22 -14
- package/lib/dependencies/ConstDependency.js +16 -11
- package/lib/dependencies/ContextDependency.js +4 -0
- package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -1
- package/lib/dependencies/ContextElementDependency.js +23 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +1 -0
- package/lib/dependencies/CreateScriptUrlDependency.js +5 -7
- package/lib/dependencies/CriticalDependencyWarning.js +1 -0
- package/lib/dependencies/CssIcssExportDependency.js +512 -574
- package/lib/dependencies/CssIcssImportDependency.js +9 -9
- package/lib/dependencies/CssIcssSymbolDependency.js +22 -15
- package/lib/dependencies/CssImportDependency.js +25 -1
- package/lib/dependencies/CssUrlDependency.js +23 -14
- package/lib/dependencies/DllEntryDependency.js +9 -13
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +12 -12
- package/lib/dependencies/ExternalModuleDependency.js +8 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +7 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +13 -10
- package/lib/dependencies/HarmonyAcceptDependency.js +11 -11
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +47 -22
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +28 -2
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +46 -22
- package/lib/dependencies/HarmonyExportExpressionDependency.js +107 -30
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +109 -31
- package/lib/dependencies/HarmonyExportInitFragment.js +22 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +83 -18
- package/lib/dependencies/HarmonyExports.js +4 -1
- package/lib/dependencies/HarmonyImportDependency.js +24 -0
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +110 -74
- package/lib/dependencies/HarmonyImportGuard.js +254 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +18 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +118 -14
- package/lib/dependencies/HarmonyLinkingError.js +1 -0
- package/lib/dependencies/HarmonyModulesPlugin.js +1 -0
- package/lib/dependencies/{HtmlScriptSrcDependency.js → HtmlEntryDependency.js} +267 -154
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +20 -27
- package/lib/dependencies/HtmlInlineStyleDependency.js +62 -11
- package/lib/dependencies/HtmlSourceDependency.js +18 -0
- package/lib/dependencies/ImportContextDependency.js +5 -9
- package/lib/dependencies/ImportDependency.js +44 -2
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
- package/lib/dependencies/ImportMetaPlugin.js +74 -30
- package/lib/dependencies/ImportParserPlugin.js +19 -0
- package/lib/dependencies/ImportWeakDependency.js +1 -0
- package/lib/dependencies/JsonExportsDependency.js +9 -9
- package/lib/dependencies/LoaderImportDependency.js +1 -0
- package/lib/dependencies/LocalModule.js +11 -12
- package/lib/dependencies/LocalModuleDependency.js +11 -13
- package/lib/dependencies/ModuleDecoratorDependency.js +9 -9
- package/lib/dependencies/ModuleDependency.js +7 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +15 -11
- package/lib/dependencies/ProvidedDependency.js +31 -27
- package/lib/dependencies/PureExpressionDependency.js +7 -9
- package/lib/dependencies/RequireEnsureDependency.js +12 -13
- package/lib/dependencies/RequireHeaderDependency.js +3 -4
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -0
- package/lib/dependencies/RequireResolveContextDependency.js +7 -11
- package/lib/dependencies/RequireResolveDependency.js +1 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +3 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +6 -7
- package/lib/dependencies/StaticExportsDependency.js +10 -10
- package/lib/dependencies/SystemPlugin.js +2 -0
- package/lib/dependencies/URLContextDependency.js +5 -7
- package/lib/dependencies/URLDependency.js +14 -16
- package/lib/dependencies/UnsupportedDependency.js +8 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +11 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +14 -16
- package/lib/dependencies/WebpackIsIncludedDependency.js +1 -0
- package/lib/dependencies/WorkerDependency.js +19 -8
- package/lib/dependencies/WorkerPlugin.js +40 -10
- package/lib/dependencies/processExportInfo.js +13 -11
- package/lib/dll/DelegatedModule.js +29 -15
- package/lib/dll/DelegatedModuleFactoryPlugin.js +1 -0
- package/lib/dll/DelegatedPlugin.js +1 -0
- package/lib/dll/DllEntryPlugin.js +3 -0
- package/lib/dll/DllModule.js +3 -2
- package/lib/dll/DllPlugin.js +16 -0
- package/lib/dll/DllReferencePlugin.js +3 -0
- package/lib/dll/LibManifestPlugin.js +1 -0
- package/lib/electron/ElectronTargetPlugin.js +22 -4
- package/lib/errors/ConcurrentCompilationError.js +1 -0
- package/lib/errors/HookWebpackError.js +11 -13
- package/lib/errors/IgnoreErrorModuleFactory.js +1 -0
- package/lib/errors/InvalidDependenciesModuleWarning.js +2 -0
- package/lib/errors/JSONParseError.js +9 -8
- package/lib/errors/ModuleBuildError.js +16 -13
- package/lib/errors/ModuleDependencyError.js +8 -1
- package/lib/errors/ModuleDependencyWarning.js +8 -1
- package/lib/errors/ModuleError.js +5 -11
- package/lib/errors/ModuleHashingError.js +4 -0
- package/lib/errors/ModuleNotFoundError.js +3 -0
- package/lib/errors/ModuleParseError.js +5 -11
- package/lib/errors/ModuleRestoreError.js +2 -0
- package/lib/errors/ModuleStoreError.js +3 -0
- package/lib/errors/ModuleWarning.js +7 -11
- package/lib/errors/NodeStuffInWebError.js +1 -0
- package/lib/errors/NonErrorEmittedError.js +2 -0
- package/lib/errors/UnhandledSchemeError.js +1 -0
- package/lib/esm/ModuleChunkLoadingPlugin.js +0 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +28 -23
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +7 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/LazyCompilationPlugin.js +134 -6
- package/lib/html/HtmlGenerator.js +292 -50
- package/lib/html/HtmlModule.js +40 -0
- package/lib/html/HtmlModulesPlugin.js +287 -60
- package/lib/html/HtmlParser.js +1108 -1099
- package/lib/html/{walkHtmlTokens.js → syntax.js} +4701 -212
- package/lib/ids/IdHelpers.js +4 -2
- package/lib/index.js +19 -0
- package/lib/javascript/BasicEvaluatedExpression.js +1 -0
- package/lib/javascript/EnableChunkLoadingPlugin.js +1 -0
- package/lib/javascript/JavascriptGenerator.js +6 -2
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +257 -102
- package/lib/javascript/JavascriptParser.js +286 -159
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +7 -0
- package/lib/json/JsonParser.js +4 -2
- package/lib/library/AssignLibraryPlugin.js +5 -3
- package/lib/library/ExportPropertyLibraryPlugin.js +1 -0
- package/lib/library/FalseIIFEUmdWarning.js +1 -0
- package/lib/library/ModuleLibraryPlugin.js +54 -29
- package/lib/library/SystemLibraryPlugin.js +3 -3
- package/lib/node/NodeTargetPlugin.js +1 -0
- package/lib/node/NodeWatchFileSystem.js +38 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +10 -9
- package/lib/node/RequireChunkLoadingRuntimeModule.js +18 -16
- package/lib/optimize/ConcatenatedModule.js +397 -78
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +372 -275
- package/lib/optimize/InnerGraphPlugin.js +196 -99
- package/lib/optimize/ModuleConcatenationPlugin.js +56 -25
- package/lib/optimize/RealContentHashPlugin.js +14 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +234 -64
- package/lib/runtime/AsyncModuleRuntimeModule.js +32 -30
- package/lib/runtime/AutoPublicPathRuntimeModule.js +11 -5
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -1
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +6 -4
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +33 -4
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +82 -3
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -1
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +18 -13
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +39 -26
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -1
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
- package/lib/runtime/RelativeUrlRuntimeModule.js +3 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +4 -3
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/HttpUriPlugin.js +3 -2
- package/lib/serialization/AggregateErrorSerializer.js +7 -6
- package/lib/serialization/ArraySerializer.js +4 -8
- package/lib/serialization/BinaryMiddleware.js +538 -468
- package/lib/serialization/DateObjectSerializer.js +2 -2
- package/lib/serialization/ErrorObjectSerializer.js +7 -6
- package/lib/serialization/MapObjectSerializer.js +5 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +7 -9
- package/lib/serialization/ObjectMiddleware.js +50 -13
- package/lib/serialization/PlainObjectSerializer.js +9 -8
- package/lib/serialization/RegExpObjectSerializer.js +2 -2
- package/lib/serialization/Serializer.js +1 -0
- package/lib/serialization/SetObjectSerializer.js +4 -8
- package/lib/sharing/ConsumeSharedModule.js +6 -7
- package/lib/sharing/ConsumeSharedPlugin.js +1 -0
- package/lib/sharing/ConsumeSharedRuntimeModule.js +46 -41
- package/lib/sharing/ProvideSharedDependency.js +30 -15
- package/lib/sharing/ProvideSharedModule.js +30 -11
- package/lib/sharing/ProvideSharedPlugin.js +4 -2
- package/lib/sharing/SharePlugin.js +3 -0
- package/lib/sharing/ShareRuntimeModule.js +18 -16
- package/lib/sharing/resolveMatchedConfigs.js +2 -1
- package/lib/sharing/utils.js +1 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +4 -6
- package/lib/stats/DefaultStatsPrinterPlugin.js +14 -14
- package/lib/stats/StatsFactory.js +11 -9
- package/lib/stats/StatsPrinter.js +9 -2
- package/lib/url/URLParserPlugin.js +5 -2
- package/lib/util/AsyncQueue.js +10 -0
- package/lib/util/LazyBucketSortedSet.js +5 -0
- package/lib/util/LazySet.js +6 -4
- package/lib/util/LocConverter.js +11 -1
- package/lib/util/Semaphore.js +1 -0
- package/lib/util/SourceProcessor.js +106 -0
- package/lib/util/TupleSet.js +1 -0
- package/lib/util/WeakTupleMap.js +27 -1
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/comparators.js +2 -2
- package/lib/util/concatenate.js +31 -7
- package/lib/util/createHash.js +0 -1
- package/lib/util/deterministicGrouping.js +19 -12
- package/lib/util/extractSourceMap.js +1 -1
- package/lib/util/findGraphRoots.js +2 -0
- package/lib/util/fs.js +16 -6
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +24 -15
- package/lib/util/identifier.js +7 -0
- package/lib/util/internalSerializables.js +11 -2
- package/lib/util/magicComment.js +42 -0
- package/lib/util/makeSerializable.js +1 -0
- package/lib/util/nonNumericOnlyHash.js +30 -1
- package/lib/util/property.js +7 -1
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +4 -4
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +1 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +1 -96
- package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -1
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +1 -1
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +6 -3
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -1
- package/lib/wasm-sync/WebAssemblyGenerator.js +1 -0
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -0
- package/lib/wasm-sync/WebAssemblyParser.js +7 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +45 -39
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +11 -10
- package/package.json +36 -28
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +212 -3
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -1
- package/schemas/plugins/HtmlParserOptions.check.d.ts +7 -0
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -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 +1592 -314
- package/lib/css/walkCssTokens.js +0 -2020
- package/lib/util/AppendOnlyStackedSet.js +0 -93
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
|
|
7
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
8
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
7
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Error, EXPECTED_ANY, string]>} ObjectDeserializerContext */
|
|
8
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Error, EXPECTED_ANY, string]>} ObjectSerializerContext */
|
|
9
9
|
|
|
10
10
|
const makeSerializable = require("../util/makeSerializable");
|
|
11
11
|
|
|
@@ -92,10 +92,8 @@ class JSONParseError extends SyntaxError {
|
|
|
92
92
|
* Serializes this instance into the provided serializer context.
|
|
93
93
|
* @param {ObjectSerializerContext} context context
|
|
94
94
|
*/
|
|
95
|
-
serialize(
|
|
96
|
-
write(this.systemError);
|
|
97
|
-
write(this.raw);
|
|
98
|
-
write(this.txt);
|
|
95
|
+
serialize(context) {
|
|
96
|
+
context.write(this.systemError).write(this.raw).write(this.txt);
|
|
99
97
|
}
|
|
100
98
|
|
|
101
99
|
/**
|
|
@@ -104,8 +102,11 @@ class JSONParseError extends SyntaxError {
|
|
|
104
102
|
* @returns {JSONParseError} DelegatedModule
|
|
105
103
|
*/
|
|
106
104
|
static deserialize(context) {
|
|
107
|
-
const
|
|
108
|
-
|
|
105
|
+
const systemError = context.read();
|
|
106
|
+
const c1 = context.rest;
|
|
107
|
+
const raw = c1.read();
|
|
108
|
+
const c2 = c1.rest;
|
|
109
|
+
return new JSONParseError(systemError, raw, c2.read());
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
|
|
@@ -9,11 +9,11 @@ const { cutOffLoaderExecution } = require("../ErrorHelpers");
|
|
|
9
9
|
const makeSerializable = require("../util/makeSerializable");
|
|
10
10
|
const WebpackError = require("./WebpackError");
|
|
11
11
|
|
|
12
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
13
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
14
|
-
|
|
15
12
|
/** @typedef {Error & { hideStack?: boolean }} ErrorWithHideStack */
|
|
16
13
|
|
|
14
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string | ErrorWithHideStack]>} ObjectDeserializerContext */
|
|
15
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string | ErrorWithHideStack]>} ObjectSerializerContext */
|
|
16
|
+
|
|
17
17
|
class ModuleBuildError extends WebpackError {
|
|
18
18
|
/**
|
|
19
19
|
* Creates an instance of ModuleBuildError.
|
|
@@ -32,7 +32,14 @@ class ModuleBuildError extends WebpackError {
|
|
|
32
32
|
const stack = cutOffLoaderExecution(err.stack);
|
|
33
33
|
|
|
34
34
|
if (!err.hideStack) {
|
|
35
|
-
|
|
35
|
+
// V8 prefixes `.stack` with "Name: message"; JSC and others emit
|
|
36
|
+
// frames only, which would drop the message. Lead with it then.
|
|
37
|
+
message +=
|
|
38
|
+
typeof err.message === "string" &&
|
|
39
|
+
err.message &&
|
|
40
|
+
!stack.includes(err.message)
|
|
41
|
+
? `${err.name ? `${err.name}: ` : ""}${err.message}`
|
|
42
|
+
: stack;
|
|
36
43
|
} else {
|
|
37
44
|
details = stack;
|
|
38
45
|
|
|
@@ -52,7 +59,9 @@ class ModuleBuildError extends WebpackError {
|
|
|
52
59
|
|
|
53
60
|
/** @type {string} */
|
|
54
61
|
this.name = "ModuleBuildError";
|
|
62
|
+
/** @type {string | undefined} */
|
|
55
63
|
this.details = details;
|
|
64
|
+
/** @type {string | ErrorWithHideStack} */
|
|
56
65
|
this.error = err;
|
|
57
66
|
}
|
|
58
67
|
|
|
@@ -61,10 +70,7 @@ class ModuleBuildError extends WebpackError {
|
|
|
61
70
|
* @param {ObjectSerializerContext} context context
|
|
62
71
|
*/
|
|
63
72
|
serialize(context) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
write(this.error);
|
|
67
|
-
|
|
73
|
+
context.write(this.error);
|
|
68
74
|
super.serialize(context);
|
|
69
75
|
}
|
|
70
76
|
|
|
@@ -73,11 +79,8 @@ class ModuleBuildError extends WebpackError {
|
|
|
73
79
|
* @param {ObjectDeserializerContext} context context
|
|
74
80
|
*/
|
|
75
81
|
deserialize(context) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.error = read();
|
|
79
|
-
|
|
80
|
-
super.deserialize(context);
|
|
82
|
+
this.error = context.read();
|
|
83
|
+
super.deserialize(context.rest);
|
|
81
84
|
}
|
|
82
85
|
}
|
|
83
86
|
|
|
@@ -23,16 +23,23 @@ class ModuleDependencyError extends WebpackError {
|
|
|
23
23
|
|
|
24
24
|
/** @type {string} */
|
|
25
25
|
this.name = "ModuleDependencyError";
|
|
26
|
+
/** @type {string | undefined} */
|
|
26
27
|
this.details =
|
|
27
28
|
err && !err.hideStack
|
|
28
29
|
? /** @type {string} */ (err.stack).split("\n").slice(1).join("\n")
|
|
29
30
|
: undefined;
|
|
31
|
+
/** @type {Module} */
|
|
30
32
|
this.module = module;
|
|
33
|
+
/** @type {DependencyLocation} */
|
|
31
34
|
this.loc = loc;
|
|
32
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* error is not (de)serialized, so it might be undefined after deserialization
|
|
37
|
+
* @type {ErrorWithHideStack}
|
|
38
|
+
*/
|
|
33
39
|
this.error = err;
|
|
34
40
|
|
|
35
41
|
if (err && err.hideStack && err.stack) {
|
|
42
|
+
/** @type {string | undefined} */
|
|
36
43
|
this.stack = /** @type {string} */ `${err.stack
|
|
37
44
|
.split("\n")
|
|
38
45
|
.slice(1)
|
|
@@ -24,16 +24,23 @@ class ModuleDependencyWarning extends WebpackError {
|
|
|
24
24
|
|
|
25
25
|
/** @type {string} */
|
|
26
26
|
this.name = "ModuleDependencyWarning";
|
|
27
|
+
/** @type {string | undefined} */
|
|
27
28
|
this.details =
|
|
28
29
|
err && !err.hideStack
|
|
29
30
|
? /** @type {string} */ (err.stack).split("\n").slice(1).join("\n")
|
|
30
31
|
: undefined;
|
|
32
|
+
/** @type {Module} */
|
|
31
33
|
this.module = module;
|
|
34
|
+
/** @type {DependencyLocation} */
|
|
32
35
|
this.loc = loc;
|
|
33
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* error is not (de)serialized, so it might be undefined after deserialization
|
|
38
|
+
* @type {ErrorWithHideStack}
|
|
39
|
+
*/
|
|
34
40
|
this.error = err;
|
|
35
41
|
|
|
36
42
|
if (err && err.hideStack && err.stack) {
|
|
43
|
+
/** @type {string | undefined} */
|
|
37
44
|
this.stack = /** @type {string} */ `${err.stack
|
|
38
45
|
.split("\n")
|
|
39
46
|
.slice(1)
|
|
@@ -9,8 +9,8 @@ const { cleanUp } = require("../ErrorHelpers");
|
|
|
9
9
|
const makeSerializable = require("../util/makeSerializable");
|
|
10
10
|
const WebpackError = require("./WebpackError");
|
|
11
11
|
|
|
12
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
13
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
12
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Error]>} ObjectDeserializerContext */
|
|
13
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Error]>} ObjectSerializerContext */
|
|
14
14
|
|
|
15
15
|
class ModuleError extends WebpackError {
|
|
16
16
|
/**
|
|
@@ -46,10 +46,7 @@ class ModuleError extends WebpackError {
|
|
|
46
46
|
* @param {ObjectSerializerContext} context context
|
|
47
47
|
*/
|
|
48
48
|
serialize(context) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
write(this.error);
|
|
52
|
-
|
|
49
|
+
context.write(this.error);
|
|
53
50
|
super.serialize(context);
|
|
54
51
|
}
|
|
55
52
|
|
|
@@ -58,11 +55,8 @@ class ModuleError extends WebpackError {
|
|
|
58
55
|
* @param {ObjectDeserializerContext} context context
|
|
59
56
|
*/
|
|
60
57
|
deserialize(context) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.error = read();
|
|
64
|
-
|
|
65
|
-
super.deserialize(context);
|
|
58
|
+
this.error = context.read();
|
|
59
|
+
super.deserialize(context.rest);
|
|
66
60
|
}
|
|
67
61
|
}
|
|
68
62
|
|
|
@@ -20,9 +20,13 @@ class ModuleHashingError extends WebpackError {
|
|
|
20
20
|
|
|
21
21
|
/** @type {string} */
|
|
22
22
|
this.name = "ModuleHashingError";
|
|
23
|
+
/** @type {Error} */
|
|
23
24
|
this.error = error;
|
|
25
|
+
/** @type {string} */
|
|
24
26
|
this.message = error.message;
|
|
27
|
+
/** @type {string | undefined} */
|
|
25
28
|
this.details = error.stack;
|
|
29
|
+
/** @type {Module} */
|
|
26
30
|
this.module = module;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
@@ -81,9 +81,12 @@ class ModuleNotFoundError extends WebpackError {
|
|
|
81
81
|
|
|
82
82
|
/** @type {string} */
|
|
83
83
|
this.name = "ModuleNotFoundError";
|
|
84
|
+
/** @type {string | undefined} */
|
|
84
85
|
this.details = err.details;
|
|
86
|
+
/** @type {Module | null} */
|
|
85
87
|
this.module = module;
|
|
86
88
|
this.error = err;
|
|
89
|
+
/** @type {DependencyLocation} */
|
|
87
90
|
this.loc = loc;
|
|
88
91
|
}
|
|
89
92
|
}
|
|
@@ -10,8 +10,8 @@ const WebpackError = require("./WebpackError");
|
|
|
10
10
|
|
|
11
11
|
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
|
|
12
12
|
/** @typedef {import("../Dependency").SourcePosition} SourcePosition */
|
|
13
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
14
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
13
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Error]>} ObjectDeserializerContext */
|
|
14
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Error]>} ObjectSerializerContext */
|
|
15
15
|
|
|
16
16
|
const WASM_HEADER = Buffer.from([0x00, 0x61, 0x73, 0x6d]);
|
|
17
17
|
|
|
@@ -105,10 +105,7 @@ class ModuleParseError extends WebpackError {
|
|
|
105
105
|
* @param {ObjectSerializerContext} context context
|
|
106
106
|
*/
|
|
107
107
|
serialize(context) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
write(this.error);
|
|
111
|
-
|
|
108
|
+
context.write(this.error);
|
|
112
109
|
super.serialize(context);
|
|
113
110
|
}
|
|
114
111
|
|
|
@@ -117,11 +114,8 @@ class ModuleParseError extends WebpackError {
|
|
|
117
114
|
* @param {ObjectDeserializerContext} context context
|
|
118
115
|
*/
|
|
119
116
|
deserialize(context) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
this.error = read();
|
|
123
|
-
|
|
124
|
-
super.deserialize(context);
|
|
117
|
+
this.error = context.read();
|
|
118
|
+
super.deserialize(context.rest);
|
|
125
119
|
}
|
|
126
120
|
}
|
|
127
121
|
|
|
@@ -38,7 +38,9 @@ class ModuleRestoreError extends WebpackError {
|
|
|
38
38
|
this.name = "ModuleRestoreError";
|
|
39
39
|
/** @type {string | undefined} */
|
|
40
40
|
this.details = details;
|
|
41
|
+
/** @type {Module} */
|
|
41
42
|
this.module = module;
|
|
43
|
+
/** @type {string | Error} */
|
|
42
44
|
this.error = err;
|
|
43
45
|
}
|
|
44
46
|
}
|
|
@@ -36,8 +36,11 @@ class ModuleStoreError extends WebpackError {
|
|
|
36
36
|
|
|
37
37
|
/** @type {string} */
|
|
38
38
|
this.name = "ModuleStoreError";
|
|
39
|
+
/** @type {string | undefined} */
|
|
39
40
|
this.details = /** @type {string | undefined} */ (details);
|
|
41
|
+
/** @type {Module} */
|
|
40
42
|
this.module = module;
|
|
43
|
+
/** @type {string | Error} */
|
|
41
44
|
this.error = err;
|
|
42
45
|
}
|
|
43
46
|
}
|
|
@@ -9,8 +9,8 @@ const { cleanUp } = require("../ErrorHelpers");
|
|
|
9
9
|
const makeSerializable = require("../util/makeSerializable");
|
|
10
10
|
const WebpackError = require("./WebpackError");
|
|
11
11
|
|
|
12
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
13
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
12
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Error]>} ObjectDeserializerContext */
|
|
13
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Error]>} ObjectSerializerContext */
|
|
14
14
|
|
|
15
15
|
class ModuleWarning extends WebpackError {
|
|
16
16
|
/**
|
|
@@ -33,7 +33,9 @@ class ModuleWarning extends WebpackError {
|
|
|
33
33
|
|
|
34
34
|
/** @type {string} */
|
|
35
35
|
this.name = "ModuleWarning";
|
|
36
|
+
/** @type {Error} */
|
|
36
37
|
this.warning = warning;
|
|
38
|
+
/** @type {string | undefined} */
|
|
37
39
|
this.details =
|
|
38
40
|
warning && typeof warning === "object" && warning.stack
|
|
39
41
|
? cleanUp(warning.stack, this.message)
|
|
@@ -45,10 +47,7 @@ class ModuleWarning extends WebpackError {
|
|
|
45
47
|
* @param {ObjectSerializerContext} context context
|
|
46
48
|
*/
|
|
47
49
|
serialize(context) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
write(this.warning);
|
|
51
|
-
|
|
50
|
+
context.write(this.warning);
|
|
52
51
|
super.serialize(context);
|
|
53
52
|
}
|
|
54
53
|
|
|
@@ -57,11 +56,8 @@ class ModuleWarning extends WebpackError {
|
|
|
57
56
|
* @param {ObjectDeserializerContext} context context
|
|
58
57
|
*/
|
|
59
58
|
deserialize(context) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
this.warning = read();
|
|
63
|
-
|
|
64
|
-
super.deserialize(context);
|
|
59
|
+
this.warning = context.read();
|
|
60
|
+
super.deserialize(context.rest);
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
63
|
|
|
@@ -15,7 +15,9 @@ class NonErrorEmittedError extends WebpackError {
|
|
|
15
15
|
constructor(error) {
|
|
16
16
|
super();
|
|
17
17
|
|
|
18
|
+
/** @type {string} */
|
|
18
19
|
this.name = "NonErrorEmittedError";
|
|
20
|
+
/** @type {string} */
|
|
19
21
|
this.message = `(Emitted value instead of an instance of Error) ${error}`;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
@@ -25,6 +25,7 @@ class UnhandledSchemeError extends WebpackError {
|
|
|
25
25
|
'\nWebpack supports "data:" and "file:" URIs by default.' +
|
|
26
26
|
`\nYou may need an additional plugin to handle "${scheme}:" URIs.`
|
|
27
27
|
);
|
|
28
|
+
/** @type {string} */
|
|
28
29
|
this.file = resource;
|
|
29
30
|
/** @type {string} */
|
|
30
31
|
this.name = "UnhandledSchemeError";
|
|
@@ -115,7 +115,6 @@ class ModuleChunkLoadingPlugin {
|
|
|
115
115
|
.tap(PLUGIN_NAME, (chunk, set) => {
|
|
116
116
|
if (!isEnabledForChunk(chunk)) return;
|
|
117
117
|
set.add(RuntimeGlobals.publicPath);
|
|
118
|
-
set.add(RuntimeGlobals.loadScript);
|
|
119
118
|
set.add(RuntimeGlobals.getChunkUpdateScriptFilename);
|
|
120
119
|
set.add(RuntimeGlobals.moduleCache);
|
|
121
120
|
set.add(RuntimeGlobals.hmrModuleData);
|
|
@@ -150,6 +150,13 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
150
150
|
? `${RuntimeGlobals.hmrRuntimeStatePrefix}_module`
|
|
151
151
|
: undefined;
|
|
152
152
|
|
|
153
|
+
const cst = runtimeTemplate.renderConst();
|
|
154
|
+
const lt = runtimeTemplate.renderLet();
|
|
155
|
+
const installedChunksObject = `{\n${Template.indent(
|
|
156
|
+
Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 0`).join(
|
|
157
|
+
",\n"
|
|
158
|
+
)
|
|
159
|
+
)}\n}`;
|
|
153
160
|
return Template.asString([
|
|
154
161
|
withBaseURI
|
|
155
162
|
? this._generateBaseUri(chunk, rootOutputDir)
|
|
@@ -158,18 +165,14 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
158
165
|
"// object to store loaded and loading chunks",
|
|
159
166
|
"// undefined = chunk not loaded, null = chunk preloaded/prefetched",
|
|
160
167
|
"// [resolve, Promise] = chunk loading, 0 = chunk loaded",
|
|
161
|
-
|
|
162
|
-
stateExpression
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
",\n"
|
|
167
|
-
)
|
|
168
|
-
),
|
|
169
|
-
"};",
|
|
168
|
+
`${cst} installedChunks = ${
|
|
169
|
+
stateExpression
|
|
170
|
+
? runtimeTemplate.assignOr(stateExpression, installedChunksObject)
|
|
171
|
+
: installedChunksObject
|
|
172
|
+
};`,
|
|
170
173
|
"",
|
|
171
174
|
withLoading || withExternalInstallChunk
|
|
172
|
-
?
|
|
175
|
+
? `${cst} installChunk = ${runtimeTemplate.basicFunction("data", [
|
|
173
176
|
runtimeTemplate.destructureObject(
|
|
174
177
|
[
|
|
175
178
|
RuntimeGlobals.esmIds,
|
|
@@ -211,7 +214,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
211
214
|
hasJsMatcher !== false
|
|
212
215
|
? Template.indent([
|
|
213
216
|
"// import() chunk loading for javascript",
|
|
214
|
-
|
|
217
|
+
`${lt} installedChunkData = ${RuntimeGlobals.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,
|
|
215
218
|
'if(installedChunkData !== 0) { // 0 means "already installed".',
|
|
216
219
|
Template.indent([
|
|
217
220
|
"",
|
|
@@ -227,7 +230,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
227
230
|
: `if(${hasJsMatcher("chunkId")}) {`,
|
|
228
231
|
Template.indent([
|
|
229
232
|
"// setup Promise in chunk cache",
|
|
230
|
-
|
|
233
|
+
`${lt} promise = ${importFunctionName}(${
|
|
231
234
|
compilation.outputOptions.publicPath === "auto"
|
|
232
235
|
? JSON.stringify(rootOutputDir)
|
|
233
236
|
: RuntimeGlobals.publicPath
|
|
@@ -240,7 +243,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
240
243
|
"throw e;"
|
|
241
244
|
]
|
|
242
245
|
)});`,
|
|
243
|
-
`
|
|
246
|
+
`promise = Promise.race([promise, new Promise(${runtimeTemplate.expressionFunction(
|
|
244
247
|
"installedChunkData = installedChunks[chunkId] = [resolve]",
|
|
245
248
|
"resolve"
|
|
246
249
|
)})])`,
|
|
@@ -263,6 +266,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
263
266
|
? `${
|
|
264
267
|
RuntimeGlobals.prefetchChunkHandlers
|
|
265
268
|
}.j = ${runtimeTemplate.basicFunction("chunkId", [
|
|
269
|
+
// prefetch is a browser-only resource hint; no-op without a DOM (e.g. node side of a universal build)
|
|
266
270
|
isNeutralPlatform
|
|
267
271
|
? "if (typeof document === 'undefined') return;"
|
|
268
272
|
: "",
|
|
@@ -275,7 +279,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
275
279
|
"installedChunks[chunkId] = null;",
|
|
276
280
|
linkPrefetch.call(
|
|
277
281
|
Template.asString([
|
|
278
|
-
|
|
282
|
+
`${cst} link = document.createElement('link');`,
|
|
279
283
|
charset ? "link.charset = 'utf-8';" : "",
|
|
280
284
|
crossOriginLoading
|
|
281
285
|
? `link.crossOrigin = ${JSON.stringify(
|
|
@@ -303,6 +307,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
303
307
|
? `${
|
|
304
308
|
RuntimeGlobals.preloadChunkHandlers
|
|
305
309
|
}.j = ${runtimeTemplate.basicFunction("chunkId", [
|
|
310
|
+
// preload is a browser-only resource hint; no-op without a DOM (e.g. node side of a universal build)
|
|
306
311
|
isNeutralPlatform
|
|
307
312
|
? "if (typeof document === 'undefined') return;"
|
|
308
313
|
: "",
|
|
@@ -315,7 +320,7 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
315
320
|
"installedChunks[chunkId] = null;",
|
|
316
321
|
linkPreload.call(
|
|
317
322
|
Template.asString([
|
|
318
|
-
|
|
323
|
+
`${cst} link = document.createElement('link');`,
|
|
319
324
|
charset ? "link.charset = 'utf-8';" : "",
|
|
320
325
|
`if (${RuntimeGlobals.scriptNonce}) {`,
|
|
321
326
|
Template.indent(
|
|
@@ -370,30 +375,30 @@ class ModuleChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
370
375
|
"resolve, reject",
|
|
371
376
|
[
|
|
372
377
|
"// start update chunk loading",
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
378
|
+
`${cst} url = ${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getChunkUpdateScriptFilename}(chunkId);`,
|
|
379
|
+
`${cst} onResolve = ${runtimeTemplate.basicFunction("obj", [
|
|
380
|
+
`${cst} updatedModules = obj.${RuntimeGlobals.esmModules};`,
|
|
381
|
+
`${cst} updatedRuntime = obj.${RuntimeGlobals.esmRuntime};`,
|
|
377
382
|
"if(updatedRuntime) currentUpdateRuntime.push(updatedRuntime);",
|
|
378
383
|
"for(var moduleId in updatedModules) {",
|
|
379
384
|
Template.indent([
|
|
380
385
|
`if(${RuntimeGlobals.hasOwnProperty}(updatedModules, moduleId)) {`,
|
|
381
386
|
Template.indent([
|
|
382
387
|
"currentUpdate[moduleId] = updatedModules[moduleId];",
|
|
383
|
-
"
|
|
388
|
+
`${runtimeTemplate.optionalChaining("updatedModulesList", "push(moduleId)")};`
|
|
384
389
|
]),
|
|
385
390
|
"}"
|
|
386
391
|
]),
|
|
387
392
|
"}",
|
|
388
393
|
"resolve(obj);"
|
|
389
394
|
])};`,
|
|
390
|
-
|
|
391
|
-
|
|
395
|
+
`${cst} onReject = ${runtimeTemplate.basicFunction("error", [
|
|
396
|
+
`${cst} errorMsg = error.message || 'unknown reason';`,
|
|
392
397
|
"error.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorMsg + ')';",
|
|
393
398
|
"error.name = 'ChunkLoadError';",
|
|
394
399
|
"reject(error);"
|
|
395
400
|
])}`,
|
|
396
|
-
|
|
401
|
+
`${cst} loadScript = ${runtimeTemplate.basicFunction(
|
|
397
402
|
"url, onResolve, onReject",
|
|
398
403
|
[
|
|
399
404
|
`return ${importFunctionName}(/* webpackIgnore: true */ url).then(onResolve).catch(onReject)`
|