claude-nomad 0.62.5 → 0.62.6
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 +7 -0
- package/README.md +3 -1
- package/dist/nomad.mjs +20 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.62.6](https://github.com/funkadelic/claude-nomad/compare/v0.62.5...v0.62.6) (2026-07-25)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Fixed
|
|
7
|
+
|
|
8
|
+
* **nomad:** treat a Ctrl+C prompt abort as a user cancel ([#466](https://github.com/funkadelic/claude-nomad/issues/466)) ([6250627](https://github.com/funkadelic/claude-nomad/commit/62506279155fe02c067675271fa9bc02f341a14b))
|
|
9
|
+
|
|
3
10
|
## [0.62.5](https://github.com/funkadelic/claude-nomad/compare/v0.62.4...v0.62.5) (2026-07-24)
|
|
4
11
|
|
|
5
12
|
|
package/README.md
CHANGED
|
@@ -313,6 +313,7 @@ branch on `$?` without parsing stderr text.
|
|
|
313
313
|
| 2 | Usage | Bad argv: an unknown subcommand, an unknown flag, or a malformed flag value. |
|
|
314
314
|
| 4 | Conflict | The sync repo is wedged (e.g. an unresolved rebase) and needs manual git resolution. |
|
|
315
315
|
| 5 | Leak blocked | gitleaks confirmed a secret in the staged tree and the push was aborted. |
|
|
316
|
+
| 130 | Interrupted | You pressed Ctrl+C at an interactive prompt, so nomad stopped without finishing. |
|
|
316
317
|
|
|
317
318
|
A run skipped because another nomad process already holds the lock also exits 0: this is an
|
|
318
319
|
intentional no-op skip, not a failure, so a backgrounded shell-rc or cron invocation never raises a
|
|
@@ -323,7 +324,8 @@ false alarm from a concurrent run. Value `3` is reserved for future use.
|
|
|
323
324
|
If `nomad` ever hits an unexpected bug, it no longer dumps a raw stack trace at you. Instead it
|
|
324
325
|
prints a short "this looks like a bug" banner (with a link to the issue tracker) and writes a small
|
|
325
326
|
report you can attach to a bug report if you choose. The exit code is unchanged: an unexpected crash
|
|
326
|
-
exits `1`, and a documented failure still exits with its own code from the table above.
|
|
327
|
+
exits `1`, and a documented failure still exits with its own code from the table above. A prompt you
|
|
328
|
+
cancel yourself is not a crash: it exits `130` and writes no report.
|
|
327
329
|
|
|
328
330
|
What this means for you:
|
|
329
331
|
|
package/dist/nomad.mjs
CHANGED
|
@@ -204,7 +204,12 @@ var init_exit_codes = __esm({
|
|
|
204
204
|
/** A wedged repo state (e.g. an unresolved rebase) needing manual git resolution. */
|
|
205
205
|
CONFLICT: 4,
|
|
206
206
|
/** gitleaks confirmed a secret in the staged tree and the push was aborted. */
|
|
207
|
-
LEAK_BLOCKED: 5
|
|
207
|
+
LEAK_BLOCKED: 5,
|
|
208
|
+
/**
|
|
209
|
+
* The user interrupted an interactive prompt with Ctrl+C and nothing was
|
|
210
|
+
* left half-written. The conventional 128 + SIGINT(2) value.
|
|
211
|
+
*/
|
|
212
|
+
INTERRUPTED: 130
|
|
208
213
|
};
|
|
209
214
|
}
|
|
210
215
|
});
|
|
@@ -9172,7 +9177,7 @@ function parseSyncArgs(argv) {
|
|
|
9172
9177
|
// package.json
|
|
9173
9178
|
var package_default = {
|
|
9174
9179
|
name: "claude-nomad",
|
|
9175
|
-
version: "0.62.
|
|
9180
|
+
version: "0.62.6",
|
|
9176
9181
|
type: "module",
|
|
9177
9182
|
description: "Sync Claude Code config (~/.claude/) across machines via a private Git repo, with path remapping and per-host settings overrides.",
|
|
9178
9183
|
keywords: [
|
|
@@ -9496,6 +9501,15 @@ function shQuote(s) {
|
|
|
9496
9501
|
return `'${escaped}'`;
|
|
9497
9502
|
}
|
|
9498
9503
|
|
|
9504
|
+
// src/user-abort.ts
|
|
9505
|
+
var ABORT_NAMES = /* @__PURE__ */ new Set(["AbortError", "ExitPromptError"]);
|
|
9506
|
+
var ABORT_CODE = "ABORT_ERR";
|
|
9507
|
+
function isUserAbort(err) {
|
|
9508
|
+
if (typeof err !== "object" || err === null) return false;
|
|
9509
|
+
const { name, code } = err;
|
|
9510
|
+
return typeof name === "string" && ABORT_NAMES.has(name) || code === ABORT_CODE;
|
|
9511
|
+
}
|
|
9512
|
+
|
|
9499
9513
|
// src/nomad.ts
|
|
9500
9514
|
init_utils();
|
|
9501
9515
|
init_exit_codes();
|
|
@@ -9505,6 +9519,10 @@ function handleTopLevelError(err) {
|
|
|
9505
9519
|
fail(err.message);
|
|
9506
9520
|
process.exit(err.code);
|
|
9507
9521
|
}
|
|
9522
|
+
if (isUserAbort(err)) {
|
|
9523
|
+
warn("cancelled.");
|
|
9524
|
+
process.exit(EXIT.INTERRUPTED);
|
|
9525
|
+
}
|
|
9508
9526
|
const issuesUrl = package_default.bugs?.url ?? "https://github.com/funkadelic/claude-nomad/issues";
|
|
9509
9527
|
handleCrash(err, process.argv, {
|
|
9510
9528
|
version: package_default.version,
|
package/package.json
CHANGED