doc-detective 4.26.8 → 4.27.0

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.
Files changed (71) hide show
  1. package/dist/common/src/schemas/schemas.json +522 -64
  2. package/dist/common/src/types/generated/config_v3.d.ts +10 -2
  3. package/dist/common/src/types/generated/config_v3.d.ts.map +1 -1
  4. package/dist/common/src/types/generated/resolvedTests_v3.d.ts +10 -2
  5. package/dist/common/src/types/generated/resolvedTests_v3.d.ts.map +1 -1
  6. package/dist/common/src/types/generated/runShell_v3.d.ts +6 -2
  7. package/dist/common/src/types/generated/runShell_v3.d.ts.map +1 -1
  8. package/dist/common/src/types/generated/step_v3.d.ts +6 -2
  9. package/dist/common/src/types/generated/step_v3.d.ts.map +1 -1
  10. package/dist/common/src/types/generated/test_v3.d.ts +12 -4
  11. package/dist/common/src/types/generated/test_v3.d.ts.map +1 -1
  12. package/dist/core/index.d.ts.map +1 -1
  13. package/dist/core/index.js +20 -1
  14. package/dist/core/index.js.map +1 -1
  15. package/dist/core/tests/processSurface.d.ts +1 -0
  16. package/dist/core/tests/processSurface.d.ts.map +1 -1
  17. package/dist/core/tests/processSurface.js +2 -0
  18. package/dist/core/tests/processSurface.js.map +1 -1
  19. package/dist/core/tests/runCode.d.ts.map +1 -1
  20. package/dist/core/tests/runCode.js +61 -14
  21. package/dist/core/tests/runCode.js.map +1 -1
  22. package/dist/core/tests/runShell.d.ts.map +1 -1
  23. package/dist/core/tests/runShell.js +20 -2
  24. package/dist/core/tests/runShell.js.map +1 -1
  25. package/dist/core/tests/startSurface.d.ts.map +1 -1
  26. package/dist/core/tests/startSurface.js +29 -14
  27. package/dist/core/tests/startSurface.js.map +1 -1
  28. package/dist/core/utils.d.ts +20 -1
  29. package/dist/core/utils.d.ts.map +1 -1
  30. package/dist/core/utils.js +169 -18
  31. package/dist/core/utils.js.map +1 -1
  32. package/dist/hints/context.d.ts +1 -0
  33. package/dist/hints/context.d.ts.map +1 -1
  34. package/dist/hints/context.js +11 -0
  35. package/dist/hints/context.js.map +1 -1
  36. package/dist/hints/hints.d.ts.map +1 -1
  37. package/dist/hints/hints.js +22 -0
  38. package/dist/hints/hints.js.map +1 -1
  39. package/dist/hints/types.d.ts +7 -0
  40. package/dist/hints/types.d.ts.map +1 -1
  41. package/dist/index.cjs +1570 -616
  42. package/dist/runtime/androidInstaller.d.ts.map +1 -1
  43. package/dist/runtime/androidInstaller.js +1 -62
  44. package/dist/runtime/androidInstaller.js.map +1 -1
  45. package/dist/runtime/archiveUtils.d.ts +3 -0
  46. package/dist/runtime/archiveUtils.d.ts.map +1 -0
  47. package/dist/runtime/archiveUtils.js +100 -0
  48. package/dist/runtime/archiveUtils.js.map +1 -0
  49. package/dist/runtime/cacheDir.d.ts +5 -0
  50. package/dist/runtime/cacheDir.d.ts.map +1 -1
  51. package/dist/runtime/cacheDir.js +3 -0
  52. package/dist/runtime/cacheDir.js.map +1 -1
  53. package/dist/runtime/inferRuntimeNeeds.d.ts +5 -1
  54. package/dist/runtime/inferRuntimeNeeds.d.ts.map +1 -1
  55. package/dist/runtime/inferRuntimeNeeds.js +38 -2
  56. package/dist/runtime/inferRuntimeNeeds.js.map +1 -1
  57. package/dist/runtime/installCommand.d.ts.map +1 -1
  58. package/dist/runtime/installCommand.js +32 -3
  59. package/dist/runtime/installCommand.js.map +1 -1
  60. package/dist/runtime/installer.d.ts +2 -2
  61. package/dist/runtime/installer.d.ts.map +1 -1
  62. package/dist/runtime/installer.js +42 -5
  63. package/dist/runtime/installer.js.map +1 -1
  64. package/dist/runtime/windowsBash.d.ts +41 -0
  65. package/dist/runtime/windowsBash.d.ts.map +1 -0
  66. package/dist/runtime/windowsBash.js +386 -0
  67. package/dist/runtime/windowsBash.js.map +1 -0
  68. package/dist/utils.d.ts.map +1 -1
  69. package/dist/utils.js +17 -0
  70. package/dist/utils.js.map +1 -1
  71. package/package.json +1 -1
