@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
|
@@ -2,6 +2,7 @@ import { lstat, readFile, readlink } from "node:fs/promises";
|
|
|
2
2
|
import { join, posix } from "node:path";
|
|
3
3
|
import { resolveManagedSyncMode, } from "#app/config/sync.js";
|
|
4
4
|
import { isExecutableMode } from "#app/lib/file-mode.js";
|
|
5
|
+
import { reportDetail, reportPhase, } from "#app/lib/progress.js";
|
|
5
6
|
import { DevsyncError } from "./error.js";
|
|
6
7
|
import { getPathStats, listDirectoryEntries } from "./filesystem.js";
|
|
7
8
|
import { assertStorageSafeRepoPath } from "./repo-artifacts.js";
|
|
@@ -11,6 +12,16 @@ export const addSnapshotNode = (snapshot, repoPath, node) => {
|
|
|
11
12
|
}
|
|
12
13
|
snapshot.set(repoPath, node);
|
|
13
14
|
};
|
|
15
|
+
const reportLocalScanProgress = (reporter, state, repoPath, kind) => {
|
|
16
|
+
state.scannedEntryCount += 1;
|
|
17
|
+
if (reporter?.verbose) {
|
|
18
|
+
reportDetail(reporter, `scanned local ${kind} ${repoPath}`);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (state.scannedEntryCount % 100 === 0) {
|
|
22
|
+
reportPhase(reporter, `Scanned ${state.scannedEntryCount} local filesystem entries...`);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
14
25
|
const addLocalNode = async (snapshot, config, repoPath, path, stats) => {
|
|
15
26
|
assertStorageSafeRepoPath(repoPath);
|
|
16
27
|
const mode = resolveManagedSyncMode(config, repoPath, config.activeProfile);
|
|
@@ -40,7 +51,7 @@ const addLocalNode = async (snapshot, config, repoPath, path, stats) => {
|
|
|
40
51
|
type: "file",
|
|
41
52
|
});
|
|
42
53
|
};
|
|
43
|
-
const walkLocalDirectory = async (snapshot, config, localDirectory, repoPathPrefix, childEntryPaths) => {
|
|
54
|
+
const walkLocalDirectory = async (snapshot, config, localDirectory, repoPathPrefix, childEntryPaths, reporter, progressState = { scannedEntryCount: 0 }) => {
|
|
44
55
|
const entries = await listDirectoryEntries(localDirectory);
|
|
45
56
|
for (const entry of entries) {
|
|
46
57
|
const localPath = join(localDirectory, entry.name);
|
|
@@ -49,20 +60,30 @@ const walkLocalDirectory = async (snapshot, config, localDirectory, repoPathPref
|
|
|
49
60
|
continue;
|
|
50
61
|
}
|
|
51
62
|
const stats = await lstat(localPath);
|
|
63
|
+
reportLocalScanProgress(reporter, progressState, repoPath, stats.isDirectory()
|
|
64
|
+
? "directory"
|
|
65
|
+
: stats.isSymbolicLink()
|
|
66
|
+
? "symlink"
|
|
67
|
+
: stats.isFile()
|
|
68
|
+
? "file"
|
|
69
|
+
: "other");
|
|
52
70
|
if (stats.isDirectory()) {
|
|
53
71
|
assertStorageSafeRepoPath(repoPath);
|
|
54
|
-
await walkLocalDirectory(snapshot, config, localPath, repoPath, childEntryPaths);
|
|
72
|
+
await walkLocalDirectory(snapshot, config, localPath, repoPath, childEntryPaths, reporter, progressState);
|
|
55
73
|
continue;
|
|
56
74
|
}
|
|
57
75
|
await addLocalNode(snapshot, config, repoPath, localPath, stats);
|
|
58
76
|
}
|
|
59
77
|
};
|
|
60
|
-
export const buildLocalSnapshot = async (config) => {
|
|
78
|
+
export const buildLocalSnapshot = async (config, reporter) => {
|
|
61
79
|
const snapshot = new Map();
|
|
62
80
|
const allEntryPaths = new Set(config.entries.map((e) => e.repoPath));
|
|
81
|
+
const progressState = { scannedEntryCount: 0 };
|
|
63
82
|
for (const entry of config.entries) {
|
|
83
|
+
reportPhase(reporter, `Scanning tracked entry ${entry.repoPath}...`);
|
|
64
84
|
const stats = await getPathStats(entry.localPath);
|
|
65
85
|
if (stats === undefined) {
|
|
86
|
+
reportDetail(reporter, `skipped missing local entry ${entry.repoPath}`);
|
|
66
87
|
continue;
|
|
67
88
|
}
|
|
68
89
|
const entryMode = resolveManagedSyncMode(config, entry.repoPath, config.activeProfile);
|
|
@@ -70,6 +91,13 @@ export const buildLocalSnapshot = async (config) => {
|
|
|
70
91
|
if (entryMode === "ignore") {
|
|
71
92
|
continue;
|
|
72
93
|
}
|
|
94
|
+
reportLocalScanProgress(reporter, progressState, entry.repoPath, stats.isSymbolicLink()
|
|
95
|
+
? "symlink"
|
|
96
|
+
: stats.isFile()
|
|
97
|
+
? "file"
|
|
98
|
+
: stats.isDirectory()
|
|
99
|
+
? "directory"
|
|
100
|
+
: "other");
|
|
73
101
|
if (stats.isDirectory()) {
|
|
74
102
|
throw new DevsyncError(`Sync entry ${entry.repoPath} expects a file, but found a directory: ${entry.localPath}`);
|
|
75
103
|
}
|
|
@@ -81,7 +109,7 @@ export const buildLocalSnapshot = async (config) => {
|
|
|
81
109
|
}
|
|
82
110
|
const childEntryPaths = new Set([...allEntryPaths].filter((p) => p !== entry.repoPath && p.startsWith(`${entry.repoPath}/`)));
|
|
83
111
|
const snapshotSizeBeforeWalk = snapshot.size;
|
|
84
|
-
await walkLocalDirectory(snapshot, config, entry.localPath, entry.repoPath, childEntryPaths);
|
|
112
|
+
await walkLocalDirectory(snapshot, config, entry.localPath, entry.repoPath, childEntryPaths, reporter, progressState);
|
|
85
113
|
if (entryMode !== "ignore" || snapshot.size > snapshotSizeBeforeWalk) {
|
|
86
114
|
addSnapshotNode(snapshot, entry.repoPath, {
|
|
87
115
|
type: "directory",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-snapshot.js","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local-snapshot.js","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/services/pull.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ProgressReporter } from "#app/lib/progress.js";
|
|
1
2
|
import { buildEntryMaterialization, buildPullCounts } from "./local-materialization.js";
|
|
2
3
|
import { type EffectiveSyncConfig } from "./runtime.js";
|
|
3
4
|
export type SyncPullRequest = Readonly<{
|
|
@@ -21,8 +22,8 @@ export type PullPlan = Readonly<{
|
|
|
21
22
|
existingKeys: ReadonlySet<string>;
|
|
22
23
|
materializations: readonly ReturnType<typeof buildEntryMaterialization>[];
|
|
23
24
|
}>;
|
|
24
|
-
export declare const buildPullPlan: (config: EffectiveSyncConfig, syncDirectory: string) => Promise<PullPlan>;
|
|
25
|
+
export declare const buildPullPlan: (config: EffectiveSyncConfig, syncDirectory: string, reporter?: ProgressReporter) => Promise<PullPlan>;
|
|
25
26
|
export declare const buildPullPlanPreview: (plan: PullPlan) => string[];
|
|
26
27
|
export declare const buildPullResultFromPlan: (plan: PullPlan, syncDirectory: string, dryRun: boolean) => SyncPullResult;
|
|
27
|
-
export declare const pullSync: (request: SyncPullRequest, environment: NodeJS.ProcessEnv) => Promise<SyncPullResult>;
|
|
28
|
+
export declare const pullSync: (request: SyncPullRequest, environment: NodeJS.ProcessEnv, reporter?: ProgressReporter) => Promise<SyncPullResult>;
|
|
28
29
|
//# sourceMappingURL=pull.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/services/pull.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EACzB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,SAAS,UAAU,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC;CAC3E,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa,GACxB,QAAQ,mBAAmB,EAC3B,eAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/services/pull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAEL,yBAAyB,EACzB,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,SAAS,UAAU,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC;CAC3E,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa,GACxB,QAAQ,mBAAmB,EAC3B,eAAe,MAAM,EACrB,WAAW,gBAAgB,KAC1B,OAAO,CAAC,QAAQ,CAwClB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,aAalD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,QAAQ,EACd,eAAe,MAAM,EACrB,QAAQ,OAAO,KACd,cASF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,SAAS,eAAe,EACxB,aAAa,MAAM,CAAC,UAAU,EAC9B,WAAW,gBAAgB,KAC1B,OAAO,CAAC,cAAc,CAgCxB,CAAC"}
|
package/dist/services/pull.js
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { resolveSyncConfigFilePath } from "#app/config/sync.js";
|
|
2
|
+
import { reportPhase } from "#app/lib/progress.js";
|
|
2
3
|
import { applyEntryMaterialization, buildEntryMaterialization, buildPullCounts, countDeletedLocalNodes, } from "./local-materialization.js";
|
|
3
4
|
import { buildRepositorySnapshot } from "./repo-snapshot.js";
|
|
4
5
|
import { ensureSyncRepository, loadSyncConfig, resolveSyncPaths, } from "./runtime.js";
|
|
5
|
-
export const buildPullPlan = async (config, syncDirectory) => {
|
|
6
|
-
|
|
6
|
+
export const buildPullPlan = async (config, syncDirectory, reporter) => {
|
|
7
|
+
reportPhase(reporter, "Scanning repository artifacts...");
|
|
8
|
+
const snapshot = await buildRepositorySnapshot(syncDirectory, config, reporter);
|
|
9
|
+
reportPhase(reporter, "Planning local materializations...");
|
|
7
10
|
const materializations = config.entries.map((entry) => {
|
|
8
|
-
return buildEntryMaterialization(entry, snapshot);
|
|
11
|
+
return buildEntryMaterialization(entry, snapshot, reporter);
|
|
9
12
|
});
|
|
10
13
|
let deletedLocalCount = 0;
|
|
11
14
|
const existingKeys = new Set();
|
|
15
|
+
reportPhase(reporter, "Scanning existing local paths...");
|
|
12
16
|
for (let index = 0; index < config.entries.length; index += 1) {
|
|
13
17
|
const entry = config.entries[index];
|
|
14
18
|
const materialization = materializations[index];
|
|
15
19
|
if (entry === undefined || materialization === undefined) {
|
|
16
20
|
continue;
|
|
17
21
|
}
|
|
18
|
-
deletedLocalCount += await countDeletedLocalNodes(entry, materialization.desiredKeys, config, existingKeys);
|
|
22
|
+
deletedLocalCount += await countDeletedLocalNodes(entry, materialization.desiredKeys, config, existingKeys, reporter);
|
|
19
23
|
}
|
|
20
24
|
return {
|
|
21
25
|
counts: buildPullCounts(materializations),
|
|
@@ -48,13 +52,16 @@ export const buildPullResultFromPlan = (plan, syncDirectory, dryRun) => {
|
|
|
48
52
|
...plan.counts,
|
|
49
53
|
};
|
|
50
54
|
};
|
|
51
|
-
export const pullSync = async (request, environment) => {
|
|
55
|
+
export const pullSync = async (request, environment, reporter) => {
|
|
56
|
+
reportPhase(reporter, "Starting pull...");
|
|
52
57
|
const { syncDirectory } = resolveSyncPaths(environment);
|
|
58
|
+
reportPhase(reporter, "Checking sync repository...");
|
|
53
59
|
await ensureSyncRepository(syncDirectory);
|
|
60
|
+
reportPhase(reporter, "Loading sync configuration...");
|
|
54
61
|
const { effectiveConfig: config } = await loadSyncConfig(syncDirectory, environment, {
|
|
55
62
|
...(request.profile === undefined ? {} : { profile: request.profile }),
|
|
56
63
|
});
|
|
57
|
-
const plan = await buildPullPlan(config, syncDirectory);
|
|
64
|
+
const plan = await buildPullPlan(config, syncDirectory, reporter);
|
|
58
65
|
for (let index = 0; index < config.entries.length; index += 1) {
|
|
59
66
|
const entry = config.entries[index];
|
|
60
67
|
const materialization = plan.materializations[index];
|
|
@@ -62,7 +69,8 @@ export const pullSync = async (request, environment) => {
|
|
|
62
69
|
continue;
|
|
63
70
|
}
|
|
64
71
|
if (!request.dryRun) {
|
|
65
|
-
|
|
72
|
+
reportPhase(reporter, `Applying ${entry.repoPath}...`);
|
|
73
|
+
await applyEntryMaterialization(entry, materialization, config, reporter);
|
|
66
74
|
}
|
|
67
75
|
}
|
|
68
76
|
return buildPullResultFromPlan(plan, syncDirectory, request.dryRun);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/services/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAEL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,MAAM,cAAc,CAAC;AA0BtB,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,MAA2B,EAC3B,aAAqB,
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/services/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAyB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAEL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,MAAM,cAAc,CAAC;AA0BtB,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,MAA2B,EAC3B,aAAqB,EACrB,QAA2B,EACR,EAAE;IACrB,WAAW,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,aAAa,EACb,MAAM,EACN,QAAQ,CACT,CAAC;IACF,WAAW,CAAC,QAAQ,EAAE,oCAAoC,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpD,OAAO,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,WAAW,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,KAAK,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QAED,iBAAiB,IAAI,MAAM,sBAAsB,CAC/C,KAAK,EACL,eAAe,CAAC,WAAW,EAC3B,MAAM,EACN,YAAY,EACZ,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC;QACzC,iBAAiB;QACjB,WAAW,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,YAAY;QACZ,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAc,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;SACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAc,EACd,aAAqB,EACrB,MAAe,EACC,EAAE;IAClB,MAAM,UAAU,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC5D,OAAO;QACL,UAAU;QACV,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,MAAM;QACN,aAAa;QACb,GAAG,IAAI,CAAC,MAAM;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,OAAwB,EACxB,WAA8B,EAC9B,QAA2B,EACF,EAAE;IAC3B,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAExD,WAAW,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IACrD,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAE1C,WAAW,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;IACvD,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CACtD,aAAa,EACb,WAAW,EACX;QACE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CACF,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAElE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,KAAK,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,WAAW,CAAC,QAAQ,EAAE,YAAY,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;YACvD,MAAM,yBAAyB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC,CAAC"}
|
package/dist/services/push.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { type ProgressReporter } from "#app/lib/progress.js";
|
|
1
2
|
import { type SnapshotNode } from "./local-snapshot.js";
|
|
3
|
+
import { type RepoArtifact } from "./repo-artifacts.js";
|
|
2
4
|
import { type EffectiveSyncConfig } from "./runtime.js";
|
|
3
5
|
export type SyncPushRequest = Readonly<{
|
|
4
6
|
dryRun: boolean;
|
|
@@ -15,6 +17,7 @@ export type SyncPushResult = Readonly<{
|
|
|
15
17
|
syncDirectory: string;
|
|
16
18
|
}>;
|
|
17
19
|
export type PushPlan = Readonly<{
|
|
20
|
+
artifacts: readonly RepoArtifact[];
|
|
18
21
|
counts: ReturnType<typeof buildPushCounts>;
|
|
19
22
|
deletedArtifactCount: number;
|
|
20
23
|
desiredArtifactKeys: ReadonlySet<string>;
|
|
@@ -27,9 +30,9 @@ declare const buildPushCounts: (snapshot: ReadonlyMap<string, SnapshotNode>) =>
|
|
|
27
30
|
plainFileCount: number;
|
|
28
31
|
symlinkCount: number;
|
|
29
32
|
};
|
|
30
|
-
export declare const buildPushPlan: (config: EffectiveSyncConfig, syncDirectory: string) => Promise<PushPlan>;
|
|
33
|
+
export declare const buildPushPlan: (config: EffectiveSyncConfig, syncDirectory: string, reporter?: ProgressReporter) => Promise<PushPlan>;
|
|
31
34
|
export declare const buildPushPlanPreview: (plan: PushPlan) => string[];
|
|
32
35
|
export declare const buildPushResultFromPlan: (plan: PushPlan, syncDirectory: string, dryRun: boolean) => SyncPushResult;
|
|
33
|
-
export declare const pushSync: (request: SyncPushRequest, environment: NodeJS.ProcessEnv) => Promise<SyncPushResult>;
|
|
36
|
+
export declare const pushSync: (request: SyncPushRequest, environment: NodeJS.ProcessEnv, reporter?: ProgressReporter) => Promise<SyncPushResult>;
|
|
34
37
|
export {};
|
|
35
38
|
//# sourceMappingURL=push.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C,CAAC,CAAC;AAEH,QAAA,MAAM,eAAe,GAAI,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC;;;;;CA8BnE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,mBAAmB,EAC3B,eAAe,MAAM,EACrB,WAAW,gBAAgB,KAC1B,OAAO,CAAC,QAAQ,CA4BlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,aAalD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,QAAQ,EACd,eAAe,MAAM,EACrB,QAAQ,OAAO,KACd,cASF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,SAAS,eAAe,EACxB,aAAa,MAAM,CAAC,UAAU,EAC9B,WAAW,gBAAgB,KAC1B,OAAO,CAAC,cAAc,CAqExB,CAAC"}
|
package/dist/services/push.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { resolveSyncArtifactsDirectoryPath, resolveSyncConfigFilePath, } from "#app/config/sync.js";
|
|
3
|
+
import { reportDetail, reportPhase, } from "#app/lib/progress.js";
|
|
3
4
|
import { removePathAtomically } from "./filesystem.js";
|
|
4
5
|
import { buildLocalSnapshot } from "./local-snapshot.js";
|
|
5
6
|
import { buildArtifactKey, buildRepoArtifacts, collectExistingArtifactKeys, writeArtifactsToDirectory, } from "./repo-artifacts.js";
|
|
@@ -32,17 +33,21 @@ const buildPushCounts = (snapshot) => {
|
|
|
32
33
|
symlinkCount,
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
|
-
export const buildPushPlan = async (config, syncDirectory) => {
|
|
36
|
-
|
|
37
|
-
const
|
|
36
|
+
export const buildPushPlan = async (config, syncDirectory, reporter) => {
|
|
37
|
+
reportPhase(reporter, "Scanning local files...");
|
|
38
|
+
const snapshot = await buildLocalSnapshot(config, reporter);
|
|
39
|
+
reportPhase(reporter, "Preparing repository artifacts...");
|
|
40
|
+
const artifacts = await buildRepoArtifacts(snapshot, config, reporter);
|
|
38
41
|
const desiredArtifactKeys = new Set(artifacts.map((artifact) => {
|
|
39
42
|
return buildArtifactKey(artifact);
|
|
40
43
|
}));
|
|
41
|
-
|
|
44
|
+
reportPhase(reporter, "Scanning existing repository artifacts...");
|
|
45
|
+
const existingArtifactKeys = await collectExistingArtifactKeys(syncDirectory, config, reporter);
|
|
42
46
|
const deletedArtifactCount = [...existingArtifactKeys].filter((key) => {
|
|
43
47
|
return !desiredArtifactKeys.has(key);
|
|
44
48
|
}).length;
|
|
45
49
|
return {
|
|
50
|
+
artifacts,
|
|
46
51
|
counts: buildPushCounts(snapshot),
|
|
47
52
|
deletedArtifactCount,
|
|
48
53
|
desiredArtifactKeys,
|
|
@@ -73,25 +78,40 @@ export const buildPushResultFromPlan = (plan, syncDirectory, dryRun) => {
|
|
|
73
78
|
...plan.counts,
|
|
74
79
|
};
|
|
75
80
|
};
|
|
76
|
-
export const pushSync = async (request, environment) => {
|
|
81
|
+
export const pushSync = async (request, environment, reporter) => {
|
|
82
|
+
reportPhase(reporter, "Starting push...");
|
|
77
83
|
const { syncDirectory } = resolveSyncPaths(environment);
|
|
84
|
+
reportPhase(reporter, "Checking sync repository...");
|
|
78
85
|
await ensureSyncRepository(syncDirectory);
|
|
86
|
+
reportPhase(reporter, "Loading sync configuration...");
|
|
79
87
|
const { effectiveConfig: config } = await loadSyncConfig(syncDirectory, environment, {
|
|
80
88
|
...(request.profile === undefined ? {} : { profile: request.profile }),
|
|
81
89
|
});
|
|
82
|
-
const plan = await buildPushPlan(config, syncDirectory);
|
|
90
|
+
const plan = await buildPushPlan(config, syncDirectory, reporter);
|
|
83
91
|
if (!request.dryRun) {
|
|
84
92
|
const artifactsDirectory = resolveSyncArtifactsDirectoryPath(syncDirectory);
|
|
85
|
-
const
|
|
86
|
-
for (const staleKey of [...plan.existingArtifactKeys].filter((key) => {
|
|
93
|
+
const staleArtifactKeys = [...plan.existingArtifactKeys].filter((key) => {
|
|
87
94
|
return !plan.desiredArtifactKeys.has(key);
|
|
88
|
-
})
|
|
95
|
+
});
|
|
96
|
+
if (staleArtifactKeys.length > 0) {
|
|
97
|
+
reportPhase(reporter, `Removing ${staleArtifactKeys.length} stale repository artifact${staleArtifactKeys.length === 1 ? "" : "s"}...`);
|
|
98
|
+
}
|
|
99
|
+
let removedArtifactCount = 0;
|
|
100
|
+
for (const staleKey of staleArtifactKeys) {
|
|
89
101
|
const relativePath = staleKey.endsWith("/")
|
|
90
102
|
? staleKey.slice(0, -1)
|
|
91
103
|
: staleKey;
|
|
104
|
+
removedArtifactCount += 1;
|
|
105
|
+
if (reporter?.verbose) {
|
|
106
|
+
reportDetail(reporter, `removing stale repository artifact ${relativePath}`);
|
|
107
|
+
}
|
|
108
|
+
else if (removedArtifactCount % 100 === 0) {
|
|
109
|
+
reportPhase(reporter, `Removed ${removedArtifactCount} stale repository artifacts...`);
|
|
110
|
+
}
|
|
92
111
|
await removePathAtomically(join(artifactsDirectory, ...relativePath.split("/")));
|
|
93
112
|
}
|
|
94
|
-
|
|
113
|
+
reportPhase(reporter, `Writing ${plan.artifacts.length} repository artifact${plan.artifacts.length === 1 ? "" : "s"}...`);
|
|
114
|
+
await writeArtifactsToDirectory(artifactsDirectory, plan.artifacts, config.age, reporter);
|
|
95
115
|
}
|
|
96
116
|
return buildPushResultFromPlan(plan, syncDirectory, request.dryRun);
|
|
97
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ResolvedSyncConfigEntry } from "#app/config/sync.js";
|
|
2
|
+
import { type ProgressReporter } from "#app/lib/progress.js";
|
|
2
3
|
import type { SnapshotNode } from "./local-snapshot.js";
|
|
3
4
|
import type { EffectiveSyncConfig } from "./runtime.js";
|
|
4
5
|
type ArtifactConfig = EffectiveSyncConfig;
|
|
@@ -41,12 +42,12 @@ export declare const parseArtifactRelativePath: (relativePath: string) => {
|
|
|
41
42
|
};
|
|
42
43
|
export declare const resolveEntryArtifactRelativePath: (entry: Pick<ResolvedSyncConfigEntry, "repoPath">, profile: string) => string;
|
|
43
44
|
export declare const resolveEntryArtifactPath: (artifactsDirectory: string, entry: Pick<ResolvedSyncConfigEntry, "repoPath">, profile: string) => string;
|
|
44
|
-
export declare const buildRepoArtifacts: (snapshot: ReadonlyMap<string, SnapshotNode>, config: ArtifactConfig) => Promise<RepoArtifact[]>;
|
|
45
|
-
export declare const collectExistingArtifactKeys: (syncDirectory: string, config: ArtifactConfig) => Promise<Set<string>>;
|
|
45
|
+
export declare const buildRepoArtifacts: (snapshot: ReadonlyMap<string, SnapshotNode>, config: ArtifactConfig, reporter?: ProgressReporter) => Promise<RepoArtifact[]>;
|
|
46
|
+
export declare const collectExistingArtifactKeys: (syncDirectory: string, config: ArtifactConfig, reporter?: ProgressReporter) => Promise<Set<string>>;
|
|
46
47
|
type AgeWriteConfig = Readonly<{
|
|
47
48
|
identityFile: string;
|
|
48
49
|
recipients: readonly string[];
|
|
49
50
|
}>;
|
|
50
|
-
export declare const writeArtifactsToDirectory: (rootDirectory: string, artifacts: readonly RepoArtifact[], ageConfig?: AgeWriteConfig) => Promise<void>;
|
|
51
|
+
export declare const writeArtifactsToDirectory: (rootDirectory: string, artifacts: readonly RepoArtifact[], ageConfig?: AgeWriteConfig, reporter?: ProgressReporter) => Promise<void>;
|
|
51
52
|
export {};
|
|
52
53
|
//# sourceMappingURL=repo-artifacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-artifacts.d.ts","sourceRoot":"","sources":["../../src/services/repo-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAK7B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"repo-artifacts.d.ts","sourceRoot":"","sources":["../../src/services/repo-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAK7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,KAAK,cAAc,GAAG,mBAAmB,CAAC;AAW1C,eAAO,MAAM,yBAAyB,GACpC,SAAS,SAAS,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,EAAE,gBAY9D,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEP,eAAO,MAAM,gBAAgB,GAAI,UAAU,YAAY,WAMtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,YAExD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM,uBAM7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,SAazD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,WAOlE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM;;;;CAqB7D,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,OAAO,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,EAChD,SAAS,MAAM,WAOhB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,oBAAoB,MAAM,EAC1B,OAAO,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,EAChD,SAAS,MAAM,WAMhB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,QAAQ,cAAc,EACtB,WAAW,gBAAgB,4BAgG5B,CAAC;AAyCF,eAAO,MAAM,2BAA2B,GACtC,eAAe,MAAM,EACrB,QAAQ,cAAc,EACtB,WAAW,gBAAgB,yBAwE5B,CAAC;AAEF,KAAK,cAAc,GAAG,QAAQ,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC;AA+BH,eAAO,MAAM,yBAAyB,GACpC,eAAe,MAAM,EACrB,WAAW,SAAS,YAAY,EAAE,EAClC,YAAY,cAAc,EAC1B,WAAW,gBAAgB,kBAoE5B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { lstat, mkdir, readFile } from "node:fs/promises";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { findOwningSyncEntry, hasReservedSyncArtifactSuffixSegment, resolveSyncArtifactsDirectoryPath, resolveSyncRule, syncDefaultProfile, syncSecretArtifactSuffix, } 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 { decryptSecretFile, encryptSecretFile } from "./crypto.js";
|
|
6
7
|
import { DevsyncError } from "./error.js";
|
|
7
8
|
import { getPathStats, listDirectoryEntries, writeFileNode, writeSymlinkNode, } from "./filesystem.js";
|
|
@@ -78,9 +79,10 @@ export const resolveEntryArtifactRelativePath = (entry, profile) => {
|
|
|
78
79
|
export const resolveEntryArtifactPath = (artifactsDirectory, entry, profile) => {
|
|
79
80
|
return join(artifactsDirectory, ...resolveEntryArtifactRelativePath(entry, profile).split("/"));
|
|
80
81
|
};
|
|
81
|
-
export const buildRepoArtifacts = async (snapshot, config) => {
|
|
82
|
+
export const buildRepoArtifacts = async (snapshot, config, reporter) => {
|
|
82
83
|
const artifacts = [];
|
|
83
84
|
const seenArtifactKeys = new Set();
|
|
85
|
+
let preparedArtifactCount = 0;
|
|
84
86
|
const addArtifact = (artifact) => {
|
|
85
87
|
const key = buildArtifactKey(artifact);
|
|
86
88
|
if (seenArtifactKeys.has(key)) {
|
|
@@ -91,6 +93,14 @@ export const buildRepoArtifacts = async (snapshot, config) => {
|
|
|
91
93
|
}
|
|
92
94
|
seenArtifactKeys.add(key);
|
|
93
95
|
artifacts.push(artifact);
|
|
96
|
+
preparedArtifactCount += 1;
|
|
97
|
+
const relativePath = resolveArtifactRelativePath(artifact);
|
|
98
|
+
if (reporter?.verbose) {
|
|
99
|
+
reportDetail(reporter, `prepared repository artifact ${relativePath}`);
|
|
100
|
+
}
|
|
101
|
+
else if (preparedArtifactCount % 100 === 0) {
|
|
102
|
+
reportPhase(reporter, `Prepared ${preparedArtifactCount} repository artifacts...`);
|
|
103
|
+
}
|
|
94
104
|
};
|
|
95
105
|
for (const repoPath of [...snapshot.keys()].sort((left, right) => {
|
|
96
106
|
return left.localeCompare(right);
|
|
@@ -145,7 +155,7 @@ export const buildRepoArtifacts = async (snapshot, config) => {
|
|
|
145
155
|
}
|
|
146
156
|
return artifacts;
|
|
147
157
|
};
|
|
148
|
-
const collectArtifactLeafKeys = async (rootDirectory, keys, prefix) => {
|
|
158
|
+
const collectArtifactLeafKeys = async (rootDirectory, keys, prefix, onKey) => {
|
|
149
159
|
const rootStats = await getPathStats(rootDirectory);
|
|
150
160
|
if (rootStats === undefined) {
|
|
151
161
|
return;
|
|
@@ -153,6 +163,7 @@ const collectArtifactLeafKeys = async (rootDirectory, keys, prefix) => {
|
|
|
153
163
|
if (!rootStats.isDirectory()) {
|
|
154
164
|
if (prefix !== undefined) {
|
|
155
165
|
keys.add(prefix);
|
|
166
|
+
onKey?.(prefix);
|
|
156
167
|
}
|
|
157
168
|
return;
|
|
158
169
|
}
|
|
@@ -162,18 +173,29 @@ const collectArtifactLeafKeys = async (rootDirectory, keys, prefix) => {
|
|
|
162
173
|
const relativePath = prefix === undefined ? entry.name : `${prefix}/${entry.name}`;
|
|
163
174
|
const stats = await lstat(absolutePath);
|
|
164
175
|
if (stats?.isDirectory()) {
|
|
165
|
-
await collectArtifactLeafKeys(absolutePath, keys, relativePath);
|
|
176
|
+
await collectArtifactLeafKeys(absolutePath, keys, relativePath, onKey);
|
|
166
177
|
continue;
|
|
167
178
|
}
|
|
168
179
|
keys.add(relativePath);
|
|
180
|
+
onKey?.(relativePath);
|
|
169
181
|
}
|
|
170
182
|
};
|
|
171
|
-
export const collectExistingArtifactKeys = async (syncDirectory, config) => {
|
|
183
|
+
export const collectExistingArtifactKeys = async (syncDirectory, config, reporter) => {
|
|
172
184
|
const keys = new Set();
|
|
173
185
|
const artifactsDirectory = resolveSyncArtifactsDirectoryPath(syncDirectory);
|
|
174
186
|
const namespaces = collectArtifactNamespaces(config.entries);
|
|
187
|
+
let discoveredArtifactCount = 0;
|
|
188
|
+
const noteDiscoveredArtifact = (key) => {
|
|
189
|
+
discoveredArtifactCount += 1;
|
|
190
|
+
if (reporter?.verbose) {
|
|
191
|
+
reportDetail(reporter, `found repository artifact ${key}`);
|
|
192
|
+
}
|
|
193
|
+
else if (discoveredArtifactCount % 100 === 0) {
|
|
194
|
+
reportPhase(reporter, `Scanned ${discoveredArtifactCount} repository artifacts...`);
|
|
195
|
+
}
|
|
196
|
+
};
|
|
175
197
|
await Promise.all([...namespaces].map(async (namespace) => {
|
|
176
|
-
await collectArtifactLeafKeys(join(artifactsDirectory, namespace), keys, namespace);
|
|
198
|
+
await collectArtifactLeafKeys(join(artifactsDirectory, namespace), keys, namespace, noteDiscoveredArtifact);
|
|
177
199
|
}));
|
|
178
200
|
for (const key of [...keys]) {
|
|
179
201
|
if (key.startsWith("__dir__:")) {
|
|
@@ -224,21 +246,36 @@ const isSecretArtifactUnchanged = async (artifactPath, plaintext, identityFile)
|
|
|
224
246
|
return false;
|
|
225
247
|
}
|
|
226
248
|
};
|
|
227
|
-
export const writeArtifactsToDirectory = async (rootDirectory, artifacts, ageConfig) => {
|
|
249
|
+
export const writeArtifactsToDirectory = async (rootDirectory, artifacts, ageConfig, reporter) => {
|
|
228
250
|
await mkdir(rootDirectory, { recursive: true });
|
|
251
|
+
let processedArtifactCount = 0;
|
|
252
|
+
const noteProcessedArtifact = (relativePath, action) => {
|
|
253
|
+
processedArtifactCount += 1;
|
|
254
|
+
if (reporter?.verbose) {
|
|
255
|
+
reportDetail(reporter, `${action} ${relativePath}`);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
if (processedArtifactCount % 100 === 0) {
|
|
259
|
+
reportPhase(reporter, `Processed ${processedArtifactCount} repository artifacts...`);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
229
262
|
for (const artifact of artifacts) {
|
|
230
|
-
const
|
|
263
|
+
const relativePath = resolveArtifactRelativePath(artifact);
|
|
264
|
+
const artifactPath = join(rootDirectory, ...relativePath.split("/"));
|
|
231
265
|
if (artifact.kind === "directory") {
|
|
232
266
|
await mkdir(artifactPath, { recursive: true });
|
|
267
|
+
noteProcessedArtifact(relativePath, "ensured repository directory");
|
|
233
268
|
continue;
|
|
234
269
|
}
|
|
235
270
|
if (artifact.kind === "symlink") {
|
|
236
271
|
await writeSymlinkNode(artifactPath, artifact.linkTarget);
|
|
272
|
+
noteProcessedArtifact(relativePath, "wrote repository symlink");
|
|
237
273
|
continue;
|
|
238
274
|
}
|
|
239
275
|
if (artifact.category === "secret" && ageConfig !== undefined) {
|
|
240
276
|
const unchanged = await isSecretArtifactUnchanged(artifactPath, artifact.contents, ageConfig.identityFile);
|
|
241
277
|
if (unchanged) {
|
|
278
|
+
noteProcessedArtifact(relativePath, "skipped unchanged secret artifact");
|
|
242
279
|
continue;
|
|
243
280
|
}
|
|
244
281
|
const encrypted = await encryptSecretFile(artifact.contents, ageConfig.recipients);
|
|
@@ -246,9 +283,11 @@ export const writeArtifactsToDirectory = async (rootDirectory, artifacts, ageCon
|
|
|
246
283
|
contents: encrypted,
|
|
247
284
|
executable: artifact.executable,
|
|
248
285
|
});
|
|
286
|
+
noteProcessedArtifact(relativePath, "wrote repository secret artifact");
|
|
249
287
|
continue;
|
|
250
288
|
}
|
|
251
289
|
await writeFileNode(artifactPath, artifact);
|
|
290
|
+
noteProcessedArtifact(relativePath, "wrote repository file");
|
|
252
291
|
}
|
|
253
292
|
};
|
|
254
293
|
//# sourceMappingURL=repo-artifacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-artifacts.js","sourceRoot":"","sources":["../../src/services/repo-artifacts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repo-artifacts.js","sourceRoot":"","sources":["../../src/services/repo-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { type ProgressReporter } from "#app/lib/progress.js";
|
|
1
2
|
import { type SnapshotNode } from "./local-snapshot.js";
|
|
2
3
|
import type { EffectiveSyncConfig } from "./runtime.js";
|
|
3
4
|
type RepositorySnapshotConfig = EffectiveSyncConfig;
|
|
4
|
-
export declare const buildRepositorySnapshot: (syncDirectory: string, config: RepositorySnapshotConfig) => Promise<Map<string, SnapshotNode>>;
|
|
5
|
+
export declare const buildRepositorySnapshot: (syncDirectory: string, config: RepositorySnapshotConfig, reporter?: ProgressReporter) => Promise<Map<string, SnapshotNode>>;
|
|
5
6
|
export {};
|
|
6
7
|
//# sourceMappingURL=repo-snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/repo-snapshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repo-snapshot.d.ts","sourceRoot":"","sources":["../../src/services/repo-snapshot.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,KAAK,wBAAwB,GAAG,mBAAmB,CAAC;AAwOpD,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,QAAQ,wBAAwB,EAChC,WAAW,gBAAgB,uCAkE5B,CAAC"}
|