xcodebuild-axi 0.1.2 → 0.1.3

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/CHANGELOG.md CHANGED
@@ -6,6 +6,21 @@ Notable changes to `xcodebuild-axi`. Versions follow
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.3] - 2026-09-21
10
+
11
+ ### Fixed
12
+
13
+ - `setup hooks` installed a session-start hook with a **10 second timeout**,
14
+ which is not long enough. The home view runs `xcodebuild -list`, and against
15
+ a workspace with 16 local Swift packages that resolves the package graph on a
16
+ cold run: measured 10.9s cold, then 2.9s and 1.4s warm. Cold is exactly the
17
+ case a session start hits, so the hook would be killed before it produced
18
+ anything — silently, with no error to notice. The timeout is now 30s, which
19
+ is a ceiling rather than a cost: a warm run still returns in a second or two.
20
+
21
+ Re-run `xcodebuild-axi setup hooks` to repair an already-installed hook; it
22
+ updates the existing entry in place rather than adding a second one.
23
+
9
24
  ## [0.1.2] - 2026-09-21
10
25
 
11
26
  ### Fixed
@@ -60,7 +75,8 @@ First release.
60
75
  - 100% of the 117 options `xcodebuild -help` lists are covered, declared in
61
76
  `src/surface.ts` and checked against the installed Xcode in CI.
62
77
 
63
- [unreleased]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.2...HEAD
78
+ [unreleased]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.3...HEAD
79
+ [0.1.3]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.2...v0.1.3
64
80
  [0.1.2]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.1...v0.1.2
65
81
  [0.1.1]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.0...v0.1.1
66
82
  [0.1.0]: https://github.com/alexrrouse/xcodebuild-axi/releases/tag/v0.1.0
@@ -31,6 +31,20 @@ const FLAGS = ["--project", "--status", "--uninstall"];
31
31
  * as soon as the checkout moved.
32
32
  */
33
33
  const MARKER = "xcodebuild-axi";
34
+ /**
35
+ * How long the session-start hook is allowed to take.
36
+ *
37
+ * The SDK defaults to 10s, which is not enough. The home view runs
38
+ * `xcodebuild -list`, and against a workspace with 16 local Swift packages
39
+ * that resolves the package graph on a cold run: measured 10.9s cold, then
40
+ * 2.9s and 1.4s warm. Cold is exactly the case a session start hits, and a
41
+ * hook that times out contributes nothing at all — the whole point of it is
42
+ * lost silently, with no error to notice.
43
+ *
44
+ * 30s is headroom over the slowest real measurement rather than a guess. It is
45
+ * a ceiling, not a cost: a warm run still returns in a second or two.
46
+ */
47
+ const HOOK_TIMEOUT_SECONDS = 30;
34
48
  export async function setupCommand(args) {
35
49
  rejectUnknownFlags(args, "setup", FLAGS);
36
50
  const [target] = positionals(args, []);
@@ -64,7 +78,11 @@ export async function setupCommand(args) {
64
78
  await uninstallSessionStartHooks({ scope, marker: MARKER });
65
79
  return renderOutput([renderFields({ setup: "hooks removed", scope })]);
66
80
  }
67
- await installSessionStartHooks({ scope, marker: MARKER });
81
+ await installSessionStartHooks({
82
+ scope,
83
+ marker: MARKER,
84
+ timeoutSeconds: HOOK_TIMEOUT_SECONDS,
85
+ });
68
86
  const status = sessionStartHookStatus({ scope, marker: MARKER });
69
87
  return renderOutput([
70
88
  renderFields({
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xcodebuild-axi",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "AXI-compliant xcodebuild wrapper — turns multi-megabyte Xcode build and test transcripts into a few lines of TOON",
5
5
  "type": "module",
6
6
  "repository": {