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
@@ -7,8 +7,9 @@ import net from "node:net";
7
7
  import axios from "axios";
8
8
  import { spawn } from "node:child_process";
9
9
  import { loadHeavyDep, resolveHeavyDepPath, ensureRuntimeInstalled, } from "../runtime/loader.js";
10
+ import { resolveWindowsBash as defaultResolveWindowsBash } from "../runtime/windowsBash.js";
10
11
  import { assertConptyAllocatable, ensurePtyBackendOnDisk, } from "./ptyWatchdog.js";
11
- export { outputResults, loadEnvs, log, timestamp, getOrInitRunTimestamp, getRunOutputDir, runArchivesArtifacts, replaceEnvs, spawnCommand, spawnBackgroundCommand, spawnPtyBackgroundCommand, waitForReady, waitForPort, waitForHttp, waitForStdio, waitForOutputMatch, inContainer, cleanTemp, calculateFractionalDifference, serializeBrowserResult, matchesExpectedOutput, fetchFile, isRelativeUrl, appendQueryParams, isDeviceWebContext, computeSettleCeiling, redactUrlForOutput, assertUrlHostIsPublic, sanitizeFilesystemName, compileFilter, isRetryableSessionError, isTransientProcessInitError, matchesFilter, selectSpecsForRun, findFreePort, runConcurrent, createResourceRegistry, runResourceAware, rollUpResults, rollUpAssertions, createAppiumPool, evaluateContextRequirements, };
12
+ export { outputResults, loadEnvs, log, timestamp, getOrInitRunTimestamp, getRunOutputDir, runArchivesArtifacts, replaceEnvs, spawnCommand, spawnBackgroundCommand, spawnPtyBackgroundCommand, resolveShellName, resolveShellExecutable, shellSpawnEnv, waitForReady, waitForPort, waitForHttp, waitForStdio, waitForOutputMatch, inContainer, cleanTemp, calculateFractionalDifference, serializeBrowserResult, matchesExpectedOutput, fetchFile, isRelativeUrl, appendQueryParams, isDeviceWebContext, computeSettleCeiling, redactUrlForOutput, assertUrlHostIsPublic, sanitizeFilesystemName, compileFilter, isRetryableSessionError, isTransientProcessInitError, matchesFilter, selectSpecsForRun, findFreePort, runConcurrent, createResourceRegistry, runResourceAware, rollUpResults, rollUpAssertions, createAppiumPool, evaluateContextRequirements, };
12
13
  // A fixed set of Appium server ports shared by concurrent runners. `acquire()`
13
14
  // hands out a free port, waiting if every port is checked out; `release()`
14
15
  // returns one, handing it straight to the next waiter. Single-threaded JS
