webpack 5.93.0 → 5.95.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 +8 -5
- package/bin/webpack.js +6 -7
- package/hot/log.js +1 -2
- package/hot/only-dev-server.js +1 -1
- package/hot/poll.js +1 -1
- package/hot/signal.js +1 -1
- package/lib/APIPlugin.js +4 -3
- package/lib/AbstractMethodError.js +10 -5
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +12 -6
- package/lib/Cache.js +8 -10
- package/lib/CacheFacade.js +3 -3
- package/lib/CaseSensitiveModulesWarning.js +5 -7
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +58 -36
- package/lib/ChunkGroup.js +2 -3
- package/lib/ChunkTemplate.js +43 -0
- package/lib/CleanPlugin.js +10 -11
- package/lib/CodeGenerationResults.js +6 -5
- package/lib/CommentCompilationWarning.js +0 -1
- package/lib/Compilation.js +223 -191
- package/lib/Compiler.js +81 -82
- package/lib/ConcatenationScope.js +3 -6
- package/lib/ConditionalInitFragment.js +6 -7
- package/lib/ConstPlugin.js +7 -15
- package/lib/ContextExclusionPlugin.js +3 -3
- package/lib/ContextModule.js +33 -20
- package/lib/ContextModuleFactory.js +89 -44
- package/lib/ContextReplacementPlugin.js +10 -9
- package/lib/DefinePlugin.js +75 -68
- package/lib/DelegatedModule.js +7 -3
- package/lib/DelegatedModuleFactoryPlugin.js +36 -22
- package/lib/DelegatedPlugin.js +4 -0
- package/lib/DependenciesBlock.js +0 -1
- package/lib/Dependency.js +10 -14
- package/lib/DllEntryPlugin.js +4 -2
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +9 -7
- package/lib/DllReferencePlugin.js +30 -15
- package/lib/EntryPlugin.js +1 -3
- package/lib/EnvironmentPlugin.js +6 -2
- package/lib/ErrorHelpers.js +11 -12
- package/lib/EvalDevToolModulePlugin.js +10 -12
- package/lib/EvalSourceMapDevToolPlugin.js +15 -13
- package/lib/ExportsInfo.js +185 -120
- package/lib/ExternalModule.js +41 -15
- package/lib/ExternalModuleFactoryPlugin.js +23 -10
- package/lib/FileSystemInfo.js +791 -422
- package/lib/FlagAllModulesAsUsedPlugin.js +1 -1
- package/lib/FlagDependencyExportsPlugin.js +12 -11
- package/lib/FlagDependencyUsagePlugin.js +1 -1
- package/lib/Generator.js +2 -5
- package/lib/GraphHelpers.js +3 -2
- package/lib/HookWebpackError.js +8 -10
- package/lib/HotModuleReplacementPlugin.js +78 -64
- package/lib/IgnoreErrorModuleFactory.js +3 -3
- package/lib/IgnorePlugin.js +1 -3
- package/lib/IgnoreWarningsPlugin.js +6 -9
- package/lib/InitFragment.js +2 -3
- package/lib/LibManifestPlugin.js +4 -3
- package/lib/MainTemplate.js +72 -19
- package/lib/Module.js +25 -9
- package/lib/ModuleBuildError.js +4 -11
- package/lib/ModuleDependencyError.js +5 -5
- package/lib/ModuleDependencyWarning.js +5 -5
- package/lib/ModuleError.js +1 -5
- package/lib/ModuleFilenameHelpers.js +29 -46
- package/lib/ModuleGraph.js +7 -6
- package/lib/ModuleGraphConnection.js +6 -6
- package/lib/ModuleInfoHeaderPlugin.js +82 -30
- package/lib/ModuleParseError.js +8 -9
- package/lib/ModuleRestoreError.js +1 -1
- package/lib/ModuleStoreError.js +1 -1
- package/lib/ModuleTemplate.js +33 -1
- package/lib/ModuleTypeConstants.js +21 -22
- package/lib/ModuleWarning.js +1 -5
- package/lib/MultiCompiler.js +24 -26
- package/lib/MultiStats.js +73 -31
- package/lib/MultiWatching.js +1 -1
- package/lib/NormalModule.js +130 -69
- package/lib/NormalModuleFactory.js +53 -49
- package/lib/OptimizationStages.js +3 -3
- package/lib/ProgressPlugin.js +9 -9
- package/lib/ProvidePlugin.js +4 -4
- package/lib/RuntimeGlobals.js +71 -70
- package/lib/RuntimeModule.js +1 -1
- package/lib/RuntimePlugin.js +24 -12
- package/lib/RuntimeTemplate.js +40 -44
- package/lib/SizeFormatHelpers.js +2 -4
- package/lib/SourceMapDevToolPlugin.js +42 -34
- package/lib/Stats.js +5 -11
- package/lib/Template.js +18 -24
- package/lib/TemplatedPathPlugin.js +21 -13
- package/lib/WarnDeprecatedOptionPlugin.js +0 -1
- package/lib/WatchIgnorePlugin.js +26 -9
- package/lib/Watching.js +10 -5
- package/lib/WebpackOptionsApply.js +84 -62
- package/lib/asset/AssetGenerator.js +107 -42
- package/lib/asset/AssetModulesPlugin.js +29 -23
- package/lib/asset/AssetSourceGenerator.js +2 -7
- package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
- package/lib/buildChunkGraph.js +93 -81
- package/lib/cache/IdleFileCachePlugin.js +4 -4
- package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
- package/lib/cache/PackFileCacheStrategy.js +51 -50
- package/lib/cache/ResolverCachePlugin.js +6 -6
- package/lib/cache/mergeEtags.js +16 -21
- package/lib/cli.js +148 -104
- package/lib/config/browserslistTargetHandler.js +16 -13
- package/lib/config/defaults.js +32 -28
- package/lib/config/normalization.js +335 -344
- package/lib/config/target.js +42 -52
- package/lib/container/ContainerEntryModule.js +2 -2
- package/lib/container/ContainerPlugin.js +1 -1
- package/lib/container/RemoteRuntimeModule.js +11 -8
- package/lib/container/options.js +18 -4
- package/lib/css/CssExportsGenerator.js +26 -24
- package/lib/css/CssGenerator.js +9 -4
- package/lib/css/CssLoadingRuntimeModule.js +10 -10
- package/lib/css/CssModulesPlugin.js +127 -47
- package/lib/css/CssParser.js +20 -18
- package/lib/css/walkCssTokens.js +80 -95
- package/lib/debug/ProfilingPlugin.js +19 -20
- package/lib/dependencies/AMDDefineDependency.js +1 -1
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
- package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
- package/lib/dependencies/AMDRuntimeModules.js +2 -2
- package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
- package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
- package/lib/dependencies/CommonJsExportsDependency.js +0 -1
- package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
- package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
- package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
- package/lib/dependencies/ConstDependency.js +1 -1
- package/lib/dependencies/ContextDependency.js +7 -2
- package/lib/dependencies/ContextDependencyHelpers.js +31 -34
- package/lib/dependencies/ContextElementDependency.js +35 -8
- package/lib/dependencies/CriticalDependencyWarning.js +1 -1
- package/lib/dependencies/CssExportDependency.js +7 -7
- package/lib/dependencies/CssImportDependency.js +0 -2
- package/lib/dependencies/CssLocalIdentifierDependency.js +3 -3
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
- package/lib/dependencies/CssUrlDependency.js +4 -5
- package/lib/dependencies/DynamicExports.js +5 -5
- package/lib/dependencies/ExportsInfoDependency.js +1 -2
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
- package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
- package/lib/dependencies/HarmonyExports.js +2 -2
- package/lib/dependencies/HarmonyImportDependency.js +2 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +40 -15
- package/lib/dependencies/ImportDependency.js +1 -1
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
- package/lib/dependencies/ImportMetaPlugin.js +11 -13
- package/lib/dependencies/ImportParserPlugin.js +39 -44
- package/lib/dependencies/JsonExportsDependency.js +22 -18
- package/lib/dependencies/LoaderPlugin.js +47 -36
- package/lib/dependencies/LocalModule.js +1 -1
- package/lib/dependencies/LocalModulesHelpers.js +4 -4
- package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
- package/lib/dependencies/ProvidedDependency.js +1 -1
- package/lib/dependencies/PureExpressionDependency.js +6 -6
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
- package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
- package/lib/dependencies/SystemPlugin.js +1 -1
- package/lib/dependencies/URLDependency.js +3 -3
- package/lib/dependencies/URLPlugin.js +66 -12
- package/lib/dependencies/WorkerPlugin.js +25 -24
- package/lib/dependencies/processExportInfo.js +3 -1
- package/lib/electron/ElectronTargetPlugin.js +1 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
- package/lib/formatLocation.js +1 -2
- package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
- package/lib/hmr/LazyCompilationPlugin.js +27 -12
- package/lib/hmr/lazyCompilationBackend.js +64 -40
- package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +5 -1
- package/lib/ids/IdHelpers.js +29 -39
- package/lib/ids/SyncModuleIdsPlugin.js +7 -2
- package/lib/index.js +1 -5
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -4
- package/lib/javascript/BasicEvaluatedExpression.js +4 -19
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +3 -2
- package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
- package/lib/javascript/JavascriptGenerator.js +23 -7
- package/lib/javascript/JavascriptModulesPlugin.js +133 -86
- package/lib/javascript/JavascriptParser.js +179 -200
- package/lib/javascript/JavascriptParserHelpers.js +20 -21
- package/lib/javascript/StartupHelpers.js +41 -13
- package/lib/json/JsonGenerator.js +7 -13
- package/lib/json/JsonModulesPlugin.js +1 -4
- package/lib/json/JsonParser.js +5 -3
- package/lib/library/AmdLibraryPlugin.js +12 -16
- package/lib/library/AssignLibraryPlugin.js +8 -10
- package/lib/library/EnableLibraryPlugin.js +15 -14
- package/lib/library/JsonpLibraryPlugin.js +2 -1
- package/lib/library/ModernModuleLibraryPlugin.js +8 -6
- package/lib/library/ModuleLibraryPlugin.js +2 -1
- package/lib/library/SystemLibraryPlugin.js +2 -1
- package/lib/library/UmdLibraryPlugin.js +66 -92
- package/lib/logging/Logger.js +32 -4
- package/lib/logging/createConsoleLogger.js +12 -13
- package/lib/logging/runtime.js +7 -8
- package/lib/logging/truncateArgs.js +5 -8
- package/lib/node/NodeWatchFileSystem.js +3 -18
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
- package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/nodeConsole.js +22 -22
- package/lib/optimize/AggressiveMergingPlugin.js +2 -4
- package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
- package/lib/optimize/ConcatenatedModule.js +81 -51
- package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
- package/lib/optimize/InnerGraph.js +17 -17
- package/lib/optimize/InnerGraphPlugin.js +8 -7
- package/lib/optimize/LimitChunkCountPlugin.js +2 -3
- package/lib/optimize/MangleExportsPlugin.js +1 -0
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -2
- package/lib/optimize/MinMaxSizeWarning.js +1 -1
- package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
- package/lib/optimize/RealContentHashPlugin.js +7 -10
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
- package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
- package/lib/optimize/SplitChunksPlugin.js +34 -30
- package/lib/performance/SizeLimitsPlugin.js +2 -2
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
- package/lib/rules/BasicEffectRulePlugin.js +3 -1
- package/lib/rules/BasicMatcherRulePlugin.js +3 -1
- package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
- package/lib/rules/RuleSetCompiler.js +41 -22
- package/lib/rules/UseEffectRulePlugin.js +36 -32
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
- package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
- package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +241 -126
- package/lib/serialization/BinaryMiddleware.js +44 -28
- package/lib/serialization/DateObjectSerializer.js +1 -0
- package/lib/serialization/ErrorObjectSerializer.js +2 -0
- package/lib/serialization/FileMiddleware.js +154 -106
- package/lib/serialization/MapObjectSerializer.js +2 -1
- package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
- package/lib/serialization/ObjectMiddleware.js +52 -56
- package/lib/serialization/PlainObjectSerializer.js +32 -6
- package/lib/serialization/RegExpObjectSerializer.js +1 -0
- package/lib/serialization/Serializer.js +4 -5
- package/lib/serialization/SerializerMiddleware.js +6 -6
- package/lib/serialization/SetObjectSerializer.js +2 -1
- package/lib/sharing/ConsumeSharedPlugin.js +116 -97
- package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
- package/lib/sharing/ProvideForSharedDependency.js +0 -1
- package/lib/sharing/ProvideSharedPlugin.js +2 -2
- package/lib/sharing/resolveMatchedConfigs.js +2 -1
- package/lib/sharing/utils.js +15 -27
- package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
- package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
- package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
- package/lib/stats/StatsFactory.js +127 -56
- package/lib/stats/StatsPrinter.js +75 -44
- package/lib/util/ArrayHelpers.js +8 -4
- package/lib/util/ArrayQueue.js +1 -1
- package/lib/util/AsyncQueue.js +31 -12
- package/lib/util/IterableHelpers.js +3 -4
- package/lib/util/LazyBucketSortedSet.js +60 -44
- package/lib/util/LazySet.js +13 -0
- package/lib/util/MapHelpers.js +1 -3
- package/lib/util/ParallelismFactorCalculator.js +1 -1
- package/lib/util/Queue.js +1 -1
- package/lib/util/Semaphore.js +4 -7
- package/lib/util/SetHelpers.js +5 -5
- package/lib/util/SortableSet.js +4 -3
- package/lib/util/StackedCacheMap.js +4 -6
- package/lib/util/StackedMap.js +1 -3
- package/lib/util/StringXor.js +0 -5
- package/lib/util/TupleQueue.js +1 -1
- package/lib/util/TupleSet.js +15 -5
- package/lib/util/URLAbsoluteSpecifier.js +7 -7
- package/lib/util/WeakTupleMap.js +19 -21
- package/lib/util/binarySearchBounds.js +5 -12
- package/lib/util/chainedImports.js +1 -1
- package/lib/util/cleverMerge.js +21 -19
- package/lib/util/comparators.js +57 -52
- package/lib/util/compileBooleanMatcher.js +3 -6
- package/lib/util/conventions.js +8 -11
- package/lib/util/createHash.js +9 -6
- package/lib/util/deprecation.js +22 -12
- package/lib/util/deterministicGrouping.js +19 -26
- package/lib/util/findGraphRoots.js +2 -2
- package/lib/util/fs.js +32 -32
- package/lib/util/hash/md4.js +2 -2
- package/lib/util/hash/wasm-hash.js +7 -7
- package/lib/util/hash/xxhash64.js +2 -2
- package/lib/util/identifier.js +81 -59
- package/lib/util/memoize.js +8 -10
- package/lib/util/mergeScope.js +6 -9
- package/lib/util/nonNumericOnlyHash.js +2 -2
- package/lib/util/numberHash.js +1 -6
- package/lib/util/objectToMap.js +0 -1
- package/lib/util/propertyAccess.js +2 -5
- package/lib/util/propertyName.js +1 -3
- package/lib/util/registerExternalSerializer.js +1 -1
- package/lib/util/runtime.js +109 -113
- package/lib/util/semver.js +29 -27
- package/lib/util/serialization.js +16 -1
- package/lib/util/smartGrouping.js +5 -5
- package/lib/util/source.js +1 -1
- package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
- package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
- package/package.json +18 -17
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +5 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +1 -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 +1 -0
- package/types.d.ts +681 -355
package/lib/Compiler.js
CHANGED
@@ -14,7 +14,7 @@ const {
|
|
14
14
|
AsyncSeriesHook
|
15
15
|
} = require("tapable");
|
16
16
|
const { SizeOnlySource } = require("webpack-sources");
|
17
|
-
const webpack = require("
|
17
|
+
const webpack = require(".");
|
18
18
|
const Cache = require("./Cache");
|
19
19
|
const CacheFacade = require("./CacheFacade");
|
20
20
|
const ChunkGraph = require("./ChunkGraph");
|
@@ -47,13 +47,18 @@ const { isSourceEqual } = require("./util/source");
|
|
47
47
|
/** @typedef {import("./Module").BuildInfo} BuildInfo */
|
48
48
|
/** @typedef {import("./config/target").PlatformTargetProperties} PlatformTargetProperties */
|
49
49
|
/** @typedef {import("./logging/createConsoleLogger").LoggingFunction} LoggingFunction */
|
50
|
-
/** @typedef {import("./util/WeakTupleMap")} WeakTupleMap */
|
51
50
|
/** @typedef {import("./util/fs").IStats} IStats */
|
52
51
|
/** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
|
53
52
|
/** @typedef {import("./util/fs").IntermediateFileSystem} IntermediateFileSystem */
|
54
53
|
/** @typedef {import("./util/fs").OutputFileSystem} OutputFileSystem */
|
55
54
|
/** @typedef {import("./util/fs").WatchFileSystem} WatchFileSystem */
|
56
55
|
|
56
|
+
/**
|
57
|
+
* @template {any[]} T
|
58
|
+
* @template V
|
59
|
+
* @typedef {import("./util/WeakTupleMap")<T, V>} WeakTupleMap
|
60
|
+
*/
|
61
|
+
|
57
62
|
/**
|
58
63
|
* @typedef {object} CompilationParams
|
59
64
|
* @property {NormalModuleFactory} normalModuleFactory
|
@@ -127,9 +132,8 @@ const includesHash = (filename, hashes) => {
|
|
127
132
|
if (!hashes) return false;
|
128
133
|
if (Array.isArray(hashes)) {
|
129
134
|
return hashes.some(hash => filename.includes(hash));
|
130
|
-
} else {
|
131
|
-
return filename.includes(hashes);
|
132
135
|
}
|
136
|
+
return filename.includes(hashes);
|
133
137
|
};
|
134
138
|
|
135
139
|
class Compiler {
|
@@ -197,7 +201,7 @@ class Compiler {
|
|
197
201
|
/** @type {AsyncSeriesHook<[]>} */
|
198
202
|
shutdown: new AsyncSeriesHook([]),
|
199
203
|
|
200
|
-
/** @type {SyncBailHook<[string, string, any[]], true>} */
|
204
|
+
/** @type {SyncBailHook<[string, string, any[] | undefined], true>} */
|
201
205
|
infrastructureLog: new SyncBailHook(["origin", "type", "args"]),
|
202
206
|
|
203
207
|
// TODO the following hooks are weirdly located here
|
@@ -284,7 +288,7 @@ class Compiler {
|
|
284
288
|
|
285
289
|
this.cache = new Cache();
|
286
290
|
|
287
|
-
/** @type {Map<Module, { buildInfo: BuildInfo, references: References | undefined, memCache: WeakTupleMap }> | undefined} */
|
291
|
+
/** @type {Map<Module, { buildInfo: BuildInfo, references: References | undefined, memCache: WeakTupleMap<any, any> }> | undefined} */
|
288
292
|
this.moduleMemCaches = undefined;
|
289
293
|
|
290
294
|
this.compilerPath = "";
|
@@ -354,10 +358,11 @@ class Compiler {
|
|
354
358
|
);
|
355
359
|
}
|
356
360
|
}
|
357
|
-
if (
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
+
if (
|
362
|
+
this.hooks.infrastructureLog.call(name, type, args) === undefined &&
|
363
|
+
this.infrastructureLogger !== undefined
|
364
|
+
) {
|
365
|
+
this.infrastructureLogger(name, type, args);
|
361
366
|
}
|
362
367
|
},
|
363
368
|
childName => {
|
@@ -382,36 +387,33 @@ class Compiler {
|
|
382
387
|
}
|
383
388
|
return `${name}/${childName}`;
|
384
389
|
});
|
385
|
-
} else {
|
386
|
-
return this.getInfrastructureLogger(() => {
|
387
|
-
if (typeof name === "function") {
|
388
|
-
name = name();
|
389
|
-
if (!name) {
|
390
|
-
throw new TypeError(
|
391
|
-
"Compiler.getInfrastructureLogger(name) called with a function not returning a name"
|
392
|
-
);
|
393
|
-
}
|
394
|
-
}
|
395
|
-
return `${name}/${childName}`;
|
396
|
-
});
|
397
390
|
}
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
if (
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
"Logger.getChildLogger(name) called with a function not returning a name"
|
406
|
-
);
|
407
|
-
}
|
391
|
+
return this.getInfrastructureLogger(() => {
|
392
|
+
if (typeof name === "function") {
|
393
|
+
name = name();
|
394
|
+
if (!name) {
|
395
|
+
throw new TypeError(
|
396
|
+
"Compiler.getInfrastructureLogger(name) called with a function not returning a name"
|
397
|
+
);
|
408
398
|
}
|
409
|
-
|
410
|
-
}
|
411
|
-
}
|
412
|
-
|
413
|
-
|
399
|
+
}
|
400
|
+
return `${name}/${childName}`;
|
401
|
+
});
|
402
|
+
}
|
403
|
+
if (typeof childName === "function") {
|
404
|
+
return this.getInfrastructureLogger(() => {
|
405
|
+
if (typeof childName === "function") {
|
406
|
+
childName = childName();
|
407
|
+
if (!childName) {
|
408
|
+
throw new TypeError(
|
409
|
+
"Logger.getChildLogger(name) called with a function not returning a name"
|
410
|
+
);
|
411
|
+
}
|
412
|
+
}
|
413
|
+
return `${name}/${childName}`;
|
414
|
+
});
|
414
415
|
}
|
416
|
+
return this.getInfrastructureLogger(`${name}/${childName}`);
|
415
417
|
}
|
416
418
|
);
|
417
419
|
}
|
@@ -623,11 +625,11 @@ class Compiler {
|
|
623
625
|
const finalCallback = (err, entries, compilation) => {
|
624
626
|
try {
|
625
627
|
callback(err, entries, compilation);
|
626
|
-
} catch (
|
628
|
+
} catch (runAsChildErr) {
|
627
629
|
const err = new WebpackError(
|
628
|
-
`compiler.runAsChild callback error: ${
|
630
|
+
`compiler.runAsChild callback error: ${runAsChildErr}`
|
629
631
|
);
|
630
|
-
err.details = /** @type {Error} */ (
|
632
|
+
err.details = /** @type {Error} */ (runAsChildErr).stack;
|
631
633
|
/** @type {Compilation} */
|
632
634
|
(this.parentCompilation).errors.push(err);
|
633
635
|
}
|
@@ -765,18 +767,17 @@ ${other}`);
|
|
765
767
|
callback(err);
|
766
768
|
}
|
767
769
|
return true;
|
768
|
-
} else {
|
769
|
-
caseInsensitiveMap.set(
|
770
|
-
caseInsensitiveTargetPath,
|
771
|
-
(similarEntry = /** @type {SimilarEntry} */ ({
|
772
|
-
path: targetPath,
|
773
|
-
source,
|
774
|
-
size: undefined,
|
775
|
-
waiting: undefined
|
776
|
-
}))
|
777
|
-
);
|
778
|
-
return false;
|
779
770
|
}
|
771
|
+
caseInsensitiveMap.set(
|
772
|
+
caseInsensitiveTargetPath,
|
773
|
+
(similarEntry = /** @type {SimilarEntry} */ ({
|
774
|
+
path: targetPath,
|
775
|
+
source,
|
776
|
+
size: undefined,
|
777
|
+
waiting: undefined
|
778
|
+
}))
|
779
|
+
);
|
780
|
+
return false;
|
780
781
|
};
|
781
782
|
|
782
783
|
/**
|
@@ -786,14 +787,12 @@ ${other}`);
|
|
786
787
|
const getContent = () => {
|
787
788
|
if (typeof source.buffer === "function") {
|
788
789
|
return source.buffer();
|
789
|
-
} else {
|
790
|
-
const bufferOrString = source.source();
|
791
|
-
if (Buffer.isBuffer(bufferOrString)) {
|
792
|
-
return bufferOrString;
|
793
|
-
} else {
|
794
|
-
return Buffer.from(bufferOrString, "utf8");
|
795
|
-
}
|
796
790
|
}
|
791
|
+
const bufferOrString = source.source();
|
792
|
+
if (Buffer.isBuffer(bufferOrString)) {
|
793
|
+
return bufferOrString;
|
794
|
+
}
|
795
|
+
return Buffer.from(bufferOrString, "utf8");
|
797
796
|
};
|
798
797
|
|
799
798
|
const alreadyWritten = () => {
|
@@ -917,9 +916,8 @@ ${other}`);
|
|
917
916
|
!content.equals(/** @type {Buffer} */ (existingContent))
|
918
917
|
) {
|
919
918
|
return doWrite(content);
|
920
|
-
} else {
|
921
|
-
return alreadyWritten();
|
922
919
|
}
|
920
|
+
return alreadyWritten();
|
923
921
|
});
|
924
922
|
}
|
925
923
|
|
@@ -956,10 +954,9 @@ ${other}`);
|
|
956
954
|
});
|
957
955
|
|
958
956
|
return callback();
|
959
|
-
} else {
|
960
|
-
// Settings immutable will make it accept file content without comparing when file exist
|
961
|
-
immutable = true;
|
962
957
|
}
|
958
|
+
// Settings immutable will make it accept file content without comparing when file exist
|
959
|
+
immutable = true;
|
963
960
|
} else if (!immutable) {
|
964
961
|
if (checkSimilarFile()) return;
|
965
962
|
// We wrote to this file before which has very likely a different content
|
@@ -986,7 +983,7 @@ ${other}`);
|
|
986
983
|
}
|
987
984
|
};
|
988
985
|
|
989
|
-
if (targetFile
|
986
|
+
if (/\/|\\/.test(targetFile)) {
|
990
987
|
const fs = /** @type {OutputFileSystem} */ (this.outputFileSystem);
|
991
988
|
const dir = dirname(fs, join(fs, outputPath, targetFile));
|
992
989
|
mkdirp(fs, dir, writeOut);
|
@@ -1041,12 +1038,10 @@ ${other}`);
|
|
1041
1038
|
} else {
|
1042
1039
|
this.hooks.emitRecords.callAsync(callback);
|
1043
1040
|
}
|
1041
|
+
} else if (this.recordsOutputPath) {
|
1042
|
+
this._emitRecords(callback);
|
1044
1043
|
} else {
|
1045
|
-
|
1046
|
-
this._emitRecords(callback);
|
1047
|
-
} else {
|
1048
|
-
callback();
|
1049
|
-
}
|
1044
|
+
callback();
|
1050
1045
|
}
|
1051
1046
|
}
|
1052
1047
|
|
@@ -1115,13 +1110,11 @@ ${other}`);
|
|
1115
1110
|
this.records = {};
|
1116
1111
|
this.hooks.readRecords.callAsync(callback);
|
1117
1112
|
}
|
1113
|
+
} else if (this.recordsInputPath) {
|
1114
|
+
this._readRecords(callback);
|
1118
1115
|
} else {
|
1119
|
-
|
1120
|
-
|
1121
|
-
} else {
|
1122
|
-
this.records = {};
|
1123
|
-
callback();
|
1124
|
-
}
|
1116
|
+
this.records = {};
|
1117
|
+
callback();
|
1125
1118
|
}
|
1126
1119
|
}
|
1127
1120
|
|
@@ -1150,10 +1143,10 @@ ${other}`);
|
|
1150
1143
|
this.records = parseJson(
|
1151
1144
|
/** @type {Buffer} */ (content).toString("utf-8")
|
1152
1145
|
);
|
1153
|
-
} catch (
|
1146
|
+
} catch (parseErr) {
|
1154
1147
|
return callback(
|
1155
1148
|
new Error(
|
1156
|
-
`Cannot parse records: ${/** @type {Error} */ (
|
1149
|
+
`Cannot parse records: ${/** @type {Error} */ (parseErr).message}`
|
1157
1150
|
)
|
1158
1151
|
);
|
1159
1152
|
}
|
@@ -1233,11 +1226,17 @@ ${other}`);
|
|
1233
1226
|
"invalid",
|
1234
1227
|
"done",
|
1235
1228
|
"thisCompilation"
|
1236
|
-
].includes(name)
|
1229
|
+
].includes(name) &&
|
1230
|
+
childCompiler.hooks[/** @type {keyof Compiler["hooks"]} */ (name)]
|
1237
1231
|
) {
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1232
|
+
childCompiler.hooks[
|
1233
|
+
/** @type {keyof Compiler["hooks"]} */
|
1234
|
+
(name)
|
1235
|
+
].taps =
|
1236
|
+
this.hooks[
|
1237
|
+
/** @type {keyof Compiler["hooks"]} */
|
1238
|
+
(name)
|
1239
|
+
].taps.slice();
|
1241
1240
|
}
|
1242
1241
|
}
|
1243
1242
|
|
@@ -1251,7 +1250,7 @@ ${other}`);
|
|
1251
1250
|
}
|
1252
1251
|
|
1253
1252
|
isChild() {
|
1254
|
-
return
|
1253
|
+
return Boolean(this.parentCompilation);
|
1255
1254
|
}
|
1256
1255
|
|
1257
1256
|
/**
|
@@ -64,7 +64,6 @@ class ConcatenationScope {
|
|
64
64
|
}
|
65
65
|
|
66
66
|
/**
|
67
|
-
*
|
68
67
|
* @param {string} exportName name of the export
|
69
68
|
* @param {string} symbol identifier of the export in source code
|
70
69
|
*/
|
@@ -78,7 +77,6 @@ class ConcatenationScope {
|
|
78
77
|
}
|
79
78
|
|
80
79
|
/**
|
81
|
-
*
|
82
80
|
* @param {string} exportName name of the export
|
83
81
|
* @param {string} expression expression to be used
|
84
82
|
*/
|
@@ -99,7 +97,6 @@ class ConcatenationScope {
|
|
99
97
|
}
|
100
98
|
|
101
99
|
/**
|
102
|
-
*
|
103
100
|
* @param {Module} module the referenced module
|
104
101
|
* @param {Partial<ModuleReferenceOptions>} options options
|
105
102
|
* @returns {string} the reference as identifier
|
@@ -138,7 +135,7 @@ class ConcatenationScope {
|
|
138
135
|
static matchModuleReference(name) {
|
139
136
|
const match = MODULE_REFERENCE_REGEXP.exec(name);
|
140
137
|
if (!match) return null;
|
141
|
-
const index =
|
138
|
+
const index = Number(match[1]);
|
142
139
|
const asiSafe = match[5];
|
143
140
|
return {
|
144
141
|
index,
|
@@ -146,8 +143,8 @@ class ConcatenationScope {
|
|
146
143
|
match[2] === "ns"
|
147
144
|
? []
|
148
145
|
: JSON.parse(Buffer.from(match[2], "hex").toString("utf-8")),
|
149
|
-
call:
|
150
|
-
directImport:
|
146
|
+
call: Boolean(match[3]),
|
147
|
+
directImport: Boolean(match[4]),
|
151
148
|
asiSafe: asiSafe ? asiSafe === "1" : undefined
|
152
149
|
};
|
153
150
|
}
|
@@ -27,13 +27,12 @@ const wrapInCondition = (condition, source) => {
|
|
27
27
|
"}",
|
28
28
|
""
|
29
29
|
]);
|
30
|
-
} else {
|
31
|
-
return new ConcatSource(
|
32
|
-
`if (${condition}) {\n`,
|
33
|
-
new PrefixSource("\t", source),
|
34
|
-
"}\n"
|
35
|
-
);
|
36
30
|
}
|
31
|
+
return new ConcatSource(
|
32
|
+
`if (${condition}) {\n`,
|
33
|
+
new PrefixSource("\t", source),
|
34
|
+
"}\n"
|
35
|
+
);
|
37
36
|
};
|
38
37
|
|
39
38
|
/**
|
@@ -54,7 +53,7 @@ class ConditionalInitFragment extends InitFragment {
|
|
54
53
|
position,
|
55
54
|
key,
|
56
55
|
runtimeCondition = true,
|
57
|
-
endContent
|
56
|
+
endContent = undefined
|
58
57
|
) {
|
59
58
|
super(content, stage, position, key, endContent);
|
60
59
|
this.runtimeCondition = runtimeCondition;
|
package/lib/ConstPlugin.js
CHANGED
@@ -207,21 +207,13 @@ class ConstPlugin {
|
|
207
207
|
// NOTE: When code runs in strict mode, `var` declarations
|
208
208
|
// are hoisted but `function` declarations don't.
|
209
209
|
//
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
declarations
|
215
|
-
|
216
|
-
|
217
|
-
declarations = getHoistedDeclarations(branchToRemove, true);
|
218
|
-
}
|
219
|
-
let replacement;
|
220
|
-
if (declarations.length > 0) {
|
221
|
-
replacement = `{ var ${declarations.join(", ")}; }`;
|
222
|
-
} else {
|
223
|
-
replacement = "{}";
|
224
|
-
}
|
210
|
+
const declarations = parser.scope.isStrict
|
211
|
+
? getHoistedDeclarations(branchToRemove, false)
|
212
|
+
: getHoistedDeclarations(branchToRemove, true);
|
213
|
+
const replacement =
|
214
|
+
declarations.length > 0
|
215
|
+
? `{ var ${declarations.join(", ")}; }`
|
216
|
+
: "{}";
|
225
217
|
const dep = new ConstDependency(
|
226
218
|
replacement,
|
227
219
|
/** @type {Range} */ (branchToRemove.range)
|
@@ -22,9 +22,9 @@ class ContextExclusionPlugin {
|
|
22
22
|
*/
|
23
23
|
apply(compiler) {
|
24
24
|
compiler.hooks.contextModuleFactory.tap("ContextExclusionPlugin", cmf => {
|
25
|
-
cmf.hooks.contextModuleFiles.tap("ContextExclusionPlugin", files =>
|
26
|
-
|
27
|
-
|
25
|
+
cmf.hooks.contextModuleFiles.tap("ContextExclusionPlugin", files =>
|
26
|
+
files.filter(filePath => !this.negativeMatcher.test(filePath))
|
27
|
+
);
|
28
28
|
});
|
29
29
|
}
|
30
30
|
}
|
package/lib/ContextModule.js
CHANGED
@@ -30,6 +30,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
30
30
|
/** @typedef {import("webpack-sources").Source} Source */
|
31
31
|
/** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
32
32
|
/** @typedef {import("./Chunk")} Chunk */
|
33
|
+
/** @typedef {import("./Chunk").ChunkId} ChunkId */
|
33
34
|
/** @typedef {import("./ChunkGraph")} ChunkGraph */
|
34
35
|
/** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
|
35
36
|
/** @typedef {import("./ChunkGroup").RawChunkGroupOptions} RawChunkGroupOptions */
|
@@ -86,7 +87,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
86
87
|
|
87
88
|
/**
|
88
89
|
* @callback ResolveDependenciesCallback
|
89
|
-
* @param {
|
90
|
+
* @param {Error | null} err
|
90
91
|
* @param {ContextElementDependency[]=} dependencies
|
91
92
|
*/
|
92
93
|
|
@@ -99,7 +100,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
99
100
|
|
100
101
|
/** @typedef {1 | 3 | 7 | 9} FakeMapType */
|
101
102
|
|
102
|
-
/** @typedef {
|
103
|
+
/** @typedef {Record<ModuleId, FakeMapType>} FakeMap */
|
103
104
|
|
104
105
|
const SNAPSHOT_OPTIONS = { timestamp: true };
|
105
106
|
|
@@ -192,7 +193,7 @@ class ContextModule extends Module {
|
|
192
193
|
_prettyRegExp(regexString, stripSlash = true) {
|
193
194
|
const str = stripSlash
|
194
195
|
? regexString.source + regexString.flags
|
195
|
-
: regexString
|
196
|
+
: `${regexString}`;
|
196
197
|
return str.replace(/!/g, "%21").replace(/\|/g, "%7C");
|
197
198
|
}
|
198
199
|
|
@@ -272,15 +273,15 @@ class ContextModule extends Module {
|
|
272
273
|
readableIdentifier(requestShortener) {
|
273
274
|
let identifier;
|
274
275
|
if (this.context) {
|
275
|
-
identifier = requestShortener.shorten(this.context)
|
276
|
+
identifier = `${requestShortener.shorten(this.context)}/`;
|
276
277
|
} else if (
|
277
278
|
typeof this.options.resource === "string" ||
|
278
279
|
this.options.resource === false
|
279
280
|
) {
|
280
|
-
identifier = requestShortener.shorten(`${this.options.resource}`)
|
281
|
+
identifier = `${requestShortener.shorten(`${this.options.resource}`)}/`;
|
281
282
|
} else {
|
282
283
|
identifier = this.options.resource
|
283
|
-
.map(r => requestShortener.shorten(r)
|
284
|
+
.map(r => `${requestShortener.shorten(r)}/`)
|
284
285
|
.join(" ");
|
285
286
|
}
|
286
287
|
if (this.options.resourceQuery) {
|
@@ -565,7 +566,7 @@ class ContextModule extends Module {
|
|
565
566
|
} else if (typeof this.options.resource === "string") {
|
566
567
|
contextDependencies.add(this.options.resource);
|
567
568
|
} else if (this.options.resource === false) {
|
568
|
-
|
569
|
+
// Do nothing
|
569
570
|
} else {
|
570
571
|
for (const res of this.options.resource) contextDependencies.add(res);
|
571
572
|
}
|
@@ -602,7 +603,7 @@ class ContextModule extends Module {
|
|
602
603
|
/**
|
603
604
|
* @param {Dependency[]} dependencies all dependencies
|
604
605
|
* @param {ChunkGraph} chunkGraph chunk graph
|
605
|
-
* @returns {FakeMap} fake map
|
606
|
+
* @returns {FakeMap | FakeMapType} fake map
|
606
607
|
*/
|
607
608
|
getFakeMap(dependencies, chunkGraph) {
|
608
609
|
if (!this.options.namespaceObject) {
|
@@ -621,13 +622,14 @@ class ContextModule extends Module {
|
|
621
622
|
)
|
622
623
|
.filter(Boolean)
|
623
624
|
.sort(comparator);
|
625
|
+
/** @type {FakeMap} */
|
624
626
|
const fakeMap = Object.create(null);
|
625
627
|
for (const module of sortedModules) {
|
626
628
|
const exportsType = module.getExportsType(
|
627
629
|
moduleGraph,
|
628
630
|
this.options.namespaceObject === "strict"
|
629
631
|
);
|
630
|
-
const id = chunkGraph.getModuleId(module);
|
632
|
+
const id = /** @type {ModuleId} */ (chunkGraph.getModuleId(module));
|
631
633
|
switch (exportsType) {
|
632
634
|
case "namespace":
|
633
635
|
fakeMap[id] = 9;
|
@@ -668,7 +670,7 @@ class ContextModule extends Module {
|
|
668
670
|
}
|
669
671
|
|
670
672
|
/**
|
671
|
-
* @param {FakeMap} fakeMap fake map
|
673
|
+
* @param {FakeMap | FakeMapType} fakeMap fake map
|
672
674
|
* @returns {string} fake map init statement
|
673
675
|
*/
|
674
676
|
getFakeMapInitStatement(fakeMap) {
|
@@ -692,7 +694,7 @@ class ContextModule extends Module {
|
|
692
694
|
}
|
693
695
|
|
694
696
|
/**
|
695
|
-
* @param {FakeMap} fakeMap fake map
|
697
|
+
* @param {FakeMap | FakeMapType} fakeMap fake map
|
696
698
|
* @param {boolean=} asyncModule us async module
|
697
699
|
* @param {string=} fakeMapDataExpression fake map data expression
|
698
700
|
* @returns {string} module object source
|
@@ -944,15 +946,19 @@ module.exports = webpackAsyncContext;`;
|
|
944
946
|
chunkGraph
|
945
947
|
);
|
946
948
|
const hasFakeMap = typeof fakeMap === "object";
|
949
|
+
/** @typedef {{userRequest: string, dependency: ContextElementDependency, chunks: undefined | Chunk[], module: Module, block: AsyncDependenciesBlock}} Item */
|
950
|
+
/**
|
951
|
+
* @type {Item[]}
|
952
|
+
*/
|
947
953
|
const items = blocks
|
948
954
|
.map(block => {
|
949
955
|
const dependency =
|
950
956
|
/** @type {ContextElementDependency} */
|
951
957
|
(block.dependencies[0]);
|
952
958
|
return {
|
953
|
-
dependency
|
959
|
+
dependency,
|
954
960
|
module: /** @type {Module} */ (moduleGraph.getModule(dependency)),
|
955
|
-
block
|
961
|
+
block,
|
956
962
|
userRequest: dependency.userRequest,
|
957
963
|
chunks: undefined
|
958
964
|
};
|
@@ -974,18 +980,23 @@ module.exports = webpackAsyncContext;`;
|
|
974
980
|
if (a.userRequest === b.userRequest) return 0;
|
975
981
|
return a.userRequest < b.userRequest ? -1 : 1;
|
976
982
|
});
|
983
|
+
/** @type {Record<string, ModuleId | (ModuleId[] | ChunkId[])>} */
|
977
984
|
const map = Object.create(null);
|
978
985
|
for (const item of sortedItems) {
|
979
|
-
const moduleId =
|
986
|
+
const moduleId =
|
987
|
+
/** @type {ModuleId} */
|
988
|
+
(chunkGraph.getModuleId(item.module));
|
980
989
|
if (shortMode) {
|
981
990
|
map[item.userRequest] = moduleId;
|
982
991
|
} else {
|
992
|
+
/** @type {(ModuleId | ChunkId)[]} */
|
983
993
|
const arrayStart = [moduleId];
|
984
994
|
if (hasFakeMap) {
|
985
995
|
arrayStart.push(fakeMap[moduleId]);
|
986
996
|
}
|
987
997
|
map[item.userRequest] = arrayStart.concat(
|
988
|
-
|
998
|
+
/** @type {Chunk[]} */
|
999
|
+
(item.chunks).map(chunk => /** @type {ChunkId} */ (chunk.id))
|
989
1000
|
);
|
990
1001
|
}
|
991
1002
|
}
|
@@ -1086,7 +1097,7 @@ module.exports = webpackEmptyAsyncContext;`;
|
|
1086
1097
|
* @returns {string} the source code
|
1087
1098
|
*/
|
1088
1099
|
getSourceString(asyncMode, { runtimeTemplate, chunkGraph }) {
|
1089
|
-
const id = chunkGraph.getModuleId(this);
|
1100
|
+
const id = /** @type {ModuleId} */ (chunkGraph.getModuleId(this));
|
1090
1101
|
if (asyncMode === "lazy") {
|
1091
1102
|
if (this.blocks && this.blocks.length > 0) {
|
1092
1103
|
return this.getLazySource(this.blocks, id, {
|
@@ -1124,10 +1135,12 @@ module.exports = webpackEmptyAsyncContext;`;
|
|
1124
1135
|
}
|
1125
1136
|
return this.getSourceForEmptyAsyncContext(id, runtimeTemplate);
|
1126
1137
|
}
|
1127
|
-
if (
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1138
|
+
if (
|
1139
|
+
asyncMode === "weak" &&
|
1140
|
+
this.dependencies &&
|
1141
|
+
this.dependencies.length > 0
|
1142
|
+
) {
|
1143
|
+
return this.getWeakSyncSource(this.dependencies, id, chunkGraph);
|
1131
1144
|
}
|
1132
1145
|
if (this.dependencies && this.dependencies.length > 0) {
|
1133
1146
|
return this.getSyncSource(this.dependencies, id, chunkGraph);
|