@validate.qa/runner 1.0.95 → 1.0.98
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/chunk-J4ST6MFT.mjs +10204 -0
- package/dist/cli.js +137209 -120816
- package/dist/cli.mjs +163190 -156978
- package/dist/tar-extract-child.d.mts +2 -0
- package/dist/tar-extract-child.d.ts +2 -0
- package/dist/tar-extract-child.js +10266 -0
- package/dist/tar-extract-child.mjs +95 -0
- package/package.json +8 -5
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__commonJS,
|
|
3
|
+
__require,
|
|
4
|
+
__toESM,
|
|
5
|
+
require_repo_acquire,
|
|
6
|
+
require_repo_snapshot_slim,
|
|
7
|
+
require_tar_isolated
|
|
8
|
+
} from "./chunk-J4ST6MFT.mjs";
|
|
9
|
+
|
|
10
|
+
// ../runner-core/dist/services/isolated-child-host.js
|
|
11
|
+
var require_isolated_child_host = __commonJS({
|
|
12
|
+
"../runner-core/dist/services/isolated-child-host.js"(exports) {
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.serveIsolatedChild = serveIsolatedChild;
|
|
16
|
+
function runFault(fault) {
|
|
17
|
+
switch (fault) {
|
|
18
|
+
case "throw-async":
|
|
19
|
+
setImmediate(() => {
|
|
20
|
+
throw new Error("injected isolated child crash");
|
|
21
|
+
});
|
|
22
|
+
return new Promise(() => {
|
|
23
|
+
});
|
|
24
|
+
case "abort":
|
|
25
|
+
process.abort();
|
|
26
|
+
break;
|
|
27
|
+
case "hang":
|
|
28
|
+
setInterval(() => {
|
|
29
|
+
}, 1e3);
|
|
30
|
+
return new Promise(() => {
|
|
31
|
+
});
|
|
32
|
+
case "oom": {
|
|
33
|
+
const hold = [];
|
|
34
|
+
for (; ; )
|
|
35
|
+
hold.push(new Array(1e6).fill(hold.length));
|
|
36
|
+
}
|
|
37
|
+
case "report-env":
|
|
38
|
+
return Promise.resolve({ ok: true, env: { ...process.env } });
|
|
39
|
+
default:
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
function serveIsolatedChild(markerEnv, handle) {
|
|
45
|
+
if (typeof process.send !== "function" || process.env[markerEnv] !== "1")
|
|
46
|
+
return;
|
|
47
|
+
const reply = (message) => {
|
|
48
|
+
process.send?.(message, () => process.exit(0));
|
|
49
|
+
};
|
|
50
|
+
process.on("disconnect", () => process.exit(1));
|
|
51
|
+
process.once("message", async (request) => {
|
|
52
|
+
try {
|
|
53
|
+
reply(await (runFault(request.fault) ?? handle(request.job)));
|
|
54
|
+
} catch (err) {
|
|
55
|
+
reply({ ok: false, message: err instanceof Error ? err.message : String(err) });
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// ../runner-core/dist/services/tar-extract-child.js
|
|
63
|
+
var require_tar_extract_child = __commonJS({
|
|
64
|
+
"../runner-core/dist/services/tar-extract-child.js"(exports) {
|
|
65
|
+
"use strict";
|
|
66
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
67
|
+
var promises_1 = __require("fs/promises");
|
|
68
|
+
var isolated_child_host_js_1 = require_isolated_child_host();
|
|
69
|
+
var repo_acquire_js_1 = require_repo_acquire();
|
|
70
|
+
var repo_snapshot_slim_js_1 = require_repo_snapshot_slim();
|
|
71
|
+
var tar_isolated_js_1 = require_tar_isolated();
|
|
72
|
+
async function handle(job) {
|
|
73
|
+
switch (job.op) {
|
|
74
|
+
case "ping":
|
|
75
|
+
return { ok: true };
|
|
76
|
+
case "extract":
|
|
77
|
+
await (0, repo_acquire_js_1.extractTarGzSafe)(job.tarPath, job.destDir, job.strip, job.limits);
|
|
78
|
+
return { ok: true };
|
|
79
|
+
case "extract-zip": {
|
|
80
|
+
const logs = [];
|
|
81
|
+
await (0, repo_acquire_js_1.extractZipSafely)(await (0, promises_1.readFile)(job.archivePath), job.destDir, (line) => logs.push(line));
|
|
82
|
+
return { ok: true, logs };
|
|
83
|
+
}
|
|
84
|
+
case "slim":
|
|
85
|
+
return { ok: true, slim: await (0, repo_snapshot_slim_js_1.slimRepoArchive)(job.inPath, job.outPath, job.limits) };
|
|
86
|
+
default:
|
|
87
|
+
return { ok: false, message: "Unknown isolated tar job" };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
(0, isolated_child_host_js_1.serveIsolatedChild)(tar_isolated_js_1.TAR_CHILD_MARKER_ENV, handle);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// src/tar-extract-child.ts
|
|
95
|
+
var import_tar_extract_child = __toESM(require_tar_extract_child());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@validate.qa/runner",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.98",
|
|
4
4
|
"description": "validate local test runner - execute Playwright tests on your machine, connected to validate.qa cloud.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"validate-runner": "dist/cli.js"
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "tsup",
|
|
10
10
|
"dev": "tsx src/cli.ts",
|
|
11
|
-
"test": "node --import tsx --test src/version-check.test.ts src/services/auth-state.test.ts",
|
|
11
|
+
"test": "node --import tsx --test src/retry-on-429.test.ts src/version-check.test.ts src/poll-interval.test.ts src/services/auth-state.test.ts src/run-no-longer-active.test.ts src/heartbeat-active-runs.test.ts src/result-post-structure-413.test.ts src/result-shed-routes-413.test.ts src/result-media-stale-epoch.test.ts",
|
|
12
12
|
"test:mobile": "node --import tsx --test --test-concurrency=2 src/runner.mobile-ai-env.test.ts src/mobile-device-queue.test.ts src/device-lease.test.ts src/runner-watchdog.test.ts src/result-payload-budget.test.ts src/result-media-upload.test.ts src/services/appium-*.test.ts src/services/*mobile*.test.ts src/services/mobile/*.test.ts",
|
|
13
|
+
"smoke:installed": "node scripts/installed-run-smoke.mjs",
|
|
13
14
|
"prepublishOnly": "npm run build"
|
|
14
15
|
},
|
|
15
16
|
"files": [
|
|
@@ -25,12 +26,14 @@
|
|
|
25
26
|
],
|
|
26
27
|
"dependencies": {
|
|
27
28
|
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
28
|
-
"@playwright/
|
|
29
|
-
"
|
|
29
|
+
"@playwright/test": "1.64.1",
|
|
30
|
+
"axe-core": "4.14.0",
|
|
30
31
|
"commander": "^13.1.0",
|
|
31
32
|
"dotenv": "^16.4.5",
|
|
32
33
|
"mockttp": "^4.4.2",
|
|
33
|
-
"openai": "^4.73.0"
|
|
34
|
+
"openai": "^4.73.0",
|
|
35
|
+
"playwright": "1.64.1",
|
|
36
|
+
"playwright-core": "1.64.1"
|
|
34
37
|
},
|
|
35
38
|
"devDependencies": {
|
|
36
39
|
"@types/node": "^24.10.1",
|