@@ -187,11 +188,16 @@ function backgroundSleep(ms) {
187
188
  // same. With shell:true, child.pid is the shell's pid; tree-kill (used at
188
189
  // teardown) handles the child tree.
189
190
  function spawnBackgroundCommand(cmd, args = [], options = {}) {
190
- const spawnOptions = { shell: true };
191
+ // `options.shell` carries a resolved shell executable (runShell's `shell`
192
+ // field); absent, keep the historical platform default.
193
+ const spawnOptions = { shell: options.shell || true };
191
194
  if (process.platform === "win32")
192
195
  spawnOptions.windowsHide = true;
193
196
  if (options.cwd)
194
197
  spawnOptions.cwd = options.cwd;
198
+ const bgShellEnv = shellSpawnEnv(options.shell);
199
+ if (bgShellEnv)
200
+ spawnOptions.env = bgShellEnv;
195
201
  // `shell: true` is intentional and by design. `runShell` (and `runCode`'s
196
202
  // shell backend) exist to execute the exact shell command an author writes in
197
203
  // a test spec — pipes, `&&`, globbing, env-var expansion, redirection. The
@@ -248,18 +254,33 @@ function spawnBackgroundCommand(cmd, args = [], options = {}) {
248
254
  exited,
249
255
  };
250
256
  }
251
- // Quote a single command-line argument so the platform shell treats it as one
257
+ // Quote a single command-line argument so the target shell treats it as one
252
258
  // token (so the `args` field keeps working when we append it to the command
253
- // string for the shell). Wraps in double quotes and escapes embedded double
254
- // quotes; mirrors how `shell:true` would pass each arg.
255
- function quoteShellArg(arg) {
256
- if (process.platform === "win32") {
259
+ // string for the shell). `style` selects the quoting dialect: `cmd` doubles
260
+ // embedded double quotes; `powershell` single-quotes with `''` doubling
261
+ // (PS interpolates `$` and backticks inside DOUBLE quotes, so the cmd
262
+ // dialect would corrupt args there); `posix` single-quotes (bash/sh —
263
+ // including Git Bash on Windows). Defaults to the platform shell for
264
+ // callers that don't thread a resolved shell.
265
+ function quoteShellArg(arg, style) {
266
+ const resolvedStyle = style ?? (process.platform === "win32" ? "cmd" : "posix");
267
+ if (resolvedStyle === "cmd") {
257
268
  // cmd.exe: escape embedded quotes by doubling them, then wrap.
258
269
  return `"${arg.replace(/"/g, '""')}"`;
259
270
  }
271
+ if (resolvedStyle === "powershell") {
272
+ // PowerShell: single quotes are literal; escape embedded ones by doubling.
273
+ return `'${arg.replace(/'/g, "''")}'`;
274
+ }
260
275
  // POSIX sh: single-quote and escape any embedded single quote.
261
276
  return `'${arg.replace(/'/g, `'\\''`)}'`;
262
277
  }
278
+ // True when a resolved shell executable is cmd.exe (vs bash/powershell), which
279
+ // decides both the PTY `-c` vs `/d /s /c` invocation and the arg-quoting
280
+ // dialect. Mirrors Node's own cmd detection for `shell: <string>`.
281
+ function isCmdShellExecutable(shellExecutable) {
282
+ return /(^|[\\/])cmd(\.exe)?$/i.test(shellExecutable);
283
+ }
263
284
  // PTY-backed sibling of spawnBackgroundCommand: starts a process under a real
264
285
  // pseudo-terminal (node-pty) so full-screen/interactive TUIs that check
265
286
  // `process.stdout.isTTY` render and accept keystrokes (Phase 2). It is a
@@ -327,15 +348,29 @@ async function spawnPtyBackgroundCommand(cmd, args = [], options = {}) {
327
348
  // genuine wedge degrades to SKIP; a healthy/inconclusive probe falls through
328
349
  // to the direct spawn below, so the happy path can never regress.
329
350
  await assertConptyAllocatable({ ptyModulePath });
330
- const argstr = args.length ? " " + args.map(quoteShellArg).join(" ") : "";
331
- const fullCommand = cmd + argstr;
332
351
  const isWin = process.platform === "win32";
333
- // Match Node's `{ shell: true }` invocation exactly so a `tty` process behaves
334
- // identically to the pipe path: cmd.exe with `/d /s /c` on Windows (disable
335
- // AutoRun, treat the whole string as one quoted command), `/bin/sh -c` on POSIX
336
- // (NOT $SHELL, which may be a non-POSIX shell).
337
- const shell = isWin ? process.env.ComSpec || "cmd.exe" : "/bin/sh";
338
- const shellArgs = isWin
352
+ // Match Node's `{ shell: ... }` invocation exactly so a `tty` process behaves
353
+ // identically to the pipe path. `options.shell` carries the resolved shell
354
+ // executable from runShell's `shell` field; absent, fall back to the
355
+ // platform default: cmd.exe with `/d /s /c` on Windows (disable AutoRun,
356
+ // treat the whole string as one quoted command), `/bin/sh -c` on POSIX (NOT
357
+ // $SHELL, which may be a non-POSIX shell).
358
+ const shell = options.shell || (isWin ? process.env.ComSpec || "cmd.exe" : "/bin/sh");
359
+ const isCmdShell = isCmdShellExecutable(shell);
360
+ // Quote args in the dialect of the shell that will parse the command string:
361
+ // double-quote doubling for cmd.exe, literal single quotes for powershell
362
+ // (double quotes would interpolate `$`/backticks), POSIX single quotes for
363
+ // bash/sh (including Git Bash on Windows).
364
+ const quoteStyle = isCmdShell
365
+ ? "cmd"
366
+ : /powershell(\.exe)?$/i.test(shell)
367
+ ? "powershell"
368
+ : "posix";
369
+ const argstr = args.length
370
+ ? " " + args.map((arg) => quoteShellArg(arg, quoteStyle)).join(" ")
371
+ : "";
372
+ const fullCommand = cmd + argstr;
373
+ const shellArgs = isCmdShell
339
374
  ? ["/d", "/s", "/c", fullCommand]
340
375
  : ["-c", fullCommand];
341
376
  let ptyProcess;
@@ -348,7 +383,7 @@ async function spawnPtyBackgroundCommand(cmd, args = [], options = {}) {
348
383
  cols: 120,
349
384
  rows: 30,
350
385
  cwd: options.cwd || process.cwd(),
351
- env: process.env,
386
+ env: shellSpawnEnv(options.shell) ?? process.env,
352
387
  });
353
388
  }
354
389
  catch (error) {
@@ -783,6 +818,9 @@ const PRESERVED_TEMP_ENTRIES = new Set([
783
818
  "browsers",
784
819
  "runtime",
785
820
  "installed.json",
821
+ // Tool downloads (git-bash — the MinGit backing runShell's Windows `bash`
822
+ // shell). Wiping it would force a ~40 MB re-download on every run.
823
+ "tools",
786
824
  ]);
787
825
  function cleanTemp() {
788
826
  const tempDir = path.join(os.tmpdir(), "doc-detective");
@@ -1368,6 +1406,113 @@ function runArchivesArtifacts(config = {}, specs = []) {
1368
1406
  (reporter.toLowerCase() === "runfolder" ||
1369
1407
  reporter === "runFolderReporter"));
1370
1408
  }
1409
+ // Resolve which shell a runShell step runs in. Precedence mirrors
1410
+ // resolveAutoScreenshot / resolveAutoRecord: an unset level defers down the
1411
+ // chain (step > config > built-in `bash`). The config-level default is also
1412
+ // declared in config_v3 (`shell`, default `bash`); the step schema
1413
+ // deliberately has NO default so an unset step can defer here.
1414
+ function resolveShellName({ config, step, } = {}) {
1415
+ return step?.runShell?.shell ?? config?.shell ?? "bash";
1416
+ }
1417
+ // Memoized "is bash runnable on this POSIX system" probe. POSIX only
1418
+ // guarantees /bin/sh; minimal images (Alpine/BusyBox, debian-slim) may lack
1419
+ // bash entirely, and without this check the spawn's ENOENT surfaces as a
1420
+ // meaningless "exit code null" step failure. One probe per process — the
1421
+ // answer can't change mid-run.
1422
+ let posixBashProbe;
1423
+ function defaultProbePosixBash() {
1424
+ if (!posixBashProbe) {
1425
+ posixBashProbe = new Promise((resolve) => {
1426
+ let child;
1427
+ try {
1428
+ child = spawn("bash", ["--version"]);
1429
+ }
1430
+ catch {
1431
+ resolve(false);
1432
+ return;
1433
+ }
1434
+ child.on("error", () => resolve(false));
1435
+ child.on("close", (code) => resolve(code === 0));
1436
+ });
1437
+ }
1438
+ return posixBashProbe;
1439
+ }
1440
+ // Map a shell name to the executable `spawn`'s `shell` option should use.
1441
+ // Throws (with an actionable message) for Windows-only shells off Windows and
1442
+ // when Git Bash can't be resolved or installed on Windows; runShell converts
1443
+ // the throw into a FAILed step.
1444
+ async function resolveShellExecutable(shellName, deps = {}) {
1445
+ const platform = deps.platform ?? process.platform;
1446
+ const env = deps.env ?? process.env;
1447
+ switch (shellName) {
1448
+ case "bash": {
1449
+ if (platform === "win32") {
1450
+ // Git Bash, never `System32\bash.exe` (the WSL launcher).
1451
+ const resolveBash = deps.resolveWindowsBash ?? defaultResolveWindowsBash;
1452
+ return await resolveBash({ cacheDir: deps.cacheDir });
1453
+ }
1454
+ // POSIX: let spawn's PATH lookup find bash (macOS ships it in /bin,
1455
+ // Linux distros vary between /bin and /usr/bin) — but verify it exists
1456
+ // first so a bash-less minimal image gets an actionable error instead
1457
+ // of a swallowed ENOENT and a cryptic exit-code failure.
1458
+ const probe = deps.probePosixBash ?? defaultProbePosixBash;
1459
+ if (!(await probe())) {
1460
+ throw new Error("The default `bash` shell isn't available on this system. Install bash (e.g. `apk add bash` on Alpine, `apt-get install bash` on Debian slim images) to run shell steps.");
1461
+ }
1462
+ return "bash";
1463
+ }
1464
+ case "cmd": {
1465
+ if (platform !== "win32") {
1466
+ throw new Error("The `cmd` shell is only supported on Windows. Use `bash` (the default) or gate the step with `runOn`.");
1467
+ }
1468
+ return env.ComSpec || "cmd.exe";
1469
+ }
1470
+ case "powershell": {
1471
+ if (platform !== "win32") {
1472
+ throw new Error("The `powershell` shell is only supported on Windows. Use `bash` (the default) or gate the step with `runOn`.");
1473
+ }
1474
+ return "powershell.exe";
1475
+ }
1476
+ default:
1477
+ // Schema-validated steps can't reach this; guards programmatic callers.
1478
+ throw new Error(`Unsupported shell: ${shellName}. Supported shells: bash, cmd, powershell.`);
1479
+ }
1480
+ }
1481
+ // On Windows, a bash resolved to an absolute path may be a bare MinGit
1482
+ // install from the cache, which (unlike full Git for Windows' `bin\bash.exe`
1483
+ // wrapper) does NOT put its own `usr/bin` on PATH — so `echo x | grep x`
1484
+ // would die with `grep: command not found`. Prepending the bash binary's own
1485
+ // directory to the child's PATH restores the expected toolbox (grep, sed,
1486
+ // awk, …) and is harmless for a full Git install. Returns undefined when no
1487
+ // adjustment is needed (non-Windows, non-bash shells, bare PATH lookups).
1488
+ function shellSpawnEnv(shellExecutable, deps = {}) {
1489
+ const platform = deps.platform ?? process.platform;
1490
+ const env = deps.env ?? process.env;
1491
+ if (platform !== "win32" || !shellExecutable)
1492
+ return undefined;
1493
+ if (!/bash(\.exe)?$/i.test(shellExecutable))
1494
+ return undefined;
1495
+ // shellExecutable is always a Windows-style path on this branch (only ever
1496
+ // reached for the win32 platform), regardless of which OS actually runs
1497
+ // this code (unit tests exercise it from any CI runner). Force
1498
+ // `path.win32` rather than the ambient `path` module, which resolves
1499
+ // POSIX semantics on non-Windows hosts and silently mis-parses backslash
1500
+ // paths (`path.dirname` on a separator-less-under-POSIX string returns
1501
+ // "."). On real Windows execution `path.win32 === path`, so production
1502
+ // behavior is unchanged.
1503
+ const dir = path.win32.dirname(shellExecutable);
1504
+ // A bare `bash` PATH lookup has nothing to prepend.
1505
+ if (!path.win32.isAbsolute(dir))
1506
+ return undefined;
1507
+ // Windows env vars are case-insensitive; preserve whichever casing exists.
1508
+ const pathKey = Object.keys(env).find((k) => k.toUpperCase() === "PATH") ?? "Path";
1509
+ const existing = env[pathKey];
1510
+ return {
1511
+ ...env,
1512
+ // No trailing delimiter (an empty PATH segment) when PATH was unset.
1513
+ [pathKey]: existing ? `${dir}${path.win32.delimiter}${existing}` : dir,
1514
+ };
1515
+ }
1371
1516
  // Perform a native command in the current working directory.
1372
1517
  /**
1373
1518
  * Executes a command in a child process using the `spawn` function from the `child_process` module.
@@ -1379,9 +1524,12 @@ function runArchivesArtifacts(config = {}, specs = []) {
1379
1524
  * @returns {Promise<object>} A promise that resolves to an object containing the stdout, stderr, and exit code of the command.
1380
1525
  */
1381
1526
  async function spawnCommand(cmd, args = [], options = {}) {
1382
- // Set spawnOptions based on OS
1527
+ // Set spawnOptions based on OS. `options.shell` (a resolved shell
1528
+ // executable from resolveShellExecutable) overrides the platform default so
1529
+ // runShell's `shell` field reaches the spawn; internal probes that don't
1530
+ // pass it keep the historical `shell: true` behavior.
1383
1531
  const spawnOptions = {
1384
- shell: true,
1532
+ shell: options.shell || true,
1385
1533
  };
1386
1534
  if (process.platform === "win32") {
1387
1535
  spawnOptions.windowsHide = true;
@@ -1389,6 +1537,9 @@ async function spawnCommand(cmd, args = [], options = {}) {
1389
1537
  if (options.cwd) {
1390
1538
  spawnOptions.cwd = options.cwd;
1391
1539
  }
1540
+ const shellEnv = shellSpawnEnv(options.shell);
1541
+ if (shellEnv)
1542
+ spawnOptions.env = shellEnv;
1392
1543
  // `shell: true` is intentional and by design (see spawnBackgroundCommand for
1393
1544
  // the full rationale). `spawnCommand` runs the exact shell command an author
1394
1545
  // writes in a test spec (`runShell`, `runCode`'s shell backend) or a fixed
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ interface WalkData {
54
54
  usedCustomAssertions: boolean;
55
55
  usedRetry: boolean;
56
56
  failedTransientRequest: boolean;
57
+ failedRunShellWithoutShell: boolean;
57
58
  }
58
59
  export declare function walkResults(results: any): WalkData;
59
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/hints/context.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AA+C9D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC,CAsEtB;AAkCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB7D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1D;AAMD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA6B/D;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAoB3D;AAyDD,UAAU,QAAQ;IAChB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAsBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,CA6BlD;AA8MD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,OAAO,CAgBT;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAMD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,GACb,OAAO,CAyBT;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAmBxE;AAaD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAM5D;AAaD,4EAA4E;AAC5E,eAAO,MAAM,cAAc,UAAW,CAAC;AAGvC;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAcnD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/hints/context.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AA+C9D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC,CAuEtB;AAkCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB7D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1D;AAMD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA6B/D;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAoB3D;AAyDD,UAAU,QAAQ;IAChB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;IAChC,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAuBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,CA6BlD;AA0ND;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,OAAO,CAgBT;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAMD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,GACb,OAAO,CAyBT;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAmBxE;AAaD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAM5D;AAaD,4EAA4E;AAC5E,eAAO,MAAM,cAAc,UAAW,CAAC;AAGvC;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAcnD"}
@@ -105,6 +105,7 @@ export async function buildHintContext(options = {}) {
105
105
  usedCustomAssertions: walkData.usedCustomAssertions,
106
106
  usedRetry: walkData.usedRetry,
107
107
  failedTransientRequest: walkData.failedTransientRequest,
108
+ failedRunShellWithoutShell: walkData.failedRunShellWithoutShell,
108
109
  agentDetections,
109
110
  hasPackageJson,
110
111
  hasDocDetectiveNpmScript,
@@ -359,6 +360,7 @@ function emptyWalkData() {
359
360
  usedCustomAssertions: false,
360
361
  usedRetry: false,
361
362
  failedTransientRequest: false,
363
+ failedRunShellWithoutShell: false,
362
364
  };
363
365
  }
364
366
  // Test/step routing handler keys.
@@ -463,6 +465,15 @@ function inspectStep(step, data) {
463
465
  // URL strings on goTo / checkLink.
464
466
  inspectUrl(step.goTo, data);
465
467
  inspectUrl(step.checkLink, data);
468
+ // A runShell step that FAILed without the author choosing a shell — on
469
+ // Windows that's often a cmd-flavored command running under the
470
+ // cross-platform `bash` default. Powers `setRunShellShell`. An explicit
471
+ // `shell` means the author already made the choice; nothing to teach.
472
+ if (step.result === "FAIL" &&
473
+ step.runShell !== undefined &&
474
+ typeof step.runShell?.shell !== "string") {
475
+ data.failedRunShellWithoutShell = true;
476
+ }
466
477
  // runShell command sniffing.
467
478
  const runShell = step.runShell;
468
479
  if (runShell && typeof runShell === "object") {