webpack 5.37.1 → 5.39.1
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.
Potentially problematic release.
This version of webpack might be problematic. Click here for more details.
- package/bin/webpack.js +20 -5
- package/lib/AsyncDependencyToInitialChunkError.js +0 -2
- package/lib/CaseSensitiveModulesWarning.js +0 -2
- package/lib/Chunk.js +6 -2
- package/lib/ChunkRenderError.js +0 -2
- package/lib/CodeGenerationError.js +0 -2
- package/lib/CommentCompilationWarning.js +0 -2
- package/lib/Compilation.js +43 -28
- package/lib/Compiler.js +3 -0
- package/lib/ConcurrentCompilationError.js +0 -2
- package/lib/ContextModule.js +2 -1
- package/lib/ContextModuleFactory.js +3 -1
- package/lib/DllReferencePlugin.js +0 -2
- package/lib/EntryPlugin.js +3 -3
- package/lib/ExportsInfo.js +20 -13
- package/lib/HarmonyLinkingError.js +0 -2
- package/lib/HookWebpackError.js +0 -1
- package/lib/HotModuleReplacementPlugin.js +7 -2
- package/lib/InvalidDependenciesModuleWarning.js +0 -2
- package/lib/ModuleBuildError.js +0 -2
- package/lib/ModuleDependencyError.js +0 -2
- package/lib/ModuleDependencyWarning.js +0 -2
- package/lib/ModuleError.js +0 -2
- package/lib/ModuleNotFoundError.js +0 -2
- package/lib/ModuleParseError.js +0 -2
- package/lib/ModuleRestoreError.js +0 -2
- package/lib/ModuleStoreError.js +0 -2
- package/lib/ModuleWarning.js +0 -2
- package/lib/NoModeWarning.js +0 -2
- package/lib/NormalModule.js +4 -3
- package/lib/NormalModuleFactory.js +2 -0
- package/lib/UnsupportedFeatureWarning.js +0 -2
- package/lib/WarnDeprecatedOptionPlugin.js +0 -2
- package/lib/Watching.js +21 -14
- package/lib/WebpackError.js +0 -2
- package/lib/asset/AssetGenerator.js +27 -6
- package/lib/asset/AssetModulesPlugin.js +1 -1
- package/lib/cache/PackFileCacheStrategy.js +3 -0
- package/lib/config/defaults.js +9 -1
- package/lib/config/normalization.js +1 -0
- package/lib/config/target.js +7 -2
- package/lib/dependencies/ContextElementDependency.js +6 -1
- package/lib/dependencies/CriticalDependencyWarning.js +0 -2
- package/lib/dependencies/ImportParserPlugin.js +1 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +0 -2
- package/lib/dependencies/SystemPlugin.js +0 -2
- package/lib/errors/BuildCycleError.js +0 -1
- package/lib/hmr/LazyCompilationPlugin.js +3 -1
- package/lib/node/NodeEnvironmentPlugin.js +1 -0
- package/lib/optimize/ConcatenatedModule.js +9 -0
- package/lib/performance/AssetsOverSizeLimitWarning.js +0 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +0 -2
- package/lib/performance/NoAsyncChunksWarning.js +0 -2
- package/lib/schemes/DataUriPlugin.js +21 -2
- package/lib/serialization/BinaryMiddleware.js +3 -0
- package/lib/serialization/SerializerMiddleware.js +19 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +5 -4
- package/lib/util/ArrayQueue.js +8 -0
- package/lib/util/AsyncQueue.js +9 -0
- package/lib/util/createHash.js +5 -4
- package/lib/util/serialization.js +108 -59
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +0 -2
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +0 -2
- package/package.json +4 -4
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +8 -0
- package/types.d.ts +24 -5
- package/lib/util/DataURI.js +0 -32
@@ -4,72 +4,121 @@
|
|
4
4
|
|
5
5
|
"use strict";
|
6
6
|
|
7
|
-
const
|
8
|
-
const FileMiddleware = require("../serialization/FileMiddleware");
|
9
|
-
const ObjectMiddleware = require("../serialization/ObjectMiddleware");
|
10
|
-
const Serializer = require("../serialization/Serializer");
|
11
|
-
const SerializerMiddleware = require("../serialization/SerializerMiddleware");
|
12
|
-
const SingleItemMiddleware = require("../serialization/SingleItemMiddleware");
|
13
|
-
const internalSerializables = require("./internalSerializables");
|
7
|
+
const memoize = require("./memoize");
|
14
8
|
|
9
|
+
/** @typedef {import("../serialization/BinaryMiddleware").MEASURE_END_OPERATION_TYPE} MEASURE_END_OPERATION */
|
10
|
+
/** @typedef {import("../serialization/BinaryMiddleware").MEASURE_START_OPERATION_TYPE} MEASURE_START_OPERATION */
|
15
11
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
16
12
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
13
|
+
/** @typedef {import("../serialization/Serializer")} Serializer */
|
17
14
|
|
18
|
-
const
|
15
|
+
const getBinaryMiddleware = memoize(() =>
|
16
|
+
require("../serialization/BinaryMiddleware")
|
17
|
+
);
|
18
|
+
const getObjectMiddleware = memoize(() =>
|
19
|
+
require("../serialization/ObjectMiddleware")
|
20
|
+
);
|
21
|
+
const getSingleItemMiddleware = memoize(() =>
|
22
|
+
require("../serialization/SingleItemMiddleware")
|
23
|
+
);
|
24
|
+
const getSerializer = memoize(() => require("../serialization/Serializer"));
|
25
|
+
const getSerializerMiddleware = memoize(() =>
|
26
|
+
require("../serialization/SerializerMiddleware")
|
27
|
+
);
|
19
28
|
|
20
|
-
const
|
29
|
+
const getBinaryMiddlewareInstance = memoize(
|
30
|
+
() => new (getBinaryMiddleware())()
|
31
|
+
);
|
21
32
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
context.write(SerializerMiddleware.createLazy(value, binaryMiddleware));
|
35
|
-
};
|
33
|
+
const registerSerializers = memoize(() => {
|
34
|
+
require("./registerExternalSerializer");
|
35
|
+
|
36
|
+
// Load internal paths with a relative require
|
37
|
+
// This allows bundling all internal serializers
|
38
|
+
const internalSerializables = require("./internalSerializables");
|
39
|
+
getObjectMiddleware().registerLoader(/^webpack\/lib\//, req => {
|
40
|
+
const loader = internalSerializables[req.slice("webpack/lib/".length)];
|
41
|
+
if (loader) {
|
42
|
+
loader();
|
43
|
+
} else {
|
44
|
+
console.warn(`${req} not found in internalSerializables`);
|
36
45
|
}
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
exports.createFileSerializer = fs => {
|
41
|
-
const fileMiddleware = new FileMiddleware(fs);
|
42
|
-
return new Serializer([
|
43
|
-
new SingleItemMiddleware(),
|
44
|
-
new ObjectMiddleware(context => {
|
45
|
-
if (context.write) {
|
46
|
-
context.writeLazy = value => {
|
47
|
-
context.write(
|
48
|
-
SerializerMiddleware.createLazy(value, binaryMiddleware)
|
49
|
-
);
|
50
|
-
};
|
51
|
-
context.writeSeparate = (value, options) => {
|
52
|
-
context.write(
|
53
|
-
SerializerMiddleware.createLazy(value, fileMiddleware, options)
|
54
|
-
);
|
55
|
-
};
|
56
|
-
}
|
57
|
-
}),
|
58
|
-
binaryMiddleware,
|
59
|
-
fileMiddleware
|
60
|
-
]);
|
61
|
-
};
|
46
|
+
return true;
|
47
|
+
});
|
48
|
+
});
|
62
49
|
|
63
|
-
|
50
|
+
/** @type {Serializer} */
|
51
|
+
let buffersSerializer;
|
64
52
|
|
65
|
-
//
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
53
|
+
// Expose serialization API
|
54
|
+
module.exports = {
|
55
|
+
get register() {
|
56
|
+
return getObjectMiddleware().register;
|
57
|
+
},
|
58
|
+
get registerLoader() {
|
59
|
+
return getObjectMiddleware().registerLoader;
|
60
|
+
},
|
61
|
+
get registerNotSerializable() {
|
62
|
+
return getObjectMiddleware().registerNotSerializable;
|
63
|
+
},
|
64
|
+
get NOT_SERIALIZABLE() {
|
65
|
+
return getObjectMiddleware().NOT_SERIALIZABLE;
|
66
|
+
},
|
67
|
+
/** @type {MEASURE_START_OPERATION} */
|
68
|
+
get MEASURE_START_OPERATION() {
|
69
|
+
return getBinaryMiddleware().MEASURE_START_OPERATION;
|
70
|
+
},
|
71
|
+
/** @type {MEASURE_END_OPERATION} */
|
72
|
+
get MEASURE_END_OPERATION() {
|
73
|
+
return getBinaryMiddleware().MEASURE_END_OPERATION;
|
74
|
+
},
|
75
|
+
get buffersSerializer() {
|
76
|
+
if (buffersSerializer !== undefined) return buffersSerializer;
|
77
|
+
registerSerializers();
|
78
|
+
const Serializer = getSerializer();
|
79
|
+
const binaryMiddleware = getBinaryMiddlewareInstance();
|
80
|
+
const SerializerMiddleware = getSerializerMiddleware();
|
81
|
+
const SingleItemMiddleware = getSingleItemMiddleware();
|
82
|
+
return (buffersSerializer = new Serializer([
|
83
|
+
new SingleItemMiddleware(),
|
84
|
+
new (getObjectMiddleware())(context => {
|
85
|
+
if (context.write) {
|
86
|
+
context.writeLazy = value => {
|
87
|
+
context.write(
|
88
|
+
SerializerMiddleware.createLazy(value, binaryMiddleware)
|
89
|
+
);
|
90
|
+
};
|
91
|
+
}
|
92
|
+
}),
|
93
|
+
binaryMiddleware
|
94
|
+
]));
|
95
|
+
},
|
96
|
+
createFileSerializer: fs => {
|
97
|
+
registerSerializers();
|
98
|
+
const Serializer = getSerializer();
|
99
|
+
const FileMiddleware = require("../serialization/FileMiddleware");
|
100
|
+
const fileMiddleware = new FileMiddleware(fs);
|
101
|
+
const binaryMiddleware = getBinaryMiddlewareInstance();
|
102
|
+
const SerializerMiddleware = getSerializerMiddleware();
|
103
|
+
const SingleItemMiddleware = getSingleItemMiddleware();
|
104
|
+
return new Serializer([
|
105
|
+
new SingleItemMiddleware(),
|
106
|
+
new (getObjectMiddleware())(context => {
|
107
|
+
if (context.write) {
|
108
|
+
context.writeLazy = value => {
|
109
|
+
context.write(
|
110
|
+
SerializerMiddleware.createLazy(value, binaryMiddleware)
|
111
|
+
);
|
112
|
+
};
|
113
|
+
context.writeSeparate = (value, options) => {
|
114
|
+
context.write(
|
115
|
+
SerializerMiddleware.createLazy(value, fileMiddleware, options)
|
116
|
+
);
|
117
|
+
};
|
118
|
+
}
|
119
|
+
}),
|
120
|
+
binaryMiddleware,
|
121
|
+
fileMiddleware
|
122
|
+
]);
|
73
123
|
}
|
74
|
-
|
75
|
-
});
|
124
|
+
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "webpack",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.39.1",
|
4
4
|
"author": "Tobias Koppers @sokra",
|
5
5
|
"description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
|
6
6
|
"license": "MIT",
|
@@ -15,7 +15,7 @@
|
|
15
15
|
"chrome-trace-event": "^1.0.2",
|
16
16
|
"enhanced-resolve": "^5.8.0",
|
17
17
|
"es-module-lexer": "^0.4.0",
|
18
|
-
"eslint-scope": "
|
18
|
+
"eslint-scope": "5.1.1",
|
19
19
|
"events": "^3.2.0",
|
20
20
|
"glob-to-regexp": "^0.4.1",
|
21
21
|
"graceful-fs": "^4.2.4",
|
@@ -26,8 +26,8 @@
|
|
26
26
|
"schema-utils": "^3.0.0",
|
27
27
|
"tapable": "^2.1.1",
|
28
28
|
"terser-webpack-plugin": "^5.1.1",
|
29
|
-
"watchpack": "^2.
|
30
|
-
"webpack-sources": "^2.
|
29
|
+
"watchpack": "^2.2.0",
|
30
|
+
"webpack-sources": "^2.3.0"
|
31
31
|
},
|
32
32
|
"peerDependenciesMeta": {
|
33
33
|
"webpack-cli": {
|