@@ -0,0 +1,386 @@
1
+ // Git Bash on Windows as a lazily-installed runtime asset.
2
+ //
3
+ // runShell's `shell` field defaults to `bash` on every platform. POSIX
4
+ // systems resolve `bash` from PATH; Windows has no system bash (the
5
+ // `System32\bash.exe` on PATH is the WSL launcher, which runs commands in a
6
+ // Linux VM — never what a doc test means), so this module resolves a real
7
+ // Git Bash. Resolution order:
8
+ //
9
+ // 1. The cache copy: `<cacheDir>/tools/git-bash/<version>/usr/bin/bash.exe`.
10
+ // 2. An existing Git for Windows install (`where.exe git` + well-known
11
+ // install locations). System32-rooted candidates are filtered — that's
12
+ // the WSL launcher, not bash.
13
+ // 3. A MinGit portable download into the cache (pinned version + sha256).
14
+ //
15
+ // Every resolved candidate is verified by executing `bash --version` and
16
+ // requiring parseable GNU bash output, mirroring the browsers.ts
17
+ // verify-by-execution pattern — a present-but-broken binary (partial
18
+ // download, quarantined install) is skipped or repaired, never returned.
19
+ //
20
+ // MinGit ships GNU bash as `usr/bin/sh.exe` (same binary, POSIX mode via
21
+ // argv[0]); the installer copies it to `usr/bin/bash.exe` alongside its
22
+ // msys-2.0.dll so it runs as full bash. The download lives under `tools/`,
23
+ // OUTSIDE `<cacheDir>/runtime`, so it can never interact with npm's arborist
24
+ // and the #501 prune hazard.
25
+ import fs from "node:fs";
26
+ import path from "node:path";
27
+ import crypto from "node:crypto";
28
+ import { spawn } from "node:child_process";
29
+ import { getCacheDir, readInstalledRecord, writeInstalledRecord, } from "./cacheDir.js";
30
+ import { downloadFile, extractZip } from "./archiveUtils.js";
31
+ export { getGitBashDir, getCachedBashPath, resolveWindowsBash, installBash, };
32
+ // Pinned MinGit release (https://github.com/git-for-windows/git/releases).
33
+ // Bump the version and BOTH digests together; the sha256 gate below fails
34
+ // loudly on any mismatch, so a stale digest can't install silently.
35
+ export const MINGIT_VERSION = "2.55.0.2";
36
+ const MINGIT_ASSETS = {
37
+ x64: {
38
+ url: `https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.2/MinGit-${MINGIT_VERSION}-64-bit.zip`,
39
+ sha256: "e3ea2944cea4b3fabcd69c7c1669ef69b1b66c05ac7806d81224d0abad2dec31",
40
+ },
41
+ arm64: {
42
+ url: `https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.2/MinGit-${MINGIT_VERSION}-arm64.zip`,
43
+ sha256: "0b2b81fdce284efd174cbb51b886ccea2fd271679c4b5c21f07d9e03bae51413",
44
+ },
45
+ };
46
+ const noopLogger = () => { };
47
+ function depsWithDefaults(deps) {
48
+ return {
49
+ platform: deps.platform ?? process.platform,
50
+ arch: deps.arch ?? process.arch,
51
+ env: deps.env ?? process.env,
52
+ fileExists: deps.fileExists ?? ((p) => fs.existsSync(p)),
53
+ verifyBash: deps.verifyBash ?? defaultVerifyBash,
54
+ whereGit: deps.whereGit ?? defaultWhereGit,
55
+ installMinGit: deps.installMinGit ?? installMinGit,
56
+ logger: deps.logger ?? noopLogger,
57
+ };
58
+ }
59
+ function getToolsDir(ctx = {}) {
60
+ return path.join(getCacheDir(ctx), "tools");
61
+ }
62
+ function getGitBashDir(ctx = {}) {
63
+ return path.join(getToolsDir(ctx), "git-bash", MINGIT_VERSION);
64
+ }
65
+ function getCachedBashPath(ctx = {}) {
66
+ return path.join(getGitBashDir(ctx), "usr", "bin", "bash.exe");
67
+ }
68
+ // The WSL launcher lives at `%SystemRoot%\System32\bash.exe` (and the
69
+ // Sysnative alias under WOW64). Anything System32-rooted is never Git Bash.
70
+ function isSystem32Path(p) {
71
+ return /[\\/](system32|sysnative)[\\/]/i.test(p);
72
+ }
73
+ // Candidate bash locations from an existing Git for Windows install: the
74
+ // `where.exe git` hits (git.exe lives in `<root>\cmd` or `<root>\bin`) plus
75
+ // the standard per-machine and per-user install locations.
76
+ // Every input here (where.exe git output, Windows env-var install locations)
77
+ // is a Windows-style path, regardless of which OS actually runs this code
78
+ // (unit tests exercise it from any CI runner). Force `path.win32` rather than
79
+ // the ambient `path` module, which resolves POSIX semantics on non-Windows
80
+ // hosts and silently mis-parses backslash paths (`path.dirname` on a
81
+ // separator-less-under-POSIX string returns "."). On real Windows execution
82
+ // `path.win32 === path`, so production behavior is unchanged.
83
+ function systemBashCandidates(gitPaths, env) {
84
+ const candidates = [];
85
+ for (const gitPath of gitPaths) {
86
+ const root = path.win32.dirname(path.win32.dirname(gitPath));
87
+ candidates.push(path.win32.join(root, "bin", "bash.exe"));
88
+ candidates.push(path.win32.join(root, "usr", "bin", "bash.exe"));
89
+ }
90
+ for (const base of [
91
+ env.ProgramFiles ?? env.PROGRAMFILES,
92
+ env["ProgramFiles(x86)"],
93
+ env.LOCALAPPDATA ? path.win32.join(env.LOCALAPPDATA, "Programs") : undefined,
94
+ ]) {
95
+ if (base)
96
+ candidates.push(path.win32.join(base, "Git", "bin", "bash.exe"));
97
+ }
98
+ return candidates.filter((p) => !isSystem32Path(p));
99
+ }
100
+ // Bounded direct spawn (no shell — the path is executed directly, so spaces
101
+ // are safe and there is no quoting surface). Returns null on spawn failure
102
+ // or timeout; the timer is unref'd so a hung probe never pins the process.
103
+ //
104
+ // CodeQL "uncontrolled command line" here is acknowledged and by design
105
+ // (mirroring the spawnCommand rationale in src/core/utils.ts): the executed
106
+ // paths are candidate bash binaries derived from the local machine's own
107
+ // configuration — `where.exe git` output and standard install locations
108
+ // built from ProgramFiles/LOCALAPPDATA env vars — never remote or
109
+ // test-content input. Executing local candidates (with `--version`, no
110
+ // shell) to verify them IS the feature; each candidate is also
111
+ // existence-checked and System32-filtered before it reaches this probe.
112
+ async function spawnCapture(cmd, args) {
113
+ return await new Promise((resolve) => {
114
+ let stdout = "";
115
+ let child;
116
+ try {
117
+ child = spawn(cmd, args, { windowsHide: true });
118
+ }
119
+ catch {
120
+ resolve(null);
121
+ return;
122
+ }
123
+ const timer = setTimeout(() => {
124
+ try {
125
+ child.kill();
126
+ }
127
+ catch {
128
+ // best-effort
129
+ }
130
+ resolve(null);
131
+ }, 15000);
132
+ timer.unref?.();
133
+ // spawn errors are emitted asynchronously, so `timer` exists by the time
134
+ // either handler runs; clear it on every settle path.
135
+ child.on("error", () => {
136
+ clearTimeout(timer);
137
+ resolve(null);
138
+ });
139
+ child.stdout?.on("data", (d) => (stdout += d.toString()));
140
+ child.on("close", (code) => {
141
+ clearTimeout(timer);
142
+ resolve({ code, stdout });
143
+ });
144
+ });
145
+ }
146
+ async function defaultVerifyBash(bashPath) {
147
+ const result = await spawnCapture(bashPath, ["--version"]);
148
+ return (result !== null &&
149
+ result.code === 0 &&
150
+ /GNU bash, version \d+/.test(result.stdout));
151
+ }
152
+ async function defaultWhereGit() {
153
+ const result = await spawnCapture("where.exe", ["git"]);
154
+ if (!result)
155
+ return [];
156
+ return result.stdout
157
+ .split(/\r?\n/)
158
+ .map((line) => line.trim())
159
+ .filter((line) => line.length > 0);
160
+ }
161
+ async function sha256File(filePath) {
162
+ return await new Promise((resolve, reject) => {
163
+ const hash = crypto.createHash("sha256");
164
+ const stream = fs.createReadStream(filePath);
165
+ stream.on("error", reject);
166
+ stream.on("data", (chunk) => hash.update(chunk));
167
+ stream.on("end", () => resolve(hash.digest("hex")));
168
+ });
169
+ }
170
+ // The real MinGit install: download the pinned zip, verify its sha256,
171
+ // extract into destDir, and copy usr/bin/sh.exe -> usr/bin/bash.exe (MinGit
172
+ // ships bash under the `sh` name; argv[0] controls POSIX mode, so the copy
173
+ // runs as full bash). Network + disk effects live here and only here.
174
+ /* c8 ignore start — real download/extract; the resolution logic around it is
175
+ unit-tested through the injected installMinGit seam. */
176
+ async function installMinGit(destDir, deps = {}) {
177
+ const arch = deps.arch ?? process.arch;
178
+ const logger = deps.logger ?? noopLogger;
179
+ // MinGit publishes 64-bit and arm64 builds only; a 32-bit Node would
180
+ // download a bash it can't execute, so fail up front with remediation
181
+ // instead of burning the download and dying at verification.
182
+ if (arch !== "x64" && arch !== "arm64") {
183
+ throw new Error(`The bundled Git Bash (MinGit) isn't available for the ${arch} architecture. Install Git for Windows manually, or set \`shell\` to \`cmd\` or \`powershell\`.`);
184
+ }
185
+ const asset = MINGIT_ASSETS[arch === "arm64" ? "arm64" : "x64"];
186
+ fs.mkdirSync(path.dirname(destDir), { recursive: true });
187
+ const zipPath = `${destDir}.download.zip`;
188
+ try {
189
+ logger(`Downloading Git Bash (MinGit ${MINGIT_VERSION}) into the Doc Detective cache — a one-time ~40 MB download…`, "info");
190
+ await downloadFile(asset.url, zipPath);
191
+ const actual = await sha256File(zipPath);
192
+ if (actual !== asset.sha256) {
193
+ throw new Error(`MinGit download failed its checksum (expected ${asset.sha256}, got ${actual}). Refusing to install.`);
194
+ }
195
+ fs.rmSync(destDir, { recursive: true, force: true });
196
+ fs.mkdirSync(destDir, { recursive: true });
197
+ await extractZip(zipPath, destDir);
198
+ const shPath = path.join(destDir, "usr", "bin", "sh.exe");
199
+ const bashPath = path.join(destDir, "usr", "bin", "bash.exe");
200
+ if (!fs.existsSync(bashPath)) {
201
+ if (!fs.existsSync(shPath)) {
202
+ throw new Error(`MinGit extraction is missing usr/bin/sh.exe under ${destDir}; the archive layout may have changed.`);
203
+ }
204
+ fs.copyFileSync(shPath, bashPath);
205
+ }
206
+ }
207
+ finally {
208
+ fs.rmSync(zipPath, { force: true });
209
+ }
210
+ }
211
+ /* c8 ignore stop */
212
+ // One shared install + post-install verification gate, used by both the JIT
213
+ // resolver and `doc-detective install bash` so the two entry points can't
214
+ // drift on error handling or record keeping.
215
+ async function installAndVerify(ctx, deps) {
216
+ await deps.installMinGit(getGitBashDir(ctx), deps);
217
+ const cachedBash = getCachedBashPath(ctx);
218
+ if (!deps.fileExists(cachedBash) || !(await deps.verifyBash(cachedBash))) {
219
+ throw new Error(`Git Bash install completed but ${cachedBash} isn't runnable. Re-run \`doc-detective install bash --force\`, or set a different shell (\`cmd\` or \`powershell\`).`);
220
+ }
221
+ // Record the install so `doc-detective install status` can report it.
222
+ // Best-effort: a failed record write must not fail a working install.
223
+ try {
224
+ const record = readInstalledRecord(ctx);
225
+ record.tools = record.tools ?? {};
226
+ record.tools["git-bash"] = {
227
+ installedVersion: MINGIT_VERSION,
228
+ installedAt: new Date().toISOString(),
229
+ };
230
+ writeInstalledRecord(record, ctx);
231
+ }
232
+ catch {
233
+ // best-effort
234
+ }
235
+ return cachedBash;
236
+ }
237
+ // Quarantine a broken cache install so the re-download starts clean and the
238
+ // broken artifact is preserved for diagnostics (mirrors ensureGeckodriver).
239
+ function quarantineDir(dir, logger) {
240
+ try {
241
+ if (!fs.existsSync(dir))
242
+ return;
243
+ const quarantined = `${dir}.broken-${Date.now()}`;
244
+ fs.renameSync(dir, quarantined);
245
+ logger(`Quarantined a broken Git Bash install to ${quarantined}.`, "warn");
246
+ }
247
+ catch {
248
+ // Rename can fail while a stale bash.exe is open; the installer's
249
+ // rm -rf + re-extract still repairs in place.
250
+ try {
251
+ fs.rmSync(dir, { recursive: true, force: true });
252
+ }
253
+ catch {
254
+ // best-effort
255
+ }
256
+ }
257
+ }
258
+ // Dedupe concurrent installs per cache dir (concurrent runners can hit the
259
+ // bash resolution at the same time; one download serves all).
260
+ const inFlightInstalls = new Map();
261
+ // Memoize successful resolutions per cache dir: the answer is deterministic
262
+ // within one process, and re-verifying by execution (`bash --version` plus a
263
+ // possible `where.exe git`) on EVERY runShell step would add two process
264
+ // spawns per step. A cheap existence check on the memo guards against the
265
+ // binary vanishing mid-run (cache wipe); a miss drops the memo and re-runs
266
+ // the full resolution, including quarantine/repair.
267
+ const resolvedBashByCache = new Map();
268
+ /**
269
+ * Resolve a runnable Git Bash on Windows: cache copy, existing Git for
270
+ * Windows, or a JIT MinGit install (when `autoInstall`, the default).
271
+ * Rejects with an actionable error when bash can't be resolved or installed.
272
+ */
273
+ async function resolveWindowsBash(options = {}) {
274
+ const { cacheDir, autoInstall = true } = options;
275
+ const deps = depsWithDefaults(options.deps ?? {});
276
+ if (deps.platform !== "win32") {
277
+ throw new Error("resolveWindowsBash is only meaningful on Windows; POSIX platforms resolve bash from PATH.");
278
+ }
279
+ const ctx = cacheDir ? { cacheDir } : {};
280
+ const cachedBash = getCachedBashPath(ctx);
281
+ const memoKey = getCacheDir(ctx);
282
+ // 0. Memo hit: already resolved and verified this process; only re-check
283
+ // that the binary still exists on disk.
284
+ const memoized = resolvedBashByCache.get(memoKey);
285
+ if (memoized) {
286
+ if (deps.fileExists(memoized))
287
+ return memoized;
288
+ resolvedBashByCache.delete(memoKey);
289
+ }
290
+ // 1. The cache copy — ours, pinned, preferred. A present-but-broken copy is
291
+ // quarantined so the install path below repairs it.
292
+ if (deps.fileExists(cachedBash)) {
293
+ if (await deps.verifyBash(cachedBash)) {
294
+ resolvedBashByCache.set(memoKey, cachedBash);
295
+ return cachedBash;
296
+ }
297
+ quarantineDir(getGitBashDir(ctx), deps.logger);
298
+ }
299
+ // 2. An existing Git for Windows install.
300
+ const gitPaths = await deps.whereGit();
301
+ for (const candidate of systemBashCandidates(gitPaths, deps.env)) {
302
+ if (!deps.fileExists(candidate))
303
+ continue;
304
+ if (await deps.verifyBash(candidate)) {
305
+ resolvedBashByCache.set(memoKey, candidate);
306
+ return candidate;
307
+ }
308
+ }
309
+ // 3. JIT install into the cache.
310
+ if (!autoInstall) {
311
+ throw new Error("Git Bash isn't available on this Windows machine. Run `doc-detective install bash` to install it, install Git for Windows, or set a different shell (`cmd` or `powershell`) in the step or config.");
312
+ }
313
+ let pending = inFlightInstalls.get(memoKey);
314
+ if (!pending) {
315
+ pending = installAndVerify(ctx, deps);
316
+ inFlightInstalls.set(memoKey, pending);
317
+ pending.finally(() => inFlightInstalls.delete(memoKey)).catch(() => { });
318
+ }
319
+ const installed = await pending;
320
+ resolvedBashByCache.set(memoKey, installed);
321
+ return installed;
322
+ }
323
+ /**
324
+ * `doc-detective install bash` — provision Git Bash on Windows hosts.
325
+ * Returns one structured InstallReport, mirroring installRuntime /
326
+ * installBrowsers. Off Windows the report is `skipped` (POSIX systems use
327
+ * the system bash).
328
+ */
329
+ async function installBash(options = {}) {
330
+ const { force = false, dryRun = false, ctx = {} } = options;
331
+ const deps = depsWithDefaults(options.deps ?? {});
332
+ const logger = deps.logger;
333
+ if (deps.platform !== "win32") {
334
+ return [
335
+ {
336
+ assetId: "git-bash",
337
+ kind: "tool",
338
+ action: "skipped",
339
+ notes: ["Windows-only; POSIX systems resolve bash from PATH."],
340
+ },
341
+ ];
342
+ }
343
+ if (dryRun) {
344
+ return [
345
+ {
346
+ assetId: "git-bash",
347
+ kind: "tool",
348
+ action: "dry-run",
349
+ notes: [`would ensure MinGit ${MINGIT_VERSION} (or an existing Git for Windows bash)`],
350
+ },
351
+ ];
352
+ }
353
+ if (!force) {
354
+ try {
355
+ const resolved = await resolveWindowsBash({
356
+ cacheDir: ctx.cacheDir,
357
+ autoInstall: false,
358
+ deps,
359
+ });
360
+ return [
361
+ {
362
+ assetId: "git-bash",
363
+ kind: "tool",
364
+ action: "already-up-to-date",
365
+ installedVersion: resolved === getCachedBashPath(ctx) ? MINGIT_VERSION : undefined,
366
+ notes: [`bash at ${resolved}`],
367
+ },
368
+ ];
369
+ }
370
+ catch {
371
+ // Nothing resolvable — fall through to the install.
372
+ }
373
+ }
374
+ const installed = await installAndVerify(ctx, deps);
375
+ resolvedBashByCache.set(getCacheDir(ctx), installed);
376
+ logger(`Installed Git Bash (MinGit ${MINGIT_VERSION}).`, "info");
377
+ return [
378
+ {
379
+ assetId: "git-bash",
380
+ kind: "tool",
381
+ action: force ? "forced" : "installed",
382
+ installedVersion: MINGIT_VERSION,
383
+ },
384
+ ];
385
+ }
386
+ //# sourceMappingURL=windowsBash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowsBash.js","sourceRoot":"","sources":["../../src/runtime/windowsBash.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,GAAG,EACH,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,CAAC;AASF,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AAGD,iBAAS,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAE,MAAe,EAAE,MAAM,GAAE,GAAQ,QAclE;AAMD,iBAAS,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CA4FlC;AAGD,iBAAS,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAG/B;AAGD,iBAAe,uBAAuB,CAAC,MAAM,GAAE,GAAQ;;;UAyEtD;AA8CD,iBAAe,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,gBAwL7E;AAgCD,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAilBzG,CAAC;AAGF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAM5D;AAED,iBAAe,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,iBA8DpF;AAED,iBAAe,aAAa,CAAC,MAAM,EAAE,GAAG,YAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAE,GAAQ,kBA0D9F;AAGD,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;;;;GAwCvD;AAED,iBAAS,OAAO,SAuBf;AAGD,iBAAS,cAAc,QA+GtB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,GAAG,EACH,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,CAAC;AASF,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AAGD,iBAAS,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAE,MAAe,EAAE,MAAM,GAAE,GAAQ,QAclE;AAMD,iBAAS,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAiGlC;AAGD,iBAAS,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAG/B;AAGD,iBAAe,uBAAuB,CAAC,MAAM,GAAE,GAAQ;;;UAyEtD;AA8CD,iBAAe,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,gBAwM7E;AAgCD,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAilBzG,CAAC;AAGF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAM5D;AAED,iBAAe,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,iBA8DpF;AAED,iBAAe,aAAa,CAAC,MAAM,EAAE,GAAG,YAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAE,GAAQ,kBA0D9F;AAGD,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;;;;GAwCvD;AAED,iBAAS,OAAO,SAuBf;AAGD,iBAAS,cAAc,QA+GtB"}
package/dist/utils.js CHANGED
@@ -118,6 +118,10 @@ function buildYargs(args) {
118
118
  .option("browser-fallback", {
119
119
  description: "How to handle a context whose browser cannot start a driver session. auto (default): fall back to any other available browser (a fallback away from an explicitly requested browser reports WARNING). explicit: fall back only for auto-selected browsers; a broken explicitly-requested browser is skipped with a diagnostic reason. off: never fall back across browsers. Drivers are validated by execution, so a present-but-broken driver (e.g. a partially downloaded geckodriver) no longer silently skips coverage.",
120
120
  type: "string",
121
+ })
122
+ .option("shell", {
123
+ description: "Default shell for runShell steps: bash (default), cmd, or powershell. cmd and powershell only work on Windows. Steps can override this value with their own `shell` field.",
124
+ type: "string",
121
125
  })
122
126
  .version(require("../package.json").version)
123
127
  .help()
@@ -355,6 +359,19 @@ async function setConfig({ configPath, args }) {
355
359
  log(`Ignoring invalid --browser-fallback value '${args.browserFallback}'. Expected one of: auto, explicit, off.`, "warning", config);
356
360
  }
357
361
  }
362
+ if (typeof args.shell === "string" && args.shell.length > 0) {
363
+ // Same rationale as --browser-fallback: schema validation runs before
364
+ // this block, so a bad CLI value would reach the runner unvalidated —
365
+ // drop unknown shells and keep the validated config value (default
366
+ // "bash") instead.
367
+ const shell = args.shell.trim().toLowerCase();
368
+ if (shell === "bash" || shell === "cmd" || shell === "powershell") {
369
+ config.shell = shell;
370
+ }
371
+ else {
372
+ log(`Ignoring invalid --shell value '${args.shell}'. Expected one of: bash, cmd, powershell.`, "warning", config);
373
+ }
374
+ }
358
375
  if (typeof args.concurrentRunners === "string") {
359
376
  // The bare flag ("" after yargs string parsing) and an explicit "true"
360
377
  // select CPU-count mode; anything else must parse as a positive integer.
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}