@plurnk/plurnk-execs-git 0.1.6 → 0.1.8

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/Git.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { SubprocessExecutor } from "@plurnk/plurnk-execs";
2
2
  import type { RuntimeAvailability, SpawnArgs } from "@plurnk/plurnk-execs";
3
3
  export default class Git extends SubprocessExecutor {
4
- protected spawnArgs(runtime: string, command: string): SpawnArgs;
5
- probe(): Promise<RuntimeAvailability>;
4
+ protected spawnArgs(runtime: string, command: string, target?: string | null): SpawnArgs;
5
+ probe(signal?: AbortSignal): Promise<RuntimeAvailability>;
6
6
  }
7
7
  //# sourceMappingURL=Git.d.ts.map
package/dist/Git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Git.d.ts","sourceRoot":"","sources":["../src/Git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAc3E,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,kBAAkB;cAC5B,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS;IAQ1D,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAOvD"}
1
+ {"version":3,"file":"Git.d.ts","sourceRoot":"","sources":["../src/Git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAc3E,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,kBAAkB;cAC5B,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,SAAS;IAYxF,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAO3E"}
package/dist/Git.js CHANGED
@@ -13,26 +13,37 @@ import { tokenizeArgv } from "./tokenizeArgv.js";
13
13
  // (plurnk-execs#5). All run/stream/abort behavior is inherited from
14
14
  // SubprocessExecutor.
15
15
  export default class Git extends SubprocessExecutor {
16
- spawnArgs(runtime, command) {
17
- // runtime is "git" or "gh" — the tag is the executable.
16
+ spawnArgs(runtime, command, target = null) {
17
+ // runtime is "git" or "gh" — the tag is the executable. With a target the
18
+ // target IS the invocation (tokenized argv) and the body is its stdin
19
+ // (plurnk-execs#15) — `EXEC[git](apply --index):<patch>`, `commit -F -`,
20
+ // `hash-object -w --stdin`. No target → the body is the invocation.
21
+ if (target !== null)
22
+ return { cmd: runtime, args: tokenizeArgv(target), useShell: false, stdin: command };
18
23
  return { cmd: runtime, args: tokenizeArgv(command), useShell: false };
19
24
  }
20
25
  // Per-tag availability: `git` needs the binary; `gh` needs the binary AND an
21
26
  // authenticated session. (Correct only once the consumer probes per-tag, not
22
27
  // per-package — plurnk-service#185.)
23
- async probe() {
28
+ async probe(signal) {
24
29
  if (this.runtime === "gh") {
25
- return runProbe("gh", ["auth", "status"], "gh authenticated", "gh present but not authenticated — run `gh auth login`", "gh not on PATH");
30
+ return runProbe("gh", ["auth", "status"], "gh authenticated", "gh present but not authenticated — run `gh auth login`", "gh not on PATH", signal);
26
31
  }
27
- return runProbe("git", ["--version"], undefined, "git --version failed", "git not on PATH");
32
+ return runProbe("git", ["--version"], undefined, "git --version failed", "git not on PATH", signal);
28
33
  }
29
34
  }
30
35
  // Spawn a probe command; resolve availability from its exit. Async so the
31
36
  // consumer's per-probe timeout can race it (a hung `gh auth status` mustn't
32
37
  // wedge boot).
33
- const runProbe = (bin, args, okDetail, nonzeroDetail, missingDetail) => new Promise((resolve) => {
38
+ const runProbe = (bin, args, okDetail, nonzeroDetail, missingDetail, signal) => new Promise((resolve) => {
39
+ if (signal?.aborted) {
40
+ resolve({ available: false, detail: missingDetail });
41
+ return;
42
+ }
34
43
  let out = "";
35
- const child = spawn(bin, args, { signal: AbortSignal.timeout(5000) });
44
+ // Honor the consumer's per-probe signal so a resolved/timed-out probe
45
+ // reaps the child (plurnk-execs#16); /dev/null stdin+stderr.
46
+ const child = spawn(bin, args, { signal, stdio: ["ignore", "pipe", "ignore"] });
36
47
  child.stdout?.on("data", (chunk) => { out += chunk.toString("utf8"); });
37
48
  child.on("error", () => resolve({ available: false, detail: missingDetail }));
38
49
  child.on("close", (code) => resolve(code === 0
package/dist/Git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Git.js","sourceRoot":"","sources":["../src/Git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,oEAAoE;AACpE,sBAAsB;AACtB,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,kBAAkB;IAC5B,SAAS,CAAC,OAAe,EAAE,OAAe;QACzD,wDAAwD;QACxD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,qCAAqC;IAC5B,KAAK,CAAC,KAAK;QAChB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB,EACxD,wDAAwD,EAAE,gBAAgB,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;IAChG,CAAC;CACJ;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,eAAe;AACf,MAAM,QAAQ,GAAG,CACb,GAAW,EACX,IAAc,EACd,QAA4B,EAC5B,aAAqB,EACrB,aAAqB,EACO,EAAE,CAC9B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACpB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC9E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAC1C,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;QACnF,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Git.js","sourceRoot":"","sources":["../src/Git.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-execs-git",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "git + GitHub-CLI runtime executor for plurnk-service's exec scheme — shells the system git/gh binaries (no third-party lib) for EXEC[git] / EXEC[gh].",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -65,9 +65,9 @@
65
65
  "devDependencies": {
66
66
  "@types/node": "^26.0.0",
67
67
  "typescript": "^6.0.3",
68
- "@plurnk/plurnk-execs": "^0.4.16"
68
+ "@plurnk/plurnk-execs": "0.4.28"
69
69
  },
70
70
  "peerDependencies": {
71
- "@plurnk/plurnk-execs": "^0.4.16"
71
+ "@plurnk/plurnk-execs": "0.4.28"
72
72
  }
73
73
  }