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
@@ -5,15 +5,22 @@
|
|
5
5
|
|
6
6
|
"use strict";
|
7
7
|
|
8
|
+
/** @typedef {import("http").IncomingMessage} IncomingMessage */
|
9
|
+
/** @typedef {import("http").RequestListener} RequestListener */
|
8
10
|
/** @typedef {import("http").ServerOptions} HttpServerOptions */
|
11
|
+
/** @typedef {import("http").ServerResponse} ServerResponse */
|
9
12
|
/** @typedef {import("https").ServerOptions} HttpsServerOptions */
|
13
|
+
/** @typedef {import("net").AddressInfo} AddressInfo */
|
14
|
+
/** @typedef {import("net").Server} Server */
|
10
15
|
/** @typedef {import("../../declarations/WebpackOptions").LazyCompilationDefaultBackendOptions} LazyCompilationDefaultBackendOptions */
|
11
16
|
/** @typedef {import("../Compiler")} Compiler */
|
17
|
+
/** @typedef {import("../Module")} Module */
|
18
|
+
/** @typedef {import("./LazyCompilationPlugin").BackendApi} BackendApi */
|
12
19
|
|
13
20
|
/**
|
14
21
|
* @callback BackendHandler
|
15
22
|
* @param {Compiler} compiler compiler
|
16
|
-
* @param {function(
|
23
|
+
* @param {function(Error | null, BackendApi=): void} callback callback
|
17
24
|
* @returns {void}
|
18
25
|
*/
|
19
26
|
|
@@ -36,8 +43,13 @@ module.exports = options => (compiler, callback) => {
|
|
36
43
|
? options.server
|
37
44
|
: (() => {
|
38
45
|
const http = isHttps ? require("https") : require("http");
|
39
|
-
return http.createServer.bind(
|
46
|
+
return http.createServer.bind(
|
47
|
+
http,
|
48
|
+
/** @type {HttpServerOptions | HttpsServerOptions} */
|
49
|
+
(options.server)
|
50
|
+
);
|
40
51
|
})();
|
52
|
+
/** @type {function(Server): void} */
|
41
53
|
const listen =
|
42
54
|
typeof options.listen === "function"
|
43
55
|
? options.listen
|
@@ -50,7 +62,9 @@ module.exports = options => (compiler, callback) => {
|
|
50
62
|
|
51
63
|
const protocol = options.protocol || (isHttps ? "https" : "http");
|
52
64
|
|
65
|
+
/** @type {RequestListener} */
|
53
66
|
const requestListener = (req, res) => {
|
67
|
+
if (req.url === undefined) return;
|
54
68
|
const keys = req.url.slice(prefix.length).split("@");
|
55
69
|
req.socket.on("close", () => {
|
56
70
|
setTimeout(() => {
|
@@ -85,7 +99,7 @@ module.exports = options => (compiler, callback) => {
|
|
85
99
|
if (moduleActivated && compiler.watching) compiler.watching.invalidate();
|
86
100
|
};
|
87
101
|
|
88
|
-
const server = /** @type {
|
102
|
+
const server = /** @type {Server} */ (createServer());
|
89
103
|
server.on("request", requestListener);
|
90
104
|
|
91
105
|
let isClosing = false;
|
@@ -101,43 +115,53 @@ module.exports = options => (compiler, callback) => {
|
|
101
115
|
server.on("clientError", e => {
|
102
116
|
if (e.message !== "Server is disposing") logger.warn(e);
|
103
117
|
});
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
}
|
125
|
-
|
126
|
-
|
118
|
+
|
119
|
+
server.on(
|
120
|
+
"listening",
|
121
|
+
/**
|
122
|
+
* @param {Error} err error
|
123
|
+
* @returns {void}
|
124
|
+
*/
|
125
|
+
err => {
|
126
|
+
if (err) return callback(err);
|
127
|
+
const _addr = server.address();
|
128
|
+
if (typeof _addr === "string")
|
129
|
+
throw new Error("addr must not be a string");
|
130
|
+
const addr = /** @type {AddressInfo} */ (_addr);
|
131
|
+
const urlBase =
|
132
|
+
addr.address === "::" || addr.address === "0.0.0.0"
|
133
|
+
? `${protocol}://localhost:${addr.port}`
|
134
|
+
: addr.family === "IPv6"
|
135
|
+
? `${protocol}://[${addr.address}]:${addr.port}`
|
136
|
+
: `${protocol}://${addr.address}:${addr.port}`;
|
137
|
+
logger.log(
|
138
|
+
`Server-Sent-Events server for lazy compilation open at ${urlBase}.`
|
139
|
+
);
|
140
|
+
callback(null, {
|
141
|
+
dispose(callback) {
|
142
|
+
isClosing = true;
|
143
|
+
// Removing the listener is a workaround for a memory leak in node.js
|
144
|
+
server.off("request", requestListener);
|
145
|
+
server.close(err => {
|
146
|
+
callback(err);
|
147
|
+
});
|
148
|
+
for (const socket of sockets) {
|
149
|
+
socket.destroy(new Error("Server is disposing"));
|
150
|
+
}
|
151
|
+
},
|
152
|
+
module(originalModule) {
|
153
|
+
const key = `${encodeURIComponent(
|
154
|
+
originalModule.identifier().replace(/\\/g, "/").replace(/@/g, "_")
|
155
|
+
).replace(/%(2F|3A|24|26|2B|2C|3B|3D)/g, decodeURIComponent)}`;
|
156
|
+
const active = activeModules.get(key) > 0;
|
157
|
+
return {
|
158
|
+
client: `${options.client}?${encodeURIComponent(urlBase + prefix)}`,
|
159
|
+
data: key,
|
160
|
+
active
|
161
|
+
};
|
127
162
|
}
|
128
|
-
}
|
129
|
-
|
130
|
-
|
131
|
-
originalModule.identifier().replace(/\\/g, "/").replace(/@/g, "_")
|
132
|
-
).replace(/%(2F|3A|24|26|2B|2C|3B|3D|3A)/g, decodeURIComponent)}`;
|
133
|
-
const active = activeModules.get(key) > 0;
|
134
|
-
return {
|
135
|
-
client: `${options.client}?${encodeURIComponent(urlBase + prefix)}`,
|
136
|
-
data: key,
|
137
|
-
active
|
138
|
-
};
|
139
|
-
}
|
140
|
-
});
|
141
|
-
});
|
163
|
+
});
|
164
|
+
}
|
165
|
+
);
|
142
166
|
listen(server);
|
143
167
|
};
|
@@ -70,9 +70,7 @@ class ChunkModuleIdRangePlugin {
|
|
70
70
|
chunkModules = chunkGraph.getOrderedChunkModules(chunk, cmpFn);
|
71
71
|
} else {
|
72
72
|
chunkModules = Array.from(modules)
|
73
|
-
.filter(m =>
|
74
|
-
return chunkGraph.isModuleInChunk(m, chunk);
|
75
|
-
})
|
73
|
+
.filter(m => chunkGraph.isModuleInChunk(m, chunk))
|
76
74
|
.sort(compareModulesByPreOrderIndexOrIdentifier(moduleGraph));
|
77
75
|
}
|
78
76
|
|
@@ -51,9 +51,7 @@ class DeterministicChunkIdsPlugin {
|
|
51
51
|
|
52
52
|
const usedIds = getUsedChunkIds(compilation);
|
53
53
|
assignDeterministicIds(
|
54
|
-
Array.from(chunks).filter(chunk =>
|
55
|
-
return chunk.id === null;
|
56
|
-
}),
|
54
|
+
Array.from(chunks).filter(chunk => chunk.id === null),
|
57
55
|
chunk =>
|
58
56
|
getFullChunkName(chunk, chunkGraph, context, compiler.root),
|
59
57
|
compareNatural,
|
@@ -65,7 +63,7 @@ class DeterministicChunkIdsPlugin {
|
|
65
63
|
chunk.ids = [id];
|
66
64
|
return true;
|
67
65
|
},
|
68
|
-
[
|
66
|
+
[10 ** maxLength],
|
69
67
|
10,
|
70
68
|
usedIds.size
|
71
69
|
);
|
@@ -64,7 +64,11 @@ class HashedModuleIdsPlugin {
|
|
64
64
|
);
|
65
65
|
for (const module of modulesInNaturalOrder) {
|
66
66
|
const ident = getFullModuleName(module, context, compiler.root);
|
67
|
-
const hash = createHash(
|
67
|
+
const hash = createHash(
|
68
|
+
/** @type {NonNullable<HashedModuleIdsPluginOptions["hashFunction"]>} */ (
|
69
|
+
options.hashFunction
|
70
|
+
)
|
71
|
+
);
|
68
72
|
hash.update(ident || "");
|
69
73
|
const hashId = /** @type {string} */ (
|
70
74
|
hash.digest(options.hashDigest)
|
package/lib/ids/IdHelpers.js
CHANGED
@@ -43,7 +43,7 @@ const avoidNumber = str => {
|
|
43
43
|
} else if (firstChar > 57) {
|
44
44
|
return str;
|
45
45
|
}
|
46
|
-
if (str ===
|
46
|
+
if (str === String(Number(str))) {
|
47
47
|
return `_${str}`;
|
48
48
|
}
|
49
49
|
return str;
|
@@ -53,12 +53,9 @@ const avoidNumber = str => {
|
|
53
53
|
* @param {string} request the request
|
54
54
|
* @returns {string} id representation
|
55
55
|
*/
|
56
|
-
const requestToId = request =>
|
57
|
-
|
58
|
-
|
59
|
-
.replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_");
|
60
|
-
};
|
61
|
-
exports.requestToId = requestToId;
|
56
|
+
const requestToId = request =>
|
57
|
+
request.replace(/^(\.\.?\/)+/, "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_");
|
58
|
+
module.exports.requestToId = requestToId;
|
62
59
|
|
63
60
|
/**
|
64
61
|
* @param {string} string the string
|
@@ -91,7 +88,7 @@ const getShortModuleName = (module, context, associatedObjectForCache) => {
|
|
91
88
|
);
|
92
89
|
return "";
|
93
90
|
};
|
94
|
-
exports.getShortModuleName = getShortModuleName;
|
91
|
+
module.exports.getShortModuleName = getShortModuleName;
|
95
92
|
|
96
93
|
/**
|
97
94
|
* @param {string} shortName the short name
|
@@ -111,7 +108,7 @@ const getLongModuleName = (
|
|
111
108
|
const fullName = getFullModuleName(module, context, associatedObjectForCache);
|
112
109
|
return `${shortName}?${getHash(fullName, 4, hashFunction)}`;
|
113
110
|
};
|
114
|
-
exports.getLongModuleName = getLongModuleName;
|
111
|
+
module.exports.getLongModuleName = getLongModuleName;
|
115
112
|
|
116
113
|
/**
|
117
114
|
* @param {Module} module the module
|
@@ -119,14 +116,9 @@ exports.getLongModuleName = getLongModuleName;
|
|
119
116
|
* @param {object=} associatedObjectForCache an object to which the cache will be attached
|
120
117
|
* @returns {string} full module name
|
121
118
|
*/
|
122
|
-
const getFullModuleName = (module, context, associatedObjectForCache) =>
|
123
|
-
|
124
|
-
|
125
|
-
module.identifier(),
|
126
|
-
associatedObjectForCache
|
127
|
-
);
|
128
|
-
};
|
129
|
-
exports.getFullModuleName = getFullModuleName;
|
119
|
+
const getFullModuleName = (module, context, associatedObjectForCache) =>
|
120
|
+
makePathsRelative(context, module.identifier(), associatedObjectForCache);
|
121
|
+
module.exports.getFullModuleName = getFullModuleName;
|
130
122
|
|
131
123
|
/**
|
132
124
|
* @param {Chunk} chunk the chunk
|
@@ -156,7 +148,7 @@ const getShortChunkName = (
|
|
156
148
|
.join(delimiter);
|
157
149
|
return shortenLongString(chunkName, delimiter, hashFunction);
|
158
150
|
};
|
159
|
-
exports.getShortChunkName = getShortChunkName;
|
151
|
+
module.exports.getShortChunkName = getShortChunkName;
|
160
152
|
|
161
153
|
/**
|
162
154
|
* @param {Chunk} chunk the chunk
|
@@ -191,7 +183,7 @@ const getLongChunkName = (
|
|
191
183
|
.join(delimiter);
|
192
184
|
return shortenLongString(chunkName, delimiter, hashFunction);
|
193
185
|
};
|
194
|
-
exports.getLongChunkName = getLongChunkName;
|
186
|
+
module.exports.getLongChunkName = getLongChunkName;
|
195
187
|
|
196
188
|
/**
|
197
189
|
* @param {Chunk} chunk the chunk
|
@@ -213,7 +205,7 @@ const getFullChunkName = (
|
|
213
205
|
);
|
214
206
|
return fullModuleNames.join();
|
215
207
|
};
|
216
|
-
exports.getFullChunkName = getFullChunkName;
|
208
|
+
module.exports.getFullChunkName = getFullChunkName;
|
217
209
|
|
218
210
|
/**
|
219
211
|
* @template K
|
@@ -246,7 +238,7 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
|
|
246
238
|
const usedIds = new Set();
|
247
239
|
if (compilation.usedModuleIds) {
|
248
240
|
for (const id of compilation.usedModuleIds) {
|
249
|
-
usedIds.add(id
|
241
|
+
usedIds.add(String(id));
|
250
242
|
}
|
251
243
|
}
|
252
244
|
|
@@ -254,20 +246,18 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
|
|
254
246
|
if (!module.needId) continue;
|
255
247
|
const moduleId = chunkGraph.getModuleId(module);
|
256
248
|
if (moduleId !== null) {
|
257
|
-
usedIds.add(moduleId
|
258
|
-
} else
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
)
|
263
|
-
modules.push(module);
|
264
|
-
}
|
249
|
+
usedIds.add(String(moduleId));
|
250
|
+
} else if (
|
251
|
+
(!filter || filter(module)) &&
|
252
|
+
chunkGraph.getNumberOfModuleChunks(module) !== 0
|
253
|
+
) {
|
254
|
+
modules.push(module);
|
265
255
|
}
|
266
256
|
}
|
267
257
|
|
268
258
|
return [usedIds, modules];
|
269
259
|
};
|
270
|
-
exports.getUsedModuleIdsAndModules = getUsedModuleIdsAndModules;
|
260
|
+
module.exports.getUsedModuleIdsAndModules = getUsedModuleIdsAndModules;
|
271
261
|
|
272
262
|
/**
|
273
263
|
* @param {Compilation} compilation the compilation
|
@@ -278,20 +268,20 @@ const getUsedChunkIds = compilation => {
|
|
278
268
|
const usedIds = new Set();
|
279
269
|
if (compilation.usedChunkIds) {
|
280
270
|
for (const id of compilation.usedChunkIds) {
|
281
|
-
usedIds.add(id
|
271
|
+
usedIds.add(String(id));
|
282
272
|
}
|
283
273
|
}
|
284
274
|
|
285
275
|
for (const chunk of compilation.chunks) {
|
286
276
|
const chunkId = chunk.id;
|
287
277
|
if (chunkId !== null) {
|
288
|
-
usedIds.add(chunkId
|
278
|
+
usedIds.add(String(chunkId));
|
289
279
|
}
|
290
280
|
}
|
291
281
|
|
292
282
|
return usedIds;
|
293
283
|
};
|
294
|
-
exports.getUsedChunkIds = getUsedChunkIds;
|
284
|
+
module.exports.getUsedChunkIds = getUsedChunkIds;
|
295
285
|
|
296
286
|
/**
|
297
287
|
* @template T
|
@@ -359,7 +349,7 @@ const assignNames = (
|
|
359
349
|
unnamedItems.sort(comparator);
|
360
350
|
return unnamedItems;
|
361
351
|
};
|
362
|
-
exports.assignNames = assignNames;
|
352
|
+
module.exports.assignNames = assignNames;
|
363
353
|
|
364
354
|
/**
|
365
355
|
* @template T
|
@@ -413,7 +403,7 @@ const assignDeterministicIds = (
|
|
413
403
|
} while (!assignId(item, id));
|
414
404
|
}
|
415
405
|
};
|
416
|
-
exports.assignDeterministicIds = assignDeterministicIds;
|
406
|
+
module.exports.assignDeterministicIds = assignDeterministicIds;
|
417
407
|
|
418
408
|
/**
|
419
409
|
* @param {Set<string>} usedIds used ids
|
@@ -432,7 +422,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
|
|
432
422
|
*/
|
433
423
|
assignId = module => {
|
434
424
|
if (chunkGraph.getModuleId(module) === null) {
|
435
|
-
while (usedIds.has(nextId
|
425
|
+
while (usedIds.has(String(nextId))) nextId++;
|
436
426
|
chunkGraph.setModuleId(module, nextId++);
|
437
427
|
}
|
438
428
|
};
|
@@ -450,7 +440,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
|
|
450
440
|
assignId(module);
|
451
441
|
}
|
452
442
|
};
|
453
|
-
exports.assignAscendingModuleIds = assignAscendingModuleIds;
|
443
|
+
module.exports.assignAscendingModuleIds = assignAscendingModuleIds;
|
454
444
|
|
455
445
|
/**
|
456
446
|
* @param {Iterable<Chunk>} chunks the chunks
|
@@ -464,7 +454,7 @@ const assignAscendingChunkIds = (chunks, compilation) => {
|
|
464
454
|
if (usedIds.size > 0) {
|
465
455
|
for (const chunk of chunks) {
|
466
456
|
if (chunk.id === null) {
|
467
|
-
while (usedIds.has(nextId
|
457
|
+
while (usedIds.has(String(nextId))) nextId++;
|
468
458
|
chunk.id = nextId;
|
469
459
|
chunk.ids = [nextId];
|
470
460
|
nextId++;
|
@@ -480,4 +470,4 @@ const assignAscendingChunkIds = (chunks, compilation) => {
|
|
480
470
|
}
|
481
471
|
}
|
482
472
|
};
|
483
|
-
exports.assignAscendingChunkIds = assignAscendingChunkIds;
|
473
|
+
module.exports.assignAscendingChunkIds = assignAscendingChunkIds;
|
@@ -10,6 +10,7 @@ const { getUsedModuleIdsAndModules } = require("./IdHelpers");
|
|
10
10
|
|
11
11
|
/** @typedef {import("../Compiler")} Compiler */
|
12
12
|
/** @typedef {import("../Module")} Module */
|
13
|
+
/** @typedef {import("../util/fs").IntermediateFileSystem} IntermediateFileSystem */
|
13
14
|
|
14
15
|
const plugin = "SyncModuleIdsPlugin";
|
15
16
|
|
@@ -42,7 +43,9 @@ class SyncModuleIdsPlugin {
|
|
42
43
|
let dataChanged = false;
|
43
44
|
if (this._read) {
|
44
45
|
compiler.hooks.readRecords.tapAsync(plugin, callback => {
|
45
|
-
const fs =
|
46
|
+
const fs =
|
47
|
+
/** @type {IntermediateFileSystem} */
|
48
|
+
(compiler.intermediateFileSystem);
|
46
49
|
fs.readFile(this._path, (err, buffer) => {
|
47
50
|
if (err) {
|
48
51
|
if (err.code !== "ENOENT") {
|
@@ -69,7 +72,9 @@ class SyncModuleIdsPlugin {
|
|
69
72
|
for (const [key, value] of sorted) {
|
70
73
|
json[key] = value;
|
71
74
|
}
|
72
|
-
const fs =
|
75
|
+
const fs =
|
76
|
+
/** @type {IntermediateFileSystem} */
|
77
|
+
(compiler.intermediateFileSystem);
|
73
78
|
fs.writeFile(this._path, JSON.stringify(json), callback);
|
74
79
|
});
|
75
80
|
}
|
package/lib/index.js
CHANGED
@@ -70,11 +70,7 @@ const memoize = require("./util/memoize");
|
|
70
70
|
*/
|
71
71
|
const lazyFunction = factory => {
|
72
72
|
const fac = memoize(factory);
|
73
|
-
const f = /** @type {any} */ (
|
74
|
-
(...args) => {
|
75
|
-
return fac()(...args);
|
76
|
-
}
|
77
|
-
);
|
73
|
+
const f = /** @type {any} */ ((...args) => fac()(...args));
|
78
74
|
return /** @type {T} */ (f);
|
79
75
|
};
|
80
76
|
|
@@ -84,10 +84,11 @@ class ArrayPushCallbackChunkFormatPlugin {
|
|
84
84
|
);
|
85
85
|
if (runtimeModules.length > 0 || entries.length > 0) {
|
86
86
|
const runtime = new ConcatSource(
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
87
|
+
`${
|
88
|
+
runtimeTemplate.supportsArrowFunction()
|
89
|
+
? `${RuntimeGlobals.require} =>`
|
90
|
+
: `function(${RuntimeGlobals.require})`
|
91
|
+
} { // webpackRuntimeModules\n`
|
91
92
|
);
|
92
93
|
if (runtimeModules.length > 0) {
|
93
94
|
runtime.add(
|
@@ -184,7 +184,7 @@ class BasicEvaluatedExpression {
|
|
184
184
|
asCompileTimeValue() {
|
185
185
|
switch (this.type) {
|
186
186
|
case TypeUndefined:
|
187
|
-
return
|
187
|
+
return;
|
188
188
|
case TypeNull:
|
189
189
|
return null;
|
190
190
|
case TypeString:
|
@@ -252,7 +252,6 @@ class BasicEvaluatedExpression {
|
|
252
252
|
const str = this.asString();
|
253
253
|
if (typeof str === "string") return str !== "";
|
254
254
|
}
|
255
|
-
return undefined;
|
256
255
|
}
|
257
256
|
|
258
257
|
/**
|
@@ -275,8 +274,6 @@ class BasicEvaluatedExpression {
|
|
275
274
|
if (this.isConstArray()) return false;
|
276
275
|
if (this.isTemplateString()) return false;
|
277
276
|
if (this.isRegExp()) return false;
|
278
|
-
|
279
|
-
return undefined;
|
280
277
|
}
|
281
278
|
|
282
279
|
/**
|
@@ -292,12 +289,12 @@ class BasicEvaluatedExpression {
|
|
292
289
|
if (this.isBigInt()) return `${this.bigint}`;
|
293
290
|
if (this.isRegExp()) return `${this.regExp}`;
|
294
291
|
if (this.isArray()) {
|
295
|
-
|
292
|
+
const array = [];
|
296
293
|
for (const item of /** @type {BasicEvaluatedExpression[]} */ (
|
297
294
|
this.items
|
298
295
|
)) {
|
299
296
|
const itemStr = item.asString();
|
300
|
-
if (itemStr === undefined) return
|
297
|
+
if (itemStr === undefined) return;
|
301
298
|
array.push(itemStr);
|
302
299
|
}
|
303
300
|
return `${array}`;
|
@@ -309,12 +306,11 @@ class BasicEvaluatedExpression {
|
|
309
306
|
this.parts
|
310
307
|
)) {
|
311
308
|
const partStr = part.asString();
|
312
|
-
if (partStr === undefined) return
|
309
|
+
if (partStr === undefined) return;
|
313
310
|
str += partStr;
|
314
311
|
}
|
315
312
|
return str;
|
316
313
|
}
|
317
|
-
return undefined;
|
318
314
|
}
|
319
315
|
|
320
316
|
/**
|
@@ -390,7 +386,6 @@ class BasicEvaluatedExpression {
|
|
390
386
|
|
391
387
|
/**
|
392
388
|
* Set's the value of this expression to a particular identifier and its members.
|
393
|
-
*
|
394
389
|
* @param {string | VariableInfoInterface} identifier identifier to set
|
395
390
|
* @param {string | VariableInfoInterface} rootInfo root info
|
396
391
|
* @param {() => string[]} getMembers members
|
@@ -417,7 +412,6 @@ class BasicEvaluatedExpression {
|
|
417
412
|
|
418
413
|
/**
|
419
414
|
* Wraps an array of expressions with a prefix and postfix expression.
|
420
|
-
*
|
421
415
|
* @param {BasicEvaluatedExpression | null | undefined} prefix Expression to be added before the innerExpressions
|
422
416
|
* @param {BasicEvaluatedExpression | null | undefined} postfix Expression to be added after the innerExpressions
|
423
417
|
* @param {BasicEvaluatedExpression[] | undefined} innerExpressions Expressions to be wrapped
|
@@ -434,7 +428,6 @@ class BasicEvaluatedExpression {
|
|
434
428
|
|
435
429
|
/**
|
436
430
|
* Stores the options of a conditional expression.
|
437
|
-
*
|
438
431
|
* @param {BasicEvaluatedExpression[]} options optional (consequent/alternate) expressions to be set
|
439
432
|
* @returns {this} this
|
440
433
|
*/
|
@@ -447,7 +440,6 @@ class BasicEvaluatedExpression {
|
|
447
440
|
|
448
441
|
/**
|
449
442
|
* Adds options to a conditional expression.
|
450
|
-
*
|
451
443
|
* @param {BasicEvaluatedExpression[]} options optional (consequent/alternate) expressions to be added
|
452
444
|
* @returns {this} this
|
453
445
|
*/
|
@@ -465,7 +457,6 @@ class BasicEvaluatedExpression {
|
|
465
457
|
|
466
458
|
/**
|
467
459
|
* Set's the value of this expression to an array of expressions.
|
468
|
-
*
|
469
460
|
* @param {BasicEvaluatedExpression[]} items expressions to set
|
470
461
|
* @returns {this} this
|
471
462
|
*/
|
@@ -478,7 +469,6 @@ class BasicEvaluatedExpression {
|
|
478
469
|
|
479
470
|
/**
|
480
471
|
* Set's the value of this expression to an array of strings.
|
481
|
-
*
|
482
472
|
* @param {string[]} array array to set
|
483
473
|
* @returns {this} this
|
484
474
|
*/
|
@@ -492,7 +482,6 @@ class BasicEvaluatedExpression {
|
|
492
482
|
/**
|
493
483
|
* Set's the value of this expression to a processed/unprocessed template string. Used
|
494
484
|
* for evaluating TemplateLiteral expressions in the JavaScript Parser.
|
495
|
-
*
|
496
485
|
* @param {BasicEvaluatedExpression[]} quasis template string quasis
|
497
486
|
* @param {BasicEvaluatedExpression[]} parts template string parts
|
498
487
|
* @param {"cooked" | "raw"} kind template string kind
|
@@ -522,7 +511,6 @@ class BasicEvaluatedExpression {
|
|
522
511
|
|
523
512
|
/**
|
524
513
|
* Set's the value of the expression to nullish.
|
525
|
-
*
|
526
514
|
* @param {boolean} value true, if the expression is nullish
|
527
515
|
* @returns {this} this
|
528
516
|
*/
|
@@ -536,7 +524,6 @@ class BasicEvaluatedExpression {
|
|
536
524
|
|
537
525
|
/**
|
538
526
|
* Set's the range for the expression.
|
539
|
-
*
|
540
527
|
* @param {[number, number]} range range to set
|
541
528
|
* @returns {this} this
|
542
529
|
*/
|
@@ -547,7 +534,6 @@ class BasicEvaluatedExpression {
|
|
547
534
|
|
548
535
|
/**
|
549
536
|
* Set whether or not the expression has side effects.
|
550
|
-
*
|
551
537
|
* @param {boolean} sideEffects true, if the expression has side effects
|
552
538
|
* @returns {this} this
|
553
539
|
*/
|
@@ -558,7 +544,6 @@ class BasicEvaluatedExpression {
|
|
558
544
|
|
559
545
|
/**
|
560
546
|
* Set the expression node for the expression.
|
561
|
-
*
|
562
547
|
* @param {Node | undefined} expression expression
|
563
548
|
* @returns {this} this
|
564
549
|
*/
|
@@ -51,7 +51,7 @@ class CommonJsChunkFormatPlugin {
|
|
51
51
|
const source = new ConcatSource();
|
52
52
|
source.add(`exports.id = ${JSON.stringify(chunk.id)};\n`);
|
53
53
|
source.add(`exports.ids = ${JSON.stringify(chunk.ids)};\n`);
|
54
|
-
source.add(
|
54
|
+
source.add("exports.modules = ");
|
55
55
|
source.add(modules);
|
56
56
|
source.add(";\n");
|
57
57
|
const runtimeModules =
|
@@ -85,7 +85,8 @@ class CommonJsChunkFormatPlugin {
|
|
85
85
|
const runtimeOutputName = compilation
|
86
86
|
.getPath(
|
87
87
|
getChunkFilenameTemplate(
|
88
|
-
|
88
|
+
/** @type {Chunk} */
|
89
|
+
(runtimeChunk),
|
89
90
|
compilation.outputOptions
|
90
91
|
),
|
91
92
|
{
|
@@ -51,10 +51,11 @@ class EnableChunkLoadingPlugin {
|
|
51
51
|
throw new Error(
|
52
52
|
`Chunk loading type "${type}" is not enabled. ` +
|
53
53
|
"EnableChunkLoadingPlugin need to be used to enable this type of chunk loading. " +
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
`This usually happens through the "output.enabledChunkLoadingTypes" option. ` +
|
55
|
+
`If you are using a function as entry which sets "chunkLoading", you need to add all potential chunk loading types to "output.enabledChunkLoadingTypes". ` +
|
56
|
+
`These types are enabled: ${Array.from(
|
57
|
+
getEnabledTypes(compiler)
|
58
|
+
).join(", ")}`
|
58
59
|
);
|
59
60
|
}
|
60
61
|
}
|
@@ -85,7 +86,7 @@ class EnableChunkLoadingPlugin {
|
|
85
86
|
break;
|
86
87
|
}
|
87
88
|
case "require": {
|
88
|
-
|
89
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
89
90
|
const CommonJsChunkLoadingPlugin = require("../node/CommonJsChunkLoadingPlugin");
|
90
91
|
new CommonJsChunkLoadingPlugin({
|
91
92
|
asyncChunkLoading: false
|
@@ -93,7 +94,7 @@ class EnableChunkLoadingPlugin {
|
|
93
94
|
break;
|
94
95
|
}
|
95
96
|
case "async-node": {
|
96
|
-
|
97
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
97
98
|
const CommonJsChunkLoadingPlugin = require("../node/CommonJsChunkLoadingPlugin");
|
98
99
|
new CommonJsChunkLoadingPlugin({
|
99
100
|
asyncChunkLoading: true
|