@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.
Files changed (78) hide show
  1. package/README.md +2 -0
  2. package/dist/cli/base-command.d.ts +2 -0
  3. package/dist/cli/base-command.d.ts.map +1 -1
  4. package/dist/cli/base-command.js +5 -1
  5. package/dist/cli/base-command.js.map +1 -1
  6. package/dist/cli/commands/doctor.d.ts.map +1 -1
  7. package/dist/cli/commands/doctor.js +1 -1
  8. package/dist/cli/commands/doctor.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +2 -1
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/pull.d.ts.map +1 -1
  13. package/dist/cli/commands/pull.js +2 -1
  14. package/dist/cli/commands/pull.js.map +1 -1
  15. package/dist/cli/commands/push.d.ts.map +1 -1
  16. package/dist/cli/commands/push.js +2 -1
  17. package/dist/cli/commands/push.js.map +1 -1
  18. package/dist/cli/commands/status.d.ts.map +1 -1
  19. package/dist/cli/commands/status.js +2 -0
  20. package/dist/cli/commands/status.js.map +1 -1
  21. package/dist/cli/commands/track.d.ts.map +1 -1
  22. package/dist/cli/commands/track.js +6 -4
  23. package/dist/cli/commands/track.js.map +1 -1
  24. package/dist/cli/progress-reporter.d.ts +5 -0
  25. package/dist/cli/progress-reporter.d.ts.map +1 -0
  26. package/dist/cli/progress-reporter.js +17 -0
  27. package/dist/cli/progress-reporter.js.map +1 -0
  28. package/dist/index.js +7 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/output.d.ts +4 -0
  31. package/dist/lib/output.d.ts.map +1 -1
  32. package/dist/lib/output.js +5 -0
  33. package/dist/lib/output.js.map +1 -1
  34. package/dist/lib/progress.d.ts +8 -0
  35. package/dist/lib/progress.d.ts.map +1 -0
  36. package/dist/lib/progress.js +7 -0
  37. package/dist/lib/progress.js.map +1 -0
  38. package/dist/services/doctor.d.ts +2 -1
  39. package/dist/services/doctor.d.ts.map +1 -1
  40. package/dist/services/doctor.js +15 -1
  41. package/dist/services/doctor.js.map +1 -1
  42. package/dist/services/git.d.ts +2 -1
  43. package/dist/services/git.d.ts.map +1 -1
  44. package/dist/services/git.js +81 -4
  45. package/dist/services/git.js.map +1 -1
  46. package/dist/services/init.d.ts +2 -1
  47. package/dist/services/init.d.ts.map +1 -1
  48. package/dist/services/init.js +25 -4
  49. package/dist/services/init.js.map +1 -1
  50. package/dist/services/local-materialization.d.ts +4 -3
  51. package/dist/services/local-materialization.d.ts.map +1 -1
  52. package/dist/services/local-materialization.js +52 -19
  53. package/dist/services/local-materialization.js.map +1 -1
  54. package/dist/services/local-snapshot.d.ts +2 -1
  55. package/dist/services/local-snapshot.d.ts.map +1 -1
  56. package/dist/services/local-snapshot.js +32 -4
  57. package/dist/services/local-snapshot.js.map +1 -1
  58. package/dist/services/pull.d.ts +3 -2
  59. package/dist/services/pull.d.ts.map +1 -1
  60. package/dist/services/pull.js +15 -7
  61. package/dist/services/pull.js.map +1 -1
  62. package/dist/services/push.d.ts +5 -2
  63. package/dist/services/push.d.ts.map +1 -1
  64. package/dist/services/push.js +30 -10
  65. package/dist/services/push.js.map +1 -1
  66. package/dist/services/repo-artifacts.d.ts +4 -3
  67. package/dist/services/repo-artifacts.d.ts.map +1 -1
  68. package/dist/services/repo-artifacts.js +46 -7
  69. package/dist/services/repo-artifacts.js.map +1 -1
  70. package/dist/services/repo-snapshot.d.ts +2 -1
  71. package/dist/services/repo-snapshot.d.ts.map +1 -1
  72. package/dist/services/repo-snapshot.js +20 -4
  73. package/dist/services/repo-snapshot.js.map +1 -1
  74. package/dist/services/status.d.ts +2 -0
  75. package/dist/services/status.d.ts.map +1 -1
  76. package/dist/services/status.js +9 -2
  77. package/dist/services/status.js.map +1 -1
  78. 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":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAEL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAgChE,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAmC,EACnC,QAAgB,EAChB,IAAkB,EAClB,EAAE;IACF,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EACxB,QAAmC,EACnC,MAAsB,EACtB,QAAgB,EAChB,IAAY,EACZ,KAAwC,EACxC,EAAE;IACF,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAE5E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CACpB,oDAAoD,IAAI,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,YAAY,CACpB,0DAA0D,QAAQ,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAClC,UAAU,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;YAChC,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE;QAClC,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;QAC9B,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,MAAM,EAAE,IAAI,KAAK,QAAQ;QACzB,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,QAAmC,EACnC,MAAsB,EACtB,cAAsB,EACtB,cAAsB,EACtB,eAAoC,EACpC,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAE3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,kBAAkB,CACtB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,eAAe,CAChB,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE;IACjE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,sBAAsB,CACtC,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,MAAM,CAAC,aAAa,CACrB,CAAC;QAEF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,YAAY,CACpB,cAAc,KAAK,CAAC,QAAQ,2CAA2C,KAAK,CAAC,SAAS,EAAE,CACzF,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,CAChB,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CACN,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,cAAc,KAAK,CAAC,QAAQ,yBAAyB,KAAK,CAAC,SAAS,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAClE,CACF,CAAC;QAEF,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,CACtB,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,eAAe,CAChB,CAAC;QAEF,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,GAAG,sBAAsB,EAAE,CAAC;YACrE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACxC,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"local-snapshot.js","sourceRoot":"","sources":["../../src/services/local-snapshot.ts"],"names":[],"mappings":"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"}
@@ -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,KACpB,OAAO,CAAC,QAAQ,CAgClB,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,KAC7B,OAAO,CAAC,cAAc,CA4BxB,CAAC"}
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"}
@@ -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
- const snapshot = await buildRepositorySnapshot(syncDirectory, config);
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
- await applyEntryMaterialization(entry, materialization, config);
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":"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"}
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"}
@@ -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":"AAQA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAO5E,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,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,KACpB,OAAO,CAAC,QAAQ,CAuBlB,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,KAC7B,OAAO,CAAC,cAAc,CAkCxB,CAAC"}
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"}
@@ -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
- const snapshot = await buildLocalSnapshot(config);
37
- const artifacts = await buildRepoArtifacts(snapshot, config);
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
- const existingArtifactKeys = await collectExistingArtifactKeys(syncDirectory, config);
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 artifacts = await buildRepoArtifacts(plan.snapshot, config);
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
- await writeArtifactsToDirectory(artifactsDirectory, artifacts, config.age);
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":"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"}
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;AAU7B,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,4BAmFvB,CAAC;AAsCF,eAAO,MAAM,2BAA2B,GACtC,eAAe,MAAM,EACrB,QAAQ,cAAc,yBAyDvB,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,kBA6C3B,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 artifactPath = join(rootDirectory, ...resolveArtifactRelativePath(artifact).split("/"));
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":"AAYA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,KAAK,wBAAwB,GAAG,mBAAmB,CAAC;AAkMpD,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,QAAQ,wBAAwB,uCAyDjC,CAAC"}
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"}