webpack 5.90.0 → 5.90.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/APIPlugin.js +16 -12
- package/lib/Compilation.js +1 -1
- package/lib/ConditionalInitFragment.js +3 -3
- package/lib/DefinePlugin.js +47 -26
- package/lib/EvalSourceMapDevToolPlugin.js +1 -1
- package/lib/InitFragment.js +7 -7
- package/lib/NodeStuffPlugin.js +3 -3
- package/lib/Stats.js +4 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +2 -2
- package/lib/buildChunkGraph.js +53 -0
- package/lib/config/browserslistTargetHandler.js +18 -16
- package/lib/config/defaults.js +1 -0
- package/lib/dependencies/AMDDefineDependency.js +4 -4
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +126 -34
- package/lib/dependencies/AMDPlugin.js +11 -4
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +159 -43
- package/lib/dependencies/AMDRequireDependency.js +2 -2
- package/lib/dependencies/AMDRequireItemDependency.js +1 -1
- package/lib/dependencies/ExternalModuleDependency.js +9 -0
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -3
- package/lib/dependencies/HarmonyExportInitFragment.js +2 -2
- package/lib/dependencies/LocalModuleDependency.js +1 -1
- package/lib/dependencies/WorkerPlugin.js +3 -2
- package/lib/dependencies/getFunctionExpression.js +2 -2
- package/lib/javascript/JavascriptParser.js +212 -74
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/util/chainedImports.js +7 -6
- package/lib/util/comparators.js +59 -23
- package/lib/util/numberHash.js +64 -52
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +53 -28
- package/package.json +3 -58
- package/types.d.ts +101 -74
@@ -88,7 +88,11 @@ const mangleExportsInfo = (deterministic, exportsInfo, isNamespace) => {
|
|
88
88
|
used === UsageState.OnlyPropertiesUsed ||
|
89
89
|
used === UsageState.Unused
|
90
90
|
) {
|
91
|
-
mangleExportsInfo(
|
91
|
+
mangleExportsInfo(
|
92
|
+
deterministic,
|
93
|
+
/** @type {ExportsInfo} */ (exportInfo.exportsInfo),
|
94
|
+
false
|
95
|
+
);
|
92
96
|
}
|
93
97
|
}
|
94
98
|
}
|
@@ -6,6 +6,7 @@
|
|
6
6
|
"use strict";
|
7
7
|
|
8
8
|
/** @typedef {import("../Dependency")} Dependency */
|
9
|
+
/** @typedef {import("../Module")} Module */
|
9
10
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
10
11
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
11
12
|
|
@@ -17,7 +18,7 @@
|
|
17
18
|
* because minifiers treat quoted accessors differently. e.g. import { a } from "./module"; a["b"] vs a.b
|
18
19
|
* @param {string[]} untrimmedIds chained ids
|
19
20
|
* @param {Range} untrimmedRange range encompassing allIds
|
20
|
-
* @param {Range[]} ranges cumulative range of ids for each of allIds
|
21
|
+
* @param {Range[] | undefined} ranges cumulative range of ids for each of allIds
|
21
22
|
* @param {ModuleGraph} moduleGraph moduleGraph
|
22
23
|
* @param {Dependency} dependency dependency
|
23
24
|
* @returns {{trimmedIds: string[], trimmedRange: Range}} computed trimmed ids and cumulative range of those ids
|
@@ -44,7 +45,7 @@ exports.getTrimmedIdsAndRange = (
|
|
44
45
|
ranges === undefined
|
45
46
|
? -1 /* trigger failure case below */
|
46
47
|
: ranges.length + (trimmedIds.length - untrimmedIds.length);
|
47
|
-
if (idx < 0 || idx >= ranges.length) {
|
48
|
+
if (idx < 0 || idx >= /** @type {Range[]} */ (ranges).length) {
|
48
49
|
// cspell:ignore minifiers
|
49
50
|
// Should not happen but we can't throw an error here because of backward compatibility with
|
50
51
|
// external plugins in wp5. Instead, we just disable trimming for now. This may break some minifiers.
|
@@ -52,7 +53,7 @@ exports.getTrimmedIdsAndRange = (
|
|
52
53
|
// TODO webpack 6 remove the "trimmedIds = ids" above and uncomment the following line instead.
|
53
54
|
// throw new Error("Missing range starts data for id replacement trimming.");
|
54
55
|
} else {
|
55
|
-
trimmedRange = ranges[idx];
|
56
|
+
trimmedRange = /** @type {Range[]} */ (ranges)[idx];
|
56
57
|
}
|
57
58
|
}
|
58
59
|
|
@@ -68,11 +69,11 @@ exports.getTrimmedIdsAndRange = (
|
|
68
69
|
* @returns {string[]} trimmed ids
|
69
70
|
*/
|
70
71
|
function trimIdsToThoseImported(ids, moduleGraph, dependency) {
|
72
|
+
/** @type {string[]} */
|
71
73
|
let trimmedIds = [];
|
72
|
-
|
73
|
-
moduleGraph.getModule(dependency)
|
74
|
+
let currentExportsInfo = moduleGraph.getExportsInfo(
|
75
|
+
/** @type {Module} */ (moduleGraph.getModule(dependency))
|
74
76
|
);
|
75
|
-
let currentExportsInfo = /** @type {ExportsInfo=} */ exportsInfo;
|
76
77
|
for (let i = 0; i < ids.length; i++) {
|
77
78
|
if (i === 0 && ids[i] === "default") {
|
78
79
|
continue; // ExportInfo for the next level under default is still at the root ExportsInfo, so don't advance currentExportsInfo
|
package/lib/util/comparators.js
CHANGED
@@ -92,32 +92,68 @@ exports.compareNumbers = compareNumbers;
|
|
92
92
|
* @returns {-1|0|1} compare result
|
93
93
|
*/
|
94
94
|
const compareStringsNumeric = (a, b) => {
|
95
|
-
const
|
96
|
-
const
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
95
|
+
const aLength = a.length;
|
96
|
+
const bLength = b.length;
|
97
|
+
|
98
|
+
let aChar = 0;
|
99
|
+
let bChar = 0;
|
100
|
+
|
101
|
+
let aIsDigit = false;
|
102
|
+
let bIsDigit = false;
|
103
|
+
let i = 0;
|
104
|
+
let j = 0;
|
105
|
+
while (i < aLength && j < bLength) {
|
106
|
+
aChar = a.charCodeAt(i);
|
107
|
+
bChar = b.charCodeAt(j);
|
108
|
+
|
109
|
+
aIsDigit = aChar >= 48 && aChar <= 57;
|
110
|
+
bIsDigit = bChar >= 48 && bChar <= 57;
|
111
|
+
|
112
|
+
if (!aIsDigit && !bIsDigit) {
|
113
|
+
if (aChar < bChar) return -1;
|
114
|
+
if (aChar > bChar) return 1;
|
115
|
+
i++;
|
116
|
+
j++;
|
117
|
+
} else if (aIsDigit && !bIsDigit) {
|
118
|
+
// This segment of a is shorter than in b
|
119
|
+
return 1;
|
120
|
+
} else if (!aIsDigit && bIsDigit) {
|
121
|
+
// This segment of b is shorter than in a
|
122
|
+
return -1;
|
112
123
|
} else {
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
124
|
+
let aNumber = aChar - 48;
|
125
|
+
let bNumber = bChar - 48;
|
126
|
+
|
127
|
+
while (++i < aLength) {
|
128
|
+
aChar = a.charCodeAt(i);
|
129
|
+
if (aChar < 48 || aChar > 57) break;
|
130
|
+
aNumber = aNumber * 10 + aChar - 48;
|
131
|
+
}
|
132
|
+
|
133
|
+
while (++j < bLength) {
|
134
|
+
bChar = b.charCodeAt(j);
|
135
|
+
if (bChar < 48 || bChar > 57) break;
|
136
|
+
bNumber = bNumber * 10 + bChar - 48;
|
137
|
+
}
|
138
|
+
|
139
|
+
if (aNumber < bNumber) return -1;
|
140
|
+
if (aNumber > bNumber) return 1;
|
117
141
|
}
|
118
142
|
}
|
119
|
-
|
120
|
-
if (
|
143
|
+
|
144
|
+
if (j < bLength) {
|
145
|
+
// a is shorter than b
|
146
|
+
bChar = b.charCodeAt(j);
|
147
|
+
bIsDigit = bChar >= 48 && bChar <= 57;
|
148
|
+
return bIsDigit ? -1 : 1;
|
149
|
+
}
|
150
|
+
if (i < aLength) {
|
151
|
+
// b is shorter than a
|
152
|
+
aChar = a.charCodeAt(i);
|
153
|
+
aIsDigit = aChar >= 48 && aChar <= 57;
|
154
|
+
return aIsDigit ? 1 : -1;
|
155
|
+
}
|
156
|
+
|
121
157
|
return 0;
|
122
158
|
};
|
123
159
|
exports.compareStringsNumeric = compareStringsNumeric;
|
package/lib/util/numberHash.js
CHANGED
@@ -6,36 +6,80 @@
|
|
6
6
|
"use strict";
|
7
7
|
|
8
8
|
/**
|
9
|
-
*
|
9
|
+
* Threshold for switching from 32-bit to 64-bit hashing. This is selected to ensure that the bias towards lower modulo results when using 32-bit hashing is <0.5%.
|
10
10
|
* @type {number}
|
11
11
|
*/
|
12
|
-
const
|
12
|
+
const FNV_64_THRESHOLD = 1 << 24;
|
13
13
|
|
14
14
|
/**
|
15
|
-
* The
|
16
|
-
* in the algorithm to ensure that intermediate hash values do not exceed the
|
17
|
-
* 32-bit integer limit.
|
15
|
+
* The FNV-1a offset basis for 32-bit hash values.
|
18
16
|
* @type {number}
|
19
17
|
*/
|
20
|
-
const
|
21
|
-
|
18
|
+
const FNV_OFFSET_32 = 2166136261;
|
22
19
|
/**
|
23
|
-
* The
|
20
|
+
* The FNV-1a prime for 32-bit hash values.
|
24
21
|
* @type {number}
|
25
22
|
*/
|
26
|
-
const
|
23
|
+
const FNV_PRIME_32 = 16777619;
|
24
|
+
/**
|
25
|
+
* The mask for a positive 32-bit signed integer.
|
26
|
+
* @type {number}
|
27
|
+
*/
|
28
|
+
const MASK_31 = 0x7fffffff;
|
29
|
+
|
30
|
+
/**
|
31
|
+
* The FNV-1a offset basis for 64-bit hash values.
|
32
|
+
* @type {bigint}
|
33
|
+
*/
|
34
|
+
const FNV_OFFSET_64 = BigInt("0xCBF29CE484222325");
|
35
|
+
/**
|
36
|
+
* The FNV-1a prime for 64-bit hash values.
|
37
|
+
* @type {bigint}
|
38
|
+
*/
|
39
|
+
const FNV_PRIME_64 = BigInt("0x100000001B3");
|
27
40
|
|
28
41
|
/**
|
29
|
-
*
|
30
|
-
*
|
42
|
+
* Computes a 32-bit FNV-1a hash value for the given string.
|
43
|
+
* See https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function
|
44
|
+
* @param {string} str The input string to hash
|
45
|
+
* @returns {number} - The computed hash value.
|
31
46
|
*/
|
32
|
-
|
47
|
+
function fnv1a32(str) {
|
48
|
+
let hash = FNV_OFFSET_32;
|
49
|
+
for (let i = 0, len = str.length; i < len; i++) {
|
50
|
+
let code = str.charCodeAt(i);
|
51
|
+
if (code > 0xff) {
|
52
|
+
hash ^= code & 0xff;
|
53
|
+
hash = (hash * FNV_PRIME_32) | 0;
|
54
|
+
code >>= 8;
|
55
|
+
}
|
56
|
+
hash ^= code;
|
57
|
+
hash = (hash * FNV_PRIME_32) | 0;
|
58
|
+
}
|
59
|
+
// Force the result to be positive
|
60
|
+
return hash & MASK_31;
|
61
|
+
}
|
33
62
|
|
34
63
|
/**
|
35
|
-
*
|
36
|
-
*
|
64
|
+
* Computes a 64-bit FNV-1a hash value for the given string.
|
65
|
+
* See https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function
|
66
|
+
* @param {string} str The input string to hash
|
67
|
+
* @returns {bigint} - The computed hash value.
|
37
68
|
*/
|
38
|
-
|
69
|
+
function fnv1a64(str) {
|
70
|
+
let hash = FNV_OFFSET_64;
|
71
|
+
for (let i = 0, len = str.length; i < len; i++) {
|
72
|
+
let code = str.charCodeAt(i);
|
73
|
+
if (code > 0xff) {
|
74
|
+
hash ^= BigInt(code & 0xff);
|
75
|
+
hash = BigInt.asUintN(64, hash * FNV_PRIME_64);
|
76
|
+
code >>= 8;
|
77
|
+
}
|
78
|
+
hash ^= BigInt(code);
|
79
|
+
hash = BigInt.asUintN(64, hash * FNV_PRIME_64);
|
80
|
+
}
|
81
|
+
return hash;
|
82
|
+
}
|
39
83
|
|
40
84
|
/**
|
41
85
|
* Computes a hash value for the given string and range. This hashing algorithm is a modified
|
@@ -53,47 +97,15 @@ const primes = [3, 7, 17, 19];
|
|
53
97
|
*
|
54
98
|
* ```js
|
55
99
|
* const numberHash = require("webpack/lib/util/numberHash");
|
56
|
-
* numberHash("hello", 1000); //
|
57
|
-
* numberHash("hello world"); //
|
100
|
+
* numberHash("hello", 1000); // 73
|
101
|
+
* numberHash("hello world"); // 72
|
58
102
|
* ```
|
59
103
|
*
|
60
104
|
*/
|
61
105
|
module.exports = (str, range) => {
|
62
|
-
|
63
|
-
|
64
|
-
* to store intermediate hash values.
|
65
|
-
*/
|
66
|
-
arr.fill(0);
|
67
|
-
// For each character in the string
|
68
|
-
for (let i = 0; i < str.length; i++) {
|
69
|
-
// Get the character code.
|
70
|
-
const c = str.charCodeAt(i);
|
71
|
-
|
72
|
-
// For each 32-bit integer used to store the hash value
|
73
|
-
// add the character code to the current hash value and multiply by the prime number and
|
74
|
-
// add the previous 32-bit integer.
|
75
|
-
arr[0] = (arr[0] + c * primes[0] + arr[3]) & SAFE_PART;
|
76
|
-
arr[1] = (arr[1] + c * primes[1] + arr[0]) & SAFE_PART;
|
77
|
-
arr[2] = (arr[2] + c * primes[2] + arr[1]) & SAFE_PART;
|
78
|
-
arr[3] = (arr[3] + c * primes[3] + arr[2]) & SAFE_PART;
|
79
|
-
|
80
|
-
// For each 32-bit integer used to store the hash value
|
81
|
-
// XOR the current hash value with the value of the next 32-bit integer.
|
82
|
-
arr[0] = arr[0] ^ (arr[arr[0] % COUNT] >> 1);
|
83
|
-
arr[1] = arr[1] ^ (arr[arr[1] % COUNT] >> 1);
|
84
|
-
arr[2] = arr[2] ^ (arr[arr[2] % COUNT] >> 1);
|
85
|
-
arr[3] = arr[3] ^ (arr[arr[3] % COUNT] >> 1);
|
86
|
-
}
|
87
|
-
|
88
|
-
if (range <= SAFE_PART) {
|
89
|
-
return (arr[0] + arr[1] + arr[2] + arr[3]) % range;
|
106
|
+
if (range < FNV_64_THRESHOLD) {
|
107
|
+
return fnv1a32(str) % range;
|
90
108
|
} else {
|
91
|
-
|
92
|
-
const rangeExt = Math.floor(range / SAFE_LIMIT);
|
93
|
-
|
94
|
-
const sum1 = (arr[0] + arr[2]) & SAFE_PART;
|
95
|
-
const sum2 = (arr[0] + arr[2]) % rangeExt;
|
96
|
-
|
97
|
-
return (sum2 * SAFE_LIMIT + sum1) % range;
|
109
|
+
return Number(fnv1a64(str) % BigInt(range));
|
98
110
|
}
|
99
111
|
};
|
@@ -52,38 +52,63 @@ class AsyncWasmLoadingRuntimeModule extends RuntimeModule {
|
|
52
52
|
runtime: chunk.runtime
|
53
53
|
}
|
54
54
|
);
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
55
|
+
|
56
|
+
const loader = this.generateLoadBinaryCode(wasmModuleSrcPath);
|
57
|
+
const fallback = [
|
58
|
+
`.then(${runtimeTemplate.returningFunction("x.arrayBuffer()", "x")})`,
|
59
|
+
`.then(${runtimeTemplate.returningFunction(
|
60
|
+
"WebAssembly.instantiate(bytes, importsObj)",
|
61
|
+
"bytes"
|
62
|
+
)})`,
|
63
|
+
`.then(${runtimeTemplate.returningFunction(
|
64
|
+
"Object.assign(exports, res.instance.exports)",
|
65
|
+
"res"
|
66
|
+
)})`
|
67
|
+
];
|
68
|
+
const getStreaming = () => {
|
69
|
+
const concat = (/** @type {string[]} */ ...text) => text.join("");
|
70
|
+
return [
|
71
|
+
`var req = ${loader};`,
|
72
|
+
`var fallback = ${runtimeTemplate.returningFunction(Template.asString(["req", Template.indent(fallback)]))};`,
|
73
|
+
concat(
|
74
|
+
"return req.then(",
|
75
|
+
runtimeTemplate.basicFunction("res", [
|
76
|
+
`if (typeof WebAssembly.instantiateStreaming === "function") {`,
|
77
|
+
Template.indent([
|
78
|
+
"return WebAssembly.instantiateStreaming(res, importsObj)",
|
62
79
|
Template.indent([
|
63
|
-
"
|
80
|
+
".then(",
|
64
81
|
Template.indent([
|
65
|
-
|
82
|
+
runtimeTemplate.returningFunction(
|
66
83
|
"Object.assign(exports, res.instance.exports)",
|
67
84
|
"res"
|
68
|
-
)
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
"
|
83
|
-
"
|
84
|
-
)
|
85
|
-
|
86
|
-
|
85
|
+
) + ",",
|
86
|
+
runtimeTemplate.basicFunction("e", [
|
87
|
+
`if(res.headers.get("Content-Type") !== "application/wasm") {`,
|
88
|
+
Template.indent([
|
89
|
+
'console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n", e);',
|
90
|
+
"return fallback();"
|
91
|
+
]),
|
92
|
+
"}",
|
93
|
+
"throw e;"
|
94
|
+
])
|
95
|
+
]),
|
96
|
+
");"
|
97
|
+
])
|
98
|
+
]),
|
99
|
+
"}",
|
100
|
+
"return fallback();"
|
101
|
+
]),
|
102
|
+
");"
|
103
|
+
)
|
104
|
+
];
|
105
|
+
};
|
106
|
+
|
107
|
+
return `${fn} = ${runtimeTemplate.basicFunction(
|
108
|
+
"exports, wasmModuleId, wasmModuleHash, importsObj",
|
109
|
+
this.supportsStreaming
|
110
|
+
? getStreaming()
|
111
|
+
: [`return ${loader}`, Template.indent(fallback) + ";"]
|
87
112
|
)};`;
|
88
113
|
}
|
89
114
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "webpack",
|
3
|
-
"version": "5.90.
|
3
|
+
"version": "5.90.1",
|
4
4
|
"author": "Tobias Koppers @sokra",
|
5
5
|
"description": "Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
|
6
6
|
"license": "MIT",
|
@@ -84,6 +84,7 @@
|
|
84
84
|
"mini-svg-data-uri": "^1.2.3",
|
85
85
|
"nyc": "^15.1.0",
|
86
86
|
"open-cli": "^7.2.0",
|
87
|
+
"prettier-2": "npm:prettier@^2",
|
87
88
|
"prettier": "^3.2.1",
|
88
89
|
"pretty-format": "^29.5.0",
|
89
90
|
"pug": "^3.0.0",
|
@@ -158,7 +159,7 @@
|
|
158
159
|
"special-lint-fix": "node node_modules/tooling/inherit-types --write && node node_modules/tooling/format-schemas --write && node tooling/generate-runtime-code.js --write && node tooling/generate-wasm-code.js --write && node node_modules/tooling/format-file-header --write && node node_modules/tooling/compile-to-definitions --write && node node_modules/tooling/precompile-schemas --write && node node_modules/tooling/generate-types --no-template-literals --write",
|
159
160
|
"fix": "yarn code-lint --fix && yarn special-lint-fix && yarn pretty-lint-fix",
|
160
161
|
"prepare": "husky install",
|
161
|
-
"pretty-lint-base": "prettier --cache .",
|
162
|
+
"pretty-lint-base": "node node_modules/prettier/bin/prettier.cjs --cache .",
|
162
163
|
"pretty-lint-fix": "yarn pretty-lint-base --loglevel warn --write",
|
163
164
|
"pretty-lint": "yarn pretty-lint-base --check",
|
164
165
|
"yarn-lint": "yarn-deduplicate --fail --list -s highest yarn.lock",
|
@@ -186,61 +187,5 @@
|
|
186
187
|
"*.md|{.github,benchmark,bin,examples,hot,lib,schemas,setup,tooling}/**/*.{md,yml,yaml,js,json}": [
|
187
188
|
"cspell"
|
188
189
|
]
|
189
|
-
},
|
190
|
-
"jest": {
|
191
|
-
"forceExit": true,
|
192
|
-
"setupFilesAfterEnv": [
|
193
|
-
"<rootDir>/test/setupTestFramework.js"
|
194
|
-
],
|
195
|
-
"testMatch": [
|
196
|
-
"<rootDir>/test/*.test.js",
|
197
|
-
"<rootDir>/test/*.basictest.js",
|
198
|
-
"<rootDir>/test/*.longtest.js",
|
199
|
-
"<rootDir>/test/*.unittest.js"
|
200
|
-
],
|
201
|
-
"watchPathIgnorePatterns": [
|
202
|
-
"<rootDir>/.git",
|
203
|
-
"<rootDir>/node_modules",
|
204
|
-
"<rootDir>/test/js",
|
205
|
-
"<rootDir>/test/browsertest/js",
|
206
|
-
"<rootDir>/test/fixtures/temp-cache-fixture",
|
207
|
-
"<rootDir>/test/fixtures/temp-",
|
208
|
-
"<rootDir>/benchmark",
|
209
|
-
"<rootDir>/assembly",
|
210
|
-
"<rootDir>/tooling",
|
211
|
-
"<rootDir>/examples/*/dist",
|
212
|
-
"<rootDir>/coverage",
|
213
|
-
"<rootDir>/.eslintcache"
|
214
|
-
],
|
215
|
-
"modulePathIgnorePatterns": [
|
216
|
-
"<rootDir>/.git",
|
217
|
-
"<rootDir>/node_modules/webpack/node_modules",
|
218
|
-
"<rootDir>/test/js",
|
219
|
-
"<rootDir>/test/browsertest/js",
|
220
|
-
"<rootDir>/test/fixtures/temp-cache-fixture",
|
221
|
-
"<rootDir>/test/fixtures/temp-",
|
222
|
-
"<rootDir>/benchmark",
|
223
|
-
"<rootDir>/examples/*/dist",
|
224
|
-
"<rootDir>/coverage",
|
225
|
-
"<rootDir>/.eslintcache"
|
226
|
-
],
|
227
|
-
"transformIgnorePatterns": [
|
228
|
-
"<rootDir>"
|
229
|
-
],
|
230
|
-
"coverageDirectory": "<rootDir>/coverage",
|
231
|
-
"coveragePathIgnorePatterns": [
|
232
|
-
"\\.runtime\\.js$",
|
233
|
-
"<rootDir>/test",
|
234
|
-
"<rootDir>/schemas",
|
235
|
-
"<rootDir>/node_modules"
|
236
|
-
],
|
237
|
-
"testEnvironment": "./test/patch-node-env.js",
|
238
|
-
"coverageReporters": [
|
239
|
-
"json"
|
240
|
-
],
|
241
|
-
"snapshotFormat": {
|
242
|
-
"escapeString": true,
|
243
|
-
"printBasicPrototype": true
|
244
|
-
}
|
245
190
|
}
|
246
191
|
}
|