@tinyrack/devsync 1.7.0 → 1.8.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/README.md +2 -0
- package/dist/cli/base-command.d.ts +2 -0
- package/dist/cli/base-command.d.ts.map +1 -1
- package/dist/cli/base-command.js +5 -1
- package/dist/cli/base-command.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +1 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pull.d.ts.map +1 -1
- package/dist/cli/commands/pull.js +2 -1
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +2 -1
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +2 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/track.d.ts.map +1 -1
- package/dist/cli/commands/track.js +6 -4
- package/dist/cli/commands/track.js.map +1 -1
- package/dist/cli/progress-reporter.d.ts +5 -0
- package/dist/cli/progress-reporter.d.ts.map +1 -0
- package/dist/cli/progress-reporter.js +17 -0
- package/dist/cli/progress-reporter.js.map +1 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/output.d.ts +4 -0
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +5 -0
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/progress.d.ts +8 -0
- package/dist/lib/progress.d.ts.map +1 -0
- package/dist/lib/progress.js +7 -0
- package/dist/lib/progress.js.map +1 -0
- package/dist/services/doctor.d.ts +2 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +15 -1
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/git.d.ts +2 -1
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/git.js +81 -4
- package/dist/services/git.js.map +1 -1
- package/dist/services/init.d.ts +2 -1
- package/dist/services/init.d.ts.map +1 -1
- package/dist/services/init.js +25 -4
- package/dist/services/init.js.map +1 -1
- package/dist/services/local-materialization.d.ts +4 -3
- package/dist/services/local-materialization.d.ts.map +1 -1
- package/dist/services/local-materialization.js +52 -19
- package/dist/services/local-materialization.js.map +1 -1
- package/dist/services/local-snapshot.d.ts +2 -1
- package/dist/services/local-snapshot.d.ts.map +1 -1
- package/dist/services/local-snapshot.js +32 -4
- package/dist/services/local-snapshot.js.map +1 -1
- package/dist/services/pull.d.ts +3 -2
- package/dist/services/pull.d.ts.map +1 -1
- package/dist/services/pull.js +15 -7
- package/dist/services/pull.js.map +1 -1
- package/dist/services/push.d.ts +5 -2
- package/dist/services/push.d.ts.map +1 -1
- package/dist/services/push.js +30 -10
- package/dist/services/push.js.map +1 -1
- package/dist/services/repo-artifacts.d.ts +4 -3
- package/dist/services/repo-artifacts.d.ts.map +1 -1
- package/dist/services/repo-artifacts.js +46 -7
- package/dist/services/repo-artifacts.js.map +1 -1
- package/dist/services/repo-snapshot.d.ts +2 -1
- package/dist/services/repo-snapshot.d.ts.map +1 -1
- package/dist/services/repo-snapshot.js +20 -4
- package/dist/services/repo-snapshot.js.map +1 -1
- package/dist/services/status.d.ts +2 -0
- package/dist/services/status.d.ts.map +1 -1
- package/dist/services/status.js +9 -2
- package/dist/services/status.js.map +1 -1
- package/package.json +3 -3
package/dist/services/git.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { execFile } from "node:child_process";
|
|
1
|
+
import { execFile, spawn } from "node:child_process";
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
3
|
import { wrapUnknownError } from "./error.js";
|
|
4
4
|
const execFileAsync = promisify(execFile);
|
|
@@ -26,17 +26,94 @@ const runGitCommand = async (args, options) => {
|
|
|
26
26
|
throw new Error(error instanceof Error ? error.message : "git failed.");
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
+
const forwardGitProgressChunk = (reporter, state, chunk) => {
|
|
30
|
+
if (!reporter?.verbose) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
state.remainder += chunk.replaceAll("\r", "\n");
|
|
34
|
+
const lines = state.remainder.split("\n");
|
|
35
|
+
state.remainder = lines.pop() ?? "";
|
|
36
|
+
for (const line of lines) {
|
|
37
|
+
const trimmed = line.trim();
|
|
38
|
+
if (trimmed.length > 0) {
|
|
39
|
+
reporter.detail(`git: ${trimmed}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const flushGitProgressChunk = (reporter, state) => {
|
|
44
|
+
if (!reporter?.verbose) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const trimmed = state.remainder.trim();
|
|
48
|
+
if (trimmed.length > 0) {
|
|
49
|
+
reporter.detail(`git: ${trimmed}`);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const runStreamingGitCommand = async (args, options) => {
|
|
53
|
+
return await new Promise((resolve, reject) => {
|
|
54
|
+
const child = spawn("git", [...args], {
|
|
55
|
+
cwd: options?.cwd,
|
|
56
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
57
|
+
});
|
|
58
|
+
let settled = false;
|
|
59
|
+
let stdout = "";
|
|
60
|
+
let stderr = "";
|
|
61
|
+
const stdoutState = { remainder: "" };
|
|
62
|
+
const stderrState = { remainder: "" };
|
|
63
|
+
const finish = (handler) => {
|
|
64
|
+
if (settled) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
settled = true;
|
|
68
|
+
handler();
|
|
69
|
+
};
|
|
70
|
+
child.stdout?.setEncoding("utf8");
|
|
71
|
+
child.stderr?.setEncoding("utf8");
|
|
72
|
+
child.stdout?.on("data", (chunk) => {
|
|
73
|
+
stdout += chunk;
|
|
74
|
+
forwardGitProgressChunk(options?.reporter, stdoutState, chunk);
|
|
75
|
+
});
|
|
76
|
+
child.stderr?.on("data", (chunk) => {
|
|
77
|
+
stderr += chunk;
|
|
78
|
+
forwardGitProgressChunk(options?.reporter, stderrState, chunk);
|
|
79
|
+
});
|
|
80
|
+
child.on("error", (error) => {
|
|
81
|
+
finish(() => {
|
|
82
|
+
reject(new Error(error instanceof Error ? error.message : "git failed."));
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
child.on("close", (code) => {
|
|
86
|
+
flushGitProgressChunk(options?.reporter, stdoutState);
|
|
87
|
+
flushGitProgressChunk(options?.reporter, stderrState);
|
|
88
|
+
if (code === 0) {
|
|
89
|
+
finish(() => {
|
|
90
|
+
resolve({ stderr, stdout });
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
finish(() => {
|
|
95
|
+
reject(new Error(stderr.trim() ||
|
|
96
|
+
stdout.trim() ||
|
|
97
|
+
`git exited with code ${code ?? "unknown"}.`));
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
};
|
|
29
102
|
export const ensureRepository = async (directory) => {
|
|
30
103
|
await runGitCommand(["-C", directory, "rev-parse", "--is-inside-work-tree"]);
|
|
31
104
|
};
|
|
32
|
-
export const initializeRepository = async (directory, source) => {
|
|
105
|
+
export const initializeRepository = async (directory, source, reporter) => {
|
|
33
106
|
if (source === undefined) {
|
|
34
|
-
await
|
|
107
|
+
await runStreamingGitCommand(["init", "-b", "main", directory], {
|
|
108
|
+
reporter,
|
|
109
|
+
});
|
|
35
110
|
return {
|
|
36
111
|
action: "initialized",
|
|
37
112
|
};
|
|
38
113
|
}
|
|
39
|
-
await
|
|
114
|
+
await runStreamingGitCommand(["clone", source, directory], {
|
|
115
|
+
reporter,
|
|
116
|
+
});
|
|
40
117
|
return {
|
|
41
118
|
action: "cloned",
|
|
42
119
|
source,
|
package/dist/services/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,aAAa,GAAG,KAAK,EACzB,IAAuB,EACvB,OAAoC,EACpC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YACnD,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAChD,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,MAAM,GACV,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;gBACnD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBACrB,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;YAElD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,QAAsC,EACtC,KAA4B,EAC5B,KAAa,EACb,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE1C,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,QAAsC,EACtC,KAA4B,EAC5B,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAClC,IAAuB,EACvB,OAGE,EACF,EAAE;IACF,OAAO,MAAM,IAAI,OAAO,CAGrB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YACpC,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAG,CAAC,OAAmB,EAAE,EAAE;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC;YAChB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC;YAChB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,CACJ,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAClE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACtD,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEtD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,EAAE;oBACV,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,CACJ,IAAI,KAAK,CACP,MAAM,CAAC,IAAI,EAAE;oBACX,MAAM,CAAC,IAAI,EAAE;oBACb,wBAAwB,IAAI,IAAI,SAAS,GAAG,CAC/C,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;IAC1D,MAAM,aAAa,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,SAAiB,EACjB,MAAe,EACf,QAA2B,EAC3B,EAAE;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,sBAAsB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;YAC9D,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,aAAsB;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,sBAAsB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QACzD,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,QAAiB;QACzB,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAqB,EAAE,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,EAAE;YACnE,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,CAAC,mBAAmB,aAAa,EAAE,CAAC;YAC7C,IAAI,EAAE,4DAA4D;SACnE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
|
package/dist/services/init.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProgressReporter } from "#app/lib/progress.js";
|
|
1
2
|
export type SyncInitRequest = Readonly<{
|
|
2
3
|
ageIdentity?: string;
|
|
3
4
|
generateAgeIdentity?: boolean;
|
|
@@ -17,5 +18,5 @@ export type SyncInitResult = Readonly<{
|
|
|
17
18
|
syncDirectory: string;
|
|
18
19
|
}>;
|
|
19
20
|
export declare const defaultSyncIdentityFile = "$XDG_CONFIG_HOME/devsync/age/keys.txt";
|
|
20
|
-
export declare const initializeSync: (request: SyncInitRequest, environment: NodeJS.ProcessEnv) => Promise<SyncInitResult>;
|
|
21
|
+
export declare const initializeSync: (request: SyncInitRequest, environment: NodeJS.ProcessEnv, reporter?: ProgressReporter) => Promise<SyncInitResult>;
|
|
21
22
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiB7D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,eAAO,MAAM,uBAAuB,0CAA0C,CAAC;AAoL/E,eAAO,MAAM,cAAc,GACzB,SAAS,eAAe,EACxB,aAAa,MAAM,CAAC,UAAU,EAC9B,WAAW,gBAAgB,KAC1B,OAAO,CAAC,cAAc,CA6JxB,CAAC"}
|
package/dist/services/init.js
CHANGED
|
@@ -3,6 +3,7 @@ import { dirname } from "node:path";
|
|
|
3
3
|
import { formatGlobalDevsyncConfig, readGlobalDevsyncConfig, resolveConfiguredIdentityFile, } from "#app/config/global-config.js";
|
|
4
4
|
import { createInitialSyncConfig, formatSyncConfig, parseSyncConfig, readSyncConfig, resolveSyncArtifactsDirectoryPath, } from "#app/config/sync.js";
|
|
5
5
|
import { resolveConfiguredAbsolutePath } from "#app/config/xdg.js";
|
|
6
|
+
import { reportPhase } from "#app/lib/progress.js";
|
|
6
7
|
import { createAgeIdentityFile, readAgeRecipientsFromIdentityFile, writeAgeIdentityFile, } from "./crypto.js";
|
|
7
8
|
import { DevsyncError, wrapUnknownError } from "./error.js";
|
|
8
9
|
import { pathExists, writeTextFileAtomically } from "./filesystem.js";
|
|
@@ -16,11 +17,12 @@ const normalizeRecipients = (recipients) => {
|
|
|
16
17
|
return left.localeCompare(right);
|
|
17
18
|
});
|
|
18
19
|
};
|
|
19
|
-
const resolveInitAgeBootstrap = async (request, environment) => {
|
|
20
|
+
const resolveInitAgeBootstrap = async (request, environment, reporter) => {
|
|
20
21
|
const configuredIdentityFile = request.identityFile?.trim() || defaultSyncIdentityFile;
|
|
21
22
|
const identityFile = resolveConfiguredAbsolutePath(configuredIdentityFile, environment);
|
|
22
23
|
const explicitRecipients = normalizeRecipients(request.recipients);
|
|
23
24
|
if (request.ageIdentity !== undefined) {
|
|
25
|
+
reportPhase(reporter, "Writing age identity file...");
|
|
24
26
|
const { recipient } = await writeAgeIdentityFile(identityFile, request.ageIdentity);
|
|
25
27
|
return {
|
|
26
28
|
configuredIdentityFile,
|
|
@@ -30,12 +32,14 @@ const resolveInitAgeBootstrap = async (request, environment) => {
|
|
|
30
32
|
}
|
|
31
33
|
if (explicitRecipients.length === 0) {
|
|
32
34
|
if (await pathExists(identityFile)) {
|
|
35
|
+
reportPhase(reporter, "Loading age recipients from the existing identity...");
|
|
33
36
|
return {
|
|
34
37
|
configuredIdentityFile,
|
|
35
38
|
generatedIdentity: false,
|
|
36
39
|
recipients: normalizeRecipients(await readAgeRecipientsFromIdentityFile(identityFile)),
|
|
37
40
|
};
|
|
38
41
|
}
|
|
42
|
+
reportPhase(reporter, "Generating a new age identity...");
|
|
39
43
|
const { recipient } = await createAgeIdentityFile(identityFile);
|
|
40
44
|
return {
|
|
41
45
|
configuredIdentityFile,
|
|
@@ -44,6 +48,7 @@ const resolveInitAgeBootstrap = async (request, environment) => {
|
|
|
44
48
|
};
|
|
45
49
|
}
|
|
46
50
|
if (request.generateAgeIdentity === true) {
|
|
51
|
+
reportPhase(reporter, "Generating a new age identity...");
|
|
47
52
|
const { recipient } = await createAgeIdentityFile(identityFile);
|
|
48
53
|
return {
|
|
49
54
|
configuredIdentityFile,
|
|
@@ -52,12 +57,14 @@ const resolveInitAgeBootstrap = async (request, environment) => {
|
|
|
52
57
|
};
|
|
53
58
|
}
|
|
54
59
|
if (await pathExists(identityFile)) {
|
|
60
|
+
reportPhase(reporter, "Using the existing age identity file...");
|
|
55
61
|
return {
|
|
56
62
|
configuredIdentityFile,
|
|
57
63
|
generatedIdentity: false,
|
|
58
64
|
recipients: explicitRecipients,
|
|
59
65
|
};
|
|
60
66
|
}
|
|
67
|
+
reportPhase(reporter, "Generating a new age identity...");
|
|
61
68
|
const { recipient } = await createAgeIdentityFile(identityFile);
|
|
62
69
|
return {
|
|
63
70
|
configuredIdentityFile,
|
|
@@ -115,11 +122,14 @@ const buildAlreadyInitializedResult = (config, environment, base) => {
|
|
|
115
122
|
syncDirectory: base.syncDirectory,
|
|
116
123
|
};
|
|
117
124
|
};
|
|
118
|
-
export const initializeSync = async (request, environment) => {
|
|
125
|
+
export const initializeSync = async (request, environment, reporter) => {
|
|
126
|
+
reportPhase(reporter, "Initializing sync directory...");
|
|
119
127
|
const { syncDirectory, configPath, globalConfigPath } = resolveSyncPaths(environment);
|
|
120
128
|
const configExists = await pathExists(configPath);
|
|
121
129
|
if (configExists) {
|
|
130
|
+
reportPhase(reporter, "Checking the existing sync repository...");
|
|
122
131
|
await ensureSyncRepository(syncDirectory);
|
|
132
|
+
reportPhase(reporter, "Loading the existing sync manifest...");
|
|
123
133
|
const config = await readSyncConfig(syncDirectory, environment);
|
|
124
134
|
assertInitRequestMatchesConfig(config.age, request, environment);
|
|
125
135
|
return buildAlreadyInitializedResult(config, environment, {
|
|
@@ -131,10 +141,13 @@ export const initializeSync = async (request, environment) => {
|
|
|
131
141
|
await mkdir(dirname(syncDirectory), {
|
|
132
142
|
recursive: true,
|
|
133
143
|
});
|
|
144
|
+
reportPhase(reporter, "Preparing the sync directory...");
|
|
134
145
|
let gitAction = "existing";
|
|
135
146
|
let gitSource;
|
|
136
147
|
try {
|
|
148
|
+
reportPhase(reporter, "Checking for an existing git repository...");
|
|
137
149
|
await ensureRepository(syncDirectory);
|
|
150
|
+
reportPhase(reporter, "Using the existing git repository...");
|
|
138
151
|
}
|
|
139
152
|
catch {
|
|
140
153
|
const syncDirectoryExists = await pathExists(syncDirectory);
|
|
@@ -151,7 +164,10 @@ export const initializeSync = async (request, environment) => {
|
|
|
151
164
|
const gitSourceInput = request.repository?.trim() || undefined;
|
|
152
165
|
let gitResult;
|
|
153
166
|
try {
|
|
154
|
-
|
|
167
|
+
reportPhase(reporter, gitSourceInput === undefined
|
|
168
|
+
? "Initializing a new git repository..."
|
|
169
|
+
: `Cloning the sync repository from ${gitSourceInput}...`);
|
|
170
|
+
gitResult = await initializeRepository(syncDirectory, gitSourceInput, reporter);
|
|
155
171
|
}
|
|
156
172
|
catch (error) {
|
|
157
173
|
throw wrapUnknownError(gitSourceInput === undefined
|
|
@@ -174,10 +190,12 @@ export const initializeSync = async (request, environment) => {
|
|
|
174
190
|
gitAction = gitResult.action;
|
|
175
191
|
gitSource = gitResult.source;
|
|
176
192
|
}
|
|
193
|
+
reportPhase(reporter, "Preparing the sync artifact directory...");
|
|
177
194
|
await mkdir(resolveSyncArtifactsDirectoryPath(syncDirectory), {
|
|
178
195
|
recursive: true,
|
|
179
196
|
});
|
|
180
197
|
if (await pathExists(configPath)) {
|
|
198
|
+
reportPhase(reporter, "Loading the existing sync manifest...");
|
|
181
199
|
const config = await readSyncConfig(syncDirectory, environment);
|
|
182
200
|
assertInitRequestMatchesConfig(config.age, request, environment);
|
|
183
201
|
return buildAlreadyInitializedResult(config, environment, {
|
|
@@ -187,8 +205,10 @@ export const initializeSync = async (request, environment) => {
|
|
|
187
205
|
syncDirectory,
|
|
188
206
|
});
|
|
189
207
|
}
|
|
190
|
-
|
|
208
|
+
reportPhase(reporter, "Preparing sync encryption settings...");
|
|
209
|
+
const ageBootstrap = await resolveInitAgeBootstrap(request, environment, reporter);
|
|
191
210
|
// Write global settings.json (without age)
|
|
211
|
+
reportPhase(reporter, "Writing global devsync settings...");
|
|
192
212
|
const existingGlobalConfig = await readGlobalDevsyncConfig(environment);
|
|
193
213
|
const globalConfigToWrite = {
|
|
194
214
|
activeProfile: existingGlobalConfig?.activeProfile ?? "default",
|
|
@@ -201,6 +221,7 @@ export const initializeSync = async (request, environment) => {
|
|
|
201
221
|
identityFile: ageBootstrap.configuredIdentityFile,
|
|
202
222
|
recipients: [...new Set(ageBootstrap.recipients.map((r) => r.trim()))],
|
|
203
223
|
});
|
|
224
|
+
reportPhase(reporter, "Writing sync manifest...");
|
|
204
225
|
parseSyncConfig(initialConfig, environment);
|
|
205
226
|
await writeFile(configPath, formatSyncConfig(initialConfig), "utf8");
|
|
206
227
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ResolvedSyncConfig, type ResolvedSyncConfigEntry } from "#app/config/sync.js";
|
|
2
|
+
import { type ProgressReporter } from "#app/lib/progress.js";
|
|
2
3
|
import type { FileLikeSnapshotNode, SnapshotNode } from "./local-snapshot.js";
|
|
3
4
|
type MaterializationConfig = ResolvedSyncConfig & Readonly<{
|
|
4
5
|
activeProfile?: string;
|
|
@@ -15,9 +16,9 @@ type EntryMaterialization = Readonly<{
|
|
|
15
16
|
nodes: ReadonlyMap<string, FileLikeSnapshotNode>;
|
|
16
17
|
type: "directory";
|
|
17
18
|
}>;
|
|
18
|
-
export declare const buildEntryMaterialization: (entry: ResolvedSyncConfigEntry, snapshot: ReadonlyMap<string, SnapshotNode
|
|
19
|
-
export declare const countDeletedLocalNodes: (entry: ResolvedSyncConfigEntry, desiredKeys: ReadonlySet<string>, config: MaterializationConfig, existingKeys?: Set<string
|
|
20
|
-
export declare const applyEntryMaterialization: (entry: ResolvedSyncConfigEntry, materialization: EntryMaterialization, config: MaterializationConfig) => Promise<void>;
|
|
19
|
+
export declare const buildEntryMaterialization: (entry: ResolvedSyncConfigEntry, snapshot: ReadonlyMap<string, SnapshotNode>, reporter?: ProgressReporter) => EntryMaterialization;
|
|
20
|
+
export declare const countDeletedLocalNodes: (entry: ResolvedSyncConfigEntry, desiredKeys: ReadonlySet<string>, config: MaterializationConfig, existingKeys?: Set<string>, reporter?: ProgressReporter) => Promise<number>;
|
|
21
|
+
export declare const applyEntryMaterialization: (entry: ResolvedSyncConfigEntry, materialization: EntryMaterialization, config: MaterializationConfig, reporter?: ProgressReporter) => Promise<void>;
|
|
21
22
|
export declare const buildPullCounts: (materializations: readonly EntryMaterialization[]) => {
|
|
22
23
|
decryptedFileCount: number;
|
|
23
24
|
directoryCount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-materialization.d.ts","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE7B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-materialization.d.ts","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9E,KAAK,qBAAqB,GAAG,kBAAkB,GAC7C,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAyBL,KAAK,oBAAoB,GACrB,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC,GACF,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,GACF,QAAQ,CAAC;IACP,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC,CAAC;AA0JP,eAAO,MAAM,yBAAyB,GACpC,OAAO,uBAAuB,EAC9B,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,WAAW,gBAAgB,KAC1B,oBAiFF,CAAC;AA2GF,eAAO,MAAM,sBAAsB,GACjC,OAAO,uBAAuB,EAC9B,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,QAAQ,qBAAqB,EAC7B,eAAc,GAAG,CAAC,MAAM,CAAqB,EAC7C,WAAW,gBAAgB,oBAyB5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,uBAAuB,EAC9B,iBAAiB,oBAAoB,EACrC,QAAQ,qBAAqB,EAC7B,WAAW,gBAAgB,kBA2C5B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,kBAAkB,SAAS,oBAAoB,EAAE;;;;;CA+ClD,CAAC"}
|
|
@@ -2,9 +2,20 @@ import { lstat, mkdir, mkdtemp, rm, symlink } from "node:fs/promises";
|
|
|
2
2
|
import { basename, dirname, join, posix } from "node:path";
|
|
3
3
|
import { resolveManagedSyncMode, } from "#app/config/sync.js";
|
|
4
4
|
import { buildDirectoryKey } from "#app/lib/path.js";
|
|
5
|
+
import { reportDetail, reportPhase, } from "#app/lib/progress.js";
|
|
5
6
|
import { DevsyncError } from "./error.js";
|
|
6
7
|
import { copyFilesystemNode, getPathStats, listDirectoryEntries, removePathAtomically, replacePathAtomically, writeFileNode, writeSymlinkNode, } from "./filesystem.js";
|
|
7
|
-
const
|
|
8
|
+
const reportPullPlanningProgress = (reporter, state, repoPath) => {
|
|
9
|
+
state.scannedLocalNodeCount += 1;
|
|
10
|
+
if (reporter?.verbose) {
|
|
11
|
+
reportDetail(reporter, `scanned local path ${repoPath} while planning pull`);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (state.scannedLocalNodeCount % 100 === 0) {
|
|
15
|
+
reportPhase(reporter, `Scanned ${state.scannedLocalNodeCount} local paths while planning pull...`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory, config, repoPathPrefix, reporter) => {
|
|
8
19
|
const stats = await getPathStats(sourceDirectory);
|
|
9
20
|
if (stats === undefined || !stats.isDirectory()) {
|
|
10
21
|
return 0;
|
|
@@ -22,7 +33,7 @@ const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory
|
|
|
22
33
|
const repoPath = posix.join(repoPathPrefix, entry.name);
|
|
23
34
|
const entryStats = await lstat(sourcePath);
|
|
24
35
|
if (entryStats.isDirectory()) {
|
|
25
|
-
copiedNodeCount += await copyIgnoredLocalNodesToDirectory(sourcePath, targetPath, config, repoPath);
|
|
36
|
+
copiedNodeCount += await copyIgnoredLocalNodesToDirectory(sourcePath, targetPath, config, repoPath, reporter);
|
|
26
37
|
continue;
|
|
27
38
|
}
|
|
28
39
|
if (resolveManagedSyncMode(config, repoPath, config.activeProfile) !==
|
|
@@ -31,11 +42,13 @@ const copyIgnoredLocalNodesToDirectory = async (sourceDirectory, targetDirectory
|
|
|
31
42
|
}
|
|
32
43
|
await mkdir(dirname(targetPath), { recursive: true });
|
|
33
44
|
await copyFilesystemNode(sourcePath, targetPath, entryStats);
|
|
45
|
+
reportDetail(reporter, `preserved ignored local path ${repoPath}`);
|
|
34
46
|
copiedNodeCount += 1;
|
|
35
47
|
}
|
|
36
48
|
return copiedNodeCount;
|
|
37
49
|
};
|
|
38
|
-
const stageAndReplaceFilePath = async (targetPath, node) => {
|
|
50
|
+
const stageAndReplaceFilePath = async (targetPath, node, reporter) => {
|
|
51
|
+
reportDetail(reporter, `staging local file ${targetPath}`);
|
|
39
52
|
await mkdir(dirname(targetPath), { recursive: true });
|
|
40
53
|
const stagingDirectory = await mkdtemp(join(dirname(targetPath), `.${basename(targetPath)}.devsync-sync-`));
|
|
41
54
|
const stagedPath = join(stagingDirectory, basename(targetPath));
|
|
@@ -52,11 +65,12 @@ const stageAndReplaceFilePath = async (targetPath, node) => {
|
|
|
52
65
|
await rm(stagingDirectory, { force: true, recursive: true });
|
|
53
66
|
}
|
|
54
67
|
};
|
|
55
|
-
const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes) => {
|
|
68
|
+
const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes, reporter) => {
|
|
56
69
|
await mkdir(dirname(entry.localPath), { recursive: true });
|
|
57
70
|
const stagingDirectory = await mkdtemp(join(dirname(entry.localPath), `.${basename(entry.localPath)}.devsync-sync-`));
|
|
58
71
|
try {
|
|
59
|
-
const preservedIgnoredNodeCount = await copyIgnoredLocalNodesToDirectory(entry.localPath, stagingDirectory, config, entry.repoPath);
|
|
72
|
+
const preservedIgnoredNodeCount = await copyIgnoredLocalNodesToDirectory(entry.localPath, stagingDirectory, config, entry.repoPath, reporter);
|
|
73
|
+
let stagedNodeCount = 0;
|
|
60
74
|
for (const relativePath of [...desiredNodes.keys()].sort((left, right) => {
|
|
61
75
|
return left.localeCompare(right);
|
|
62
76
|
})) {
|
|
@@ -71,6 +85,13 @@ const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes) =
|
|
|
71
85
|
else {
|
|
72
86
|
await writeFileNode(targetNodePath, node);
|
|
73
87
|
}
|
|
88
|
+
stagedNodeCount += 1;
|
|
89
|
+
if (reporter?.verbose) {
|
|
90
|
+
reportDetail(reporter, `staged local node ${posix.join(entry.repoPath, relativePath)}`);
|
|
91
|
+
}
|
|
92
|
+
else if (stagedNodeCount % 100 === 0) {
|
|
93
|
+
reportPhase(reporter, `Staged ${stagedNodeCount} local nodes for ${entry.repoPath}...`);
|
|
94
|
+
}
|
|
74
95
|
}
|
|
75
96
|
if (preservedIgnoredNodeCount === 0 && desiredNodes.size === 0) {
|
|
76
97
|
await removePathAtomically(entry.localPath);
|
|
@@ -82,10 +103,11 @@ const stageAndReplaceMergedDirectoryPath = async (entry, config, desiredNodes) =
|
|
|
82
103
|
await rm(stagingDirectory, { force: true, recursive: true });
|
|
83
104
|
}
|
|
84
105
|
};
|
|
85
|
-
export const buildEntryMaterialization = (entry, snapshot) => {
|
|
106
|
+
export const buildEntryMaterialization = (entry, snapshot, reporter) => {
|
|
86
107
|
if (entry.kind === "file") {
|
|
87
108
|
const node = snapshot.get(entry.repoPath);
|
|
88
109
|
if (node === undefined) {
|
|
110
|
+
reportDetail(reporter, `planned an absent local file ${entry.repoPath}`);
|
|
89
111
|
return {
|
|
90
112
|
desiredKeys: new Set(),
|
|
91
113
|
type: "absent",
|
|
@@ -98,6 +120,7 @@ export const buildEntryMaterialization = (entry, snapshot) => {
|
|
|
98
120
|
hint: "Run 'devsync push' or fix the repository so this path is stored as a file.",
|
|
99
121
|
});
|
|
100
122
|
}
|
|
123
|
+
reportDetail(reporter, `planned a local file ${entry.repoPath}`);
|
|
101
124
|
return {
|
|
102
125
|
desiredKeys: new Set([entry.repoPath]),
|
|
103
126
|
node,
|
|
@@ -126,24 +149,29 @@ export const buildEntryMaterialization = (entry, snapshot) => {
|
|
|
126
149
|
desiredKeys.add(repoPath);
|
|
127
150
|
}
|
|
128
151
|
if (rootNode === undefined && nodes.size === 0) {
|
|
152
|
+
reportDetail(reporter, `planned an absent local directory ${entry.repoPath}`);
|
|
129
153
|
return {
|
|
130
154
|
desiredKeys,
|
|
131
155
|
type: "absent",
|
|
132
156
|
};
|
|
133
157
|
}
|
|
134
158
|
desiredKeys.add(buildDirectoryKey(entry.repoPath));
|
|
159
|
+
reportDetail(reporter, `planned a local directory ${entry.repoPath}`);
|
|
135
160
|
return {
|
|
136
161
|
desiredKeys,
|
|
137
162
|
nodes,
|
|
138
163
|
type: "directory",
|
|
139
164
|
};
|
|
140
165
|
};
|
|
141
|
-
const collectLocalLeafKeys = async (targetPath, repoPathPrefix, keys, prefix
|
|
166
|
+
const collectLocalLeafKeys = async (targetPath, repoPathPrefix, keys, prefix, reporter, progressState = {
|
|
167
|
+
scannedLocalNodeCount: 0,
|
|
168
|
+
}) => {
|
|
142
169
|
const stats = await getPathStats(targetPath);
|
|
143
170
|
if (stats === undefined) {
|
|
144
171
|
return;
|
|
145
172
|
}
|
|
146
173
|
if (!stats.isDirectory()) {
|
|
174
|
+
reportPullPlanningProgress(reporter, progressState, repoPathPrefix);
|
|
147
175
|
keys.add(repoPathPrefix);
|
|
148
176
|
return;
|
|
149
177
|
}
|
|
@@ -153,20 +181,25 @@ const collectLocalLeafKeys = async (targetPath, repoPathPrefix, keys, prefix) =>
|
|
|
153
181
|
const absolutePath = join(targetPath, entry.name);
|
|
154
182
|
const relativePath = prefix === undefined ? entry.name : `${prefix}/${entry.name}`;
|
|
155
183
|
const childStats = await lstat(absolutePath);
|
|
184
|
+
const repoPath = posix.join(repoPathPrefix, relativePath);
|
|
185
|
+
reportPullPlanningProgress(reporter, progressState, repoPath);
|
|
156
186
|
if (childStats?.isDirectory()) {
|
|
157
|
-
await collectLocalLeafKeys(absolutePath, repoPathPrefix, keys, relativePath);
|
|
187
|
+
await collectLocalLeafKeys(absolutePath, repoPathPrefix, keys, relativePath, reporter, progressState);
|
|
158
188
|
continue;
|
|
159
189
|
}
|
|
160
|
-
keys.add(
|
|
190
|
+
keys.add(repoPath);
|
|
161
191
|
}
|
|
162
192
|
};
|
|
163
|
-
const collectIgnoredLocalKeys = async (targetPath, repoPath, config, keys
|
|
193
|
+
const collectIgnoredLocalKeys = async (targetPath, repoPath, config, keys, reporter, progressState = {
|
|
194
|
+
scannedLocalNodeCount: 0,
|
|
195
|
+
}) => {
|
|
164
196
|
const stats = await getPathStats(targetPath);
|
|
165
197
|
if (stats === undefined) {
|
|
166
198
|
return false;
|
|
167
199
|
}
|
|
168
200
|
const mode = resolveManagedSyncMode(config, repoPath, config.activeProfile);
|
|
169
201
|
if (!stats.isDirectory()) {
|
|
202
|
+
reportPullPlanningProgress(reporter, progressState, repoPath);
|
|
170
203
|
if (mode !== "ignore") {
|
|
171
204
|
return false;
|
|
172
205
|
}
|
|
@@ -179,23 +212,23 @@ const collectIgnoredLocalKeys = async (targetPath, repoPath, config, keys) => {
|
|
|
179
212
|
const childPath = join(targetPath, entry.name);
|
|
180
213
|
const childRepoPath = posix.join(repoPath, entry.name);
|
|
181
214
|
preservedIgnoredChildren =
|
|
182
|
-
(await collectIgnoredLocalKeys(childPath, childRepoPath, config, keys)) ||
|
|
183
|
-
preservedIgnoredChildren;
|
|
215
|
+
(await collectIgnoredLocalKeys(childPath, childRepoPath, config, keys, reporter, progressState)) || preservedIgnoredChildren;
|
|
184
216
|
}
|
|
185
217
|
if (mode === "ignore" || preservedIgnoredChildren) {
|
|
186
218
|
keys.add(buildDirectoryKey(repoPath));
|
|
187
219
|
}
|
|
188
220
|
return mode === "ignore" || preservedIgnoredChildren;
|
|
189
221
|
};
|
|
190
|
-
export const countDeletedLocalNodes = async (entry, desiredKeys, config, existingKeys = new Set()) => {
|
|
222
|
+
export const countDeletedLocalNodes = async (entry, desiredKeys, config, existingKeys = new Set(), reporter) => {
|
|
191
223
|
const preservedIgnoredKeys = new Set();
|
|
192
|
-
|
|
193
|
-
await
|
|
224
|
+
const progressState = { scannedLocalNodeCount: 0 };
|
|
225
|
+
await collectLocalLeafKeys(entry.localPath, entry.repoPath, existingKeys, undefined, reporter, progressState);
|
|
226
|
+
await collectIgnoredLocalKeys(entry.localPath, entry.repoPath, config, preservedIgnoredKeys, reporter, progressState);
|
|
194
227
|
return [...existingKeys].filter((key) => {
|
|
195
228
|
return !desiredKeys.has(key) && !preservedIgnoredKeys.has(key);
|
|
196
229
|
}).length;
|
|
197
230
|
};
|
|
198
|
-
export const applyEntryMaterialization = async (entry, materialization, config) => {
|
|
231
|
+
export const applyEntryMaterialization = async (entry, materialization, config, reporter) => {
|
|
199
232
|
if (entry.kind === "file" &&
|
|
200
233
|
resolveManagedSyncMode(config, entry.repoPath, config.activeProfile) ===
|
|
201
234
|
"ignore") {
|
|
@@ -203,17 +236,17 @@ export const applyEntryMaterialization = async (entry, materialization, config)
|
|
|
203
236
|
}
|
|
204
237
|
if (materialization.type === "absent") {
|
|
205
238
|
if (entry.kind === "directory") {
|
|
206
|
-
await stageAndReplaceMergedDirectoryPath(entry, config, new Map());
|
|
239
|
+
await stageAndReplaceMergedDirectoryPath(entry, config, new Map(), reporter);
|
|
207
240
|
return;
|
|
208
241
|
}
|
|
209
242
|
await removePathAtomically(entry.localPath);
|
|
210
243
|
return;
|
|
211
244
|
}
|
|
212
245
|
if (materialization.type === "file") {
|
|
213
|
-
await stageAndReplaceFilePath(entry.localPath, materialization.node);
|
|
246
|
+
await stageAndReplaceFilePath(entry.localPath, materialization.node, reporter);
|
|
214
247
|
return;
|
|
215
248
|
}
|
|
216
|
-
await stageAndReplaceMergedDirectoryPath(entry, config, materialization.nodes);
|
|
249
|
+
await stageAndReplaceMergedDirectoryPath(entry, config, materialization.nodes, reporter);
|
|
217
250
|
};
|
|
218
251
|
export const buildPullCounts = (materializations) => {
|
|
219
252
|
let decryptedFileCount = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-materialization.js","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAGL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAwBzB,MAAM,gCAAgC,GAAG,KAAK,EAC5C,eAAuB,EACvB,eAAuB,EACvB,MAA6B,EAC7B,cAAsB,EACL,EAAE;IACnB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,CAAC;IAElD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,sBAAsB,CAC1C,MAAM,EACN,cAAc,EACd,MAAM,CAAC,aAAa,CACrB,CAAC;IAEF,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,eAAe,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,eAAe,IAAI,MAAM,gCAAgC,CACvD,UAAU,EACV,UAAU,EACV,MAAM,EACN,QAAQ,CACT,CAAC;YACF,SAAS;QACX,CAAC;QAED,IACE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC;YAC9D,QAAQ,EACR,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7D,eAAe,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,UAAkB,EAClB,IAA0B,EAC1B,EAAE;IACF,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CACpC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CACpE,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kCAAkC,GAAG,KAAK,EAC9C,KAA8B,EAC9B,MAA6B,EAC7B,YAAuD,EACvD,EAAE;IACF,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,MAAM,OAAO,CACpC,IAAI,CACF,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EACxB,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAC9C,CACF,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,yBAAyB,GAAG,MAAM,gCAAgC,CACtE,KAAK,CAAC,SAAS,EACf,gBAAgB,EAChB,MAAM,EACN,KAAK,CAAC,QAAQ,CACf,CAAC;QAEF,KAAK,MAAM,YAAY,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,yBAAyB,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAE5C,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAA8B,EAC9B,QAA2C,EACrB,EAAE;IACxB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;gBACL,WAAW,EAAE,IAAI,GAAG,EAAU;gBAC9B,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CACpB,4DAA4D,EAC5D;gBACE,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,CAAC,oBAAoB,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC/C,IAAI,EAAE,4EAA4E;aACnF,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI;YACJ,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5D,MAAM,IAAI,YAAY,CACpB,4DAA4D,EAC5D;YACE,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,CAAC,oBAAoB,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,EAAE,iFAAiF;SACxF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/D,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC9B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,WAAW;YACX,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnD,OAAO;QACL,WAAW;QACX,KAAK;QACL,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,UAAkB,EAClB,cAAsB,EACtB,IAAiB,EACjB,MAAe,EACf,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEzB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAChB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YAC9B,MAAM,oBAAoB,CACxB,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,YAAY,CACb,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,UAAkB,EAClB,QAAgB,EAChB,MAA6B,EAC7B,IAAiB,EACC,EAAE;IACpB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAE5E,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,wBAAwB,GAAG,IAAI,KAAK,QAAQ,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvD,wBAAwB;YACtB,CAAC,MAAM,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvE,wBAAwB,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,wBAAwB,EAAE,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,KAAK,QAAQ,IAAI,wBAAwB,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,KAA8B,EAC9B,WAAgC,EAChC,MAA6B,EAC7B,eAA4B,IAAI,GAAG,EAAU,EAC7C,EAAE;IACF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1E,MAAM,uBAAuB,CAC3B,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,MAAM,EACN,oBAAoB,CACrB,CAAC;IAEF,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,KAA8B,EAC9B,eAAqC,EACrC,MAA6B,EAC7B,EAAE;IACF,IACE,KAAK,CAAC,IAAI,KAAK,MAAM;QACrB,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC;YAClE,QAAQ,EACV,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,kCAAkC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAEnE,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE5C,OAAO;IACT,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAErE,OAAO;IACT,CAAC;IAED,MAAM,kCAAkC,CACtC,KAAK,EACL,MAAM,EACN,eAAe,CAAC,KAAK,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,gBAAiD,EACjD,EAAE;IACF,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5C,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,kBAAkB,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,cAAc,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QAED,cAAc,IAAI,CAAC,CAAC;QAEpB,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,kBAAkB,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,cAAc,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,cAAc;QACd,cAAc;QACd,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"local-materialization.js","sourceRoot":"","sources":["../../src/services/local-materialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ResolvedSyncConfig } from "#app/config/sync.js";
|
|
2
|
+
import { type ProgressReporter } from "#app/lib/progress.js";
|
|
2
3
|
type SnapshotConfig = ResolvedSyncConfig & Readonly<{
|
|
3
4
|
activeProfile?: string;
|
|
4
5
|
}>;
|
|
@@ -20,6 +21,6 @@ export type FileLikeSnapshotNode = Extract<SnapshotNode, Readonly<{
|
|
|
20
21
|
type: "file" | "symlink";
|
|
21
22
|
}>>;
|
|
22
23
|
export declare const addSnapshotNode: (snapshot: Map<string, SnapshotNode>, repoPath: string, node: SnapshotNode) => void;
|
|
23
|
-
export declare const buildLocalSnapshot: (config: SnapshotConfig) => Promise<Map<string, SnapshotNode>>;
|
|
24
|
+
export declare const buildLocalSnapshot: (config: SnapshotConfig, reporter?: ProgressReporter) => Promise<Map<string, SnapshotNode>>;
|
|
24
25
|
export {};
|
|
25
26
|
//# sourceMappingURL=local-snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAK9B,KAAK,cAAc,GAAG,kBAAkB,GACtC,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEL,MAAM,MAAM,YAAY,GACpB,QAAQ,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC,GACF,QAAQ,CAAC;IACP,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC,GACF,QAAQ,CAAC;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC,CAAC;AAEP,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,YAAY,EACZ,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,YAAY,EACZ,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,CACvC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,UAAU,MAAM,EAChB,MAAM,YAAY,SAOnB,CAAC;AAyHF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,cAAc,EACtB,WAAW,gBAAgB,uCAsF5B,CAAC"}
|