webpack 5.72.0 → 5.72.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/lib/Compiler.js +1 -1
- package/lib/DllReferencePlugin.js +1 -1
- package/lib/NormalModule.js +1 -1
- package/lib/RuntimePlugin.js +7 -0
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -2
- package/lib/dependencies/LoaderDependency.js +13 -0
- package/lib/dependencies/LoaderImportDependency.js +13 -0
- package/lib/json/JsonParser.js +1 -1
- package/lib/optimize/ModuleConcatenationPlugin.js +1 -1
- package/lib/runtime/NonceRuntimeModule.js +24 -0
- package/package.json +3 -3
package/lib/Compiler.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
"use strict";
|
7
7
|
|
8
|
-
const parseJson = require("json-parse-better-errors");
|
8
|
+
const parseJson = require("json-parse-even-better-errors");
|
9
9
|
const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
|
10
10
|
const ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
|
11
11
|
const WebpackError = require("./WebpackError");
|
package/lib/NormalModule.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
"use strict";
|
7
7
|
|
8
|
-
const parseJson = require("json-parse-better-errors");
|
8
|
+
const parseJson = require("json-parse-even-better-errors");
|
9
9
|
const { getContext, runLoaders } = require("loader-runner");
|
10
10
|
const querystring = require("querystring");
|
11
11
|
const { HookMap, SyncHook, AsyncSeriesBailHook } = require("tapable");
|
package/lib/RuntimePlugin.js
CHANGED
@@ -26,6 +26,7 @@ const GlobalRuntimeModule = require("./runtime/GlobalRuntimeModule");
|
|
26
26
|
const HasOwnPropertyRuntimeModule = require("./runtime/HasOwnPropertyRuntimeModule");
|
27
27
|
const LoadScriptRuntimeModule = require("./runtime/LoadScriptRuntimeModule");
|
28
28
|
const MakeNamespaceObjectRuntimeModule = require("./runtime/MakeNamespaceObjectRuntimeModule");
|
29
|
+
const NonceRuntimeModule = require("./runtime/NonceRuntimeModule");
|
29
30
|
const OnChunksLoadedRuntimeModule = require("./runtime/OnChunksLoadedRuntimeModule");
|
30
31
|
const PublicPathRuntimeModule = require("./runtime/PublicPathRuntimeModule");
|
31
32
|
const RelativeUrlRuntimeModule = require("./runtime/RelativeUrlRuntimeModule");
|
@@ -431,6 +432,12 @@ class RuntimePlugin {
|
|
431
432
|
return true;
|
432
433
|
}
|
433
434
|
});
|
435
|
+
compilation.hooks.runtimeRequirementInTree
|
436
|
+
.for(RuntimeGlobals.scriptNonce)
|
437
|
+
.tap("RuntimePlugin", chunk => {
|
438
|
+
compilation.addRuntimeModule(chunk, new NonceRuntimeModule());
|
439
|
+
return true;
|
440
|
+
});
|
434
441
|
// TODO webpack 6: remove CompatRuntimeModule
|
435
442
|
compilation.hooks.additionalTreeRuntimeRequirements.tap(
|
436
443
|
"RuntimePlugin",
|
@@ -61,14 +61,46 @@ HarmonyEvaluatedImportSpecifierDependency.Template = class HarmonyEvaluatedImpor
|
|
61
61
|
const dep = /** @type {HarmonyEvaluatedImportSpecifierDependency} */ (
|
62
62
|
dependency
|
63
63
|
);
|
64
|
-
const { moduleGraph, runtime } = templateContext;
|
64
|
+
const { module, moduleGraph, runtime } = templateContext;
|
65
65
|
const connection = moduleGraph.getConnection(dep);
|
66
66
|
// Skip rendering depending when dependency is conditional
|
67
67
|
if (connection && !connection.isTargetActive(runtime)) return;
|
68
68
|
|
69
69
|
const exportsInfo = moduleGraph.getExportsInfo(connection.module);
|
70
70
|
const ids = dep.getIds(moduleGraph);
|
71
|
-
|
71
|
+
|
72
|
+
let value;
|
73
|
+
|
74
|
+
const exportsType = connection.module.getExportsType(
|
75
|
+
moduleGraph,
|
76
|
+
module.buildMeta.strictHarmonyModule
|
77
|
+
);
|
78
|
+
switch (exportsType) {
|
79
|
+
case "default-with-named": {
|
80
|
+
if (ids[0] === "default") {
|
81
|
+
value =
|
82
|
+
ids.length === 1 || exportsInfo.isExportProvided(ids.slice(1));
|
83
|
+
} else {
|
84
|
+
value = exportsInfo.isExportProvided(ids);
|
85
|
+
}
|
86
|
+
break;
|
87
|
+
}
|
88
|
+
case "namespace": {
|
89
|
+
if (ids[0] === "__esModule") {
|
90
|
+
value = ids.length === 1 || undefined;
|
91
|
+
} else {
|
92
|
+
value = exportsInfo.isExportProvided(ids);
|
93
|
+
}
|
94
|
+
break;
|
95
|
+
}
|
96
|
+
case "dynamic": {
|
97
|
+
if (ids[0] !== "default") {
|
98
|
+
value = exportsInfo.isExportProvided(ids);
|
99
|
+
}
|
100
|
+
break;
|
101
|
+
}
|
102
|
+
// default-only could lead to runtime error, when default value is primitive
|
103
|
+
}
|
72
104
|
|
73
105
|
if (typeof value === "boolean") {
|
74
106
|
source.replace(dep.range[0], dep.range[1] - 1, `${value}`);
|
@@ -7,6 +7,11 @@
|
|
7
7
|
|
8
8
|
const ModuleDependency = require("./ModuleDependency");
|
9
9
|
|
10
|
+
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
11
|
+
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
|
12
|
+
/** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
|
13
|
+
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
14
|
+
|
10
15
|
class LoaderDependency extends ModuleDependency {
|
11
16
|
/**
|
12
17
|
* @param {string} request request string
|
@@ -22,6 +27,14 @@ class LoaderDependency extends ModuleDependency {
|
|
22
27
|
get category() {
|
23
28
|
return "loader";
|
24
29
|
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* @param {ModuleGraph} moduleGraph module graph
|
33
|
+
* @returns {null | false | function(ModuleGraphConnection, RuntimeSpec): ConnectionState} function to determine if the connection is active
|
34
|
+
*/
|
35
|
+
getCondition(moduleGraph) {
|
36
|
+
return false;
|
37
|
+
}
|
25
38
|
}
|
26
39
|
|
27
40
|
module.exports = LoaderDependency;
|
@@ -7,6 +7,11 @@
|
|
7
7
|
|
8
8
|
const ModuleDependency = require("./ModuleDependency");
|
9
9
|
|
10
|
+
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
11
|
+
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
|
12
|
+
/** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
|
13
|
+
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
14
|
+
|
10
15
|
class LoaderImportDependency extends ModuleDependency {
|
11
16
|
/**
|
12
17
|
* @param {string} request request string
|
@@ -23,6 +28,14 @@ class LoaderImportDependency extends ModuleDependency {
|
|
23
28
|
get category() {
|
24
29
|
return "loaderImport";
|
25
30
|
}
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @param {ModuleGraph} moduleGraph module graph
|
34
|
+
* @returns {null | false | function(ModuleGraphConnection, RuntimeSpec): ConnectionState} function to determine if the connection is active
|
35
|
+
*/
|
36
|
+
getCondition(moduleGraph) {
|
37
|
+
return false;
|
38
|
+
}
|
26
39
|
}
|
27
40
|
|
28
41
|
module.exports = LoaderImportDependency;
|
package/lib/json/JsonParser.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
"use strict";
|
7
7
|
|
8
|
-
const parseJson = require("json-parse-better-errors");
|
8
|
+
const parseJson = require("json-parse-even-better-errors");
|
9
9
|
const Parser = require("../Parser");
|
10
10
|
const JsonExportsDependency = require("../dependencies/JsonExportsDependency");
|
11
11
|
const JsonData = require("./JsonData");
|
@@ -606,7 +606,7 @@ class ModuleConcatenationPlugin {
|
|
606
606
|
incomingConnectionsFromNonModules.filter(connection => {
|
607
607
|
// We are not interested in inactive connections
|
608
608
|
// or connections without dependency
|
609
|
-
return connection.isActive(runtime)
|
609
|
+
return connection.isActive(runtime);
|
610
610
|
});
|
611
611
|
if (activeNonModulesConnections.length > 0) {
|
612
612
|
const problem = requestShortener => {
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Ivan Kopeykin @vankop
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const RuntimeGlobals = require("../RuntimeGlobals");
|
9
|
+
const RuntimeModule = require("../RuntimeModule");
|
10
|
+
|
11
|
+
class NonceRuntimeModule extends RuntimeModule {
|
12
|
+
constructor() {
|
13
|
+
super("nonce", RuntimeModule.STAGE_ATTACH);
|
14
|
+
}
|
15
|
+
|
16
|
+
/**
|
17
|
+
* @returns {string} runtime code
|
18
|
+
*/
|
19
|
+
generate() {
|
20
|
+
return `${RuntimeGlobals.scriptNonce} = undefined;`;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
module.exports = NonceRuntimeModule;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "webpack",
|
3
|
-
"version": "5.72.
|
3
|
+
"version": "5.72.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",
|
@@ -14,13 +14,13 @@
|
|
14
14
|
"acorn-import-assertions": "^1.7.6",
|
15
15
|
"browserslist": "^4.14.5",
|
16
16
|
"chrome-trace-event": "^1.0.2",
|
17
|
-
"enhanced-resolve": "^5.9.
|
17
|
+
"enhanced-resolve": "^5.9.3",
|
18
18
|
"es-module-lexer": "^0.9.0",
|
19
19
|
"eslint-scope": "5.1.1",
|
20
20
|
"events": "^3.2.0",
|
21
21
|
"glob-to-regexp": "^0.4.1",
|
22
22
|
"graceful-fs": "^4.2.9",
|
23
|
-
"json-parse-better-errors": "^
|
23
|
+
"json-parse-even-better-errors": "^2.3.1",
|
24
24
|
"loader-runner": "^4.2.0",
|
25
25
|
"mime-types": "^2.1.27",
|
26
26
|
"neo-async": "^2.6.2",
|