kizu 3.9.2-next.3 → 3.9.2-next.4
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/dist/workerPool.js +19 -6
- package/package.json +1 -1
package/dist/workerPool.js
CHANGED
|
@@ -18,6 +18,7 @@ function getTypeScriptRuntime() {
|
|
|
18
18
|
try {
|
|
19
19
|
// Fallback to ts-node if tsx is not available
|
|
20
20
|
require.resolve('ts-node/register');
|
|
21
|
+
console.warn('Warning: tsx not found, using ts-node as a fallback. This is slower. We recommend installing tsx (npm install --save-dev tsx) for much faster execution.');
|
|
21
22
|
return ['-r', 'ts-node/register'];
|
|
22
23
|
}
|
|
23
24
|
catch (error) {
|
|
@@ -26,6 +27,18 @@ function getTypeScriptRuntime() {
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
30
|
+
function createWorker(file) {
|
|
31
|
+
const isTypeScript = (0, path_1.extname)(file) === '.ts';
|
|
32
|
+
let execArgv = [];
|
|
33
|
+
if (isTypeScript) {
|
|
34
|
+
execArgv = getTypeScriptRuntime();
|
|
35
|
+
}
|
|
36
|
+
const [err, worker] = (0, toResult_1.toResult)(() => (0, child_process_1.fork)(file, [], { execArgv }));
|
|
37
|
+
if (err) {
|
|
38
|
+
throw new Error(`failed to create worker for ${file}`);
|
|
39
|
+
}
|
|
40
|
+
return worker;
|
|
41
|
+
}
|
|
29
42
|
function workerPool(specFiles, addTestResults) {
|
|
30
43
|
return new Promise((resolve, reject) => {
|
|
31
44
|
function next() {
|
|
@@ -36,12 +49,12 @@ function workerPool(specFiles, addTestResults) {
|
|
|
36
49
|
if (numWorkers >= numCores)
|
|
37
50
|
return;
|
|
38
51
|
const file = specFiles[currentSpecFileIndex];
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return reject(
|
|
52
|
+
let worker;
|
|
53
|
+
try {
|
|
54
|
+
worker = createWorker(file);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return reject(error);
|
|
45
58
|
}
|
|
46
59
|
numWorkers++;
|
|
47
60
|
currentSpecFileIndex++;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kizu",
|
|
3
|
-
"version": "3.9.2-next.
|
|
3
|
+
"version": "3.9.2-next.4",
|
|
4
4
|
"description": "An easy-to-use, fast, and defensive Typescript/Javascript test runner designed to help you to write simple, readable, and maintainable tests.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|