ctx-sync 1.3.0 → 1.3.2
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/docker.d.ts +46 -2
- package/dist/commands/docker.d.ts.map +1 -1
- package/dist/commands/docker.js +102 -14
- package/dist/commands/docker.js.map +1 -1
- package/dist/commands/restore.d.ts +41 -10
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +80 -24
- package/dist/commands/restore.js.map +1 -1
- package/dist/core/git-sync.d.ts +5 -2
- package/dist/core/git-sync.d.ts.map +1 -1
- package/dist/core/git-sync.js +6 -3
- package/dist/core/git-sync.js.map +1 -1
- package/node_modules/@ctx-sync/shared/dist/constants.d.ts +1 -1
- package/node_modules/@ctx-sync/shared/dist/constants.js +1 -1
- package/package.json +1 -1
|
@@ -42,6 +42,8 @@ export interface DockerTrackResult {
|
|
|
42
42
|
export interface DockerStartOptions {
|
|
43
43
|
/** Non-interactive mode: show commands but skip execution */
|
|
44
44
|
noInteractive?: boolean;
|
|
45
|
+
/** Explicit local path override for the project directory (cross-machine support) */
|
|
46
|
+
localPath?: string;
|
|
45
47
|
/** Override prompt function (for testing) */
|
|
46
48
|
promptFn?: (commands: PendingCommand[]) => Promise<'all' | 'none' | 'select'>;
|
|
47
49
|
/** Override per-command select function (for testing) */
|
|
@@ -62,6 +64,15 @@ export interface DockerStartResult {
|
|
|
62
64
|
command: string;
|
|
63
65
|
error: string;
|
|
64
66
|
}>;
|
|
67
|
+
/** The resolved local directory used for Docker commands */
|
|
68
|
+
localPath?: string;
|
|
69
|
+
/** Whether the path was resolved differently from the stored compose file dir */
|
|
70
|
+
pathResolved: boolean;
|
|
71
|
+
}
|
|
72
|
+
/** Options for docker stop */
|
|
73
|
+
export interface DockerStopOptions {
|
|
74
|
+
/** Explicit local path override for the project directory (cross-machine support) */
|
|
75
|
+
localPath?: string;
|
|
65
76
|
}
|
|
66
77
|
/** Result of docker stop */
|
|
67
78
|
export interface DockerStopResult {
|
|
@@ -73,6 +84,10 @@ export interface DockerStopResult {
|
|
|
73
84
|
stopped: boolean;
|
|
74
85
|
/** Error message if stop failed */
|
|
75
86
|
error?: string;
|
|
87
|
+
/** The resolved local directory used for Docker commands */
|
|
88
|
+
localPath?: string;
|
|
89
|
+
/** Whether the path was resolved differently from the stored compose file dir */
|
|
90
|
+
pathResolved: boolean;
|
|
76
91
|
}
|
|
77
92
|
/** Docker service status info */
|
|
78
93
|
export interface DockerServiceStatus {
|
|
@@ -96,6 +111,24 @@ export interface DockerStatusResult {
|
|
|
96
111
|
services: DockerServiceStatus[];
|
|
97
112
|
}>;
|
|
98
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Resolve the effective directory for Docker Compose operations.
|
|
116
|
+
*
|
|
117
|
+
* Uses the following resolution order (first match wins):
|
|
118
|
+
* 1. Explicit `--path` override from the user.
|
|
119
|
+
* 2. Stored compose directory exists on disk — same machine or identical layout.
|
|
120
|
+
* 3. Fallback — use `process.cwd()`.
|
|
121
|
+
*
|
|
122
|
+
* @param storedComposeFile - The absolute compose file path stored in encrypted state.
|
|
123
|
+
* @param options - Options with optional `localPath` override.
|
|
124
|
+
* @returns An object with the resolved directory and whether it differs from the stored dir.
|
|
125
|
+
*/
|
|
126
|
+
export declare function resolveDockerComposeDir(storedComposeFile: string, options?: {
|
|
127
|
+
localPath?: string;
|
|
128
|
+
}): {
|
|
129
|
+
resolvedDir: string;
|
|
130
|
+
pathResolved: boolean;
|
|
131
|
+
};
|
|
99
132
|
/**
|
|
100
133
|
* Execute Docker track: detect and save Docker Compose state.
|
|
101
134
|
*
|
|
@@ -106,14 +139,21 @@ export declare function executeDockerTrack(options?: DockerTrackOptions): Promis
|
|
|
106
139
|
/**
|
|
107
140
|
* Build pending commands from tracked Docker services.
|
|
108
141
|
*
|
|
142
|
+
* Supports cross-machine path resolution: when `localPath` is provided or
|
|
143
|
+
* the stored compose directory doesn't exist, commands use the resolved path.
|
|
144
|
+
*
|
|
109
145
|
* @param projectName - The project name.
|
|
110
146
|
* @param projectDocker - The Docker state for the project.
|
|
147
|
+
* @param localPath - Optional override for the project directory (cross-machine support).
|
|
111
148
|
* @returns List of pending commands for approval.
|
|
112
149
|
*/
|
|
113
|
-
export declare function buildDockerStartCommands(projectName: string, projectDocker: DockerState[string]): PendingCommand[];
|
|
150
|
+
export declare function buildDockerStartCommands(projectName: string, projectDocker: DockerState[string], localPath?: string): PendingCommand[];
|
|
114
151
|
/**
|
|
115
152
|
* Execute Docker start: show Docker commands for approval and execute.
|
|
116
153
|
*
|
|
154
|
+
* Supports cross-machine path resolution via `--path` option. When the
|
|
155
|
+
* stored compose directory doesn't exist, falls back to `--path` or `cwd`.
|
|
156
|
+
*
|
|
117
157
|
* @param projectName - The project name.
|
|
118
158
|
* @param options - Start options.
|
|
119
159
|
* @returns Start result.
|
|
@@ -122,10 +162,14 @@ export declare function executeDockerStart(projectName: string, options?: Docker
|
|
|
122
162
|
/**
|
|
123
163
|
* Execute Docker stop: stop all tracked services for a project.
|
|
124
164
|
*
|
|
165
|
+
* Supports cross-machine path resolution via `--path` option. When the
|
|
166
|
+
* stored compose directory doesn't exist, falls back to `--path` or `cwd`.
|
|
167
|
+
*
|
|
125
168
|
* @param projectName - The project name.
|
|
169
|
+
* @param options - Stop options (optional).
|
|
126
170
|
* @returns Stop result.
|
|
127
171
|
*/
|
|
128
|
-
export declare function executeDockerStop(projectName: string): Promise<DockerStopResult>;
|
|
172
|
+
export declare function executeDockerStop(projectName: string, options?: DockerStopOptions): Promise<DockerStopResult>;
|
|
129
173
|
/**
|
|
130
174
|
* Execute Docker status: show all tracked Docker projects and services.
|
|
131
175
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/commands/docker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAU/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAanF,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IAC9E,yDAAyD;IACzD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE;AAED,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,iBAAiB,EAAE,cAAc,EAAE,CAAC;IACpC,sBAAsB;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,2BAA2B;IAC3B,cAAc,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/commands/docker.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/docker.js
CHANGED
|
@@ -25,6 +25,34 @@ import { commitState } from '../core/git-sync.js';
|
|
|
25
25
|
import { formatCommandsForDisplay, presentCommandsForApproval, } from '../core/command-validator.js';
|
|
26
26
|
import { detectDockerCompose, buildDockerStateEntry, saveDockerState, loadDockerState, loadAllDockerState, isDockerAvailable, } from '../core/docker-handler.js';
|
|
27
27
|
import { getConfigDir, getSyncDir } from './init.js';
|
|
28
|
+
// ─── Path Resolution ──────────────────────────────────────────────────────
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the effective directory for Docker Compose operations.
|
|
31
|
+
*
|
|
32
|
+
* Uses the following resolution order (first match wins):
|
|
33
|
+
* 1. Explicit `--path` override from the user.
|
|
34
|
+
* 2. Stored compose directory exists on disk — same machine or identical layout.
|
|
35
|
+
* 3. Fallback — use `process.cwd()`.
|
|
36
|
+
*
|
|
37
|
+
* @param storedComposeFile - The absolute compose file path stored in encrypted state.
|
|
38
|
+
* @param options - Options with optional `localPath` override.
|
|
39
|
+
* @returns An object with the resolved directory and whether it differs from the stored dir.
|
|
40
|
+
*/
|
|
41
|
+
export function resolveDockerComposeDir(storedComposeFile, options = {}) {
|
|
42
|
+
const storedDir = path.dirname(storedComposeFile);
|
|
43
|
+
// 1. Explicit --path override
|
|
44
|
+
if (options.localPath) {
|
|
45
|
+
const resolved = path.resolve(options.localPath);
|
|
46
|
+
return { resolvedDir: resolved, pathResolved: resolved !== storedDir };
|
|
47
|
+
}
|
|
48
|
+
// 2. Stored dir exists on this machine
|
|
49
|
+
if (fs.existsSync(storedDir)) {
|
|
50
|
+
return { resolvedDir: storedDir, pathResolved: false };
|
|
51
|
+
}
|
|
52
|
+
// 3. Fallback to cwd
|
|
53
|
+
const cwd = process.cwd();
|
|
54
|
+
return { resolvedDir: cwd, pathResolved: true };
|
|
55
|
+
}
|
|
28
56
|
// ─── Track Logic ──────────────────────────────────────────────────────────
|
|
29
57
|
/**
|
|
30
58
|
* Execute Docker track: detect and save Docker Compose state.
|
|
@@ -79,12 +107,20 @@ export async function executeDockerTrack(options = {}) {
|
|
|
79
107
|
/**
|
|
80
108
|
* Build pending commands from tracked Docker services.
|
|
81
109
|
*
|
|
110
|
+
* Supports cross-machine path resolution: when `localPath` is provided or
|
|
111
|
+
* the stored compose directory doesn't exist, commands use the resolved path.
|
|
112
|
+
*
|
|
82
113
|
* @param projectName - The project name.
|
|
83
114
|
* @param projectDocker - The Docker state for the project.
|
|
115
|
+
* @param localPath - Optional override for the project directory (cross-machine support).
|
|
84
116
|
* @returns List of pending commands for approval.
|
|
85
117
|
*/
|
|
86
|
-
export function buildDockerStartCommands(projectName, projectDocker) {
|
|
118
|
+
export function buildDockerStartCommands(projectName, projectDocker, localPath) {
|
|
87
119
|
const commands = [];
|
|
120
|
+
// Resolve compose directory with cross-machine fallback
|
|
121
|
+
const resolvedCwd = projectDocker.composeFile
|
|
122
|
+
? resolveDockerComposeDir(projectDocker.composeFile, { localPath }).resolvedDir
|
|
123
|
+
: localPath ?? undefined;
|
|
88
124
|
for (const service of projectDocker.services) {
|
|
89
125
|
if (service.autoStart) {
|
|
90
126
|
commands.push({
|
|
@@ -92,9 +128,7 @@ export function buildDockerStartCommands(projectName, projectDocker) {
|
|
|
92
128
|
label: '🐳 Docker services',
|
|
93
129
|
port: service.port > 0 ? service.port : undefined,
|
|
94
130
|
image: service.image || undefined,
|
|
95
|
-
cwd:
|
|
96
|
-
? path.dirname(projectDocker.composeFile)
|
|
97
|
-
: undefined,
|
|
131
|
+
cwd: resolvedCwd,
|
|
98
132
|
});
|
|
99
133
|
}
|
|
100
134
|
}
|
|
@@ -103,6 +137,9 @@ export function buildDockerStartCommands(projectName, projectDocker) {
|
|
|
103
137
|
/**
|
|
104
138
|
* Execute Docker start: show Docker commands for approval and execute.
|
|
105
139
|
*
|
|
140
|
+
* Supports cross-machine path resolution via `--path` option. When the
|
|
141
|
+
* stored compose directory doesn't exist, falls back to `--path` or `cwd`.
|
|
142
|
+
*
|
|
106
143
|
* @param projectName - The project name.
|
|
107
144
|
* @param options - Start options.
|
|
108
145
|
* @returns Start result.
|
|
@@ -120,8 +157,22 @@ export async function executeDockerStart(projectName, options = {}) {
|
|
|
120
157
|
throw new Error(`No Docker state found for project "${projectName}".\n` +
|
|
121
158
|
'Run `ctx-sync docker track` in the project directory first.');
|
|
122
159
|
}
|
|
123
|
-
//
|
|
124
|
-
|
|
160
|
+
// Resolve compose directory (cross-machine support)
|
|
161
|
+
let resolvedLocalPath;
|
|
162
|
+
let pathResolved = false;
|
|
163
|
+
if (projectDocker.composeFile) {
|
|
164
|
+
const resolution = resolveDockerComposeDir(projectDocker.composeFile, {
|
|
165
|
+
localPath: options.localPath,
|
|
166
|
+
});
|
|
167
|
+
resolvedLocalPath = resolution.resolvedDir;
|
|
168
|
+
pathResolved = resolution.pathResolved;
|
|
169
|
+
if (pathResolved && !options.localPath) {
|
|
170
|
+
// Warn when falling back to cwd (not an explicit override)
|
|
171
|
+
console.warn(`⚠️ Stored compose path "${projectDocker.composeFile}" not found on this machine. Using "${resolvedLocalPath}" instead.`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Build commands with resolved path
|
|
175
|
+
const commandsPresented = buildDockerStartCommands(projectName, projectDocker, options.localPath ? path.resolve(options.localPath) : undefined);
|
|
125
176
|
if (commandsPresented.length === 0) {
|
|
126
177
|
return {
|
|
127
178
|
projectName,
|
|
@@ -129,6 +180,8 @@ export async function executeDockerStart(projectName, options = {}) {
|
|
|
129
180
|
approval: { approved: [], rejected: [], skippedAll: false },
|
|
130
181
|
executedCommands: [],
|
|
131
182
|
failedCommands: [],
|
|
183
|
+
localPath: resolvedLocalPath,
|
|
184
|
+
pathResolved,
|
|
132
185
|
};
|
|
133
186
|
}
|
|
134
187
|
// Present for approval
|
|
@@ -160,16 +213,22 @@ export async function executeDockerStart(projectName, options = {}) {
|
|
|
160
213
|
approval,
|
|
161
214
|
executedCommands,
|
|
162
215
|
failedCommands,
|
|
216
|
+
localPath: resolvedLocalPath,
|
|
217
|
+
pathResolved,
|
|
163
218
|
};
|
|
164
219
|
}
|
|
165
220
|
// ─── Stop Logic ───────────────────────────────────────────────────────────
|
|
166
221
|
/**
|
|
167
222
|
* Execute Docker stop: stop all tracked services for a project.
|
|
168
223
|
*
|
|
224
|
+
* Supports cross-machine path resolution via `--path` option. When the
|
|
225
|
+
* stored compose directory doesn't exist, falls back to `--path` or `cwd`.
|
|
226
|
+
*
|
|
169
227
|
* @param projectName - The project name.
|
|
228
|
+
* @param options - Stop options (optional).
|
|
170
229
|
* @returns Stop result.
|
|
171
230
|
*/
|
|
172
|
-
export async function executeDockerStop(projectName) {
|
|
231
|
+
export async function executeDockerStop(projectName, options = {}) {
|
|
173
232
|
const configDir = getConfigDir();
|
|
174
233
|
const syncDir = getSyncDir();
|
|
175
234
|
if (!fs.existsSync(syncDir) || !fs.existsSync(path.join(syncDir, '.git'))) {
|
|
@@ -183,17 +242,32 @@ export async function executeDockerStop(projectName) {
|
|
|
183
242
|
composeFound: false,
|
|
184
243
|
stopped: false,
|
|
185
244
|
error: `No Docker state found for project "${projectName}".`,
|
|
245
|
+
pathResolved: false,
|
|
186
246
|
};
|
|
187
247
|
}
|
|
188
|
-
|
|
189
|
-
? path.dirname(projectDocker.composeFile)
|
|
190
|
-
: null;
|
|
191
|
-
if (!composeDir || !fs.existsSync(composeDir)) {
|
|
248
|
+
if (!projectDocker.composeFile) {
|
|
192
249
|
return {
|
|
193
250
|
projectName,
|
|
194
251
|
composeFound: false,
|
|
195
252
|
stopped: false,
|
|
196
|
-
error:
|
|
253
|
+
error: 'No compose file path stored for this project.',
|
|
254
|
+
pathResolved: false,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
// Resolve compose directory (cross-machine support)
|
|
258
|
+
const { resolvedDir: composeDir, pathResolved } = resolveDockerComposeDir(projectDocker.composeFile, { localPath: options.localPath });
|
|
259
|
+
if (pathResolved && !options.localPath) {
|
|
260
|
+
// Warn when falling back to cwd (not an explicit override)
|
|
261
|
+
console.warn(`⚠️ Stored compose path "${projectDocker.composeFile}" not found on this machine. Using "${composeDir}" instead.`);
|
|
262
|
+
}
|
|
263
|
+
if (!fs.existsSync(composeDir)) {
|
|
264
|
+
return {
|
|
265
|
+
projectName,
|
|
266
|
+
composeFound: false,
|
|
267
|
+
stopped: false,
|
|
268
|
+
error: `Compose directory not found: ${composeDir}`,
|
|
269
|
+
localPath: composeDir,
|
|
270
|
+
pathResolved,
|
|
197
271
|
};
|
|
198
272
|
}
|
|
199
273
|
try {
|
|
@@ -206,6 +280,8 @@ export async function executeDockerStop(projectName) {
|
|
|
206
280
|
projectName,
|
|
207
281
|
composeFound: true,
|
|
208
282
|
stopped: true,
|
|
283
|
+
localPath: composeDir,
|
|
284
|
+
pathResolved,
|
|
209
285
|
};
|
|
210
286
|
}
|
|
211
287
|
catch (err) {
|
|
@@ -215,6 +291,8 @@ export async function executeDockerStop(projectName) {
|
|
|
215
291
|
composeFound: true,
|
|
216
292
|
stopped: false,
|
|
217
293
|
error: message,
|
|
294
|
+
localPath: composeDir,
|
|
295
|
+
pathResolved,
|
|
218
296
|
};
|
|
219
297
|
}
|
|
220
298
|
}
|
|
@@ -293,9 +371,11 @@ export function registerDockerCommand(program) {
|
|
|
293
371
|
.command('start <project>')
|
|
294
372
|
.description('Start tracked Docker services (with confirmation)')
|
|
295
373
|
.option('--no-interactive', 'Show commands but skip execution')
|
|
374
|
+
.option('--path <dir>', 'Local project directory (use when Docker Compose is at a different path on this machine)')
|
|
296
375
|
.action(withErrorHandler(async (projectName, opts) => {
|
|
297
376
|
const options = {
|
|
298
377
|
noInteractive: opts['interactive'] === false,
|
|
378
|
+
localPath: opts['path'],
|
|
299
379
|
};
|
|
300
380
|
const chalk = (await import('chalk')).default;
|
|
301
381
|
if (!isDockerAvailable()) {
|
|
@@ -308,6 +388,10 @@ export function registerDockerCommand(program) {
|
|
|
308
388
|
console.log(chalk.yellow('No auto-start Docker services configured.'));
|
|
309
389
|
return;
|
|
310
390
|
}
|
|
391
|
+
// Show path resolution info if path differs
|
|
392
|
+
if (result.pathResolved && result.localPath) {
|
|
393
|
+
console.log(chalk.dim(` Using project directory: ${result.localPath}`));
|
|
394
|
+
}
|
|
311
395
|
console.log(chalk.yellow('\n⚠️ The following Docker commands will be executed:'));
|
|
312
396
|
console.log(formatCommandsForDisplay(result.commandsPresented));
|
|
313
397
|
console.log('');
|
|
@@ -330,7 +414,8 @@ export function registerDockerCommand(program) {
|
|
|
330
414
|
docker
|
|
331
415
|
.command('stop <project>')
|
|
332
416
|
.description('Stop tracked Docker services')
|
|
333
|
-
.
|
|
417
|
+
.option('--path <dir>', 'Local project directory (use when Docker Compose is at a different path on this machine)')
|
|
418
|
+
.action(withErrorHandler(async (projectName, opts) => {
|
|
334
419
|
const chalk = (await import('chalk')).default;
|
|
335
420
|
const { default: ora } = await import('ora');
|
|
336
421
|
if (!isDockerAvailable()) {
|
|
@@ -338,8 +423,11 @@ export function registerDockerCommand(program) {
|
|
|
338
423
|
process.exitCode = 1;
|
|
339
424
|
return;
|
|
340
425
|
}
|
|
426
|
+
const stopOptions = {
|
|
427
|
+
localPath: opts['path'],
|
|
428
|
+
};
|
|
341
429
|
const spinner = ora(`Stopping Docker services for ${projectName}...`).start();
|
|
342
|
-
const result = await executeDockerStop(projectName);
|
|
430
|
+
const result = await executeDockerStop(projectName, stopOptions);
|
|
343
431
|
spinner.stop();
|
|
344
432
|
if (!result.composeFound) {
|
|
345
433
|
console.log(chalk.yellow(result.error ?? 'No Docker state found.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/commands/docker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/commands/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,19 @@
|
|
|
4
4
|
* Decrypts all state files and restores a project's context on a new
|
|
5
5
|
* (or existing) machine:
|
|
6
6
|
* 1. Decrypt state.age → find the project entry.
|
|
7
|
-
* 2.
|
|
8
|
-
* 3. Display
|
|
9
|
-
* 4.
|
|
10
|
-
* 5.
|
|
11
|
-
* 6.
|
|
12
|
-
* 7.
|
|
13
|
-
* 8.
|
|
7
|
+
* 2. Resolve local project path (cross-machine path resolution via `--path`).
|
|
8
|
+
* 3. Display project info (directory, branch, env var count).
|
|
9
|
+
* 4. Display mental context (if available).
|
|
10
|
+
* 5. Collect commands to execute (Docker services, auto-start services).
|
|
11
|
+
* 6. Present commands for user approval (MANDATORY — no bypass).
|
|
12
|
+
* 7. Execute approved commands.
|
|
13
|
+
* 8. Set up env vars (.env file) in the project directory.
|
|
14
|
+
* 9. Checkout correct git branch (if repo exists locally).
|
|
15
|
+
*
|
|
16
|
+
* **Cross-machine support:** When the stored `project.path` does not exist
|
|
17
|
+
* on the current machine (common when restoring on a different OS or file
|
|
18
|
+
* layout), the `--path <dir>` flag allows overriding the project directory.
|
|
19
|
+
* Without the flag, restore falls back to `process.cwd()` with a warning.
|
|
14
20
|
*
|
|
15
21
|
* **Security:** Commands are NEVER auto-executed. There is no `--yes` or
|
|
16
22
|
* `--no-confirm` flag. In `--no-interactive` mode, commands are displayed
|
|
@@ -27,6 +33,8 @@ export interface RestoreOptions {
|
|
|
27
33
|
noInteractive?: boolean;
|
|
28
34
|
/** Skip pulling from remote before restoring */
|
|
29
35
|
noPull?: boolean;
|
|
36
|
+
/** Explicit local path override for the project directory (cross-machine support) */
|
|
37
|
+
localPath?: string;
|
|
30
38
|
/** Override for the prompt function (for testing) */
|
|
31
39
|
promptFn?: (commands: PendingCommand[]) => Promise<'all' | 'none' | 'select'>;
|
|
32
40
|
/** Override for the select function (for testing) */
|
|
@@ -57,19 +65,25 @@ export interface RestoreResult {
|
|
|
57
65
|
command: string;
|
|
58
66
|
error: string;
|
|
59
67
|
}>;
|
|
68
|
+
/** The resolved local path used for this restore (may differ from project.path) */
|
|
69
|
+
localPath: string;
|
|
70
|
+
/** Whether the path was resolved differently from the stored project.path */
|
|
71
|
+
pathResolved: boolean;
|
|
60
72
|
}
|
|
61
73
|
/**
|
|
62
74
|
* Collect all commands that need to be executed for a project restore.
|
|
63
75
|
*
|
|
64
76
|
* Gathers Docker service commands and auto-start service commands from
|
|
65
|
-
* the encrypted state files.
|
|
77
|
+
* the encrypted state files. Supports cross-machine path resolution for
|
|
78
|
+
* Docker commands via the `localPath` parameter.
|
|
66
79
|
*
|
|
67
80
|
* @param projectName - The name of the project to restore.
|
|
68
81
|
* @param syncDir - The sync directory path.
|
|
69
82
|
* @param privateKey - The Age private key for decryption.
|
|
83
|
+
* @param localPath - Optional resolved local path for cross-machine support.
|
|
70
84
|
* @returns List of pending commands for approval.
|
|
71
85
|
*/
|
|
72
|
-
export declare function collectRestoreCommands(projectName: string, syncDir: string, privateKey: string): Promise<PendingCommand[]>;
|
|
86
|
+
export declare function collectRestoreCommands(projectName: string, syncDir: string, privateKey: string, localPath?: string): Promise<PendingCommand[]>;
|
|
73
87
|
/**
|
|
74
88
|
* Write env vars to a .env file in the project directory.
|
|
75
89
|
*
|
|
@@ -95,11 +109,28 @@ export declare function writeEnvFile(projectPath: string, envVars: Record<string
|
|
|
95
109
|
* @returns Whether the branch was checked out.
|
|
96
110
|
*/
|
|
97
111
|
export declare function checkoutBranch(projectPath: string, branch: string): Promise<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* Resolve the effective local path for a project during restore.
|
|
114
|
+
*
|
|
115
|
+
* Uses the following resolution order (first match wins):
|
|
116
|
+
* 1. Explicit `--path` override from the user.
|
|
117
|
+
* 2. Stored path exists on disk — same machine or identical layout.
|
|
118
|
+
* 3. Non-interactive fallback — use `process.cwd()` and log a warning.
|
|
119
|
+
*
|
|
120
|
+
* @param storedPath - The absolute path stored in the encrypted state (from the tracking machine).
|
|
121
|
+
* @param options - Restore command options (may contain `localPath` override).
|
|
122
|
+
* @returns An object with the resolved path and whether it differs from the stored path.
|
|
123
|
+
*/
|
|
124
|
+
export declare function resolveLocalPath(storedPath: string, options?: Pick<RestoreOptions, 'localPath' | 'noInteractive'>): {
|
|
125
|
+
resolvedPath: string;
|
|
126
|
+
pathResolved: boolean;
|
|
127
|
+
};
|
|
98
128
|
/**
|
|
99
129
|
* Execute the restore command logic.
|
|
100
130
|
*
|
|
101
131
|
* Decrypts state, displays project context, presents commands for
|
|
102
|
-
* approval, and restores env vars and git branch.
|
|
132
|
+
* approval, and restores env vars and git branch. Supports cross-machine
|
|
133
|
+
* restore via `--path` flag or automatic path fallback.
|
|
103
134
|
*
|
|
104
135
|
* @param projectName - The name of the project to restore.
|
|
105
136
|
* @param options - Restore command options.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/restore.js
CHANGED
|
@@ -4,13 +4,19 @@
|
|
|
4
4
|
* Decrypts all state files and restores a project's context on a new
|
|
5
5
|
* (or existing) machine:
|
|
6
6
|
* 1. Decrypt state.age → find the project entry.
|
|
7
|
-
* 2.
|
|
8
|
-
* 3. Display
|
|
9
|
-
* 4.
|
|
10
|
-
* 5.
|
|
11
|
-
* 6.
|
|
12
|
-
* 7.
|
|
13
|
-
* 8.
|
|
7
|
+
* 2. Resolve local project path (cross-machine path resolution via `--path`).
|
|
8
|
+
* 3. Display project info (directory, branch, env var count).
|
|
9
|
+
* 4. Display mental context (if available).
|
|
10
|
+
* 5. Collect commands to execute (Docker services, auto-start services).
|
|
11
|
+
* 6. Present commands for user approval (MANDATORY — no bypass).
|
|
12
|
+
* 7. Execute approved commands.
|
|
13
|
+
* 8. Set up env vars (.env file) in the project directory.
|
|
14
|
+
* 9. Checkout correct git branch (if repo exists locally).
|
|
15
|
+
*
|
|
16
|
+
* **Cross-machine support:** When the stored `project.path` does not exist
|
|
17
|
+
* on the current machine (common when restoring on a different OS or file
|
|
18
|
+
* layout), the `--path <dir>` flag allows overriding the project directory.
|
|
19
|
+
* Without the flag, restore falls back to `process.cwd()` with a warning.
|
|
14
20
|
*
|
|
15
21
|
* **Security:** Commands are NEVER auto-executed. There is no `--yes` or
|
|
16
22
|
* `--no-confirm` flag. In `--no-interactive` mode, commands are displayed
|
|
@@ -30,20 +36,29 @@ import { withErrorHandler } from '../utils/errors.js';
|
|
|
30
36
|
* Collect all commands that need to be executed for a project restore.
|
|
31
37
|
*
|
|
32
38
|
* Gathers Docker service commands and auto-start service commands from
|
|
33
|
-
* the encrypted state files.
|
|
39
|
+
* the encrypted state files. Supports cross-machine path resolution for
|
|
40
|
+
* Docker commands via the `localPath` parameter.
|
|
34
41
|
*
|
|
35
42
|
* @param projectName - The name of the project to restore.
|
|
36
43
|
* @param syncDir - The sync directory path.
|
|
37
44
|
* @param privateKey - The Age private key for decryption.
|
|
45
|
+
* @param localPath - Optional resolved local path for cross-machine support.
|
|
38
46
|
* @returns List of pending commands for approval.
|
|
39
47
|
*/
|
|
40
|
-
export async function collectRestoreCommands(projectName, syncDir, privateKey) {
|
|
48
|
+
export async function collectRestoreCommands(projectName, syncDir, privateKey, localPath) {
|
|
41
49
|
const commands = [];
|
|
42
|
-
// Collect Docker service commands
|
|
50
|
+
// Collect Docker service commands (with cross-machine path resolution)
|
|
43
51
|
const dockerState = await readState(syncDir, privateKey, 'docker-state');
|
|
44
52
|
if (dockerState && dockerState[projectName]) {
|
|
45
53
|
const projectDocker = dockerState[projectName];
|
|
46
54
|
if (projectDocker) {
|
|
55
|
+
// Resolve compose directory: use stored path if it exists, otherwise fall back to localPath
|
|
56
|
+
const storedComposeDir = projectDocker.composeFile
|
|
57
|
+
? path.dirname(projectDocker.composeFile)
|
|
58
|
+
: undefined;
|
|
59
|
+
const resolvedCwd = storedComposeDir && fs.existsSync(storedComposeDir)
|
|
60
|
+
? storedComposeDir
|
|
61
|
+
: localPath ?? storedComposeDir;
|
|
47
62
|
for (const service of projectDocker.services) {
|
|
48
63
|
if (service.autoStart) {
|
|
49
64
|
commands.push({
|
|
@@ -51,9 +66,7 @@ export async function collectRestoreCommands(projectName, syncDir, privateKey) {
|
|
|
51
66
|
label: '🐳 Docker services',
|
|
52
67
|
port: service.port,
|
|
53
68
|
image: service.image,
|
|
54
|
-
cwd:
|
|
55
|
-
? path.dirname(projectDocker.composeFile)
|
|
56
|
-
: undefined,
|
|
69
|
+
cwd: resolvedCwd,
|
|
57
70
|
});
|
|
58
71
|
}
|
|
59
72
|
}
|
|
@@ -137,11 +150,38 @@ export async function checkoutBranch(projectPath, branch) {
|
|
|
137
150
|
return false;
|
|
138
151
|
}
|
|
139
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Resolve the effective local path for a project during restore.
|
|
155
|
+
*
|
|
156
|
+
* Uses the following resolution order (first match wins):
|
|
157
|
+
* 1. Explicit `--path` override from the user.
|
|
158
|
+
* 2. Stored path exists on disk — same machine or identical layout.
|
|
159
|
+
* 3. Non-interactive fallback — use `process.cwd()` and log a warning.
|
|
160
|
+
*
|
|
161
|
+
* @param storedPath - The absolute path stored in the encrypted state (from the tracking machine).
|
|
162
|
+
* @param options - Restore command options (may contain `localPath` override).
|
|
163
|
+
* @returns An object with the resolved path and whether it differs from the stored path.
|
|
164
|
+
*/
|
|
165
|
+
export function resolveLocalPath(storedPath, options = {}) {
|
|
166
|
+
// 1. Explicit --path override
|
|
167
|
+
if (options.localPath) {
|
|
168
|
+
const resolved = path.resolve(options.localPath);
|
|
169
|
+
return { resolvedPath: resolved, pathResolved: resolved !== storedPath };
|
|
170
|
+
}
|
|
171
|
+
// 2. Stored path exists on this machine
|
|
172
|
+
if (fs.existsSync(storedPath)) {
|
|
173
|
+
return { resolvedPath: storedPath, pathResolved: false };
|
|
174
|
+
}
|
|
175
|
+
// 3. Fallback to cwd with a warning
|
|
176
|
+
const cwd = process.cwd();
|
|
177
|
+
return { resolvedPath: cwd, pathResolved: true };
|
|
178
|
+
}
|
|
140
179
|
/**
|
|
141
180
|
* Execute the restore command logic.
|
|
142
181
|
*
|
|
143
182
|
* Decrypts state, displays project context, presents commands for
|
|
144
|
-
* approval, and restores env vars and git branch.
|
|
183
|
+
* approval, and restores env vars and git branch. Supports cross-machine
|
|
184
|
+
* restore via `--path` flag or automatic path fallback.
|
|
145
185
|
*
|
|
146
186
|
* @param projectName - The name of the project to restore.
|
|
147
187
|
* @param options - Restore command options.
|
|
@@ -185,6 +225,12 @@ export async function executeRestore(projectName, options = {}) {
|
|
|
185
225
|
? `Available projects: ${availableNames}`
|
|
186
226
|
: 'No projects tracked yet. Run `ctx-sync track` first.'));
|
|
187
227
|
}
|
|
228
|
+
// Resolve the effective local path (cross-machine support)
|
|
229
|
+
const { resolvedPath: localPath, pathResolved } = resolveLocalPath(project.path, options);
|
|
230
|
+
if (pathResolved && !options.localPath) {
|
|
231
|
+
// Warn when falling back to cwd (not an explicit override)
|
|
232
|
+
console.warn(`⚠️ Stored path "${project.path}" not found on this machine. Using "${localPath}" instead.`);
|
|
233
|
+
}
|
|
188
234
|
// 2. Count env vars
|
|
189
235
|
const envVars = await readState(syncDir, privateKey, 'env-vars');
|
|
190
236
|
const projectEnvVars = envVars?.[project.name] ?? {};
|
|
@@ -192,22 +238,22 @@ export async function executeRestore(projectName, options = {}) {
|
|
|
192
238
|
// 3. Load mental context
|
|
193
239
|
const mentalContextData = await readState(syncDir, privateKey, 'mental-context');
|
|
194
240
|
const mentalContext = mentalContextData?.[project.name] ?? null;
|
|
195
|
-
// 4. Collect commands to be executed
|
|
196
|
-
const commandsPresented = await collectRestoreCommands(project.name, syncDir, privateKey);
|
|
241
|
+
// 4. Collect commands to be executed (pass localPath for Docker cross-machine resolution)
|
|
242
|
+
const commandsPresented = await collectRestoreCommands(project.name, syncDir, privateKey, localPath);
|
|
197
243
|
// 5. Present commands for approval
|
|
198
244
|
const approval = await presentCommandsForApproval(commandsPresented, {
|
|
199
245
|
interactive: !options.noInteractive,
|
|
200
246
|
promptFn: options.promptFn,
|
|
201
247
|
selectFn: options.selectFn,
|
|
202
248
|
});
|
|
203
|
-
// 6. Execute approved commands
|
|
249
|
+
// 6. Execute approved commands (using resolved local path)
|
|
204
250
|
const executedCommands = [];
|
|
205
251
|
const failedCommands = [];
|
|
206
252
|
for (const cmd of approval.approved) {
|
|
207
253
|
try {
|
|
208
254
|
const { execSync } = await import('node:child_process');
|
|
209
255
|
execSync(cmd.command, {
|
|
210
|
-
cwd: cmd.cwd ??
|
|
256
|
+
cwd: cmd.cwd ?? localPath,
|
|
211
257
|
stdio: 'pipe',
|
|
212
258
|
timeout: 60000,
|
|
213
259
|
});
|
|
@@ -218,13 +264,13 @@ export async function executeRestore(projectName, options = {}) {
|
|
|
218
264
|
failedCommands.push({ command: cmd.command, error: message });
|
|
219
265
|
}
|
|
220
266
|
}
|
|
221
|
-
// 7. Write env vars to .env file
|
|
267
|
+
// 7. Write env vars to .env file (using resolved local path)
|
|
222
268
|
let envFileWritten = false;
|
|
223
|
-
if (envVarCount > 0 && fs.existsSync(
|
|
224
|
-
envFileWritten = writeEnvFile(
|
|
269
|
+
if (envVarCount > 0 && fs.existsSync(localPath)) {
|
|
270
|
+
envFileWritten = writeEnvFile(localPath, projectEnvVars);
|
|
225
271
|
}
|
|
226
|
-
// 8. Checkout git branch
|
|
227
|
-
const branchCheckedOut = await checkoutBranch(
|
|
272
|
+
// 8. Checkout git branch (using resolved local path)
|
|
273
|
+
const branchCheckedOut = await checkoutBranch(localPath, project.git.branch);
|
|
228
274
|
return {
|
|
229
275
|
project,
|
|
230
276
|
pulled,
|
|
@@ -236,6 +282,8 @@ export async function executeRestore(projectName, options = {}) {
|
|
|
236
282
|
approval,
|
|
237
283
|
executedCommands,
|
|
238
284
|
failedCommands,
|
|
285
|
+
localPath,
|
|
286
|
+
pathResolved,
|
|
239
287
|
};
|
|
240
288
|
}
|
|
241
289
|
/**
|
|
@@ -296,10 +344,12 @@ export function registerRestoreCommand(program) {
|
|
|
296
344
|
.description('Restore a tracked project on this machine')
|
|
297
345
|
.option('--no-interactive', 'Show commands but skip execution (safe default)')
|
|
298
346
|
.option('--no-pull', 'Skip pulling from remote before restoring')
|
|
347
|
+
.option('--path <dir>', 'Local project directory (use when the project is at a different path on this machine)')
|
|
299
348
|
.action(withErrorHandler(async (projectName, opts) => {
|
|
300
349
|
const options = {
|
|
301
350
|
noInteractive: opts['interactive'] === false,
|
|
302
351
|
noPull: opts['pull'] === false,
|
|
352
|
+
localPath: opts['path'],
|
|
303
353
|
};
|
|
304
354
|
const chalk = (await import('chalk')).default;
|
|
305
355
|
const { default: ora } = await import('ora');
|
|
@@ -313,7 +363,13 @@ export function registerRestoreCommand(program) {
|
|
|
313
363
|
// Display project info
|
|
314
364
|
console.log(chalk.green(`\n✅ Restored: ${result.project.name}`));
|
|
315
365
|
console.log('');
|
|
316
|
-
|
|
366
|
+
if (result.pathResolved) {
|
|
367
|
+
console.log(`📂 Directory: ${result.localPath}`);
|
|
368
|
+
console.log(chalk.dim(` (tracked path: ${result.project.path})`));
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
console.log(`📂 Directory: ${result.localPath}`);
|
|
372
|
+
}
|
|
317
373
|
console.log(`🌿 Branch: ${result.project.git.branch}`);
|
|
318
374
|
console.log(`🔐 Env vars: ${result.envVarCount} decrypted`);
|
|
319
375
|
if (result.branchCheckedOut) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
|
package/dist/core/git-sync.d.ts
CHANGED
|
@@ -12,8 +12,11 @@ import { type SimpleGit } from 'simple-git';
|
|
|
12
12
|
/**
|
|
13
13
|
* Create a simple-git instance with credential prompt suppression.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
* interactive credentials are needed,
|
|
15
|
+
* Passes the full parent environment plus `GIT_TERMINAL_PROMPT=0` so
|
|
16
|
+
* that git fails immediately when interactive credentials are needed,
|
|
17
|
+
* instead of hanging forever. The full env is spread explicitly because
|
|
18
|
+
* simple-git's `.env()` replaces (not merges) the spawn environment.
|
|
19
|
+
*
|
|
17
20
|
* Credential helpers (SSH keys, `gh auth`, git-credential-manager)
|
|
18
21
|
* still work — only the interactive TTY prompt is suppressed.
|
|
19
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-sync.d.ts","sourceRoot":"","sources":["../../src/core/git-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAa,KAAK,SAAS,EAAqB,MAAM,YAAY,CAAC;AAG1E
|
|
1
|
+
{"version":3,"file":"git-sync.d.ts","sourceRoot":"","sources":["../../src/core/git-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAa,KAAK,SAAS,EAAqB,MAAM,YAAY,CAAC;AAG1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAEhD;AAED,mCAAmC;AACnC,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY5D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAiB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAiB,EAC7B,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAiB,EAC7B,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAUhE"}
|
package/dist/core/git-sync.js
CHANGED
|
@@ -15,8 +15,11 @@ import { validateRemoteUrl } from './transport.js';
|
|
|
15
15
|
/**
|
|
16
16
|
* Create a simple-git instance with credential prompt suppression.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
* interactive credentials are needed,
|
|
18
|
+
* Passes the full parent environment plus `GIT_TERMINAL_PROMPT=0` so
|
|
19
|
+
* that git fails immediately when interactive credentials are needed,
|
|
20
|
+
* instead of hanging forever. The full env is spread explicitly because
|
|
21
|
+
* simple-git's `.env()` replaces (not merges) the spawn environment.
|
|
22
|
+
*
|
|
20
23
|
* Credential helpers (SSH keys, `gh auth`, git-credential-manager)
|
|
21
24
|
* still work — only the interactive TTY prompt is suppressed.
|
|
22
25
|
*
|
|
@@ -24,7 +27,7 @@ import { validateRemoteUrl } from './transport.js';
|
|
|
24
27
|
* @returns A configured SimpleGit instance.
|
|
25
28
|
*/
|
|
26
29
|
export function createGit(dir) {
|
|
27
|
-
return simpleGit(dir).env(
|
|
30
|
+
return simpleGit(dir).env({ ...process.env, GIT_TERMINAL_PROMPT: '0' });
|
|
28
31
|
}
|
|
29
32
|
/**
|
|
30
33
|
* Initialise a Git repository in the given directory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-sync.js","sourceRoot":"","sources":["../../src/core/git-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAqC,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"git-sync.js","sourceRoot":"","sources":["../../src/core/git-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shared constants for ctx-sync.
|
|
3
3
|
*/
|
|
4
4
|
/** Current CLI version */
|
|
5
|
-
export declare const VERSION = "1.3.
|
|
5
|
+
export declare const VERSION = "1.3.2";
|
|
6
6
|
/** Default safe-list: env var keys that MAY be stored as plaintext (with --allow-plain) */
|
|
7
7
|
export declare const DEFAULT_SAFE_LIST: readonly string[];
|
|
8
8
|
/** State file names (encrypted) */
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shared constants for ctx-sync.
|
|
3
3
|
*/
|
|
4
4
|
/** Current CLI version */
|
|
5
|
-
export const VERSION = '1.3.
|
|
5
|
+
export const VERSION = '1.3.2';
|
|
6
6
|
/** Default safe-list: env var keys that MAY be stored as plaintext (with --allow-plain) */
|
|
7
7
|
export const DEFAULT_SAFE_LIST = [
|
|
8
8
|
'NODE_ENV',
|