@bretwardjames/ghp-cli 0.12.0 → 0.13.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.
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +6 -3
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/review.d.ts +6 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +177 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/tmux.d.ts +24 -0
- package/dist/commands/tmux.d.ts.map +1 -0
- package/dist/commands/tmux.js +197 -0
- package/dist/commands/tmux.js.map +1 -0
- package/dist/config.d.ts +42 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -1
- package/dist/terminal-utils.d.ts +19 -1
- package/dist/terminal-utils.d.ts.map +1 -1
- package/dist/terminal-utils.js +102 -6
- package/dist/terminal-utils.js.map +1 -1
- package/dist/worktree-utils.d.ts.map +1 -1
- package/dist/worktree-utils.js +39 -3
- package/dist/worktree-utils.js.map +1 -1
- package/package.json +1 -1
package/dist/worktree-utils.js
CHANGED
|
@@ -5,11 +5,20 @@
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { exec } from 'child_process';
|
|
7
7
|
import { promisify } from 'util';
|
|
8
|
-
import { existsSync, copyFileSync, cpSync, lstatSync, mkdirSync } from 'fs';
|
|
8
|
+
import { existsSync, copyFileSync, cpSync, lstatSync, mkdirSync, rmSync, symlinkSync } from 'fs';
|
|
9
9
|
import { join, dirname } from 'path';
|
|
10
10
|
import { getWorktreeConfig, getConfig } from './config.js';
|
|
11
11
|
import { createWorktree as coreCreateWorktree, generateWorktreePath, getWorktreeForBranch, getRepositoryRoot, checkoutBranch, GitError, } from './git-utils.js';
|
|
12
12
|
const execAsync = promisify(exec);
|
|
13
|
+
/** lstatSync that returns null instead of throwing when path doesn't exist. */
|
|
14
|
+
function lstatSync_safe(filePath) {
|
|
15
|
+
try {
|
|
16
|
+
return lstatSync(filePath);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
13
22
|
/**
|
|
14
23
|
* Setup a worktree for parallel work: copy configured files and run setup command.
|
|
15
24
|
*
|
|
@@ -18,7 +27,7 @@ const execAsync = promisify(exec);
|
|
|
18
27
|
*/
|
|
19
28
|
export async function setupWorktree(worktreePath, sourcePath) {
|
|
20
29
|
const config = getWorktreeConfig();
|
|
21
|
-
// Copy configured files
|
|
30
|
+
// Copy configured files/dirs
|
|
22
31
|
for (const file of config.copyFiles) {
|
|
23
32
|
const srcFile = join(sourcePath, file);
|
|
24
33
|
const destFile = join(worktreePath, file);
|
|
@@ -27,7 +36,6 @@ export async function setupWorktree(worktreePath, sourcePath) {
|
|
|
27
36
|
cpSync(srcFile, destFile, { recursive: true });
|
|
28
37
|
}
|
|
29
38
|
else {
|
|
30
|
-
// Ensure destination directory exists
|
|
31
39
|
const destDir = dirname(destFile);
|
|
32
40
|
if (!existsSync(destDir)) {
|
|
33
41
|
mkdirSync(destDir, { recursive: true });
|
|
@@ -37,6 +45,34 @@ export async function setupWorktree(worktreePath, sourcePath) {
|
|
|
37
45
|
console.log(chalk.dim(` Copied ${file}`));
|
|
38
46
|
}
|
|
39
47
|
}
|
|
48
|
+
// Symlink configured files/dirs (processed after copies, so a linkFile can
|
|
49
|
+
// replace a subdirectory that was just copied — e.g. copy .ragtime/ then
|
|
50
|
+
// symlink .ragtime/index/ back to the source to share the vector DB)
|
|
51
|
+
for (const file of config.linkFiles) {
|
|
52
|
+
const srcFile = join(sourcePath, file);
|
|
53
|
+
const destFile = join(worktreePath, file);
|
|
54
|
+
if (!lstatSync_safe(srcFile))
|
|
55
|
+
continue;
|
|
56
|
+
// If something already exists at the destination (e.g. copied in the
|
|
57
|
+
// previous loop), remove it so we can replace it with the symlink.
|
|
58
|
+
// Use lstat (not stat) so we catch dangling symlinks too.
|
|
59
|
+
const existing = lstatSync_safe(destFile);
|
|
60
|
+
if (existing) {
|
|
61
|
+
if (existing.isDirectory()) {
|
|
62
|
+
rmSync(destFile, { recursive: true, force: true });
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
rmSync(destFile, { force: true });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Ensure the parent directory exists
|
|
69
|
+
const destDir = dirname(destFile);
|
|
70
|
+
if (!existsSync(destDir)) {
|
|
71
|
+
mkdirSync(destDir, { recursive: true });
|
|
72
|
+
}
|
|
73
|
+
symlinkSync(srcFile, destFile);
|
|
74
|
+
console.log(chalk.dim(` Linked ${file}`));
|
|
75
|
+
}
|
|
40
76
|
// Run setup command if enabled
|
|
41
77
|
if (config.autoSetup && config.setupCommand) {
|
|
42
78
|
console.log(chalk.dim(` Running: ${config.setupCommand}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-utils.js","sourceRoot":"","sources":["../src/worktree-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-utils.js","sourceRoot":"","sources":["../src/worktree-utils.ts"],"names":[],"mappings":"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"}
|