claude-nomad 0.52.3 → 0.52.4

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
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.52.4](https://github.com/funkadelic/claude-nomad/compare/v0.52.3...v0.52.4) (2026-06-20)
4
+
5
+
6
+ ### Fixed
7
+
8
+ * **hooks-filter:** detect gsd hook entries with quoted launcher paths ([#325](https://github.com/funkadelic/claude-nomad/issues/325)) ([71d79f4](https://github.com/funkadelic/claude-nomad/commit/71d79f4a1555a3bfcf2537d02cad2f52612cc8fc))
9
+
3
10
  ## [0.52.3](https://github.com/funkadelic/claude-nomad/compare/v0.52.2...v0.52.3) (2026-06-20)
4
11
 
5
12
 
package/dist/nomad.mjs CHANGED
@@ -1277,6 +1277,16 @@ function scriptBasename(token) {
1277
1277
  const lastSlash = Math.max(token.lastIndexOf("/"), token.lastIndexOf("\\"));
1278
1278
  return lastSlash >= 0 ? token.slice(lastSlash + 1) : token;
1279
1279
  }
1280
+ function stripQuotes(token) {
1281
+ if (token.length >= 2) {
1282
+ const head = token.at(0);
1283
+ const tail = token.at(-1);
1284
+ if (head === '"' && tail === '"' || head === "'" && tail === "'") {
1285
+ return token.slice(1, -1);
1286
+ }
1287
+ }
1288
+ return token;
1289
+ }
1280
1290
  function isGsdHookEntry(command) {
1281
1291
  const tokens = command.trim().split(/\s+/);
1282
1292
  if (tokens.length === 0 || tokens[0] === "") return false;
@@ -1285,7 +1295,7 @@ function isGsdHookEntry(command) {
1285
1295
  while (i < tokens.length && envAssign.test(tokens[i])) {
1286
1296
  i++;
1287
1297
  }
1288
- const first = tokens[i] ?? "";
1298
+ const first = stripQuotes(tokens[i] ?? "");
1289
1299
  const firstBase = scriptBasename(first);
1290
1300
  const firstHasPath = first.includes("/") || first.includes("\\");
1291
1301
  if (firstHasPath && !KNOWN_LAUNCHER_BASENAMES.has(firstBase) || first.startsWith(GSD_PREFIX)) {
@@ -1293,7 +1303,7 @@ function isGsdHookEntry(command) {
1293
1303
  }
1294
1304
  for (let j = i + 1; j < tokens.length; j++) {
1295
1305
  if (tokens[j].startsWith("-")) continue;
1296
- return scriptBasename(tokens[j]).startsWith(GSD_PREFIX);
1306
+ return scriptBasename(stripQuotes(tokens[j])).startsWith(GSD_PREFIX);
1297
1307
  }
1298
1308
  return false;
1299
1309
  }
@@ -6795,7 +6805,7 @@ function parsePushArgs(argv) {
6795
6805
  // package.json
6796
6806
  var package_default = {
6797
6807
  name: "claude-nomad",
6798
- version: "0.52.3",
6808
+ version: "0.52.4",
6799
6809
  type: "module",
6800
6810
  description: "Sync Claude Code config (~/.claude/) across machines via a private Git repo, with path remapping and per-host settings overrides.",
6801
6811
  keywords: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-nomad",
3
- "version": "0.52.3",
3
+ "version": "0.52.4",
4
4
  "type": "module",
5
5
  "description": "Sync Claude Code config (~/.claude/) across machines via a private Git repo, with path remapping and per-host settings overrides.",
6
6
  "keywords": [